/* MilesMe Viagens e Turismo. Mobile first. Paleta só da marca (amostrada das artes). */
:root{
  --mar:#137693; --mar-2:#1a7d9a; --teal:#18848a; --agua:#2fa8b5;
  --fundo:#0b4a5e; --abismo:#08323f;
  --sol:#fdcc2d; --ouro:#f4b71e; --areia:#fff8e3; --branco:#fff;
  --tinta:#0c3a48; --tinta-2:#3f6673; --linha:#d9e8ec;
  --mono:"Space Mono",ui-monospace,Menlo,Consolas,monospace;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:20px; --sombra:0 14px 34px -14px rgba(8,50,63,.45);
  --topo:60px; --baixo:76px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--tinta);background:var(--areia);line-height:1.55;font-size:16px;padding-bottom:calc(var(--baixo) + env(safe-area-inset-bottom));overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3{line-height:1.08;letter-spacing:-.025em;font-weight:800}
h1{font-size:clamp(2.35rem,10.5vw,4.6rem)}
h2{font-size:clamp(1.8rem,7.4vw,3rem)}
h3{font-size:1.15rem;letter-spacing:-.01em}
.mono{font-family:var(--mono)}
.embrulho{width:min(100% - 32px,1160px);margin-inline:auto}
.secao{padding:64px 0}
.etiqueta{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--mar)}
.etiqueta svg{width:15px;height:15px;fill:currentColor}
.sobre-escuro .etiqueta{color:var(--sol)}
.lead{font-size:1.08rem;color:var(--tinta-2);margin-top:14px;max-width:60ch}
.sobre-escuro .lead{color:#d5ebf0}
.sobre-escuro{background:var(--fundo);color:var(--branco)}
.sobre-sol{background:var(--sol)}
.sobre-sol .etiqueta{color:var(--fundo)}
.sobre-sol .lead{color:var(--tinta)}
.cabeca-secao{margin-bottom:30px}
:focus-visible{outline:3px solid var(--sol);outline-offset:2px;border-radius:6px}
.sobre-sol :focus-visible,.pass :focus-visible{outline-color:var(--mar)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 24px;border-radius:16px;border:0;font-weight:800;font-size:1rem;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;text-align:center}
.btn svg{width:22px;height:22px;fill:currentColor;flex:none}
.btn:active{transform:scale(.97)}
.btn-sol{background:var(--sol);color:var(--abismo);box-shadow:0 6px 0 var(--ouro),0 16px 26px -10px rgba(8,50,63,.5)}
.btn-sol:hover{background:#ffd64d}
.btn-sol:active{box-shadow:0 2px 0 var(--ouro);transform:translateY(4px)}
.btn-mar{background:var(--mar);color:var(--branco);box-shadow:0 6px 0 var(--fundo)}
.btn-mar:hover{background:var(--mar-2)}
.btn-mar:active{box-shadow:0 2px 0 var(--fundo);transform:translateY(4px)}
.btn-fino{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.btn-bloco{width:100%}

/* Cabeçalho */
.topo{position:sticky;top:0;z-index:50;background:var(--fundo);color:var(--branco);height:var(--topo)}
.topo .embrulho{height:100%;display:flex;align-items:center;gap:14px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca svg{width:40px;height:40px}
.marca b{font-size:1.2rem;letter-spacing:-.03em;line-height:1;display:block}
.marca small{display:block;font-size:.6rem;font-weight:600;letter-spacing:.04em;opacity:.85;margin-top:3px}
.nav-topo{display:none}
.zap-topo{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:var(--sol);color:var(--abismo);font-weight:800;font-size:.84rem;text-decoration:none;padding:9px 13px;border-radius:12px}
.zap-topo svg{width:18px;height:18px;fill:currentColor}
/* Rota de progresso: o aviãozinho voa conforme a pessoa desce a página */
.rota{position:fixed;top:var(--topo);left:0;right:0;z-index:49;height:3px;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(253,204,45,.55) 0 7px,transparent 7px 13px)}
.rota i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p,0)*100%);background:var(--sol)}
.rota svg{position:absolute;top:-8px;left:calc(var(--p,0)*(100% - 20px));width:20px;height:20px;fill:var(--sol);transform:rotate(90deg);filter:drop-shadow(0 1px 1px rgba(8,50,63,.6))}

