/* Bora! IA · /raiox · estilos só desta página · v3 · 23/10/2026
   Depende de bora.css (tokens, seção, tipografia, botões, vidro, formulário, movimento).
   Aqui só vive o que é do raio-x: hero, quiz, dados, radar, resultado, oferta e reunião.
   Regra de cache: as páginas importam com ?v=N. Mudou este arquivo, sobe o N.
   v3 (23/10, pedido do Bruno: "não tem cara de coisa gratuita, tem cara de site institucional"): hero de ferramenta
   (carimbo "grátis", passos numerados no desenho das opções do quiz, prévia do resultado num cartão com barra de janela,
   foto do evento como textura com véu forte); moldura dos três sócios no bloco da reunião; aviso de produto pago no cartão
   de preço; rodapé mínimo; saem o fecho institucional, os depoimentos e os chips com ícone.
   v2 (23/10, revisão do Opus): rótulos do radar sem text-anchor no CSS (o inline do JS manda) e viewBox com margem;
   hero do celular com o texto antes da roda; risco do "De R$ 97" visível; atalho fixo para o próximo passo no celular;
   CTA no cartão da primeira rota; estado sem JS. */

/* ------------------------------------------------------------------ 0. Base desta página */
/* O JS esconde etapas e blocos com o atributo hidden; classes com display (.form, .preco__tempo) não podem vencer o atributo. */
[hidden]{display:none!important}
/* sem JS: a prévia (desenhada pelo JS), o cabeçalho do quiz e o atalho não aparecem; o aviso do <noscript> fica sozinho no cartão */
html:not(.js) .hero-rx__roda,html:not(.js) .quiz__topo,html:not(.js) .quiz__barra,html:not(.js) .atalho{display:none}

