/* a segunda voz tipográfica (itálico leve) não vem na folha de fontes do site: carrega aqui */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@1,300;1,400&family=Instrument+Serif:ital@0;1&display=swap');

/* ==========================================================================
   RDX · seções de rolagem
   Tudo aqui tem escopo em #secoes. Nenhuma regra solta em body, h1 ou *.
   Toda classe começa com rx-.

   RÉGUA ÚNICA
   Uma unidade, --u, presa à largura da tela e com teto pela altura.
   Todo tamanho de fonte, margem e espaçamento é múltiplo dela.
     computador (992 px ou mais)    --u = min(100vw / 108, 100vh / 62)
     tablet     (768 a 991 px)      --u = 100vw / 64
     celular    (menos de 768 px)   --u = 100vw / 36
   Os papéis de texto ficam em variáveis (--rx-f-*) e cada faixa de tela só troca
   o multiplicador. Texto pequeno tem piso em px para nunca ficar ilegível.

   Estados que o JS liga no contêiner:
     #secoes.rx-js      o módulo carregou (acordeão, cursor, contadores)
     #secoes.rx-anima   carregou E o visitante aceita movimento (pins, trilho)
   Sem nenhuma das duas a página continua inteira e legível.
   ========================================================================== */

#secoes {
  --u: min(calc(100vw / 108), calc(100vh / 62));

  --rx-f-rotulo:   max(9px, calc(var(--u) * .625));
  --rx-f-apoio:    max(12px, calc(var(--u) * .95));
  --rx-f-corpo:    max(13px, calc(var(--u) * 1.25));
  --rx-f-citacao:  max(16px, calc(var(--u) * 1.75));
  --rx-f-subtitulo: max(15px, calc(var(--u) * 1.75));
  --rx-f-secao:    calc(var(--u) * 4.6);
  --rx-f-destaque: calc(var(--u) * 7);
  --rx-f-frase:    calc(var(--u) * 8);

  --rx-margem:  calc(var(--u) * 1.25);
  --rx-respiro: calc(var(--u) * 10);
  --rx-vao:     calc(var(--u) * 1);
  --rx-topo:    max(84px, calc(var(--u) * 7.5));   /* espaço para o topo fixo do site */
  --rx-janela:  100svh;
  --rx-veu:     26vh;

  --rx-fundo: #050706;
  --rx-fundo-2: #0a0e0c;
  --rx-fundo-3: #10160f;
  --rx-claro: #dfe5dc;
  --rx-verde: #4ade80;
  --rx-lima: #c8f52a;
  --rx-ciano: #22e3d6;
  --rx-branco: #ffffff;
  --rx-t2: #8a938e;
  --rx-t3: #5d6661;
  --rx-neg: #ff6b5c;
  --rx-borda: rgba(255, 255, 255, .12);
  --rx-borda-forte: rgba(255, 255, 255, .22);
  --rx-bloco: var(--rx-lima);                     /* cor do bloco que revela o texto */

  --rx-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --rx-mono: 'IBM Plex Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;
  --rx-suave: cubic-bezier(.19, 1, .22, 1);   /* saída longa e macia */
  --rx-firme: cubic-bezier(.76, 0, .24, 1);

  position: relative;
  z-index: 6;                                     /* acima do hero (5), abaixo do topo fixo (10) */
  display: block;
  font-family: var(--rx-sans);
  font-size: var(--rx-f-corpo);
  line-height: 1.3;
  color: var(--rx-branco);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  pointer-events: none;                           /* a janela deixa o mouse chegar no hero */
}

@media (max-width: 991.98px) {
  #secoes {
    --u: calc(100vw / 64);
    --rx-f-rotulo:   max(9px, calc(var(--u) * .8));
    --rx-f-apoio:    calc(var(--u) * 1);
    --rx-f-corpo:    calc(var(--u) * 1.25);
    --rx-f-citacao:  calc(var(--u) * 1.7);
    --rx-f-subtitulo: calc(var(--u) * 1.7);
    --rx-f-secao:    calc(var(--u) * 3.6);
    --rx-f-destaque: calc(var(--u) * 5);
    --rx-f-frase:    calc(var(--u) * 5.4);
    --rx-margem:  calc(var(--u) * 1.5);
    --rx-respiro: calc(var(--u) * 8);
    --rx-topo:    max(76px, calc(var(--u) * 6.5));
  }
}
@media (max-width: 767.98px) {
  #secoes {
    --u: calc(100vw / 36);
    --rx-f-rotulo:   calc(var(--u) * .9);
    --rx-f-apoio:    calc(var(--u) * 1.15);
    --rx-f-corpo:    calc(var(--u) * 1.4);
    --rx-f-citacao:  calc(var(--u) * 1.8);
    --rx-f-subtitulo: calc(var(--u) * 1.7);
    --rx-f-secao:    calc(var(--u) * 2.9);
    --rx-f-destaque: calc(var(--u) * 3.4);
    --rx-f-frase:    calc(var(--u) * 3.5);
    --rx-margem:  calc(var(--u) * 1.5);
    --rx-respiro: calc(var(--u) * 7);
    --rx-vao:     calc(var(--u) * 1.2);
    --rx-topo:    calc(var(--u) * 7.4);
  }
}

#secoes > * { pointer-events: auto; }
#secoes *, #secoes *::before, #secoes *::after { box-sizing: border-box; }
#secoes :where(h2, h3, h4, p, ul, ol, dl, dd, dt, figure, blockquote) { margin: 0; padding: 0; }
#secoes :where(ul, ol) { list-style: none; }
#secoes :where(a) { color: inherit; }
#secoes :where(svg) { display: block; }
#secoes :where(b, strong) { font-weight: 700; }
#secoes ::selection { background: var(--rx-lima); color: var(--rx-fundo); }
#secoes :where(a, button, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--rx-lima);
  outline-offset: 3px;
  border-radius: 4px;
}
#secoes .rx-so-leitor {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* janela do hero (a página principal sobrescreve a altura e esconde o véu) */
#secoes > .rx-janela {
  position: relative;
  height: calc(var(--rx-janela) + var(--rx-veu));
  pointer-events: none;
}
#secoes > .rx-janela::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: var(--rx-veu);
  background: linear-gradient(to bottom, rgba(5, 7, 6, 0) 0%, rgba(5, 7, 6, .62) 46%, var(--rx-fundo) 100%);
}

/* ─── papéis de texto ────────────────────────── */
#secoes .rx-secao { position: relative; background: var(--rx-fundo); }

#secoes .rx-etiqueta {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--u) * .7);
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--rx-verde);
}
#secoes .rx-etiqueta::before {
  content: '';
  flex: none;
  width: .7em; height: .7em;
  background: currentColor;
}
#secoes .rx-etiqueta-escura { color: var(--rx-fundo); }

/* as duas vozes: sem serifa pesada em branco, itálico leve em lima nas palavras-chave */
#secoes .rx-frase,
#secoes .rx-destaque,
#secoes .rx-titulo {
  font-weight: 700;
  text-transform: uppercase;
  text-wrap: balance;
  overflow-wrap: break-word;
}
#secoes .rx-frase    { font-size: var(--rx-f-frase);    line-height: .87; letter-spacing: -.035em; }
#secoes .rx-destaque { font-size: var(--rx-f-destaque); line-height: .84; letter-spacing: -.035em; }
#secoes .rx-titulo   { font-size: var(--rx-f-secao);    line-height: .886;  letter-spacing: -.03em; }
#secoes :where(.rx-frase, .rx-destaque, .rx-titulo) em {
  font-style: italic;
  font-weight: 300;
  letter-spacing: -.045em;
  color: var(--rx-lima);
}
#secoes .rx-texto {
  font-size: var(--rx-f-corpo);
  line-height: 1.3;
  color: var(--rx-t2);
  max-width: 34em;
  text-wrap: pretty;
}
#secoes .rx-centro { text-align: center; justify-items: center; }

