/* ═══════════════════════════════════════════════════════════════
   Grupo Cerrado — camada de motion.

   Linguagem de movimento da marca: tudo no site se move como uma
   entrega — sai de um ponto, faz o caminho e chega com precisão.
   · entrada: sobe e assenta (ease-out longo, sem quique exagerado)
   · rotas:   traço que se desenha, ponto que percorre
   · sol:     o círculo solar da marca respira devagar

   As classes são aplicadas por motion.js depois que o React monta.
   Sem JS (ou com prefers-reduced-motion) nada fica escondido.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --ce-ease: cubic-bezier(.16, 1, .3, 1);        /* chegada suave */
  --ce-ease-pop: cubic-bezier(.34, 1.56, .64, 1); /* pequeno overshoot */
  --ce-dur: .9s;
  --ce-ease-big: cubic-bezier(.5, 0, 0, 1);      /* grandes deslocamentos (Dropbox Brand) */
  --ce-ease-draw: cubic-bezier(.4, 0, .3, 1);    /* traço se desenhando */
}

/* ───────────── Revelação ao rolar ───────────── */
.ce-rv {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition: opacity var(--ce-dur) var(--ce-ease), transform var(--ce-dur) var(--ce-ease);
  transition-delay: var(--ce-d, 0s);
}
.ce-rv.ce-rv-esq  { transform: translate3d(-36px, 0, 0); }
.ce-rv.ce-rv-dir  { transform: translate3d(36px, 0, 0); }
.ce-rv.ce-rv-zoom { transform: translate3d(0, 24px, 0) scale(.94); }
.ce-rv.ce-rv-card { transform: translate3d(0, 40px, 0) scale(.97); }
.ce-rv.ce-on      { opacity: 1; transform: none; }

/* ───────────── Herói: abertura coreografada ───────────── */
.ce-hi {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  animation: ceHeroIn 1.1s var(--ce-ease) forwards;
  animation-delay: var(--ce-d, 0s);
}
.ce-hi-visual {
  opacity: 0;
  transform: translate3d(40px, 10px, 0) scale(.94);
  animation: ceHeroVisual 1.3s var(--ce-ease) forwards;
  animation-delay: var(--ce-d, .35s);
}
@keyframes ceHeroIn     { to { opacity: 1; transform: none; } }
@keyframes ceHeroVisual { to { opacity: 1; transform: none; } }

/* título: entra com uma máscara que sobe */
.ce-hi-titulo {
  opacity: 0;
  clip-path: inset(0 0 100% 0);
  transform: translate3d(0, 40px, 0);
  animation: ceTitulo 1.15s var(--ce-ease) forwards;
  animation-delay: var(--ce-d, .1s);
}
@keyframes ceTitulo { to { opacity: 1; clip-path: inset(-10% -5% -20% -5%); transform: none; } }

/* palavra destacada: traço de marca-texto que se desenha embaixo */
.ce-destaque { position: relative; display: inline-block; }
.ce-destaque::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: .01em; height: .055em;
  background: currentColor; border-radius: 99px;
  transform: scaleX(0); transform-origin: left center;
  animation: ceTraco .9s var(--ce-ease) forwards;
  animation-delay: calc(var(--ce-d, .1s) + .75s);
}
@keyframes ceTraco { to { transform: scaleX(1); } }

/* palavra com caixa (entregadores): a caixa “passa” como marca-texto */
.ce-marca {
  clip-path: inset(0 100% 0 0);
  animation: ceMarca .8s var(--ce-ease) forwards;
  animation-delay: calc(var(--ce-d, .1s) + .6s);
}
@keyframes ceMarca { to { clip-path: inset(-12% -4% -12% -4%); } }

/* faixa tricolor no pé do herói: cresce da esquerda */
.ce-faixa > * {
  transform: scaleX(0); transform-origin: left center;
  animation: ceFaixa 1s var(--ce-ease) forwards;
}
.ce-faixa > *:nth-child(2) { animation-delay: .18s; }
.ce-faixa > *:nth-child(3) { animation-delay: .32s; }
@keyframes ceFaixa { to { transform: none; } }

/* ───────────── O sol da marca respira ───────────── */
.ce-sol {
  animation: ceRespira 9s ease-in-out infinite alternate;
  will-change: transform;
}
.ce-sol.ce-sol-b { animation-duration: 12s; animation-direction: alternate-reverse; }
@keyframes ceRespira {
  0%   { transform: translate3d(0, 0, 0) scale(1); }
  50%  { transform: translate3d(-14px, 10px, 0) scale(1.06); }
  100% { transform: translate3d(10px, -8px, 0) scale(.97); }
}

/* ───────────── Cards ───────────── */
/* enquanto .ce-rv estiver no card, vale a transição da revelação (com atraso);
   motion.js tira o .ce-rv quando ela termina e aí entra a do hover */
.ce-card-h:not(.ce-rv) {
  transition: transform .45s var(--ce-ease), box-shadow .45s var(--ce-ease), border-color .3s;
}
.ce-card-h:not(.ce-rv):hover {
  transform: translate3d(0, -6px, 0);
  box-shadow: 0 22px 44px rgba(15, 28, 62, .12) !important;
}
.ce-ico { transition: transform .5s var(--ce-ease-pop); }
.ce-card-h:hover .ce-ico { transform: translateY(-3px) rotate(-6deg) scale(1.08); }
.ce-card-h:hover .ce-ico svg { animation: ceIcoPulso .6s var(--ce-ease); }
@keyframes ceIcoPulso { 40% { transform: scale(1.18); } }

/* número das etapas (01, 02…) chega girando de leve */
.ce-passo { display: inline-block; }
.ce-on .ce-passo, .ce-passo.ce-on {
  animation: cePasso .9s var(--ce-ease-pop) both;
  animation-delay: calc(var(--ce-d, 0s) + .15s);
}
@keyframes cePasso {
  from { opacity: 0; transform: translate3d(-18px, 0, 0) skewX(-12deg); }
  to   { opacity: 1; transform: none; }
}
/* bolinha do ícone da etapa: anel que pulsa uma vez quando chega */
.ce-on .ce-anel { position: relative; }
.ce-on .ce-anel::after {
  content: ''; position: absolute; inset: -2px; border-radius: inherit;
  border: 2px solid currentColor; color: #FB923C;
  animation: ceAnel 1.4s var(--ce-ease) both;
  animation-delay: calc(var(--ce-d, 0s) + .35s);
  pointer-events: none;
}
@keyframes ceAnel {
  from { opacity: .9; transform: scale(1); }
  to   { opacity: 0;  transform: scale(1.7); }
}

