/* Funnel Labs Ferramentas v3 — demos premium por produto */
:root {
  --void: #050505;
  --panel: #101014;
  --accent: #ff5a00;
  --accent-2: #ff8c40;
  --white: #fdfdfd;
  --paper: #f4f1eb;
  --line: rgba(253, 253, 253, 0.08);
  --line-l: rgba(10, 10, 10, 0.09);
  --display: "Playfair Display", Georgia, serif;
  --body: "Space Grotesk", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --max: 1180px;
  --hdr: 68px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--void);
  color: rgba(253, 253, 253, 0.82);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
img { max-width: 100%; display: block; }
::selection { background: rgba(255, 90, 0, 0.35); color: #fff; }
.wrap {
  width: min(100% - 40px, var(--max));
  margin-inline: auto;
  position: relative;
  z-index: 2;
}

/* Header */
.hdr {
  position: fixed; inset: 0 0 auto; height: var(--hdr); z-index: 50;
  display: flex; align-items: center;
  border-bottom: 1px solid transparent;
  transition: background .3s, border-color .3s, backdrop-filter .3s;
}
.hdr.is-on {
  background: rgba(5,5,5,.88);
  border-bottom-color: var(--line);
  backdrop-filter: blur(16px);
}
.hdr__in {
  width: min(100% - 40px, var(--max));
  margin-inline: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand__mark { width: 34px; height: 34px; filter: drop-shadow(0 0 12px rgba(255,90,0,.4)); }
.brand__mark img { width: 34px; height: 34px; }
.brand__name {
  font-family: var(--display); font-weight: 600; font-size: 15px;
  color: var(--white); letter-spacing: -.02em; line-height: 1.1;
}
.brand__name span { color: var(--accent); }
.brand__sub {
  font-family: var(--mono); font-size: 10px; letter-spacing: .08em;
  text-transform: uppercase; color: rgba(253,253,253,.4); margin-top: 2px;
}
.nav { display: flex; gap: 18px; font-size: 13px; font-weight: 500; color: rgba(253,253,253,.55); }
.nav a:hover { color: var(--white); }
.hdr__act { display: flex; align-items: center; gap: 10px; }
.burger {
  display: none; width: 40px; height: 40px; flex-direction: column;
  align-items: center; justify-content: center; gap: 5px;
}
.burger span { display: block; width: 18px; height: 1.5px; background: var(--white); }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 600; border-radius: 999px;
  transition: transform .2s var(--ease), box-shadow .2s, border-color .2s, background .2s, color .2s;
  white-space: nowrap;
}
.btn--sm { padding: 8px 16px; font-size: 13px; }
.btn--lg { padding: 14px 26px; font-size: 15px; }
.btn--primary {
  background: linear-gradient(135deg, var(--accent), #ff7a2e);
  color: #fff; box-shadow: 0 8px 28px rgba(255,90,0,.28);
}
.btn--primary:hover { transform: translateY(-1px); box-shadow: 0 12px 32px rgba(255,90,0,.38); }
.btn--ghost {
  border: 1px solid rgba(253,253,253,.16); color: var(--white);
  background: rgba(253,253,253,.03);
}
.btn--ghost:hover { border-color: rgba(255,90,0,.45); color: var(--accent-2); }

.drawer {
  position: fixed; inset: 0; z-index: 60; background: rgba(0,0,0,.55);
  opacity: 0; pointer-events: none; transition: opacity .25s;
}
.drawer.is-open { opacity: 1; pointer-events: auto; }
.drawer__panel {
  position: absolute; top: 0; right: 0; width: min(300px, 88vw); height: 100%;
  background: #0a0a0c; border-left: 1px solid var(--line);
  padding: 72px 24px 28px; display: flex; flex-direction: column; gap: 12px;
  overflow: auto;
}
.drawer__panel a {
  font-size: 16px; font-weight: 500; padding: 8px 0; border-bottom: 1px solid var(--line);
}
.drawer__close {
  position: absolute; top: 16px; right: 16px; width: 40px; height: 40px;
  font-size: 28px; color: rgba(253,253,253,.6);
}

.eyebrow {
  font-family: var(--mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--accent-2); margin: 0 0 12px; font-weight: 500;
}
.h2 {
  font-family: var(--display); font-weight: 600;
  font-size: clamp(1.85rem, 3.6vw, 2.75rem);
  line-height: 1.12; letter-spacing: -.03em; color: var(--white); margin: 0 0 16px;
}
.sec--paper .h2 { color: #0a0a0a; }
.lead {
  margin: 0; font-size: 1.05rem; line-height: 1.65;
  color: rgba(10,10,10,.62); max-width: 560px;
}
.italic { font-style: italic; font-weight: 500; }
.grad {
  background: linear-gradient(120deg, var(--accent) 0%, #ffb070 90%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.sec { padding: 88px 0; }
.sec--paper { background: var(--paper); color: rgba(10,10,10,.72); }
.sec-head { margin-bottom: 32px; max-width: 640px; }

/* ========== HERO ========== */
.hero {
  position: relative;
  min-height: auto;
  padding: calc(var(--hdr) + 40px) 0 56px;
  overflow: hidden;
}
.hero__bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 50% 50% at 78% 35%, rgba(255,90,0,.14), transparent 60%),
    radial-gradient(ellipse 40% 40% at 12% 70%, rgba(167,139,250,.07), transparent 55%);
}
.hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 48px;
  align-items: start;
}
.hero__badge {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(253,253,253,.65); border: 1px solid rgba(255,90,0,.3);
  background: rgba(255,90,0,.08); padding: 8px 14px; border-radius: 999px; margin-bottom: 20px;
}
.hero__badge i {
  width: 7px; height: 7px; border-radius: 50%; background: var(--accent);
  box-shadow: 0 0 12px var(--accent); animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.hero__h1 {
  font-family: var(--display); font-weight: 600;
  font-size: clamp(2.3rem, 4.5vw, 3.4rem);
  line-height: 1.06; letter-spacing: -.035em; color: var(--white);
  margin: 0 0 18px; max-width: 14ch;
}
.hero__lead {
  margin: 0 0 26px; font-size: 1.05rem; line-height: 1.65;
  color: rgba(253,253,253,.58); max-width: 460px;
}
.hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }

/* Orbit — card OUTSIDE the circle area */
.orbit-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 440px;
  margin-inline: auto;
}
.orbit-hub {
  position: relative;
  width: min(100%, 380px);
  height: 380px;
  flex-shrink: 0;
}
.orbit-hub__ring {
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  border: 1px dashed rgba(255,90,0,.22);
  pointer-events: none;
}
.orbit-hub__core {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 88px; height: 88px; border-radius: 50%;
  background: linear-gradient(145deg, #1a1a1e, #0c0c0e);
  border: 1px solid rgba(255,90,0,.45);
  box-shadow: 0 0 36px rgba(255,90,0,.22), inset 0 0 24px rgba(255,90,0,.08);
  display: flex; align-items: center; justify-content: center;
  text-align: center; font-family: var(--display); font-size: 13px; font-weight: 600;
  color: var(--white); line-height: 1.2; z-index: 3;
}
.orbit-hub__node {
  position: absolute; left: 50%; top: 50%;
  width: 58px; height: 58px;
  margin: -29px 0 0 -29px;
  border-radius: 50%;
  background: #121216;
  border: 1px solid rgba(253,253,253,.14);
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase;
  color: rgba(253,253,253,.7);
  cursor: pointer; z-index: 2;
  transition: border-color .25s, color .25s, box-shadow .25s, background .25s;
  transform:
    rotate(calc(var(--i) * 40deg))
    translateY(-148px)
    rotate(calc(var(--i) * -40deg));
}
.orbit-hub__node:hover,
.orbit-hub__node.is-on {
  border-color: rgba(255,90,0,.6);
  color: #fff;
  background: rgba(255,90,0,.12);
  box-shadow: 0 0 18px rgba(255,90,0,.3);
  z-index: 4;
}
/* Card BELOW the orbit — never overlaps nodes */
.orbit-hub__card {
  width: 100%;
  max-width: 380px;
  padding: 16px 18px;
  border-radius: 14px;
  background: rgba(16,16,20,.98);
  border: 1px solid rgba(255,90,0,.28);
  box-shadow: 0 16px 40px rgba(0,0,0,.4);
}
.orbit-hub__card small {
  display: block; font-family: var(--mono); font-size: 10px;
  letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px;
}
.orbit-hub__card strong {
  display: block; font-family: var(--display); font-size: 1.15rem;
  color: var(--white); margin-bottom: 6px;
}
.orbit-hub__card p {
  margin: 0 0 12px; font-size: 13.5px; line-height: 1.45; color: rgba(253,253,253,.5);
}
.orbit-hub__card-act { display: flex; flex-wrap: wrap; gap: 8px; }
.orbit-hint {
  margin: 0; font-size: 12px; color: rgba(253,253,253,.35);
  font-family: var(--mono); letter-spacing: .03em; text-align: center;
}

.stack-strip {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px;
  font-family: var(--mono); font-size: 12px; letter-spacing: .04em;
}
.stack-strip a {
  padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line-l);
  background: #fff; color: #0a0a0a; font-weight: 500;
}
.stack-strip a:hover { border-color: var(--accent); color: var(--accent); }
.stack-strip span { color: rgba(10,10,10,.3); }

/* ========== ECOSSISTEMA / API ========== */
.eco {
  padding: 96px 0;
  border-top: 1px solid var(--line);
  background:
    radial-gradient(ellipse 50% 60% at 80% 40%, rgba(255,90,0,.08), transparent 55%),
    radial-gradient(ellipse 40% 50% at 10% 80%, rgba(167,139,250,.06), transparent 50%),
    #070707;
}
.eco__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 40px 48px;
  align-items: center;
}
.eco__lead {
  margin: 0 0 20px;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(253,253,253,.55);
  max-width: 520px;
}
.eco__map {
  position: relative;
  width: min(100%, 360px);
  height: 360px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.eco__hub {
  position: relative;
  z-index: 3;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: linear-gradient(145deg, #1a1a1e, #0c0c0e);
  border: 1px solid rgba(255,90,0,.5);
  box-shadow:
    0 0 40px rgba(255,90,0,.22),
    inset 0 0 24px rgba(255,90,0,.08);
}
.eco__hub span {
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--accent-2);
}
.eco__hub small {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(253,253,253,.4);
  margin-top: 2px;
}
.eco__ring {
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  border: 1px dashed rgba(255,90,0,.2);
  pointer-events: none;
}
.eco__ring::before {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  border: 1px solid rgba(253,253,253,.06);
  animation: ecoPulse 3.2s ease-in-out infinite;
}
@keyframes ecoPulse {
  0%, 100% { opacity: .4; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.03); }
}
.eco__chip {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 64px;
  height: 64px;
  margin: -32px 0 0 -32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(253,253,253,.75);
  background: #121216;
  border: 1px solid rgba(253,253,253,.12);
  box-shadow: 0 0 0 1px rgba(255,90,0,.08);
  transform:
    rotate(var(--a))
    translateY(-132px)
    rotate(calc(var(--a) * -1));
  animation: ecoChip 4s ease-in-out infinite;
  animation-delay: calc(var(--a) * 0.01s);
}
@keyframes ecoChip {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,90,0,.08); }
  50% { box-shadow: 0 0 16px rgba(255,90,0,.25); border-color: rgba(255,90,0,.35); }
}
.eco__map-note {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  margin: 0;
  text-align: center;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .04em;
  color: rgba(253,253,253,.35);
}