/* revelação por bloco: o bloco atravessa a linha, o texto aparece atrás, o bloco sai */
#secoes .rx-linha-mask,
#secoes .rx-l {
  position: relative;
  display: block;
  width: fit-content;
  white-space: nowrap;          /* a linha já foi decidida: não pode quebrar de novo dentro do recorte */
  overflow: clip;
  padding: .2em .08em .12em;
  margin: -.2em -.08em -.12em;
}
#secoes .rx-centro .rx-linha-mask,
#secoes .rx-centro .rx-l { margin-left: auto; margin-right: auto; }
#secoes .rx-bloco {
  position: absolute;
  z-index: 2;
  inset: .12em 0 .04em;
  background: var(--rx-bloco);
  pointer-events: none;
  will-change: transform;
}
#secoes:not(.rx-anima) .rx-bloco { display: none; }

#secoes .rx-positivo { color: var(--rx-verde); }
#secoes .rx-negativo { color: var(--rx-neg); }
#secoes .rx-neutro   { color: var(--rx-t2); }
#secoes [data-rx-conta] {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: 'tnum' 1, 'lnum' 1;
  white-space: nowrap;
}

/* cabeça padrão: título à esquerda, apoio na coluna da direita (começa em 49,5% da largura) */
#secoes .rx-cabeca {
  display: grid;
  gap: calc(var(--u) * 2);
  padding: var(--rx-respiro) var(--rx-margem) calc(var(--u) * 5);
  align-items: end;
}
#secoes .rx-cabeca > div { display: grid; gap: calc(var(--u) * 1.6); justify-items: start; align-content: end; }
@media (min-width: 992px) {
  #secoes .rx-cabeca { grid-template-columns: minmax(0, 48.3fr) minmax(0, 51.7fr); column-gap: 0; }
  #secoes .rx-cabeca > div:last-child { max-width: calc(var(--u) * 30); }
}

#secoes .rx-selos { display: flex; flex-wrap: wrap; gap: calc(var(--u) * .5); }
#secoes .rx-selos li {
  display: inline-flex;
  align-items: center;
  gap: .7em;
  padding: .75em 1.1em;
  border: 1px solid var(--rx-borda);
  border-radius: 999px;
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #d6dcd8;
}
#secoes .rx-selos li::before { content: ''; width: .55em; height: .55em; border-radius: 50%; background: var(--rx-verde); }

/* espaço reservado para foto: discreto, na proporção e na posição da referência */
#secoes .rx-reserva {
  border-radius: 3px;
  display: grid;
  place-items: center;
  border: 1px solid var(--rx-borda);
  background: var(--rx-fundo-3);
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--rx-t3);
}

/* o espaço já com a imagem: mesma posição e proporção, sem a moldura de espaço vazio */
#secoes .rx-reserva.rx-foto {
  border: 0;
  background: #050706;
  overflow: hidden;
  padding: 0;
}
#secoes .rx-reserva.rx-foto img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* sobre a seção lima a imagem ganha uma borda escura fina, para não parecer colada */
#secoes .rx-descansa-reserva.rx-foto { box-shadow: 0 0 0 1px rgba(5, 7, 6, .35); }

/* ─── botões ─────────────────────────────────── */
#secoes .rx-botao {
  --rx-b-fundo: var(--rx-lima);
  --rx-b-tinta: #000;
  --rx-b-fundo-2: #ffffff;
  --rx-b-tinta-2: #000;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .9em;
  min-height: max(44px, calc(var(--u) * 3.6));
  padding: 0 calc(var(--u) * 1.8);
  border: 1.5px solid transparent;
  border-radius: 3px;
  overflow: hidden;
  font-family: var(--rx-sans);
  font-size: max(12px, calc(var(--u) * .9));
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  color: var(--rx-b-tinta);
  background: var(--rx-b-fundo);
  cursor: pointer;
  transition: color .6s var(--rx-suave), border-color .6s var(--rx-suave);
}
#secoes .rx-botao::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: -10%; right: -10%;
  top: 0; bottom: 0;
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  background: var(--rx-b-fundo-2);
  transform: translateY(104%);
  transition: transform .7s var(--rx-suave), border-radius .7s var(--rx-suave);
}
#secoes .rx-botao-rotulo { position: relative; display: inline-block; }
#secoes .rx-botao-seta {
  flex: none;
  width: 1.4em; height: 1.4em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .7s var(--rx-suave);
}
#secoes .rx-botao-escuro { --rx-b-fundo: var(--rx-fundo); --rx-b-tinta: var(--rx-lima); }
#secoes .rx-botao-linha {
  --rx-b-fundo: transparent; --rx-b-tinta: var(--rx-fundo);
  --rx-b-fundo-2: var(--rx-fundo); --rx-b-tinta-2: var(--rx-lima);
  border-color: rgba(5, 7, 6, .55);
}
#secoes .rx-botao-contorno {
  --rx-b-fundo: transparent; --rx-b-tinta: var(--rx-branco);
  --rx-b-fundo-2: var(--rx-lima); --rx-b-tinta-2: #000;
  border-color: var(--rx-borda-forte);
}
@media (hover: hover) {
  #secoes .rx-botao:hover { color: var(--rx-b-tinta-2); transition-duration: .2s; }
  #secoes .rx-botao:hover::before { transform: translateY(0); border-radius: 0; transition-duration: .42s; }
  #secoes .rx-botao:hover .rx-botao-seta { transform: translateX(.3em); transition-duration: .3s; }
}

/* ==========================================================================
   2. MANIFESTO (o problema)
   ========================================================================== */
#secoes .rx-manifesto {
  display: grid;
  gap: calc(var(--u) * 2.6);
  padding: calc(var(--u) * 9) var(--rx-margem) calc(var(--u) * 11);
}
#secoes .rx-manifesto-rotulo {
  display: grid;
  justify-items: center;
  gap: calc(var(--u) * .9);
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #d6dcd8;
}
#secoes .rx-manifesto-rotulo svg {
  width: calc(var(--u) * 2.4);
  height: calc(var(--u) * 1.5);
  fill: none;
  stroke: var(--rx-lima);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#secoes .rx-manifesto .rx-frase { width: min(100%, calc(var(--u) * 72)); margin: 0 auto; }
#secoes .rx-manifesto-apoio {
  display: grid;
  justify-items: center;
  gap: calc(var(--u) * 2.2);
  margin-top: calc(var(--u) * 2.4);
}
#secoes .rx-manifesto-apoio .rx-texto { max-width: min(100%, calc(var(--u) * 40)); color: #b9c1bc; }
@media (max-width: 767.98px) {
  #secoes .rx-manifesto-apoio .rx-texto { max-width: 100%; }
}

/* ==========================================================================
   3. TRILHO HORIZONTAL
   Peças de tamanhos diferentes espalhadas em alturas diferentes.
   --x: posição na pista, em u    --y: 0 (em cima) a 1 (embaixo)    --alt: altura reservada, em u
   ========================================================================== */
#secoes .rx-trilho { --rx-tinta: var(--rx-branco); --rx-tinta-2: var(--rx-t2); }
#secoes .rx-trilho-palco { position: relative; overflow: hidden; background: var(--rx-fundo); }
#secoes .rx-trilho-fundo { position: absolute; inset: 0; z-index: 0; background: var(--rx-fundo); }

#secoes .rx-trilho-pista {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  gap: calc(var(--u) * 1.6);
  padding: var(--rx-respiro) var(--rx-margem) calc(var(--u) * 6);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scroll-padding-inline: var(--rx-margem);
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
#secoes .rx-trilho-pista::-webkit-scrollbar { display: none; }

#secoes .rx-trilho-abre {
  flex: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: calc(var(--u) * 1.8);
  width: min(86vw, calc(var(--u) * 52));
  scroll-snap-align: start;
}
#secoes .rx-trilho-dica {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--u) * .9);
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--rx-t2);
}
#secoes .rx-trilho-dica svg {
  width: calc(var(--u) * 3.2); height: calc(var(--u) * 1.6);
  fill: none;
  stroke: var(--rx-lima);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#secoes .rx-dica-mesa { display: none; }

#secoes .rx-legenda {
  display: flex;
  gap: .9em;
  margin-bottom: calc(var(--u) * .6);
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rx-tinta-2);
  white-space: nowrap;
}
#secoes .rx-legenda b { font-weight: 500; color: var(--rx-tinta); font-variant-numeric: tabular-nums; }

