/* ===========================================================================
   Teste grátis do Marvee Hub por cupom (/hub-trial/<cupom>).

   A página veste o visual da /lp-gestao-com-ia-trial: carrega o
   /site/lp-hub/lp.css, o screen-fit.css e o /site/lp-gestao/trial.css, e
   reusa as classes .gestao-* de lá. Este arquivo só cobre o que é próprio
   desta página:

     1. o hero: o "AI-first" que não quebra, o selo da oferta, os dois botões
        e a linha do cupom
     2. gestão simplificada (#hub): três capítulos (Receita, Backoffice e
        Produtividade), cada um com a tela real do Hub e os passos que
        seguem o tempo do vídeo
     3. o Marvin no escuro (#marvin): o palco com a tela dele e os três
        tópicos com a barra seguindo o vídeo; e os casos de uso da Central
        de Ajuda (#casos), num player com a lista ao lado
     4. o chat do Marvin, dentro da janela do Marvin no hero: a moldura da
        janela, falas, escolhas, digitando, os casos alinhados em fileiras e
        o fecho com a CTA
     5. o ecossistema da home em cima do título do #trial, sem o globo

   Prefixos: .th-* (trial hero) e .sc-* (simulador do chat). A cor de área
   das pílulas, dos casos e dos rótulos é a escala --af-c da .af-btn do
   site.css.
   =========================================================================== */

/* A escala de área (a mesma da .af-btn), pros capítulos do #hub e pros casos do
   chat. Sem área (os casos de "fora da área") fica o neutro. */
:is(.th-cap,.sc-caso,.th-casos-cards li){--af-c:200,208,232}
:is(.th-cap,.sc-caso,.th-casos-cards li)[data-area="receita"]{--af-c:57,114,253}
:is(.th-cap,.sc-caso,.th-casos-cards li)[data-area="operacao"]{--af-c:250,152,0}
:is(.th-cap,.sc-caso,.th-casos-cards li)[data-area="tecnologia"]{--af-c:163,100,255}
:is(.th-cap,.sc-caso,.th-casos-cards li)[data-area="pessoas"]{--af-c:250,61,133}
:is(.th-cap,.sc-caso,.th-casos-cards li)[data-area="backoffice"]{--af-c:0,183,180}

/* ---- 1. hero ------------------------------------------------------------ */
/* O respiro do topo do hero vem do trial.css atrás de body.lp-hub, classe
   que o lp-hub/lp.js só põe no fim do carregamento: até lá o hero subia e
   depois pulava uns 85px. Aqui ele já nasce no lugar. */
.gestao-hero{padding-top:150px}
@media(max-width:600px){.gestao-hero{padding-top:120px}}
/* O painel de luz da trial (pedido da autora em 21/10/2026: a trial pede mais
   "tchan", referência de hero em gradiente). Sai do escuro em cima e acende
   embaixo, em tons suaves e difusos (cores densas demais ficaram duras, retorno
   dela em 20/10): azul do Hub pela esquerda, teal pela direita e um clarão no
   centro, logo atrás do topo da tela do Hub. Ocupa a largura toda e se
   apaga embaixo no escuro da página (máscara), sem borda nem quina: a tela sai da luz como na referência dela
   (Taskk). Os arcos finos no ::after desenham a cúpula. O gradiente é só
   fundo, nunca texto nem logo (marca/gradiente). */