/* Barra inferior (celular) */
.abas{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--branco);box-shadow:0 -8px 24px -10px rgba(8,50,63,.35);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);height:calc(var(--baixo) - 8px + env(safe-area-inset-bottom))}
.aba{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;text-decoration:none;font-size:.68rem;font-weight:700;color:var(--tinta-2);cursor:pointer;padding:0}
.aba svg{width:24px;height:24px;fill:currentColor}
.aba[aria-current=page]{color:var(--mar)}
.aba[aria-current=page]::after{content:"";width:18px;height:3px;border-radius:2px;background:var(--sol);margin-top:1px}
.aba-cotar{position:relative;color:var(--abismo)}
.aba-cotar span.bola{position:absolute;top:-22px;width:62px;height:62px;border-radius:50%;background:var(--sol);display:grid;place-items:center;box-shadow:0 4px 0 var(--ouro),0 10px 18px -6px rgba(8,50,63,.5);animation:pulso 2.8s infinite}
.aba-cotar span.bola svg{width:30px;height:30px;transform:rotate(45deg)}
.aba-cotar em{font-style:normal;margin-top:36px;font-weight:800}
@keyframes pulso{0%,100%{box-shadow:0 4px 0 var(--ouro),0 0 0 0 rgba(253,204,45,.6)}60%{box-shadow:0 4px 0 var(--ouro),0 0 0 14px rgba(253,204,45,0)}}

.folha{position:fixed;inset:0;z-index:70;visibility:hidden;background:rgba(8,50,63,0);transition:background .25s,visibility .25s}
.folha.aberta{visibility:visible;background:rgba(8,50,63,.6)}
.folha-painel{position:absolute;left:0;right:0;bottom:0;background:var(--branco);border-radius:24px 24px 0 0;padding:14px 16px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.folha.aberta .folha-painel{transform:none}
.folha-alca{width:44px;height:5px;border-radius:3px;background:var(--linha);margin:0 auto 14px}
.folha h2{font-size:1.2rem;margin-bottom:10px}
.folha-lista{display:grid;gap:8px}
.folha-item{display:flex;gap:14px;align-items:center;padding:13px;border-radius:14px;background:var(--areia);text-decoration:none;min-height:60px}
.folha-item svg{width:26px;height:26px;fill:var(--mar);flex:none}
.folha-item b{display:block;line-height:1.2}
.folha-item small{color:var(--tinta-2);font-size:.8rem}

[hidden]{display:none!important}

/* Hero */
.hero{position:relative;background:var(--abismo);color:var(--branco);padding:18px 0 76px;overflow:hidden;isolation:isolate}
.hero .etiqueta{color:var(--sol)}
.hero-grade>div:first-child h1{font-size:clamp(2.15rem,9.6vw,4.6rem)}
.hero-grade .lead{font-size:1rem;margin-top:10px;line-height:1.45}
.hero-grade{gap:18px!important}
.hero .hero-promessa{display:none}
.hero .promessa-baixo{display:flex;justify-content:center;margin-top:14px}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../img/asa.webp) 62% 0/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,50,63,.78),rgba(11,74,94,.62) 42%,rgba(8,50,63,.92))}
.hero h1 em{font-style:normal;color:var(--sol)}
.hero .lead{color:#eaf6f8;font-weight:500}
.hero-promessa{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding:0;list-style:none}
.hero-promessa li{font-size:.8rem;font-weight:700;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.14);backdrop-filter:blur(4px)}
.hero-grade{display:grid;gap:30px}
.onda{display:block;width:100%;height:46px;margin-top:-45px;position:relative;z-index:2}