#secoes .rx-peca {
  --rx-cor: var(--rx-verde);
  --larg: 27;
  --alt: 35;
  flex: none;
  width: min(78vw, calc(var(--u) * var(--larg)));
  scroll-snap-align: start;
}
#secoes .rx-peca-m { --larg: 21; --alt: 30; }
#secoes .rx-peca[data-rx-cor="lima"]  { --rx-cor: var(--rx-lima); }
#secoes .rx-peca[data-rx-cor="ciano"] { --rx-cor: var(--rx-ciano); }
#secoes .rx-peca-quadro {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: calc(var(--u) * .8);
  min-height: calc(var(--u) * (var(--alt) - 2));
  padding: calc(var(--u) * 1.5);
  border: 1px solid var(--rx-borda);
  border-radius: 3px;
  overflow: hidden;
  color: var(--rx-branco);
  background:
    radial-gradient(120% 70% at 100% 0%, color-mix(in srgb, var(--rx-cor) 10%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #0c110e 0%, #070a08 100%);
  transition: border-color .8s var(--rx-suave);
}
#secoes .rx-peca-numero {
  position: absolute;
  z-index: -1;
  right: -.05em;
  top: -.12em;
  font-family: var(--rx-mono);
  font-size: calc(var(--u) * var(--larg) * .62);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.08em;
  color: transparent;
  -webkit-text-stroke: 1.5px color-mix(in srgb, var(--rx-cor) 36%, transparent);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  user-select: none;
  transition: -webkit-text-stroke-color .8s var(--rx-suave);
}
#secoes .rx-peca-icone {
  width: calc(var(--u) * 3);
  height: calc(var(--u) * 3);
  min-width: 30px; min-height: 30px;
  fill: none;
  stroke: var(--rx-cor);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#secoes .rx-peca-titulo {
  font-size: var(--rx-f-subtitulo);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.025em;
  text-transform: uppercase;
  text-wrap: balance;
}
#secoes .rx-peca-texto {
  font-size: var(--rx-f-apoio);
  line-height: 1.35;
  color: #b9c1bc;
}
#secoes .rx-peca:not(.rx-peca-m) .rx-peca-texto { font-size: max(13px, calc(var(--u) * 1.1)); }
#secoes .rx-peca-cortina {
  position: absolute;
  z-index: 3;
  inset: 0;
  background: var(--rx-lima);
  pointer-events: none;
}
#secoes:not(.rx-anima) .rx-peca-cortina { display: none; }
@media (hover: hover) {
  #secoes .rx-peca:hover .rx-peca-quadro { border-color: color-mix(in srgb, var(--rx-cor) 60%, transparent); transition-duration: .2s; }
  #secoes .rx-peca:hover .rx-peca-numero { -webkit-text-stroke-color: var(--rx-cor); transition-duration: .2s; }
}

#secoes .rx-cita {
  --larg: 19;
  --alt: 11;
  flex: none;
  display: grid;
  align-content: center;
  gap: calc(var(--u) * 1);
  width: min(70vw, calc(var(--u) * var(--larg)));
  scroll-snap-align: start;
}
#secoes .rx-cita p {
  font-size: var(--rx-f-citacao);
  font-style: italic;
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--rx-tinta);
  text-wrap: balance;
}
#secoes .rx-cita p b { font-weight: 700; font-style: normal; }
#secoes .rx-cita cite {
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  font-style: normal;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rx-tinta-2);
}
#secoes .rx-trilho .rx-reserva { --larg: 9; --alt: 12; flex: none; display: none; }
#secoes .rx-trilho-fim { flex: none; width: 1px; }

/* celular e tablet: pista nativa, peças desencontradas na vertical */
@media (max-width: 991.98px) {
  #secoes .rx-trilho-pista > .rx-peca:nth-of-type(odd) { align-self: flex-start; }
  #secoes .rx-trilho-pista > .rx-peca:nth-of-type(even) { align-self: flex-end; margin-top: calc(var(--u) * 4); }
  #secoes .rx-peca { --larg: 26; }
  #secoes .rx-peca-m { --larg: 22; }
}

/* modo fixo: a seção trava e a pista anda de lado (computador, com movimento) */
#secoes .rx-trilho.rx-trilho-fixo .rx-trilho-palco { height: 100vh; height: 100svh; }
#secoes .rx-trilho.rx-trilho-fixo .rx-trilho-pista {
  display: block;
  width: calc(var(--u) * 418);   /* até depois da última peça (382 + 22) com folga para ela parar inteira na tela */
  height: 100%;
  padding: 0;
  overflow: visible;
  scroll-snap-type: none;
  will-change: transform;
}
#secoes .rx-trilho.rx-trilho-fixo .rx-trilho-pista > * {
  position: absolute;
  left: calc(var(--u) * var(--x));
  top: calc(var(--rx-topo) + (100% - var(--rx-topo) - var(--u) * 3 - var(--u) * var(--alt)) * var(--y));
  width: calc(var(--u) * var(--larg));
  will-change: transform;
}
#secoes .rx-trilho.rx-trilho-fixo .rx-trilho-abre {
  --larg: 54; --alt: 22;
  left: var(--rx-margem);
  width: calc(var(--u) * 54);
  height: calc(var(--u) * 22);
}
#secoes .rx-trilho.rx-trilho-fixo .rx-reserva { display: grid; height: calc(var(--u) * var(--alt)); }
#secoes .rx-trilho.rx-trilho-fixo .rx-trilho-fim { display: none; }
#secoes .rx-trilho.rx-trilho-fixo .rx-dica-mesa { display: inline; }
#secoes .rx-trilho.rx-trilho-fixo .rx-dica-toque { display: none; }

/* ==========================================================================
   4. ENQUANTO VOCÊ DESCANSA
   Estado 1 no claro, estado 2 na lima. Frase gigante à direita do centro.
   ========================================================================== */
#secoes .rx-descansa { background: var(--rx-claro); }
#secoes .rx-descansa-palco { position: relative; }
#secoes .rx-descansa-noite,
#secoes .rx-descansa-dia-miolo {
  display: grid;
  gap: calc(var(--u) * 4);
  padding: var(--rx-respiro) var(--rx-margem);
  align-items: center;
}
#secoes .rx-descansa-noite { position: relative; --rx-bloco: var(--rx-fundo); color: var(--rx-fundo); background: var(--rx-claro); }
#secoes .rx-descansa-dia { position: relative; --rx-bloco: var(--rx-fundo); color: var(--rx-fundo); background: var(--rx-lima); }
#secoes .rx-descansa-bloco { display: grid; gap: calc(var(--u) * 1.6); justify-items: start; align-content: center; }
#secoes .rx-descansa-frase em { display: inline-block; color: inherit; opacity: .62; }
#secoes .rx-descansa-dia .rx-descansa-frase em { opacity: .7; }
#secoes .rx-descansa-texto { color: rgba(5, 7, 6, .76); max-width: 26em; font-weight: 500; }
#secoes .rx-descansa-reserva {
  width: calc(var(--u) * 22);
  aspect-ratio: 4 / 5;
  max-width: 60%;
  border-color: rgba(5, 7, 6, .2);
  background: rgba(5, 7, 6, .06);
  color: rgba(5, 7, 6, .45);
}
#secoes .rx-descansa-led {
  display: block;
  width: calc(var(--u) * 1); height: calc(var(--u) * 1);
  min-width: 10px; min-height: 10px;
  border-radius: 50%;
  background: var(--rx-lima);
  outline: 1.5px solid var(--rx-fundo);
  animation: rx-pulso 1.8s var(--rx-suave) infinite;
}
@keyframes rx-pulso {
  0%   { box-shadow: 0 0 0 0 rgba(5, 7, 6, .35); }
  100% { box-shadow: 0 0 0 calc(var(--u) * 1.6) rgba(5, 7, 6, 0); }
}