/* ------------------------------------------------------------------ 1. Hero (ferramenta gratuita) */
.hero-rx{padding-top:calc(var(--pad-secao) + var(--nav-h));min-height:min(88vh,900px);display:flex;align-items:center}
/* véu extra por cima do lateral: a foto do evento vira textura e o pé do hero funde no fundo da seção do quiz */
.hero-rx__veu{background:linear-gradient(180deg,rgba(11,13,16,.42) 0%,rgba(11,13,16,.26) 40%,rgba(11,13,16,.8) 80%,#0B0D10 100%)}
.hero-rx__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center;width:100%}
.hero-rx__texto{display:flex;flex-direction:column;align-items:flex-start}
/* carimbo + eyebrow na mesma linha, antes do H1 */
.hero-rx__topo{display:flex;align-items:center;gap:clamp(16px,2vw,24px)}
.hero-rx__topo .regua{margin:14px 0 0}
.hero-rx .tt--capa{margin-top:26px;font-size:clamp(34px,4.6vw,66px)}
.hero-rx__sub{max-width:560px;margin-top:22px}
.hero-rx__texto .cta-linha{margin-top:30px}
/* reforço junto do botão: não custa nada, resultado na hora */
.hero-rx__ref{display:flex;align-items:flex-start;gap:10px;margin-top:14px;max-width:540px;color:var(--apoio-esc)}
.hero-rx__ref .ico{width:18px;height:18px;margin-top:3px}
/* três passos numerados, no mesmo desenho das letras das opções do quiz (a pessoa já reconhece a ferramenta antes de começar) */
.hero-rx__passos{display:grid;gap:10px;margin-top:32px;padding-top:22px;max-width:560px;border-top:1px solid rgba(220,198,162,.14)}
.hero-rx__passos li{display:flex;align-items:flex-start;gap:12px;font:400 var(--fs-peq)/1.45 var(--texto);color:var(--apoio-esc)}
.hero-rx__n{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid rgba(220,198,162,.45);background:rgba(220,198,162,.06);display:inline-flex;align-items:center;justify-content:center;font:300 13px/1 var(--display);color:var(--ouro-claro)}

/* carimbo "grátis": redondo, inclinado, texto na borda. É decoração (aria-hidden): a palavra está no H1 e no botão.
   Dourado só em traço e texto, sem preenchimento forte, para nunca parecer botão. */
.selo-gratis{flex:none;width:clamp(92px,9vw,120px);aspect-ratio:1;transform:rotate(-10deg);filter:drop-shadow(0 0 26px rgba(47,210,122,.45))}
.selo-gratis svg{width:100%;height:100%;overflow:visible}
.selo-gratis__anel{fill:none;stroke:rgba(47,210,122,.9);stroke-width:1.2}
.selo-gratis__anel--ext{stroke:rgba(47,210,122,.75);stroke-width:1.6;stroke-dasharray:3 2.6}
.selo-gratis__fundo{fill:#2FD27A}  /* v3: selo cheio em verde, igual ao do /diagnostico (Bruno: tem que parecer gratuito) */
.selo-gratis__arco{font:600 9.6px var(--texto);letter-spacing:.26em;fill:var(--verde-claro)}
.selo-gratis__txt{font:600 18.5px var(--display);letter-spacing:.05em;fill:var(--verde-texto)}

/* prévia do resultado: a roda de exemplo dentro de um cartão que parece a tela de um app (barra de janela, nota, legenda) */
.hero-rx__roda{display:flex;justify-content:center}
.previa{width:100%;max-width:500px;padding:clamp(14px,1.8vw,20px) clamp(14px,1.8vw,22px) clamp(16px,1.8vw,22px)}
.previa__topo{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(220,198,162,.14)}
.previa__pontos{display:inline-flex;gap:5px}
.previa__pontos i{width:8px;height:8px;border-radius:50%;background:rgba(247,247,245,.16)}
.roda-demo{position:relative;width:100%;padding-top:8px}
.roda-demo::before{content:"";position:absolute;left:50%;top:50%;width:72%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--halo-logo);pointer-events:none}
.previa__pe{display:flex;align-items:center;gap:14px;padding-top:12px;border-top:1px solid rgba(220,198,162,.14)}
.previa__nota{flex:none;display:flex;flex-direction:column;gap:3px}
.previa__nota b{font:200 34px/1 var(--display);color:var(--ouro);text-shadow:var(--glow-texto);white-space:nowrap}
.previa__nota b small{font-size:.45em;color:var(--ouro-claro);font-weight:300;margin-left:1px}
.previa__nota .rot{font-size:10px;letter-spacing:.14em}
.previa__pe .peq{font-size:13px;line-height:1.45}
@media (max-width:900px){
  .hero-rx{min-height:0;padding-top:calc(24px + var(--nav-h))}
  .hero-rx__grid{grid-template-columns:1fr;gap:28px}
  /* celular: primeiro a promessa, o botão e os passos; a prévia vem depois (a primeira leitura é a pergunta, não a legenda do exemplo) */
  .hero-rx__roda{order:1}
  .previa{max-width:380px}
  .hero-rx__passos{margin-top:26px}
}

/* ------------------------------------------------------------------ 2. Radar (SVG desenhado à mão; o JS escreve o viewBox "-34 0 568 440": 6 eixos, raio 144, margem lateral para os rótulos) */
.radar{width:100%;height:auto;overflow:visible}
.radar__anel{fill:none;stroke:rgba(220,198,162,.16);stroke-width:1}
.radar__anel--ext{stroke:rgba(220,198,162,.34)}
.radar__eixo{fill:none;stroke:rgba(220,198,162,.22);stroke-width:1}
.radar__area{fill:rgba(196,168,120,.22);stroke:var(--ouro-aceso);stroke-width:2;stroke-linejoin:round;filter:drop-shadow(0 0 14px rgba(224,199,164,.55))}
.radar__ponto{fill:#0B0D10;stroke:var(--ouro-aceso);stroke-width:2;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .5s var(--mola)}
.radar__ponto--rota{fill:var(--ouro-aceso)}
.radar--on .radar__ponto{transform:scale(1)}
/* sem text-anchor aqui: no SVG a propriedade do CSS vence o atributo, e o alinhamento (start/middle/end) é por eixo, escrito inline pelo JS */
.radar__rot{font:500 16px var(--texto);fill:var(--apoio-esc)}
.radar__num{font:300 20px var(--display);fill:var(--ouro-claro);font-variant-numeric:tabular-nums}
.radar__rot--rota{fill:var(--off)}
.radar__centro{fill:rgba(220,198,162,.06);stroke:rgba(220,198,162,.35);stroke-width:1}
.radar__ia{font:600 10px var(--texto);letter-spacing:.3em;fill:var(--ouro-claro);text-anchor:middle}
.radar__rot,.radar__num{opacity:0;transition:opacity .6s ease}
.radar--on .radar__rot,.radar--on .radar__num{opacity:1}
.radar--demo .radar__rot,.radar--demo .radar__num{opacity:1}
.radar--demo .radar__num{display:none}
.radar--demo .radar__rot{font-size:17px;fill:var(--mut-esc)}
.radar--demo .radar__anel{stroke:rgba(220,198,162,.26)}
.radar--demo .radar__anel--ext{stroke:rgba(220,198,162,.45)}
.radar--mini{max-width:160px;margin:0 auto 22px}
.radar--mini .radar__rot,.radar--mini .radar__num,.radar--mini .radar__ia,.radar--mini .radar__centro{display:none}
.radar--mini .radar__area{animation:lateja 1.4s ease-in-out infinite}
@media (max-width:600px){
  .radar__rot{font-size:22px}
  .radar__num{font-size:24px}
  .radar--demo .radar__rot{font-size:24px}
}

/* ------------------------------------------------------------------ 3. Quiz */
.quiz__cartao{padding:clamp(22px,3.2vw,44px);max-width:820px;margin:0 auto}
.quiz__topo{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.quiz__tag{color:var(--ouro-claro);text-align:right}
.quiz__barra{height:3px;border-radius:2px;background:rgba(247,247,245,.1);overflow:hidden;margin-bottom:clamp(24px,3.4vw,40px)}
.quiz__barra i{display:block;height:100%;background:var(--grad-regua);transform-origin:0 50%;transform:scaleX(var(--p,0));transition:transform .6s var(--ease-fio);box-shadow:0 0 12px rgba(224,199,164,.6)}
.quiz__tela{outline:none}
.js .quiz__tela.entra{animation:sobe .55s var(--mola) both}
.js .quiz__tela.entra--volta{animation-name:daEsquerda}
.quiz__pergunta{font-size:clamp(23px,2.6vw,36px)}
.quiz__ajuda{margin-top:10px}
.opcoes{border:0;padding:0;margin:clamp(22px,3vw,32px) 0 0;display:grid;gap:10px}
.opcoes--2col{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.opcoes--2col{grid-template-columns:1fr}}
.opcao{position:relative;display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 16px 14px 14px;border-radius:16px;border:1px solid rgba(247,247,245,.12);background:rgba(247,247,245,.03);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s ease,background .2s ease,transform .25s var(--ease-out),box-shadow .2s ease}
.opcao input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.opcao__idx{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid rgba(220,198,162,.3);display:inline-flex;align-items:center;justify-content:center;font:300 13px/1 var(--display);letter-spacing:.04em;color:rgba(220,198,162,.75);transition:background .2s,color .2s,border-color .2s}
.opcao__txt{font:400 clamp(15px,1.25vw,17px)/1.4 var(--texto);color:var(--off);flex:1;text-wrap:pretty}
.opcao__ok{width:18px;height:18px;flex:none;stroke:var(--carvao);opacity:0;transform:scale(.6);transition:opacity .2s,transform .3s var(--mola)}
@media (hover:hover){
  .opcao:hover{border-color:rgba(47,210,122,.5);background:rgba(47,210,122,.06);transform:translateY(-1px)}
}
.opcao:has(input:focus-visible){outline:2px solid var(--verde-claro);outline-offset:3px}
.opcao--sel,.opcao:has(input:checked){border-color:var(--verde);background:rgba(47,210,122,.12);box-shadow:0 0 0 4px rgba(47,210,122,.2)}
.opcao--sel .opcao__idx,.opcao:has(input:checked) .opcao__idx{background:var(--grad-verde);border-color:var(--verde);color:var(--verde-texto)}
.opcao--sel .opcao__ok,.opcao:has(input:checked) .opcao__ok{opacity:1;transform:scale(1);stroke:var(--verde-claro)}
.opcao--trava{opacity:.45;cursor:not-allowed}
.opcao--trava:hover{transform:none;border-color:rgba(247,247,245,.12);background:rgba(247,247,245,.03)}
.quiz__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:clamp(22px,3vw,32px);padding-top:18px;border-top:1px solid rgba(220,198,162,.12)}
.quiz__nav .btn--fantasma[hidden]{display:none}
.quiz__nav .btn--ouro{margin-left:auto}
.quiz__nav .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
@media (max-width:420px){.quiz__nav{flex-wrap:wrap}.quiz__nav .btn--ouro{flex:1 1 100%}}

/* ------------------------------------------------------------------ 4. Dados */
.dados__cartao{padding:clamp(22px,3.2vw,44px)}
.dados__cab{margin-bottom:26px}
.dados__cab .tt2{margin-top:10px}
.dados__cab .txt{margin-top:12px}
.dados .quiz__nav{border-top:0;padding-top:4px;margin-top:6px}
.dados .quiz__nav .btn--ouro{flex:1}
.analisando{text-align:center;padding:clamp(20px,3vw,36px) 0}
.analisando .pergunta{font-size:clamp(18px,2vw,26px)}

/* ------------------------------------------------------------------ 5. Resultado */
.res__cab{max-width:900px}
.res__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.res__radar{margin:0;display:flex;justify-content:center}
.res__radar .radar{max-width:520px}
.res__lado{display:flex;flex-direction:column;gap:clamp(24px,3vw,36px)}
.res__geral .kn{font-size:clamp(56px,6vw,88px)}
.res__blocos{display:grid;gap:22px}
.res__bloco .rot{margin-bottom:12px}
.res__nota{margin:-4px 0 12px}
.res__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.res__card{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.res__card .h3{font-size:clamp(16px,1.3vw,19px);display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.res__card .h3 b{font:200 clamp(26px,2.4vw,34px)/1 var(--display);color:var(--ouro);font-variant-numeric:tabular-nums;text-shadow:var(--glow-texto)}
.res__card .peq{font-size:clamp(13px,1vw,15px)}
.res__card--fraco .h3 b{color:var(--stone);text-shadow:none;opacity:.85}
@media (max-width:900px){
  .res__grid{grid-template-columns:1fr;gap:24px}
  .res__radar .radar{max-width:440px}
}
/* celular: a figura avança 17 px sobre a margem de cada lado, e os rótulos laterais do radar ficam com uns 14 px */
@media (max-width:600px){.res__radar{margin-inline:calc(12px - var(--gutter))}}
@media (max-width:480px){.res__cards{grid-template-columns:1fr}}

/* primeira rota (cartão ligado) */
.rota-ia{margin-top:clamp(36px,5vw,64px);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.rota-ia__cab{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.rota-ia__cab .h3{font-size:clamp(20px,2vw,28px)}
.rota-ia__cab .h3 b{font-weight:300;color:var(--ouro-claro);text-shadow:var(--glow-texto)}
.rota-ia__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;padding-top:18px;border-top:1px solid rgba(220,198,162,.18)}
.rota-ia__grid .rot{margin-bottom:8px;color:var(--ouro-claro)}
@media (max-width:700px){.rota-ia__grid{grid-template-columns:1fr}}
/* atalho para o próximo passo dentro do cartão (no celular a oferta ficava a umas cinco telas do início do resultado) */
.rota-ia__cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding-top:18px;border-top:1px solid rgba(220,198,162,.18)}
.rota-ia__cta .peq{flex:1 1 260px;color:var(--apoio-esc)}
.rota-ia__cta .num-tab{color:var(--off);font-weight:500}
@media (max-width:520px){.rota-ia__cta .btn{width:100%}}

/* área por área */
.res__areas{margin-top:clamp(48px,6vw,88px)}
.res__areas .cab{margin-bottom:clamp(24px,3vw,40px)}
.areas{display:grid;gap:6px}
.area{display:grid;grid-template-columns:auto 1fr;gap:16px 20px;align-items:start;padding:clamp(18px,2.2vw,26px) 0;border-bottom:1px solid rgba(220,198,162,.12)}
.area:last-child{border-bottom:0}
.area .idx{padding-top:3px;min-width:2.3em}
.area__topo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.area__topo .h3{font-size:clamp(17px,1.5vw,22px)}
.area__chip{display:inline-block;font:600 11px/1.2 var(--texto);letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid rgba(247,247,245,.2);color:var(--mut-esc)}
.area__chip--forte{border-color:rgba(196,168,120,.6);color:var(--ouro-claro);background:rgba(196,168,120,.1)}
.area__chip--medio{border-color:rgba(220,198,162,.3);color:var(--stone)}
.area__chip--rota{background:rgba(196,168,120,.12);border-color:var(--ouro);color:var(--ouro-claro)}
.area__nota{margin-left:auto;font:200 clamp(26px,2.6vw,36px)/1 var(--display);color:var(--ouro);font-variant-numeric:tabular-nums;text-shadow:var(--glow-texto)}
.area__barra{position:relative;height:4px;border-radius:2px;background:rgba(247,247,245,.08);margin:12px 0 12px;overflow:hidden}
.area__barra i{position:absolute;left:0;top:0;bottom:0;width:100%;border-radius:2px;background:var(--grad-regua);transform-origin:0 50%;transform:scaleX(var(--n,0));transition:transform 1.1s var(--ease-fio) .2s}
.js .area:not(.vis) .area__barra i{transform:scaleX(0)}
.area .peq{max-width:760px;color:var(--apoio-esc);font-size:var(--fs-peq)}
.res__refazer{margin-top:clamp(32px,4vw,48px);display:flex;justify-content:center}
@media (max-width:560px){.area{grid-template-columns:1fr;gap:8px}.area .idx{display:none}}

/* ------------------------------------------------------------------ 6. Oferta (formação) */
.oferta__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,64px);align-items:start}
.oferta__inclui .rot{margin-bottom:10px}
.oferta__quem{margin-top:28px;padding-top:22px;border-top:1px solid rgba(220,198,162,.14)}
.preco{padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:18px;overflow:hidden;position:sticky;top:calc(var(--nav-h) + 16px)}
/* aviso de produto pago: o raio-x foi grátis, a formação não é; fica antes do valor, em caixa discreta */
.preco__aviso{padding:12px 14px;border-radius:12px;border:1px solid rgba(247,247,245,.12);background:rgba(247,247,245,.04);color:var(--apoio-esc);font-size:13px;line-height:1.5}
.preco__valores{display:flex;flex-direction:column;gap:4px}
.preco__de{font:300 clamp(18px,1.8vw,24px)/1.2 var(--display);color:var(--mut-esc)}
.preco__de s{text-decoration:none;position:relative;display:inline-block}
/* o risco fica visível por padrão (sem JS também); com JS some até a seção entrar e então estica: o keyframe "estica" parte de scaleX(0) e termina no valor base, por isso a base não pode ser scaleX(0) */
.preco__de s::after{content:"";position:absolute;left:-3px;right:-3px;top:52%;height:2px;background:var(--ouro);transform-origin:0 50%}
.js .sl:not(.cur) .preco__de s::after{transform:scaleX(0)}
.cur .preco__de s::after{animation:estica .7s ease .9s both}
.preco__por{display:flex;align-items:baseline;gap:10px}
.preco__por small{font:400 var(--fs-peq) var(--texto);color:var(--mut-esc)}
.preco__num{font:200 clamp(56px,6.5vw,96px)/1 var(--display);letter-spacing:-.04em;color:var(--ouro-claro);text-shadow:var(--glow-numero)}
.preco__tempo{display:grid;gap:10px;padding:16px 18px;border-radius:16px;border:1px solid rgba(220,198,162,.22);background:rgba(220,198,162,.05)}
.preco__relogio{display:flex;align-items:baseline;gap:12px}
.preco__mmss{font:300 clamp(30px,3vw,40px)/1 var(--display);color:var(--off);letter-spacing:.02em}
.preco__expirou{padding:14px 18px;border-radius:16px;border:1px solid rgba(247,247,245,.14);background:rgba(247,247,245,.04);color:var(--apoio-esc)}
.preco--expirou .preco__de,.preco--expirou .preco__por small{display:none} /* expirado: sem "De" e sem o "por" solto */
@media (max-width:900px){
  .oferta__grid{grid-template-columns:1fr}
  .preco{position:static}
  .oferta__inclui{order:2}
}

/* ------------------------------------------------------------------ 7. Reunião */
.entregas .ficha{gap:12px}
.entregas .idx{margin-bottom:4px}
.reuniao__cta{margin-top:clamp(36px,5vw,56px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,64px);align-items:center;padding-top:clamp(28px,4vw,44px);border-top:1px solid rgba(220,198,162,.14)}
.reuniao__lado{display:grid;gap:clamp(22px,3vw,32px)}
.reuniao__como .rot{margin-bottom:10px}
.reuniao__btn{display:grid;gap:12px}
/* os três sócios em moldura (regra da marca: foto de pessoa em card com borda arredondada, sombra e o nome embaixo) */
.quem{margin:0;display:flex;flex-direction:column;gap:14px;max-width:440px}
.quem__foto{position:relative;aspect-ratio:3/4;border-radius:var(--r-print);overflow:hidden;background:#0F1215;border:1px solid rgba(220,198,162,.22);box-shadow:var(--sombra-print)}
/* recorte por baixo: na foto original (1000x1500) o letreiro do fundo ocupa até 16% da altura; em 3:4 o recorte tira 11% e o véu abaixo cobre o resto, terminando antes das cabeças */
.quem__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.quem figcaption{font:400 13px/1.5 var(--texto);color:var(--mut-esc)}
.quem figcaption b{display:block;font:500 15px/1.3 var(--display);color:var(--off);margin-bottom:3px}
@media (max-width:820px){
  .reuniao__cta{grid-template-columns:1fr}
  .quem{max-width:360px;margin:0 auto}
}

/* ------------------------------------------------------------------ 7b. Atalho fixo (só celular): o próximo passo e o cronômetro à mão enquanto a pessoa lê o resultado */
.atalho{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:35;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;border-radius:18px;border:1px solid rgba(220,198,162,.35);background:rgba(20,24,29,.96);box-shadow:0 24px 50px -20px rgba(0,0,0,.9),0 0 30px -12px rgba(220,198,162,.45)}
.atalho__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.atalho__txt b{font:500 15px/1.25 var(--display);color:var(--off);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden} /* v5: até duas linhas em vez de cortar com reticências em 390 px */
.atalho__txt .peq{font-size:13px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.atalho__txt .num-tab{color:var(--ouro-claro)}
.atalho .btn{flex:none}
.js .atalho:not([hidden]){animation:sobe .45s var(--mola) both}
@media (min-width:901px){.atalho{display:none!important}}

/* ------------------------------------------------------------------ 8. Rodapé mínimo (logo pequeno, termos e privacidade; sem assinatura nem nomes) */
.rodape--min{padding:clamp(28px,4vw,44px) var(--gutter) 36px}
.rodape--min .rodape__in{flex-direction:column;justify-content:center;gap:14px;text-align:center}
.rodape--min .rodape__logo{height:18px}

/* ------------------------------------------------------------------ 9. Movimento reduzido */
@media (prefers-reduced-motion:reduce){
  .radar__ponto{transform:scale(1)}
  .radar__rot,.radar__num{opacity:1}
  .js .area:not(.vis) .area__barra i{transform:scaleX(var(--n,0))}
  .preco__de s::after,.js .sl:not(.cur) .preco__de s::after{transform:none}
  .radar--mini .radar__area{animation:none}
  .js .atalho:not([hidden]){animation:none}
}