.gestao-hero .hero-in{isolation:isolate}
.gestao-hero .hero-in::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  left:50%;width:100vw;translate:-50% 0;
  top:-150px;bottom:calc(-1 * clamp(300px,34vw,520px));
  background:
    radial-gradient(40% 30% at 50% 68%,rgba(130,165,255,.16) 0%,rgba(90,130,255,.06) 45%,transparent 78%),
    radial-gradient(64% 70% at -6% 70%,rgba(57,114,253,.58) 0%,rgba(57,114,253,.26) 40%,transparent 80%),
    radial-gradient(64% 70% at 106% 70%,rgba(47,200,210,.46) 0%,rgba(47,200,210,.18) 40%,transparent 80%),
    linear-gradient(180deg,var(--bg) 0%,var(--bg) 22%,#0A1434 50%,#0E2050 70%);
  -webkit-mask-image:linear-gradient(180deg,#000 58%,transparent 96%);mask-image:linear-gradient(180deg,#000 58%,transparent 96%);
}
.gestao-hero .hero-in::after{
  --d:min(1700px,150vw);
  content:"";position:absolute;z-index:-1;pointer-events:none;
  left:50%;translate:-50% 0;width:var(--d);height:var(--d);bottom:calc(var(--d) / -2 - 110px);
  background:radial-gradient(circle closest-side,
    transparent calc(54% - 1px),rgba(255,255,255,.09) 54%,transparent calc(54% + 1px),
    transparent calc(72% - 1px),rgba(255,255,255,.07) 72%,transparent calc(72% + 1px),
    transparent calc(90% - 1px),rgba(255,255,255,.05) 90%,transparent calc(90% + 1px));
  -webkit-mask-image:linear-gradient(180deg,transparent 4%,#000 24%,#000 40%,transparent 50%);mask-image:linear-gradient(180deg,transparent 4%,#000 24%,#000 40%,transparent 50%);
}
/* a luz difusa de trás do antigo mockup sai: o painel já é a luz */
.gestao-hero .hero-light{display:none}
/* o texto sobre o azul: subtítulo e linha do cupom mais claros */
.gestao-hero .sub{color:rgba(232,238,255,.86)}
.gestao-hero .th-cupom{color:rgba(232,238,255,.72)}
/* o botão de contorno sobre o painel: vidro escuro */
.gestao-hero .btn-slate{background:rgba(4,8,31,.45);border-color:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@media(max-width:600px){
  .gestao-hero .hero-in::before{top:-120px;bottom:-240px}
}
/* "AI-first" não quebra no hífen */
.th-nw{white-space:nowrap}
/* Título de duas frases: cada frase é um bloco, então a quebra cai entre
   elas ("Gestão simplificada." / "Tudo num lugar só.") e não no meio. */
.th-fr{display:inline-block}
/* O selo é a oferta, numa pílula de vidro: estrela cheia e "sem cartão" em
   azul claro, "7 dias grátis" em branco. */
.gestao-hero .th-selo{
  display:flex;width:fit-content;margin-inline:auto;align-items:center;gap:7px;
  padding:7px 14px 7px 11px;border-radius:999px;
  font-size:12.5px;letter-spacing:.07em;color:var(--white);
  background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.03));
  border:1px solid rgba(190,210,255,.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 30px -14px rgba(57,114,253,.6);
}
.gestao-hero .th-selo svg{width:13px;height:13px;flex:none;margin-top:-1px;color:#9DBEFF}
.th-selo b{font-weight:800;color:#9DBEFF}
.th-selo b:empty{display:none}
.gestao-hero .hero-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
/* a linha do cupom, logo abaixo das CTAs: confirma que o cupom vai junto */
.th-cupom{
  max-width:560px;margin:18px auto 0;
  font-size:14px;line-height:1.7;color:var(--muted);text-align:center;text-wrap:balance;
}
.th-cupom svg{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:6px;color:var(--green)}
/* cupom fora do ar: ícone de atenção no lugar do check, e o selo some */
.th-cupom .th-cupom-off,.th-cupom.is-off .th-cupom-ok{display:none}
.th-cupom.is-off .th-cupom-off{display:inline-block;color:#ffb1b1}
.gestao-hero .th-selo[hidden]{display:none}
/* o código, num recorte tracejado de cupom */
.th-cupom b{
  display:inline-block;padding:0 8px;margin-inline:1px;border-radius:7px;
  border:1px dashed rgba(255,255,255,.3);background:rgba(255,255,255,.05);
  color:var(--white);font-weight:600;letter-spacing:.04em;line-height:1.5;
  overflow-wrap:anywhere;
}
/* "Plano Colaborador." não se parte em duas linhas */
.th-cupom [data-oferta]{white-space:nowrap}

/* ---- 2. gestão simplificada (#hub) ---------------------------------------- */
/* A página é escura como a /hub, e os capítulos são a ilha clara dela. */
#hub{padding-bottom:clamp(88px,9vw,140px)}
/* no desktop a ilha clara tem o mesmo respiro e raio da caixa dos casos */
@media(min-width:1101px){#hub{margin-inline:clamp(24px,2.1vw,40px);border-radius:40px}}
@media(max-width:1100px){#hub{margin-inline:var(--hub-g,calc(max(0px,(100vw - 1080px) / 2) + 24px));border-radius:32px}}
@media(max-width:640px){#hub{--hub-g:18px;border-radius:24px}}
#hub .lede{max-width:780px;margin-inline:auto;text-wrap:balance}

/* Um capítulo por área: o texto e os passos de um lado, a tela real do Hub
   do outro, alternando (.is-inv põe a tela à esquerda). */
.th-cap{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  column-gap:clamp(32px,5vw,72px);align-items:center;margin-top:clamp(64px,8vw,112px);
}
/* No desktop o capítulo sai da largura do .wrap (até 1240px), pra tela do
   Hub ter tamanho de ler. */
@media(min-width:1101px){
  .th-cap{width:min(1240px,calc(100vw - 64px));margin-inline:calc(50% - min(620px,50vw - 32px))}
}
.th-cap.is-inv{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.th-cap.is-inv .th-cap-tela{order:-1}
.th-cap .gestao-kicker{display:block;color:color-mix(in srgb,rgb(var(--af-c)) 62%,#000);margin:0}
.th-cap h3{
  margin:14px 0 0;font-size:clamp(26px,2.5vw,34px);line-height:1.15;font-weight:500;
  letter-spacing:-.025em;color:var(--light-tx);text-wrap:balance;
}
.th-cap-tx>p{margin:12px 0 0;font-size:17px;line-height:1.6;color:var(--light-tx2);text-wrap:pretty}

/* Os passos: a sanfona dos guias em vídeo da Central de Ajuda (.gd-passo do
   education), na ilha clara. Sem cartão atrás do texto: um fio à esquerda
   que acende na cor da caixa no passo ativo, divisórias entre os passos e a
   seta que vira. A descrição abre só no passo ativo. */
.th-cap .th-passos{list-style:none;margin:28px 0 0;padding:0}
.th-cap .th-passos li{position:relative;padding-left:24px;border-left:2px solid var(--light-line2);transition:border-color .25s ease}
.th-cap .th-passos li.is-on{border-left-color:var(--box-c)}
.th-cap .th-passos button{
  display:block;width:100%;padding:18px 0;border:0;background:none;cursor:pointer;
  text-align:left;font-family:var(--font);transition:padding .25s ease;
}
.th-cap .th-passos li+li button{border-top:1px solid var(--light-line)}
.th-cap .th-passos li.is-on button{padding-bottom:20px}
.th-cap .th-passos b{
  display:flex;align-items:center;gap:14px;font-size:16.5px;font-weight:500;line-height:1.35;letter-spacing:-.01em;
  color:var(--light-tx2);transition:color .2s ease;
}
.th-cap .th-passos b::after{
  content:"";flex:none;margin-left:auto;margin-right:4px;width:8px;height:8px;
  border-right:1.8px solid;border-bottom:1.8px solid;border-color:color-mix(in srgb,var(--box-c) 55%,#fff);
  transform:translateY(-3px) rotate(45deg);transition:transform .2s ease,border-color .2s ease;
}
.th-cap .th-passos button:hover b{color:var(--light-tx)}
.th-cap .th-passos li.is-on b{color:var(--light-tx);font-weight:600}
.th-cap .th-passos li.is-on b::after{transform:translateY(2px) rotate(225deg);border-color:var(--box-c)}
.th-cap .th-passos button:focus-visible{outline:2px solid var(--light-tx);outline-offset:2px;border-radius:6px}
.th-cap .th-passo-d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.2,.7,.2,1)}
.th-cap .th-passo-d>span{overflow:hidden;min-height:0;padding-right:36px;font-size:15px;line-height:1.65;color:var(--light-tx2);text-wrap:pretty}
.th-cap .th-passos li.is-on .th-passo-d{grid-template-rows:1fr}
.th-cap .th-passos li.is-on .th-passo-d>span{padding-top:8px}
/* o progresso agora mora nos segmentos da caixa */
.th-cap .th-passo-bar{display:none}

/* a prova pública, embaixo dos passos da Receita: texto solto, sem caixa */
.th-prova{margin:24px 0 0;font-size:15px;line-height:1.55;color:var(--light-tx2);text-wrap:pretty}
.th-prova b{color:var(--light-tx);font-weight:600}

/* A caixa da tela: o fundo pastel dos mockups dos vídeos de casos de uso da
   Central de Ajuda, na cor do app do passo ativo. Claro no canto de cima à
   esquerda, mais cheio no canto de cima à direita e embaixo, sem contorno e
   com um halo suave da mesma cor (pedido da autora: menos colorido).
   --box-c vem do data-cor que o lp.js põe no capítulo, e é registrado como
   cor pra a troca de uma cor pra outra ser suave. */
@property --box-c{syntax:'<color>';inherits:true;initial-value:#2E6FEA}
[data-cor="verde"]{--box-c:#1FB25A}
[data-cor="azul"]{--box-c:#2E6FEA}
[data-cor="teal"]{--box-c:#1FA8A5}
[data-cor="laranja"]{--box-c:#F59300}
.th-cap{transition:--box-c .6s ease}
.th-cap-tela{
  border:0;
  background:
    radial-gradient(70% 90% at 100% 0%,color-mix(in srgb,var(--box-c) 52%,#fff) 0%,transparent 70%),
    radial-gradient(60% 70% at 0% 100%,color-mix(in srgb,var(--box-c) 34%,#fff) 0%,transparent 70%),
    linear-gradient(160deg,color-mix(in srgb,var(--box-c) 16%,#fff),color-mix(in srgb,var(--box-c) 24%,#fff));
  box-shadow:0 30px 70px -36px color-mix(in srgb,var(--box-c) 55%,transparent),0 0 60px -20px color-mix(in srgb,var(--box-c) 30%,transparent);
}
.th-cap-tela{position:relative;overflow:hidden;border-radius:22px;padding:6% 6% 0}
/* a janela do Hub inteira dentro da caixa, como o .gd-win */
.th-cap-tela .th-tela{
  width:100%;border:0;border-radius:12px;
  box-shadow:0 24px 50px -24px rgba(20,27,51,.35),0 6px 16px -10px rgba(20,27,51,.18);
}
/* a barra embaixo da janela: um segmento por passo (o branco enche no tempo
   do vídeo) e o tocar e pausar, como a .gd-barra (montada pelo lp.js) */
.th-barra{display:flex;align-items:center;gap:14px;padding:16px 0 18px}
.th-segs{display:flex;gap:5px;flex:1;height:16px;align-items:center}
.th-seg{all:unset;cursor:pointer;position:relative;flex:1;height:14px}
.th-seg::after{content:"";position:absolute;left:0;right:0;top:5px;height:4px;border-radius:4px;background:rgba(255,255,255,.7)}
.th-seg i{position:absolute;left:0;right:0;top:5px;height:4px;border-radius:4px;background:color-mix(in srgb,var(--box-c) 78%,#000);transform-origin:left center;scale:0 1;z-index:1}
.th-seg:hover::after{background:#fff}
.th-seg:focus-visible,.th-tocar:focus-visible{outline:2px solid color-mix(in srgb,var(--box-c) 78%,#000);outline-offset:2px;border-radius:4px}
.th-tocar{
  all:unset;cursor:pointer;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;
  color:color-mix(in srgb,var(--box-c) 78%,#000);background:rgba(255,255,255,.8);box-shadow:0 4px 12px -6px rgba(20,27,51,.3);transition:background .2s ease,transform .15s ease;
}
.th-tocar:hover{background:#fff}
.th-tocar:active{transform:scale(.9)}
.th-tocar svg{width:13px;height:13px}
.th-tocar .i-play,.is-pausado .th-tocar .i-pausa{display:none}
.is-pausado .th-tocar .i-play{display:block}

@media(max-width:900px){
  /* No celular: o título do capítulo, a tela e os passos embaixo dela. */
  .th-cap,.th-cap.is-inv{display:flex;flex-direction:column;align-items:stretch;margin-top:72px}
  .th-cap-tx{display:contents}
  .th-cap-apps{order:1}
  .th-cap h3{order:2}
  .th-cap-tx>p{order:3}
  .th-cap-tela,.th-cap.is-inv .th-cap-tela{order:4;margin-top:24px}
  .th-cap .th-passos{order:5;margin-top:18px}
  .th-cap .th-prova{order:6}
}
@media(max-width:600px){
  .th-cap h3{font-size:26px}
  .th-cap-tx>p{font-size:16px}
  .th-cap-tela{margin-inline:-4px;padding:5% 5% 0;border-radius:16px}
  .th-cap .th-passos li{padding-left:18px}
  .th-cap .th-passos button{padding:15px 0}
  .th-cap .th-passos b{font-size:16px}
  .th-cap .th-passo-d>span{padding-right:12px;font-size:14.5px}
  .th-prova{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .th-cap,.th-cap .th-passo-d,.th-cap .th-passos li{transition:none}
}

/* ---- 3. o Marvin (#marvin) ------------------------------------------------ */
/* Título e subtítulo no centro, o palco com a tela do Marvin e os três
   tópicos embaixo, cada um com a sua barra seguindo o tempo do vídeo. */
#marvin{padding-block:clamp(64px,6vw,96px)}
.th-cam-head{text-align:center}
#marvin .h2{max-width:760px;margin-inline:auto}
#marvin .lede{max-width:860px;font-size:18px;line-height:1.65;margin:24px auto 0;text-wrap:balance}
.th-cam{margin-top:clamp(28px,3vw,44px)}
/* o palco do Marvin fica neutro, no escuro da seção, só com um brilho
   azul fixo vindo de cima (pedido da autora: sem o pastel que troca de cor) */
.th-palco{
  position:relative;aspect-ratio:1032/440;overflow:hidden;border-radius:24px;
  background:radial-gradient(70% 90% at 50% 0%,rgba(57,114,253,.2),transparent 70%),rgba(255,255,255,.03);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.8);
}
.th-pal{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-start;padding-top:4.2%}
/* a janela com a tela do Hub: sai pelo pé do palco, como tela maior que o
   quadro */
.th-tela{
  width:80%;border-radius:14px 14px 0 0;overflow:hidden;background:#fff;
  border:1px solid color-mix(in srgb,var(--light-tx) 12%,transparent);border-bottom:0;
  box-shadow:0 30px 70px -30px rgba(20,27,51,.45),0 8px 20px -12px rgba(20,27,51,.25);
}
.th-tela video{display:block;width:100%;height:auto}
/* no palco colorido do Marvin a janela também vai sem contorno */
.th-palco .th-tela{border:0}

/* Os três tópicos, que precisam caber na tela junto com o palco: o ícone
   do app e o título lado a lado, e a frase embaixo dos dois. */
.th-abas{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.th-aba{position:relative}
.th-aba button{
  display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:center;
  width:100%;padding:20px 0 0;border:0;background:none;cursor:pointer;text-align:left;font-family:var(--font);
}
.th-aba::before,.th-aba-bar{content:"";position:absolute;left:0;top:0;height:3px;border-radius:2px}
.th-aba::before{right:0;background:rgba(255,255,255,.12)}
.th-aba-bar{width:100%;background:var(--blue);transform-origin:0 50%;scale:var(--p,0) 1;opacity:0}
.th-aba.is-on .th-aba-bar{opacity:1}
.th-aba b{
  display:block;font-size:20px;font-weight:500;line-height:1.25;letter-spacing:-.02em;
  color:var(--muted);transition:color .3s var(--ease-soft);
}
.th-aba.is-on b,.th-aba button:hover b{color:#fff}
/* o app de cada tópico numa caixinha de vidro, como as pastilhas do Hub */
.th-aba-ic{
  display:grid;place-items:center;width:44px;height:44px;border-radius:13px;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 28px -14px rgba(0,0,0,.7);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transition:border-color .3s var(--ease-soft),background .3s var(--ease-soft);
}
.th-aba-ic img{display:block;width:22px;height:22px;margin:0}
.th-aba.is-on .th-aba-ic{border-color:rgba(255,255,255,.26);background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.05))}
.th-aba button:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}
.th-aba button>span:not(.th-aba-ic){grid-column:1/-1;display:block;margin-top:12px;font-size:16px;line-height:1.6;color:var(--muted);text-wrap:pretty}
@media(max-width:900px){
  .th-abas{grid-template-columns:1fr;gap:22px}
  .th-palco{aspect-ratio:4/3;border-radius:18px}
  /* no celular a tela entra ampliada e ancorada à esquerda, saindo pela
     direita e pelo pé: dá pra ler, em vez de uma miniatura da tela inteira */
  .th-pal{padding:7% 0 0 6%;justify-content:flex-start}
  .th-pal .th-tela{flex:none;width:170%;border-radius:10px 0 0 0;border-right:0}
  /* com a tela mobile do Hub (is-mobile, do lp.js) ela cabe inteira na
     largura e o palco fica mais alto */
  .th-cam.is-mobile .th-palco{aspect-ratio:1/1.02}
  .th-cam.is-mobile .th-pal{padding:6% 0 0;justify-content:center}
  .th-cam.is-mobile .th-pal .th-tela{width:80%;border-radius:14px 14px 0 0}
  .th-aba b{font-size:19px}
}
/* O painel do Marvin, minimalista, no molde da referência da autora
   (21/10): um bloco grande e arredondado com o fundo animado da hero do
   site da Marvee (/site/fundo-animado.js), os tópicos em pílula, um card
   claro com a frase do que o Marvin está fazendo (termos-chave em cor e
   etiquetas embaixo) e a tela dele logo abaixo, apagando no pé. Sem WebGL2
   fica o gradiente do próprio painel. */
.th-mvp{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(32px,3.6vw,52px) clamp(16px,3vw,40px) 0;border-radius:clamp(22px,2.4vw,32px);
  background:radial-gradient(80% 70% at 15% 0%,rgba(91,192,190,.18),transparent 70%),radial-gradient(80% 70% at 90% 100%,rgba(57,114,253,.2),transparent 70%),var(--bg);
  border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 90px -40px rgba(0,0,0,.8);
}
.th-mvp-fundo{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
.th-mvp-fundo canvas{display:block;width:100%;height:100%}
/* as pílulas: ícone de linha e o nome; a ativa em branco */
.th-mvp .th-abas{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px;width:min(74%,900px);margin:0 auto 12px}
.th-mvp .th-aba::before,.th-mvp .th-aba-bar{display:none}
.th-mvp .th-aba button{
  display:inline-flex;align-items:center;gap:8px;width:auto;padding:9px 18px 9px 14px;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transition:background .3s var(--ease-soft),border-color .3s var(--ease-soft);
}
.th-mvp .th-aba button:hover{background:rgba(255,255,255,.1)}
.th-mvp .th-aba-ic{display:block;width:18px;height:18px;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:rgba(255,255,255,.7)}
.th-mvp .th-aba.is-on .th-aba-ic{background:none;color:#141B33}
.th-mvp .th-aba-ic svg{display:block;width:18px;height:18px}
.th-mvp .th-aba b{font-size:15px;font-weight:500;letter-spacing:-.01em;color:rgba(255,255,255,.72)}
.th-mvp .th-aba button>span:not(.th-aba-ic){display:none}
.th-mvp .th-aba.is-on button{background:#fff;border-color:#fff}
.th-mvp .th-aba.is-on b{color:#141B33}
/* a legenda, logo abaixo das pílulas: as frases empilhadas no mesmo lugar,
   só a da vez à mostra */
/* o balão de vidro: sai do meio da pílula da vez (a seta aponta pra ela;
   o lp.js escreve --bl, a posição do balão, e --seta) e desliza quando o
   tópico muda; as frases ficam empilhadas dentro dele */
.th-legenda{display:flow-root;width:min(74%,900px);margin:0 auto 32px;text-align:left}
.th-balao{
  position:relative;isolation:isolate;display:grid;align-content:start;width:100%;margin-top:17px;padding:20px 24px 22px;
  transform:translateX(var(--bl,0));transition:transform .7s cubic-bezier(.65,0,.25,1);
}
/* O balão é uma forma só, corpo e rabinho: o lp.js desenha o contorno
   (um path com o retângulo arredondado e o rabinho macio no ponto da
   pílula da vez) e usa o mesmo path pra recortar o vidro, então não há
   emenda nem quebra no traço. O vidro sobe 17px pra caber o rabinho. */
.th-balao-fundo{
  position:absolute;z-index:-1;left:0;right:0;top:-17px;bottom:0;pointer-events:none;
  background:rgba(255,255,255,.085);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.35));
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;
}
.th-balao-borda{position:absolute;z-index:-1;left:0;top:-17px;width:100%;height:calc(100% + 17px);overflow:visible;pointer-events:none}
.th-balao-borda path{fill:none;stroke:rgba(255,255,255,.24);stroke-width:1}
.th-balao.is-troca{animation:thBalao .5s var(--ease-soft)}
@keyframes thBalao{0%{scale:.97}60%{scale:1.01}100%{scale:1}}
/* as etapas do tópico: bolinhas numeradas; a da vez acesa, as vistas com
   check (também no tópico de uma etapa só, pra ficar igual aos outros) */
.th-etapas{grid-area:1/1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:14px}
.th-etapas:empty{display:none}
/* cada etapa: o número (ou o check) e o nome; a da vez em branco */
.th-etapas>span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:rgba(255,255,255,.5);transition:color .35s var(--ease-soft)}
.th-etapas>span+span::before{content:"";width:14px;height:1px;margin-right:7px;background:rgba(255,255,255,.22)}
@media(max-width:600px){.th-etapas>span+span::before{display:none}}
.th-etapas i{
  position:relative;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-style:normal;font-size:10.5px;font-weight:600;
  color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.22);
  transition:background .35s var(--ease-soft),color .35s var(--ease-soft),border-color .35s var(--ease-soft),scale .35s var(--ease-soft);
}
.th-etapas>span.is-on{color:#fff}
.th-etapas>span.is-on i{background:#6E8BFF;border-color:#6E8BFF;color:#fff;scale:1.1}
.th-etapas>span.is-feito{color:rgba(255,255,255,.72)}
.th-etapas>span.is-feito i{background:rgba(110,139,255,.2);border-color:rgba(110,139,255,.45);color:transparent}
.th-etapas>span.is-feito i::after{content:"";position:absolute;width:8px;height:4.5px;border-left:1.6px solid #B7C6FF;border-bottom:1.6px solid #B7C6FF;rotate:-45deg;translate:0 -1px}
.th-nota{grid-area:2/1;align-self:start;opacity:0;visibility:hidden;translate:0 8px;transition:opacity .5s var(--ease-soft),translate .5s var(--ease-soft),visibility 0s .5s}
.th-nota.is-on{opacity:1;visibility:visible;translate:0 0;transition:opacity .5s var(--ease-soft),translate .5s var(--ease-soft)}
.th-nota p{margin:0;font-size:16px;line-height:1.55;color:rgba(233,236,247,.86);text-wrap:pretty}
/* sem destaque em cor no texto (pedido da autora): o em fica neutro */
.th-nota em{font-style:normal;color:inherit;font-weight:inherit}
/* o mockup: a tela no centro, encaixada no pé do painel (cortada pela
   borda dele, sem esmaecer) */
.th-mvp{overflow:hidden;padding-bottom:0}
.th-mvp .th-palco{aspect-ratio:auto;overflow:visible;border-radius:0;background:none;box-shadow:none}
.th-mvp .th-pal{position:static;display:block;padding:0}
.th-tela-guia{position:relative;width:min(74%,900px);margin:0 auto}
.th-mvp .th-tela{
  width:100%;aspect-ratio:1200/610;border-radius:14px 14px 0 0;border:0;overflow:hidden;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.75),0 0 0 6px rgba(255,255,255,.07);
}
.th-mvp .th-tela video{display:block;width:100%;height:auto}
@media(max-width:900px){
  .th-mvp .th-abas{gap:6px;margin-bottom:10px}
  .th-mvp .th-aba button{padding:7px 13px 7px 10px;min-height:0}
  .th-mvp .th-aba b{font-size:13px}
  .th-mvp .th-aba-ic,.th-mvp .th-aba-ic svg{width:15px;height:15px}
  .th-mvp .th-abas,.th-legenda{width:100%}
  .th-legenda{margin-bottom:22px}
  .th-balao{padding:16px 18px 18px}
  .th-nota p{font-size:15px}
  .th-tela-guia{width:100%}
  .th-cam.th-mvp.is-mobile .th-tela-guia{width:84%}
  .th-cam.th-mvp.is-mobile .th-tela{aspect-ratio:1/1.3}
  .th-mvp .th-pal .th-tela{width:100%;flex:none}
}
@media(prefers-reduced-motion:reduce){
  .th-nota,.th-nota.is-on,.th-balao,.th-etapas i,.th-etapas>span{transition:none}
  .th-balao.is-troca{animation:none}
}
@media(prefers-reduced-motion:reduce){
  .th-passo-d,.th-cap .th-passos button{transition:none}
}

/* ---- 3b. casos de uso da Central (#casos) ------------------------------- */
/* Seção escura entre a ilha clara e o fecho do teste: os seis casos em
   cards de texto num carrossel (sem a capa do vídeo), cada um levando pro
   passo a passo na Central. Setas embaixo à direita; no toque, arrasta. */
#casos{padding-block:clamp(56px,6vw,96px) clamp(24px,3vw,40px);scroll-margin-top:var(--lp-safe-top,96px)}
#casos .center .gestao-kicker{color:#9DBEFF}
#casos .lede{max-width:760px;margin-inline:auto;text-wrap:balance}
.th-casos-car{position:relative;margin-top:clamp(36px,4vw,56px)}
/* a caixa clara: tinta da .sec-light (site.css), raio e respiro próprios */
.th-casos-box{display:block;min-height:0;padding:clamp(48px,5.5vw,80px) clamp(36px,4.5vw,64px) clamp(40px,4.5vw,64px);border-radius:32px}
/* no desktop a caixa vai quase de ponta a ponta, como as ilhas do site da
   Marvee (respiro de --g dos lados), e o conteúdo fica na largura de leitura */
@media(min-width:1101px){
  .th-casos-box{
    --g:clamp(24px,2.1vw,40px);
    width:calc(100vw - 2 * var(--g));margin-inline:calc(50% - 50vw + var(--g));
    padding-inline:max(64px,(100vw - 2 * var(--g) - 1180px) / 2);border-radius:40px;
  }
}
.th-casos-cards{
  list-style:none;margin:0;padding:4px 0 8px;display:flex;gap:clamp(14px,1.6vw,20px);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;
}
.th-casos-cards::-webkit-scrollbar{display:none}
.th-casos-cards li{flex:none;width:calc((100% - 2 * clamp(14px,1.6vw,20px)) / 3);scroll-snap-align:start}
.th-casos-cards a{
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:24px;height:100%;
  padding:26px 26px 28px;border-radius:20px;text-decoration:none;
  background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 24px 50px -30px rgba(0,0,0,.8);
  transition:background .3s var(--ease-soft),border-color .3s var(--ease-soft),box-shadow .3s var(--ease-soft);
}
.th-casos-cards a:hover{
  background:linear-gradient(150deg,rgba(255,255,255,.1),rgba(255,255,255,.035));border-color:rgba(255,255,255,.18);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.85),0 0 50px -24px rgba(var(--af-c),.55);
}
.th-casos-cards a:focus-visible{outline:2px solid #fff;outline-offset:-2px}
/* a linha de cima, como na Central: ícone do app numa pastilha, o nome do
   app, o selo de vídeo e a seta no canto */
.th-caso-topo{display:flex;align-items:center;gap:12px}
.th-caso-ic{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.th-caso-ic img{display:block;width:20px;height:20px}
.th-caso-app{font-size:14px;font-weight:600;color:rgba(255,255,255,.72)}
.th-caso-chip{
  display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;
  background:rgba(91,192,190,.14);color:#7FD6D3;font-size:12.5px;font-weight:600;
}
.th-caso-chip svg{width:9px;height:9px}
.th-caso-seta{width:16px;height:16px;margin-left:auto;color:rgba(255,255,255,.55);transition:color .25s var(--ease-soft),translate .25s var(--ease-soft)}
.th-casos-cards a:hover .th-caso-seta{color:#fff;translate:2px -2px}
.th-caso-tx{display:flex;flex-direction:column;gap:10px}
.th-caso-tx b{font-size:18px;font-weight:500;line-height:1.3;letter-spacing:-.01em;color:#fff;text-wrap:balance}
.th-caso-d{
  font-size:15px;line-height:1.6;color:var(--muted);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
}
/* as setas: pílulas de vidro, apagadas na ponta */
/* as bolinhas no centro, embaixo; as setas nas pontas da fileira, na
   altura do meio dos cards */
.th-casos-nav{display:flex;justify-content:center;margin-top:24px}
/* as bolinhas: uma por caso; a da vez alonga em pílula azul */
.th-casos-pontos{display:flex;align-items:center;gap:8px}
.th-casos-ponto{
  width:8px;height:8px;padding:0;border:0;border-radius:999px;cursor:pointer;background:rgba(255,255,255,.22);
  transition:width .35s var(--ease-soft),background .35s var(--ease-soft);
}
.th-casos-ponto:hover{background:rgba(255,255,255,.45)}
.th-casos-ponto.is-on{width:26px;background:#6E8BFF}
.th-casos-ponto:focus-visible{outline:2px solid #fff;outline-offset:3px}
.th-casos-seta{
  position:absolute;z-index:2;top:calc((100% - 32px) / 2);translate:0 -50%;
  display:grid;place-items:center;width:46px;height:46px;border-radius:50%;cursor:pointer;color:#fff;
  background:rgba(20,28,64,.72);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 28px -12px rgba(0,0,0,.8);
  transition:background .25s var(--ease-soft),opacity .25s var(--ease-soft);
}
.th-casos-seta[data-dir="-1"]{left:-23px}
.th-casos-seta[data-dir="1"]{right:-23px}
.th-casos-seta:hover{background:rgba(40,52,104,.9)}
.th-casos-seta:focus-visible{outline:2px solid #fff;outline-offset:3px}
.th-casos-seta:disabled{opacity:0;pointer-events:none}
.th-casos-seta svg{width:18px;height:18px}
.th-casos-mais a{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:#9DBEFF;text-decoration:none}
.th-casos-mais a:hover{color:#fff}
.th-casos-mais a svg{width:16px;height:16px}
.th-casos-mais{text-align:center;margin:clamp(28px,3vw,40px) 0 0}
/* na caixa clara: cards brancos com borda fina e sombra curta, texto na
   tinta clara; bolinhas, setas e link trocam pro tom do claro */
.th-casos-box .th-casos-cards{padding:6px 0 30px;margin-bottom:-12px}
.th-casos-box .th-casos-cards a{
  background:var(--light-card);border-color:var(--light-line);
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 14px 30px -20px rgba(16,24,40,.22);
}
.th-casos-box .th-casos-cards a:hover{
  background:var(--light-card);border-color:var(--light-line2);
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 22px 40px -22px rgba(16,24,40,.3),0 0 40px -22px rgba(var(--af-c),.45);
}
.th-casos-box .th-casos-cards a:focus-visible{outline-color:var(--blue)}
.th-casos-box .th-caso-ic{background:var(--light-chrome);border-color:var(--light-line)}
.th-casos-box .th-caso-app{color:var(--light-tx2)}
.th-casos-box .th-caso-chip{background:rgba(91,192,190,.16);color:#1F7F7C}
.th-casos-box .th-caso-seta{color:var(--light-mut)}
.th-casos-box .th-casos-cards a:hover .th-caso-seta{color:var(--light-tx)}
.th-casos-box .th-caso-tx b{color:var(--light-tx)}
.th-casos-box .th-caso-d{color:var(--light-tx2)}
.th-casos-box .th-casos-ponto{background:rgba(20,27,51,.16)}
.th-casos-box .th-casos-ponto:hover{background:rgba(20,27,51,.32)}
.th-casos-box .th-casos-ponto.is-on{background:#5F78E0}
.th-casos-box .th-casos-ponto:focus-visible{outline-color:var(--blue)}
/* na caixa clara as setas são só o traço, sem círculo nem sombra, no
   respiro da caixa ao lado dos cards (sem sobrepor; pedido da autora) */
.th-casos-box .th-casos-seta{
  width:36px;height:36px;border-radius:10px;color:var(--light-mut);
  background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;
  transition:color .25s var(--ease-soft),background .25s var(--ease-soft),opacity .25s var(--ease-soft);
}
.th-casos-box .th-casos-seta svg{width:22px;height:22px;stroke-width:1.6}
.th-casos-box .th-casos-seta[data-dir="-1"]{left:-46px}
.th-casos-box .th-casos-seta[data-dir="1"]{right:-46px}
.th-casos-box .th-casos-seta:hover{color:var(--light-tx);background:rgba(20,27,51,.05)}
.th-casos-box .th-casos-seta:focus-visible{outline-color:var(--blue)}
@media(max-width:1100px){
  .th-casos-box .th-casos-seta{width:30px}
  .th-casos-box .th-casos-seta[data-dir="-1"]{left:-33px}
  .th-casos-box .th-casos-seta[data-dir="1"]{right:-33px}
}
.th-casos-box .th-casos-mais a{color:#3972FD}
.th-casos-box .th-casos-mais a:hover{color:var(--light-tx)}
@media(max-width:600px){
  .th-casos-mais a{display:inline;text-wrap:balance}
  .th-casos-mais a svg{display:inline-block;vertical-align:-3px;margin-left:4px}
}
@media(max-width:1000px){
  .th-casos-cards li{width:calc((100% - clamp(14px,1.6vw,20px)) / 2)}
}
/* no celular: um card e um pedaço do próximo, sangrando até a borda */
@media(max-width:600px){
  .th-casos-cards{margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;gap:12px}
  .th-casos-box{padding:40px 20px 32px;border-radius:24px}
  .th-casos-box .th-casos-cards{margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px}
  .th-casos-cards li{width:82%}
  .th-casos-cards a{padding:20px 20px 22px;gap:16px}
  .th-caso-tx b{font-size:17px}
  .th-casos-nav{margin-top:18px}
  .th-casos-seta{display:none}
}
@media(prefers-reduced-motion:reduce){
  .th-casos-cards{scroll-behavior:auto}
  .th-casos-cards a,.th-caso-seta,.th-casos-ponto{transition:none}
}

/* ---- 4. a silhueta do hero e o chat do Marvin flutuante ------------------ */
#simulador,#hub,#marvin,#faq{scroll-margin-top:var(--lp-safe-top,96px)}
.th-live{--luz-mock:57,114,253}
.lp-mock-fixo .hero-stage.th-live{padding-bottom:clamp(48px,6vw,88px)}
/* O título brinca com cor e ícone (referência da autora, 21/10/2026): a
   primeira parte num lilás sólido, o resto em branco, maior que o das LPs
   de anúncio, e duas pastilhas de vidro com um ícone entre as palavras. */
.hero.gestao-hero h1.th-h1{max-width:1000px;font-size:clamp(34px,5vw,68px);line-height:1.12;letter-spacing:-.035em}
/* pesos como no site da Marvee (marvee.com.br): título em regular, só a
   chave em semibold, tudo na mesma cor sólida (sem azul nas chaves) */
.hero.gestao-hero h1.th-h1{font-weight:400}
.hero.gestao-hero h1.th-h1 .th-nw{font-weight:600}
/* o subtítulo numa linha só no desktop */
.hero.gestao-hero .sub{max-width:none}
@media(min-width:760px){.hero.gestao-hero .sub{white-space:nowrap}}

/* A cena: a tela real do Hub no centro (Painel da Tesouraria, capturado na
   conta de demonstração da Central de Ajuda) numa moldura de vidro, e quatro
   cartões de vidro em volta com recortes reais de outros apps. A tela se
   apaga embaixo (máscara) e a dobra seguinte começa no escuro. Os cartões
   ficam na metade de cima, onde a tela ainda aparece inteira. */
.gestao-hero .hero-stage.th-live{max-width:1300px;padding-bottom:0}
.th-cena{position:relative;z-index:1;max-width:1300px;margin:0 auto;padding:0 clamp(16px,6.5vw,92px)}
.th-tela-hero{
  position:relative;padding:8px;border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.28);
  /* a hero termina com a tela cortada logo abaixo da faixa "A receber /
     A pagar" (altura marcada pela autora), com um esmaecido curto no pé */
  aspect-ratio:1400/760;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%);
}
.th-tela-hero img{display:block;width:100%;height:auto;border-radius:16px}
/* os cartões: vidro claro e fosco, com o nome do app em cima e o recorte
   real embaixo; sombra leve e flutuação lenta, cada um no seu tempo */
.th-flut{
  position:absolute;z-index:2;display:flex;flex-direction:column;gap:8px;width:var(--fw);padding:8px;border-radius:18px;
  text-align:left;color:#141B33;
  background:linear-gradient(150deg,rgba(255,255,255,.62),rgba(255,255,255,.36));
  border:1px solid rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 30px 60px -28px rgba(4,8,31,.7);
  opacity:0;
}
.th-flut-cab{display:flex;align-items:center;gap:8px;padding:2px 4px 0;font-size:13px;font-weight:600;line-height:1}
/* o ícone do app numa pastilha clara de vidro (a escura pesava no cartão
   claro): branco com borda fina, brilho no alto e sombra curta */
.th-flut-cab img{
  box-sizing:content-box;width:15px;height:15px;padding:6px;border-radius:9px;flex:none;
  background:linear-gradient(180deg,#fff,#F1F4FB);
  box-shadow:inset 0 0 0 1px rgba(20,27,51,.08),inset 0 1px 0 #fff,0 2px 6px -2px rgba(20,27,51,.18);
}
.th-flut-tela{display:block;width:100%;height:auto;border-radius:11px}
.th-flut-1{--fw:clamp(200px,20vw,280px);left:0;top:12%;--fe:0s;--ff:0s}
.th-flut-2{--fw:clamp(180px,17vw,240px);right:2.5%;top:5%;--fe:.14s;--ff:-2s}
.th-flut-3{--fw:clamp(200px,19vw,270px);left:2%;bottom:6%;--fe:.28s;--ff:-4s}
.th-flut-4{--fw:clamp(230px,23vw,320px);right:3.4%;top:37.5%;--fe:.42s;--ff:-5.5s}
/* a tela do fundo entra primeiro (reveal do site.js); os cartões só
   começam quando ela já assentou, um de cada vez */
.th-tela-hero.in ~ .th-flut{
  animation:thFlutEntra .9s var(--ease-soft) calc(var(--fe) + 1.5s) both,thFlut 7s ease-in-out var(--ff) infinite;
}
@keyframes thFlutEntra{from{opacity:0;transform:translateY(22px) scale(.95)}to{opacity:1;transform:none}}
@keyframes thFlut{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(prefers-reduced-motion:reduce){.th-flut,.th-tela-hero.in ~ .th-flut{opacity:1;animation:none}}
@media(max-width:760px){
  /* no celular a tela vira um recorte ampliado do lado esquerdo (menu e
     indicadores legíveis) e os cartões ficam em pares: dois sobre o topo
     da tela e dois na faixa de baixo, onde ela já se apaga */
  .th-cena{padding:0 0 64px;margin-top:92px}
  .th-tela-hero{padding:5px;border-radius:16px;overflow:hidden;aspect-ratio:auto;-webkit-mask-image:linear-gradient(180deg,#000 50%,transparent 94%);mask-image:linear-gradient(180deg,#000 50%,transparent 94%)}
  .th-tela-hero img{width:165%;max-width:none;border-radius:11px}
  .th-flut{gap:5px;padding:5px;border-radius:12px}
  .th-flut-cab{font-size:10.5px;gap:6px;padding:1px 2px 0}
  .th-flut-cab img{width:11px;height:11px;padding:4px;border-radius:7px}
  .th-flut-tela{border-radius:7px}
  .th-flut-1{--fw:42%;left:-6px;top:-78px}
  .th-flut-2{--fw:54%;right:-6px;top:-58px}
  .th-flut-3{--fw:50%;left:-6px;top:auto;bottom:40px}
  .th-flut-4{--fw:60%;right:-6px;top:auto;bottom:0}
  .hero.gestao-hero h1.th-h1{font-size:31px}
}

/* O cabeçalho das seções no padrão do site da Marvee: a pílula com o
   rótulo em cima e a segunda frase do título num tom mais apagado. */
.th-pill{
  display:inline-flex;align-items:center;gap:8px;width:fit-content;margin:0 auto 22px;padding:9px 16px;border-radius:100px;
  font-family:var(--font);font-size:14px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;
  color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:0 10px 28px -14px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.16);
}
.th-pill svg{width:16px;height:16px;flex:none;color:#6FA8FF}
.sec-light .th-pill{background:#fff;border-color:transparent;color:var(--light-tx);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.sec-light .th-pill svg{color:var(--blue)}
:is(.center,.th-cam-head)>.th-pill{display:flex}
section .h2{font-weight:400;letter-spacing:-.035em}
.h2 .t2{font-weight:600}

/* O chat: o botão redondo com o Marvin no canto de baixo à direita, o balão
   com a primeira pergunta e, aberta, a janela no formato de tela de celular.
   A conversa é a mesma de antes, na escala da interface do Hub. */
.th-chat{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}
.th-chat[hidden]{display:none}
.th-chat>*{pointer-events:auto}
/* O botão é o ponto de entrada da conversa e precisa chamar o olho no canto
   (pedido da autora). Desenho limpo: a face clara e lisa (::after), sem aro
   grosso nem reflexo, com borda de luz fina e sombra em camadas; atrás dela
   uma aura difusa no gradiente do Hub (::before) girando devagar, o sinal de
   IA. O Marvin vivo no centro, com os olhos escuros pra ler no claro. */
.th-chat-abre{
  position:relative;isolation:isolate;display:grid;place-items:center;width:64px;height:64px;padding:0;border:0;border-radius:50%;
  background:none;cursor:pointer;
  transition:transform .3s var(--ease-soft);
}
.th-chat-abre::before{
  content:"";position:absolute;z-index:-1;inset:-5px;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,#3972FD,#A364FF,#FA9800,#34D399,#5BC0BE,#3972FD);
  filter:blur(12px);opacity:.55;animation:thAura 9s linear infinite;
  transition:opacity .3s var(--ease-soft),inset .3s var(--ease-soft);
}
.th-chat-abre::after{
  content:"";position:absolute;z-index:0;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 28%,#fff 0%,#F4F6FC 60%,#E6EBF7 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.95),inset 0 -5px 10px -6px rgba(40,60,120,.3),
    0 1px 2px rgba(4,8,31,.3),0 14px 30px -12px rgba(4,8,31,.7);
}
@keyframes thAura{to{rotate:360deg}}
.th-chat-abre .mv-vivo{position:relative;z-index:1}
.th-chat-abre .mv-olho{fill:#141B33}
.th-chat-abre:hover{transform:translateY(-2px) scale(1.05)}
.th-chat-abre:hover::before{opacity:.85;inset:-8px}
.th-chat-abre:focus-visible{outline:2px solid #fff;outline-offset:6px}
.th-chat-abre .mv-vivo{--mv:34px}
/* O Marvin vivo: o corpo oficial (marvin.svg sem os olhos) e os dois olhos
   por cima, em SVG, pra animar. Segue a direção de animação do personagem
   (PR #600): atenção, piscadas e respiração discreta, sem pulos nem
   deformação. Ao passar o mouse no botão ele olha pra cima, pra pessoa. */
.mv-vivo{position:relative;display:block;width:var(--mv,30px);aspect-ratio:1272/912;animation:mvRespira 4.8s ease-in-out infinite}
.mv-vivo>img,.mv-vivo>svg{position:absolute;inset:0;display:block;width:100%;height:100%}
.mv-olhos{animation:mvOlha 9s ease-in-out infinite;transition:transform .35s var(--ease-soft)}
.mv-olho{fill:#fff;transform-box:fill-box;transform-origin:50% 50%;animation:mvPisca 4.6s ease-in-out infinite}
.th-chat-abre:hover .mv-olhos{animation:none;transform:translate(0,-34px)}
@keyframes mvPisca{0%,41%,49%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}
@keyframes mvOlha{0%,26%{transform:translate(0,0)}32%,48%{transform:translate(48px,-10px)}54%,70%{transform:translate(-42px,4px)}76%,100%{transform:translate(0,0)}}
@keyframes mvRespira{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3%) rotate(-2deg)}}
.th-chat.is-aberto .th-chat-abre{display:none}
/* a provocação pro clique, já na hero: um selo de mensagem nova no botão
   (como o sino do Hub) e uma cutucada de leve a cada poucos segundos, até a
   pessoa abrir a conversa */
.th-chat-ping{
  position:absolute;z-index:2;top:-5px;right:-5px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;
  background:#FF4D5E;color:#fff;font-size:12px;font-weight:700;line-height:1;border:2px solid #fff;
  box-shadow:0 4px 12px -2px rgba(255,77,94,.7);
  opacity:0;scale:.4;transition:opacity .3s var(--ease-soft),scale .45s cubic-bezier(.34,1.56,.64,1);
}
.th-chat.tem-ping .th-chat-ping{opacity:1;scale:1}
.th-chat.cutuca .th-chat-abre{animation:thChatCutuca .9s var(--ease-soft)}
@keyframes thChatCutuca{
  0%,100%{transform:none}
  20%{transform:translateY(-6px) rotate(-8deg)}
  40%{transform:translateY(0) rotate(6deg)}
  60%{transform:translateY(-3px) rotate(-4deg)}
  80%{transform:translateY(0) rotate(2deg)}
}
/* o balão com a primeira pergunta, no mesmo desenho do balão do Marvin:
   uma forma só (corpo e rabinho arredondado, desenhados num path pelo
   lp.js), com a ponta apontando pro centro do botão. Claro, com o nome do
   Marvin em cima e sombra em camadas no próprio desenho */
.th-chat-balao{
  position:relative;isolation:isolate;max-width:290px;margin:0 0 -6px;padding:12px 18px 29px;
  color:var(--light-tx);font-size:16.5px;font-weight:500;line-height:1.4;
  cursor:pointer;
  opacity:0;translate:0 10px;scale:.96;transform-origin:100% 100%;pointer-events:none;
  transition:opacity .4s var(--ease-soft),translate .4s var(--ease-soft),scale .4s var(--ease-soft);
}
.th-chat-balao::before{
  content:"Marvin";display:block;margin-bottom:3px;font-size:12px;font-weight:600;letter-spacing:.02em;color:#3972FD;
}
.th-chat-balao-forma{
  position:absolute;z-index:-1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;
  filter:drop-shadow(0 1px 2px rgba(4,8,31,.12)) drop-shadow(0 14px 22px rgba(4,8,31,.34)) drop-shadow(0 0 26px rgba(57,114,253,.16));
}
.th-chat-balao-forma path{fill:#F8FAFE;stroke:#fff;stroke-width:1}
.th-chat.tem-balao:not(.is-aberto) .th-chat-balao{opacity:1;translate:0 0;scale:1;pointer-events:auto}
.th-chat.is-aberto .th-chat-balao{display:none}
/* a janela, no formato de tela de celular */
.th-chat-janela{
  display:none;flex-direction:column;width:390px;height:min(680px,calc(100vh - 48px));overflow:hidden;
  border-radius:28px;border:1px solid rgba(255,255,255,.14);text-align:left;
  background:
    radial-gradient(420px 260px at 0% 110%,rgba(91,192,190,.12),transparent 66%),
    radial-gradient(420px 260px at 100% 110%,rgba(163,100,255,.12),transparent 66%),
    var(--bg);
  box-shadow:0 40px 90px -24px rgba(0,0,0,.92),0 0 120px -20px rgba(57,114,253,.5);
  transform-origin:100% 100%;
}
.th-chat.is-aberto .th-chat-janela{display:flex;animation:thChatEntra .32s var(--ease-soft)}
/* aberta, a janela encosta no canto de baixo à direita (pedido da autora):
   sem vão até as bordas e só a quina de dentro arredondada */
.th-chat.is-aberto{right:0;bottom:0}
.th-chat.is-aberto .th-chat-janela{height:min(700px,calc(100vh - 110px));border-radius:24px 0 0 0;border-right:0;border-bottom:0}
@keyframes thChatEntra{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
/* topo: luz azul suave descendo e o Marvin vivo numa pastilha de vidro com
   o ponto de online */
.th-chat-topo{display:flex;align-items:center;gap:13px;padding:18px 16px 16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(57,114,253,.16),rgba(57,114,253,.04))}
.th-chat-av{
  position:relative;display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;
  background:linear-gradient(150deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 20px -10px rgba(0,0,0,.8);
}
.th-chat-av .mv-vivo{--mv:30px}
.th-chat-on{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;background:#22C55E;border:2px solid #0B1230;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.th-chat-nome{display:flex;flex-direction:column;gap:2px;line-height:1.25}
.th-chat-nome b{font-size:16px;font-weight:600;color:#fff}
.th-chat-nome small{font-size:12.5px;color:#9aa0bd}
/* falas seguidas do Marvin: o rosto só na primeira do bloco */
.th-chat .sc-msg+.sc-msg::before{display:none}
/* a apresentação do Marvin, a primeira fala: o nome em destaque em cima */
.th-chat .sc-apres b{display:block;margin-bottom:2px;font-weight:600;color:#fff}
.th-chat-x{
  margin-left:auto;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;cursor:pointer;
  color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
}
.th-chat-x:hover{background:rgba(255,255,255,.12)}
.th-chat-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.th-chat-x svg{width:16px;height:16px}
.th-conv{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}
.th-chat .sc-log{
  flex:1;min-height:0;overflow-y:auto;padding:16px 14px 10px 50px;gap:10px;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;
}
.th-chat .sc-log>*{flex:none;scroll-margin:10px 0}
.th-chat .mv-bar{margin:10px 14px 14px;padding:10px 12px 10px 14px;border-radius:16px;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.th-chat .mv-bar-tx{font-size:14px}
.th-chat .mv-bar-send{width:28px;height:28px;background:#3972FD;color:#fff}
/* tudo na escala da interface: falas e opções menores, áreas uma por linha
   com o ícone ao lado, e os casos numa lista que abre um de cada vez */
.th-chat .sc-msg{
  text-wrap:pretty;
  font-size:15px;padding:10px 14px;border-radius:4px 18px 18px 18px;color:#E7EAF6;
  background:linear-gradient(150deg,rgba(255,255,255,.11),rgba(255,255,255,.06));border-color:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.th-chat .sc-msg::before{left:-36px;width:26px;height:26px;top:5px}
.th-chat .sc-eu{font-size:15px;padding:9px 14px;border-radius:18px 18px 4px 18px;background:linear-gradient(135deg,#3972FD,#4F86FF);box-shadow:0 10px 24px -14px rgba(57,114,253,.9)}
.th-chat .sc-eu:hover{background:linear-gradient(135deg,#2F64EA,#3972FD);border-color:transparent}
.th-chat .sc-opts{gap:6px}
/* a pergunta é uma bolha neutra de vidro; as opções são ação: azul do
   Hub, borda azul e texto branco, pra não se confundirem com a fala */
.th-chat .sc-log .af-btn{font-size:14px;font-weight:500;padding:8px 14px;min-height:38px;color:#fff;background:rgba(57,114,253,.18);border-color:rgba(111,150,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.th-chat .sc-log .af-btn:hover{color:#fff;background:rgba(57,114,253,.36);border-color:rgba(130,170,255,.95)}
.th-chat .sc-log .af-btn:focus-visible{outline:2px solid rgba(130,170,255,.75);outline-offset:2px}
.th-chat .sc-dica{font-size:12.5px;color:#9aa0bd}
.th-chat .sc-opts.is-areas{grid-template-columns:1fr}
.th-chat .sc-opts.is-areas .af-btn{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;align-items:center;padding:8px 12px;border-radius:12px}
.th-chat .sc-opts.is-areas .sc-opt-ic{grid-row:1/span 2;margin-bottom:0;width:18px;height:18px;padding:6px}
.th-chat .sc-opt-d{font-size:13px}
.th-chat .sc-casos{grid-template-columns:1fr;gap:8px}
.th-chat .sc-fim{flex-direction:column;align-items:stretch;gap:10px}
.th-chat .sc-cta{text-align:center;font-size:15px;min-height:44px}
.th-chat .sc-nota{flex:none;max-width:none;font-size:13px}
/* o rodapé: o rótulo numa linha, as áreas em fila e o "Mudar o ramo"
   encostado à direita */
.th-chat .sc-outras{padding-top:12px;row-gap:10px}
.th-chat .sc-outras-l{flex-basis:100%;font-size:13px}
.th-chat .sc-log .sc-outras .af-btn{min-height:34px;padding:6px 13px;font-size:13.5px}
.th-chat .sc-mudar{margin-left:auto;font-size:13px}
@media(max-width:600px){
  /* no celular a janela abre em tela cheia */
  .th-chat{right:16px;bottom:16px}
  .th-chat.is-aberto{inset:0;align-items:stretch}
  .th-chat.is-aberto .th-chat-janela{width:auto;height:auto;flex:1;border-radius:0;border:0}
  .th-chat-balao{max-width:230px;font-size:15px}
  .th-chat-abre{width:58px;height:58px}
  .th-chat-abre .mv-vivo{--mv:31px}
}
@media(prefers-reduced-motion:reduce){
  .th-chat.is-aberto .th-chat-janela{animation:none}
  .th-chat-balao{transition:none}
  .th-chat.cutuca .th-chat-abre,.th-chat-abre::before{animation:none}
  .th-chat-ping{transition:none}
  .mv-vivo,.mv-olhos,.mv-olho{animation:none}
}

.sc-log{display:flex;flex-direction:column;gap:14px}
/* A fala nova nunca nasce debaixo do nav em pílula: o lp.js rola só o
   necessário (scrollIntoView nearest), e estas margens são a folga. */
.sc-log>*{scroll-margin:var(--lp-safe-top,96px) 0 24px}

/* fala do Marvin à esquerda e a escolha da pessoa à direita, nas bolhas da
   tela de conversa do Marvin (.mock-msg-body do site.css, em tamanho real) */
.sc-msg{
  align-self:flex-start;max-width:min(640px,94%);margin:0;padding:13px 17px;
  border-radius:4px 14px 14px 14px;
  background:rgba(255,255,255,.05);border:1px solid var(--line);
  color:#D7DBEA;font-size:16px;line-height:1.5;text-wrap:pretty;
}
/* A escolha é um botão: tocar nela reabre aquela pergunta, sem precisar ir
   até o fim da resposta pra trocar o ramo. O lápis diz que dá pra editar. */
.sc-eu{
  align-self:flex-end;max-width:80%;margin:0;padding:11px 17px;
  display:inline-flex;align-items:center;gap:9px;
  border-radius:14px;
  background:#232B4D;border:1px solid transparent;
  color:#fff;font-family:inherit;font-size:16px;font-weight:500;line-height:1.4;text-align:left;
  cursor:pointer;transition:background .25s var(--ease-soft),border-color .25s var(--ease-soft);
}
.sc-eu::after{
  content:"";flex:none;width:14px;height:14px;background:currentColor;opacity:.55;
  -webkit-mask:var(--sc-lapis) center/contain no-repeat;mask:var(--sc-lapis) center/contain no-repeat;
  transition:opacity .25s var(--ease-soft);
  --sc-lapis:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z'/%3E%3C/svg%3E");
}
.sc-eu:hover{background:#2B3560;border-color:rgba(255,255,255,.14)}
.sc-eu:hover::after,.sc-eu:focus-visible::after{opacity:1}
/* Quem fala é o Marvin: o rosto dele ao lado de cada fala. As escolhas e os
   casos ficam alinhados com a bolha, e a resposta da pessoa, à direita. */
.sc-msg{position:relative}
.sc-msg::before{
  content:"";position:absolute;left:-38px;top:5px;width:28px;height:28px;
  background:url(/site/icons/marvin.svg) center/contain no-repeat;
}
.sc-digitando{display:inline-flex;gap:5px;padding:16px 18px}
.sc-digitando span{
  width:7px;height:7px;border-radius:50%;background:#9aa0bd;
  animation:scPisca 1s ease-in-out infinite;
}
.sc-digitando span:nth-child(2){animation-delay:.15s}
.sc-digitando span:nth-child(3){animation-delay:.3s}
@keyframes scPisca{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}

/* Escolhas: a .af-btn (que traz a cor de área e o foco), no desenho das
   sugestões da conversa do Marvin (.mv-sugs): pílula de borda fina, sem
   vidro, que acende em azul ao passar. Botão em 16px, regra de legibilidade
   das LPs. As áreas viram blocos de duas linhas (nome + dica). */
.sc-opts{display:flex;flex-wrap:wrap;gap:8px}
.sc-log .af-btn{
  font-family:inherit;font-size:16px;font-weight:600;padding:10px 16px;color:#fff;
  background:rgba(57,114,253,.14);border:1px solid rgba(57,114,253,.5);
  -webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;
  transition:background .25s var(--ease-soft),border-color .25s var(--ease-soft),translate .25s var(--ease-soft);
}
.sc-log .af-btn:hover{color:#fff;background:rgba(57,114,253,.32);border-color:rgba(111,168,255,.9);translate:0 -1px}
.sc-log .af-btn:active{translate:0 0}
/* a linha que separa a fala das escolhas ("Escolha uma opção"): brilho de
   quatro pontas em azul claro e texto branco, em caixa normal */
.sc-dica{flex-basis:100%;grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--white);margin-top:2px}
.sc-dica::before{
  content:"";flex:none;width:16px;height:16px;background:#9DBEFF;
  -webkit-mask:var(--sc-brilho) center/contain no-repeat;mask:var(--sc-brilho) center/contain no-repeat;
  --sc-brilho:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 3c.6 4.9 3.1 8.4 9 9-5.9.6-8.4 4.100-9 9-.6-4.900-3.100-8.400-9-9 5.900-.6 8.400-4.100 9-9Z'/%3E%3C/svg%3E");
}
.sc-opts.is-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.sc-opts.is-areas .af-btn{
  flex-direction:column;align-items:flex-start;gap:3px;
  border-radius:14px;padding:13px 16px;text-align:left;
}
/* o ícone da área, numa pastilha translúcida bem leve */
.sc-opt-ic{box-sizing:content-box;width:20px;height:20px;padding:7px;margin-bottom:5px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06)}
.sc-opt-n{font-weight:600;color:#fff}
.sc-opt-d{font-size:14px;color:#9aa0bd;line-height:1.35}

/* a resposta: fala, os casos, o fecho (CTA + nota) e o "ver outra área" */
.sc-resp{display:flex;flex-direction:column;gap:16px}
/* a fala recebe o foco só pra o teclado seguir dali: sem anel em volta */
.sc-resp>.sc-msg:focus,.sc-resp>.sc-msg:focus-visible{outline:none}
/* Os casos, compactos: título e os ícones dos apps, em cards de vidro. Tocar abre a dor ("Hoje") e o que a IA faz; fechado, cabem
   vários na tela. */
.sc-casos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
/* vidro: superfície clara bem leve, brilho na aresta de cima e um sopro da
   cor da área num canto */
.sc-caso{
  /* coluna: os cards da fileira ficam da mesma altura e os ícones dos apps
     pousam no pé */
  position:relative;overflow:hidden;display:flex;flex-direction:column;padding:13px 14px 12px;border-radius:14px;
  background:
    radial-gradient(120% 90% at 0% 0%,rgba(var(--af-c),.09),transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
  transition:border-color .25s var(--ease-soft),background .25s var(--ease-soft);
}
.sc-caso:hover,.sc-caso.is-open{
  border-color:rgba(255,255,255,.13);
  background:
    radial-gradient(120% 90% at 0% 0%,rgba(var(--af-c),.14),transparent 64%),
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
}
.sc-caso-t{margin:0}
.sc-caso-bt{
  display:flex;align-items:flex-start;gap:10px;width:100%;padding:0;border:0;background:none;cursor:pointer;text-align:left;
  font-family:var(--font);font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.3;color:var(--white);
}
.sc-caso-bt span{flex:1;text-wrap:balance}
.sc-caso-bt::after{
  content:"";flex:none;width:8px;height:8px;margin:4px 3px 0 0;border:solid var(--muted);border-width:0 2px 2px 0;rotate:45deg;
  transition:rotate .25s var(--ease-soft),translate .25s var(--ease-soft);
}
.sc-caso.is-open .sc-caso-bt::after{rotate:225deg;translate:0 4px}
.sc-caso-bt:focus-visible{outline:2px solid rgb(var(--af-c));outline-offset:4px;border-radius:4px}
.sc-apps{display:flex;flex-wrap:wrap;gap:5px;margin:auto 0 0;padding:10px 0 0;list-style:none}
.sc-apps li{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.05)}
.sc-apps img{width:16px;height:16px;display:block}
.sc-caso-mais{display:none}
.sc-caso.is-open .sc-caso-mais{display:block}
.sc-caso-d{font-size:14px;color:var(--muted);line-height:1.45;margin:10px 0 0;text-wrap:pretty}
.sc-caso-d b{color:#cfd3e6;font-weight:600}
/* o que a IA faz no caso: ícone do Marvin + texto claro, numa caixa neutra
   bem leve */
.sc-caso-ia{
  display:flex;gap:7px;align-items:flex-start;margin:9px 0 0;padding:8px 9px;
  border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  font-size:14px;line-height:1.45;color:#D7DBEA;text-wrap:pretty;
}
.sc-caso-ia img{width:18px;height:18px;flex:none;display:block;margin-top:1px}
/* A conversa rola dentro da janela: quando há mais abaixo (.tem-mais, do
   lp.js), o pé esmaece e aparece o aviso. */
.th-conv{position:relative}
.sc-role{
  position:absolute;left:50%;bottom:74px;z-index:2;translate:-50% 6px;opacity:0;pointer-events:none;
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 9px;border-radius:999px;white-space:nowrap;
  font-size:13px;font-weight:600;color:#fff;background:rgba(35,43,77,.96);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 24px -10px rgba(0,0,0,.8);
  transition:opacity .3s var(--ease-soft),translate .3s var(--ease-soft);
}
.sc-role svg{width:14px;height:14px;animation:scDesce 1.6s ease-in-out infinite}
@keyframes scDesce{0%,100%{translate:0 -1px}50%{translate:0 2px}}
.th-conv::after{
  content:"";position:absolute;left:0;right:0;bottom:64px;height:72px;z-index:1;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,rgba(4,8,31,0),rgba(4,8,31,.92));transition:opacity .3s var(--ease-soft);
}
.th-conv.tem-mais::after{opacity:1}
.th-conv.tem-mais .sc-role{opacity:1;translate:-50% 0}
@media(prefers-reduced-motion:reduce){.sc-role svg{animation:none}}
/* O fecho da resposta: a CTA primária da página e, ao lado, o que acontece
   no teste. */
.sc-fim{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;margin-top:6px}
.sc-cta{flex:none}
.sc-nota{flex:1 1 280px;max-width:46ch;font-size:14px;color:var(--muted);line-height:1.5;margin:0}
.sc-outras{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;margin-top:4px;border-top:1px solid var(--line)}
.sc-outras-l{font-size:14px;color:var(--muted)}
.sc-outras .sc-opts{display:contents}
.sc-log .sc-outras .af-btn{font-size:14px;padding:7px 13px}
.sc-mudar{
  background:none;border:0;padding:7px 4px;cursor:pointer;
  font-family:var(--font);font-size:14px;color:#cfd3e6;
  text-decoration:underline;text-underline-offset:3px;
}
.sc-mudar:hover{color:#fff}
.sc-mudar:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:4px}

/* A conversa entra, não aparece: cada fala, grupo de escolhas e caso sobe
   8px e clareia, a partir do estado já visível (navegador sem
   @starting-style mostra tudo de uma vez, sem nada escondido). Os casos da
   mesma resposta entram em sequência. */
@media(prefers-reduced-motion:no-preference){
  .sc-log>:not(.sc-resp),.sc-resp>:not(.sc-casos),.sc-caso{
    transition:opacity .36s var(--ease-soft),translate .36s var(--ease-soft);
  }
  .sc-log>.sc-eu{transition:opacity .36s var(--ease-soft),translate .36s var(--ease-soft),background .25s var(--ease-soft),border-color .25s var(--ease-soft)}
  .sc-caso:nth-child(2){transition-delay:.05s}
  .sc-caso:nth-child(3){transition-delay:.1s}
  .sc-caso:nth-child(4){transition-delay:.15s}
  .sc-caso:nth-child(5){transition-delay:.2s}
  .sc-caso:nth-child(6){transition-delay:.25s}
  @starting-style{
    .sc-log>:not(.sc-resp),.sc-resp>:not(.sc-casos),.sc-caso{opacity:0;translate:0 8px}
  }
}

/* ---- 5. o ecossistema no #trial ----------------------------------------- */
/* As órbitas da home /hub (.orbits do site.css), sem o globo. A altura da
   cena é o raio do anel de fora mais meia pastilha, então nada é cortado em
   cima; na largura os anéis passam da tela e somem nas laterais. O texto
   mora dentro do anel de dentro, pousado na linha de base: o raio dele é
   maior que a meia largura do bloco, então nenhum app passa por cima. */
#trial{padding-top:clamp(32px,4vw,56px)}
.th-eco{position:relative}
#trial .orb-globe{display:none}
#trial .orbits{
  --d1:430px;--d2:600px;--d3:770px;
  margin-top:0;height:calc(var(--d3)/2 + 34px);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
}
/* Profundidade: o anel de dentro vira um disco escuro com uma luz azul
   saindo de trás dele (um eclipse), e os anéis e apps de fora ficam mais
   apagados, como se estivessem mais longe. */
#trial .orbits::before,#trial .orbits::after{content:"";position:absolute;left:50%;bottom:0;border-radius:50%;translate:-50% 50%;pointer-events:none;z-index:0}
#trial .orbits::before{
  width:calc(var(--d1)*1.24);aspect-ratio:1;filter:blur(44px);
  background:radial-gradient(circle,rgba(74,125,255,.3) 0 72%,rgba(57,114,253,.1) 86%,transparent 98%);
  /* a luz morre antes da linha de base, sem corte reto nas pontas */
  -webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 48%);mask-image:linear-gradient(180deg,#000 30%,transparent 48%);
  animation:thLuz 7s ease-in-out infinite;
}
#trial .orbits::after{
  width:var(--d1);aspect-ratio:1;
  background:radial-gradient(circle at 50% 0%,#0A1338 0%,var(--bg) 46%);
  box-shadow:0 0 0 1px rgba(150,185,255,.16),0 0 22px 0 rgba(74,125,255,.16),inset 0 14px 40px -22px rgba(120,165,255,.22);
}
@keyframes thLuz{0%,100%{opacity:.7}50%{opacity:1}}
#trial .orb-1{border-color:transparent}
#trial .orb-3{border-color:rgba(255,255,255,.05)}
#trial .orb-2 .orb-ic{opacity:.85}
#trial .orb-3 .orb-ic{opacity:.6}
@media(prefers-reduced-motion:reduce){#trial .orbits::before{animation:none}}
.th-eco-in{position:relative;z-index:3;margin-top:-118px;padding-inline:18px;text-align:center}
#trial .th-eco-in .h2{margin:0 auto;font-size:clamp(25px,7.2vw,32px);line-height:1.14;text-wrap:wrap}
#trial .th-eco-in .h2 b{font-weight:600}
/* sempre em duas linhas, com ou sem o número de dias */
#trial .th-eco-in .h2 .th-fr{display:block}
#trial .lede{max-width:1000px;font-size:17px;margin-top:22px}
.th-eco-in .app-hero-cta{margin-top:28px}
@media(min-width:768px){
  /* a linha de base das órbitas encosta na ilha clara do FAQ: sem faixa
     escura entre as duas */
  #trial{padding-bottom:0}
  #trial .orbits{--d1:clamp(780px,72vw,1040px);--d2:clamp(1000px,92vw,1320px);--d3:clamp(1220px,112vw,1600px)}
  .th-eco-in{position:absolute;left:50%;bottom:clamp(64px,7.2vw,108px);translate:-50% 0;margin:0;padding:0;width:min(700px,48vw)}
  #trial .th-eco-in .h2{max-width:none;font-size:clamp(36px,4.2vw,60px);line-height:1.08}
  #trial .lede{max-width:min(600px,42vw);font-size:16px;line-height:1.6;margin-top:18px}
  .th-eco-in .app-hero-cta{margin-top:24px}
}

/* ---- 6. o FAQ e o rodapé ------------------------------------------------ */
/* O acordeão é o do site.css, sem override. O rodapé
   leva o logo do Marvee Hub pra fundo escuro e a linha de direitos. */
/* O FAQ é a ilha azul do design system (.sec-blue), mais contida que a
   padrão: 4% do --blue na navy em vez de 10% (com 10% ficou "azul caneta",
   disse a autora). Só pra dobra não ficar igual ao resto do escuro. O
   rodapé continua a ilha, no mesmo tom. */
#faq.sec-blue{background:color-mix(in srgb,var(--blue) 4%,var(--bg));border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 -30px 80px -40px rgba(0,0,0,.55)}
.th-foot{display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 24px 48px;text-align:center;background:color-mix(in srgb,var(--blue) 4%,var(--bg))}
.th-foot img{display:block;height:26px;width:auto}
.th-foot p{margin:0;font-size:14px;color:var(--muted)}

/* ---- 7. o nav sobre fundo claro ---------------------------------------- */
/* .is-claro vem do lp.js quando uma seção clara passa por baixo da pílula:
   vidro claro, texto escuro e o símbolo nas cores pra fundo claro. */
/* respiro no menu em pílula (pedido da autora, 21/10): a pílula compacta é
   medida pela largura mínima do conteúdo (lp-hub/lp.js, --pillw), então o
   espaço entre o logo, os links e a CTA precisa estar no próprio conteúdo */
@media(min-width:901px){
  nav.nav-lp.nav-pill .nav-links{gap:clamp(26px,2.6vw,38px);margin-inline:clamp(20px,2.4vw,36px)}
  nav.nav-lp.nav-pill .nav-in{padding:8px 9px 8px 24px}
  /* a altura da barra do site da Marvee (marvee.com.br): 72px, com a CTA
     de 46px; o screen-fit das LPs do Hub (56px) fica só no celular */
  body.lp-hub nav.nav-lp.nav-pill .nav-in{min-height:72px;padding:12px 13px 12px 26px}
  body.lp-hub nav.nav-lp.nav-pill .nav-in .btn-sm{min-height:46px;padding:12px 22px;font-size:14px}
}
nav.nav-lp.nav-pill.is-claro.is-boxed .nav-in{
  background:rgba(251,252,255,.8);border-color:rgba(16,24,40,.1);
  box-shadow:0 18px 44px -28px rgba(20,27,51,.45);
}
nav.nav-lp.nav-pill.is-claro .mm-link{color:var(--light-tx2)}
nav.nav-lp.nav-pill.is-claro .mm-link:hover{color:var(--light-tx)}
nav.nav-lp.nav-pill.is-claro .logo svg{--logo-corpo:#5BC0BE;--logo-asa:#3A506B}
nav.nav-lp.nav-pill.is-claro .wordmark{color:var(--light-tx)}
nav.nav-lp.nav-pill.is-claro .wordmark .hub{color:var(--light-mut)}
nav.nav-lp.nav-pill :is(.wordmark,.mm-link){transition:color .3s var(--ease-soft)}
/* link dentro de resposta do FAQ (o preço aponta pros planos da /hub):
   neutro e sublinhado, nunca teal em ação de UI */
.faq-a a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.faq-a a:hover{text-decoration-thickness:2px}

/* ---- responsivo -------------------------------------------------------- */
@media(max-width:600px){
  /* Os dois botões do hero empilhados e com a mesma largura, em 16px (o
     site.css encolhe a .hero-cta pra 13,5px pra caber lado a lado). */
  .gestao-hero .hero-cta{flex-direction:column;align-items:stretch;max-width:272px;margin-inline:auto}
  .gestao-hero .hero-cta .btn{font-size:16px;padding:14px 20px}
  /* A linha do cupom ganha a segunda linha quando a prévia traz o plano:
     o lugar dela já fica guardado, e o mockup não desce. */
  .th-cupom{min-height:3.4em}
  /* a cena sobe: menos respiro entre a linha do cupom e ela */
  .gestao-hero .hero-stage.th-live{margin-top:36px}
  .gestao-hero .hero-cta{margin-top:26px}
  /* a CTA do teste no tamanho da do hero */
  .th-eco-in .btn{font-size:16px;padding:14px 22px;width:100%;max-width:272px}
  /* Marvin: só o tópico ativo mostra o texto, pra lista ficar curta e o
     palco continuar por perto; título com alvo de toque de 44px */
  .th-aba:not(.is-on) button>span:not(.th-aba-ic){display:none}
  .th-aba button{column-gap:12px}
  .th-aba-ic{width:38px;height:38px;border-radius:11px}
  .th-aba-ic img{width:19px;height:19px}
  .th-aba button{min-height:44px;padding-top:14px}
  .th-aba button>span:not(.th-aba-ic){margin-top:8px}
  .th-abas{gap:8px}
  .th-foot{padding-bottom:36px}
  .sc-log .sc-outras .af-btn{min-height:40px}
}
@media(prefers-reduced-motion:reduce){
  .sc-digitando span{animation:none}
}