#secoes .rx-mercados { position: relative; display: grid; align-content: center; }
#secoes .rx-mercados::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1.5px;
  background: rgba(5, 7, 6, .9);
  transform: scaleX(var(--rx-fio, 1));
  transform-origin: 0 50%;
}
#secoes .rx-mercado {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: calc(var(--u) * 1.4);
  padding: calc(var(--u) * 1.3) calc(var(--u) * .8);
  border-bottom: 1.5px solid rgba(5, 7, 6, .9);
  overflow: hidden;
  transition: color .6s var(--rx-suave);
}
#secoes .rx-mercado::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--rx-fundo);
  transform: scaleY(0);
  transform-origin: 50% 100%;
  transition: transform .6s var(--rx-suave);
}
#secoes .rx-mercado-n,
#secoes .rx-mercado-d {
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}
#secoes .rx-mercado-d { text-align: right; }
#secoes .rx-mercado strong {
  font-size: calc(var(--u) * 3);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.035em;
  text-transform: uppercase;
  transition: translate .6s var(--rx-suave);
}
@media (hover: hover) {
  #secoes .rx-mercado:hover { color: var(--rx-lima); transition-duration: .2s; }
  #secoes .rx-mercado:hover::before { transform: scaleY(1); transition-duration: .32s; }
  #secoes .rx-mercado:hover strong { translate: calc(var(--u) * .8) 0; transition-duration: .32s; }
}
@media (min-width: 992px) {
  /* as linhas aqui são compridas (NOSSOS SERVIDORES): 6 u no lugar de 7 u para caber numa linha só */
  #secoes .rx-descansa-frase { font-size: calc(var(--u) * 6); }
  #secoes .rx-descansa-noite,
  #secoes .rx-descansa-dia-miolo { grid-template-columns: minmax(0, 38fr) minmax(0, 62fr); column-gap: calc(var(--u) * 3.6); }
  #secoes .rx-descansa-reserva { justify-self: center; }
  #secoes .rx-mercados { max-width: calc(var(--u) * 40); justify-self: start; width: 100%; }
}
@media (max-width: 767.98px) {
  /* no celular o descritor desce para a linha de baixo: o nome não divide a linha com ele */
  #secoes .rx-mercado { grid-template-columns: auto minmax(0, 1fr); row-gap: .3em; }
  #secoes .rx-mercado-d { grid-column: 2; text-align: left; opacity: .8; }
}
@media (max-width: 991.98px) {
  #secoes .rx-descansa-reserva { display: none; }
  #secoes .rx-descansa-bloco { order: -1; }
}

/* modo fixo: as duas camadas se sobrepõem e a lima abre em círculo a partir do led */
#secoes .rx-descansa.rx-descansa-fixo .rx-descansa-palco {
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background: var(--rx-claro);
}
#secoes .rx-descansa.rx-descansa-fixo .rx-descansa-noite,
#secoes .rx-descansa.rx-descansa-fixo .rx-descansa-dia { position: absolute; inset: 0; }
#secoes .rx-descansa.rx-descansa-fixo .rx-descansa-noite,
#secoes .rx-descansa.rx-descansa-fixo .rx-descansa-dia-miolo {
  height: 100%;
  padding-top: var(--rx-topo);
  padding-bottom: calc(var(--u) * 5);
}
#secoes .rx-descansa.rx-descansa-fixo .rx-descansa-led {
  position: absolute;
  left: 50%; top: 86%;
  translate: -50% -50%;
}
#secoes .rx-descansa.rx-descansa-fixo .rx-descansa-dia {
  z-index: 2;
  clip-path: circle(0% at 50% 86%);
  will-change: clip-path;
}
#secoes .rx-descansa.rx-descansa-fixo.rx-descansa-empilhado .rx-descansa-dia-miolo {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
#secoes .rx-descansa.rx-descansa-fixo.rx-descansa-empilhado .rx-descansa-dia .rx-descansa-bloco,
#secoes .rx-descansa.rx-descansa-fixo.rx-descansa-empilhado .rx-mercados {
  grid-area: 1 / 1;
  align-self: center;
}

/* ==========================================================================
   5. CORES: quatro colunas desencontradas
   ========================================================================== */
#secoes .rx-cores { padding-bottom: var(--rx-respiro); }
#secoes .rx-cores-grade {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: calc(var(--u) * 2.4) var(--rx-vao);
  padding: 0 var(--rx-margem);
  align-items: start;
}
@media (min-width: 768px) {
  #secoes .rx-cores-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #secoes .rx-cores-grade > :nth-child(even) { margin-top: calc(var(--u) * 5); }
}
@media (min-width: 992px) {
  #secoes .rx-cores-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #secoes .rx-cores-grade > :nth-child(even) { margin-top: 0; }
  #secoes .rx-cores-grade > :nth-child(4n + 2) { margin-top: calc(var(--u) * 5); }
  #secoes .rx-cores-grade > :nth-child(4n + 3) { margin-top: calc(var(--u) * 1.5); }
  #secoes .rx-cores-grade > :nth-child(4n + 4) { margin-top: calc(var(--u) * 7.5); }
}

#secoes .rx-core-caixa { --rx-cor: var(--rx-verde); display: grid; gap: calc(var(--u) * .8); min-width: 0; }
#secoes .rx-core-caixa[data-rx-cor="lima"]  { --rx-cor: var(--rx-lima); }
#secoes .rx-core-caixa[data-rx-cor="ciano"] { --rx-cor: var(--rx-ciano); }

/* cartão com borda fina e canto recortado: o fundo é a borda, o miolo fica 1 px para dentro */
#secoes .rx-core {
  --rx-canto: calc(var(--u) * 2);
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: start;
  gap: calc(var(--u) * 1.1);
  padding: calc(var(--u) * 1.5);
  background: var(--rx-borda-forte);
  clip-path: polygon(0 0, calc(100% - var(--rx-canto)) 0, 100% var(--rx-canto), 100% 100%, 0 100%);
  transition: background-color .8s var(--rx-suave), translate .8s var(--rx-suave);
}
#secoes .rx-core::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 1px;
  background: linear-gradient(180deg, #0c110e 0%, #070a08 100%);
  clip-path: polygon(0 0, calc(100% - var(--rx-canto)) 0, 100% var(--rx-canto), 100% 100%, 0 100%);
}
#secoes .rx-core-luz {
  position: absolute;
  z-index: -1;
  inset: 1px;
  opacity: 0;
  background: radial-gradient(calc(var(--u) * 30) circle at var(--rx-mx, 50%) var(--rx-my, 0%), color-mix(in srgb, var(--rx-cor) 22%, transparent) 0%, transparent 68%);
  transition: opacity .9s var(--rx-suave);
  pointer-events: none;
}
#secoes .rx-core-sigla {
  font-size: calc(var(--u) * 7);
  font-weight: 700;
  font-style: italic;
  line-height: .86;
  letter-spacing: -.06em;
  text-transform: uppercase;
  padding: .06em .12em .02em .02em;
  margin-left: -.02em;
  overflow: hidden;
}
#secoes .rx-core-sigla span {
  display: inline-block;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(255, 255, 255, .5);
  transition: color .8s var(--rx-suave), -webkit-text-stroke-color .8s var(--rx-suave), translate .8s var(--rx-suave), rotate .8s var(--rx-suave);
}
#secoes .rx-core-texto { font-size: var(--rx-f-apoio); line-height: 1.35; color: #b9c1bc; }
#secoes .rx-core-taxa { display: grid; gap: calc(var(--u) * .6); }
#secoes .rx-core-taxa-linha {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: calc(var(--u) * .5) calc(var(--u) * .8);
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rx-t2);
}
#secoes .rx-core-taxa-linha b {
  font-size: calc(var(--u) * 2.2);
  font-weight: 500;
  letter-spacing: -.03em;
  color: var(--rx-branco);
}
#secoes .rx-core-taxa-linha .rx-core-beta-selo {
  white-space: nowrap;
  font-size: var(--rx-f-rotulo);
  letter-spacing: .12em;
  color: var(--rx-fundo);
  background: var(--rx-cor);
  padding: .55em .8em;
  border-radius: 999px;
}
#secoes .rx-core-medida { position: relative; height: 3px; overflow: hidden; background: rgba(255, 255, 255, .12); }
#secoes .rx-core-medida i {
  position: absolute;
  inset: 0;
  background: var(--rx-cor);
  transform: scaleX(var(--rx-parte, 0));
  transform-origin: 0 50%;
}
#secoes .rx-core-medida-vazia i {
  transform: none;
  background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .24) 0 4px, transparent 4px 8px);
}
#secoes .rx-core-dados > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: calc(var(--u) * 1);
  padding: calc(var(--u) * .62) 0;
  border-top: 1px solid var(--rx-borda);
  font-size: var(--rx-f-apoio);
  line-height: 1.2;
}
#secoes .rx-core-dados dt { color: var(--rx-t2); }
#secoes .rx-core-dados dd {
  font-family: var(--rx-mono);
  font-weight: 500;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
