/* ============================================================
   Mundial Viagens: tema cinematográfico em azul e branco
   Seções escuras em azul-marinho com granulado, letras gigantes
   e movimento guiado pela rolagem (js/motion.js).

   Sem o motion.js (internet lenta, CDN fora do ar ou "reduzir
   movimento" ligado), tudo aparece parado e legível: os estados
   animados só valem dentro de html.mv-anim.

   Este arquivo substitui index.css (nas páginas públicas),
   destaques.css, vendas.css, motion*.css, pastel.css e luxo.css.
   O painel admin continua com css/index.css, sem mudanças.
   ============================================================ */

/* ---------- 1. Paleta e medidas (mude as cores só aqui) ---------- */
:root{
  --noite:#06122c;      /* fundo mais escuro */
  --marinho:#0a1c44;    /* seções escuras, texto em fundo claro */
  --azul:#1d4a9f;       /* azul do logo: botões e destaques */
  --eletrico:#4f8dff;   /* brilhos e linhas ativas */
  --ceu:#8fd0ff;        /* rota do globo */
  --celeste:#a9c1ea;    /* linhas finas */
  --gelo:#eef3fc;       /* faixas claras */
  --papel:#ffffff;
  --tinta-2:#4a5a79;    /* texto secundário em fundo claro */
  --luz-2:#a9badd;      /* texto secundário em fundo escuro */
  --linha:#dce5f2;
  --linha-e:rgba(169,193,234,.2);

  /* nomes antigos (o globo e o painel conhecem estes) */
  --brand:var(--azul); --ink:var(--marinho); --dark:var(--marinho); --accent:var(--eletrico);
  --soft:var(--gelo); --line:var(--linha); --muted:var(--tinta-2);

  --fonte:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --w:1240px;
  --gut:clamp(1.25rem,4vw,3rem);
  --borda:max(var(--gut),calc((100vw - var(--w)) / 2 + var(--gut)));
  --sec:clamp(5rem,10vw,9rem);
  --h:76px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-2:cubic-bezier(.65,0,.35,1);
  --grao:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .09 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--h) + 12px);-webkit-text-size-adjust:100%;overflow-x:clip;background:var(--noite)}
