/* Seções da narrativa estratégica (o que é → para quem → problema → solução → recursos).
   Mantido separado de premium.css; reaproveita tokens e classes já existentes. */
.hero-checks{flex-wrap:wrap}

.audience-grid h3{font-size:19px}
.audience-more{margin-top:24px}
.audience-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:650;color:var(--primary-strong);padding:12px 0}
.audience-more>summary::-webkit-details-marker{display:none}
.audience-more>summary svg{width:16px;height:16px}
.audience-more[open]>summary{margin-bottom:18px}

/* ---------- A solução: passos 01→05 com pulso contínuo ligando um passo ao outro ----------
   Cada li (exceto o último) tem um conector .sale-flow-link do fim do seu nó ao início do próximo.
   grid-auto-rows:1fr iguala a altura das linhas, então "calc(100% - nó)" fecha exatamente no nó seguinte. */
.sale-flow{list-style:none;padding:0;margin:0 auto;max-width:820px;display:grid;grid-auto-rows:1fr;gap:0;position:relative}
.sale-flow li{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 52px;align-items:center;gap:20px;padding:22px 24px 22px 0}
.sale-flow-number{width:64px;height:64px;border-radius:50%;background-color:#7366ff;border:2px solid #7366ff;color:#fff;font-size:16px;font-weight:700;display:grid;place-items:center;position:relative;z-index:1;box-shadow:0 8px 20px #7366ff33}
.sale-flow h3{font-size:22px;line-height:1.3;margin:0 0 6px;color:#3d3685}
.sale-flow p{font-size:14px;line-height:1.75;color:#77839a;margin:0}
.sale-flow-icon{display:inline-flex;width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid #e6dff5;color:#7366ff;align-items:center;justify-content:center}
.sale-flow-icon svg{width:24px;height:24px}
.sale-flow-link{position:absolute;left:31px;top:calc(50% + 32px);height:calc(100% - 64px);width:2px;background:#d9d2f3;border-radius:2px;pointer-events:none}
.sale-flow-link::before{content:"";position:absolute;inset:0;background:#7366ff;border-radius:inherit;transform-origin:top;transform:scaleY(1)}
.sale-flow-link i{position:absolute;left:-5px;top:0;width:12px;height:12px;border-radius:50%;background:#7366ff;box-shadow:0 0 0 4px #7366ff2e,0 0 14px #7366ffb3;opacity:0}
/* Estado de espera (com JS, fora da tela): 02–05 apagados e conectores vazios, igual ao 0% do loop. */
.js-flow .sale-flow:not(.is-on) li+li .sale-flow-number{background-color:#fff;color:#7366ff;box-shadow:none}
.js-flow .sale-flow:not(.is-on) .sale-flow-link::before{transform:scaleY(0)}
/* Loop de 9 s enquanto .is-on. Trecho k: ponto desce durante 15% do ciclo a partir de 5/25/45/65%;
   a linha preenche junto e o nó seguinte acende quando o ponto chega (20/40/60/80%); em 92–97% tudo apaga e recomeça. */
.js-flow .sale-flow.is-on .sale-flow-link i{animation:sf-dot 9s linear infinite}
.js-flow .sale-flow.is-on li:nth-child(1) .sale-flow-link i{animation-delay:.45s}
.js-flow .sale-flow.is-on li:nth-child(2) .sale-flow-link i{animation-delay:2.25s}
.js-flow .sale-flow.is-on li:nth-child(3) .sale-flow-link i{animation-delay:4.05s}
.js-flow .sale-flow.is-on li:nth-child(4) .sale-flow-link i{animation-delay:5.85s}
.js-flow .sale-flow.is-on li:nth-child(1) .sale-flow-link::before{animation:sf-fill-1 9s linear infinite}
.js-flow .sale-flow.is-on li:nth-child(2) .sale-flow-link::before{animation:sf-fill-2 9s linear infinite}
.js-flow .sale-flow.is-on li:nth-child(3) .sale-flow-link::before{animation:sf-fill-3 9s linear infinite}
.js-flow .sale-flow.is-on li:nth-child(4) .sale-flow-link::before{animation:sf-fill-4 9s linear infinite}
.js-flow .sale-flow.is-on li:nth-child(2) .sale-flow-number{animation:sf-node-2 9s ease-out infinite}
.js-flow .sale-flow.is-on li:nth-child(3) .sale-flow-number{animation:sf-node-3 9s ease-out infinite}
.js-flow .sale-flow.is-on li:nth-child(4) .sale-flow-number{animation:sf-node-4 9s ease-out infinite}
.js-flow .sale-flow.is-on li:nth-child(5) .sale-flow-number{animation:sf-node-5 9s ease-out infinite}
@keyframes sf-dot{0%{top:0;opacity:0}1.5%{opacity:1}13.5%{opacity:1}15%{top:calc(100% - 12px);opacity:0}100%{top:calc(100% - 12px);opacity:0}}
@keyframes sf-fill-1{0%,5%{transform:scaleY(0)}20%,92%{transform:scaleY(1)}97%,100%{transform:scaleY(0)}}
@keyframes sf-fill-2{0%,25%{transform:scaleY(0)}40%,92%{transform:scaleY(1)}97%,100%{transform:scaleY(0)}}
@keyframes sf-fill-3{0%,45%{transform:scaleY(0)}60%,92%{transform:scaleY(1)}97%,100%{transform:scaleY(0)}}
@keyframes sf-fill-4{0%,65%{transform:scaleY(0)}80%,92%{transform:scaleY(1)}97%,100%{transform:scaleY(0)}}
@keyframes sf-node-2{0%,19%{background-color:#fff;color:#7366ff;box-shadow:0 0 0 0 #7366ff00;transform:scale(1)}21%{background-color:#7366ff;color:#fff;box-shadow:0 0 0 9px #7366ff33;transform:scale(1.14)}25%,92%{background-color:#7366ff;color:#fff;box-shadow:0 8px 20px #7366ff33;transform:scale(1)}97%,100%{background-color:#fff;color:#7366ff;box-shadow:0 0 0 0 #7366ff00;transform:scale(1)}}
@keyframes sf-node-3{0%,39%{background-color:#fff;color:#7366ff;box-shadow:0 0 0 0 #7366ff00;transform:scale(1)}41%{background-color:#7366ff;color:#fff;box-shadow:0 0 0 9px #7366ff33;transform:scale(1.14)}45%,92%{background-color:#7366ff;color:#fff;box-shadow:0 8px 20px #7366ff33;transform:scale(1)}97%,100%{background-color:#fff;color:#7366ff;box-shadow:0 0 0 0 #7366ff00;transform:scale(1)}}
@keyframes sf-node-4{0%,59%{background-color:#fff;color:#7366ff;box-shadow:0 0 0 0 #7366ff00;transform:scale(1)}61%{background-color:#7366ff;color:#fff;box-shadow:0 0 0 9px #7366ff33;transform:scale(1.14)}65%,92%{background-color:#7366ff;color:#fff;box-shadow:0 8px 20px #7366ff33;transform:scale(1)}97%,100%{background-color:#fff;color:#7366ff;box-shadow:0 0 0 0 #7366ff00;transform:scale(1)}}
@keyframes sf-node-5{0%,79%{background-color:#fff;color:#7366ff;box-shadow:0 0 0 0 #7366ff00;transform:scale(1)}81%{background-color:#7366ff;color:#fff;box-shadow:0 0 0 9px #7366ff33;transform:scale(1.14)}85%,92%{background-color:#7366ff;color:#fff;box-shadow:0 8px 20px #7366ff33;transform:scale(1)}97%,100%{background-color:#fff;color:#7366ff;box-shadow:0 0 0 0 #7366ff00;transform:scale(1)}}
.sale-flow-signature{display:flex;align-items:center;justify-content:center;gap:12px;margin:38px auto 0;padding:16px 24px;max-width:620px;border-radius:40px;background:#fff;border:1px solid #dddbf9;font-size:15px;font-weight:650;color:#3d3685}
.sale-flow-signature svg{width:20px;height:20px;color:#7366ff}

/* ---------- Recursos: índice + respiro até "Como funciona" ---------- */
.recursos-intro{padding-bottom:16px}
.recursos-intro .section-heading{margin-bottom:0}
.recursos-index{list-style:none;padding:0;margin:26px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:900px;counter-reset:recurso}
.recursos-index li{counter-increment:recurso}
.recursos-index a{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#3d3685;background:#fff;border:1px solid #e1dff2;border-radius:30px;padding:9px 14px;text-decoration:none;transition:border-color .2s,background .2s}
.recursos-index a::before{content:counter(recurso);font-size:10px;font-weight:700;color:#fff;background:#7366ff;width:18px;height:18px;border-radius:50%;display:grid;place-items:center}
.recursos-index a:hover{border-color:#7366ff;background:#f3f2ff}
.process-section{padding-top:56px}

/* ---------- Como funciona: elenco em faixa "story" ----------
   3 avatares grandes sobre um trilho; --cast-pos (0/1/2, definido pelo premium.js) preenche a linha
   e leva o ponto até o participante ativo. Os centros das colunas ficam em 1/6, 1/2 e 5/6 da área útil. */
.process-cast{--cast-pad:30px;--cast-top:22px;--cast-avatar:64px;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:var(--cast-top) var(--cast-pad) 20px;border-bottom:1px solid #eee8f6;background:#fff}
.process-cast-track{position:absolute;z-index:0;left:calc(var(--cast-pad) + (100% - 2*var(--cast-pad))/6);right:calc(var(--cast-pad) + (100% - 2*var(--cast-pad))/6);top:calc(var(--cast-top) + var(--cast-avatar)/2 - 1px);height:2px;background:#e4ddf3;border-radius:2px;pointer-events:none}
.process-cast-track::before{content:"";position:absolute;left:0;top:0;height:100%;width:calc(var(--cast-pos,0)*50%);background:#7366ff;border-radius:inherit;transition:width .6s cubic-bezier(.4,0,.2,1)}
.process-cast-dot{position:absolute;top:50%;left:calc(var(--cast-pos,0)*50%);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#7366ff;box-shadow:0 0 0 4px #7366ff2e,0 0 12px #7366ffb3;transition:left .6s cubic-bezier(.4,0,.2,1)}
.process-cast>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.process-avatar{position:relative;width:var(--cast-avatar);height:var(--cast-avatar);flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#eee9f8;color:#7366ff;font-weight:700;font-size:22px;box-shadow:0 0 0 4px #fff;transition:background .3s,color .3s,box-shadow .3s,transform .3s}
.process-avatar>svg:first-child{width:28px;height:28px}
.process-avatar>svg:last-child{position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;padding:5px;border-radius:50%;background:#fff;border:1px solid #e3d9f1;color:#9681b5}
.process-cast>div.is-active .process-avatar{background:#7366ff;color:#fff;box-shadow:0 0 0 4px #fff,0 0 0 7px #7366ff,0 10px 24px #7366ff33;transform:scale(1.06)}
.process-cast>div.is-active .process-avatar>svg:last-child{color:#7366ff;border-color:#cbbff8}
.process-cast b{display:block;font-size:14px;font-weight:700;color:#5b6178;line-height:1.3;margin-top:12px;transition:color .3s}
.process-cast>div.is-active b{color:#1d2540}
.process-cast small{display:block;font-size:12px;color:#8b7c9c;margin-top:3px;line-height:1.4}

/* ---------- Como funciona: a cena é clicável (avança) ---------- */
.process-scene{position:relative;cursor:pointer;transition:background .2s}
.process-scene:hover{background:#fcfbff}
.process-scene-hint{position:absolute;right:22px;top:16px;z-index:1;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#8f84a3;opacity:.8;pointer-events:none;transition:opacity .2s,color .2s}
.process-scene-hint svg{width:13px;height:13px}
.process-scene:hover .process-scene-hint{opacity:1;color:#5d52d9}

/* ---------- Como funciona: stepper horizontal 01–08 ---------- */
.process-stepper{display:flex;border-top:1px solid #ebe3f5;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.process-steps{position:relative;flex:0 0 auto;width:100%;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));list-style:none;margin:0;padding:22px 20px 18px;gap:0}
/* Linha entre o centro do 1º e do 8º nó: centro do nó i = padding + (largura-2·padding)·(i+.5)/8. */
.process-steps::before,.process-steps::after{content:"";position:absolute;top:39px;height:3px;border-radius:3px;pointer-events:none;z-index:0}
.process-steps::before{left:calc(20px + 6.25% - 2.5px);right:calc(20px + 6.25% - 2.5px);background:#e8e1f5}
.process-steps::after{left:calc(20px + 6.25% - 2.5px);width:0;background:#7366ff;transition:width .45s ease}
[data-active-scene="1"] .process-steps::after{width:calc(12.5% - 5px)}
[data-active-scene="2"] .process-steps::after{width:calc(25% - 10px)}
[data-active-scene="3"] .process-steps::after{width:calc(37.5% - 15px)}
[data-active-scene="4"] .process-steps::after{width:calc(50% - 20px)}
[data-active-scene="5"] .process-steps::after{width:calc(62.5% - 25px)}
[data-active-scene="6"] .process-steps::after{width:calc(75% - 30px)}
[data-active-scene="7"] .process-steps::after{width:calc(87.5% - 35px)}
.process-steps li{position:relative;z-index:1;min-width:0;scroll-snap-align:center}
.process-steps button{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:0 4px 8px;border:0;border-radius:12px;color:#8f84a3;min-height:44px;background:none;cursor:pointer;transition:color .25s}
.process-node{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid #d9d0f0;color:#8f84a3;font-size:12px;font-weight:700;transition:background .3s,border-color .3s,color .3s,transform .3s}
.process-node>i{font-style:normal}
.process-node>svg{display:none;width:16px;height:16px}
.process-steps b{font-size:12px;font-weight:550;line-height:1.35;text-align:center}
.process-steps button:hover:not(:disabled) .process-node{border-color:#a99cf3}
.process-steps button[aria-current=step]{color:#5d52d9}
.process-steps button[aria-current=step] .process-node{background:#7366ff;border-color:#7366ff;color:#fff;transform:scale(1.12);box-shadow:0 0 0 5px #7366ff1f}
.process-steps button[aria-current=step] b{font-weight:700}
.process-steps button.is-complete{color:#5c7d6d}
.process-steps button.is-complete .process-node{background:#7366ff;border-color:#7366ff;color:#fff}
.process-steps button.is-complete .process-node>i{display:none}
.process-steps button.is-complete .process-node>svg{display:block}
.process-steps button:focus-visible{outline:none}
.process-steps button:focus-visible .process-node{outline:3px solid #4232ef;outline-offset:3px}

/* ---------- Mapa: painel compacto "Da loja ao parceiro" (etapas clicáveis, sem controles) ---------- */
.network-playback{padding:16px 20px 14px;background:#fff;border-top:1px solid #e7dff2}
.network-match-steps{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:0;min-width:0}
.network-match-steps li{display:flex;align-items:center;min-width:0}
.network-match-steps li+li::before{content:"";display:block;width:22px;height:2px;margin:0 8px;background:#e6e0f3;flex-shrink:0}
.network-match-steps button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:4px 8px 4px 4px;border:0;border-radius:24px;background:none;font:inherit;font-size:12px;line-height:1.3;color:#8f829e;white-space:nowrap;min-width:0;cursor:pointer;transition:background .2s,color .2s}
.network-match-steps button>i{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;border:2px solid #ddd4f0;background:#fff;font-style:normal;font-size:11px;font-weight:700;color:#8f829e;transition:background .3s,border-color .3s,color .3s}
.network-match-steps button>span{overflow:hidden;text-overflow:ellipsis}
.network-match-steps button:hover{background:#f4f2ff;color:#5d52d9}
.network-match-steps button:hover>i{border-color:#a99cf3}
.network-match-steps button:focus-visible{outline:3px solid #a99eff;outline-offset:2px}
.network-match-steps li.active button{color:#3d3685;font-weight:650}
.network-match-steps li.active button>i{background:#7366ff;border-color:#7366ff;color:#fff}
.network-playback-caption{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;font-size:13px;line-height:1.6;color:#685978;min-height:42px}
.network-playback-caption svg{width:16px;height:16px;flex-shrink:0;color:#7366ff;margin-top:2px}
/* Seletor de cenário: mesmas pílulas do "Como funciona" (.process-modes); é conteúdo, não controle. */
.network-modes{display:inline-flex;gap:5px;margin-top:12px;padding:4px;border:1px solid #e5dcf3;border-radius:10px;background:#fff}
.network-modes button{padding:9px 12px;min-height:40px;border:0;border-radius:7px;background:none;font:inherit;font-size:11px;font-weight:600;color:#79658e;cursor:pointer;transition:background .2s,color .2s}
.network-modes button:hover{background:#f4f2ff;color:#5d52d9}
.network-modes button[aria-pressed=true]{background:#7366ff;color:#fff;box-shadow:0 3px 10px #7366ff24}
.network-modes button:focus-visible{outline:3px solid #a99eff;outline-offset:2px}

/* ---------- Loja do distribuidor: comparativo marca × distribuidor ---------- */
.store-split{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:stretch;gap:12px;max-width:760px;margin:0 auto 36px}
.store-split-col{display:flex;flex-direction:column;padding:22px 24px;border:1px solid #e5e0f6;border-radius:18px;background:#fff}
.store-split-partner{background:#faf9ff}
.store-split-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#efedff;color:#7366ff;margin-bottom:14px}
.store-split-icon svg{width:22px;height:22px}
.store-split-col>b{font-size:17px;font-weight:650;color:#3d3685;letter-spacing:-.2px}
.store-split-col ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:9px}
.store-split-col li{display:flex;align-items:center;gap:9px;font-size:14px;color:#4b5670}
.store-split-col li svg{width:18px;height:18px;padding:3px;border-radius:50%;background:#e8f6ee;color:#138763;flex-shrink:0}
.store-split-vs{display:grid;place-items:center;align-self:center;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e1dff2;color:#a79dd6;font-size:18px;font-weight:600}

/* ---------- Split × repasse: segmented control + linha do tempo (nós clicáveis, sem controles) ---------- */
.receipt-mode-buttons{display:flex;width:max-content;max-width:100%;gap:4px;padding:4px;margin:24px auto 0;border:1px solid #e0d9f5;border-radius:40px;background:#f6f4fd}
.receipt-mode-buttons button{padding:9px 18px;min-height:40px;border:0;border-radius:40px;background:none;color:#615875;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}
.receipt-mode-buttons button[aria-pressed=true]{background:#7366ff;color:#fff;box-shadow:0 4px 12px #7366ff30}
.receipt-mode-buttons button:focus-visible{outline:3px solid #a99eff;outline-offset:2px}
.receipt-panel h4{text-align:center}
.receipt-panel>p{text-align:center;max-width:640px;margin:0 auto}
.money-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:30px 0 18px}
.money-flow li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:0 6px;cursor:pointer;border-radius:16px;outline:none}
.money-node{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #d9d0f0;color:#8f84a3;font-size:12px;font-weight:700;transition:background .3s,border-color .3s,color .3s,transform .3s,box-shadow .3s}
.money-node>i{font-style:normal}
.money-node>svg{display:none;width:18px;height:18px}
.money-body{margin-top:14px;padding:14px 12px;border-radius:14px;border:1px solid transparent;width:100%;transition:background .3s,border-color .3s}
.money-flow b{display:block;font-size:17px;color:#6354de;letter-spacing:-.2px}
.money-flow h5{font-size:13px;font-weight:650;margin:6px 0 0;color:#2d3550}
.money-flow p{font-size:12px;line-height:1.7;margin:8px 0 0;color:#77839a}
.money-flow li:hover .money-node{border-color:#a99cf3;transform:scale(1.06)}
.money-flow li:hover .money-body{background:#faf9ff;border-color:#e6e0f6}
.money-flow li:focus-visible .money-node{outline:3px solid #4232ef;outline-offset:3px}
.money-flow li.is-current .money-node{background:#7366ff;border-color:#7366ff;color:#fff;transform:scale(1.1);box-shadow:0 0 0 6px #7366ff1c}
.money-flow li.is-current .money-node>i{display:none}
.money-flow li.is-current .money-node>svg{display:block}
.money-flow li.is-current .money-body{background:#f4f1ff;border-color:#ddd5f7}
.money-connection{position:absolute;left:calc(50% + 20px);top:19px;width:calc(100% + 16px - 40px);height:2px;background:#e1daf3}
.money-connection i{display:block;width:8px;height:8px;border-radius:50%;background:#7366ff;position:absolute;top:-3px;left:0;opacity:0}
.receipt-demo.is-running .is-current .money-connection i{opacity:1;animation:money-run 1.4s ease-in-out infinite}
@keyframes money-run{from{left:0}to{left:calc(100% - 8px)}}

/* ---------- Respiro entre blocos (o .tabs do #financeiro ganhou margin-top:36px no premium.css) ---------- */
.storefront-caption{padding-top:26px}

@media(max-width:1080px){
  .process-cast{--cast-avatar:56px;--cast-pad:20px}
  .process-avatar{font-size:19px}
}

@media(max-width:760px){
  .sale-flow li{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px 0}
  .sale-flow-number{width:48px;height:48px;font-size:14px}
  .sale-flow-link{left:23px;top:calc(50% + 24px);height:calc(100% - 48px)}
  .sale-flow-icon{display:none}
  .sale-flow h3{font-size:18px}
  .sale-flow p{font-size:13px}
  .sale-flow-signature{font-size:13px;padding:14px 18px;text-align:center}
  .recursos-index a{font-size:12px;padding:8px 12px}
  .process-section{padding-top:40px}

  /* Elenco: 3 lado a lado, avatares compactos (48px). */
  .process-cast{--cast-avatar:48px;--cast-pad:12px;--cast-top:16px;gap:4px;padding-bottom:14px}
  .process-avatar{font-size:16px;box-shadow:0 0 0 3px #fff}
  .process-avatar>svg:first-child{width:22px;height:22px}
  .process-avatar>svg:last-child{width:20px;height:20px;padding:4px;right:-3px;bottom:-3px}
  .process-cast>div.is-active .process-avatar{box-shadow:0 0 0 3px #fff,0 0 0 5px #7366ff,0 8px 18px #7366ff33}
  .process-cast b{font-size:12px;margin-top:9px}
  .process-cast small{font-size:11px;line-height:1.3}
  .process-scene-hint{right:14px;top:12px;font-size:10px}

  /* Stepper: rolagem horizontal com snap; a linha de progresso acompanha porque o ol tem a largura total dos 8 nós. */
  .process-stepper{padding-bottom:4px}
  .process-steps{display:flex;width:max-content;min-width:100%;padding:18px 16px 14px}
  .process-steps li{flex:0 0 96px}
  .process-steps::before{left:calc(16px + 48px);right:calc(16px + 48px);top:35px}
  .process-steps::after{left:calc(16px + 48px);top:35px}
  [data-active-scene="1"] .process-steps::after{width:96px}
  [data-active-scene="2"] .process-steps::after{width:192px}
  [data-active-scene="3"] .process-steps::after{width:288px}
  [data-active-scene="4"] .process-steps::after{width:384px}
  [data-active-scene="5"] .process-steps::after{width:480px}
  [data-active-scene="6"] .process-steps::after{width:576px}
  [data-active-scene="7"] .process-steps::after{width:672px}
  .process-steps b{font-size:12px}

  /* Mapa no celular: título → mapa → seletor de estados → detalhe do pedido. */
  .network-grid{grid-template-columns:1fr;gap:22px}
  .network-copy{display:contents}
  .network-copy>.eyebrow{order:1}
  .network-copy>h2{order:2}
  .network-copy>.network-intro{order:3;margin-top:0}
  .network-map{order:4}
  .network-copy>.network-selector{order:5;margin:4px 0 0}
  .network-copy>.network-order{order:6}
  .network-copy>noscript,.network-copy>.fine-print{order:7}
  .network-selector{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}
  .network-selector button{flex:0 0 auto;min-width:48px;scroll-snap-align:start}
  .network-playback{padding:14px 14px 12px}
  .network-match-steps{width:100%;justify-content:space-between}
  .network-match-steps li:not(.active) button>span{display:none}
  .network-match-steps li+li::before{width:14px;margin:0 6px}
  .network-playback-caption{font-size:13px;min-height:0}
  .network-modes{display:flex;width:100%}
  .network-modes button{flex:1;padding:8px 6px}

  .store-split{grid-template-columns:1fr;gap:10px}
  .store-split-col{padding:18px}
  .store-split-vs{justify-self:center;width:36px;height:36px;font-size:15px}

  /* Linha do tempo do dinheiro: empilhada, nó à esquerda, conector vertical. */
  .receipt-mode-buttons{width:100%}
  .receipt-mode-buttons button{flex:1;padding:9px 6px;font-size:12px}
  .receipt-panel h4,.receipt-panel>p{text-align:left}
  .money-flow{grid-template-columns:1fr;gap:14px;margin-top:22px}
  .money-flow li{flex-direction:row;align-items:flex-start;text-align:left;padding:0;gap:14px}
  .money-node{flex:0 0 40px}
  .money-body{margin-top:0;padding:10px 14px}
  .money-connection{left:19px;top:44px;width:2px;height:calc(100% - 34px)}
  .money-connection i{left:-3px;top:0}
  @keyframes money-run{from{top:0}to{top:calc(100% - 8px)}}
}

@media(max-width:390px){
  .process-cast{--cast-pad:8px}
  .process-cast small{font-size:11px}
  .network-match-steps button{padding:4px 6px 4px 3px}
}

@media(prefers-reduced-motion:reduce){
  /* Passos 01→05: sem loop, estado final (tudo aceso, conectores preenchidos, ponto oculto). */
  /* li:nth-child(n) iguala a especificidade das regras do loop (que usam nth-child) e vence por ordem. */
  .js-flow .sale-flow:not(.is-on) li+li .sale-flow-number,.js-flow .sale-flow.is-on li:nth-child(n) .sale-flow-number{animation:none;background-color:#7366ff;color:#fff;box-shadow:0 8px 20px #7366ff33;transform:none}
  .js-flow .sale-flow:not(.is-on) .sale-flow-link::before,.js-flow .sale-flow.is-on li:nth-child(n) .sale-flow-link::before{animation:none;transform:scaleY(1)}
  .js-flow .sale-flow.is-on li:nth-child(n) .sale-flow-link i{animation:none;opacity:0}
  .process-cast-track::before,.process-cast-dot,.process-avatar,.process-cast b,.process-scene,.process-steps::after,.process-node,.money-node,.money-flow li,.money-body,.network-match-steps button,.network-match-steps button>i,.network-modes button{transition:none}
  .receipt-demo.is-running .is-current .money-connection i{animation:none}
}

/* Seção escura "Quem vende não precisa ser quem entrega": fluxo Marina → Pedido → Aurora. */
.partner-flow{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,300px) 44px minmax(0,1fr);align-items:center;gap:0;max-width:1180px;margin:56px auto 36px}
.partner-flow .partner-card{text-align:left;padding:30px;border-radius:24px;background:linear-gradient(145deg,#172238,#111b2f);border:1px solid #384058;display:flex;flex-direction:column;min-width:0;height:100%}
.partner-flow .partner-identity{display:flex;align-items:center;gap:12px;border:0;padding:0;margin:0}
.partner-flow .partner-avatar{margin:0;width:46px;height:46px;font-size:20px;flex-shrink:0}
.partner-flow .partner-avatar.blue{background:#dbe9ff;color:#2f5fb8}
.partner-flow .partner-card h3{font-size:26px;line-height:1.2;color:#fff;margin:22px 0 0}
.partner-flow .partner-card>p{font-size:13px;line-height:1.8;color:#b2adc7;margin:16px 0 20px}
.partner-flow .partner-tasks{margin-bottom:22px}
.partner-flow .partner-tasks b{font-size:10px;color:#b9a9f9;border:1px solid #51456a;border-radius:7px;padding:1px 6px;font-weight:500}
.partner-card-fulfil .partner-tasks b{color:#9fc0ff;border-color:#3f5478}
.partner-flow .partner-reward{display:block;border:1px solid #4c406b;border-radius:14px;padding:18px;background:#a291ff0b;margin:0}
.partner-card-fulfil .partner-reward{border-color:#3f5478;background:#5b8fff0b}
.partner-flow .partner-reward b{display:block;font-size:23px;color:#e4dcff;margin:10px 0 5px}
.partner-card-fulfil .partner-reward b{color:#dbe9ff}
.partner-link{position:relative;height:2px;background:repeating-linear-gradient(90deg,#4a4f7a 0 6px,transparent 6px 12px);overflow:visible}
.partner-link i{position:absolute;top:50%;left:0;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#a99bff;box-shadow:0 0 12px #7366ff;animation:partner-run 1.8s linear infinite}
.partner-link+.partner-order+.partner-link i{animation-delay:.9s;background:#8fb4ff;box-shadow:0 0 12px #5b8fff}
@keyframes partner-run{0%{left:-4px;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 6px);opacity:0}}
.partner-flow .partner-order{padding:24px 18px;border-radius:22px;background:#f7f6ff;border:1px solid #d9d3f6;color:#1d2340;box-shadow:0 22px 60px #00000055;text-align:center}
.partner-order-icon{display:inline-flex;width:44px;height:44px;border-radius:14px;background:#7366ff;color:#fff;align-items:center;justify-content:center;margin-bottom:12px}
.partner-order-icon svg{width:22px;height:22px}
.partner-flow .partner-order small{font-size:9px;letter-spacing:.08em;color:#6c6a8f;display:block}
.partner-flow .partner-order>strong{font-size:32px;font-weight:650;color:#1d2340;display:block;margin:6px 0 2px;letter-spacing:-.02em}
.partner-order-id{display:block;font-size:10px;color:#8b89a8}
.partner-flow .partner-address{background:#fff;border:1px solid #e3dff8;border-radius:14px;padding:14px 12px;margin:16px 0}
.partner-flow .partner-address>svg{width:22px;height:22px;color:#7366ff;margin:0 auto 8px}
.partner-flow .partner-address b{display:block;font-size:12px;color:#1d2340}
.partner-flow .partner-address small{display:block;font-size:10px;line-height:1.7;color:#77839a;margin-top:6px;letter-spacing:0}
.partner-split{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px;text-align:left}
.partner-split li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:11px;border-left:4px solid}
.partner-split li span{color:#4d5568}.partner-split li b{font-size:12px;color:#1d2340;white-space:nowrap}
.partner-split-creator{background:#efecff;border-color:#7366ff}
.partner-split-fulfil{background:#e8f0ff;border-color:#5b8fff}
.partner-flow .partner-connection{display:block;font-size:11px;line-height:1.7;color:#6354de;font-weight:600}
@media(max-width:1080px){.partner-flow{grid-template-columns:minmax(0,1fr) 28px minmax(0,250px) 28px minmax(0,1fr)}.partner-flow .partner-card{padding:22px}.partner-flow .partner-card h3{font-size:22px}}
@media(max-width:820px){
  .partner-flow{grid-template-columns:1fr;max-width:460px;gap:0;margin-top:36px}
  .partner-flow .partner-card{height:auto}
  .partner-link{width:2px;height:44px;margin:0 auto;background:repeating-linear-gradient(180deg,#4a4f7a 0 6px,transparent 6px 12px)}
  .partner-link i{left:50%;top:0;margin:0 0 0 -5px;animation-name:partner-run-v}
  @keyframes partner-run-v{0%{top:-4px;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:calc(100% - 6px);opacity:0}}
}
@media(prefers-reduced-motion:reduce){.partner-link i{animation:none;left:50%;top:50%;margin:-5px 0 0 -5px}}

/* Botão "voltar ao topo": some com a página, aparece ao rolar. */
.scroll-top{position:fixed;right:22px;bottom:24px;z-index:80;width:46px;height:46px;border-radius:50%;border:1px solid #ddd5f7;background:#fff;color:#6354de;box-shadow:0 10px 26px rgba(30,20,90,.16);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s,border-color .2s}
.scroll-top:hover{background:#f3f2ff;border-color:#7366ff}
.scroll-top:focus-visible{outline:3px solid #a99eff;outline-offset:3px}
.scroll-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.scroll-top-arrow{display:flex}
.scroll-top-arrow svg{width:19px;height:19px;transform:rotate(-90deg)}
@media(max-width:760px){.scroll-top{right:16px;bottom:16px;width:42px;height:42px}.scroll-top.mobile-cta-clear{bottom:78px}}
@media(prefers-reduced-motion:reduce){.scroll-top{transition:opacity .15s}}

/* Popup de sucesso do formulário de contato: só aparece quando o envio é confirmado. */
.rs-success-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(12,9,32,.6);backdrop-filter:blur(3px);padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
.rs-success-overlay.is-open{opacity:1;pointer-events:auto}
.rs-success-overlay[hidden]{display:none}
.rs-success-modal{position:relative;width:100%;max-width:400px;background:#fff;border-radius:20px;padding:40px 32px 32px;text-align:center;box-shadow:0 30px 70px rgba(20,10,60,.35);transform:scale(.92) translateY(10px);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s;outline:none}
.rs-success-overlay.is-open .rs-success-modal{transform:scale(1) translateY(0);opacity:1}
.rs-success-close{position:absolute;top:14px;right:14px;width:30px;height:30px;padding:0;border:0;background:none;color:#b7bccb;cursor:pointer;display:grid;place-items:center}
.rs-success-close:hover{color:#6b7280}
.rs-success-close svg{width:22px;height:22px}
.rs-success-icon{display:inline-grid;place-items:center;width:66px;height:66px;border-radius:50%;background:linear-gradient(135deg,#8b81ff,#7366ff,#5d52d9);color:#fff;margin-bottom:18px;box-shadow:0 10px 24px rgba(115,102,255,.4)}
.rs-success-icon svg{width:32px;height:32px}
.rs-success-modal h3{font-size:22px;font-weight:700;color:#1b2038;margin:0 0 10px}
.rs-success-modal p{font-size:14px;line-height:1.65;color:#5a6478;margin:0 0 26px}
@media(prefers-reduced-motion:reduce){.rs-success-overlay,.rs-success-modal{transition:none}}