/* legenda embaixo, à direita: nome e ativos em lima */
#secoes .rx-core-legenda {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .4em 1em;
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: right;
}
#secoes .rx-core-legenda b { font-weight: 500; white-space: nowrap; }
#secoes .rx-core-legenda span { color: var(--rx-lima); }
#secoes .rx-core-proximo { background: rgba(255, 255, 255, .1); min-height: calc(var(--u) * 22); }
#secoes .rx-core-proximo .rx-core-sigla span { font-style: normal; -webkit-text-stroke-color: rgba(255, 255, 255, .3); }
#secoes .rx-core-proximo-titulo {
  font-size: var(--rx-f-subtitulo);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
#secoes .rx-cores-grade > .rx-reserva { min-height: calc(var(--u) * 26); display: none; }
@media (min-width: 992px) {
  #secoes .rx-cores-grade > .rx-reserva { display: grid; }
}
@media (hover: hover) {
  #secoes .rx-core:hover { background: color-mix(in srgb, var(--rx-cor) 70%, transparent); translate: 0 calc(var(--u) * -.4); transition-duration: .2s, .45s; }
  #secoes .rx-core:hover .rx-core-luz { opacity: 1; transition-duration: .2s; }
  #secoes .rx-core:hover .rx-core-sigla span {
    color: var(--rx-cor);
    -webkit-text-stroke-color: transparent;
    translate: .05em 0;
    transition-duration: .2s, .16s, .45s, .45s;
  }
  #secoes .rx-core-proximo:hover .rx-core-sigla span { color: var(--rx-branco); translate: 0 0; rotate: 90deg; }
}

/* ==========================================================================
   6 e 7. CHAMADA CURTA + INFRAESTRUTURA EM NÚMEROS
   (prefixo rx-tr herdado do track record, que saiu em 05/10/2026; .rx-tr-rotulo também é
   usado na fórmula da seção Acesso)
   ========================================================================== */
#secoes .rx-tr { padding-bottom: var(--rx-respiro); background: var(--rx-fundo-2); }
#secoes .rx-tr-chamada {
  display: grid;
  gap: calc(var(--u) * 1.8);
  padding: var(--rx-respiro) var(--rx-margem) calc(var(--u) * 8);
}
#secoes .rx-tr-chamada h2 {
  font-size: calc(var(--rx-f-citacao) * 1.5);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
#secoes .rx-tr-chamada h2 em { font-style: italic; font-weight: 300; color: var(--rx-lima); }

#secoes .rx-tr-abre {
  display: grid;
  gap: calc(var(--u) * 3);
  padding: 0 var(--rx-margem) calc(var(--u) * 5);
  align-items: end;
}
#secoes .rx-tr-abre > div { display: grid; gap: calc(var(--u) * 1.4); justify-items: start; }
@media (min-width: 992px) {
  #secoes .rx-tr-abre { padding-left: 10%; }
  #secoes .rx-tr-abre > div { max-width: calc(var(--u) * 44); }
}
#secoes .rx-tr-rotulo {
  display: block;
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--rx-t2);
}
#secoes .rx-tr-janela {
  margin: 0 var(--rx-margem);
  border: 1px solid var(--rx-borda);
  border-radius: 3px;
  overflow: hidden;
  background: var(--rx-fundo);
}
#secoes .rx-tr-barra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(var(--u) * .5) calc(var(--u) * 1.2);
  padding: calc(var(--u) * .9) calc(var(--u) * 1.5);
  border-bottom: 1px solid var(--rx-borda);
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rx-t2);
  background: #080b09;
}
#secoes .rx-tr-botoes { display: inline-flex; gap: .5em; }
#secoes .rx-tr-botoes i { width: .8em; height: .8em; border-radius: 50%; background: rgba(255, 255, 255, .16); }
#secoes .rx-tr-botoes i:last-child { background: var(--rx-verde); }
#secoes .rx-tr-barra-conta { color: var(--rx-branco); }
#secoes .rx-tr-barra-periodo { margin-left: auto; font-variant-numeric: tabular-nums; }

#secoes .rx-tr-destaques { display: grid; grid-template-columns: minmax(0, 1fr); }
#secoes .rx-tr-destaque {
  display: grid;
  align-content: start;
  gap: calc(var(--u) * .9);
  padding: calc(var(--u) * 1.8) calc(var(--u) * 1.5);
  border-bottom: 1px solid var(--rx-borda);
  min-width: 0;
}
#secoes .rx-tr-numero {
  font-family: var(--rx-mono);
  font-size: calc(var(--u) * 3.6);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.06em;
}
@media (max-width: 991.98px) {
  #secoes .rx-tr-numero { font-size: calc(var(--u) * 2.8); }
}
@media (min-width: 768px) {
  /* quatro destaques: dois por linha no tablet, quatro na mesa */
  #secoes .rx-tr-destaques { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #secoes .rx-tr-destaque:nth-child(even) { border-left: 1px solid var(--rx-borda); }
}

#secoes .rx-tr-miolo { display: grid; grid-template-columns: minmax(0, 1fr); }
#secoes .rx-tr-painel {
  display: grid;
  align-content: start;
  gap: calc(var(--u) * 1.4);
  padding: calc(var(--u) * 1.6) calc(var(--u) * 1.5);
  border-bottom: 1px solid var(--rx-borda);
  min-width: 0;
}
#secoes .rx-tr-painel-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: calc(var(--u) * .6); }
@media (min-width: 992px) {
  #secoes .rx-tr-destaques { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #secoes .rx-tr-destaque + .rx-tr-destaque { border-left: 1px solid var(--rx-borda); }
  /* os dois painéis por Core lado a lado */
  #secoes .rx-tr-miolo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #secoes .rx-tr-miolo > * + * { border-left: 1px solid var(--rx-borda); }
}

/* barras por Core (ordens e MCP) */
#secoes .rx-porcore { display: grid; gap: calc(var(--u) * .8); }
#secoes .rx-porcore li {
  display: grid;
  /* a última coluna cabe "5.040" sem mexer no tamanho enquanto o número conta */
  grid-template-columns: 2.4em minmax(0, 1fr) 3.6em;
  align-items: center;
  gap: calc(var(--u) * .8);
  font-family: var(--rx-mono);
  font-size: var(--rx-f-apoio);
}
#secoes .rx-porcore span { font-weight: 600; letter-spacing: .06em; }
#secoes .rx-porcore b { text-align: right; font-weight: 500; }
#secoes .rx-porcore i {
  display: block;
  height: calc(var(--u) * .5);
  min-height: 5px;
  background: linear-gradient(90deg, var(--rx-lima) 0 calc(var(--rx-parte) * 100%), rgba(255, 255, 255, .08) calc(var(--rx-parte) * 100%) 100%);
  transform-origin: 0 50%;
}

/* lista: período, ativos e conta. Um por linha no celular, três colunas na mesa */
#secoes .rx-tr-lista { display: grid; grid-template-columns: minmax(0, 1fr); }
#secoes .rx-tr-lista > div {
  display: grid;
  gap: calc(var(--u) * .6);
  padding: calc(var(--u) * 1.5);
  border-top: 1px solid var(--rx-borda);
  min-width: 0;
}
#secoes .rx-tr-lista > div:first-child { border-top: 0; }
#secoes .rx-tr-lista dt {
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rx-t2);
}
#secoes .rx-tr-lista dd { font-family: var(--rx-mono); font-size: var(--rx-f-subtitulo); font-weight: 500; letter-spacing: -.03em; }
#secoes .rx-tr-lista dd:not([data-rx-conta]) { font-size: var(--rx-f-apoio); letter-spacing: 0; line-height: 1.5; }
@media (min-width: 992px) {
  #secoes .rx-tr-lista { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1.3fr); }
  #secoes .rx-tr-lista > div { border-top: 0; }
  #secoes .rx-tr-lista > div + div { border-left: 1px solid var(--rx-borda); }
}
#secoes .rx-tr-aviso {
  margin: calc(var(--u) * 2) var(--rx-margem) 0;
  font-family: var(--rx-mono);
  font-size: var(--rx-f-apoio);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #d6dcd8;
}

