@font-face { font-family: "Poppins"; font-weight: 300; font-style: normal; font-display: swap; src: url("fontes/poppins-300.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 400; font-style: normal; font-display: swap; src: url("fontes/poppins-400.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-style: normal; font-display: swap; src: url("fontes/poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600; font-style: normal; font-display: swap; src: url("fontes/poppins-600.woff2") format("woff2"); }
@font-face { font-family: "MuseoModerno"; font-weight: 600; font-style: normal; font-display: swap; src: url("fontes/museomoderno-600.woff2") format("woff2"); }
@font-face { font-family: "MuseoModerno"; font-weight: 800; font-style: normal; font-display: swap; src: url("fontes/museomoderno-800.woff2") format("woff2"); }

.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* OnMoov · Guia do Portal do Consultor
   Fundo off-white lilás, navy nos destaques, degradê da marca nos acentos e o Moovy como apresentador. */
:root {
  --navy: #070D24;
  --navy-2: #121A3E;
  --fundo: #F6F3FB;
  --card: #FFFFFF;
  --ink: #1B1E36;
  --muted: #5B6180;
  --dim: #8A8FA8;
  --linha: #E6E0F1;
  --rosa: #E91E8C;
  --roxo: #7C30AB;
  --azul: #055FC2;
  --grad: linear-gradient(90deg, #F10194 0%, #7C30AB 52%, #055FC2 100%);
  --grad-diag: linear-gradient(135deg, #F10194 0%, #7C30AB 52%, #055FC2 100%);
  --ok: #138A5E;
  --ambar: #B86E00;
  --sombra: 0 1px 2px rgba(7,13,36,.04), 0 10px 30px rgba(60,30,110,.06);
  --display: "MuseoModerno", "Poppins", sans-serif;
  --body: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; background: var(--fundo); -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--body); font-size: 16px; line-height: 1.6; color: var(--ink); background: var(--fundo); overflow-x: hidden; }
[hidden] { display: none !important; }
a { color: var(--azul); text-underline-offset: 3px; }
b, strong { font-weight: 600; }
::selection { background: rgba(124, 48, 171, .2); }
.g-progresso { position: fixed; top: 0; left: 0; z-index: 50; height: 3px; width: 100%; background: var(--grad); transform-origin: 0 50%; transform: scaleX(0); }

/* ---------- topo com o Moovy ---------- */
.g-topo { position: relative; overflow: hidden; color: #fff; background: var(--navy); padding: 26px 0 30px; }
.g-topo::before { content: ""; position: absolute; width: 820px; height: 820px; right: -180px; top: -440px; border-radius: 50%; background: #6a1f9c; opacity: .6; filter: blur(130px); }
.g-topo::after { content: ""; position: absolute; width: 680px; height: 680px; left: -280px; bottom: -460px; border-radius: 50%; background: #0a3fa8; opacity: .6; filter: blur(130px); }
.g-simbolo { position: absolute; z-index: 0; right: -140px; bottom: -170px; width: 560px; opacity: .08; pointer-events: none; }
.g-topo-in { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.g-marca { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.g-logo { width: 168px; height: auto; display: block; }
.g-voltar { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 99px; font-size: .84rem; font-weight: 500; color: #fff; text-decoration: none; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); }
.g-voltar:hover { background: rgba(255,255,255,.14); }
.g-heroi { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: center; }
.g-kicker { margin: 30px 0 10px; font: 600 12px/1.3 var(--body); letter-spacing: 5px; text-transform: uppercase; color: #FF6FBF; }
.g-titulo { margin: 0; font: 800 clamp(2.1rem, 5.2vw, 3.4rem)/1.03 var(--display); letter-spacing: -.02em; }
.g-titulo span { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.g-lead { max-width: 52ch; margin: 14px 0 22px; font-weight: 300; font-size: 1.06rem; color: #C9CFEA; }
.g-busca { position: relative; display: block; max-width: 580px; }
.g-busca input { width: 100%; min-height: 56px; padding: 0 52px 0 50px; border-radius: 16px; border: 1px solid rgba(255,255,255,.24); font: 400 1rem var(--body); color: #fff; background: rgba(255,255,255,.09); outline: none; transition: border-color .2s, box-shadow .2s; }
.g-busca input::placeholder { color: #9BA3C7; }
.g-busca input:focus { border-color: #FF6FBF; box-shadow: 0 0 0 4px rgba(241,1,148,.22); }
.g-busca svg { position: absolute; left: 18px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); stroke: #9BA3C7; fill: none; stroke-width: 2; }
.g-busca kbd { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); min-width: 26px; padding: 2px 8px; border-radius: 7px; font: 600 .78rem var(--body); text-align: center; color: #C9CFEA; border: 1px solid rgba(255,255,255,.25); }
.g-heroi-moovy { position: relative; display: flex; flex-direction: column; align-items: center; }
.g-moovy { width: 230px; height: auto; filter: drop-shadow(0 24px 40px rgba(0,0,0,.45)); animation: flutuar 5s ease-in-out infinite; }
.g-balao { position: relative; z-index: 1; max-width: 300px; margin-bottom: 10px; padding: 14px 18px; border-radius: 18px 18px 18px 6px; font-size: .9rem; line-height: 1.45; color: var(--ink); background: #fff; box-shadow: 0 16px 40px rgba(0,0,0,.35); animation: aparecer .7s .3s both; }
.g-balao b { color: var(--rosa); }
.g-balao::after { content: ""; position: absolute; left: 38px; bottom: -9px; width: 18px; height: 18px; background: #fff; transform: rotate(45deg); border-radius: 3px; }
@keyframes flutuar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes aparecer { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }

.g-perfis-rot { margin: 26px 0 12px; font-size: .8rem; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: #9BA3C7; }
.g-perfis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.g-perfil { position: relative; display: grid; gap: 2px; justify-items: start; padding: 14px 14px 13px; border-radius: 18px; cursor: pointer; text-align: left; font: inherit; color: #DDE1F5; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); transition: transform .2s, background .2s, border-color .2s, box-shadow .2s; }
.g-perfil:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.1); }
.g-perfil .ico { width: 26px; height: 26px; margin-bottom: 8px; fill: none; stroke: #FF6FBF; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.g-perfil strong { font-size: .95rem; color: #fff; }
.g-perfil small { font-size: .74rem; line-height: 1.3; color: #9BA3C7; }
.g-perfil[aria-pressed="true"] { border-color: transparent; background: linear-gradient(var(--navy-2), var(--navy-2)) padding-box, var(--grad-diag) border-box; border: 2px solid transparent; box-shadow: 0 12px 34px rgba(241,1,148,.3); }
.g-perfil[aria-pressed="true"] .ico { stroke: #fff; }
.g-perfil[aria-pressed="true"]::after { content: "✓"; position: absolute; top: 10px; right: 12px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; font-size: .72rem; font-weight: 700; color: #fff; background: var(--grad-diag); }

/* ---------- barra fixa ---------- */
.g-barra { position: sticky; top: 0; z-index: 20; background: rgba(246,243,251,.9); backdrop-filter: blur(12px); border-bottom: 1px solid var(--linha); }
.g-barra-in { max-width: 1180px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 12px; font-size: .86rem; color: var(--muted); }
.g-barra-in strong { color: var(--ink); }
.g-barra-acoes { margin-left: auto; display: flex; gap: 8px; }
.g-botao { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 16px; border-radius: 11px; cursor: pointer; text-decoration: none; font: 500 .84rem var(--body); color: var(--ink); background: #fff; border: 1px solid var(--linha); transition: transform .15s, border-color .15s; }
.g-botao:hover { border-color: var(--roxo); color: var(--roxo); transform: translateY(-1px); }
.g-botao-forte { color: #fff; border: 0; background: var(--grad); box-shadow: 0 6px 18px rgba(241,1,148,.25); }
.g-botao-forte:hover { color: #fff; filter: brightness(1.06); }

/* ---------- faixa de números ---------- */
.g-faixa { background: linear-gradient(180deg, #EFE9F8 0%, var(--fundo) 100%); border-bottom: 1px solid var(--linha); }
.g-faixa-in { max-width: 1180px; margin: 0 auto; padding: 22px 24px 26px; }
.g-faixa-tit { margin: 0 0 12px; font: 600 11px/1.3 var(--body); letter-spacing: 4px; text-transform: uppercase; color: var(--rosa); }
.g-numeros { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.g-numero { padding: 14px 16px; border-radius: 16px; background: #fff; border: 1px solid var(--linha); box-shadow: var(--sombra); }
.g-numero strong { display: block; font: 800 1.7rem/1.05 var(--display); background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.g-numero span { display: block; margin-top: 4px; font-size: .76rem; line-height: 1.35; color: var(--muted); }

/* ---------- miolo ---------- */
.g-miolo { max-width: 1180px; margin: 0 auto; padding: 32px 24px 60px; display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; align-items: start; }
.g-indice { position: sticky; top: 76px; max-height: calc(100vh - 96px); overflow: auto; padding-right: 6px; }
.g-indice summary { display: none; }
.g-indice-tit { margin: 0 0 10px; font: 600 11px/1.3 var(--body); letter-spacing: 4px; text-transform: uppercase; color: var(--rosa); }
.g-indice ol { list-style: none; margin: 0; padding: 0; }
.g-indice > div > nav > ol > li { margin-bottom: 4px; }
.g-indice a { display: block; padding: 5px 10px; border-radius: 8px; text-decoration: none; color: var(--muted); font-size: .85rem; line-height: 1.35; transition: background .15s, color .15s; }
.g-indice a:hover { color: var(--ink); background: rgba(124,48,171,.07); }
.g-indice .cap > a { font-weight: 600; color: var(--ink); }
.g-indice .cap ol a { padding-left: 22px; font-size: .81rem; }
.g-indice a.atual { color: var(--roxo); background: rgba(124,48,171,.1); box-shadow: inset 3px 0 0 var(--rosa); }

.g-conteudo { min-width: 0; max-width: 840px; }
.g-vazio { padding: 28px; border-radius: 18px; text-align: center; color: var(--muted); background: #fff; border: 1px dashed var(--linha); }
.g-vazio button { margin-top: 10px; }
.g-cap { margin-bottom: 56px; }
.g-cap-topo { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.g-num { width: 52px; height: 52px; flex: none; display: grid; place-items: center; border-radius: 16px; font: 800 1.15rem var(--display); color: #fff; background: var(--grad-diag); box-shadow: 0 10px 24px rgba(124,48,171,.3); }
.g-cap h2 { margin: 0; font: 800 clamp(1.55rem, 3vw, 2rem)/1.12 var(--display); letter-spacing: -.01em; color: var(--navy); }
.g-cap-resumo { margin: 2px 0 0; color: var(--muted); font-size: .95rem; }

/* Moovy diz */
.moovy-diz { display: flex; align-items: flex-end; gap: 6px; margin: 0 0 18px; }
.moovy-diz img { width: 104px; height: auto; flex: none; filter: drop-shadow(0 10px 16px rgba(60,30,110,.25)); }
.moovy-diz p { position: relative; margin: 0 0 18px; padding: 14px 18px; border-radius: 18px; font-size: .92rem; line-height: 1.5; color: #fff; background: var(--navy); box-shadow: 0 12px 30px rgba(7,13,36,.18); }
.moovy-diz p strong { display: block; margin-bottom: 2px; font: 600 .7rem var(--body); letter-spacing: 3px; text-transform: uppercase; color: #FF6FBF; }
.moovy-diz.lado-d { flex-direction: row-reverse; }
.moovy-diz.lado-e p { border-bottom-left-radius: 4px; }
.moovy-diz.lado-d p { border-bottom-right-radius: 4px; }

.g-art { margin-bottom: 16px; padding: 24px 26px; border-radius: 22px; background: var(--card); border: 1px solid var(--linha); box-shadow: var(--sombra); transition: box-shadow .2s, transform .2s; }
.g-art:hover { box-shadow: 0 1px 2px rgba(7,13,36,.04), 0 16px 40px rgba(60,30,110,.1); }
.g-art h3 { margin: 0 0 6px; font: 600 1.16rem/1.35 var(--body); color: var(--navy); }
.g-art h3 a { color: inherit; text-decoration: none; }
.g-art h3 a:hover::after { content: " #"; color: var(--dim); }
.g-para { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 14px; }
.g-para span { padding: 2px 10px; border-radius: 99px; font-size: .7rem; font-weight: 500; color: var(--roxo); background: rgba(124,48,171,.08); }
.g-art p { margin: 0 0 12px; }
.g-art > :last-child { margin-bottom: 0; }
.g-mini { font-size: .82rem; color: var(--muted); }
mark { padding: 0 2px; border-radius: 3px; color: inherit; background: rgba(241,1,148,.18); }

/* revelar ao rolar */
.js .revelar { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.js .revelar.visivel { opacity: 1; transform: none; }

/* componentes */
.caminho { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; vertical-align: baseline; }
.caminho b { padding: 1px 9px; border-radius: 8px; font-weight: 600; font-size: .86em; color: var(--navy); background: #EFEAF8; border: 1px solid #E0D7F0; white-space: nowrap; }
.caminho i { font-style: normal; color: var(--dim); }
.passos { list-style: none; counter-reset: p; margin: 6px 0 14px; padding: 0; display: grid; gap: 12px; }
.passos li { counter-increment: p; position: relative; padding-left: 44px; min-height: 30px; }
.passos li::before { content: counter(p); position: absolute; left: 0; top: -1px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; font: 700 .84rem var(--body); color: #fff; background: var(--grad-diag); box-shadow: 0 6px 14px rgba(124,48,171,.25); }
.passos li:not(:last-child)::after { content: ""; position: absolute; left: 14px; top: 32px; bottom: -12px; width: 2px; background: linear-gradient(#D9CDEE, transparent); }
.passos-h { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; counter-reset: p; }
.passos-h li { padding: 44px 0 0; font-size: .9rem; }
.passos-h li::before { left: 0; top: 0; }
.passos-h li:not(:last-child)::after { left: 38px; right: -6px; top: 14px; bottom: auto; width: auto; height: 2px; background: linear-gradient(90deg, #D9CDEE, transparent); }
.lista { margin: 4px 0 14px; padding-left: 20px; display: grid; gap: 7px; }
.lista li::marker { color: var(--rosa); }
.dica, .atencao { position: relative; margin: 14px 0; padding: 14px 16px 14px 62px; min-height: 62px; border-radius: 16px; font-size: .93rem; }
.dica::before, .atencao::before { position: absolute; left: 14px; top: 14px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; font-weight: 700; color: #fff; }
.dica { background: #F1ECFA; }
.dica::before { content: "★"; background: var(--grad-diag); }
.atencao { background: #FFF5E3; }
.atencao::before { content: "!"; background: #F0A020; }
.dica strong, .atencao strong { display: block; margin-bottom: 1px; font-size: .72rem; letter-spacing: 2px; text-transform: uppercase; }
.dica strong { color: var(--roxo); }
.atencao strong { color: var(--ambar); }
.tabela-wrap { overflow-x: auto; margin: 6px 0 14px; border-radius: 14px; border: 1px solid var(--linha); }
.tabela { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tabela th { padding: 10px 12px; text-align: left; font-size: .72rem; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: var(--muted); background: #F7F4FC; border-bottom: 1px solid var(--linha); }
.tabela td { padding: 10px 12px; vertical-align: top; border-bottom: 1px solid #F0EBF7; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela-lado td { width: 50%; }
.tabela-lado .passos { margin: 0; }
.pri { display: inline-block; padding: 2px 10px; border-radius: 99px; font-size: .78rem; font-weight: 600; }
.pri.urg { color: #B4004E; background: #FDE3EF; }
.pri.alt { color: #9A5A00; background: #FFF0D6; }
.pri.nor { color: #0B4FA0; background: #E3EEFC; }

/* pipeline de situações */
.pipeline { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 10px 0 16px; padding: 0; counter-reset: pp; }
.pipeline li { position: relative; display: grid; gap: 4px; align-content: start; padding: 12px 18px 12px 14px; background: #FAF8FD; border: 1px solid var(--linha); border-right: 0; }
.pipeline li:first-child { border-radius: 16px 0 0 16px; }
.pipeline li:last-child { border-radius: 0 16px 16px 0; border-right: 1px solid var(--linha); }
.pipeline li:not(:last-child)::after { content: ""; position: absolute; right: -9px; top: 50%; z-index: 1; width: 16px; height: 16px; background: #FAF8FD; border-top: 1px solid var(--linha); border-right: 1px solid var(--linha); transform: translateY(-50%) rotate(45deg); }
.pp-st { justify-self: start; padding: 3px 10px; border-radius: 99px; font-size: .78rem; font-weight: 600; }
.pp-quem { font-size: .74rem; color: var(--muted); }
.pp-quem b { color: var(--navy); }
.pipeline small { font-size: .74rem; line-height: 1.35; color: var(--dim); }
.pp-recebido .pp-st { color: #4A5072; background: #ECEEF6; }
.pp-atendimento .pp-st { color: #0B4FA0; background: #E3EEFC; }
.pp-consultor .pp-st { color: #9A5A00; background: #FFF0D6; }
.pp-consultor { background: #FFFBF2 !important; }
.pp-mp .pp-st { color: #6A2596; background: #F0E4FA; }
.pp-concluido .pp-st { color: var(--ok); background: #DFF5EC; }

/* o que cada perfil encontra */
.abas-perfil { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin-bottom: 12px; }
.ap { padding: 16px; border-radius: 16px; background: #FAF8FD; border: 1px solid var(--linha); }
.ap .ico { width: 26px; height: 26px; fill: none; stroke: var(--rosa); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ap strong { display: block; margin: 6px 0 8px; color: var(--navy); }
.ap div { display: flex; flex-wrap: wrap; gap: 5px; }
.ap span { padding: 3px 9px; border-radius: 8px; font-size: .74rem; font-weight: 500; color: var(--navy); background: #fff; border: 1px solid var(--linha); }

/* papel */
.papel-frase { margin: 0 0 16px; padding: 16px 18px; border-radius: 16px; font: 500 1.02rem/1.55 var(--body); color: #fff; background: var(--navy); background-image: radial-gradient(circle at 100% 0%, rgba(241,1,148,.35), transparent 45%); }
.papel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.papel > div { position: relative; padding: 16px 16px 14px; border-radius: 16px; background: #FAF8FD; border: 1px solid var(--linha); overflow: hidden; }
.papel > div::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; }
.papel .faz::before { background: var(--rosa); } .papel .recebe::before { background: var(--roxo); } .papel .prazos::before { background: var(--azul); }
.papel h4 { margin: 0 0 8px; font: 600 11px/1.3 var(--body); letter-spacing: 3px; text-transform: uppercase; }
.papel .faz h4 { color: var(--rosa); } .papel .recebe h4 { color: var(--roxo); } .papel .prazos h4 { color: var(--azul); }
.papel ul { margin: 0; padding-left: 16px; display: grid; gap: 6px; font-size: .86rem; line-height: 1.45; }
.atalhos-tit { margin: 6px 0 12px; font: 800 1.15rem var(--display); color: var(--navy); }
.trilha { list-style: none; position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; }
.trilha::before { content: ""; position: absolute; left: 18px; right: 18px; top: 18px; height: 3px; border-radius: 3px; background: var(--grad); opacity: .35; }
.trilha li { position: relative; display: grid; gap: 10px; align-content: start; }
.trilha-n { position: relative; z-index: 1; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; font: 800 1rem var(--display); color: #fff; background: var(--grad-diag); box-shadow: 0 0 0 5px var(--card), 0 8px 18px rgba(124,48,171,.3); }
.trilha strong { display: block; color: var(--navy); font-size: .92rem; }
.trilha p { margin: 2px 0 0 !important; font-size: .82rem; line-height: 1.45; color: var(--muted); }

/* fluxogramas em raias */
.raias-wrap { overflow-x: auto; margin: 8px -20px 6px; padding: 4px 6px; }
.raias { display: block; width: 100%; min-width: 760px; height: auto; font-family: var(--body); }
.raia-fundo { fill: #FAF8FD; stroke: #ECE6F5; }
.raia.sistema .raia-fundo { fill: #F2EEF9; stroke-dasharray: 5 5; }
.raia-rot { font-size: 13.5px; font-weight: 600; fill: var(--navy); }
.raia-voce { font-size: 10.5px; font-weight: 700; letter-spacing: 2px; fill: var(--rosa); opacity: 0; }
.raia.voce .raia-fundo { fill: #FDEDF6; stroke: #F6B9DA; }
.raia.voce .raia-voce { opacity: 1; }
.liga { fill: none; stroke: #9C83C9; stroke-width: 2; }
.seta { fill: #9C83C9; }
.volta { fill: none; stroke: var(--rosa); stroke-width: 1.8; stroke-dasharray: 6 5; }
.volta-rot { font-size: 10.5px; font-weight: 600; fill: var(--rosa); }
.no-caixa { fill: #fff; stroke: #DCD2EE; stroke-width: 1.2; filter: drop-shadow(0 4px 8px rgba(60,30,110,.08)); }
.no.opcional .no-caixa { stroke-dasharray: 5 4; }
.no-tit { font-size: 14px; font-weight: 600; fill: var(--navy); }
.no-sub { font-size: 11.5px; fill: var(--muted); }
.no-avisa { font-size: 11px; font-weight: 600; fill: var(--roxo); }
.auto rect { fill: var(--navy); }
.auto circle { fill: #FF6FBF; }
.auto text { font-size: 11px; font-weight: 500; fill: #fff; }
.auto-liga { stroke: #B9A6DA; stroke-width: 1.2; stroke-dasharray: 2 4; }
.raias-dica { font-size: .78rem; color: var(--dim); }
.detalhe { margin-top: 10px; border-radius: 14px; background: #FAF8FD; border: 1px solid var(--linha); }
.detalhe summary { padding: 12px 16px; cursor: pointer; font-weight: 600; font-size: .9rem; color: var(--roxo); list-style: none; }
.detalhe summary::-webkit-details-marker { display: none; }
.detalhe summary::before { content: "+ "; }
.detalhe[open] summary::before { content: "– "; }
.detalhe > :not(summary) { margin-left: 14px; margin-right: 14px; }
.detalhe > :last-child { margin-bottom: 14px; }
.fluxo td:first-child { font-weight: 600; color: var(--navy); white-space: nowrap; }
.fluxo td:nth-child(2) { font-weight: 500; }
.fluxo td:nth-child(4) { color: var(--muted); font-size: .84rem; }
.fluxo tr.voce td { background: #FCEAF4; }
.fluxo tr.voce td:first-child { box-shadow: inset 4px 0 0 var(--rosa); }
.fluxo tr.avisado td:first-child { box-shadow: inset 4px 0 0 #B9A6DA; }
.fluxo-leg { display: flex; flex-wrap: wrap; gap: 14px; margin: 10px 0; font-size: .78rem; color: var(--muted); }
.fluxo-leg span::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 6px; vertical-align: -1px; border-radius: 3px; }
.fluxo-leg .l-voce::before { background: var(--rosa); }
.fluxo-leg .l-avisado::before { background: #B9A6DA; }
.fluxo-nota { font-size: .86rem; color: var(--muted); }

/* roadmap */
.roadmap { display: grid; grid-template-columns: 1fr 1.25fr; gap: 14px; }
.rm-fase { padding: 18px; border-radius: 18px; border: 1px solid var(--linha); }
.rm-ok { background: #F0FAF5; border-color: #CDEBDD; }
.rm-breve { background: var(--navy); border: 0; color: #fff; background-image: radial-gradient(circle at 100% 0%, rgba(241,1,148,.35), transparent 50%), radial-gradient(circle at 0% 100%, rgba(5,95,194,.35), transparent 50%); }
.rm-tit { display: flex; align-items: center; gap: 8px; margin: 0 0 12px !important; font: 600 11px/1.3 var(--body); letter-spacing: 3px; text-transform: uppercase; }
.rm-tit span { width: 10px; height: 10px; border-radius: 50%; }
.rm-ok .rm-tit { color: var(--ok); } .rm-ok .rm-tit span { background: var(--ok); box-shadow: 0 0 0 4px rgba(19,138,94,.15); }
.rm-breve .rm-tit { color: #FF6FBF; } .rm-breve .rm-tit span { background: #FF6FBF; animation: pulsar 1.8s ease-in-out infinite; }
@keyframes pulsar { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,111,191,.6); } 50% { box-shadow: 0 0 0 7px rgba(255,111,191,0); } }
.roadmap ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.roadmap li { display: grid; gap: 1px; padding-left: 16px; border-left: 2px solid rgba(19,138,94,.3); }
.rm-breve li { border-left-color: rgba(255,111,191,.45); }
.roadmap li strong { font-size: .92rem; }
.roadmap li small { font-size: .78rem; color: var(--muted); }
.rm-breve li small { color: #B9C0E0; }

/* perguntas */
.faq details { border-bottom: 1px solid var(--linha); }
.faq details:last-child { border-bottom: 0; }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0; cursor: pointer; list-style: none; font-weight: 600; color: var(--navy); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; font-size: 1.1rem; color: var(--roxo); background: #F1ECFA; transition: transform .2s; }
.faq details[open] summary::after { content: "–"; color: #fff; background: var(--grad-diag); }
.faq details p { margin: 0 0 15px; color: var(--muted); }

/* fim */
.g-fim { position: relative; overflow: hidden; color: #fff; background: var(--navy); }
.g-fim::before { content: ""; position: absolute; width: 700px; height: 700px; right: -200px; top: -300px; border-radius: 50%; background: #6a1f9c; opacity: .55; filter: blur(130px); }
.g-fim-in { position: relative; max-width: 1180px; margin: 0 auto; padding: 36px 24px 10px; display: flex; align-items: center; gap: 28px; }
.g-fim img { width: 140px; height: auto; flex: none; animation: flutuar 5s ease-in-out infinite; }
.g-fim-tit { margin: 0 0 6px; font: 800 1.7rem/1.15 var(--display); }
.g-fim p { margin: 0 0 14px; color: #C9CFEA; }
.g-fim b { color: #fff; }
.g-assina { position: relative; max-width: 1180px; margin: 0 auto; padding: 14px 24px 28px; font-size: .8rem; color: #8F97BE; }
.g-assina strong { color: #fff; }

/* ---------- telas menores ---------- */
@media (max-width: 1100px) {
  .g-perfis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .g-numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  .g-heroi { grid-template-columns: minmax(0, 1fr); }
  .g-heroi-moovy { flex-direction: row; align-items: flex-end; justify-content: flex-start; gap: 4px; order: -1; margin-top: 20px; }
  .g-moovy { width: 108px; }
  .g-balao { order: 2; margin: 0 0 30px; border-radius: 18px 18px 18px 6px; }
  .g-balao::after { left: -6px; bottom: 16px; }
  .g-kicker { margin-top: 18px; }
  .g-miolo { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-top: 18px; }
  .g-indice { position: static; max-height: none; padding: 0; border-radius: 16px; background: #fff; border: 1px solid var(--linha); }
  .g-indice summary { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; cursor: pointer; list-style: none; font-weight: 600; color: var(--navy); }
  .g-indice summary::-webkit-details-marker { display: none; }
  .g-indice summary::after { content: "▾"; color: var(--roxo); }
  .g-indice[open] summary::after { content: "▴"; }
  .g-indice > div { padding: 0 10px 12px; }
  .g-indice-tit { display: none; }
  .trilha { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .trilha::before { left: 18px; right: auto; top: 18px; bottom: 18px; width: 3px; height: auto; background: linear-gradient(var(--rosa), var(--azul)); }
  .trilha li { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; align-items: start; }
  .pipeline { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .pipeline li { border-right: 1px solid var(--linha); border-radius: 14px !important; grid-template-columns: auto 1fr; column-gap: 10px; }
  .pipeline li small { grid-column: 1 / -1; }
  .pipeline li:not(:last-child)::after { display: none; }
  .roadmap { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  body { font-size: 15px; }
  .g-topo-in, .g-miolo, .g-barra-in, .g-faixa-in, .g-fim-in, .g-assina { padding-left: 16px; padding-right: 16px; }
  .g-perfis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .g-perfil { padding: 12px; }
  .g-perfil small { display: none; }
  .g-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .g-numero strong { font-size: 1.4rem; }
  .g-art { padding: 18px 16px; border-radius: 18px; }
  .g-num { width: 44px; height: 44px; border-radius: 14px; font-size: 1rem; }
  .moovy-diz img { width: 64px; }
  .papel { grid-template-columns: minmax(0, 1fr); }
  .passos-h { grid-template-columns: minmax(0, 1fr); }
  .passos-h li { padding: 0 0 0 44px; }
  .passos-h li:not(:last-child)::after { left: 14px; right: auto; top: 32px; bottom: -12px; width: 2px; height: auto; background: linear-gradient(#D9CDEE, transparent); }
  .g-barra-in > span { display: none; }
  .g-barra-acoes { margin-left: 0; width: 100%; }
  .g-barra-acoes .g-botao { flex: 1; justify-content: center; }
  .tabela-lado, .tabela-lado tbody, .tabela-lado tr, .tabela-lado td { display: block; width: 100%; }
  .tabela-lado thead { display: none; }
  .g-fim-in { flex-direction: column; align-items: flex-start; }
  .g-fim img { width: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .revelar { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* ---------- impressão ---------- */
@media print {
  html, body { background: #fff; }
  .revelar { opacity: 1 !important; transform: none !important; }
  .g-topo { padding-bottom: 18px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .g-busca, .g-perfis, .g-perfis-rot, .g-barra, .g-indice, .g-voltar, .g-progresso, .g-balao, .g-fim a { display: none !important; }
  .g-miolo { display: block; padding: 18px 0; }
  .g-art, .moovy-diz { break-inside: avoid; box-shadow: none; }
  .faq details { break-inside: avoid; }
  .raias { min-width: 0; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
@media (max-width: 620px) { .raias-wrap { margin-left: -12px; margin-right: -12px; } }
.so-cel { display: none; }
@media (max-width: 620px) { .so-cel { display: block; margin: 6px 0 8px !important; font-size: .78rem; letter-spacing: 2px; text-transform: uppercase; color: var(--roxo); } }
.g-botao { white-space: nowrap; }