/* ───────────── Botões ───────────── */
.ce-btn { position: relative; overflow: hidden; isolation: isolate;
  transition: transform .35s var(--ce-ease), box-shadow .35s var(--ce-ease), filter .2s, translate .35s var(--ce-ease) !important; }
.ce-btn:hover { transform: translateY(-2px); }
.ce-btn:active { transform: translateY(0) scale(.98); }
.ce-btn svg { transition: transform .35s var(--ce-ease-pop); }
.ce-btn:hover svg { transform: translateX(4px); }
/* brilho que atravessa os botões de ação principal */
.ce-btn-sun::before, .ce-btn-accent::before, .ce-btn-primary::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);
  transform: skewX(-18deg);
  animation: ceBrilho 5.5s ease-in-out infinite;
  animation-delay: var(--ce-brilho, 2.2s);
  pointer-events: none;
}
.ce-btn-primary::before { background: linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent); }
@keyframes ceBrilho {
  0%, 72% { left: -60%; }
  100%    { left: 130%; }
}

/* ───────────── Navegação ───────────── */
.ce-hdr { transition: box-shadow .3s, background .3s; }
.ce-hdr.ce-hdr-rolou { box-shadow: 0 10px 30px rgba(15, 28, 62, .10) !important; }

.ce-dd { animation: ceDrop .32s var(--ce-ease) both; transform-origin: top left; }
@keyframes ceDrop {
  from { opacity: 0; transform: translate3d(0, -8px, 0) scale(.97); }
  to   { opacity: 1; transform: none; }
}
.ce-dd a { animation: ceDropItem .4s var(--ce-ease) both; }
.ce-dd a:nth-of-type(1) { animation-delay: .04s; }
.ce-dd a:nth-of-type(2) { animation-delay: .08s; }
.ce-dd a:nth-of-type(3) { animation-delay: .12s; }
.ce-dd a:nth-of-type(4) { animation-delay: .16s; }
@keyframes ceDropItem { from { opacity: 0; transform: translate3d(-8px, 0, 0); } }

.ce-nav-mob { animation: ceDrop .35s var(--ce-ease) both; }
.ce-nav-mob > div, .ce-nav-mob > a { animation: ceDropItem .45s var(--ce-ease) both; }
.ce-nav-mob > :nth-child(2) { animation-delay: .04s; }
.ce-nav-mob > :nth-child(3) { animation-delay: .08s; }
.ce-nav-mob > :nth-child(4) { animation-delay: .12s; }
.ce-nav-mob > :nth-child(5) { animation-delay: .16s; }
.ce-nav-mob > :nth-child(6) { animation-delay: .2s; }

/* barra de progresso de leitura: a “rota” da página */
.ce-progresso {
  position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 9999; pointer-events: none;
  background: linear-gradient(90deg, #C2410C 0%, #FB923C 45%, #1E3A8A 100%);
  transform-origin: left center; transform: scaleX(0);
}
.ce-progresso::after { /* o “veículo” na ponta da barra */
  content: ''; position: absolute; right: -4px; top: -3px; width: 9px; height: 9px; border-radius: 50%;
  background: #FB923C; box-shadow: 0 0 0 3px rgba(251, 146, 60, .25), 0 0 14px #FB923C;
}

/* ───────────── Cenas animadas (SVG) ───────────── */
.ce-cena { display: block; width: 460px; max-width: 100%; aspect-ratio: 460 / 360; position: relative; overflow: hidden; }
.ce-cena.ce-cena-fluida { width: 100%; }
.ce-cena > svg { display: block; width: 100%; height: 100%; }
.ce-cena svg svg { overflow: visible; }
.ce-cena text { font-family: 'Bahnschrift', 'Saira Condensed', sans-serif; }
.ce-cena .ce-t-body { font-family: 'Inter', system-ui, sans-serif; }
.ce-cena .ce-t-mono { font-family: 'JetBrains Mono', monospace; }
.ce-pausa, .ce-pausa * { animation-play-state: paused !important; }

@media (max-width: 1024px) {
  .ce-cena:not(.ce-cena-fluida) { width: min(460px, calc(100vw - 72px)); }
}
@media (max-width: 640px) {
  .ce-cena:not(.ce-cena-fluida) { width: calc(100vw - 50px); }
}

/* utilitários das cenas */
.ce-fb { transform-box: fill-box; transform-origin: center; }
.ce-fb-b { transform-box: fill-box; transform-origin: 50% 100%; }
.ce-fb-l { transform-box: fill-box; transform-origin: 0% 50%; }

.ce-flutua   { animation: ceFlutua 4.5s ease-in-out infinite; }
.ce-flutua-2 { animation: ceFlutua 5.5s ease-in-out infinite reverse; }
@keyframes ceFlutua { 50% { transform: translateY(-7px); } }

.ce-pisca { animation: cePisca 1.4s ease-in-out infinite; }
@keyframes cePisca { 50% { opacity: .25; } }

.ce-gira      { animation: ceGira 14s linear infinite; }
.ce-gira-rev  { animation: ceGira 22s linear infinite reverse; }
.ce-gira-roda { animation: ceGira .45s linear infinite; }
@keyframes ceGira { to { transform: rotate(360deg); } }

.ce-onda { animation: ceOnda 2.6s ease-out infinite; }
@keyframes ceOnda {
  0%   { transform: scale(.6); opacity: .8; }
  100% { transform: scale(2.4); opacity: 0; }
}

/* traço que se desenha (pathLength="1") */
.ce-desenha { stroke-dasharray: 1; stroke-dashoffset: 1; animation: ceDesenha 2.4s var(--ce-ease) forwards; animation-delay: var(--ce-d, .3s); }
@keyframes ceDesenha { to { stroke-dashoffset: 0; } }
.ce-tracejado-anda { animation: ceTracejado 1.2s linear infinite; }
@keyframes ceTracejado { to { stroke-dashoffset: -16; } }

/* barras que crescem e oscilam de leve, como dado ao vivo */
.ce-barra { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0);
  animation: ceBarra 1.1s var(--ce-ease) forwards, ceBarraVive 4s ease-in-out infinite alternate;
  animation-delay: var(--ce-d, .3s), calc(var(--ce-d, .3s) + 1.1s); }