/* ==========================================================================
   8. ACESSO E USO
   ========================================================================== */
#secoes .rx-acesso { padding-bottom: var(--rx-respiro); }
#secoes .rx-precos {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rx-vao);
  padding: 0 var(--rx-margem);
}
@media (min-width: 768px) {
  #secoes .rx-precos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
#secoes .rx-preco {
  --rx-cor: var(--rx-verde);
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: start;
  gap: calc(var(--u) * 1);
  padding: calc(var(--u) * 2.2);
  border: 1px solid var(--rx-borda);
  border-radius: 3px;
  overflow: hidden;
  background: linear-gradient(180deg, #0c110e 0%, #070a08 100%);
  transition: border-color .8s var(--rx-suave), translate .8s var(--rx-suave);
}
#secoes .rx-preco-lima { --rx-cor: var(--rx-fundo); color: var(--rx-fundo); border-color: transparent; background: var(--rx-lima); }
#secoes .rx-preco-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  font-family: var(--rx-mono);
  font-size: var(--rx-f-rotulo);
  letter-spacing: .16em;
  text-transform: uppercase;
}
#secoes .rx-preco-passo { color: var(--rx-cor); }
#secoes .rx-preco-quando { padding: .6em 1em; border: 1px solid currentColor; border-radius: 999px; opacity: .8; }
#secoes .rx-preco-nome {
  font-size: var(--rx-f-subtitulo);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.025em;
  text-transform: uppercase;
  margin-top: calc(var(--u) * 1.4);
}
#secoes .rx-preco-valor {
  display: flex;
  align-items: flex-start;
  gap: .12em;
  font-family: var(--rx-mono);
  font-size: var(--rx-f-destaque);
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.08em;
}
#secoes .rx-preco-valor span { font-size: .22em; letter-spacing: .04em; margin-top: .5em; opacity: .7; }
#secoes .rx-preco-sub { font-size: var(--rx-f-corpo); font-weight: 500; opacity: .82; }
#secoes .rx-preco-lista { display: grid; margin-top: calc(var(--u) * 1); border-top: 1px solid var(--rx-borda); }
#secoes .rx-preco-lima .rx-preco-lista { border-top-color: rgba(5, 7, 6, .3); }
#secoes .rx-preco-lista li {
  position: relative;
  padding: .75em 0 .75em 2em;
  border-bottom: 1px solid var(--rx-borda);
  font-size: var(--rx-f-apoio);
  line-height: 1.35;
}
#secoes .rx-preco-lima .rx-preco-lista li { border-bottom-color: rgba(5, 7, 6, .3); }
#secoes .rx-preco-lista li::before {
  content: '';
  position: absolute;
  left: .2em; top: 1.35em;
  width: .85em; height: .42em;
  border-left: 2px solid var(--rx-cor);
  border-bottom: 2px solid var(--rx-cor);
  transform: translateY(-50%) rotate(-45deg);
}
@media (hover: hover) {
  #secoes .rx-preco:hover { translate: 0 calc(var(--u) * -.4); border-color: color-mix(in srgb, var(--rx-verde) 55%, transparent); transition-duration: .2s, .45s; }
  #secoes .rx-preco-lima:hover { border-color: transparent; }
}

#secoes .rx-garantias {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: calc(var(--u) * 3) var(--rx-margem) 0;
  border-top: 1px solid var(--rx-borda);
}
#secoes .rx-garantias li { display: grid; gap: .4em; padding: calc(var(--u) * 1.4) 0; border-bottom: 1px solid var(--rx-borda); }
#secoes .rx-garantias strong { font-size: var(--rx-f-corpo); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; text-transform: uppercase; }
#secoes .rx-garantias span { font-size: var(--rx-f-apoio); color: var(--rx-t2); }
@media (min-width: 768px) {
  #secoes .rx-garantias { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #secoes .rx-garantias li { padding-right: calc(var(--u) * 1.4); }
  #secoes .rx-garantias li + li { padding-left: calc(var(--u) * 1.6); border-left: 1px solid var(--rx-borda); }
}

#secoes .rx-cobranca { margin-top: calc(var(--u) * 6); border-top: 1px solid var(--rx-borda); }
#secoes .rx-passos {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: calc(var(--u) * 2.4);
  padding: 0 var(--rx-margem);
}
#secoes .rx-passos-linha { position: absolute; z-index: 0; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
#secoes .rx-passos-linha path { fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
#secoes .rx-passos-linha .rx-linha-base { stroke: var(--rx-borda); }
#secoes .rx-passos-linha .rx-linha-viva { stroke: var(--rx-lima); stroke-width: 2; }
#secoes .rx-passo {
  --rx-bola: max(40px, calc(var(--u) * 3.4));
  position: relative;
  z-index: 1;                 /* o número fica por cima da linha, nunca o contrário */
  display: grid;
  grid-template-columns: var(--rx-bola) minmax(0, 1fr);
  column-gap: calc(var(--u) * 1.4);
  row-gap: calc(var(--u) * .5);
  align-items: start;
  align-content: start;
}
#secoes .rx-passo-n {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: var(--rx-bola); height: var(--rx-bola);
  border: 1.5px solid var(--rx-borda-forte);
  border-radius: 50%;
  font-family: var(--rx-mono);
  font-size: var(--rx-f-corpo);
  font-weight: 500;
  color: var(--rx-branco);
  background: var(--rx-fundo);      /* opaco: a linha passa por trás */
  font-variant-numeric: tabular-nums lining-nums;
  transition: background-color .6s var(--rx-suave), color .6s var(--rx-suave), border-color .6s var(--rx-suave);
}
#secoes .rx-passo.rx-passo-aceso .rx-passo-n { color: var(--rx-fundo); background: var(--rx-lima); border-color: var(--rx-lima); }
#secoes .rx-passo h4 {
  align-self: end;
  font-size: var(--rx-f-corpo);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.01em;
  text-transform: uppercase;
  text-wrap: balance;
}
#secoes .rx-passo p { font-size: var(--rx-f-apoio); line-height: 1.35; color: var(--rx-t2); }
@media (min-width: 992px) {
  #secoes .rx-passos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #secoes .rx-passo { grid-template-columns: minmax(0, 1fr); row-gap: calc(var(--u) * .8); padding-right: calc(var(--u) * 1.5); }
  #secoes .rx-passo-n { grid-row: auto; margin-bottom: calc(var(--u) * .8); }
  #secoes .rx-passo h4 { align-self: start; }
}
#secoes .rx-formula {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rx-vao);
  margin: calc(var(--u) * 4.5) var(--rx-margem) 0;
}
@media (min-width: 768px) {
  #secoes .rx-formula { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
#secoes .rx-formula-bloco {
  display: grid;
  align-content: start;
  gap: calc(var(--u) * .9);
  padding: calc(var(--u) * 1.8);
  border: 1px solid var(--rx-borda);
  border-radius: 3px;
  background: var(--rx-fundo-2);
}
#secoes .rx-formula-exemplo { border-color: color-mix(in srgb, var(--rx-lima) 45%, transparent); }
#secoes .rx-formula-conta { font-family: var(--rx-mono); font-size: var(--rx-f-subtitulo); font-weight: 500; line-height: 1.2; letter-spacing: -.03em; }
#secoes .rx-formula-conta b { font-weight: 500; color: var(--rx-lima); }
#secoes .rx-formula-pe { font-family: var(--rx-mono); font-size: var(--rx-f-apoio); color: var(--rx-t2); }
#secoes .rx-formula-pe b { font-weight: 500; color: var(--rx-lima); }

/* ==========================================================================
   9. FAQ E CHAMADA FINAL
   ========================================================================== */