/* Cartão de embarque */
.pass{position:relative;color:var(--tinta);filter:drop-shadow(0 22px 30px rgba(8,30,40,.45));max-width:520px;width:100%;margin-inline:auto}
.pass-corpo{background:var(--branco);border-radius:22px 22px 0 0;padding:16px 18px 18px;-webkit-mask:radial-gradient(circle 11px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat}
.pass-cabeca{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:2px solid var(--areia)}
.pass-cabeca .marca svg{width:30px;height:30px}
.pass-cabeca .marca b{font-size:1rem;color:var(--mar)}
.pass-tit{font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.09em;color:var(--tinta-2);text-transform:uppercase;text-align:right;line-height:1.3}
.pass-rota{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;padding:9px 0 7px;text-align:center}
.pass-cod{font-family:var(--mono);font-weight:700;font-size:clamp(2rem,10.5vw,2.8rem);line-height:1;color:var(--mar);letter-spacing:-.02em;transition:color .2s}
.pass-cod.vazio{color:var(--linha)}
.pass-cod.pulou{animation:pula .38s}
@keyframes pula{40%{transform:translateY(-5px) scale(1.06)}}
.pass-voo{width:84px;position:relative;height:24px}
.pass-voo::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed var(--agua)}
.pass-voo svg{position:absolute;left:50%;top:0;width:24px;height:24px;margin-left:-12px;fill:var(--sol);stroke:var(--mar);stroke-width:1;transform:rotate(90deg);animation:cruzeiro 4.2s ease-in-out infinite}
@keyframes cruzeiro{0%{left:6%}50%{left:94%}100%{left:6%}}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.campo{display:flex;flex-direction:column;gap:3px;min-width:0}
.campo-todo{grid-column:1/-1}
.campo span{font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2)}
.campo input,.campo select{width:100%;min-height:48px;padding:10px 12px;border-radius:12px;border:2px solid var(--linha);background:#f7fbfc;font-weight:700;font-size:16px;transition:border-color .15s,background .15s;appearance:none}
.campo input[type=date]{padding:8px 7px;font-weight:600;font-size:15px;letter-spacing:-.02em}
.campo input[type=date]::-webkit-calendar-picker-indicator{margin-left:0;padding:0;width:15px}
.campo input:focus,.campo select:focus{outline:0;border-color:var(--mar);background:var(--branco)}
.campo input::placeholder{color:#7b98a2;font-weight:600}
.passo{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border:2px solid var(--linha);border-radius:12px;background:#f7fbfc;min-height:48px}
.passo button{height:44px;background:none;border:0;font-size:1.4rem;font-weight:800;color:var(--mar);cursor:pointer}
.passo output{text-align:center;font-weight:800}
.pilulas{display:flex;flex-wrap:wrap;gap:6px}
.pilula{position:relative}
.pilula input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pilula b{display:block;padding:9px 13px;border-radius:99px;font-size:.84rem;background:#f1f7f9;border:2px solid var(--linha)}
.pilula input:checked+b{background:var(--mar);border-color:var(--mar);color:var(--branco)}
.pilula input:focus-visible+b{outline:3px solid var(--sol);outline-offset:1px}
.pass-canhoto{position:relative;background:var(--branco);border-radius:0 0 22px 22px;padding:14px 18px 18px;border-top:2px dashed var(--linha);margin-top:-1px;-webkit-mask:radial-gradient(circle 11px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat;transform-origin:0 0;transition:transform .7s cubic-bezier(.5,0,.8,.4),opacity .7s}
.barras{height:38px;width:100%;margin-bottom:12px;display:block}
.barras rect{fill:var(--abismo)}
.pass.rasgado .pass-canhoto{transform:translate(14px,70px) rotate(7deg);opacity:0}
.pass-nota{font-size:.76rem;text-align:center;color:var(--tinta-2);margin-top:9px}
.pass-mais{display:block;text-align:center;font-weight:700;color:#fff;margin-top:14px;font-size:.92rem}
.previa{background:#e8f4f6;border-radius:14px 14px 14px 4px;padding:14px;font-size:.88rem;white-space:pre-wrap;word-break:break-word;margin-top:12px;font-family:var(--sans);color:var(--tinta)}
.aviso{position:fixed;left:50%;bottom:calc(var(--baixo) + 16px);transform:translate(-50%,24px);opacity:0;z-index:65;background:var(--abismo);color:#fff;padding:12px 18px;border-radius:14px;font-size:.88rem;font-weight:700;transition:.3s;pointer-events:none;width:max-content;max-width:calc(100% - 32px);text-align:center}
.aviso.on{opacity:1;transform:translate(-50%,0)}

/* Painel de embarque (split-flap) */
.painel{background:var(--abismo);border-radius:var(--r);padding:12px;box-shadow:var(--sombra),inset 0 0 0 2px #14495a}
.painel-cab{display:grid;grid-template-columns:1fr auto;padding:4px 6px 10px;font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--sol)}
.painel-linha{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 6px;border-top:1px solid #174c5d;text-decoration:none;color:var(--branco)}
.painel-linha:hover .flap i{background:#17566a}
.flaps{display:flex;gap:2px;min-width:0;overflow:hidden}
.flap i{display:block;font-style:normal;width:clamp(16px,5.4vw,25px);height:clamp(26px,8.2vw,36px);line-height:clamp(26px,8.2vw,36px);text-align:center;background:#0e4252;border-radius:3px;font-family:var(--mono);font-weight:700;font-size:clamp(.95rem,4vw,1.3rem);color:var(--sol);position:relative}
.flap i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--abismo)}
.flap.gira i{animation:vira .09s linear}
@keyframes vira{50%{transform:rotateX(70deg)}}
.painel-cota{font-family:var(--mono);font-size:.7rem;font-weight:700;background:var(--sol);color:var(--abismo);padding:7px 8px;border-radius:7px;white-space:nowrap}
.painel-pes{display:grid;gap:12px;margin-top:18px}

/* Serviços */
.servicos-grade{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.servico{background:var(--branco);border-radius:var(--r);padding:18px 16px;text-decoration:none;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 0 var(--linha);transition:transform .2s,box-shadow .2s;min-height:150px}
.servico:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.servico svg.ic{width:34px;height:34px;fill:var(--mar)}
.servico p{font-size:.84rem;color:var(--tinta-2);line-height:1.4}
.servico .seta{margin-top:auto;font-weight:800;font-size:.84rem;color:var(--mar)}

/* Vantagens: etiquetas de mala */
.vantagens{display:grid;gap:12px}
.vant{position:relative;display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px;border-radius:16px;background:var(--branco)}
.vant .num{font-family:var(--mono);font-weight:700;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--mar);color:var(--sol)}
.vant p{font-size:.92rem;color:var(--tinta-2);margin-top:3px}

/* Postais */
.trilho{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 16px 22px;margin-inline:-16px;scrollbar-width:none}
.trilho::-webkit-scrollbar{display:none}
.postal{position:relative;display:block;background:var(--branco);border-radius:18px;overflow:hidden;text-decoration:none;box-shadow:var(--sombra);scroll-snap-align:center;transition:transform .25s}
.postal:hover{transform:translateY(-5px) rotate(-.6deg)}
.postal-foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--linha)}
.postal-foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.postal:hover img{transform:scale(1.06)}
.selo{position:absolute;top:10px;right:10px;background:var(--branco);padding:6px 8px;font-family:var(--mono);font-size:.74rem;font-weight:700;color:var(--mar);line-height:1;--d:radial-gradient(circle 2.5px,#0000 96%,#000);-webkit-mask:conic-gradient(#000 0 0);box-shadow:0 2px 5px rgba(8,50,63,.3);outline:2px dotted var(--branco);outline-offset:2px}
.postal-txt{padding:14px 16px 16px}
.postal-txt small{font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.05em;color:var(--teal);text-transform:uppercase}
.postal-txt h3{font-size:1.25rem;margin:2px 0 5px}
.postal-txt p{font-size:.88rem;color:var(--tinta-2);line-height:1.4}
.postal-cta{display:flex;align-items:center;gap:6px;margin-top:10px;font-weight:800;font-size:.86rem;color:var(--mar)}
.postal-cta svg{width:16px;height:16px;fill:currentColor;transform:rotate(90deg);transition:transform .2s}
.postal:hover .postal-cta svg{transform:rotate(90deg) translateY(-4px)}
.grade-postais{display:grid;gap:18px}
.filtros{display:flex;gap:8px;overflow-x:auto;padding:4px 16px 14px;margin:0 -16px 12px;scrollbar-width:none}
.filtros::-webkit-scrollbar{display:none}
.filtro{flex:none;padding:10px 16px;border-radius:99px;border:2px solid var(--linha);background:var(--branco);font-weight:700;font-size:.9rem;cursor:pointer;min-height:44px}
.filtro[aria-pressed=true]{background:var(--mar);border-color:var(--mar);color:var(--branco)}
.postal[hidden]{display:none}

/* Bilhete de pacote */
.bilhete{background:var(--branco);border-radius:22px;overflow:hidden;box-shadow:var(--sombra);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
.bilhete-foto{position:relative;aspect-ratio:16/10}
.bilhete-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bilhete-corpo{display:flex;flex-direction:column}
.bilhete-corpo .btn{margin-top:auto}
.bilhete-data{position:absolute;left:12px;bottom:12px;background:var(--abismo);color:var(--sol);font-family:var(--mono);font-size:.72rem;font-weight:700;padding:6px 10px;border-radius:8px}
.bilhete-corpo{padding:20px 18px 18px}
.bilhete h3{font-size:1.65rem;color:var(--mar)}
.bilhete-noites{font-weight:700;margin-top:2px}
.preco{display:flex;align-items:flex-end;gap:8px;margin:14px 0 4px;font-weight:800;color:var(--tinta)}
.preco small{font-size:.92rem;padding-bottom:7px}
.preco b{font-size:3rem;line-height:1;letter-spacing:-.04em;color:var(--mar)}
.preco-nota{font-size:.84rem;color:var(--tinta-2)}
.inclui{list-style:none;padding:0;margin:14px 0;display:grid;gap:7px;font-size:.9rem}
.inclui li{display:grid;grid-template-columns:20px 1fr;gap:8px}
.inclui svg{width:18px;height:18px;fill:var(--teal);margin-top:2px}
.miudo{font-size:.76rem;color:var(--tinta-2);line-height:1.45;margin-bottom:14px}
.alerta{display:flex;gap:12px;background:var(--branco);border-left:5px solid var(--sol);padding:14px;border-radius:0 14px 14px 0;font-size:.92rem;margin-bottom:24px}
.grade-pac{display:grid;gap:22px}
.chips-link{display:flex;flex-wrap:wrap;gap:8px}
.chip-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:var(--branco);padding:12px 16px;border-radius:14px;font-weight:700;min-height:48px;font-size:.92rem;color:var(--tinta)}
.chip-link svg{width:18px;height:18px;fill:var(--mar)}

/* Como funciona */
.passos{position:relative;display:grid;gap:26px;padding-left:44px;list-style:none;counter-reset:p}
.passos::before{content:"";position:absolute;left:18px;top:8px;bottom:8px;width:0;border-left:3px dashed var(--mar);opacity:.5}
.passos li{position:relative;counter-increment:p}
.passos li::before{content:counter(p);position:absolute;left:-44px;top:-2px;width:38px;height:38px;border-radius:50%;background:var(--sol);display:grid;place-items:center;font-family:var(--mono);font-weight:700;color:var(--abismo);box-shadow:0 0 0 5px var(--areia)}
.sobre-escuro .passos li::before{box-shadow:0 0 0 5px var(--fundo)}
.passos p{color:var(--tinta-2);font-size:.95rem;margin-top:3px}
.sobre-escuro .passos p{color:#d5ebf0}
.sobre-escuro .passos::before{border-color:var(--sol)}

/* Citação */
.frase{font-size:clamp(1.5rem,6.2vw,2.5rem);line-height:1.18;font-weight:800;letter-spacing:-.025em;color:var(--fundo)}
.frase-assina{margin-top:16px;font-weight:700;font-size:.92rem}

/* Passaporte */
.carimbo{position:absolute;right:10px;top:-34px;width:96px;height:96px;color:var(--mar);opacity:.85;transform:rotate(-12deg)}
.check{display:grid;gap:12px;list-style:none;padding:0}
.check-item{position:relative;background:var(--branco);border-radius:16px;padding:16px 16px 16px 60px;cursor:pointer;display:block;transition:background .2s}
.check-item input{position:absolute;opacity:0}
.check-item .caixa{position:absolute;left:14px;top:16px;width:32px;height:32px;border-radius:50%;border:3px dashed var(--mar);display:grid;place-items:center;font-family:var(--mono);font-weight:700;color:var(--mar);font-size:.9rem;transition:.2s}
.check-item input:checked~.caixa{background:var(--mar);border-style:solid;color:var(--sol);transform:rotate(-10deg) scale(1.08)}
.check-item input:checked~b{text-decoration:line-through;text-decoration-color:var(--sol);text-decoration-thickness:3px}
.check-item input:focus-visible~.caixa{outline:3px solid var(--sol);outline-offset:2px}
.check-item p{font-size:.9rem;color:var(--tinta-2);margin-top:2px}
.barra-pass{height:12px;border-radius:7px;background:var(--linha);overflow:hidden;margin:18px 0 6px}
.barra-pass i{display:block;height:100%;width:0;background:var(--sol);transition:width .4s}
.barra-rot{font-family:var(--mono);font-size:.76rem;font-weight:700}

/* Perguntas */
.faq{display:grid;gap:10px}
.faq details{background:var(--branco);border-radius:14px;padding:0 16px}
.faq summary{cursor:pointer;font-weight:700;padding:15px 22px 15px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:11px;font-size:1.5rem;color:var(--mar);font-weight:800;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding-bottom:15px;color:var(--tinta-2);font-size:.94rem}

/* Sobre */
.dupla{display:grid;gap:26px;align-items:center}
.foto-arred{border-radius:var(--r);overflow:hidden;box-shadow:var(--sombra)}
.foto-arred img{width:100%;height:100%;object-fit:cover}
.fatos{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.fato{background:var(--branco);border-radius:16px;padding:16px}
.fato b{display:block;font-size:1.4rem;color:var(--mar);letter-spacing:-.02em;line-height:1.1}
.fato span{font-size:.84rem;color:var(--tinta-2);display:block;margin-top:4px;line-height:1.35}
.creditos{font-size:.76rem;color:var(--tinta-2);columns:1;margin-top:10px}
.creditos a{color:var(--mar)}
.pag-topo{position:relative;background:var(--fundo);color:var(--branco);padding:42px 0 72px;overflow:hidden;isolation:isolate}
.pag-topo img.pag-fundo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.pag-topo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,50,63,.84),rgba(11,74,94,.78))}
.pag-topo h1{font-size:clamp(2.1rem,9vw,3.6rem)}
.pag-topo .lead{color:#eaf6f8}

/* CTA final */
.cta-final{position:relative;background:var(--fundo);color:var(--branco);text-align:center;padding:56px 0 70px;overflow:hidden}
.cta-final h2{margin-bottom:10px}
.cta-final p{color:#d5ebf0;max-width:44ch;margin:0 auto 24px}
.cta-botoes{display:grid;gap:14px;max-width:420px;margin-inline:auto}

/* Rodapé */
.rodape{background:var(--abismo);color:#cfe4ea;padding:40px 0 30px;font-size:.88rem}
.rodape-grade{display:grid;gap:26px}
.rodape h3{color:var(--sol);font-size:.78rem;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.rodape ul{list-style:none;padding:0;display:grid;gap:5px}
.rodape a{text-decoration:none}
.rodape a:hover{text-decoration:underline}
.rodape .legal{margin-top:26px;padding-top:16px;border-top:1px solid #174c5d;font-size:.75rem;color:#a4c3cc}

/* Zap flutuante (só telas grandes) */
.zap-voa{display:none}

/* Persiana da janela do avião: transição entre páginas */
.persiana{position:fixed;inset:0;z-index:100;pointer-events:none;background:repeating-linear-gradient(180deg,#fff 0 26px,#eef3f2 26px 28px,#dfe9ea 28px 29px);transform:translateY(-101%);display:grid;place-items:center}
.persiana::after{content:"";position:absolute;left:50%;bottom:16px;width:74px;height:9px;margin-left:-37px;border-radius:6px;background:var(--mar);box-shadow:0 2px 0 var(--fundo)}
.persiana svg{width:92px;height:92px}
.persiana.fecha{transition:transform .34s cubic-bezier(.6,0,.9,.5);transform:none}
.persiana.fechada,.mm-f .persiana{transform:none}
.persiana.abre{transition:transform .5s cubic-bezier(.2,.8,.2,1);transform:translateY(-101%)}

/* Revelar ao rolar */
.sobe{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.sobe.visto{opacity:1;transform:none}
.sem-js .sobe{opacity:1;transform:none}

@media (min-width:600px){
  .trilho{grid-auto-columns:44%}
  .grade-postais{grid-template-columns:1fr 1fr}
  .vantagens{grid-template-columns:1fr 1fr}
  .servicos-grade{grid-template-columns:repeat(4,1fr)}
  .fatos{grid-template-columns:repeat(4,1fr)}
  .painel-pes{grid-template-columns:1fr 1fr}
  .creditos{columns:2}
}
@media (min-width:960px){
  :root{--topo:72px}
  body{padding-bottom:0}
  .secao{padding:96px 0}
  .abas,.folha{display:none}
  .marca svg{width:46px;height:46px}
  .nav-topo{display:flex;gap:6px;margin-left:22px;list-style:none;padding:0}
  .nav-topo a{display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:12px;background:rgba(255,255,255,.08);text-decoration:none;font-weight:700;font-size:.88rem;transition:background .2s,transform .2s}
  .nav-topo a svg{width:17px;height:17px;fill:var(--sol)}
  .nav-topo a:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
  .nav-topo a[aria-current=page]{background:var(--sol);color:var(--abismo)}
  .nav-topo a[aria-current=page] svg{fill:var(--abismo)}
  .zap-topo{font-size:.92rem;padding:11px 16px}
  .hero{padding:64px 0 120px}
  .hero-grade{gap:56px!important}
  .hero-grade .lead{font-size:1.1rem;margin-top:14px}
  .hero .hero-promessa{display:flex}
  .hero .promessa-baixo{display:none}
  .hero::before{background-position:50% 30%}
  .hero-grade{grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
  .grade-postais{grid-template-columns:repeat(3,1fr)}
  .trilho{grid-auto-columns:30%}
  .vantagens{grid-template-columns:repeat(3,1fr)}
  .vant:nth-child(n+4){grid-column:span 1}
  .grade-pac{grid-template-columns:1fr 1fr}
  .dupla{grid-template-columns:1fr 1fr;gap:56px}
  .rodape-grade{grid-template-columns:1.5fr 1fr 1fr}
  .cta-botoes{grid-template-columns:1fr 1fr;max-width:620px}
  .passos-h{grid-template-columns:repeat(3,1fr);padding-left:0;padding-top:54px}
  .passos-h::before{left:0;right:0;top:18px;bottom:auto;width:auto;border-left:0;border-top:3px dashed var(--mar)}
  .sobre-escuro .passos-h::before{border-color:var(--sol)}
  .passos-h li::before{left:0;top:-54px}
  .zap-voa{display:flex;position:fixed;right:22px;bottom:22px;z-index:60;align-items:center;gap:10px;background:var(--sol);color:var(--abismo);padding:14px 20px;border-radius:99px;text-decoration:none;font-weight:800;box-shadow:0 6px 0 var(--ouro),0 16px 26px -10px rgba(8,50,63,.6);transition:transform .2s}
  .zap-voa:hover{transform:translateY(-3px)}
  .zap-voa svg{width:24px;height:24px;fill:currentColor}
  .aviso{bottom:30px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .sobe{opacity:1;transform:none}
}