@keyframes ceBarra { to { transform: scaleY(1); } }
@keyframes ceBarraVive { from { transform: scaleY(1); } to { transform: scaleY(var(--ce-v, .86)); } }

/* barras horizontais (ranking) */
.ce-barra-h { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(0);
  animation: ceBarraH 1.2s var(--ce-ease) forwards, ceBarraHVive 5s ease-in-out infinite alternate;
  animation-delay: var(--ce-d, .5s), calc(var(--ce-d, .5s) + 1.2s); }
@keyframes ceBarraH { to { transform: scaleX(1); } }
@keyframes ceBarraHVive { from { transform: scaleX(1); } to { transform: scaleX(.9); } }

/* anel de progresso (pathLength="100") */
.ce-anel-prog { stroke-dasharray: 100; stroke-dashoffset: 100; animation: ceAnelProg 2s var(--ce-ease) forwards; animation-delay: var(--ce-d, .4s); }
@keyframes ceAnelProg { to { stroke-dashoffset: var(--ce-alvo, 30); } }

/* card que surge (toast/notificação) em loop */
.ce-toast { opacity: 0; animation: ceToast var(--ce-ciclo, 7s) var(--ce-ease) infinite; animation-delay: var(--ce-d, 1.5s); }
@keyframes ceToast {
  0%   { opacity: 0; transform: translate3d(0, 14px, 0) scale(.94); }
  8%   { opacity: 1; transform: none; }
  62%  { opacity: 1; transform: none; }
  70%  { opacity: 0; transform: translate3d(0, -10px, 0) scale(.97); }
  100% { opacity: 0; transform: translate3d(0, -10px, 0); }
}
.ce-toast-dir { opacity: 0; animation: ceToastDir var(--ce-ciclo, 7s) var(--ce-ease) infinite; animation-delay: var(--ce-d, 1.5s); }
@keyframes ceToastDir {
  0%   { opacity: 0; transform: translate3d(40px, 0, 0); }
  8%   { opacity: 1; transform: none; }
  60%  { opacity: 1; transform: none; }
  68%  { opacity: 0; transform: translate3d(40px, 0, 0); }
  100% { opacity: 0; transform: translate3d(40px, 0, 0); }
}
.ce-notif { opacity: 0; animation: ceNotif var(--ce-ciclo, 8s) var(--ce-ease) infinite; animation-delay: var(--ce-d, 1s); }
@keyframes ceNotif {
  0%   { opacity: 0; transform: translate3d(0, -26px, 0); }
  7%   { opacity: 1; transform: none; }
  55%  { opacity: 1; transform: none; }
  62%  { opacity: 0; transform: translate3d(0, -26px, 0); }
  100% { opacity: 0; transform: translate3d(0, -26px, 0); }
}

/* ganho que sobe e some (entregador) */
.ce-sobe { opacity: 0; animation: ceSobe 3.6s ease-out infinite; animation-delay: var(--ce-d, 0s); }
@keyframes ceSobe {
  0%   { opacity: 0; transform: translate3d(0, 16px, 0) scale(.8); }
  15%  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  70%  { opacity: 1; }
  100% { opacity: 0; transform: translate3d(0, -46px, 0); }
}

/* faixas que deslizam infinitamente (estrada, horizonte) */
.ce-desliza-1 { animation: ceDesliza 7s linear infinite; }
.ce-desliza-2 { animation: ceDesliza 14s linear infinite; }
.ce-desliza-3 { animation: ceDesliza 26s linear infinite; }
.ce-desliza-r { animation: ceDesliza 1.1s linear infinite; }
@keyframes ceDesliza { to { transform: translateX(-460px); } }

.ce-sacode { animation: ceSacode .5s ease-in-out infinite alternate; }
@keyframes ceSacode { to { transform: translateY(-1.6px); } }

/* sino de prazo balançando */
.ce-sino { transform-box: fill-box; transform-origin: 50% 10%; animation: ceSino 3.2s ease-in-out infinite; }
@keyframes ceSino {
  0%, 60%, 100% { transform: rotate(0); }
  64% { transform: rotate(16deg); } 68% { transform: rotate(-14deg); }
  72% { transform: rotate(10deg); } 76% { transform: rotate(-6deg); } 80% { transform: rotate(0); }
}

/* carimbo/selo que bate */
.ce-carimbo { transform-box: fill-box; transform-origin: center; opacity: 0;
  animation: ceCarimbo var(--ce-ciclo, 7s) var(--ce-ease-pop) infinite; animation-delay: var(--ce-d, 0s); }
@keyframes ceCarimbo {
  0%, 58%  { opacity: 0; transform: scale(1.8) rotate(-18deg); }
  64%      { opacity: 1; transform: scale(1) rotate(-8deg); }
  92%      { opacity: 1; transform: scale(1) rotate(-8deg); }
  100%     { opacity: 0; transform: scale(1) rotate(-8deg); }
}

/* linhas de texto que se escrevem no documento */
.ce-escreve { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(0);
  animation: ceEscreve var(--ce-ciclo, 7s) var(--ce-ease) infinite; animation-delay: var(--ce-d, 0s); }
@keyframes ceEscreve {
  0%   { transform: scaleX(0); }
  10%  { transform: scaleX(1); }
  92%  { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0; }
}
.ce-assina { stroke-dasharray: 1; stroke-dashoffset: 1;
  animation: ceAssina var(--ce-ciclo, 7s) ease-in-out infinite; animation-delay: var(--ce-d, 0s); }
@keyframes ceAssina {
  0%, 38% { stroke-dashoffset: 1; opacity: 1; }
  56%     { stroke-dashoffset: 0; }
  92%     { stroke-dashoffset: 0; opacity: 1; }
  100%    { stroke-dashoffset: 0; opacity: 0; }
}