#secoes .rx-faq { padding-bottom: calc(var(--u) * 2); background: var(--rx-fundo-2); }
#secoes .rx-faq-grade {
  display: grid;
  gap: calc(var(--u) * 4);
  padding: var(--rx-respiro) var(--rx-margem) calc(var(--u) * 8);
  justify-items: center;
}
#secoes .rx-faq-cabeca { display: grid; gap: calc(var(--u) * 1.6); }
#secoes .rx-faq-atendimento { display: grid; gap: .5em; justify-items: center; }
#secoes .rx-faq-atendimento p { font-size: var(--rx-f-apoio); color: #d6dcd8; }
#secoes .rx-faq-lista { width: min(100%, calc(var(--u) * 64)); border-top: 1px solid var(--rx-borda-forte); }
#secoes .rx-faq-item { border-bottom: 1px solid var(--rx-borda-forte); }
#secoes .rx-faq-item summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: calc(var(--u) * 1.4);
  padding: calc(var(--u) * 1.5) 0;
  list-style: none;
  cursor: pointer;
  transition: color .6s var(--rx-suave), padding-left .6s var(--rx-suave);
}
#secoes .rx-faq-item summary::-webkit-details-marker { display: none; }
#secoes .rx-faq-n { font-family: var(--rx-mono); font-size: var(--rx-f-rotulo); letter-spacing: .14em; color: var(--rx-verde); font-variant-numeric: tabular-nums; }
#secoes .rx-faq-pergunta { font-size: var(--rx-f-subtitulo); font-weight: 600; line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
#secoes .rx-faq-sinal {
  position: relative;
  flex: none;
  width: max(34px, calc(var(--u) * 2.8)); height: max(34px, calc(var(--u) * 2.8));
  border: 1.5px solid var(--rx-borda-forte);
  border-radius: 50%;
  transition: background-color .6s var(--rx-suave), border-color .6s var(--rx-suave), transform .7s var(--rx-suave);
}
#secoes .rx-faq-sinal::before,
#secoes .rx-faq-sinal::after {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  width: 12px; height: 1.5px;
  margin: -.75px 0 0 -6px;
  background: currentColor;
  transition: transform .7s var(--rx-suave);
}
#secoes .rx-faq-sinal::after { transform: rotate(90deg); }
#secoes .rx-faq-item.rx-aberto .rx-faq-sinal,
#secoes:not(.rx-js) .rx-faq-item[open] .rx-faq-sinal {
  color: var(--rx-fundo);
  background: var(--rx-lima);
  border-color: var(--rx-lima);
  transform: rotate(180deg);
}
#secoes .rx-faq-item.rx-aberto .rx-faq-sinal::after,
#secoes:not(.rx-js) .rx-faq-item[open] .rx-faq-sinal::after { transform: rotate(0deg); }
#secoes .rx-faq-corpo { overflow: hidden; }
#secoes .rx-faq-corpo p {
  padding: 0 calc(var(--u) * 4) calc(var(--u) * 1.8) calc(var(--u) * 1.4 + 1.6em);
  font-size: var(--rx-f-corpo);
  line-height: 1.4;
  color: #b9c1bc;
}
@media (max-width: 767.98px) {
  #secoes .rx-faq-corpo p { padding-right: 0; }
}
@media (hover: hover) {
  #secoes .rx-faq-item summary:hover { color: var(--rx-lima); padding-left: calc(var(--u) * .6); transition-duration: .2s, .4s; }
  #secoes .rx-faq-item summary:hover .rx-faq-sinal { border-color: var(--rx-lima); transition-duration: .2s; }
}

#secoes .rx-chamada {
  --rx-bloco: var(--rx-fundo);
  position: relative;
  isolation: isolate;
  display: grid;
  gap: calc(var(--u) * 2.2);
  margin: 0 var(--rx-margem);
  padding: calc(var(--u) * 7) calc(var(--u) * 3);
  border-radius: 3px;
  overflow: hidden;
  color: var(--rx-fundo);
  background: var(--rx-lima);
}
#secoes .rx-chamada-fundo {
  position: absolute;
  z-index: -1;
  inset: -10% 0;
  background:
    repeating-linear-gradient(90deg, rgba(5, 7, 6, .07) 0 1px, transparent 1px calc(var(--u) * 9)),
    radial-gradient(70% 90% at 100% 100%, rgba(74, 222, 128, .55) 0%, transparent 70%);
}
#secoes .rx-chamada .rx-titulo { max-width: min(100%, calc(var(--u) * 64)); margin: 0 auto; }
#secoes .rx-chamada .rx-titulo em { color: var(--rx-fundo); }
#secoes .rx-chamada-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: calc(var(--u) * .8); }

/* ==========================================================================
   10. RODAPÉ
   ========================================================================== */
#secoes .rx-rodape {
  /* Moldura lima com um painel escuro dentro. Em cima sobra uma faixa clara, por onde o
     topo do site passa: por isso o tema da seção é claro e o do painel é escuro. */
  --rx-serifa: 'Instrument Serif', 'Times New Roman', serif;
  position: relative;
  padding: calc(var(--u) * 11) var(--rx-margem) var(--rx-margem);
  background: linear-gradient(to bottom, #eef1e6 0, var(--rx-lima) calc(var(--u) * 11));
  color: var(--rx-branco);
}
#secoes .rx-rodape-painel {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: calc(var(--u) * 50);
  /* a logo fica centralizada entre o começo do preto e a frase: mesma folga em cima e embaixo */
  padding: calc(var(--u) * 2.4) calc(var(--u) * 3) calc(var(--u) * 5.6);
  border-radius: calc(var(--u) * 1.6);
  background: #0b0f0c;
  overflow: hidden;
  isolation: isolate;
}
/* a aba de cima do painel, que sobe para a faixa clara */
#secoes .rx-rodape::before {
  content: '';
  position: absolute;
  left: 50%;
  top: calc(var(--u) * 8.4);
  width: calc(var(--u) * 26);
  height: calc(var(--u) * 4);
  translate: -50% 0;
  border-radius: calc(var(--u) * 2.6) calc(var(--u) * 2.6) 0 0;
  background: #0b0f0c;
}

#secoes .rx-rodape-cabeca { position: relative; z-index: 2; display: grid; justify-items: center; gap: calc(var(--u) * 2.4); text-align: center; }
#secoes .rx-rodape-logo { position: relative; width: calc(var(--u) * 13); aspect-ratio: 453 / 160; color: var(--rx-lima); }
#secoes .rx-rodape-logo img,
#secoes .rx-rodape-logo svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
/* a logo em arquivo é o que aparece sem JavaScript; com ele, entra a logo escrita */
#secoes .rx-rodape-logo img { filter: brightness(0) saturate(100%) invert(88%) sepia(60%) saturate(640%) hue-rotate(20deg) brightness(104%); }
#secoes .rx-rodape-escrita { display: none; overflow: visible; }
#secoes.rx-js .rx-rodape-logo img { display: none; }
#secoes.rx-js .rx-rodape-escrita { display: block; }

#secoes .rx-rodape-frase {
  margin: 0;
  max-width: 17em;
  font-size: calc(var(--u) * 5);
  font-weight: 700;
  line-height: .886;
  letter-spacing: -.035em;
  text-transform: uppercase;
  text-wrap: balance;
}
#secoes .rx-rodape-frase span { display: block; }
#secoes .rx-rodape-frase em {
  display: block;
  font-family: var(--rx-serifa);
  font-style: normal;
  font-weight: 400;
  letter-spacing: -.02em;
  color: var(--rx-lima);
}

