/* Ajustes 20/10/2026 — caixa girando no hero, logos dos canais e faturamento mensal nos cases */

/* ---------- Hero: caixa de produto girando ---------- */
.box-stage { position: absolute; inset: 30px -10px 45px; display: grid; place-items: center; perspective: 1200px; }
.box-stage .shuriken-orbit { pointer-events: none; }
.box-float { --bs: clamp(170px, 19vw, 280px); position: relative; width: var(--bs); height: var(--bs); transform-style: preserve-3d;
  transform: rotateX(calc(var(--py, 0) * -8deg)) rotateY(calc(var(--px, 0) * 12deg)); animation: box-bob 5.5s ease-in-out infinite; }
@keyframes box-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }
.box3d { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(-18deg) rotateY(-28deg);
  transition: transform 1.15s cubic-bezier(.68, -0.12, .22, 1.08); }
.bx-face, .bx-top, .bx-bottom { position: absolute; inset: 0; backface-visibility: hidden; }
.bx-face { transform: rotateY(calc(var(--k) * 90deg)) translateZ(calc(var(--bs) / 2)); display: grid; place-items: center;
  background: linear-gradient(160deg, #d4a26b 0%, #c18a52 55%, #a9733f 100%); box-shadow: inset 0 0 0 1px rgba(80, 45, 10, .25), inset 0 -18px 30px rgba(70, 38, 8, .18); }
.bx-face::before { content: ""; position: absolute; left: 50%; top: 0; width: 15%; height: 22%; translate: -50% 0; background: rgba(240, 222, 190, .55); box-shadow: inset 0 0 0 1px rgba(120, 80, 30, .15); }
.bx-face:nth-child(even) { background: linear-gradient(160deg, #c39159 0%, #ad7944 60%, #93622f 100%); }
.bx-top { transform: rotateX(90deg) translateZ(calc(var(--bs) / 2)); background: linear-gradient(135deg, #e0b27c, #c8935a); box-shadow: inset 0 0 0 1px rgba(80, 45, 10, .25); }
.bx-top::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(90, 52, 15, .45); }
.bx-tape { position: absolute; left: 50%; top: 0; bottom: 0; width: 15%; translate: -50% 0; background: rgba(240, 222, 190, .6); }
.bx-bottom { transform: rotateX(-90deg) translateZ(calc(var(--bs) / 2)); background: #6e4720; }
.box-shadow { position: absolute; left: 8%; right: 8%; bottom: -34%; height: 16%; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 0, 0, .55), transparent); filter: blur(6px); animation: box-shadow 5.5s ease-in-out infinite; }
@keyframes box-shadow { 0%, 100% { scale: 1; opacity: .9; } 50% { scale: .88; opacity: .6; } }

/* etiqueta colada na face */
.bx-label { position: relative; width: 74%; min-height: 58%; padding: 9% 8% 8%; display: grid; justify-items: center; align-content: center; gap: 7px; text-align: center;
  background: #fbfaf6; color: #10213f; border-radius: 4px; box-shadow: 0 2px 0 rgba(0, 0, 0, .08), 0 10px 18px rgba(40, 20, 0, .22); rotate: -1.5deg; }
.bx-face:nth-child(even) .bx-label { rotate: 1.2deg; }
.bx-label .lb-top { font-size: clamp(6px, .55vw, 8px); letter-spacing: .14em; color: #5c6b84; }
.bx-label .lb-ok { font-size: clamp(6px, .55vw, 8px); letter-spacing: .1em; color: #0f9d58; }
.bx-product strong { font: 900 clamp(22px, 2.4vw, 34px)/.86 var(--display); letter-spacing: -.035em; color: #10213f; }
.bx-product .lb-bars { width: 82%; height: clamp(16px, 1.6vw, 24px); background: repeating-linear-gradient(90deg, #10213f 0 2px, transparent 2px 4px, #10213f 4px 5px, transparent 5px 8px, #10213f 8px 11px, transparent 11px 13px); }
.bx-product .lb-sku { font-size: clamp(5px, .5vw, 7px); letter-spacing: .08em; color: #5c6b84; }
.bx-channel .logo-slot { min-height: clamp(40px, 4.4vw, 62px); }

.box-caption { position: absolute; left: 50%; bottom: 2%; translate: -50% 0; display: flex; gap: 12px; align-items: center; white-space: nowrap; font-size: 10px; letter-spacing: .14em; color: #a9bde4; }
.box-caption b { color: #fff; font-weight: 600; }
.box-caption #box-step { color: #6f8fd6; }

/* ---------- Logos dos canais (imagem oficial quando existir, nome estilizado enquanto não) ---------- */
.logo-slot { display: inline-flex; align-items: center; justify-content: center; }
.logo-slot .logo-img { display: block; max-width: 100%; max-height: 100%; height: clamp(26px, 2.6vw, 40px); width: auto; object-fit: contain; }
.logo-slot:has(.logo-img) .wm { display: none; }
.wm { font-family: var(--body); font-weight: 800; letter-spacing: -.03em; line-height: 1; white-space: nowrap; }
.wm-ml { display: inline-block; padding: 7px 12px 6px; border-radius: 999px; background: #ffe600; color: #2d3277; font-size: 15px; line-height: .86; text-align: center; letter-spacing: -.02em; }
.wm-tt { color: #111; font-size: 20px; }
.wm-tt b { font-weight: 600; margin-left: 4px; color: #fe2c55; }
.wm-sh { color: #ee4d2d; font-size: 22px; }
.wm-am { position: relative; color: #131921; font-size: 23px; padding-bottom: 6px; }
.wm-am i { position: absolute; left: 12%; right: 10%; bottom: 0; height: 7px; border-bottom: 2.5px solid #ff9900; border-radius: 0 0 50% 50%; }
.wm-mg { color: #0086ff; font-size: 23px; }
.bx-channel .wm-ml { font-size: clamp(13px, 1.3vw, 18px); }
.bx-channel .wm-tt, .bx-channel .wm-sh, .bx-channel .wm-am, .bx-channel .wm-mg { font-size: clamp(18px, 1.9vw, 27px); }

/* linha de canais: logos oficiais coloridos em cartões claros */
.channel-words { gap: 14px; }
.channel-words .brand-logo { min-width: 0; min-height: 86px; padding: 14px 18px; background: #fff; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s; }
.channel-words .brand-logo:hover, .channel-words .brand-logo:focus-visible { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0, 0, 0, .35); background: #fff; color: inherit; }
.channel-words .brand-ml, .channel-words .brand-ml:hover, .channel-words .brand-ml:focus-visible { background: #ffe600; }
.channel-words .logo-img { height: 38px; max-width: 100%; }
.channel-words .brand-ml .logo-img { height: 46px; }
.channel-words .brand-sh .logo-img { height: 54px; }
.channel-words .brand-am .logo-img { height: 32px; margin-top: 6px; }
.channel-words .brand-mg .logo-img { height: 30px; }
@media (max-width: 900px) { .channel-words .brand-logo { min-height: 70px; padding: 10px 12px; } .channel-words .logo-img { height: 28px; } .channel-words .brand-ml .logo-img { height: 34px; } .channel-words .brand-sh .logo-img { height: 42px; } .channel-words .brand-am .logo-img, .channel-words .brand-mg .logo-img { height: 24px; } }
@media (max-width: 650px) {
  .channel-words { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 8px; }
  .channel-words .brand-logo { flex: 0 0 calc(33.33% - 6px); min-height: 62px; padding: 8px; }
  .channel-words .logo-img { height: 24px; } .channel-words .brand-ml .logo-img { height: 30px; } .channel-words .brand-sh .logo-img { height: 36px; } .channel-words .brand-am .logo-img, .channel-words .brand-mg .logo-img { height: 20px; }
}

/* logos na etiqueta da caixa */
.bx-channel .logo-slot { width: 100%; }
.bx-channel .logo-img { height: auto; max-height: clamp(34px, 3.6vw, 52px); max-width: 92%; }
.bx-channel .logo-slot[data-brand="ml"] { background: #ffe600; border-radius: 8px; padding: 8px 10px; width: auto; }
.bx-channel .logo-slot[data-brand="ml"] .logo-img { max-height: clamp(30px, 3vw, 44px); }
.bx-channel .logo-slot[data-brand="sh"] .logo-img { max-height: clamp(48px, 5vw, 70px); }
.bx-channel .logo-slot[data-brand="am"] .logo-img, .bx-channel .logo-slot[data-brand="mg"] .logo-img { max-height: clamp(24px, 2.4vw, 34px); }

/* ícones de negócio flutuando ao redor da caixa */
.box-orbit-icons { position: absolute; inset: 0; pointer-events: none; z-index: 2;
  transform: translate3d(calc(var(--px, 0) * -14px), calc(var(--py, 0) * -10px), 0); }
.fchip { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 9px; border-radius: 12px; color: #dbe6ff;
  background: linear-gradient(140deg, rgba(40, 80, 170, .55), rgba(10, 30, 70, .7)); border: 1px solid rgba(160, 190, 255, .28);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .12); animation: chip-float 6s ease-in-out infinite; will-change: transform; }
.fchip svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.fchip b { font: 700 12px/1 var(--body); color: #fff; white-space: nowrap; padding-right: 4px; }
.fc-a { left: 6%; top: 16%; color: #6ee7a8; animation-delay: -1s; }
.fc-b { right: 2%; top: 12%; animation-delay: -3s; }
.fc-c { left: 0; top: 52%; animation-delay: -2s; color: #ffd36e; }
.fc-d { right: 8%; top: 46%; animation-delay: -4.5s; color: #8fb2ff; }
.fc-e { left: 14%; bottom: 14%; animation-delay: -.5s; color: #6ee7a8; }
.fc-f { right: 6%; bottom: 18%; animation-delay: -2.8s; }
@keyframes chip-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }

/* acabamento da caixa: arestas iluminadas, aba do topo e carimbo */
.bx-face::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(255, 235, 200, .18), transparent 18%, transparent 82%, rgba(60, 30, 0, .18)); }
.bx-top { overflow: hidden; }
.bx-top::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 240, 210, .25), transparent 45%, rgba(80, 45, 10, .12)); }
.bx-stamp { position: absolute; right: 12%; bottom: 12%; padding: 3px 6px; border: 2px solid rgba(30, 50, 110, .55); border-radius: 4px; font: 900 clamp(10px, 1vw, 15px)/1 var(--display); color: rgba(30, 50, 110, .55); rotate: -8deg; }
.box-float::after { content: ""; position: absolute; inset: -18%; z-index: -1; border-radius: 50%; background: radial-gradient(closest-side, rgba(77, 120, 240, .28), transparent); }

@media (max-width: 650px) {
  .fchip { padding: 7px; border-radius: 10px; } .fchip svg { width: 17px; height: 17px; } .fchip b { font-size: 10px; }
  .fc-b { top: 6%; } .fc-c { left: -2%; } .fc-d { right: 0; } .fc-e { left: 4%; bottom: 10%; }
}
@media (prefers-reduced-motion: reduce) { .fchip { animation: none; } }

/* ---------- Cases: faturamento mensal abaixo do título ---------- */
.cases-title-wrap { display: grid; gap: 22px; }
.cases-stat { display: flex; align-items: center; gap: 16px; margin: 0; }
.cases-stat strong { font: 900 clamp(30px, 3vw, 46px)/.9 var(--display); letter-spacing: -.04em; color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cases-stat strong .count { color: var(--royal-light); }
.cases-stat > span { padding-left: 16px; border-left: 1px solid var(--line-dark); font-size: 13px; line-height: 1.4; color: var(--steel); }
@media (max-width: 520px) { .cases-stat { flex-direction: column; align-items: flex-start; gap: 8px; } .cases-stat > span { padding-left: 0; border-left: 0; } }

@media (prefers-reduced-motion: reduce) { .box-float, .box-shadow { animation: none; } .box3d { transition: none; } }

/* ---------- Ajustes 20/10 · 2ª rodada ---------- */
/* título: "ACELERE" e "CONTROLE" em azul */
.hero-blue { color: #739cff; }

/* selos de certificação maiores */
.hero-trust { gap: 18px; max-width: 600px; }
.trust-plates { gap: 10px; }
.trust-plates img { width: 66px; height: 66px; padding: 6px; border-radius: 8px; }
.hero-trust p { font-size: 12.5px; }
@media (max-width: 650px) { .trust-plates img { width: 54px; height: 54px; padding: 5px; } .hero-trust { flex-wrap: wrap; } }

/* ícones flutuando colados na caixa, maiores e mais visíveis */
.box-orbit-icons { inset: 50% auto auto 50%; width: calc(var(--box-ring, 1) * clamp(300px, 34vw, 500px)); aspect-ratio: 1; translate: -50% -52%; }
.fchip { padding: 11px 12px; gap: 9px; border-radius: 14px; color: #fff;
  background: linear-gradient(140deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .06)); border: 1px solid rgba(255, 255, 255, .35);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 14px 34px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .25); }
.fchip svg { width: 28px; height: 28px; stroke-width: 1.8; }
.fchip b { font-size: 13px; }
.fc-a { left: -2%; top: 10%; color: #4ade80; }
.fc-b { right: -6%; top: 6%; color: #93c5fd; }
.fc-c { left: -9%; top: 46%; color: #fcd34d; }
.fc-d { right: -8%; top: 42%; color: #c4b5fd; }
.fc-e { left: 2%; bottom: 8%; color: #4ade80; }
.fc-f { right: -2%; bottom: 12%; color: #fda4af; }
.fchip:not(:has(b)) { padding: 12px; }
@media (max-width: 650px) {
  .box-orbit-icons { width: min(96vw, 360px); }
  .fchip { padding: 8px 9px; } .fchip svg { width: 20px; height: 20px; } .fchip b { font-size: 11px; }
  .fc-a { left: 0; } .fc-b { right: 0; } .fc-c { left: -2%; } .fc-d { right: -2%; } .fc-e { left: 4%; } .fc-f { right: 2%; }
}
/* título do hero cabe inteiro no celular */
@media (max-width: 650px) { .hero h1 { font-size: clamp(27px, 7.8vw, 56px); } }
@media (min-width: 651px) and (max-width: 1100px) { .hero h1 { font-size: clamp(40px, 5.4vw, 60px); } .hero-line { white-space: normal; } }
/* selos de certificação em dobro: selos em linha e texto abaixo */
.hero-trust { flex-direction: column; align-items: flex-start; gap: 14px; max-width: 640px; }
.trust-plates { gap: 14px; }
.trust-plates img { width: 128px; height: 128px; padding: 10px; border-radius: 12px; box-shadow: 0 12px 30px rgba(0, 0, 0, .3); }
@media (max-width: 1100px) { .trust-plates img { width: 104px; height: 104px; } }
@media (max-width: 650px) { .trust-plates { gap: 10px; } .trust-plates img { width: calc((100vw - 60px) / 3); max-width: 108px; height: auto; aspect-ratio: 1; padding: 8px; } }

/* títulos em caixa alta: um pouco mais de respiro entre letras e palavras */
#conteudo :is(h1, h2), #conteudo .arrival-copy h3 { letter-spacing: -0.026em; word-spacing: 0.07em; }
/* compensa a largura extra nos títulos mais longos */
@media (min-width: 1101px) {
  #conteudo .hero h1 { font-size: clamp(44px, 3.85vw, 61px); }
  #conteudo .flow-title { font-size: clamp(40px, 4.6vw, 74px); }
  #conteudo .closing h2 { font-size: clamp(64px, 8.2vw, 118px); }
}
#conteudo .flow-card h3, #conteudo .stage-panel h3, #conteudo .pain h3 { word-spacing: normal; }
@media (max-width: 520px) { .cases-stat strong { white-space: normal; } }

/* ---------- Gráfico de faturamento: escolha de volume, % e valores ---------- */
.flow-steps { display: none; }
.vol-picker { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.vol-picker button { font: 600 12px/1 var(--body); color: #c9d6ee; background: rgba(255, 255, 255, .04); border: 1px solid var(--line-dark); border-radius: 999px; padding: 9px 14px; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.vol-picker button:hover { border-color: #6f8fd6; color: #fff; }
.vol-picker button[aria-checked="true"] { background: var(--royal); border-color: var(--royal); color: #fff; }
.sk-val { font-size: 24px; }
.sk-amt { font: 600 12.5px var(--mono); fill: #c9d6ee; }
.sk-node.sk-r .sk-amt { fill: #fbb4c0; }
.sk-node.sk-g .sk-amt { fill: #9ff0cd; }
.sk-amt-final { font: 800 15px var(--body); fill: #5fe3ad !important; }
.sankey.sk-bump .sk-amt { animation: sk-bump .45s cubic-bezier(.22, 1, .36, 1); }
@keyframes sk-bump { 0% { opacity: .2; } 100% { opacity: 1; } }
.flow-live .sk-link, .flow-live .sk-keep, .flow-live .sk-halo { transition: opacity .6s; }
.score-amt { display: block; margin-top: 10px; font-style: normal; font-size: 13px; letter-spacing: .06em; color: var(--steel); }
.score-b .score-amt { color: #fff; opacity: calc(var(--sb, 1) * 1.4 - .4); }

/* ======================================================================
   Esteira 2.0 — caixas de papelão, celular com notificações de venda
   ====================================================================== */
.belt-stage { height: 540px; }
.belt-track { top: 372px; }
.belt-surface { height: 24px; border-top: 0; border-radius: 3px;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .07) 0 2px, transparent 2px 30px) var(--belt-x, 0) 0, linear-gradient(180deg, #2a3f63, #121f36 60%, #0b1527); box-shadow: inset 0 2px 0 rgba(140, 170, 230, .35), 0 12px 24px rgba(0, 0, 0, .45); }
.belt-ruler { height: 16px; margin-top: 4px; border-top: 0;
  background: radial-gradient(circle at 15px 8px, #3b5583 0 5px, #1b2b47 5.5px 7px, transparent 7.5px) var(--belt-x, 0) 0 / 30px 16px repeat-x; opacity: .9; }

/* caixa de papelão em perspectiva oblíqua: frente, tampa e lateral */
.belt-item { top: 286px; width: 110px; transform-origin: 50% 100%; }
.box { position: relative; width: 84px; height: 70px; margin-top: 16px; border: 0; border-radius: 2px;
  background: linear-gradient(90deg, transparent 43%, rgba(242, 226, 196, .8) 43% 57%, transparent 57%) top / 100% 26% no-repeat,
              linear-gradient(165deg, #d9a96f 0%, #c48d54 55%, #a87541 100%);
  box-shadow: inset 0 0 0 1px rgba(90, 52, 15, .35), inset 0 -10px 16px rgba(80, 45, 10, .18), 0 14px 16px -8px rgba(0, 0, 0, .6); }
.box::before { content: ""; position: absolute; left: 0; bottom: 100%; width: 100%; height: 16px; top: auto; translate: none;
  background: linear-gradient(90deg, transparent 43%, rgba(242, 226, 196, .85) 43% 57%, transparent 57%), linear-gradient(180deg, #e8bd88, #d3a065);
  transform: skewX(-42deg); transform-origin: bottom left; box-shadow: inset 0 0 0 1px rgba(90, 52, 15, .3); }
.box::after { content: ""; position: absolute; left: 100%; top: 0; width: 14px; height: 100%;
  background: linear-gradient(180deg, #b07a43, #8c5b2b); transform: skewY(-48.8deg); transform-origin: left top; box-shadow: inset 0 0 0 1px rgba(70, 38, 8, .35); }
.box-ink { position: absolute; left: 8px; top: 26px; width: 18px; height: 18px; opacity: .55; }
.box-ink svg { position: static; width: 18px; height: 18px; fill: none; stroke: #4a2a0c; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.box-label { right: 6px; bottom: 6px; width: 46px; padding: 3px 3px 2px; background: #fbfaf6; border-radius: 2px; box-shadow: 0 1px 2px rgba(0, 0, 0, .25); rotate: -2deg; }
.box-logo { display: flex; align-items: center; justify-content: center; height: 13px; border-radius: 2px; }
.box-logo img { max-height: 10px; max-width: 100%; width: auto; }
.box-logo[data-brand="ml"] { background: #ffe600; }
.box-logo[data-brand="sh"] img { max-height: 12px; }
.box-label i { height: 6px; margin: 2px 0 1px; }
.box-label em { font-size: 4px; color: #4b5563; }

/* celular */
.belt-phone { top: 28px; width: 270px; height: 484px; padding: 9px; border: 0; border-radius: 46px;
  background: linear-gradient(145deg, #3a4a66, #141c2c 45%, #273349); box-shadow: 0 0 0 1px rgba(255, 255, 255, .08), inset 0 0 0 2px rgba(0, 0, 0, .6), 0 40px 80px -20px rgba(0, 0, 0, .75), 0 0 60px rgba(77, 120, 240, .18); }
.belt-phone::before { display: none; }
.belt-phone::after { content: ""; position: absolute; inset: -2px; border-radius: 48px; pointer-events: none; box-shadow: 0 0 0 0 rgba(95, 227, 173, .0); }
.belt-phone.is-ping::after { animation: ph-ping .9s cubic-bezier(.2, .8, .2, 1); }
@keyframes ph-ping { 0% { box-shadow: 0 0 0 0 rgba(95, 227, 173, .55); } 100% { box-shadow: 0 0 0 22px rgba(95, 227, 173, 0); } }
.ph-btn { position: absolute; width: 3px; border-radius: 2px; background: #2b3850; }
.ph-btn-a { left: -3px; top: 104px; height: 28px; } .ph-btn-b { left: -3px; top: 146px; height: 48px; } .ph-btn-c { right: -3px; top: 132px; height: 70px; }
.phone-screen { height: 100%; padding: 0 12px 12px; border-radius: 38px; display: flex; flex-direction: column;
  background: radial-gradient(120% 60% at 20% 0%, rgba(77, 120, 240, .75), transparent 60%), radial-gradient(90% 60% at 100% 100%, rgba(6, 182, 212, .45), transparent 60%), linear-gradient(180deg, #0c1f4a, #06112a); }
.ph-island { position: absolute; left: 50%; top: 10px; width: 84px; height: 24px; translate: -50% 0; border-radius: 999px; background: #000; z-index: 3; }
.ph-status { display: flex; justify-content: space-between; align-items: center; padding: 14px 10px 0 14px; height: 38px; font-size: 10px; font-weight: 600; color: #fff; }
.ph-icons { display: flex; align-items: flex-end; gap: 2px; }
.ph-icons i { width: 3px; background: #fff; border-radius: 1px; } .ph-icons i:nth-child(1) { height: 4px; } .ph-icons i:nth-child(2) { height: 6px; } .ph-icons i:nth-child(3) { height: 8px; }
.ph-icons b { font-size: 8px; margin: 0 4px 0 3px; } .ph-icons em { width: 18px; height: 8px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 2px; background: linear-gradient(90deg, #fff 70%, transparent 70%) content-box; padding: 1px; }
.ph-clock { display: grid; justify-items: center; margin-top: 6px; color: #fff; }
.ph-date { font: 600 10.5px var(--body); opacity: .85; }
.ph-clock strong { font: 300 54px/1 var(--body); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.ph-widget { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2px 8px; margin: 10px 2px 10px; padding: 10px 12px; border-radius: 16px;
  background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .16); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; }
.ph-widget > .mono { grid-column: 1 / -1; font-size: 8px; letter-spacing: .12em; opacity: .75; }
.ph-widget .phone-total { margin: 0; font: 800 24px/1 var(--display); letter-spacing: -.03em; }
.ph-live { display: inline-flex; align-items: center; gap: 5px; font-size: 8px; color: #9ff0cd; }
.ph-live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #34d399; box-shadow: 0 0 0 0 rgba(52, 211, 153, .6); animation: ph-live 1.8s infinite; }
@keyframes ph-live { 70% { box-shadow: 0 0 0 6px rgba(52, 211, 153, 0); } 100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); } }
.ph-notifs { display: grid; gap: 7px; overflow: visible; }
.notif { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 9px 10px; border-radius: 16px; color: #fff;
  background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .2); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .25); will-change: transform; transition: opacity .4s, scale .4s; }
.notif:nth-child(3) { opacity: .78; }
.notif:nth-child(4) { opacity: .45; scale: .96; }
.nt-app { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: #fff; overflow: hidden; }
.nt-app img { max-width: 82%; max-height: 70%; }
.nt-app[data-brand="ml"] { background: #ffe600; }
.nt-app[data-brand="sh"] img { max-height: 86%; }
.nt-body { min-width: 0; }
.nt-top { display: flex; justify-content: space-between; gap: 6px; }
.nt-top b { font: 700 10.5px/1.2 var(--body); }
.nt-top time { font-size: 9px; opacity: .7; white-space: nowrap; }
.nt-body p { margin: 2px 0 0; font-size: 10px; line-height: 1.25; color: rgba(255, 255, 255, .88); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nt-body p strong { color: #fff; }
.nt-v { font: 700 10px var(--mono); color: #6ee7b7; white-space: nowrap; }
.phone-scan { display: none; }
.belt-signal { top: 250px; left: calc(50% + 135px); }

@media (max-width: 900px) {
  .belt-stage { height: 620px; }
  .belt-phone { scale: .82; }
}
@media (prefers-reduced-motion: reduce) { .ph-live::before { animation: none; } }

/* caixa da esteira: total recebido embaixo, junto do volume de pedidos, com espaço para o valor */
.till-in { width: 270px; right: 28px; }
.till-ledger { margin-top: 18px; }
.till-sum { margin-top: auto; display: grid; gap: 6px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .35); }
.till-sum .till-meter { margin-top: 0; }
.till-sum .till-k { margin-top: 10px; font-size: 9px; letter-spacing: .12em; opacity: .85; }
.till-sum .till-total { margin-top: 0; font: 900 clamp(30px, 2.6vw, 44px)/1 var(--display); letter-spacing: -.04em; white-space: nowrap; }
@media (max-width: 1100px) { .till-in { width: 240px; right: 18px; } .till-sum .till-total { font-size: 30px; } }
/* bloco do caixa centralizado: total logo abaixo das vendas */
.till-in { justify-content: center; top: 40px; bottom: 40px; }
.till-sum { margin-top: 22px; }

/* faixa "Nós te ajudamos a ter o controle" no lugar do placar 100% → 7% */
.control-claim { position: relative; margin-top: 56px; padding: clamp(28px, 3.4vw, 52px) clamp(24px, 3.4vw, 52px); background: var(--royal); overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
.control-claim::after { content: ""; position: absolute; right: -6%; top: -40%; width: 38%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 255, 255, .18), transparent); pointer-events: none; }
.control-claim p { position: relative; margin: 0; font: 900 clamp(38px, 5.6vw, 96px)/.92 var(--display); letter-spacing: -0.03em; word-spacing: .06em; color: #fff; text-wrap: balance; }
.control-claim .hl { color: #0a1a3f; }
.control-claim.is-revealed { animation: claim-wipe 1s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes claim-wipe { from { clip-path: polygon(0 0, 0 0, 0 100%, 0 100%); } to { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); } }
@media (prefers-reduced-motion: reduce) { .control-claim.is-revealed { animation: none; } }

/* abas dos seis pilares: número igual, nome do pilar bem maior */
#conteudo .method-tabs button { font: 800 clamp(15px, 1.35vw, 20px)/1.1 var(--display); letter-spacing: -0.01em; padding: 16px 14px 18px; white-space: normal; overflow-wrap: anywhere; }
#conteudo .method-tabs button span { font: 400 8px var(--mono); letter-spacing: normal; margin-bottom: 10px; }
@media (max-width: 650px) { #conteudo .method-tabs button { font-size: 13px; padding: 12px 8px 14px; overflow-wrap: normal; hyphens: auto; } }

/* abas de "O próximo passo tem método": número pequeno, nome do momento grande */
#conteudo .stage-options { gap: 10px; }
#conteudo .stage-options button { font: 800 clamp(16px, 1.45vw, 22px)/1.1 var(--display); letter-spacing: -0.01em; padding: 14px 16px 18px; }
#conteudo .stage-options button span { display: block; margin-bottom: 10px; font: 400 9px var(--mono); letter-spacing: .08em; opacity: .75; }
@media (max-width: 650px) { #conteudo .stage-options button { font-size: 15px; padding: 12px 12px 14px; } }

/* ---------- WhatsApp flutuante + balão após 90 s ---------- */
.ninja-compass { right: auto !important; left: calc(20px + env(safe-area-inset-left, 0px)) !important; }
.wa-float { position: fixed; right: calc(22px + env(safe-area-inset-right, 0px)); bottom: calc(22px + env(safe-area-inset-bottom, 0px)); z-index: 90; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.wa-fab { position: relative; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: #25d366; box-shadow: 0 14px 34px -8px rgba(37, 211, 102, .65), 0 6px 14px rgba(0, 0, 0, .3); transition: transform .25s cubic-bezier(.22, 1, .36, 1); }
.wa-fab:hover { transform: scale(1.07); }
.wa-fab svg { width: 32px; height: 32px; }
.wa-fab::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #25d366; animation: wa-ring 2.6s ease-out infinite; pointer-events: none; }
@keyframes wa-ring { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.65); opacity: 0; } }
.wa-badge { position: absolute; top: -3px; right: -3px; display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #ff3b5c; color: #fff; font: 700 11px/1 var(--body); border: 2px solid #061833; transform: scale(0); transition: transform .35s cubic-bezier(.2, .9, .3, 1.5); }
.wa-float.has-msg .wa-badge { transform: scale(1); }
.wa-bubble { position: relative; width: min(300px, calc(100vw - 44px)); border-radius: 18px 18px 4px 18px; background: #fff; color: #0b1a33; box-shadow: 0 24px 60px -14px rgba(0, 0, 0, .55);
  transform-origin: 100% 100%; animation: wa-pop .55s cubic-bezier(.2, .9, .3, 1.25) both; }
.wa-bubble[hidden] { display: none !important; }
@keyframes wa-pop { from { opacity: 0; transform: translateY(14px) scale(.7); } to { opacity: 1; transform: none; } }
.wa-bubble a { display: grid; gap: 8px; padding: 16px 40px 16px 18px; color: inherit; text-decoration: none; }
.wa-who { display: flex; align-items: center; gap: 10px; }
.wa-who img { width: 52px; height: auto; padding: 5px 6px; border-radius: 6px; background: #061833; }
.wa-who em { font: 600 11px/1 var(--body); font-style: normal; color: #128c4b; display: inline-flex; align-items: center; gap: 5px; }
.wa-who em::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #25d366; }
.wa-msg { font: 400 15px/1.4 var(--body); }
.wa-msg b { font-weight: 700; }
.wa-go { font: 700 13px/1 var(--body); color: #128c4b; }
.wa-close { position: absolute; top: 8px; right: 8px; z-index: 2; width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; color: #64748b; font-size: 20px; line-height: 1; cursor: pointer; }
.wa-close:hover { background: #eef2f7; }
@media (max-width: 650px) { .wa-fab { width: 56px; height: 56px; } .wa-fab svg { width: 29px; height: 29px; } }
@media (prefers-reduced-motion: reduce) { .wa-fab::before, .wa-bubble { animation: none; } }

/* ======================================================================
   Revisão mobile (≤ 650 px): leitura, toque e animações mais leves
   ====================================================================== */
@media (max-width: 900px) { .ninja-compass { display: none !important; } }
@media (max-width: 650px) {
  /* cabeçalho: o CTA do topo vai para o menu e para o botão do WhatsApp */
  .nav-cta { display: none !important; }
  .header .logo img { height: 28px; width: auto; }
  .menu-toggle { width: 44px; height: 44px; }

  /* rótulos em mono: mínimo de 10 px */
  body :is(.eyebrow, .section-side, .mono:not(.cases-count), small, .hero-note, .case-k, .case-n, .person-index, .plan-type, .closing-note,
    .intro-scroll, .intro-skip, .symbol-top, .demo-play-label, .art-top span, .art-bottom span, .box-caption *, .person-details > span,
    .consulting-price > span, .plan-letter span, .footer-bottom *, .method-tabs button span, .stage-options button span):not(.belt-stage *):not(.dashboard *):not(.bx-label *) {
    font-size: 10px !important; letter-spacing: .08em; }

  /* textos de leitura: mínimo de 13 px */
  body :is(.person-details p, .commitments p, .consulting-price p, .microcopy, .hero-stat > span, .case-body p, .pain p, .belt-foot p, .solution-support p, .faq-list p) { font-size: 13.5px !important; line-height: 1.55; }
  .hero-description { font-size: 15px; line-height: 1.6; }
  .text-link { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
  .pill-row span { font-size: 11px; padding: 6px 10px; }
  .faq-list summary { font-size: 15px; padding-block: 16px; }

  /* áreas de toque com pelo menos 44 px */
  .footer a, .footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
  .case-btn { width: 48px; height: 48px; }

  /* efeitos de scroll: no celular os blocos entram já montados (sem deslocamentos laterais) */
  [class*="fx-"] { --p: 1 !important; }
  .belt-lines { display: none; }

  /* esteira empilhada: caixas passando em cima, celular centralizado embaixo */
  .belt-stage { height: 660px; }
  .belt-hud { top: 16px; left: 16px; right: 16px; gap: 14px; flex-wrap: wrap; }
  .belt-track { left: 0; right: 0; top: 196px; }
  .belt-items { inset: 0 0 auto 0; height: 240px; }
  .belt-item { top: 110px; }
  .belt-phone { top: 262px; left: 50%; right: auto; translate: -50% 0; scale: .78; transform-origin: top center; }
  .belt-signal, .belt-tag { display: none; }
}