/* do achismo ao número: pontos soltos que se organizam */
.ce-ponto { animation: cePonto 8s var(--ce-ease) infinite; }
@keyframes cePonto {
  0%, 8%   { transform: translate(var(--sx), var(--sy)); }
  14%      { transform: translate(calc(var(--sx) * .9 + 6px), calc(var(--sy) * 1.1 - 4px)); }
  20%      { transform: translate(calc(var(--sx) * 1.05 - 4px), calc(var(--sy) * .9 + 5px)); }
  26%      { transform: translate(var(--sx), var(--sy)); }
  40%, 90% { transform: translate(0, 0); }
  100%     { transform: translate(var(--sx), var(--sy)); }
}
.ce-cresce { transform-box: fill-box; transform-origin: 50% 100%; animation: ceCresce 8s var(--ce-ease) infinite; }
@keyframes ceCresce {
  0%, 40% { transform: scaleY(0); }
  52%, 90% { transform: scaleY(1); }
  100% { transform: scaleY(0); }
}
.ce-linha-ciclo { stroke-dasharray: 1; stroke-dashoffset: 1; animation: ceLinhaCiclo 8s ease-in-out infinite; }
@keyframes ceLinhaCiclo {
  0%, 50% { stroke-dashoffset: 1; opacity: 1; }
  68%, 90% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.ce-fase-a { animation: ceFaseA 8s ease-in-out infinite; }
@keyframes ceFaseA { 0%, 28% { opacity: 1; } 36%, 94% { opacity: 0; } 100% { opacity: 1; } }
.ce-fase-b { opacity: 0; animation: ceFaseB 8s ease-in-out infinite; }
@keyframes ceFaseB { 0%, 54% { opacity: 0; transform: translateY(8px); } 62%, 90% { opacity: 1; transform: none; } 100% { opacity: 0; } }

/* pacote que viaja e pousa (empresas) */
.ce-pulsa { transform-box: fill-box; transform-origin: center; animation: cePulsa 2s ease-in-out infinite; }
@keyframes cePulsa { 50% { transform: scale(1.12); } }

/* ───────────── Mapa: rede de rotas saindo do CD ───────────── */
.ce-arco { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s var(--ce-ease); transition-delay: var(--ce-d, 0s); }
.ce-visto .ce-arco { stroke-dashoffset: 0; }
.ce-pin-in { transform-box: fill-box; transform-origin: center; opacity: 0; transform: scale(0); transition: opacity .5s, transform .6s var(--ce-ease-pop); transition-delay: var(--ce-d, 0s); }
.ce-visto .ce-pin-in { opacity: 1; transform: scale(1); }
.ce-uf-in { opacity: 0; transition: opacity 1s var(--ce-ease); transition-delay: var(--ce-d, 0s); }
.ce-visto .ce-uf-in { opacity: 1; }

/* ───────────── Rastreio (consumidor) ───────────── */
.ce-rast-linha { transform-origin: top center; transform: scaleY(0); transition: transform .7s var(--ce-ease); transition-delay: var(--ce-d, 0s); }
.ce-rast-ico { transform: scale(.4); opacity: 0; transition: transform .6s var(--ce-ease-pop), opacity .4s; transition-delay: var(--ce-d, 0s); }
.ce-rast-txt { opacity: 0; transform: translateX(-12px); transition: opacity .6s var(--ce-ease), transform .6s var(--ce-ease); transition-delay: var(--ce-d, 0s); }
.ce-on .ce-rast-linha { transform: none; }
.ce-on .ce-rast-ico, .ce-on .ce-rast-txt { opacity: 1; transform: none; }
.ce-rast-agora { position: relative; }
.ce-rast-agora::before, .ce-rast-agora::after {
  content: ''; position: absolute; inset: -2px; border-radius: 50%; border: 2px solid #FB923C;
  animation: ceOnda 2.2s ease-out infinite; pointer-events: none;
}
.ce-rast-agora::after { animation-delay: 1.1s; }
.ce-ponto-vivo { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor;
  margin-right: 8px; vertical-align: middle; animation: cePisca 1.2s ease-in-out infinite; }

.ce-caret { display: inline-block; width: 2px; height: 1.1em; background: currentColor; margin-left: 2px;
  vertical-align: -0.18em; animation: ceCaret 1s steps(1) infinite; }
@keyframes ceCaret { 50% { opacity: 0; } }

/* ───────────── Fundo de rede (CTAs, herói do grupo) ───────────── */
.ce-rede { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }

/* estrada com veículo cruzando o pé do CTA */
.ce-estrada { position: absolute; left: 0; right: 0; bottom: 0; height: 84px; pointer-events: none; overflow: hidden; }
.ce-estrada-veiculo { position: absolute; bottom: 8px; left: 0; animation: ceCruza 11s linear infinite; }
@keyframes ceCruza {
  from { transform: translateX(-80px); }
  to   { transform: translateX(calc(100vw + 80px)); }
}


/* ───────────── Abertura do Grupo (cortina da home) ───────────── */
.ce-abertura {
  position: fixed; inset: 0; z-index: 10000; cursor: pointer;
  background: radial-gradient(ellipse at 50% 70%, #142655 0%, #0C0E12 70%);
  display: flex; align-items: center; justify-content: center;
  transition: clip-path .9s cubic-bezier(.76, 0, .24, 1);
  clip-path: inset(0 0 0 0);
}
.ce-abertura-sai { clip-path: inset(0 0 100% 0); }
.ce-abertura-palco { display: flex; flex-direction: column; align-items: center; gap: 6px;
  transition: transform .9s cubic-bezier(.76, 0, .24, 1), opacity .5s; }
.ce-abertura-sai .ce-abertura-palco { transform: translateY(-60px); opacity: 0; }
.ce-ab-horizonte { stroke-dasharray: 1; stroke-dashoffset: 1; animation: ceDesenha .9s cubic-bezier(.65, 0, .35, 1) .1s forwards; }
.ce-ab-sol { transform: translateY(130px); animation: ceAbSol 1.3s cubic-bezier(.16, 1, .3, 1) .55s forwards; }
@keyframes ceAbSol { to { transform: translateY(0); } }
.ce-ab-raios { opacity: 0; transform-box: view-box; transform-origin: 160px 140px;
  animation: ceAbRaios 1s ease-out 1.15s forwards, ceGira 18s linear 1.15s infinite; }
@keyframes ceAbRaios { from { opacity: 0; } to { opacity: 1; } }
.ce-ab-rota { stroke-dashoffset: 0; opacity: 0; animation: ceAbFade .6s ease 1.1s forwards, ceTracejado 1.2s linear infinite; }
@keyframes ceAbFade { to { opacity: .8; } }
.ce-ab-marca { display: flex; align-items: center; gap: 14px; opacity: 0; transform: translateY(16px);
  animation: ceHeroIn .9s cubic-bezier(.16, 1, .3, 1) 1.15s forwards; }
.ce-ab-nome { font-family: 'Bahnschrift', 'Saira Condensed', sans-serif; font-weight: 800; font-style: italic;
  font-size: 34px; color: #fff; letter-spacing: .5em; line-height: 1;
  animation: ceAbNome 1.2s cubic-bezier(.16, 1, .3, 1) 1.15s forwards; }
@keyframes ceAbNome { to { letter-spacing: .06em; } }
.ce-ab-sub { font-family: 'Inter', system-ui, sans-serif; font-size: 13px; color: #FB923C; letter-spacing: .32em;
  text-transform: uppercase; margin-top: 6px; }

/* com a cortina, o herói espera ela subir */
.ce-com-abertura .ce-hi, .ce-com-abertura .ce-hi-titulo, .ce-com-abertura .ce-hi-visual,
.ce-com-abertura .ce-marca, .ce-com-abertura .ce-faixa > * {
  animation-delay: calc(var(--ce-d, 0s) + 2.3s) !important;
}
.ce-com-abertura .ce-destaque::after { animation-delay: calc(var(--ce-d, .1s) + 3.05s); }
.ce-com-abertura .ce-horizonte-sol, .ce-com-abertura .ce-horizonte-raios { animation-delay: 2.2s; }

/* ───────────── Sol nascendo no horizonte (herói da home) ───────────── */
.ce-horizonte { position: absolute; left: 0; right: 0; bottom: 0; height: 100%; pointer-events: none; overflow: hidden; }
.ce-horizonte-sol, .ce-horizonte-raios {
  position: absolute; left: 50%; bottom: 0; width: 920px; height: 920px; margin-left: -460px; border-radius: 50%;
  transform: translateY(78%);
}
.ce-horizonte-sol {
  background: radial-gradient(circle at 50% 50%, #FFE6CC 0%, #FB923C 30%, #C2410C 52%, rgba(194, 65, 12, 0) 70%);
  opacity: .9; animation: ceNasce 2.4s cubic-bezier(.16, 1, .3, 1) .3s both;
}
.ce-horizonte-raios {
  width: 1500px; height: 1500px; margin-left: -750px; transform: translateY(78%);
  background: repeating-conic-gradient(from 0deg, rgba(251, 146, 60, .10) 0deg 4deg, transparent 4deg 15deg);
  -webkit-mask-image: radial-gradient(circle, #000 25%, transparent 62%); mask-image: radial-gradient(circle, #000 25%, transparent 62%);
  animation: ceNasceRaios 2.4s cubic-bezier(.16, 1, .3, 1) .3s both, ceGiraCentro 90s linear infinite;
}
@keyframes ceNasce { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(78%); opacity: .9; } }
@keyframes ceNasceRaios { from { opacity: 0; } to { opacity: 1; } }
@keyframes ceGiraCentro { from { rotate: 0deg; } to { rotate: 360deg; } }
.ce-horizonte-linha { position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 230, 204, .8), transparent); }

/* a frota cruzando o horizonte */
.ce-caravana { position: absolute; left: 0; right: 0; bottom: 0; height: 80px; pointer-events: none; overflow: hidden; }
.ce-caravana img { position: absolute; bottom: 2px; left: 0; animation: ceCruza linear infinite;
  filter: drop-shadow(0 4px 6px rgba(0,0,0,.4)) brightness(.95); }

/* indicação de rolar */
.ce-rolar { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; color: rgba(255,255,255,.6);
  font: 600 11px/1 'Inter', system-ui, sans-serif; letter-spacing: .24em; text-transform: uppercase; text-decoration: none; }
.ce-rolar span { width: 22px; height: 36px; border: 2px solid rgba(255,255,255,.45); border-radius: 12px; position: relative; }
.ce-rolar span::after { content: ''; position: absolute; left: 50%; top: 6px; width: 4px; height: 8px; margin-left: -2px;
  border-radius: 2px; background: #FB923C; animation: ceRolar 1.8s ease-in-out infinite; }
@keyframes ceRolar { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(12px); opacity: 0; } 100% { opacity: 0; } }

/* porta (cards de público) */
.ce-porta { transition: transform .45s var(--ce-ease), box-shadow .45s var(--ce-ease), border-color .3s, background .3s; }
.ce-porta:hover { transform: translateY(-6px); border-color: #FB923C !important; box-shadow: 0 24px 48px rgba(15, 28, 62, .14); }
.ce-porta:hover .ce-porta-seta { transform: translateX(6px); color: #C2410C; }
.ce-porta-seta { transition: transform .35s var(--ce-ease-pop), color .2s; }

/* reflexo varrendo os painéis solares */
.ce-ene-reflexo { animation: ceReflexo 3.6s ease-in-out infinite; }
@keyframes ceReflexo { 0%, 30% { transform: translateX(0); } 70%, 100% { transform: translateX(260px); } }


/* ═══════════ Técnicas das referências ═══════════ */

/* Lenis (rolagem suave) */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* Texto letra a letra: cada palavra é uma máscara, a letra sobe dentro dela */
.ce-split-w { display: inline-block; overflow: hidden; vertical-align: top; padding: 0 .02em .1em; margin-bottom: -.1em; }
.ce-split-c { display: inline-block; transform: translate3d(0, 110%, 0) rotate(8deg); transform-origin: 0 100%;
  animation: ceLetra 1s var(--ce-ease) both; animation-delay: var(--ce-dc, 0s); animation-play-state: paused; }
.ce-split-on .ce-split-c { animation-play-state: running; }
@keyframes ceLetra { to { transform: none; } }
.ce-split .ce-destaque::after { animation-delay: 1.6s; }
.ce-com-abertura .ce-split .ce-destaque::after { animation-delay: 4.1s; }

/* Manifesto: palavras acendem com a rolagem */
.ce-palavra { opacity: .14; transition: opacity .35s ease-out, color .35s; }
.ce-palavra.ce-acesa { opacity: 1; }

/* Faixa de palavras correndo */
.ce-marquee { overflow: hidden; white-space: nowrap; }
.ce-marquee-trilho { display: inline-flex; animation: ceMarquee 38s linear infinite; transform: skewX(var(--ce-vel, 0deg)); }
.ce-marquee:hover .ce-marquee-trilho { animation-play-state: paused; }
@keyframes ceMarquee { from { translate: 0 0; } to { translate: -50% 0; } }

/* Molduras das cenas: inclinação 3D guiada pela rolagem */
.ce-moldura { transition: transform .12s linear; will-change: transform; }

/* Cursor com etiqueta */
html.ce-tem-cursor, html.ce-tem-cursor a, html.ce-tem-cursor button { cursor: none; }
.ce-cursor, .ce-cursor-anel, .ce-cursor-tag { position: fixed; left: 0; top: 0; z-index: 10001; pointer-events: none; }
.ce-cursor { width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: #FB923C; }
.ce-cursor-anel { width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; border: 1.5px solid rgba(251, 146, 60, .7);
  transition: width .35s var(--ce-ease), height .35s var(--ce-ease), margin .35s var(--ce-ease), background .25s, border-color .25s; }
.ce-cursor-sobre .ce-cursor-anel { width: 64px; height: 64px; margin: -32px 0 0 -32px; background: rgba(251, 146, 60, .12); border-color: #FB923C; }
.ce-cursor-tag { padding: 5px 10px 5px 8px; border-radius: 3px 10px 10px 10px; background: #FB923C; color: #3D1303;
  font: 700 11px/1 'Inter', system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
  opacity: 0; scale: .6; transform-origin: 0 0; transition: opacity .2s, scale .3s var(--ce-ease-pop); }
.ce-cursor-tag.ce-cursor-tag-on { opacity: 1; scale: 1; }

/* Linhas de grade que se desenham (Dropbox Brand: tile-line) */
.ce-grade { position: absolute; inset: 0; pointer-events: none; }
.ce-grade i { position: absolute; background: rgba(255, 255, 255, .09); }
.ce-grade .v { top: 0; bottom: 0; width: 1px; transform: scaleY(0); transform-origin: top; animation: ceGradeV 2.6s var(--ce-ease-big) forwards; }
.ce-grade .h { left: 0; right: 0; height: 1px; transform: scaleX(0); transform-origin: left; animation: ceGradeH 2.6s var(--ce-ease-big) forwards; }
@keyframes ceGradeV { to { transform: scaleY(1); } }
@keyframes ceGradeH { to { transform: scaleX(1); } }
.ce-com-abertura .ce-grade i { animation-delay: calc(var(--ce-gd, 0s) + 2.2s); }
.ce-grade i { animation-delay: var(--ce-gd, 0s); }

/* Tipo gigante do contato (bdsn) */
h2.ce-gigante[style] { font-size: clamp(96px, 21vw, 330px) !important; line-height: .8 !important; }
.ce-gigante { font-family: 'Bahnschrift', 'Saira Condensed', sans-serif; font-weight: 800; text-transform: uppercase;
  font-size: clamp(96px, 21vw, 330px); line-height: .8; letter-spacing: -.04em; margin: 0; }

/* ═══════════ Abertura em grade (Dropbox Brand) ═══════════
   linhas cruzam a tela e fecham um quadro no centro → o sol se desenha
   em traço e ganha cor → a marca aparece → o quadro voa até o logo do
   cabeçalho enquanto a cortina some. */
.ce-ab2 { position: fixed; inset: 0; z-index: 10000; background: #0C0E12; cursor: pointer;
  transition: background-color .7s ease .1s; }
.ce-ab2-sai { background-color: rgba(12, 14, 18, 0); pointer-events: none; }
.ce-ab2 .ln { position: absolute; background: rgba(148, 178, 255, .35); }
.ce-ab2 .ln.v { top: 0; bottom: 0; width: 1px; transform: scaleY(0); transition: transform 1.6s var(--ce-ease-big), opacity .5s; }
.ce-ab2 .ln.h { left: 0; right: 0; height: 1px; transform: scaleX(0); transition: transform 1.6s var(--ce-ease-big), opacity .5s; }
.ce-ab2 .ln.v.a { transform-origin: top; } .ce-ab2 .ln.v.b { transform-origin: bottom; }
.ce-ab2 .ln.h.a { transform-origin: left; } .ce-ab2 .ln.h.b { transform-origin: right; }
.ce-ab2-on .ln.v { transform: scaleY(1); } .ce-ab2-on .ln.h { transform: scaleX(1); }
.ce-ab2-sai .ln { opacity: 0; }
.ce-ab2-quadro { position: absolute; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 18px;
  transform-origin: 0 0; transition: transform 1.1s var(--ce-ease-big), opacity .4s ease .75s; }
.ce-ab2-sai .ce-ab2-quadro { opacity: 0; }
.ce-ab2-sol circle, .ce-ab2-sol line, .ce-ab2-sol path { vector-effect: non-scaling-stroke; }
.ce-ab2-traco { fill: #FB923C; fill-opacity: 0; stroke: #FB923C; stroke-width: 1.5; stroke-dasharray: 1; stroke-dashoffset: 1;
  animation: ceDesenha 1.25s var(--ce-ease-draw) .55s forwards, ceAb2Fill .7s ease 1.5s forwards; }
@keyframes ceAb2Fill { to { fill-opacity: 1; } }
.ce-ab2-horiz { stroke: #fff; stroke-width: 1.5; stroke-dasharray: 1; stroke-dashoffset: 1; animation: ceDesenha 1s var(--ce-ease-draw) .9s forwards; }
.ce-ab2-raio { stroke: #FB923C; stroke-width: 2; stroke-linecap: round; opacity: 0; animation: ceAbFade .5s ease forwards; }
.ce-ab2-nome { font: italic 800 30px/1 'Bahnschrift', 'Saira Condensed', sans-serif; color: #fff; letter-spacing: .04em;
  text-transform: uppercase; display: flex; gap: .5em; }
.ce-ab2-nome span { display: inline-block; overflow: hidden; }
.ce-ab2-nome b { display: inline-block; font-weight: 800; transform: translateY(110%); animation: ceLetra .9s var(--ce-ease) forwards; }
.ce-ab2-nome b + b { color: #FB923C; }


/* ═══════════ Mouse: inclinação 3D + reflexo ═══════════ */
.ce-tilt { position: relative; }
.ce-tilt::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2;
  background: radial-gradient(380px circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .55), transparent 46%);
  mix-blend-mode: soft-light; opacity: 0; transition: opacity .35s; }
.ce-tilt.ce-tiltando:not(.ce-rv) {
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-6px) !important;
  transition: transform .14s linear, box-shadow .3s !important;
  box-shadow: 0 30px 60px rgba(15, 28, 62, .18) !important; }
.ce-tilt.ce-tiltando::after { opacity: 1; }

/* Lanterna que segue o cursor */
[data-ce-luz] { --mx: -999px; --my: -999px; }
[data-ce-luz]::before { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(520px circle at var(--mx) var(--my), rgba(251, 146, 60, .16), transparent 62%); }
[data-ce-luz] .ce-grade { -webkit-mask-image: radial-gradient(420px circle at var(--mx) var(--my), #000 0%, rgba(0,0,0,.35) 100%);
  mask-image: radial-gradient(420px circle at var(--mx) var(--my), #000 0%, rgba(0,0,0,.35) 100%); }

/* ═══════════ Rolagem como linha do tempo ═══════════ */
.ce-pin-miolo { position: sticky; top: 0; height: 100vh; overflow: hidden; }

/* Filme da Express: a cena cresce até a tela cheia (EPIC: showreel) */
.ce-filme { --q: clamp(0, calc(var(--p, 0) * 1.8), 1); }
.ce-filme-tela { position: absolute; inset: 0; overflow: hidden;
  transform: scale(calc(.46 + var(--q) * .54)); border-radius: calc((1 - var(--q)) * 44px);
  box-shadow: 0 40px 90px rgba(15, 28, 62, calc(.35 * (1 - var(--q)))); will-change: transform; }
.ce-filme-tela .ce-cena { width: 100% !important; height: 100% !important; aspect-ratio: auto !important; }
.ce-filme-texto { position: absolute; left: 0; right: 0; bottom: 9vh; text-align: center; pointer-events: none;
  opacity: clamp(0, calc((var(--p, 0) - .5) * 4), 1); transform: translateY(calc((1 - clamp(0, calc((var(--p, 0) - .5) * 4), 1)) * 40px)); }
.ce-filme-titulo { position: absolute; left: 0; right: 0; top: 13vh; text-align: center; pointer-events: none;
  opacity: clamp(0, calc(1 - var(--p, 0) * 3), 1); transform: translateY(calc(var(--p, 0) * -80px)); }

/* Portas na horizontal */
.ce-horiz-trilho { display: flex; gap: 24px; padding: 0 40px; will-change: transform;
  transform: translateX(calc(var(--p, 0) * var(--ce-dist, 0px) * -1)); }
.ce-horiz-card { flex: 0 0 min(440px, 80vw); }
@media (max-width: 860px) {
  [data-ce-horiz] .ce-pin-miolo { position: static; height: auto; overflow: visible; }
  .ce-horiz-trilho { flex-direction: column; transform: none; padding: 0 18px; }
  .ce-horiz-card { flex-basis: auto; }
}

/* Cartas empilhadas */
.ce-pilha-carta { position: sticky; transform-origin: 50% 0;
  transform: scale(calc(1 - var(--k, 0) * .07)); filter: brightness(calc(1 - var(--k, 0) * .35)); }

@media (max-width: 860px) {
  .ce-pilha-carta { position: relative !important; top: auto !important; transform: none !important; filter: none !important; }
  .ce-pilha-carta > div:last-child > div { width: 100%; }
  .ce-pilha-carta .ce-cena { width: 100% !important; }
}
@media (max-width: 640px) {
  .ce-pilha-carta { padding: 22px !important; border-radius: 22px !important; }
  .ce-pilha-carta h3 { font-size: 34px !important; }
}

/* Celulares do app: empilhados → leque (scroll) + giro com o mouse */
.ce-app { --q: clamp(0, calc(var(--p, 0) * 2.2), 1); }
.ce-app-palco { position: relative; display: flex; justify-content: center; align-items: flex-end; height: 560px; width: 100%;
  transform-style: preserve-3d; perspective: 1600px; }
.ce-app-cel { position: absolute; bottom: 0; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 16px;
  width: calc(var(--w) * 1.08); margin-left: calc(var(--w) * -.54); transition: transform .1s linear; }
.ce-app-palco { --w: 250px; }
.ce-app-cel.esq  { transform: translateX(calc(var(--q) * var(--w) * -1.22)) translateZ(calc(var(--q) * -60px)) rotateY(calc(var(--q) * 16deg)) rotateZ(calc((1 - var(--q)) * -6deg)); }
.ce-app-cel.dir  { transform: translateX(calc(var(--q) * var(--w) * 1.22)) translateZ(calc(var(--q) * -60px)) rotateY(calc(var(--q) * -16deg)) rotateZ(calc((1 - var(--q)) * 6deg)); }
.ce-app-cel.meio { transform: translateY(calc((1 - var(--q)) * 30px)) translateZ(40px); z-index: 2; }
.ce-app-rotulo { font: 700 12px/1 'Inter', system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #FB923C;
  opacity: var(--q); }
@media (max-width: 860px) {
  .ce-app { height: auto !important; }
  .ce-app .ce-pin-miolo { position: static; height: auto; padding: 80px 0; }
  .ce-app-palco { height: auto; display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; justify-content: flex-start;
    padding: 0 24px 10px; transform: none !important; }
  .ce-app-cel { position: relative; left: auto; margin: 0; transform: none !important; flex: 0 0 auto; scroll-snap-align: center; }
  .ce-app-rotulo { opacity: 1; }
}

/* ═══════════ Manifesto que se desfaz ═══════════ */
.ce-mf { --q: 0; --o: 0; }
.ce-mf-texto { perspective: 900px; }
.ce-mf-p { display: inline-block; transform-origin: 50% 100%; will-change: transform, opacity; }
.ce-mf-impacto { color: #C2410C; transform-origin: 0 0; }
.ce-mf-alvo { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); text-align: center; visibility: hidden; }
.ce-mf-grade { position: absolute; inset: 0; pointer-events: none; opacity: var(--o);
  background-image: linear-gradient(rgba(15,28,62,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(15,28,62,.07) 1px, transparent 1px);
  background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse at 50% 70%, #000 20%, transparent 70%); mask-image: radial-gradient(ellipse at 50% 70%, #000 20%, transparent 70%); }
.ce-mf-selo { position: absolute; right: 6vw; bottom: 8vh; width: 112px; height: 112px; border-radius: 50%;
  background: #0F1C3E; color: #fff; display: flex; align-items: center; justify-content: center;
  opacity: clamp(0, calc((var(--o) - .6) * 3), 1); transform: scale(calc(.6 + clamp(0, calc((var(--o) - .6) * 3), 1) * .4)); }
.ce-mf-selo svg.ce-mf-anel { position: absolute; inset: 0; animation: ceGira 14s linear infinite; }

/* Frota flutuante (3D de CSS) */
.ce-frota { position: absolute; inset: 0; perspective: 1300px; perspective-origin: 50% 30%; pointer-events: none; overflow: hidden; }
.ce-frota-palco { position: absolute; left: 50%; top: 62%; width: 0; height: 0; transform-style: preserve-3d; opacity: 0; }
.ce-frota-piso { position: absolute; left: -900px; top: -900px; width: 1800px; height: 1800px; transform: translateZ(-2px);
  background-image: linear-gradient(rgba(15,28,62,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(15,28,62,.14) 1px, transparent 1px);
  background-size: 60px 60px; -webkit-mask-image: radial-gradient(circle, #000 15%, transparent 60%); mask-image: radial-gradient(circle, #000 15%, transparent 60%); }
.ce-frota-orbita { position: absolute; left: -340px; top: -210px; width: 680px; height: 420px; border-radius: 50%;
  border: 2px dashed rgba(194, 65, 12, .45); transform: translateZ(-1px); }
.ce-frota-centro { position: absolute; left: 0; top: 0; transform: rotateX(-64deg) translateY(-30px); transform-origin: 50% 100%; }
.ce-frota-centro img { position: absolute; left: -70px; bottom: 0; width: 140px; animation: ceFlutua 4s ease-in-out infinite; }
.ce-frota-item { position: absolute; left: 0; top: 0; transform-style: preserve-3d; }
.ce-frota-item img { position: absolute; bottom: 0; left: 0; transform: translateX(-50%); display: block; filter: drop-shadow(0 10px 12px rgba(15,28,62,.25)); }
.ce-frota-sombra { position: absolute; left: -50px; bottom: -8px; width: 100px; height: 14px; border-radius: 50%;
  background: radial-gradient(rgba(15,28,62,.3), transparent 70%); }

/* ───────────── Movimento reduzido: tudo parado e visível ───────────── */
@media (prefers-reduced-motion: reduce) {
  .ce-rv, .ce-hi, .ce-hi-visual, .ce-hi-titulo, .ce-faixa > *, .ce-marca,
  .ce-arco, .ce-pin-in, .ce-uf-in, .ce-rast-linha, .ce-rast-ico, .ce-rast-txt {
    opacity: 1 !important; transform: none !important; clip-path: none !important;
    stroke-dashoffset: 0 !important; animation: none !important; transition: none !important;
  }
  .ce-destaque::after { transform: none; animation: none; }
  .ce-cena *, .ce-sol, .ce-btn::before, .ce-estrada-veiculo, .ce-rede * { animation: none !important; }
  .ce-cena .ce-toast, .ce-cena .ce-toast-dir, .ce-cena .ce-notif, .ce-cena .ce-carimbo, .ce-cena .ce-fase-b { opacity: 1 !important; }
  .ce-cena .ce-sobe, .ce-cena .ce-fase-a { opacity: 0 !important; }
  .ce-cena .ce-desenha, .ce-cena .ce-assina, .ce-cena .ce-linha-ciclo { stroke-dashoffset: 0 !important; }
  .ce-cena .ce-barra, .ce-cena .ce-barra-h, .ce-cena .ce-cresce, .ce-cena .ce-escreve { transform: none !important; }
  .ce-cena .ce-ponto { transform: none !important; }
  .ce-cena .ce-anel-prog { stroke-dashoffset: var(--ce-alvo, 30) !important; }
  .ce-progresso { display: none; }
  .ce-abertura, .ce-ab2, .ce-cursor, .ce-cursor-anel, .ce-cursor-tag { display: none !important; }
  .ce-split-c { transform: none !important; animation: none !important; }
  .ce-palavra { opacity: 1 !important; }
  .ce-grade i { transform: none !important; animation: none !important; }
  .ce-marquee-trilho { animation: none !important; }
  .ce-filme-tela { transform: none !important; border-radius: 0 !important; }
  .ce-mf-p { transform: none !important; opacity: 1 !important; }
  .ce-pilha-carta { transform: none !important; filter: none !important; }
  .ce-horizonte-sol, .ce-horizonte-raios, .ce-rolar span::after, .ce-ene-reflexo { animation: none !important; }

  /* Sem a rolagem como linha do tempo, as seções presas viram seções normais,
     já montadas no estado final — nada de tela vazia nem card escondido. */
  .ce-mf, .ce-filme, [data-ce-horiz], .ce-app { height: auto !important; }
  .ce-pin-miolo { position: relative !important; height: auto !important; overflow: visible !important; }
  .ce-mf { --o: 1; }
  .ce-mf .ce-pin-miolo { flex-direction: column; padding: 110px 0 40px; }
  .ce-mf .ce-frota { position: relative; inset: auto; order: 2; width: 100%; height: 520px; }
  .ce-mf-alvo { display: none; }
  .ce-mf-selo { opacity: 1 !important; transform: none !important; }
  .ce-mf-selo svg.ce-mf-anel { animation: none !important; }
  .ce-filme .ce-pin-miolo { height: 86vh !important; overflow: hidden !important; }
  .ce-filme-texto, .ce-filme-titulo { opacity: 1 !important; transform: none !important; }
  .ce-horiz-trilho { transform: none !important; flex-wrap: wrap; justify-content: center; }
  .ce-app { --q: 1 !important; }
  .ce-app .ce-pin-miolo { padding-bottom: 80px !important; }
  .ce-caravana img, .ce-frota-centro img { animation: none !important; }
}