#secoes .rx-rodape-meio {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(var(--u) * 22) minmax(0, 1fr);
  align-items: center;
  margin-top: calc(var(--u) * .6);
}
#secoes .rx-rodape-coluna { position: relative; z-index: 2; display: grid; justify-items: center; gap: calc(var(--u) * .7); text-align: center; }
#secoes .rx-rodape-rotulo { font-size: var(--rx-f-rotulo); letter-spacing: .1em; text-transform: uppercase; color: var(--rx-t2); }
#secoes .rx-rodape-rotulo-2 { margin-top: calc(var(--u) * 1.4); }
#secoes .rx-rodape-nav { display: grid; justify-items: center; }
#secoes .rx-rodape-nav a,
#secoes .rx-rodape-entrar {
  font-size: calc(var(--u) * 1.85);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.02em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--rx-branco);
  transition: color .6s cubic-bezier(.19, 1, .22, 1);
}
#secoes .rx-rodape-entrar { margin-top: calc(var(--u) * 1.2); color: var(--rx-lima); }
#secoes .rx-rodape-social { margin: 0; font-size: calc(var(--u) * 1.85); font-weight: 700; letter-spacing: -.02em; }
#secoes .rx-rodape-horario { margin: 0; font-size: var(--rx-f-apoio); line-height: 1.35; color: #d6dcd8; }
@media (hover: hover) {
  #secoes .rx-rodape-nav a:hover { color: var(--rx-lima); transition-duration: .2s; }
  #secoes .rx-rodape-entrar:hover { color: var(--rx-branco); transition-duration: .2s; }
}

#secoes .rx-rodape-servidor { position: relative; z-index: 1; display: grid; justify-items: center; }
#secoes .rx-rodape-servidor img { display: block; width: 100%; height: auto; }
#secoes .rx-rodape-servidor::before {
  content: '';
  position: absolute;
  inset: 8% -18%;
  z-index: -1;
  background: radial-gradient(closest-side, rgba(74, 222, 128, .22), rgba(74, 222, 128, 0));
}

/* no lugar das marcas de parceiros da referência: os mercados atendidos, em faixa */
#secoes .rx-rodape-mercados {
  position: absolute;
  left: 0; right: 0;
  bottom: calc(var(--u) * 6.6);
  z-index: 0;
  overflow: hidden;
  -webkit-mask: linear-gradient(to right, transparent, #000 12%, #000 38%, transparent 46%, transparent 54%, #000 62%, #000 88%, transparent);
          mask: linear-gradient(to right, transparent, #000 12%, #000 38%, transparent 46%, transparent 54%, #000 62%, #000 88%, transparent);
}
#secoes .rx-rodape-mercados-trilho {
  display: flex;
  width: max-content;
  gap: calc(var(--u) * 5);
  padding-right: calc(var(--u) * 5);
  font-size: calc(var(--u) * 1.5);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--rx-lima);
  animation: rx-rodape-passa 38s linear infinite;
}
@keyframes rx-rodape-passa { to { transform: translate3d(-50%, 0, 0); } }

#secoes .rx-rodape-botao {
  position: absolute;
  left: 50%;
  bottom: calc(var(--u) * 1.6);
  z-index: 3;
  translate: -50% 0;
  display: inline-flex;
  align-items: center;
  height: max(40px, calc(var(--u) * 3));
  padding: 0 calc(var(--u) * 1.6);
  border-radius: 3px;
  background: var(--rx-lima);
  font-size: max(11px, calc(var(--u) * .9));
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  color: #050706;
  transition: background-color .6s cubic-bezier(.19, 1, .22, 1);
}
@media (hover: hover) { #secoes .rx-rodape-botao:hover { background: #ffffff; transition-duration: .2s; } }

/* folga embaixo: a linha de direitos é revelada ao entrar em 98% da tela (rodape.js); sem a
   folga ela fica colada no fim da página e nunca cruza o gatilho */
#secoes .rx-rodape-base { display: grid; gap: calc(var(--u) * .9); padding: calc(var(--u) * 1.4) calc(var(--u) * .4) max(24px, calc(var(--u) * 1.4)); color: #050706; }
#secoes .rx-rodape-risco { margin: 0; max-width: 118em; font-size: max(11px, calc(var(--u) * .8)); line-height: 1.45; color: rgba(5, 7, 6, .82); }
#secoes .rx-rodape-link { color: #050706; font-weight: 600; text-decoration: underline; text-underline-offset: .18em; }
@media (hover: hover) { #secoes .rx-rodape-link:hover { text-decoration-thickness: 2px; } }
/* documentos: Termos de Uso, Aviso de Risco e Privacidade */
#secoes .rx-rodape-legal { display: flex; flex-wrap: wrap; gap: .5em 1.8em; font-size: max(11px, calc(var(--u) * .8)); line-height: 1.45; }
#secoes .rx-rodape-direitos { margin: 0; font-size: max(10px, calc(var(--u) * .75)); font-weight: 600; }

@media (max-width: 991.98px) {
  #secoes .rx-rodape { padding-top: calc(var(--u) * 8); background: linear-gradient(to bottom, #eef1e6 0, var(--rx-lima) calc(var(--u) * 8)); }
  #secoes .rx-rodape::before { top: calc(var(--u) * 6); width: calc(var(--u) * 22); height: calc(var(--u) * 3); }
  #secoes .rx-rodape-painel { min-height: 0; padding: calc(var(--u) * 3) calc(var(--u) * 2) calc(var(--u) * 7); }
  #secoes .rx-rodape-logo { width: calc(var(--u) * 14); }
  #secoes .rx-rodape-frase { font-size: calc(var(--u) * 3.6); }
  #secoes .rx-rodape-meio { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: calc(var(--u) * 2.4); margin-top: calc(var(--u) * 1.4); align-items: start; }
  #secoes .rx-rodape-servidor { grid-column: 1 / -1; grid-row: 1; width: calc(var(--u) * 22); justify-self: center; }
  #secoes .rx-rodape-nav a, #secoes .rx-rodape-entrar, #secoes .rx-rodape-social { font-size: calc(var(--u) * 1.7); }
  #secoes .rx-rodape-mercados { position: static; margin-top: calc(var(--u) * 2.4); }
  #secoes .rx-rodape-botao { bottom: calc(var(--u) * 2); }
}
@media (prefers-reduced-motion: reduce) {
  #secoes .rx-rodape-mercados-trilho { animation: none; }
}

/* ==========================================================================
   CURSOR PRÓPRIO (só com mouse; em toque nem é criado)
   ========================================================================== */
#secoes.rx-com-cursor,
#secoes.rx-com-cursor :where(a, button, summary, [data-rx-cursor]) { cursor: none; }
#secoes .rx-cursor {
  position: fixed;
  z-index: 60;
  left: 0; top: 0;
  width: 0; height: 0;
  pointer-events: none;
  mix-blend-mode: difference;
  opacity: 0;
  transition: opacity .4s var(--rx-suave);
}
#secoes .rx-cursor.rx-cursor-vivo { opacity: 1; }
#secoes .rx-cursor-ponto,
#secoes .rx-cursor-anel { position: absolute; left: 0; top: 0; border-radius: 50%; will-change: transform; }
#secoes .rx-cursor-ponto {
  width: 8px; height: 8px;
  margin: -4px 0 0 -4px;
  background: #fff;
  transition: scale .5s var(--rx-suave), opacity .3s;
}
#secoes .rx-cursor-anel {
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  margin: -20px 0 0 -20px;
  border: 1.5px solid rgba(255, 255, 255, .85);
  transition: scale .6s var(--rx-suave), background-color .5s var(--rx-suave), border-color .5s var(--rx-suave);
}
#secoes .rx-cursor-texto {
  font-family: var(--rx-mono);
  font-size: 5.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #000;
  opacity: 0;
  transition: opacity .3s;
}
#secoes .rx-cursor.rx-cursor-alvo .rx-cursor-anel { scale: 1.6; background: rgba(255, 255, 255, .16); transition-duration: .25s; }
#secoes .rx-cursor.rx-cursor-alvo .rx-cursor-ponto { scale: .5; }
#secoes .rx-cursor.rx-cursor-rotulo .rx-cursor-anel { scale: 2.2; background: #fff; border-color: #fff; transition-duration: .25s; }
#secoes .rx-cursor.rx-cursor-rotulo .rx-cursor-texto { opacity: 1; }
#secoes .rx-cursor.rx-cursor-rotulo .rx-cursor-ponto { opacity: 0; }
#secoes .rx-cursor.rx-cursor-aperto .rx-cursor-anel { scale: .8; transition-duration: .1s; }

/* ==========================================================================
   MOVIMENTO REDUZIDO: nada pisca, nada fica escondido
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  #secoes *,
  #secoes *::before,
  #secoes *::after {
    animation-duration: .001s !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001s !important;
    scroll-behavior: auto !important;
  }
}
