/* Sobreposicao e dissolucao da previa, mantendo o fluxo e a altura do conteudo. */
.pagina-home {
  --fx-chequer-light: var(--cor-texto-luz, #ffb000);
  --fx-chequer-dark: var(--cor-fundo, #090a0b);
  --fx-chequer-accent: var(--marca, #e35336);
}
.home-stack {
  position: relative;
  isolation: isolate;
}
.home-stack__layer { position: relative; background: var(--cor-fundo); }
/* Recorte so na horizontal (28/09). A camada que gira da orbita de "Como eu
   trabalho" e um quadrado do tamanho da orbita girando em 120 s: girado, o
   retangulo que o envolve chega a raiz de 2 do lado e, mesmo sem pintar nada,
   alargava a pagina no celular - ate 100 px de rolagem lateral em 360, crescendo
   com o giro. A camada tem a largura da tela, entao o recorte so tira o que ja
   estava fora dela; as legendas cabem. `clip`, e nao `hidden`: nao cria outro
   scroller, e o eixo vertical continua visivel. */
.home-stack__layer { overflow-x: clip; }
.home-section-transition { position: relative; }
/* Reservar a borda onde o conteúdo começava sem respiro. */
.pagina-home .home-content .home-section-content > .fx-services.home-section-transition,
.pagina-home .home-section-content > [aria-labelledby="titulo-metodo"].home-section-transition,
.pagina-home .fx-next-event.home-section-transition {
  padding-top: var(--espaco-24);
}
.pagina-home .home-stack .secao { padding-top: var(--espaco-16); }
.pagina-home .home-stack__layer--trajetoria .trajetoria { padding-top: var(--espaco-24); }
.home-content > .home-section-content > .secao:first-child { padding-top: 0; }
.home-stack__surface {
  position: relative;
  display: flow-root;
  isolation: isolate;
  background: var(--cor-fundo);
  transform-origin: center bottom;
}
.home-stack__surface::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: var(--home-stack-shade, 0);
  pointer-events: none;
}
.home-stack__chequer {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: 34svh;
  z-index: 2;
  pointer-events: none;
}
.home-stack__chequer[hidden] { display: none; }
/* A trajetoria longa precisa terminar de rolar antes de ficar sobreposta. */
@media (min-width: 48rem) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  .home-stack[data-stack-active="true"] .home-stack__layer:not(:last-child) {
    position: sticky;
    top: var(--home-stack-top, 0px);
  }
  .home-stack[data-stack-active="true"] .home-stack__surface {
    transform: scale(var(--home-stack-scale, 1));
  }
}
@media (max-width: 47.999rem) {
  .home-stack__chequer { height: 20svh; }
}
@media (prefers-reduced-motion: reduce), (forced-colors: active), print {
  .home-stack__chequer { display: none; }
  .home-stack__surface::after { display: none; }
}