/* ========== PRODUCT FOLDS ========== */
.prod {
  padding: 100px 0;
  border-top: 1px solid var(--line);
  position: relative;
  overflow: hidden;
}
.prod--crm { background: #080808; }
.prod--news { background: linear-gradient(180deg, #0a0910 0%, #080808 100%); }
.prod--grupos { background: linear-gradient(180deg, #070c09 0%, #080808 100%); }
.prod--dash { background: linear-gradient(180deg, #070a10 0%, #080808 100%); }
.prod--quiz { background: linear-gradient(180deg, #0b0912 0%, #080808 100%); }
.prod--pesquisa { background: linear-gradient(180deg, #070e0d 0%, #080808 100%); }
.prod--webinar { background: linear-gradient(180deg, #10080c 0%, #080808 100%); }
.prod--funis { background: linear-gradient(180deg, #0e0c08 0%, #080808 100%); }
.prod--meta { background: linear-gradient(180deg, #080b12 0%, #080808 100%); }

.prod__grid {
  display: grid;
  grid-template-columns: 1fr 1.12fr;
  gap: 40px 48px;
  align-items: center;
}
.prod__grid--meta {
  grid-template-columns: 0.85fr 1.25fr;
  align-items: stretch;
}
.prod--flip .prod__grid { direction: rtl; }
.prod--flip .prod__grid > * { direction: ltr; }

.prod__lead {
  margin: 0 0 18px; font-size: 1.05rem; line-height: 1.65;
  color: rgba(253,253,253,.55); max-width: 480px;
}
.prod__bul {
  margin: 0 0 24px; padding: 0; list-style: none;
  display: flex; flex-direction: column; gap: 8px;
}
.prod__bul li {
  position: relative; padding-left: 22px; font-size: 14.5px;
  color: rgba(253,253,253,.7);
}
.prod__bul li::before {
  content: ""; position: absolute; left: 0; top: .5em;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--accent); box-shadow: 0 0 10px rgba(255,90,0,.4);
}

/* Shared sim chrome */
.sim {
  border-radius: 18px; overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  background: linear-gradient(165deg, #141418 0%, #0c0c10 100%);
  box-shadow: 0 32px 70px rgba(0,0,0,.45);
}
.sim__bar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 11px 14px; border-bottom: 1px solid var(--line);
  background: rgba(0,0,0,.35);
  font-family: var(--mono); font-size: 11px; color: rgba(253,253,253,.45);
}
.sim__bar b { color: rgba(253,253,253,.85); font-weight: 500; }
.sim__bar em { margin-left: auto; font-style: normal; color: var(--accent); }
.sim__dots::before {
  content: ""; display: inline-block; width: 48px; height: 10px;
  background:
    radial-gradient(circle at 5px 5px, #ff5f57 4px, transparent 5px),
    radial-gradient(circle at 20px 5px, #febc2e 4px, transparent 5px),
    radial-gradient(circle at 35px 5px, #28c840 4px, transparent 5px);
}

/* ===== CRM kanban ===== */
.crmx { display: grid; grid-template-columns: 1.15fr .95fr; min-height: 320px; }
.crmx__board {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px;
  padding: 12px; border-right: 1px solid var(--line); background: rgba(0,0,0,.2);
  overflow-x: auto;
}
.crmx__col header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px; font-family: var(--mono); font-size: 9px;
  letter-spacing: .08em; text-transform: uppercase; color: rgba(253,253,253,.4);
}
.crmx__col header i {
  font-style: normal; min-width: 16px; height: 16px; border-radius: 99px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.06); color: rgba(253,253,253,.55);
}
.crmx__card {
  width: 100%; text-align: left; padding: 10px 8px; border-radius: 10px;
  background: #141418; border: 1px solid var(--line); margin-bottom: 8px;
  cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s;
}
.crmx__card strong { display: block; font-size: 12px; color: #fff; margin-bottom: 4px; }
.crmx__card small { display: block; font-size: 10px; color: rgba(253,253,253,.4); line-height: 1.3; }
.crmx__card.is-on, .crmx__card:hover {
  border-color: rgba(255,90,0,.45); box-shadow: 0 8px 20px rgba(255,90,0,.12);
  transform: translateY(-1px);
}
.crmx__card--static { cursor: default; opacity: .85; }
.crmx__ch {
  display: inline-block; font-family: var(--mono); font-size: 9px; font-weight: 600;
  padding: 2px 6px; border-radius: 4px; margin-bottom: 6px;
  background: rgba(37,211,102,.15); color: #4ade80;
}
.crmx__ch--ig { background: rgba(236,72,153,.15); color: #f472b6; }
.crmx__ch--ok { background: rgba(255,90,0,.15); color: var(--accent-2); }
.crmx__detail { padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.crmx__head { display: flex; align-items: center; gap: 10px; }
.crmx__av {
  width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 12px; font-weight: 600; color: #fff;
  background: linear-gradient(145deg, #ff5a00, #a33a00);
}
.crmx__head strong { display: block; font-size: 14px; color: #fff; }
.crmx__head span { font-size: 11px; color: rgba(253,253,253,.4); }
.crmx__score {
  margin-left: auto; font-style: normal; font-family: var(--mono);
  font-size: 18px; font-weight: 600; color: var(--accent-2);
}
.crmx__chat { display: flex; flex-direction: column; gap: 8px; }
.crmx__bubble {
  max-width: 92%; padding: 10px 12px; font-size: 12.5px; line-height: 1.4;
  transition: opacity .25s;
}
.crmx__bubble.is-in {
  align-self: flex-start; border-radius: 12px 12px 12px 4px;
  background: rgba(37,211,102,.12); border: 1px solid rgba(37,211,102,.28);
  color: rgba(253,253,253,.88);
}
.crmx__bubble.is-out {
  align-self: flex-end; border-radius: 12px 12px 4px 12px;
  background: rgba(255,90,0,.12); border: 1px solid rgba(255,90,0,.28);
  color: rgba(253,253,253,.85);
}
.crmx__fields {
  margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
.crmx__fields div {
  padding: 8px 10px; border-radius: 8px; background: rgba(255,255,255,.03);
  border: 1px solid var(--line);
}
.crmx__fields dt {
  font-family: var(--mono); font-size: 9px; letter-spacing: .08em;
  text-transform: uppercase; color: rgba(253,253,253,.35); margin-bottom: 3px;
}
.crmx__fields dd { margin: 0; font-size: 12px; color: rgba(253,253,253,.8); }

/* ===== Newsletter e-mail ===== */
.newsx { display: grid; grid-template-columns: 130px 1fr; min-height: 340px; }
.newsx__side {
  border-right: 1px solid var(--line); padding: 10px 8px;
  display: flex; flex-direction: column; gap: 6px; background: rgba(0,0,0,.22);
}
.newsx__tab {
  text-align: left; padding: 10px 10px; border-radius: 10px;
  border: 1px solid transparent; cursor: pointer; transition: .2s;
}
.newsx__tab em {
  display: block; font-style: normal; font-family: var(--mono); font-size: 9px;
  color: #a78bfa; margin-bottom: 2px;
}
.newsx__tab span { display: block; font-size: 12.5px; font-weight: 600; color: rgba(253,253,253,.75); }
.newsx__tab small { font-size: 10px; color: rgba(253,253,253,.35); }
.newsx__tab.is-on, .newsx__tab:hover {
  background: rgba(167,139,250,.12); border-color: rgba(167,139,250,.35);
}
.newsx__tab.is-on span { color: #fff; }
.newsx__mail { padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.newsx__mail-top { display: flex; gap: 12px; align-items: flex-start; }
.newsx__logo {
  width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 11px; font-weight: 700; color: #fff;
  background: linear-gradient(145deg, #7c3aed, #a78bfa);
}
.newsx__mail-top strong {
  display: block; font-family: var(--display); font-size: 1.05rem;
  color: #fff; line-height: 1.25; letter-spacing: -.02em;
}
.newsx__mail-top small { font-size: 11px; color: rgba(253,253,253,.4); }
.newsx__body {
  padding: 14px; border-radius: 12px; background: rgba(255,255,255,.03);
  border: 1px solid var(--line); flex: 1;
}
.newsx__lead { margin: 0 0 12px; font-size: 13.5px; color: rgba(253,253,253,.7); line-height: 1.5; }
.newsx__block { margin-bottom: 10px; }
.newsx__block b {
  display: block; font-family: var(--mono); font-size: 10px; letter-spacing: .06em;
  text-transform: uppercase; color: #a78bfa; margin-bottom: 4px;
}
.newsx__block p { margin: 0; font-size: 12.5px; color: rgba(253,253,253,.55); line-height: 1.45; }
.newsx__cta {
  display: inline-block; margin-top: 8px; padding: 8px 14px; border-radius: 8px;
  background: linear-gradient(135deg, #7c3aed, #a78bfa); color: #fff;
  font-size: 12px; font-weight: 600;
}
.newsx__stats {
  display: flex; flex-wrap: wrap; gap: 10px;
}
.newsx__stats span {
  flex: 1; min-width: 70px; padding: 8px 10px; border-radius: 8px;
  background: rgba(0,0,0,.25); border: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 2px;
}
.newsx__stats i {
  font-style: normal; font-family: var(--mono); font-size: 9px;
  letter-spacing: .08em; text-transform: uppercase; color: rgba(253,253,253,.35);
}
.newsx__stats b { font-size: 13px; color: #fff; font-weight: 600; }

/* ===== Grupos schedule ===== */
.grpx { display: grid; grid-template-columns: 150px 1fr; min-height: 340px; }
.grpx__list {
  border-right: 1px solid var(--line); padding: 10px 8px;
  display: flex; flex-direction: column; gap: 6px; background: rgba(0,0,0,.22);
}
.grpx__g {
  text-align: left; padding: 10px; border-radius: 10px;
  border: 1px solid transparent; cursor: pointer;
}
.grpx__g strong { display: block; font-size: 12px; color: rgba(253,253,253,.8); margin-bottom: 2px; }
.grpx__g span { font-size: 10px; color: rgba(253,253,253,.35); font-family: var(--mono); }
.grpx__g.is-on, .grpx__g:hover {
  background: rgba(37,211,102,.1); border-color: rgba(37,211,102,.35);
}
.grpx__g.is-on strong { color: #fff; }
.grpx__main {
  display: grid; grid-template-columns: 1fr 1.05fr; gap: 0;
}
.grpx__phone {
  padding: 12px; border-right: 1px solid var(--line);
  background: linear-gradient(180deg, #0d1510, #0a0e0c);
}
.grpx__ph-bar {
  font-family: var(--mono); font-size: 10px; color: rgba(253,253,253,.45);
  margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(37,211,102,.15);
}
.grpx__ph-bar b { color: #25d366; margin-right: 4px; }
.grpx__ph-msg {
  padding: 12px; border-radius: 0 12px 12px 12px;
  background: #1a2a20; border: 1px solid rgba(37,211,102,.2);
  font-size: 12.5px; line-height: 1.5; color: rgba(253,253,253,.85);
  min-height: 140px;
}
.grpx__ph-msg p { margin: 0 0 8px; }
.grpx__ph-msg a { color: #86efac; text-decoration: underline; word-break: break-all; }
.grpx__ph-meta {
  margin-top: 10px; font-family: var(--mono); font-size: 10px; color: rgba(134,239,172,.55);
}
.grpx__sched { padding: 12px 14px; display: flex; flex-direction: column; gap: 12px; }
.grpx__field label {
  display: block; font-family: var(--mono); font-size: 9px; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(253,253,253,.35); margin-bottom: 6px;
}
.grpx__pills { display: flex; flex-wrap: wrap; gap: 6px; }
.grpx__pills button {
  font-family: var(--mono); font-size: 10px; padding: 6px 10px; border-radius: 999px;
  border: 1px solid rgba(37,211,102,.25); color: rgba(253,253,253,.55);
  background: rgba(37,211,102,.05); cursor: pointer;
}
.grpx__pills button.is-on {
  background: rgba(37,211,102,.18); color: #86efac; border-color: rgba(37,211,102,.5);
}
.grpx__editor {
  padding: 10px 12px; border-radius: 10px; min-height: 72px;
  background: rgba(0,0,0,.3); border: 1px solid var(--line);
  font-size: 12.5px; color: rgba(253,253,253,.7); line-height: 1.45;
  outline: none;
}
.grpx__editor.is-edit {
  border-color: rgba(37,211,102,.45); color: #fff;
}
.grpx__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.grpx__btn {
  font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
  padding: 8px 12px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(37,211,102,.3); color: #86efac; background: rgba(37,211,102,.08);
}
.grpx__btn--go {
  background: linear-gradient(135deg, #15803d, #25d366); color: #04120a;
  border-color: transparent; font-weight: 600;
}
.grpx__hint { margin: 0; font-size: 11px; color: rgba(253,253,253,.35); font-family: var(--mono); }

/* ===== Dashboard charts ===== */
.dashx { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 12px; }
.dashx__kpis {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
}
.dashx__kpi {
  text-align: left; padding: 10px; border-radius: 10px;
  border: 1px solid var(--line); background: rgba(255,255,255,.03); cursor: pointer;
}
.dashx__kpi small {
  display: block; font-family: var(--mono); font-size: 9px; letter-spacing: .08em;
  text-transform: uppercase; color: #38bdf8; margin-bottom: 4px;
}
.dashx__kpi strong {
  display: block; font-family: var(--mono); font-size: 1.05rem; color: #fff; letter-spacing: -.02em;
}
.dashx__kpi em { font-style: normal; font-size: 10px; color: rgba(253,253,253,.4); }
.dashx__kpi.is-on {
  border-color: rgba(56,189,248,.45); background: rgba(56,189,248,.1);
}
.dashx__chart {
  padding: 12px; border-radius: 12px; border: 1px solid var(--line);
  background: rgba(0,0,0,.28);
}
.dashx__chart-head {
  display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px;
}
.dashx__chart-head strong { font-size: 13px; color: #fff; }
.dashx__chart-head span { font-family: var(--mono); font-size: 14px; color: #38bdf8; font-weight: 600; }
.dashx__svg { width: 100%; height: 88px; display: block; }
.dashx__days {
  display: flex; justify-content: space-between; margin-top: 4px;
  font-family: var(--mono); font-size: 9px; color: rgba(253,253,253,.3);
}
.dashx__label {
  margin: 0 0 8px; font-family: var(--mono); font-size: 10px;
  letter-spacing: .08em; text-transform: uppercase; color: rgba(253,253,253,.4);
}
.dashx__ads { display: flex; flex-direction: column; gap: 6px; }
.dashx__ad {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
  padding: 8px; border-radius: 10px; border: 1px solid transparent; cursor: pointer;
}
.dashx__ad.is-on, .dashx__ad:hover {
  background: rgba(56,189,248,.08); border-color: rgba(56,189,248,.3);
}
.dashx__thumb {
  width: 44px; height: 44px; border-radius: 8px; flex-shrink: 0;
  border: 1px solid var(--line);
}
.dashx__thumb--a {
  background:
    linear-gradient(145deg, rgba(255,90,0,.5), transparent 60%),
    linear-gradient(220deg, #1e293b, #0f172a);
}
.dashx__thumb--b {
  background:
    linear-gradient(145deg, rgba(56,189,248,.45), transparent 55%),
    linear-gradient(220deg, #1e1b4b, #0f172a);
}
.dashx__thumb--c {
  background:
    linear-gradient(145deg, rgba(251,113,133,.45), transparent 55%),
    linear-gradient(220deg, #3b1d2a, #0f172a);
}
.dashx__ad strong { display: block; font-size: 12.5px; color: #fff; }
.dashx__ad span { font-size: 11px; color: rgba(253,253,253,.4); font-family: var(--mono); }

/* ===== Quiz canvas — fluxo com setas (sem absolute + SVG) ===== */
.quizx { display: flex; flex-direction: column; min-height: 0; }
.quizx__canvas {
  margin: 12px 12px 0;
  padding: 16px 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(167,139,250,.2);
  background:
    radial-gradient(ellipse 70% 50% at 50% 30%, rgba(167,139,250,.08), transparent 65%),
    radial-gradient(rgba(167,139,250,.1) 1px, transparent 1px),
    linear-gradient(180deg, #100e18, #0c0a12);
  background-size: auto, 14px 14px, auto;
  overflow: hidden;
}
.quizx__row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}
.quizx__row--down { height: 28px; pointer-events: none; }
.quizx__row--split { height: 14px; pointer-events: none; }
.quizx__ghost {
  flex: 0 0 88px;
  width: 88px;
  height: 1px;
  visibility: hidden;
}
.quizx__vslot {
  flex: 0 0 88px;
  width: 88px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.quizx__vline {
  width: 2px;
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(167,139,250,.55), rgba(255,90,0,.55));
  position: relative;
}
.quizx__vline i {
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 0; height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid rgba(255,90,0,.85);
  transform: translateX(-50%);
}
/* braços do T: sob Q2 e Q3 para abrir o split */
.quizx__tarm {
  flex: 0 0 88px;
  width: 88px;
  height: 100%;
  position: relative;
}
.quizx__tarm i {
  position: absolute;
  top: 50%;
  height: 2px;
  border-radius: 2px;
  background: rgba(167,139,250,.45);
  transform: translateY(-50%);
}
.quizx__tarm--l i {
  left: 50%;
  right: -14px;
  background: linear-gradient(90deg, rgba(52,211,153,.5), rgba(167,139,250,.4));
}
.quizx__tarm--c i {
  left: -14px;
  right: 50%;
  background: linear-gradient(90deg, rgba(167,139,250,.4), rgba(255,90,0,.55));
}
.quizx__tarm--c::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 50%;
  width: 2px;
  margin-left: -1px;
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(167,139,250,.5), rgba(255,90,0,.5));
}

.quizx__arr {
  flex: 0 0 28px;
  width: 28px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.quizx__arr--empty { height: 100%; visibility: hidden; }
.quizx__arr i {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(167,139,250,.4), rgba(167,139,250,.9));
  position: relative;
  animation: quizxFlow 1.6s ease-in-out infinite;
}
.quizx__arr i::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;
  width: 0; height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #a78bfa;
  transform: translateY(-50%);
}
@keyframes quizxFlow {
  0%, 100% { opacity: .55; }
  50% { opacity: 1; }
}

.quizx__node {
  flex: 0 0 88px;
  width: 88px;
  padding: 0;
  border-radius: 12px;
  background: linear-gradient(165deg, #1a1724, #12101a);
  border: 1px solid rgba(167,139,250,.35);
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
  cursor: pointer;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: left;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.quizx__node.is-on, .quizx__node:hover {
  border-color: #a78bfa;
  background: linear-gradient(165deg, #221e32, #16141f);
  box-shadow: 0 0 22px rgba(167,139,250,.25);
  transform: translateY(-2px);
}
.quizx__node--ok { border-color: rgba(52,211,153,.45); }
.quizx__node--hot { border-color: rgba(255,90,0,.45); }

.quizx__viz {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.quizx__viz--start {
  background: linear-gradient(160deg, #1c1830, #0e0c14);
}
.quizx__viz--start i {
  width: 0; height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #a78bfa;
  filter: drop-shadow(0 0 6px rgba(167,139,250,.5));
  animation: quizxPulse 1.5s ease-in-out infinite;
}
.quizx__viz--q {
  background: linear-gradient(160deg, #16141f, #0e0c14);
}
.quizx__viz--q b {
  font-family: var(--mono); font-size: 13px; font-weight: 700;
  color: #c4b5fd;
  width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(167,139,250,.4);
  background: rgba(167,139,250,.1);
}
.quizx__viz--ok {
  background: linear-gradient(160deg, #0f1a16, #0c0a12);
}
.quizx__viz--ok b {
  font-family: var(--mono); font-size: 14px; font-weight: 700; color: #6ee7b7;
  animation: quizxPulse 1.6s ease-in-out infinite;
}
.quizx__viz--hot {
  background: linear-gradient(160deg, #1a120e, #0c0a12);
}
.quizx__viz--hot b {
  font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-2);
  animation: quizxPulse 1.6s ease-in-out infinite;
}
@keyframes quizxPulse {
  0%, 100% { opacity: .7; }
  50% { opacity: 1; }
}

.quizx__lab {
  display: block;
  padding: 7px 8px 8px;
}
.quizx__lab small {
  display: block; font-family: var(--mono); font-size: 8px; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(167,139,250,.6); margin-bottom: 2px;
}
.quizx__node--ok .quizx__lab small { color: rgba(52,211,153,.75); }
.quizx__node--hot .quizx__lab small { color: rgba(255,140,64,.75); }
.quizx__lab strong {
  display: block; font-size: 11.5px; color: #fff; font-weight: 600;
  margin-bottom: 1px; letter-spacing: -.01em;
}
.quizx__lab em {
  font-style: normal; font-family: var(--mono); font-size: 9px; color: rgba(253,253,253,.4);
}

.quizx__panel {
  padding: 14px 16px; border-top: 1px solid var(--line);
  background: rgba(0,0,0,.25);
}
.quizx__panel small {
  font-family: var(--mono); font-size: 10px; letter-spacing: .1em;
  text-transform: uppercase; color: #a78bfa;
}
.quizx__panel strong {
  display: block; margin: 4px 0 6px; font-family: var(--display);
  font-size: 1.15rem; color: #fff;
}
.quizx__panel > p { margin: 0; font-size: 13px; color: rgba(253,253,253,.5); line-height: 1.45; }
.quizx__result {
  display: flex; align-items: center; gap: 14px; margin-top: 12px;
  padding: 12px; border-radius: 12px;
  background: rgba(167,139,250,.08); border: 1px solid rgba(167,139,250,.3);
}
.quizx__result[hidden] { display: none !important; }
.quizx__score-ring {
  width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border: 2px solid rgba(167,139,250,.5);
  background: rgba(167,139,250,.1);
}
.quizx__score-ring b { font-family: var(--mono); font-size: 18px; color: #c4b5fd; line-height: 1; }
.quizx__score-ring span { font-size: 9px; color: rgba(253,253,253,.4); text-transform: uppercase; }
.quizx__result em {
  display: block; font-style: normal; font-weight: 600; color: #fff; font-size: 14px; margin-bottom: 4px;
}
.quizx__result p { margin: 0; font-size: 12px; color: rgba(253,253,253,.5); }

/* ===== Pesquisa dossiê ===== */
.sim__hot {
  color: #2dd4bf !important; text-transform: uppercase; letter-spacing: .08em;
}
.pesqx { padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.pesqx__top {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.pesqx__who { display: flex; align-items: center; gap: 10px; }
.pesqx__av {
  width: 42px; height: 42px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 12px; font-weight: 600; color: #042f2e;
  background: linear-gradient(145deg, #2dd4bf, #14b8a6);
}
.pesqx__who strong { display: block; color: #fff; font-size: 14px; }
.pesqx__who span { font-size: 11px; color: rgba(253,253,253,.4); }
.pesqx__gauge {
  position: relative; width: 72px; height: 72px; flex-shrink: 0;
}
.pesqx__gauge svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.pesqx__track {
  fill: none; stroke: rgba(255,255,255,.08); stroke-width: 6;
}
.pesqx__arc {
  fill: none; stroke: #2dd4bf; stroke-width: 6; stroke-linecap: round;
  transition: stroke-dasharray .4s var(--ease);
  filter: drop-shadow(0 0 6px rgba(45,212,191,.45));
}
.pesqx__gval {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
.pesqx__gval b { font-family: var(--mono); font-size: 18px; color: #fff; line-height: 1; }
.pesqx__gval small { font-size: 9px; color: rgba(253,253,253,.4); text-transform: uppercase; }
.pesqx__dims { display: flex; flex-direction: column; gap: 8px; }
.pesqx__dim {
  display: grid; grid-template-columns: 72px 1fr 36px; gap: 8px; align-items: center;
}
.pesqx__dim span {
  font-family: var(--mono); font-size: 10px; letter-spacing: .04em;
  text-transform: uppercase; color: rgba(253,253,253,.4);
}
.pesqx__dim i {
  display: block; height: 6px; width: var(--w,50%); border-radius: 99px;
  background: linear-gradient(90deg, #2dd4bf, #14b8a6);
  box-shadow: 0 0 10px rgba(45,212,191,.3);
  transition: width .35s var(--ease);
}
.pesqx__dim em {
  font-style: normal; font-family: var(--mono); font-size: 11px;
  color: #fff; text-align: right;
}
.pesqx__answers { display: grid; grid-template-columns: 1fr; gap: 6px; }
.pesqx__ans {
  text-align: left; padding: 10px 12px; border-radius: 10px;
  border: 1px solid var(--line); background: rgba(255,255,255,.03); cursor: pointer;
}
.pesqx__ans small {
  display: block; font-family: var(--mono); font-size: 9px; letter-spacing: .06em;
  text-transform: uppercase; color: rgba(45,212,191,.7); margin-bottom: 3px;
}
.pesqx__ans strong { font-size: 13px; color: rgba(253,253,253,.85); font-weight: 500; }
.pesqx__ans.is-on, .pesqx__ans:hover {
  border-color: rgba(45,212,191,.4); background: rgba(45,212,191,.08);
}
.pesqx__foot {
  display: flex; flex-wrap: wrap; gap: 8px;
  font-family: var(--mono); font-size: 10px; color: rgba(253,253,253,.4);
}
.pesqx__foot span {
  padding: 4px 8px; border-radius: 6px; border: 1px solid var(--line);
  background: rgba(0,0,0,.2);
}
.pesqx__foot .is-hot {
  color: #2dd4bf; border-color: rgba(45,212,191,.35); background: rgba(45,212,191,.1);
}

/* Webinar */
.sim__live {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: .1em;
  color: #fff; background: #e11d48; padding: 4px 8px; border-radius: 4px;
}
.sim__live b {
  width: 6px; height: 6px; border-radius: 50%; background: #fff;
  animation: pulse 1.2s ease-in-out infinite;
}
.sim__stage { display: grid; grid-template-columns: 1.2fr 1fr; min-height: 200px; }
.sim__stage-vid {
  position: relative; background: linear-gradient(160deg, #1a1218, #0c0a0e);
  display: flex; align-items: center; justify-content: center;
  border-right: 1px solid var(--line); min-height: 180px;
}
.sim__stage-vid p { margin: 0; font-size: 13px; color: rgba(253,253,253,.5); }
.sim__stage-progress {
  position: absolute; left: 12px; right: 12px; bottom: 12px; height: 4px;
  border-radius: 99px; background: rgba(255,255,255,.08); overflow: hidden;
}
.sim__stage-progress i {
  display: block; height: 100%; width: 22%; border-radius: inherit;
  background: linear-gradient(90deg, #fb7185, #ff5a00);
  transition: width .4s linear;
}
.sim__stage-side { padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.sim__chat { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.sim__chat div {
  padding: 8px; border-radius: 8px; background: rgba(255,255,255,.04); font-size: 12px;
}
.sim__chat strong { display: block; font-size: 11px; color: #fb7185; margin-bottom: 2px; }
.sim__chat span { color: rgba(253,253,253,.55); }
.sim__offer {
  padding: 10px 12px; border-radius: 10px;
  background: rgba(255,90,0,.12); border: 1px solid rgba(255,90,0,.35);
}
.sim__offer small {
  font-family: var(--mono); font-size: 9px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--accent);
}
.sim__offer strong { display: block; margin-top: 4px; color: #fff; font-size: 14px; }
.sim__offer[hidden] { display: none !important; }
.sim__stage-act {
  display: flex; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--line);
  background: rgba(0,0,0,.25);
}
.sim__btn {
  font-family: var(--mono); font-size: 11px; letter-spacing: .05em; text-transform: uppercase;
  padding: 8px 12px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(251,113,133,.4); background: rgba(251,113,133,.1); color: #fb7185;
}
.sim__btn--hot {
  border-color: rgba(255,90,0,.45); background: rgba(255,90,0,.12); color: var(--accent-2);
}

/* ===== Funis canvas — fluxo com setas (sem absolute desalinhado) ===== */
.funx { display: flex; flex-direction: column; }
.funx__canvas {
  margin: 12px 12px 0;
  padding: 16px 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(251,191,36,.18);
  background:
    radial-gradient(ellipse 70% 55% at 50% 35%, rgba(251,191,36,.07), transparent 65%),
    radial-gradient(rgba(251,191,36,.09) 1px, transparent 1px),
    linear-gradient(180deg, #12100a, #0c0a08);
  background-size: auto, 14px 14px, auto;
  overflow: hidden;
}
.funx__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: nowrap;
}
.funx__row--branch { margin-top: 0; }
.funx__row--down {
  height: 30px;
  pointer-events: none;
}
.funx__ghost {
  flex: 0 0 88px;
  width: 88px;
  height: 1px;
  visibility: hidden;
}
.funx__vslot {
  flex: 0 0 88px;
  width: 88px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.funx__arr {
  flex: 0 0 28px;
  width: 28px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.funx__arr--empty {
  height: 100%;
  visibility: hidden;
}
.funx__arr i {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(251,191,36,.35), rgba(255,90,0,.75));
  position: relative;
  animation: funxFlow 1.6s ease-in-out infinite;
}
.funx__arr i::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;
  width: 0; height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid rgba(255,90,0,.9);
  transform: translateY(-50%);
}
.funx__arr--soft i {
  background: linear-gradient(90deg, rgba(251,113,133,.35), rgba(148,163,184,.7));
  animation: none;
}
.funx__arr--soft i::after {
  border-left-color: rgba(148,163,184,.85);
}
@keyframes funxFlow {
  0%, 100% { opacity: .55; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(1.25); }
}
.funx__vline {
  width: 2px;
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(251,191,36,.55), rgba(251,113,133,.7));
  position: relative;
}
.funx__vline i {
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 0; height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid rgba(251,113,133,.9);
  transform: translateX(-50%);
}

.funx__node {
  flex: 0 0 auto;
  width: 88px;
  padding: 0;
  border-radius: 12px;
  text-align: left;
  background: linear-gradient(165deg, #1c1810, #12100c);
  border: 1px solid rgba(251,191,36,.35);
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.funx__node.is-on, .funx__node:hover {
  border-color: #fbbf24;
  box-shadow: 0 0 22px rgba(251,191,36,.22);
  transform: translateY(-2px);
}
.funx__node--money { border-color: rgba(255,90,0,.45); }
.funx__node--branch { border-color: rgba(251,113,133,.45); }
.funx__node--soft { border-color: rgba(148,163,184,.4); }

.funx__viz {
  display: block;
  height: 44px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  position: relative;
  overflow: hidden;
}
.funx__lab {
  display: block;
  padding: 7px 8px 8px;
}
.funx__lab small {
  display: block; font-family: var(--mono); font-size: 8px; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(251,191,36,.55); margin-bottom: 2px;
}
.funx__node--money .funx__lab small { color: rgba(255,140,64,.75); }
.funx__node--branch .funx__lab small { color: rgba(251,113,133,.75); }
.funx__node--soft .funx__lab small { color: rgba(148,163,184,.75); }
.funx__lab strong {
  display: block; font-size: 11.5px; color: #fff; margin-bottom: 1px; font-weight: 600;
  letter-spacing: -.01em;
}
.funx__lab em {
  font-style: normal; font-family: var(--mono); font-size: 9px; color: rgba(253,253,253,.4);
}

/* mini mock: ads bars */
.funx__viz--ads {
  background: linear-gradient(160deg, #1a140c, #0e0c08);
  display: flex; align-items: flex-end; justify-content: center; gap: 5px;
  padding: 10px 10px 8px;
}
.funx__viz--ads i {
  display: block; width: 8px; border-radius: 2px 2px 0 0;
  background: linear-gradient(180deg, #fbbf24, #ff5a00);
  animation: funxBars 1.4s ease-in-out infinite;
}
.funx__viz--ads i:nth-child(1) { height: 14px; animation-delay: 0s; }
.funx__viz--ads i:nth-child(2) { height: 22px; animation-delay: .15s; }
.funx__viz--ads i:nth-child(3) { height: 10px; animation-delay: .3s; }
@keyframes funxBars {
  0%, 100% { transform: scaleY(.7); opacity: .65; }
  50% { transform: scaleY(1); opacity: 1; }
}

/* mini mock: form opt-in */
.funx__viz--form {
  background: linear-gradient(160deg, #14120e, #0c0a08);
  padding: 9px 10px; display: flex; flex-direction: column; gap: 5px; justify-content: center;
}
.funx__viz--form b {
  display: block; height: 5px; border-radius: 2px;
  background: rgba(255,255,255,.1); border: 1px solid rgba(251,191,36,.15);
}
.funx__viz--form b:nth-child(2) { width: 70%; }
.funx__viz--form u {
  display: block; height: 8px; border-radius: 3px; text-decoration: none;
  background: linear-gradient(90deg, #ff5a00, #fbbf24);
  animation: funxPulse 1.8s ease-in-out infinite;
}

/* mini mock: webinar live */
.funx__viz--live {
  background: linear-gradient(160deg, #1a1210, #0c0a08);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
}
.funx__play {
  width: 0; height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #fbbf24;
  filter: drop-shadow(0 0 6px rgba(251,191,36,.5));
  animation: funxPulse 1.5s ease-in-out infinite;
}
.funx__barline {
  width: 56%; height: 3px; border-radius: 99px;
  background: rgba(255,255,255,.1); overflow: hidden;
}
.funx__barline u {
  display: block; height: 100%; width: 42%; border-radius: inherit; text-decoration: none;
  background: linear-gradient(90deg, #fb7185, #ff5a00);
  animation: funxProg 2.4s linear infinite;
}
@keyframes funxProg {
  0% { width: 12%; }
  100% { width: 88%; }
}

/* mini mock: payment / close */
.funx__viz--pay {
  background: linear-gradient(160deg, #1a120c, #0c0a08);
  display: flex; align-items: center; justify-content: center;
}
.funx__check {
  width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid rgba(255,90,0,.7);
  background: rgba(255,90,0,.15);
  position: relative;
  animation: funxPulse 1.6s ease-in-out infinite;
}
.funx__check::after {
  content: "";
  position: absolute; left: 4px; top: 2px;
  width: 5px; height: 9px;
  border: solid #ff8c40;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* mini mock: decision diamond */
.funx__viz--split {
  background: linear-gradient(160deg, #1a1014, #0c0a08);
  display: flex; align-items: center; justify-content: center;
}
.funx__diamond {
  width: 16px; height: 16px;
  background: linear-gradient(135deg, #fb7185, #fbbf24);
  transform: rotate(45deg);
  box-shadow: 0 0 12px rgba(251,113,133,.4);
  animation: funxSpin 4s linear infinite;
}
@keyframes funxSpin {
  0% { transform: rotate(45deg) scale(1); }
  50% { transform: rotate(45deg) scale(1.08); }
  100% { transform: rotate(45deg) scale(1); }
}

/* mini mock: sequence bubbles */
.funx__viz--seq {
  background: linear-gradient(160deg, #12141a, #0c0a08);
  display: flex; flex-direction: column; justify-content: center; gap: 4px;
  padding: 8px 10px;
}
.funx__viz--seq b {
  display: block; height: 6px; border-radius: 99px;
  background: rgba(148,163,184,.25);
  animation: funxSeq 1.8s ease-in-out infinite;
}
.funx__viz--seq b:nth-child(1) { width: 80%; animation-delay: 0s; background: rgba(37,211,102,.35); }
.funx__viz--seq b:nth-child(2) { width: 55%; animation-delay: .2s; margin-left: auto; background: rgba(96,165,250,.35); }
.funx__viz--seq b:nth-child(3) { width: 68%; animation-delay: .4s; background: rgba(37,211,102,.28); }
@keyframes funxSeq {
  0%, 100% { opacity: .45; }
  50% { opacity: 1; }
}
@keyframes funxPulse {
  0%, 100% { opacity: .7; }
  50% { opacity: 1; }
}

.funx__panel {
  padding: 14px 16px; border-top: 1px solid var(--line);
  background: rgba(0,0,0,.28);
}
.funx__panel strong {
  display: block; font-family: var(--display); font-size: 1.1rem; color: #fbbf24; margin-bottom: 4px;
}
.funx__panel p { margin: 0 0 10px; font-size: 13px; color: rgba(253,253,253,.5); line-height: 1.45; }
.funx__stats { display: flex; flex-wrap: wrap; gap: 8px; }
.funx__stats span {
  flex: 1; min-width: 80px; padding: 8px 10px; border-radius: 8px;
  background: rgba(251,191,36,.06); border: 1px solid rgba(251,191,36,.2);
  display: flex; flex-direction: column; gap: 2px;
}
.funx__stats i {
  font-style: normal; font-family: var(--mono); font-size: 9px;
  letter-spacing: .08em; text-transform: uppercase; color: rgba(253,253,253,.35);
}
.funx__stats b { font-size: 13px; color: #fff; font-weight: 600; }

/* ===== Meta Match large ===== */
.sim--meta-lg { min-height: 100%; }
.metax {
  display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px;
  padding: 16px 16px 8px; align-items: stretch; min-height: 300px;
}
.metax__label {
  font-family: var(--mono); font-size: 10px; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(253,253,253,.4); margin-bottom: 8px;
}
.metax__ad {
  padding: 14px; border-radius: 14px; border: 1px solid rgba(96,165,250,.25);
  background: linear-gradient(180deg, #12161e, #0c0e14); height: calc(100% - 24px);
  display: flex; flex-direction: column; gap: 10px;
}
.metax__ad-head { display: flex; align-items: center; gap: 10px; }
.metax__ad-av {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(145deg, #ff5a00, #60a5fa);
}
.metax__ad-head b { display: block; font-size: 13px; color: #fff; }
.metax__ad-head small { font-size: 10px; color: rgba(253,253,253,.4); }
.metax__ad-copy {
  margin: 0; font-size: 14px; line-height: 1.45; color: rgba(253,253,253,.9); font-weight: 500;
  min-height: 3.2em;
}
.metax__ad-media {
  flex: 1; min-height: 80px; border-radius: 10px;
  background:
    linear-gradient(145deg, rgba(255,90,0,.35), transparent 55%),
    linear-gradient(220deg, #1e293b 0%, #0f172a 100%);
  border: 1px solid rgba(255,255,255,.06);
  transition: background .4s;
}
.metax__ad-media.is-b {
  background:
    linear-gradient(145deg, rgba(56,189,248,.4), transparent 55%),
    linear-gradient(220deg, #1e1b4b, #0f172a);
}
.metax__ad-media.is-c {
  background:
    linear-gradient(145deg, rgba(251,113,133,.4), transparent 55%),
    linear-gradient(220deg, #3b1d2a, #0f172a);
}
.metax__ad-cta {
  text-align: center; padding: 8px; border-radius: 8px;
  background: rgba(96,165,250,.12); border: 1px solid rgba(96,165,250,.3);
  font-size: 12px; font-weight: 600; color: #93c5fd;
}
.metax__bridge {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; font-family: var(--mono); font-size: 10px; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(253,253,253,.4); padding-top: 28px;
}
.metax__bridge b {
  width: 14px; height: 14px; border-radius: 50%; background: #60a5fa;
  box-shadow: 0 0 0 0 rgba(96,165,250,.5); animation: matchPulse 1.5s ease-out infinite;
}
@keyframes matchPulse {
  0% { box-shadow: 0 0 0 0 rgba(96,165,250,.5); }
  70% { box-shadow: 0 0 0 14px rgba(96,165,250,0); }
  100% { box-shadow: 0 0 0 0 rgba(96,165,250,0); }
}
.metax__bridge span {
  font-size: 16px; font-weight: 700; color: #60a5fa; letter-spacing: 0;
}
.metax__lp {
  padding: 18px 16px; border-radius: 14px; height: calc(100% - 24px);
  border: 1px solid rgba(255,90,0,.3);
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,90,0,.12), transparent 60%),
    linear-gradient(180deg, #141210, #0c0a0a);
  display: flex; flex-direction: column; gap: 10px;
}
.metax__lp small {
  font-family: var(--mono); font-size: 10px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--accent);
}
.metax__lp strong {
  font-family: var(--display); font-size: 1.35rem; line-height: 1.2;
  color: #fff; letter-spacing: -.02em; min-height: 2.6em;
}
.metax__lp p {
  margin: 0; font-size: 13px; color: rgba(253,253,253,.5); line-height: 1.45; flex: 1;
}
.metax__lp-cta {
  display: inline-flex; align-self: flex-start; padding: 10px 16px; border-radius: 999px;
  background: linear-gradient(135deg, #ff5a00, #ff8c40); color: #0a0a0a;
  font-size: 13px; font-weight: 700;
}
.sim__hooks {
  display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 16px;
}
.sim__hooks button {
  font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
  padding: 8px 14px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(96,165,250,.25); color: rgba(253,253,253,.55);
  background: rgba(96,165,250,.06);
}
.sim__hooks button.is-on, .sim__hooks button:hover {
  background: rgba(96,165,250,.18); color: #60a5fa; border-color: rgba(96,165,250,.45);
}

/* Access + final */
.access { max-width: 720px; }
.access__links {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px;
}
.access__links a {
  font-family: var(--mono); font-size: 12px; letter-spacing: .04em;
  padding: 10px 14px; border-radius: 999px; border: 1px solid var(--line-l);
  background: #fff; color: #0a0a0a; font-weight: 500;
}
.access__links a:hover { border-color: var(--accent); color: var(--accent); }

.final {
  padding: 96px 0; text-align: center;
  background: radial-gradient(ellipse 50% 50% at 50% 100%, rgba(255,90,0,.12), transparent 60%), var(--void);
}
.final .h2 { margin-inline: auto; }
.final__ctas { display: flex; justify-content: center; margin-top: 28px; }

.ftr { border-top: 1px solid var(--line); padding: 28px 0 36px; }
.ftr__in {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.ftr__copy { margin: 0; font-family: var(--mono); font-size: 11px; color: rgba(253,253,253,.32); }
.ftr .brand__mark { width: 28px; height: 28px; }
.ftr .brand__mark img { width: 28px; height: 28px; }

[data-reveal] {
  opacity: 0; transform: translateY(16px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
[data-reveal].is-in { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 980px) {
  .nav { display: none; }
  .burger { display: flex; }
  .hero__grid { grid-template-columns: 1fr; gap: 36px; }
  .hero__copy { order: 1; }
  .orbit-wrap { order: 2; }
  .hero__h1 { max-width: 100%; }
  .eco__grid { grid-template-columns: 1fr; gap: 36px; }
  .eco__copy { order: 1; }
  .eco__map { order: 2; }
  .prod__grid,
  .prod__grid--meta { grid-template-columns: 1fr; gap: 28px; }
  .prod--flip .prod__grid { direction: ltr; }
  .prod__copy { order: 1; }
  .sim { order: 2; }
  .crmx { grid-template-columns: 1fr; }
  .crmx__board { border-right: 0; border-bottom: 1px solid var(--line); }
  .newsx { grid-template-columns: 1fr; }
  .newsx__side {
    flex-direction: row; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid var(--line);
  }
  .grpx { grid-template-columns: 1fr; }
  .grpx__list {
    flex-direction: row; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid var(--line);
  }
  .grpx__main { grid-template-columns: 1fr; }
  .grpx__phone { border-right: 0; border-bottom: 1px solid var(--line); }
  .dashx__kpis { grid-template-columns: 1fr 1fr; }
  .sim__stage { grid-template-columns: 1fr; }
  .sim__stage-vid { border-right: 0; border-bottom: 1px solid var(--line); min-height: 140px; }
  .metax { grid-template-columns: 1fr; min-height: 0; }
  .metax__bridge { flex-direction: row; padding: 4px 0; }
  .metax__ad, .metax__lp { height: auto; }
}
@media (max-width: 640px) {
  .hero { padding-top: calc(var(--hdr) + 28px); }
  .prod { padding: 72px 0; }
  .orbit-hub { width: min(100%, 320px); height: 320px; }
  .orbit-hub__node {
    width: 50px; height: 50px; margin: -25px 0 0 -25px; font-size: 8px;
    transform: rotate(calc(var(--i) * 40deg)) translateY(-120px) rotate(calc(var(--i) * -40deg));
  }
  .crmx__board { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .crmx__fields { grid-template-columns: 1fr; }
  .eco { padding: 72px 0; }
  .eco__map { width: min(100%, 300px); height: 300px; }
  .eco__chip {
    width: 54px; height: 54px; margin: -27px 0 0 -27px; font-size: 8px;
    transform: rotate(var(--a)) translateY(-110px) rotate(calc(var(--a) * -1));
  }
  .quizx__canvas { padding: 12px 8px; }
  .quizx__node,
  .quizx__ghost,
  .quizx__vslot,
  .quizx__tarm { flex-basis: 72px; width: 72px; }
  .quizx__lab strong { font-size: 10px; }
  .quizx__lab em { font-size: 8px; }
  .quizx__arr { flex: 0 0 16px; width: 16px; }
  .quizx__viz { height: 34px; }
  .quizx__row--down { height: 22px; }
  .funx__canvas { padding: 12px 8px; }
  .funx__node,
  .funx__ghost,
  .funx__vslot { flex-basis: 72px; width: 72px; }
  .funx__lab strong { font-size: 10px; }
  .funx__lab em { font-size: 8px; }
  .funx__arr { flex: 0 0 16px; width: 16px; }
  .funx__viz { height: 36px; }
  .funx__row--down { height: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