body{font:400 1.0625rem/1.6 var(--fonte);font-stretch:100%;color:var(--marinho);background:var(--papel);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3{font-weight:800;font-stretch:108%;line-height:.92;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(2.6rem,6.2vw,6.2rem)}
h3{font-size:1.5rem;line-height:1.1;letter-spacing:-.02em}
p{text-wrap:pretty}
strong,b{font-weight:650}
[hidden]{display:none!important}
::selection{background:var(--eletrico);color:#fff}
:focus-visible{outline:2px solid var(--eletrico);outline-offset:3px;border-radius:3px}
.wrap{max-width:var(--w);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:var(--sec)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lead{font-size:clamp(1.05rem,1.3vw,1.2rem);color:var(--tinta-2);max-width:48ch}

/* seções escuras: marinho com granulado de filme */
.escuro{background:var(--marinho) var(--grao);color:#fff}
.escuro .lead{color:var(--luz-2)}

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

/* ---------- 3. Botões e links ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.4rem;padding:.9rem 1.7rem;border:1.5px solid transparent;border-radius:999px;
  background-color:transparent;font:650 1rem/1 var(--fonte);letter-spacing:-.005em;text-align:center;cursor:pointer;white-space:nowrap;overflow:hidden;isolation:isolate;
  transition:color .5s var(--ease),border-color .5s var(--ease),background-color .5s var(--ease)}
.btn svg{width:1.2em;height:1.2em;flex:none}
/* preenchimento que sobe por baixo ao passar o mouse */
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(102%);transition:transform .6s var(--ease)}
.btn:hover::before{transform:none}
.btn--azul{background:var(--azul);color:#fff}
.btn--azul::before{background:var(--marinho)}
.escuro .btn--azul::before,.btn--azul.no-escuro::before{background:#fff}
.escuro .btn--azul:hover{color:var(--marinho)}
.btn--claro{background:#fff;color:var(--marinho)}
.btn--claro::before{background:var(--eletrico)}
.btn--claro:hover{color:#fff}
.btn--vazado{border-color:rgba(255,255,255,.45);color:#fff}
.btn--vazado::before{background:#fff}
.btn--vazado:hover{color:var(--marinho);border-color:#fff}
.btn--linha{border-color:var(--azul);color:var(--azul)}
.btn--linha::before{background:var(--azul)}
.btn--linha:hover{color:#fff}
.btn[disabled]{opacity:.6;cursor:progress}
.link{display:inline-flex;align-items:center;gap:.45rem;font-weight:650;color:var(--azul);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;padding-bottom:3px;transition:background-size .5s var(--ease),gap .5s var(--ease)}
.link:hover{background-size:0 1.5px;background-position:100% 100%;gap:.7rem}
.escuro .link{color:#fff}

/* ---------- 4. Cabeçalho (claro sobre fundo escuro; escuro sobre fundo claro) ---------- */
.topo{position:fixed;inset:0 0 auto;z-index:50;height:var(--h);color:#fff;transition:translate .7s var(--ease),color .5s,background-color .5s,border-color .5s;
  border-bottom:1px solid transparent}
.topo.rolou{background:rgba(10,28,68,.72);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-bottom-color:var(--linha-e)}
.topo.claro{color:var(--marinho)}
.topo.claro.rolou{background:rgba(255,255,255,.82);border-bottom-color:var(--linha)}
.topo.some{translate:0 -100%}
.topo__in{height:100%;display:flex;align-items:center;gap:2rem}
.marca{position:relative;display:inline-flex;align-items:center;gap:.7rem;font:800 1.2rem/1 var(--fonte);font-stretch:112%;letter-spacing:-.03em;white-space:nowrap}
.marca img{height:40px;width:auto;transition:opacity .4s}
.marca .marca__azul{position:absolute;left:0;opacity:0}
.topo.claro .marca__azul{opacity:1}
.topo.claro .marca__branca{opacity:0}
.menu{margin-left:auto;display:flex;align-items:center;gap:clamp(.9rem,1.8vw,1.9rem)}
.menu a{position:relative;padding:.5rem 0;font:550 .93rem/1 var(--fonte)}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease)}
.menu a:hover::after,.menu a.ativo::after,.menu a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.topo__cta{min-height:2.6rem;padding:.6rem 1.15rem;font-size:.9rem}
.topo:not(.claro) .topo__cta{background:#fff;color:var(--marinho)}
.topo:not(.claro) .topo__cta::before{background:var(--eletrico)}
.topo:not(.claro) .topo__cta:hover{color:#fff}
.burger{display:none;margin-left:auto;width:46px;height:46px;border:0;background:none;cursor:pointer;position:relative;color:inherit}
.burger span{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .5s var(--ease),opacity .3s}
.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:22.5px}.burger span:nth-child(3){top:28px}
.menu-aberto .burger span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.menu-aberto .burger span:nth-child(2){opacity:0}
.menu-aberto .burger span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

@media (max-width:1080px){.menu .menu__extra{display:none}}
@media (max-width:900px){
  :root{--h:66px}
  .marca img{height:36px}
  .burger{display:block}
  .topo__cta{display:none}
  /* desfoque e deslocamento no cabeçalho prenderiam o menu (fixo) dentro dele: desliga enquanto aberto */
  .menu-aberto .topo,.menu-aberto .topo.rolou{color:#fff;background:transparent;border-color:transparent;translate:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .menu-aberto .topo .marca__azul{opacity:0}.menu-aberto .topo .marca__branca{opacity:1}
  .menu{position:fixed;inset:0;z-index:-1;margin:0;flex-direction:column;align-items:stretch;justify-content:center;gap:0;padding:calc(var(--h) + 1rem) var(--gut) 2rem;
    background:var(--marinho) var(--grao);color:#fff;overflow-y:auto;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--ease-2),visibility 0s .8s}
  .menu-aberto .menu{clip-path:inset(0);visibility:visible;transition:clip-path .8s var(--ease-2),visibility 0s}
  .menu a,.menu .menu__extra{display:block;font:800 clamp(2.1rem,9vw,3rem)/1.05 var(--fonte);font-stretch:112%;letter-spacing:-.035em;padding:.55rem 0;
    opacity:0;translate:0 30px;transition:opacity .5s,translate .7s var(--ease)}
  .menu a::after{display:none}
  .menu-aberto .menu a{opacity:1;translate:0 0;transition-delay:calc(.25s + var(--i,0) * 45ms)}
  .menu-aberto{overflow:hidden}
}
@media (max-width:400px){.marca{font-size:1.02rem}.marca img{height:32px}}

/* ---------- 5. Letras e palavras animadas (divididas por js/site.js) ---------- */
.pal{display:inline-block;white-space:nowrap;vertical-align:top;overflow:hidden;padding:.14em .02em .1em;margin:-.14em -.02em -.1em}
.ch{display:inline-block;will-change:transform}
.js [data-letras]:not(.letras){opacity:0}
.mv-solta [data-letras]{opacity:1!important}
.letras .ch{transform:translateY(118%) rotate(8deg);transition:transform 1.15s var(--ease);transition-delay:calc(var(--i,0) * 26ms + var(--atraso,0s))}
.letras.entra .ch{transform:none}
/* aparecer: blocos que sobem e clareiam ao entrar na tela */
.js [data-surge]{opacity:0;translate:0 34px;transition:opacity 1s var(--ease),translate 1.2s var(--ease);transition-delay:var(--atraso,0s)}
.js [data-surge].visto{opacity:1;translate:0 0}
.mv-solta [data-surge]{opacity:1;translate:0 0}

/* ---------- 6. Guilhoché (anéis do papel de passaporte, desenhados por js/site.js) ---------- */
.roseta{color:var(--celeste);pointer-events:none;overflow:visible;max-width:none}
.roseta path{fill:none;stroke:currentColor;stroke-width:.8;vector-effect:non-scaling-stroke}
.js .roseta.desenha path{stroke-dasharray:1;stroke-dashoffset:1;animation:traco 2.6s var(--ease) forwards;animation-delay:calc(var(--i,0) * 80ms + .25s)}
@keyframes traco{to{stroke-dashoffset:0}}

/* ---------- 7. Abertura (uma vez por visita) ---------- */
.mv-abre body::before{content:"";position:fixed;inset:0;z-index:200;background:var(--marinho)}
.abertura{position:fixed;inset:0;z-index:210;display:grid;place-items:center;background:var(--marinho) var(--grao);color:#fff;clip-path:inset(0 0 0 0)}
.abertura__in{display:grid;justify-items:center;gap:1.4rem}
.abertura img{width:86px;height:auto}
.abertura__num{font:800 clamp(5rem,16vw,12rem)/.8 var(--fonte);font-stretch:125%;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.abertura__txt{font-size:.95rem;color:var(--luz-2)}
.abertura__barra{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--eletrico);transform-origin:left;transform:scaleX(0)}

/* ---------- 8. Cursor (só com mouse) ---------- */
.cursor{position:fixed;left:0;top:0;z-index:150;pointer-events:none;display:grid;place-items:center;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;
  background:#fff;mix-blend-mode:difference;opacity:0;transition:width .5s var(--ease),height .5s var(--ease),margin .5s var(--ease),opacity .3s,background-color .3s}
.cursor span{font:700 .8rem/1 var(--fonte);color:#fff;opacity:0;transition:opacity .3s}
.cursor.on{opacity:1}
.cursor.grande{width:92px;height:92px;margin:-46px 0 0 -46px;mix-blend-mode:normal;background:var(--eletrico)}
.cursor.grande span{opacity:1}
.cursor.mira{width:46px;height:46px;margin:-23px 0 0 -23px}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* ---------- 9. Início: a viagem (globo fixo + capítulos) ---------- */
.viagem{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);column-gap:clamp(1rem,3vw,3rem);padding-left:var(--borda)}
.viagem::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 50% at 75% 30%,rgba(79,141,255,.16),transparent 70%),radial-gradient(40% 35% at 10% 90%,rgba(29,74,159,.35),transparent 70%)}
.viagem__texto{position:relative;z-index:2;grid-column:1;grid-row:1;min-width:0}
.viagem__palco{position:sticky;top:0;grid-column:2;grid-row:1;align-self:start;height:100svh;display:grid;place-items:center;padding:calc(var(--h) + 1rem) var(--gut) 5.5rem 0;z-index:1}

/* topo (hero) */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--h) + 3rem) 0 7rem;position:relative}
.hero h1{font-size:clamp(3.4rem,7.6vw,8.4rem);line-height:.86;letter-spacing:-.05em;font-stretch:100%;width:max-content;max-width:calc(100vw - 2 * var(--gut));pointer-events:none;position:relative;z-index:3}
.hero h1 .ch{font-variation-settings:"wdth" var(--wd,100),"wght" var(--wg,820)}
.hero__lead{margin-top:2rem;font-size:clamp(1.05rem,1.35vw,1.25rem);color:var(--luz-2);max-width:40ch}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.2rem}
.hero__onde{display:flex;align-items:center;gap:.6rem;margin-top:2.4rem;font-size:.95rem;color:var(--luz-2)}
.hero__onde svg{width:18px;height:18px;color:var(--ceu)}
.rolar{position:absolute;left:0;bottom:2.2rem;display:flex;align-items:center;gap:.9rem;font-size:.88rem;color:var(--luz-2)}
.rolar i{position:relative;display:block;width:1.5px;height:46px;background:var(--linha-e);overflow:hidden}
.rolar i::after{content:"";position:absolute;inset:0;background:#fff;animation:pinga 2.2s var(--ease-2) infinite}
@keyframes pinga{0%{transform:translateY(-100%)}55%,100%{transform:translateY(100%)}}

/* pergunta e capítulos */
.viagem__pergunta{min-height:60svh;display:flex;flex-direction:column;justify-content:center;padding-block:4rem}
.viagem__pergunta p{margin-top:1.4rem}
.cap{min-height:88svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:4rem;gap:0}
.cap__km{display:flex;align-items:baseline;gap:.5rem;font-size:1rem;color:var(--luz-2)}
.cap__km b{font:800 1.5rem/1 var(--fonte);font-stretch:112%;color:var(--ceu);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cap__nome{margin-top:1rem;font-size:clamp(3.2rem,7vw,7.6rem);line-height:.86;letter-spacing:-.05em;font-stretch:112%;max-width:9ch}
.cap__lugares{margin-top:1.6rem;font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--luz-2);max-width:36ch}
.cap .btn{margin-top:2rem}
.cap,.viagem__pergunta,.hero__lead,.hero__acoes,.hero__onde{transition:opacity .6s var(--ease)}
.mv-anim .cap:not(.agora){opacity:.28}

/* o globo (as classes globo__* são usadas pelo js/globo.js; não renomeie) */
.globo{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;min-width:0}
.globo__stage{position:relative;width:min(100%,74svh,720px);aspect-ratio:1;margin-inline:auto}
.globo__stage::before{content:"";position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(79,141,255,.38),rgba(79,141,255,.08) 55%,transparent 70%);filter:blur(28px);animation:respira 7s ease-in-out infinite}
@keyframes respira{50%{opacity:.6;scale:1.06}}
.globo__stage .roseta{position:absolute;inset:-3%;width:106%;height:106%;color:rgba(169,193,234,.42);animation:gira 240s linear infinite;will-change:transform}
.globo__fallback{position:absolute;inset:11.5%;border-radius:50%;background:radial-gradient(circle at 36% 30%,#1b3f8c,#0c2459 62%,#081a44);transition:opacity .8s}
.globo canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y;opacity:0;transform:scale(.94);transition:opacity 1.4s var(--ease) .3s,transform 1.8s var(--ease) .3s}
.globo canvas:active{cursor:grabbing}
.globo.pronto canvas{opacity:1;transform:none}
.globo.pronto .globo__fallback{opacity:0}
.globo__row{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.globo__nome,.globo__nome span{display:block}
.globo__sel{position:absolute;left:0;right:var(--gut);bottom:1.6rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}
.globo__sel button{position:relative;overflow:hidden;border:1px solid var(--linha-e);background:rgba(10,28,68,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#dbe6fb;
  font:550 .82rem/1 var(--fonte);padding:.62rem .9rem;border-radius:999px;cursor:pointer;transition:background-color .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}
.globo__sel button:hover{border-color:rgba(255,255,255,.6);color:#fff}
.globo__sel button.on{background:#fff;border-color:#fff;color:var(--marinho)}
.globo__sel button.on::after{content:"";position:absolute;left:12%;right:12%;bottom:4px;height:2px;border-radius:2px;background:var(--eletrico);transform-origin:left;transform:scaleX(0)}
.globo.auto .globo__sel button.on::after{animation:rota-fill 5.5s linear forwards}   /* o globo.js avança quando esta animação termina */
.globo.paused .globo__sel button.on::after{animation-play-state:paused}
@keyframes rota-fill{to{transform:scaleX(1)}}
@keyframes gira{to{rotate:360deg}}

@media (max-width:900px){
  .viagem{grid-template-columns:minmax(0,1fr);padding-inline:var(--gut)}
  .viagem__palco{grid-column:1;grid-row:1;height:54svh;margin-inline:calc(-1 * var(--gut));padding:calc(var(--h) - .5rem) var(--gut) 0;z-index:3;
    background:linear-gradient(var(--marinho) 0,var(--marinho) 82%,rgba(10,28,68,0)) ;}
  .viagem__palco::after{content:"";position:absolute;inset:0;background:var(--grao);pointer-events:none}
  .viagem__texto{grid-row:2}
  .globo__stage{width:min(100%,46svh)}
  .globo__sel{display:none}
  .hero{min-height:auto;padding:1.4rem 0 3.5rem;justify-content:flex-start}
  .hero h1{font-size:clamp(3rem,15vw,5rem)}
  .hero__lead{margin-top:1.3rem}
  .hero__acoes{margin-top:1.6rem}
  .hero__acoes .btn{flex:1 1 auto}
  .hero__onde{margin-top:1.5rem}
  .rolar{display:none}
  .viagem__pergunta{min-height:auto;padding-block:3rem 2rem}
  .cap{min-height:62svh;padding-block:2.5rem 3rem;justify-content:flex-start}
  .cap__nome{font-size:clamp(2.7rem,13vw,4.6rem)}
  .cap .btn{width:100%}
}

/* ---------- 10. Em destaque (cadastrado no painel) ---------- */
.destaques{padding-block:clamp(3rem,6vw,5rem) var(--sec);overflow:hidden}
.destaques__cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem 2rem;margin-bottom:clamp(1.75rem,4vw,3rem)}
.destaques__ctrl{display:flex;align-items:center;gap:.5rem}
.destaques__cont{font:600 .95rem/1 var(--fonte);color:var(--luz-2);margin-right:.75rem;font-variant-numeric:tabular-nums}
.destaques__cont b{font:800 1.5rem/1 var(--fonte);font-stretch:112%;color:#fff}
.seta{position:relative;display:grid;place-items:center;width:52px;height:52px;border:1.5px solid var(--linha-e);border-radius:50%;background:transparent;color:#fff;cursor:pointer;overflow:hidden;isolation:isolate;
  transition:color .5s var(--ease),border-color .5s var(--ease)}
.seta::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:#fff;scale:0;transition:scale .55s var(--ease)}
.seta:hover{color:var(--marinho);border-color:#fff}
.seta:hover::before{scale:1}
.seta svg{width:20px;height:20px}
.destaques__slides{position:absolute;inset:0;transform-origin:50% 60%}
.destaques__moldura{position:relative;height:min(86svh,820px);margin-inline:var(--gut);border-radius:clamp(14px,2vw,28px);overflow:hidden;background:var(--noite);touch-action:pan-y}
.dsl{position:absolute;inset:0;display:flex;align-items:flex-end;visibility:hidden;opacity:0;transition:opacity 1.1s var(--ease),visibility 0s 1.1s}
.dsl.ativo{visibility:visible;opacity:1;transition:opacity 1.1s var(--ease),visibility 0s}
.dsl__img{position:absolute;inset:0;overflow:hidden}
.dsl__img img{width:100%;height:100%;object-fit:cover;scale:1.16;transition:scale 8s cubic-bezier(.2,.6,.3,1)}
.dsl.ativo .dsl__img img{scale:1}
.dsl__img .roseta{position:absolute;left:50%;top:50%;width:max(130%,1100px);height:auto;aspect-ratio:1;translate:-50% -50%;color:rgba(169,193,234,.3)}
.dsl__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,18,44,.92) 0%,rgba(6,18,44,.45) 42%,rgba(6,18,44,0) 72%),linear-gradient(90deg,rgba(6,18,44,.5),rgba(6,18,44,0) 60%)}
.dsl.sem-foto .dsl__img{background:radial-gradient(70% 70% at 70% 30%,#1d4a9f,#0a1c44 70%)}
.dsl__txt{position:relative;padding:clamp(1.5rem,5vw,4.5rem);max-width:min(900px,100%)}
.dsl__tag{display:inline-flex;align-items:center;gap:.55rem;font:650 .9rem/1 var(--fonte);color:#dbe6fb}
.dsl__tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ceu);box-shadow:0 0 0 0 rgba(143,208,255,.6);animation:bip 2.2s infinite}
@keyframes bip{70%,100%{box-shadow:0 0 0 12px rgba(143,208,255,0)}}
.dsl__txt h3{margin-top:1.1rem;font-size:clamp(2.6rem,6.6vw,6.4rem);line-height:.88;letter-spacing:-.05em;font-stretch:112%;max-width:14ch}
.dsl__txt p{margin-top:1.3rem;font-size:clamp(1rem,1.4vw,1.2rem);color:#dbe6fb;max-width:46ch;opacity:0;translate:0 16px;transition:opacity .9s var(--ease) .35s,translate .9s var(--ease) .35s}
.dsl__txt .btn{margin-top:1.8rem;opacity:0;translate:0 16px;transition:opacity .9s var(--ease) .45s,translate .9s var(--ease) .45s,color .5s,background-color .5s}
.dsl.ativo .dsl__txt p,.dsl.ativo .dsl__txt .btn{opacity:1;translate:0 0}
.destaques__barra{position:absolute;left:clamp(1.5rem,5vw,4.5rem);right:clamp(1.5rem,5vw,4.5rem);bottom:clamp(1rem,2.2vw,1.8rem);height:2px;background:rgba(255,255,255,.2);overflow:hidden}
.destaques__barra i{display:block;height:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.destaques__barra i.corre{animation:enche 7s linear forwards}
.destaques.pausa .destaques__barra i{animation-play-state:paused}
.destaques.solo .destaques__ctrl,.destaques.solo .destaques__barra{display:none}
@keyframes enche{to{transform:scaleX(1)}}
@media (max-width:760px){
  .destaques__moldura{height:76svh;margin-inline:var(--gut)}
  .dsl__txt{padding-bottom:3.2rem}
  .dsl__txt .btn{width:100%}
  .destaques .seta{width:46px;height:46px}
}

/* ---------- 11. Próximas saídas (galeria que anda de lado) ---------- */
.saidas{position:relative}
.saidas__fixo{position:relative;padding-block:var(--sec)}
.saidas__trilho{display:flex;align-items:stretch;gap:clamp(1rem,2vw,1.75rem);padding-inline:var(--borda);scroll-padding-inline:var(--borda);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.saidas__trilho::-webkit-scrollbar{display:none}
.saidas__intro{flex:0 0 min(460px,78vw);display:flex;flex-direction:column;justify-content:flex-end;padding:0 clamp(1rem,3vw,3rem) .5rem 0;scroll-snap-align:start}
.saidas__intro .lead{margin-top:1.4rem}
.saidas__intro .btn{margin-top:2rem;align-self:flex-start}
.sc{position:relative;flex:0 0 clamp(270px,29vw,430px);height:min(66svh,620px);min-height:420px;border-radius:clamp(14px,1.6vw,22px);overflow:hidden;isolation:isolate;scroll-snap-align:start;background:#11285e;
  display:flex;flex-direction:column;justify-content:space-between;padding:1.4rem;color:#fff}
.sc__img{position:absolute;inset:0;z-index:-2;overflow:hidden}
.sc__img img{width:120%;max-width:none;height:100%;object-fit:cover;margin-left:-10%;transition:scale 1.2s var(--ease)}
.sc:hover .sc__img img{scale:1.07}
.sc__img .roseta{position:absolute;left:50%;top:50%;width:200%;height:auto;aspect-ratio:1;translate:-50% -50%;color:rgba(169,193,234,.35)}
.sc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,18,44,.55) 0%,rgba(6,18,44,0) 30%,rgba(6,18,44,0) 45%,rgba(6,18,44,.92) 100%)}
.sc__data{display:flex;align-items:flex-start;gap:.5rem}
.sc__data b{font:800 clamp(3.4rem,5vw,4.6rem)/.8 var(--fonte);font-stretch:118%;letter-spacing:-.05em;font-variant-numeric:lining-nums}
.sc__data span{font:650 .95rem/1.15 var(--fonte);padding-top:.25rem}
.sc__data small{display:block;font-weight:500;color:#dbe6fb}
.sc__tag{font:650 .85rem/1 var(--fonte);color:var(--ceu)}
.sc h3{margin-top:.6rem;font-size:clamp(1.8rem,2.6vw,2.5rem);line-height:.95;letter-spacing:-.04em;font-stretch:108%}
.sc__preco{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.22)}
.sc__preco span{font-size:.82rem;color:#dbe6fb}
.sc__preco strong{display:block;font:800 1.5rem/1 var(--fonte);font-stretch:108%;letter-spacing:-.03em;margin-top:.2rem;font-variant-numeric:lining-nums}
.sc__ir{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--marinho);flex:none;transition:rotate .6s var(--ease),background-color .4s,color .4s}
.sc__ir svg{width:20px;height:20px}
.sc:hover .sc__ir{rotate:-45deg;background:var(--eletrico);color:#fff}
.saidas__fim{flex:0 0 clamp(240px,22vw,320px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.5rem;padding:1.5rem;border:1.5px dashed var(--linha-e);border-radius:clamp(14px,1.6vw,22px);scroll-snap-align:start}
.saidas__fim strong{font:800 clamp(1.8rem,2.6vw,2.4rem)/.95 var(--fonte);font-stretch:108%;letter-spacing:-.04em}
.saidas__vazio{padding-block:0 var(--sec)}
.saidas__vazio p{color:var(--luz-2);max-width:52ch;margin-top:1.2rem}
.saidas__vazio .btn{margin-top:1.75rem}
.saidas__carrega{flex:0 0 clamp(270px,29vw,430px);height:min(66svh,620px);min-height:420px;border-radius:22px;background:linear-gradient(100deg,#0f2554 30%,#16336f 50%,#0f2554 70%) 0 0/300% 100%;animation:brilho 1.6s ease-in-out infinite}
@keyframes brilho{from{background-position:100% 0}to{background-position:0 0}}
/* com movimento: a seção fica presa e o trilho anda de lado (altura calculada no motion.js) */
@media (min-width:901px){
  .mv-anim .saidas.anda .saidas__fixo{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-block:calc(var(--h) + 1rem) 2rem;overflow:hidden}
  .mv-anim .saidas.anda .saidas__trilho{flex:none;width:100%;min-width:0;overflow:visible;scroll-snap-type:none;will-change:transform}
}
.saidas__prog{position:absolute;left:var(--borda);right:var(--borda);bottom:2rem;height:2px;background:var(--linha-e);display:none}
.saidas__prog i{display:block;height:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.mv-anim .saidas.anda .saidas__prog{display:block}
@media (max-width:900px){.saidas__prog{display:none!important}}

/* ---------- 12. Manifesto (o fundo passa de escuro para claro) ---------- */
.manifesto{position:relative;padding-block:var(--sec);background:var(--papel);color:var(--marinho);overflow:hidden}
.manifesto__tit{font-size:clamp(1.05rem,1.3vw,1.2rem);font-weight:650;font-stretch:100%;letter-spacing:0;line-height:1.3;color:var(--azul)}
.manifesto__texto{margin-top:1.6rem;font:650 clamp(1.9rem,4.3vw,4.4rem)/1.06 var(--fonte);font-stretch:104%;letter-spacing:-.035em;max-width:20ch}
.manifesto__texto .w{transition:opacity .2s}
.numeros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:clamp(4rem,9vw,8rem);border-top:1.5px solid currentColor;padding-top:2rem}
.numeros div{display:flex;flex-direction:column-reverse}
.numeros dd{font:800 clamp(3.4rem,9.5vw,9.6rem)/.84 var(--fonte);font-stretch:118%;letter-spacing:-.06em;font-variant-numeric:lining-nums tabular-nums}
.numeros dt{margin-top:1rem;font-size:1rem;opacity:.75}
.pilares{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);margin-top:clamp(4rem,8vw,7rem)}
.pilares li{padding-top:1.5rem;border-top:1px solid var(--linha)}
.pilares h3{font-size:clamp(1.5rem,2.2vw,2rem)}
.pilares p{margin-top:.8rem;color:var(--tinta-2)}
.pilares .link{margin-top:1.2rem}
@media (max-width:760px){
  .numeros{grid-template-columns:1fr;gap:2.5rem}
  .pilares{grid-template-columns:1fr}
}

/* ---------- 13. Faixa de destinos (corre e acelera com a rolagem) ---------- */
.faixa{padding-block:clamp(2.5rem,5vw,4rem);overflow:hidden;user-select:none}
.faixa__linha{display:flex;white-space:nowrap}
.faixa__trilho{display:flex;align-items:center;flex:none;will-change:transform;animation:corre 50s linear infinite}
.faixa__linha--2 .faixa__trilho{animation-direction:reverse}
.faixa span{font:850 clamp(3rem,8.5vw,8.6rem)/1 var(--fonte);font-stretch:125%;letter-spacing:-.045em;padding-inline:.25em}
.faixa__linha--1 span{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.75)}
.faixa svg{width:clamp(1.8rem,4vw,3.6rem);height:auto;color:var(--ceu);flex:none;rotate:45deg}
.faixa__linha--2 svg{rotate:-135deg}
.mv-anim .faixa__trilho{animation:none}
@keyframes corre{to{transform:translateX(-50%)}}

/* ---------- 14. Como funciona: o avião segue a rota e acende cada passo ---------- */
.passos{position:relative;background:var(--papel)}
.passos__fixo{padding-block:var(--sec)}
.passos h2{max-width:13ch}
.voo{position:relative;margin-top:clamp(2.5rem,5vw,4rem)}
.voo__svg{width:100%;height:auto;aspect-ratio:1200/240;overflow:visible}
.voo__base{fill:none;stroke:var(--celeste);stroke-width:1.5;stroke-dasharray:3 8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.voo__linha{fill:none;stroke:var(--azul);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:round}
.voo__aviao path{fill:var(--azul)}
.voo__ponto{fill:#fff;stroke:var(--azul);stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .5s}
.voo__ponto.chegou{fill:var(--azul)}
.voo__passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);margin-top:clamp(1.5rem,3vw,2.5rem)}
.voo__passos li{padding-top:1.4rem;border-top:1.5px solid var(--linha);transition:border-color .6s var(--ease)}
.voo__passos b{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--celeste);color:var(--azul);font:800 1.05rem/1 var(--fonte);font-stretch:112%;
  transition:background-color .6s var(--ease),color .6s var(--ease),border-color .6s var(--ease)}
.voo__passos h3{margin-top:1rem;font-size:clamp(1.35rem,1.9vw,1.8rem)}
.voo__passos p{margin-top:.5rem;color:var(--tinta-2);font-size:.98rem}
.voo__passos li.chegou{border-top-color:var(--azul)}
.voo__passos li.chegou b{background:var(--azul);border-color:var(--azul);color:#fff}
.mv-anim .voo__passos li h3,.mv-anim .voo__passos li p{opacity:.35;transition:opacity .6s var(--ease)}
.mv-anim .voo__passos li.chegou h3,.mv-anim .voo__passos li.chegou p{opacity:1}
@media (min-width:901px){
  .mv-anim .passos{height:260svh}
  .mv-anim .passos__fixo{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:calc(var(--h) + 1rem) 2rem}
}
@media (max-width:900px){
  .voo__svg{display:none}
  .voo__passos{position:relative;grid-template-columns:1fr;gap:2.2rem;margin-top:0;padding-left:3.8rem}
  .voo__passos::before,.voo__passos::after{content:"";position:absolute;left:21px;top:22px;bottom:22px;border-left:1.5px dashed var(--celeste)}
  .voo__passos::after{border-left:3px solid var(--azul);left:20.5px;transform:scaleY(var(--rota,1));transform-origin:top}
  .voo__passos li{position:relative;padding:0;border:0}
  .voo__passos b{position:absolute;left:-3.8rem;top:-.2rem;z-index:1;background:#fff}
  .voo__passos h3{margin-top:0}
}

/* ---------- 15. Depoimentos empilhados ---------- */
.depo{background:var(--gelo);padding-block:var(--sec)}
.depo__pilha{margin-top:clamp(2.5rem,5vw,4rem)}
.depo__card{position:sticky;top:calc(var(--h) + 1.5rem + var(--i) * 1.4rem);min-height:min(62svh,560px);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(1.75rem,4.5vw,4rem);
  border-radius:clamp(16px,2vw,28px);background:#fff;transform-origin:50% 0;box-shadow:0 -20px 60px -40px rgba(10,28,68,.35)}
.depo__card+.depo__card{margin-top:14svh}
.depo__card:nth-child(2){background:var(--azul);color:#fff}
.depo__card:nth-child(3){background:var(--marinho) var(--grao);color:#fff}
.depo__card blockquote p{font:650 clamp(1.7rem,3.8vw,3.6rem)/1.08 var(--fonte);font-stretch:104%;letter-spacing:-.035em;max-width:24ch}
.depo__card blockquote p::before{content:"“";display:block;font:800 1em/0.6 var(--fonte);color:var(--eletrico);margin-bottom:.3em}
.depo__card:nth-child(n+2) blockquote p::before{color:var(--ceu)}
.depo__card figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-top:1.25rem;border-top:1px solid currentColor;font-size:1rem}
.depo__card figcaption strong{font-weight:700}
.depo__card figcaption span{opacity:.75}

/* ---------- 16. Dúvidas ---------- */
.duvidas{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.duvidas .lead{margin-top:1.4rem}
.faq{border-top:1.5px solid var(--marinho)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:1.5rem 3.5rem 1.5rem 0;font:700 clamp(1.15rem,1.6vw,1.45rem)/1.25 var(--fonte);letter-spacing:-.02em;transition:color .3s}
.faq summary:hover{color:var(--azul)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"";position:absolute;right:0;top:50%;width:38px;height:38px;margin-top:-19px;border-radius:50%;border:1.5px solid var(--linha);transition:background-color .4s,border-color .4s}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;width:38px;margin-top:-.62em;text-align:center;font:500 1.5rem/1.2 var(--fonte);color:var(--azul);transition:rotate .5s var(--ease),color .4s}
.faq details[open] summary::before{background:var(--azul);border-color:var(--azul)}
.faq details[open] summary::after{rotate:45deg;color:#fff}
.faq details p{padding:0 3.5rem 1.6rem 0;color:var(--tinta-2)}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .faq details::details-content{block-size:0;overflow:hidden;transition:block-size .55s var(--ease),content-visibility .55s allow-discrete}
  .faq details[open]::details-content{block-size:auto}
}
@media (max-width:860px){.duvidas{grid-template-columns:1fr}}

/* ---------- 17. Contato ---------- */
.contato__tit{font-size:clamp(3.4rem,12vw,13rem);line-height:.82;letter-spacing:-.06em;font-stretch:var(--wd,118%)}
.contato__grade{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:start;margin-top:clamp(2.5rem,6vw,5rem)}
.contato__lista{display:grid;gap:1.5rem;margin-top:2rem}
.contato__lista dt{font-size:.88rem;color:var(--luz-2)}
.contato__lista dd{font-size:1.12rem;margin-top:.15rem}
.contato__lista a{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .5s var(--ease),color .3s;word-break:break-word}
.contato__lista a:hover{color:var(--ceu);background-size:0 1px}
.contato__form{border:1px solid var(--linha-e);border-radius:clamp(16px,2vw,24px);background:rgba(255,255,255,.04);padding:clamp(1.5rem,4vw,2.75rem)}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 1.5rem}
.campo--todo{grid-column:1/-1}
.campo label{display:block;font-size:.86rem;color:var(--luz-2);margin-bottom:.35rem;transition:color .3s}
.campo input,.campo textarea{width:100%;padding:.6rem 0;border:0;border-bottom:1px solid rgba(169,193,234,.4);border-radius:0;background:transparent;color:#fff;font-size:1.08rem;outline:0;resize:vertical;color-scheme:dark;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease)}
.campo input::placeholder,.campo textarea::placeholder{color:rgba(169,186,221,.6)}
.campo input:focus,.campo textarea:focus{border-color:#fff;box-shadow:0 1px 0 #fff}
.campo:focus-within label{color:#fff}
.contato__form .btn{margin-top:2.2rem}
.form__ok{margin-top:1.1rem;color:#9fe0bf;font-size:.98rem}
.form__ok a{font-weight:650;border-bottom:1px solid currentColor}
.form__ok.erro{color:#ffb8ae}
@media (max-width:860px){.contato__grade{grid-template-columns:1fr}}
@media (max-width:560px){.campos{grid-template-columns:1fr}.contato__form .btn{width:100%}}

/* ---------- 18. Rodapé com o nome gigante ---------- */
.rodape{position:relative;overflow:hidden;padding-top:clamp(4rem,8vw,6rem);border-top:1px solid var(--linha-e)}
.rodape__grade{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.rodape .marca{font-size:1.5rem}
.rodape .marca img{height:52px}
.rodape__sobre{margin-top:1.25rem;max-width:42ch;font-size:.97rem;color:var(--luz-2)}
.rodape h2{font:650 .9rem/1 var(--fonte);letter-spacing:0;color:#fff;margin-bottom:1.2rem}
.rodape ul{display:grid;gap:.7rem}
.rodape ul a{font-size:.97rem;color:var(--luz-2);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .5s var(--ease),color .3s}
.rodape ul a:hover{color:#fff;background-size:100% 1px}
.rodape__nome{display:block;margin-top:clamp(3rem,7vw,5rem);font:900 15vw/.78 var(--fonte);font-stretch:var(--wd,125%);letter-spacing:-.06em;white-space:nowrap;text-align:center;color:#fff;
  padding-inline:var(--gut);user-select:none;translate:0 .06em}
.rodape__legal{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.4rem;border-top:1px solid var(--linha-e);font-size:.84rem;color:#8ea2cb}
@media (max-width:760px){.rodape__grade{grid-template-columns:1fr 1fr}.rodape__grade>:first-child{grid-column:1/-1}}

/* ---------- 19. Botão do WhatsApp ---------- */
.zap{position:fixed;right:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:40;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:#1fa855;color:#fff;box-shadow:0 16px 34px -12px rgba(6,18,44,.6);opacity:0;scale:.5;pointer-events:none;
  transition:opacity .45s var(--ease),scale .7s var(--ease),background-color .3s}
.zap::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #1fa855;animation:onda 2.6s ease-out infinite}
@keyframes onda{to{scale:1.6;opacity:0}}
.zap.mostra{opacity:1;scale:1;pointer-events:auto}
.zap:hover{background:#178a45}
.zap svg{width:30px;height:30px}

/* ---------- 20. Página de vendas ---------- */
.vhero{padding:calc(var(--h) + clamp(3rem,8vw,6.5rem)) 0 0;position:relative;overflow:hidden}
.vhero::before{content:"";position:absolute;width:min(1100px,140vw);aspect-ratio:1;right:-20%;top:-40%;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(79,141,255,.22),transparent)}
.vhero h1{font-size:clamp(3.4rem,11vw,11.5rem);line-height:.84;letter-spacing:-.06em;font-stretch:var(--wd,118%)}
.vhero .lead{margin-top:1.8rem}
.abas{position:relative;display:flex;gap:.35rem;margin-top:clamp(2.5rem,5vw,4rem);padding:.35rem;border:1px solid var(--linha-e);border-radius:999px;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.abas::-webkit-scrollbar{display:none}
.abas button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.35rem;border:0;border-radius:999px;background:none;cursor:pointer;font:650 1rem/1 var(--fonte);color:#dbe6fb;white-space:nowrap;transition:color .5s var(--ease)}
.abas button b{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding-inline:.4rem;border-radius:999px;background:rgba(255,255,255,.14);font-size:.78rem;transition:background-color .5s}
.abas button[aria-selected="true"]{color:var(--marinho)}
.abas button[aria-selected="true"] b{background:var(--gelo)}
.abas__marca{position:absolute;left:0;top:.35rem;bottom:.35rem;width:0;border-radius:999px;background:#fff;transition:translate .7s var(--ease),width .7s var(--ease)}
.vhero__pe{height:clamp(2.5rem,6vw,4.5rem)}
@media (max-width:560px){.abas{width:100%}.abas button{flex:1;justify-content:center;padding:.8rem .7rem;font-size:.92rem;gap:.4rem}}
.vlista{padding-block:clamp(2rem,4vw,3rem) var(--sec)}
.abas__desc{margin-bottom:2.25rem;color:var(--tinta-2);font-size:1.05rem}
.bilhetes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(1.25rem,2.6vw,2.25rem)}
.bilhetes>.lead,.bilhetes .vazio{grid-column:1/-1}
.bilhetes .vazio .btn{margin-top:1.4rem}

/* cartão estilo bilhete: foto, dados e canhoto destacável */
.bilhete{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--linha);border-radius:18px;overflow:hidden;transition:border-color .5s var(--ease),box-shadow .7s var(--ease),translate .7s var(--ease)}
.bilhete:hover{border-color:var(--celeste);box-shadow:0 34px 60px -38px rgba(10,28,68,.55);translate:0 -6px}
.bilhete__foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--marinho)}
.bilhete__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease,scale 1.4s var(--ease)}
.bilhete__foto img.on{opacity:1}
.bilhete:hover .bilhete__foto img{scale:1.06}
.bilhete__foto .roseta{position:absolute;left:50%;top:50%;width:150%;height:auto;aspect-ratio:1;translate:-50% -50%;color:rgba(169,193,234,.35)}
.bilhete__selo{position:absolute;left:1rem;top:1rem;z-index:1;padding:.45rem .8rem;border-radius:999px;background:rgba(255,255,255,.92);color:var(--marinho);font:650 .8rem/1 var(--fonte)}
.bilhete__corpo{flex:1;padding:1.4rem 1.5rem 1.3rem}
.bilhete h2{font-size:clamp(1.8rem,2.4vw,2.3rem);line-height:.98;letter-spacing:-.04em}
.bilhete__desc{margin-top:.6rem;color:var(--tinta-2);font-size:.97rem}
.bilhete__canhoto{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.15rem 1.5rem 1.35rem;border-top:1.5px dashed var(--celeste)}
.bilhete__canhoto::before,.bilhete__canhoto::after{content:"";position:absolute;top:-11px;width:21px;height:21px;border-radius:50%;background:var(--papel);border:1px solid var(--linha)}
.bilhete__canhoto::before{left:-11px}
.bilhete__canhoto::after{right:-11px}
.bilhete__canhoto span{display:block;font-size:.8rem;color:var(--tinta-2)}
.bilhete__canhoto strong{display:block;font-weight:650;font-size:1rem;margin-top:.15rem}
.bilhete__preco{text-align:right}
.bilhete__preco strong{font:800 1.75rem/1 var(--fonte);font-stretch:108%;letter-spacing:-.035em;color:var(--azul);margin-top:.25rem;font-variant-numeric:lining-nums}
/* entrada: uma cortina da cor da página sobe e revela o cartão (o cartão em si não é recortado,
   senão o navegador não percebe que ele entrou na tela) */
.js .bilhete[data-surge]{opacity:1;translate:0 0;transition:border-color .5s var(--ease),box-shadow .7s var(--ease),translate .7s var(--ease)}
.js .bilhete[data-surge]::after{content:"";position:absolute;inset:-1px;z-index:3;background:var(--papel);transform-origin:50% 0;pointer-events:none;
  transition:transform 1.25s var(--ease-2);transition-delay:var(--atraso,0s)}
.js .bilhete[data-surge].visto::after{transform:scaleY(0)}
.js .bilhete[data-surge] .bilhete__foto img{scale:1.25;transition:opacity 1.4s ease,scale 1.8s var(--ease);transition-delay:0s,var(--atraso,0s)}
.js .bilhete[data-surge].visto .bilhete__foto img{scale:1}
.js .bilhete[data-surge].visto:hover .bilhete__foto img{scale:1.06;transition-delay:0s}
.mv-solta .bilhete[data-surge]::after{display:none}
@media (min-width:900px){
  .bilhete--destaque{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:1fr auto}
  .bilhete--destaque .bilhete__foto{grid-row:1/3;aspect-ratio:auto;min-height:440px}
  .bilhete--destaque .bilhete__corpo{padding:2.5rem 2.5rem 1.5rem;display:flex;flex-direction:column;justify-content:center}
  .bilhete--destaque h2{font-size:clamp(2.6rem,4.4vw,4.2rem)}
  .bilhete--destaque .bilhete__canhoto{padding-inline:2.5rem;border-left:1px solid var(--linha)}
  .bilhete--destaque .bilhete__canhoto::before{display:none}
}
.esqueleto{border:1px solid var(--linha);border-radius:18px;overflow:hidden}
.esqueleto i{display:block;background:linear-gradient(100deg,var(--gelo) 30%,#fff 50%,var(--gelo) 70%) 0 0/300% 100%;animation:brilho 1.6s ease-in-out infinite}
.esqueleto i:first-child{aspect-ratio:4/3}
.esqueleto i+i{height:14px;margin:1.25rem 1.5rem 0;border-radius:4px;width:40%}
.esqueleto i+i+i{height:26px;width:75%;margin-bottom:1.5rem}

/* ---------- 21. Página da promoção ---------- */
.lp__capa{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:#fff;isolation:isolate;background:var(--marinho)}
.lp__fotos{position:absolute;inset:0;z-index:-2;overflow:hidden}
.lp__fotos img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;opacity:0;transition:opacity 1.6s ease}
.lp__fotos img.on{opacity:1;animation:aproxima 10s ease-out both}
.lp__fotos .roseta{position:absolute;left:50%;top:50%;width:max(1200px,120%);height:auto;aspect-ratio:1;translate:-50% -50%;color:rgba(169,193,234,.3)}
@keyframes aproxima{from{scale:1.12}to{scale:1}}
.lp__capa::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,18,44,.94) 0%,rgba(6,18,44,.55) 38%,rgba(6,18,44,.08) 70%,rgba(6,18,44,.45) 100%)}
.lp__capa-in{padding:calc(var(--h) + 2rem) var(--gut) clamp(2rem,5vw,4rem);max-width:var(--w);margin-inline:auto;width:100%}
.lp__voltar{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#dbe6fb;transition:gap .5s var(--ease),color .3s}
.lp__voltar:hover{gap:.8rem;color:#fff}
.lp__voltar svg{width:18px;height:18px}
.lp__tag{display:block;margin-top:clamp(2rem,6vh,4rem);font:650 .95rem/1 var(--fonte);color:var(--ceu)}
.lp h1{margin-top:1rem;font-size:clamp(3.2rem,9.4vw,10rem);line-height:.84;letter-spacing:-.06em;font-stretch:114%;max-width:13ch}
.lp__desc{margin-top:1.4rem;font-size:clamp(1.05rem,1.5vw,1.3rem);color:#dbe6fb;max-width:52ch}
.lp__fatos{display:flex;flex-wrap:wrap;gap:1rem 3rem;margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.25)}
.lp__fatos dt{font-size:.85rem;color:#dbe6fb}
.lp__fatos dd{font:800 clamp(1.15rem,1.6vw,1.45rem)/1.2 var(--fonte);font-stretch:108%;letter-spacing:-.02em;margin-top:.2rem}
.lp__pontos{position:absolute;right:var(--gut);bottom:clamp(2rem,5vw,4rem);display:flex;gap:.3rem;z-index:2}
.lp__pontos button{width:30px;height:30px;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.lp__pontos button::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);transition:background-color .3s,scale .4s var(--ease)}
.lp__pontos button[aria-current="true"]::before{background:#fff;scale:1.3}
.lp__corpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(2rem,6vw,6rem);align-items:start;padding-block:clamp(3rem,7vw,6rem) 0}
.lp__sobre h2,.bloco h2{font-size:clamp(1.9rem,3.4vw,3rem)}
.lp__sobre p{margin-top:1.2rem;color:var(--tinta-2);white-space:pre-line;font-size:clamp(1.08rem,1.3vw,1.22rem);max-width:60ch}
.bloco{padding-block:2.5rem;border-top:1px solid var(--linha)}
.lp__sobre+.bloco{margin-top:2.8rem}
.bloco__cab{display:flex;align-items:center;gap:1rem}
.bloco__ic{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:var(--gelo);font-size:1.35rem;line-height:1}
.bloco p{margin-top:1rem;color:var(--tinta-2);white-space:pre-line;max-width:62ch}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 2rem;margin-top:1.4rem}
.checks li{position:relative;padding-left:2rem}
.checks li::before{content:"";position:absolute;left:0;top:.2em;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--azul) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/70% no-repeat}
.bloco--foto{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:center}
.bloco--foto.inverte .bloco__img{order:2}
.bloco__img{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--marinho)}
.bloco__img img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.bloco__img .roseta{position:absolute;left:50%;top:50%;width:160%;height:auto;aspect-ratio:1;translate:-50% -50%;color:rgba(169,193,234,.35)}
.bloco--foto figcaption h2{font-size:clamp(1.7rem,2.8vw,2.4rem)}
.reserva{position:sticky;top:calc(var(--h) + 1.5rem);border-radius:20px;background:var(--marinho) var(--grao);color:#fff;overflow:hidden}
.reserva__preco{padding:1.8rem 1.8rem 1.5rem}
.reserva__preco span{display:block;font-size:.9rem;color:var(--luz-2)}
.reserva__preco strong{display:block;font:800 clamp(2.6rem,4.4vw,3.6rem)/1 var(--fonte);font-stretch:112%;letter-spacing:-.05em;margin:.4rem 0 .45rem;font-variant-numeric:lining-nums}
.reserva__acoes{position:relative;display:grid;gap:.65rem;padding:1.5rem 1.8rem 1.8rem;border-top:1.5px dashed rgba(169,193,234,.4)}
.reserva__acoes::before,.reserva__acoes::after{content:"";position:absolute;top:-11px;width:21px;height:21px;border-radius:50%;background:var(--papel)}
.reserva__acoes::before{left:-11px}
.reserva__acoes::after{right:-11px}
.reserva__acoes .btn{width:100%}
.reserva__valida{font-size:.84rem;color:var(--luz-2);margin-top:.6rem}
.lp__fim{margin-top:clamp(4rem,9vw,7rem);padding-block:clamp(4rem,9vw,7rem)}
.lp__fim h2{font-size:clamp(3rem,9vw,9rem);line-height:.84;letter-spacing:-.06em;font-stretch:var(--wd,116%);max-width:12ch}
.lp__fim .btn{margin-top:2.4rem}
.lp__barra{display:none}
.lp__estado{padding:calc(var(--h) + clamp(4rem,10vw,7rem)) var(--gut) clamp(4rem,10vw,7rem);text-align:center;min-height:80svh;display:flex;flex-direction:column;justify-content:center;align-items:center}
.lp__estado h1{font-size:clamp(2.6rem,8vw,7rem);max-width:14ch;margin:0 auto}
.lp__estado p{margin:1.4rem auto 2.2rem;color:var(--luz-2);max-width:46ch}
.lp__estado .acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem}
.lp__carrega{min-height:100svh;display:grid;place-items:center;color:var(--luz-2)}
@media (max-width:960px){
  .lp__corpo{grid-template-columns:1fr}
  .reserva{position:static;order:-1}
  .lp__barra{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;gap:1rem;padding:.75rem var(--gut) calc(.75rem + env(safe-area-inset-bottom,0px));
    background:rgba(10,28,68,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;translate:0 110%;transition:translate .7s var(--ease)}
  .lp__barra.mostra{translate:0 0}
  .lp__barra span{display:block;font-size:.75rem;color:var(--luz-2)}
  .lp__barra strong{display:block;font:800 1.3rem/1.05 var(--fonte);font-stretch:108%;letter-spacing:-.03em}
  .lp__barra .btn{flex:1;min-height:3rem}
  body:has(.lp__barra.mostra) .zap{opacity:0;pointer-events:none}
}
@media (max-width:640px){
  .checks{grid-template-columns:1fr}
  .bloco--foto{grid-template-columns:1fr}
  .bloco--foto.inverte .bloco__img{order:0}
  .lp__estado .btn{width:100%}
}

/* ---------- 22. Transição entre páginas (Chrome, Edge, Safari 18.2+) ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-sai .35s var(--ease-2) both}
::view-transition-new(root){animation:vt-entra .7s var(--ease) both}
@keyframes vt-sai{to{opacity:0;scale:.985}}
@keyframes vt-entra{from{opacity:0;translate:0 24px}}

/* ---------- 23. Menos movimento ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .roseta.desenha path{stroke-dashoffset:0}
  .letras .ch{transform:none}
  .js [data-surge]{opacity:1;translate:0 0}
  .js .bilhete[data-surge]::after{display:none}
  .js [data-letras]{opacity:1}
}
