/* LOVIQZ STREAMING — estilo do site (celular primeiro).
   Padrão "cinema": fundo escuro e dourado; cada página de mundo troca as cores e a letra pelas variáveis --m-*. */
:root {
  --fundo: #07070a;
  --fundo-2: #121014;
  --fundo-3: #1c1913;
  --azul: #137FF4;
  --ouro: #e7c873;
  --ouro-2: #c99a3d;
  --texto: #ffffff;
  --texto-2: #c9c2b4;
  --borda: rgba(231, 200, 115, .18);
  --verde: #1fbf75;
  --laranja: #ffb020;
  --raio: 14px;
  --titulo: "Cinzel", Georgia, serif;
  --btn: linear-gradient(180deg, #f3d98b, #c99a3d);
  --btn-hover: linear-gradient(180deg, #f8e4a6, #d6a94a);
  --btn-txt: #1a1206;
  --destaque: var(--ouro);
}
.ouro { background: linear-gradient(180deg, #fff4cf 0%, #f0cf7a 40%, #c99a3d 75%, #9a7228 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font: 16px/1.5 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { margin: 0 0 .4em; line-height: 1.1; }
p { margin: 0 0 .8em; }
.wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 16px; }
.centro { text-align: center; margin-top: 22px; }

/* ---------- topo ---------- */
.topo {
  position: sticky; top: 0; z-index: 20;
  background: rgba(7, 20, 38, .88);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--borda);
}
.topo-in { display: flex; align-items: center; justify-content: space-between; height: 60px; }
.marca img { width: 120px; height: auto; }
.menu { display: flex; gap: 14px; font-size: 14px; font-weight: 600; }
.menu a, .link-voltar { text-decoration: none; color: var(--texto-2); }
.menu a:hover, .link-voltar:hover { color: var(--texto); }
.menu a:not(:first-child) { display: none; }
.link-voltar { font-size: 14px; font-weight: 600; }

/* ---------- botões e selos ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 10px 18px; border-radius: 999px;
  font-weight: 800; font-size: 15px; text-decoration: none; text-align: center;
  border: 2px solid transparent; transition: background .2s, transform .2s, filter .2s;
}
.btn:active { transform: scale(.97); }
.btn-azul { background: var(--btn); color: var(--btn-txt); }
.btn-azul:hover { background: var(--btn-hover); }
.btn-linha { border-color: var(--borda); color: var(--texto); background: rgba(255, 255, 255, .04); }
.btn-linha:hover { border-color: var(--destaque); }
.btn-grande { min-height: 50px; padding: 12px 22px; font-size: 16px; }
.assinar { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.seguro { font-size: 12.5px; color: var(--texto-2); text-align: center; }
.selo {
  display: inline-block; padding: 5px 10px; border-radius: 6px;
  font-size: 11px; font-weight: 800; letter-spacing: .06em;
  background: var(--laranja); color: #1a1205;
}
.selo-ok { background: var(--verde); color: #04150c; }

/* ---------- seções ---------- */
.secao { padding-top: 44px; padding-bottom: 8px; }
.titulo-secao { font-family: var(--titulo); font-weight: 700; font-size: 30px; letter-spacing: .01em; text-transform: uppercase; }
.titulo-menor { font-size: 24px; margin-top: 40px; }
.sub-secao { color: var(--texto-2); margin-bottom: 20px; }
.sub-secao a { color: var(--texto); }
.lead { font-size: 17px; color: var(--texto-2); }
.lead strong { color: var(--texto); }
.preco-linha { font-size: 17px; }
.hero-botoes, .card-botoes { display: flex; flex-wrap: wrap; gap: 10px; }
.aviso { display: inline-block; background: rgba(255, 255, 255, .06); border-left: 4px solid var(--destaque); padding: 10px 14px; border-radius: 6px; font-weight: 600; margin-bottom: 20px; }

/* ---------- página principal ---------- */
.hero-parque { position: relative; overflow: hidden; padding: 30px 0 32px; isolation: isolate; background-color: #07070a;
  background-image: radial-gradient(ellipse at 75% 30%, rgba(201, 154, 61, .22), transparent 60%), radial-gradient(ellipse at 0% 100%, rgba(201, 154, 61, .10), transparent 50%); }
.hero-grade { display: grid; gap: 26px; }
.hero-txt h1 { font-family: var(--titulo); font-weight: 900; font-size: clamp(34px, 9vw, 60px); line-height: 1.08; padding-top: .15em; text-transform: uppercase; filter: drop-shadow(0 4px 18px rgba(0,0,0,.6)); }
.hero-txt h1 span { display: inline; }
.sobre { color: var(--ouro); text-transform: uppercase; font-weight: 800; letter-spacing: .2em; font-size: 13px; }
.slogan { font-weight: 800; letter-spacing: .08em; font-size: 13px; color: var(--texto-2); }

.destaque { display: grid; margin-top: 20px; }
.destaque-img img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--raio) var(--raio) 0 0; }
.destaque-txt { background: var(--fundo-2); border: 1px solid var(--borda); border-top: 0; border-radius: 0 0 var(--raio) var(--raio); padding: 20px; display: flex; flex-direction: column; }
.destaque-txt h2 { font-family: var(--titulo); font-weight: 700; font-size: 30px; margin-top: 10px; }
.destaque-txt p { color: var(--texto-2); }

.grade-mundos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.card-mundo { background: var(--fundo-2); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, border-color .25s, box-shadow .25s; }
.card-mundo:hover { transform: translateY(-4px); border-color: var(--m-acc); box-shadow: 0 10px 30px color-mix(in srgb, var(--m-acc) 25%, transparent); }
.card-capa { position: relative; display: block; }
.card-capa img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.card-info .selo { align-self: flex-start; font-size: 9.5px; padding: 4px 7px; margin-bottom: 8px; }
.card-botoes { flex-direction: column; }
.destaque-txt .selo, .hero-mundo-txt .selo, .escolha-mundo .selo { align-self: flex-start; justify-self: start; }
.card-info { padding: 12px; display: flex; flex-direction: column; flex: 1; border-top: 3px solid var(--m-acc); }
.card-info h3 { font-size: 13.5px; font-weight: 800; letter-spacing: .02em; }
.card-info p { font-size: 13px; color: var(--texto-2); flex: 1; }
.card-info .btn { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.destaque-txt .card-botoes { flex-direction: row; }
.disponivel { border-color: rgba(31, 191, 117, .55); }

.passos { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.passos li { background: var(--fundo-2); border: 1px solid var(--borda); border-radius: var(--raio); padding: 18px; }
.passos span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--btn); color: var(--btn-txt); font-weight: 800; margin-bottom: 10px; }
.passos h3 { font-size: 18px; }
.passos p { color: var(--texto-2); margin: 0; }

/* planos */
.planos { display: grid; gap: 14px; }
.plano { position: relative; background: var(--fundo-2); border: 1px solid var(--borda); border-radius: var(--raio); padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.plano h3 { font-size: 20px; }
.plano p { color: var(--texto-2); margin: 0 0 6px; }
.plano .assinar { margin-top: auto; padding-top: 8px; }
.plano .valor { color: #fff; }
.valor strong { font-family: var(--titulo); font-weight: 700; font-size: 34px; white-space: nowrap; }
.valor { white-space: nowrap; }
.valor span { color: var(--texto-2); margin-left: 4px; }
.plano-destaque { border-color: var(--destaque); box-shadow: 0 0 0 1px var(--destaque) inset; }
.plano-destaque .selo { position: absolute; top: -11px; right: 16px; }
.nota-planos { color: var(--texto-2); font-size: 14px; margin-top: 14px; }

/* dúvidas */
.duvidas details { background: var(--fundo-2); border: 1px solid var(--borda); border-radius: 12px; margin-bottom: 10px; }
.duvidas summary { cursor: pointer; padding: 16px; font-weight: 600; list-style: none; position: relative; padding-right: 40px; }
.duvidas summary::-webkit-details-marker { display: none; }
.duvidas summary::after { content: "+"; position: absolute; right: 16px; top: 12px; font-size: 22px; color: var(--destaque); }
.duvidas details[open] summary::after { content: "–"; }
.duvidas details p { padding: 0 16px 16px; color: var(--texto-2); margin: 0; }
.zap { color: var(--texto-2); margin-top: 14px; }
.zap a { color: var(--texto); font-weight: 600; }

/* escolha seu streaming */
.escolha-mundo { display: grid; gap: 20px; background: var(--fundo-2); border: 1px solid var(--borda); border-top: 4px solid var(--m-acc); border-radius: var(--raio); padding: 18px; }
.escolha-capa img { width: 160px; border-radius: 10px; }
.escolha-mundo h2 { font-family: var(--titulo); font-weight: 400; font-size: 28px; margin-top: 10px; }
.escolha-mundo .btn-azul { background: var(--m-acc); color: #1a0f00; }
.escolha-mundo .plano-destaque { border-color: var(--m-acc); box-shadow: 0 0 0 1px var(--m-acc) inset; }
.grade-breve { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mini-mundo { text-decoration: none; font-size: 11.5px; font-weight: 700; color: var(--texto-2); }
.mini-mundo img { border-radius: 8px; margin-bottom: 6px; aspect-ratio: 3/4; object-fit: cover; filter: saturate(.8); }

/* ---------- páginas de mundo: cada mundo com suas cores e sua letra ---------- */
.pg-mundo {
  --btn: var(--m-acc); --btn-hover: var(--m-acc); --btn-txt: var(--m-btn); --destaque: var(--m-acc);
  --titulo: var(--m-fonte), Impact, sans-serif;
  --borda: color-mix(in srgb, var(--m-acc) 22%, transparent);
  --fundo-2: color-mix(in srgb, var(--m-bg) 80%, #ffffff 5%);
  background: var(--m-bg);
}
.pg-mundo .btn-azul:hover { filter: brightness(1.12); }
.pg-mundo .topo { background: color-mix(in srgb, var(--m-bg) 88%, transparent); }
.pg-mundo .titulo-secao { color: #fff; }
.pg-mundo .titulo-secao::after { content: ""; display: block; width: 64px; height: 4px; margin-top: 10px; border-radius: 2px; background: linear-gradient(90deg, var(--m-acc), var(--m-acc2)); }
.pg-mundo::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .5; }

.hero-mundo { position: relative; isolation: isolate; overflow: hidden; min-height: 520px; display: flex; align-items: flex-end; }
.hero-cena { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero-mundo::after { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, color-mix(in srgb, var(--m-bg) 20%, transparent) 0%, color-mix(in srgb, var(--m-bg) 55%, transparent) 50%, var(--m-bg) 100%); }
.hero-mundo-in { padding-top: 160px; padding-bottom: 28px; display: grid; gap: 22px; }
.hero-mundo h1 { font-family: var(--titulo); font-weight: 400; font-size: clamp(34px, 9.5vw, 68px); margin-top: 12px; text-transform: uppercase;
  text-shadow: 0 4px 24px rgba(0, 0, 0, .6); }
.hero-mundo .lead { color: #e9eef6; }
.hero-mundo .selo { box-shadow: 0 4px 14px rgba(0, 0, 0, .35); }
.hero-poster { width: 46%; max-width: 260px; border-radius: var(--raio); box-shadow: 0 20px 50px rgba(0, 0, 0, .55), 0 0 0 1px var(--borda); }

.grade-series { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 12px; }
.serie { margin: 0; }
.serie-img { position: relative; }
.serie img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 10px; border: 1px solid var(--borda); }
.serie figcaption { font-size: 13px; font-weight: 600; margin-top: 6px; color: var(--texto-2); line-height: 1.3; }
.serie .num { position: absolute; right: 6px; top: 6px; font: 800 10px Inter, sans-serif; background: rgba(0, 0, 0, .7); padding: 3px 6px; border-radius: 5px; }
.serie .selo { position: absolute; left: 6px; bottom: 6px; font-size: 9px; padding: 3px 6px; }
.serie-breve img { filter: brightness(.62) saturate(.8); }
.serie-vazia { aspect-ratio: 16/9; border-radius: 10px; display: grid; place-items: center; border: 1px dashed var(--borda);
  background: linear-gradient(135deg, color-mix(in srgb, var(--m-acc) 25%, transparent), color-mix(in srgb, var(--m-acc2) 15%, transparent)); }
.serie-vazia span { font-weight: 800; font-size: 12px; letter-spacing: .12em; opacity: .8; }

.voltar-parque { padding-bottom: 40px; text-align: center; }

/* fundos de cada mundo (bem discretos, atrás de tudo) */
.mundo-construcoes::before { background: repeating-linear-gradient(135deg, transparent 0 46px, rgba(255, 162, 43, .035) 46px 92px); }
.mundo-espaco::before { background-image: radial-gradient(1px 1px at 20px 30px, #fff, transparent), radial-gradient(1.5px 1.5px at 120px 80px, #d9c2ff, transparent), radial-gradient(1px 1px at 200px 160px, #fff, transparent), radial-gradient(1px 1px at 60px 190px, #9fe6ff, transparent); background-size: 240px 220px; }
.mundo-ciencia::before { background-image: linear-gradient(rgba(25, 227, 193, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(25, 227, 193, .07) 1px, transparent 1px); background-size: 44px 44px; }
.mundo-history::before, .mundo-fatos-biblicos::before { background: radial-gradient(ellipse at 50% 0%, rgba(224, 173, 79, .14), transparent 60%); }
.mundo-planeta-terra::before { background: radial-gradient(ellipse at 20% 0%, rgba(79, 209, 139, .16), transparent 55%), radial-gradient(ellipse at 90% 30%, rgba(58, 160, 255, .12), transparent 50%); }
.mundo-animais::before { background: radial-gradient(ellipse at 50% 0%, rgba(245, 179, 27, .14), transparent 60%); }
.mundo-viagens::before { background: radial-gradient(ellipse at 80% 0%, rgba(255, 122, 89, .16), transparent 55%), radial-gradient(ellipse at 0% 60%, rgba(46, 211, 198, .12), transparent 50%); }
.mundo-desastres-aereos::before { background: repeating-radial-gradient(circle at 50% 30%, transparent 0 90px, rgba(159, 179, 200, .05) 90px 92px); }
.mundo-animes::before { background: repeating-conic-gradient(from 0deg at 50% 0%, rgba(255, 62, 165, .05) 0 3deg, transparent 3deg 9deg); }
.mundo-empreendedor::before { background-image: linear-gradient(rgba(59, 90, 168, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(59, 90, 168, .12) 1px, transparent 1px); background-size: 80px 80px; }
.mundo-casos-de-policia::before { background: radial-gradient(ellipse at 0% 0%, rgba(59, 130, 255, .2), transparent 50%), radial-gradient(ellipse at 100% 0%, rgba(255, 47, 69, .16), transparent 50%); }
.mundo-cinema::before { background: linear-gradient(90deg, rgba(195, 18, 31, .18), transparent 12%, transparent 88%, rgba(195, 18, 31, .18)); }
.mundo-fatos-criminais::before { background: repeating-linear-gradient(-70deg, transparent 0 140px, rgba(216, 201, 168, .03) 140px 210px); }
.mundo-cultural::before { background: radial-gradient(circle at 85% 10%, rgba(255, 138, 31, .16), transparent 40%), radial-gradient(circle at 10% 70%, rgba(232, 75, 193, .12), transparent 45%); }
.mundo-fatos-criminais { --titulo: var(--m-fonte), "Courier New", monospace; }

/* barra fixa de assinar (só celular) */
.barra-assinar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: color-mix(in srgb, var(--m-bg, #071426) 94%, transparent); border-top: 1px solid var(--borda);
}
.barra-assinar span { color: var(--texto-2); font-size: 14px; }
.barra-assinar strong { color: #fff; font-size: 17px; }
.pg-com-barra .rodape { padding-bottom: 90px; }

/* rodapé */
.rodape { border-top: 1px solid var(--borda); margin-top: 40px; padding: 30px 0; text-align: center; color: var(--texto-2); }
.rodape img { margin: 0 auto 10px; width: 150px; }
.rodape p { font-size: 13px; letter-spacing: .04em; }
.rodape .mini { font-size: 12px; opacity: .8; letter-spacing: 0; }

/* ---------- telas maiores ---------- */
@media (min-width: 600px) {
  .grade-mundos { grid-template-columns: repeat(3, 1fr); }
  .passos { grid-template-columns: repeat(3, 1fr); }
  .planos { grid-template-columns: repeat(2, 1fr); }
  .grade-series { grid-template-columns: repeat(3, 1fr); }
  .grade-breve { grid-template-columns: repeat(5, 1fr); }
  .card-info h3 { font-size: 15px; }
  .escolha-mundo { grid-template-columns: 200px 1fr; padding: 24px; }
  .escolha-capa img { width: 100%; }
}
@media (min-width: 760px) {
  .menu a:not(:first-child) { display: inline; }
  .marca img { width: 150px; }
  .hero-parque { padding: 70px 0 60px; }
  .hero-grade { grid-template-columns: 1fr 1.15fr; align-items: center; gap: 40px; }
  .destaque-txt { display: grid !important; grid-template-columns: 1fr 380px; gap: 4px 36px; align-items: center; }
  .destaque-txt > * { grid-column: 1; }
  .destaque-txt .oferta, .destaque-txt .assinar, .destaque-txt .link-catalogo { grid-column: 2; }
  .destaque-txt .oferta { grid-row: 1 / span 2; align-self: end; }
  .destaque-txt .assinar { grid-row: 3; }
  .destaque-txt .link-catalogo { grid-row: 4; }
  .destaque-txt { border-top: 1px solid var(--borda); border-top: 0; border-radius: 0 0 var(--raio) var(--raio); padding: 28px; display: flex; flex-direction: column; justify-content: center; }
  .titulo-secao { font-size: 38px; }
  .secao { padding-top: 64px; }
  .hero-mundo { min-height: 640px; }
  .hero-mundo-in { padding-top: 200px; padding-bottom: 56px; }
  .hero-mundo-txt { max-width: 720px; }
  .pg-mundo:not(.pg-com-barra) .hero-mundo-in { grid-template-columns: 260px 1fr; align-items: end; gap: 40px; }
  .hero-poster { width: 100%; }
  .barra-assinar { display: none; }
  .pg-com-barra .rodape { padding-bottom: 30px; }
}
@media (min-width: 1000px) {
  .grade-mundos { grid-template-columns: repeat(5, 1fr); gap: 18px; }
  .grade-series { grid-template-columns: repeat(4, 1fr); gap: 18px 16px; }
  .planos { grid-template-columns: repeat(4, 1fr); }
  .grade-breve { grid-template-columns: repeat(7, 1fr); }
  .escolha-mundo .planos { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1180px) {
  .escolha-mundo .planos { grid-template-columns: repeat(4, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .card-mundo, .btn { transition: none; }
}

/* ---------- carrosséis de capas (padrão cinema) ---------- */
.carrossel { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #000; }
.carrossel .slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.2s ease; }
.carrossel .slide.ativo { opacity: 1; }
.carrossel .slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); }
.carrossel .slide.ativo img { animation: aproximar 7s ease-out both; }
@keyframes aproximar { from { transform: scale(1.02); } to { transform: scale(1.09); } }
.carrossel figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 16px 34px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .85)); }
.carrossel .selo { background: var(--btn); color: var(--btn-txt); }
.carrossel .selo-ok { background: var(--verde); color: #04150c; }
.slide-nome { font-weight: 700; font-size: 14px; text-shadow: 0 2px 8px #000; }
.pontos { position: absolute; right: 14px; bottom: 12px; display: flex; gap: 6px; z-index: 2; }
.pontos button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 4px; background: rgba(255, 255, 255, .45); cursor: pointer; transition: width .3s, background .3s; }
.pontos button.ativo { width: 22px; background: var(--ouro); }
.hero-carrossel { aspect-ratio: 16/10.6; }
.hero-carrossel .slide img { height: auto; aspect-ratio: 16/9; }
.hero-carrossel figcaption { background: none; padding: 0 12px 11px; flex-wrap: nowrap; }
.hero-carrossel .selo { font-size: 9.5px; padding: 3px 7px; flex: none; }
.hero-carrossel .slide-nome { font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.hero-carrossel .pontos { top: 12px; bottom: auto; right: 12px; padding: 5px 7px; border-radius: 10px; background: rgba(0, 0, 0, .45); }
.hero-carrossel .pontos button { width: 6px; height: 6px; }
.hero-carrossel .pontos button.ativo { width: 16px; }
.hero-carrossel { border-radius: var(--raio); border: 1px solid var(--borda); box-shadow: 0 30px 80px rgba(0, 0, 0, .7), 0 0 60px rgba(201, 154, 61, .18); }

/* faixa de capas que corre sozinha (bloco da CONSTRUÇÕES na principal) */
.faixa { overflow: hidden; border-radius: var(--raio) var(--raio) 0 0; background: #000; padding: 14px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.faixa-trilho { display: flex; gap: 12px; width: max-content; animation: correr 50s linear infinite; }
.faixa:hover .faixa-trilho { animation-play-state: paused; }
.faixa figure { margin: 0; width: 230px; }
.faixa img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 8px; }
.faixa figcaption { font-size: 12.5px; font-weight: 600; color: var(--texto-2); margin-top: 6px; }
@keyframes correr { to { transform: translateX(-50%); } }
.oferta { font-family: var(--titulo); font-weight: 700; color: var(--ouro) !important; font-size: 20px; margin: 4px 0 8px; }
.link-catalogo { margin-top: 12px; color: var(--texto-2); font-weight: 600; font-size: 14px; }
.destaque-txt .assinar { align-self: stretch; }

/* topo da CONSTRUÇÕES: slideshow em tela cheia + boas-vindas */
.hero-show { position: relative; }
.show { width: 100%; aspect-ratio: auto; height: 62vh; min-height: 280px; max-height: 760px; background: #000; }
.show .slide img { object-position: 70% 50%; }
.show::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, transparent 25%, transparent 60%, var(--m-bg) 100%); }
.show figcaption { bottom: 18px; background: none; padding: 0 16px; z-index: 1; }
.show .pontos { top: 14px; bottom: auto; padding: 5px 7px; border-radius: 10px; background: rgba(0, 0, 0, .45); }
.boas-vindas { position: relative; margin-top: -10px; padding-bottom: 12px; }
.boas-vindas .sobre { color: var(--m-acc); margin-bottom: 4px; }
.boas-vindas h1 { font-family: var(--titulo); font-weight: 400; font-size: clamp(34px, 9vw, 64px); text-transform: uppercase; margin-bottom: 10px; }
.preco-grande { font-size: 18px; color: var(--texto-2); }
.preco-grande strong { font-family: var(--titulo); font-size: 44px; color: #fff; font-weight: 400; }
.boas-vindas .hero-botoes { align-items: flex-start; }

/* créditos */
.creditos ul { padding-left: 18px; color: var(--texto-2); }
.creditos li { margin-bottom: 12px; }
.creditos a { color: var(--ouro); }
.rodape a { color: inherit; }

@media (min-width: 760px) {
  .show { height: min(56.25vw, 86vh); max-height: none; }
  .show .slide img { object-position: 50% 0%; }
  .show figcaption { left: auto; right: 0; justify-content: flex-end; bottom: 50px; padding-right: 28px; }
  .show .pontos { right: 28px; top: auto; bottom: 26px; background: none; }
  .boas-vindas { margin-top: 0; padding-top: 10px; padding-bottom: 20px; max-width: 1180px; display: grid; grid-template-columns: 1fr auto; gap: 0 40px; align-items: end; }
  .boas-vindas > .hero-botoes, .boas-vindas > .preco-grande { grid-column: 2; }
  .boas-vindas > .preco-grande { grid-row: 2; margin: 0; }
  .boas-vindas > .hero-botoes { grid-row: 3; }
  .boas-vindas > :not(.hero-botoes):not(.preco-grande) { grid-column: 1; }
  .boas-vindas > * { max-width: 640px; }
  .slide-nome { font-size: 16px; }
  .faixa figure { width: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  .faixa-trilho, .carrossel .slide.ativo img { animation: none; }
}

/* card que completa a última linha do catálogo (o tamanho vem do montar_site.cjs) */
.serie-cta { grid-column: span var(--m2); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 6px;
  padding: 18px; border-radius: 10px; border: 1px solid var(--destaque); min-height: 150px;
  background: radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--destaque) 22%, transparent), transparent 70%), var(--fundo-2); }
.cta-topo { font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: 12px; color: var(--destaque); margin: 0; }
.cta-preco { margin: 0; color: var(--texto-2); }
.cta-preco strong { font-family: var(--titulo); font-size: 34px; color: #fff; font-weight: 400; }
.serie-cta .assinar { width: min(100%, 300px); }
.hero-carrossel a { display: block; height: 100%; }
@media (min-width: 600px) { .serie-cta { grid-column: span var(--m3); } }
@media (min-width: 1000px) { .serie-cta { grid-column: span var(--m4); } }

/* ---------- hero da principal: abertura (vinheta), boas-vindas e controles ---------- */
.carrossel .cena { background: #000; }
.abertura { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden;
  background: radial-gradient(ellipse at 50% 50%, #1d1608 0%, #07070a 70%); }
.ab-luz { position: absolute; top: -20%; bottom: -20%; width: 30%; left: -40%;
  background: linear-gradient(90deg, transparent, rgba(255, 226, 150, .35), transparent); transform: skewX(-18deg); }
.ab-1, .ab-2 { position: absolute; display: flex; flex-direction: column; align-items: center; text-align: center; opacity: 0; }
.ab-1 img { width: 46%; min-width: 150px; max-width: 360px; height: auto; }
.ab-1 span { margin-top: 10px; font: 700 clamp(11px, 1.6vw, 16px) Inter, sans-serif; letter-spacing: .6em; padding-left: .6em; color: var(--ouro); }
.ab-2 small { font: 700 clamp(12px, 1.6vw, 16px) Inter, sans-serif; letter-spacing: .5em; padding-left: .5em; color: var(--texto-2); }
.ab-2 strong { font: 900 clamp(38px, 8vw, 84px) Cinzel, serif; line-height: 1.1; padding-top: .1em;
  background: linear-gradient(180deg, #fff4cf, #f0cf7a 45%, #b8862f); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 6px 20px rgba(201, 154, 61, .35)); }
.ab-2 span { font: 700 clamp(12px, 1.9vw, 20px) Inter, sans-serif; letter-spacing: .55em; padding-left: .55em; color: #fff; }
.ativo .ab-luz { animation: varrer 2.4s .2s ease-in-out both; }
.ativo .ab-1 { animation: surgir1 2.7s .1s ease both; }
.ativo .ab-2 { animation: surgir2 2.6s 2.35s ease both; }
@keyframes varrer { to { left: 120%; } }
@keyframes surgir1 { 0% { opacity: 0; transform: scale(.94); letter-spacing: 0; } 25%, 75% { opacity: 1; transform: none; } 100% { opacity: 0; transform: scale(1.04); filter: blur(4px); } }
@keyframes surgir2 { 0% { opacity: 0; transform: scale(1.18); filter: blur(8px); } 40% { opacity: 1; transform: none; filter: none; } 100% { opacity: 1; transform: scale(1.03); } }

.boas-vindas-cena { position: absolute; inset: 0; }
.boas-vindas-cena img { width: 100%; height: 100%; object-fit: cover; }
.boas-vindas-cena::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 20, 36, .88), rgba(10, 20, 36, .35) 70%, transparent); }
.bv-txt { position: absolute; left: 7%; top: 0; bottom: 0; z-index: 1; display: flex; flex-direction: column; justify-content: center; max-width: 80%; }
.bv-txt span { font: 700 clamp(10px, 1.5vw, 15px) Inter, sans-serif; letter-spacing: .4em; color: #ffa22b; }
.bv-txt strong { font: 400 clamp(30px, 6.4vw, 70px) Anton, Impact, sans-serif; line-height: 1.02; color: #fff; text-shadow: 0 4px 18px rgba(0, 0, 0, .6); margin: 6px 0; }
.bv-txt em { font: 600 clamp(11px, 1.6vw, 16px) Inter, sans-serif; font-style: normal; color: #e9eef6; }
.ativo .bv-txt > * { animation: subir .9s ease both; }
.ativo .bv-txt strong { animation-delay: .25s; }
.ativo .bv-txt em { animation-delay: .5s; }
.ativo.cena .boas-vindas-cena img { animation: aproximar 6s ease-out both; }
@keyframes subir { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.barra-tempo { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255, 255, 255, .12); z-index: 3; }
.barra-tempo span { display: block; height: 100%; width: 0; background: var(--ouro); }
.seta { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3);
  background: rgba(0, 0, 0, .45); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; opacity: 0; transition: opacity .25s; }
.seta-ant { left: 10px; } .seta-prox { right: 10px; }
.carrossel:hover .seta, .seta:focus-visible { opacity: 1; }
@media (hover: none) { .seta { opacity: .75; width: 32px; height: 32px; font-size: 20px; } }
.hero-carrossel .slide img[data-src] { visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .ab-1 { opacity: 0 !important; } .ab-2 { opacity: 1 !important; animation: none !important; }
  .ativo .bv-txt > *, .ativo.cena .boas-vindas-cena img { animation: none; }
}
.carrossel .abertura img { width: 46%; min-width: 150px; max-width: 360px; height: auto; object-fit: contain; transform: none; animation: none; }
@media (min-width: 1300px) {
  .hero-parque .hero-grade { max-width: 1560px; grid-template-columns: 1fr 1.45fr; gap: 56px; }
}
@media (max-width: 759px) { .hero-parque .hero-carrossel { order: -1; } .hero-parque { padding-top: 16px; } }

/* ---------- hero: 15 vinhetas de mundo (depois da abertura) ---------- */
.hero-carrossel { aspect-ratio: 16/9; container-type: inline-size; }
.carrossel .slide { transition: opacity .9s ease; }
.carrossel .slide.ativo { z-index: 2; }
.carrossel .slide.saindo { z-index: 1; opacity: 1; }   /* o anterior fica por baixo até o novo aparecer: nada de tela escura */
.vinheta { position: absolute; inset: 0; display: block; overflow: hidden; color: #fff; text-decoration: none; background: #0b0b0e; }
.hero-carrossel .vinheta img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transform: scale(1.04); }
.ativo .vinheta img { animation: kb 4.6s ease-out both; }
@keyframes kb { from { transform: scale(1.04) translateX(0); } to { transform: scale(1.14) translateX(-1.5%); } }
.vinheta::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.25) 55%, rgba(0,0,0,.05)), linear-gradient(0deg, rgba(0,0,0,.55), transparent 45%); }
.v-luz { position: absolute; z-index: 2; top: -30%; bottom: -30%; width: 22%; left: -35%; transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--v-cor, #ffe296) 40%, transparent), transparent); }
.ativo .v-luz { animation: varrer 1.6s .1s ease-in-out both; }
.v-particulas { position: absolute; inset: 0; z-index: 2; opacity: .55; pointer-events: none;
  background-image: radial-gradient(circle, var(--v-cor, #ffe296) 0 1.2px, transparent 2px), radial-gradient(circle, rgba(255,255,255,.8) 0 1px, transparent 1.6px);
  background-size: 90px 110px, 140px 160px; background-position: 0 0, 40px 60px; }
.ativo .v-particulas { animation: flutuar 4.5s linear both; }
@keyframes flutuar { from { background-position: 0 0, 40px 60px; opacity: 0; } 20% { opacity: .55; } to { background-position: 30px -120px, 10px -90px; opacity: .3; } }
.v-txt { position: absolute; z-index: 3; left: 6%; right: 6%; bottom: 9%; display: flex; flex-direction: column; align-items: flex-start; gap: .6cqw; }
.v-txt .selo { font-size: max(9px, 1.25cqw); }
.v-rotulo { font: 700 max(9px, 1.35cqw) Inter, sans-serif; letter-spacing: .45em; color: var(--v-cor, var(--ouro)); }
.v-nome { font: 900 7.4cqw/1 Inter, sans-serif; color: #fff; text-shadow: 0 .4cqw 2cqw rgba(0,0,0,.6); }
.v-frase { font: 600 max(11px, 1.9cqw) Inter, sans-serif; color: #f1f1f1; text-shadow: 0 1px 8px rgba(0,0,0,.7); max-width: 70%; }
.ativo .v-txt > * { animation: entrar .8s ease both; }
.ativo .v-txt .v-rotulo { animation-delay: .15s; } .ativo .v-txt .v-nome { animation: nomeEntra 1s .25s cubic-bezier(.2,.7,.2,1) both; } .ativo .v-txt .v-frase { animation-delay: .55s; }
@keyframes entrar { from { opacity: 0; transform: translateY(1.4cqw); } to { opacity: 1; transform: none; } }
@keyframes nomeEntra { from { opacity: 0; transform: scale(1.12); filter: blur(6px); letter-spacing: .12em; } to { opacity: 1; transform: none; filter: none; } }

/* identidade de cada mundo */
.v-construcoes { --v-cor: #ffa22b; } .v-construcoes .v-nome { font: 400 8.2cqw/1 Anton, Impact, sans-serif; }
.v-espaco { --v-cor: #5ad1ff; } .v-espaco .v-nome { font: 900 8cqw/1 Orbitron, sans-serif; letter-spacing: .06em; text-shadow: 0 0 2.5cqw rgba(176,107,255,.95); }
.v-espaco::after { background: linear-gradient(90deg, rgba(5,0,20,.8), transparent 60%); }
.v-history { --v-cor: #e0ad4f; } .v-history .v-txt { align-items: center; text-align: center; }
.v-history .v-nome { font: 900 10cqw/1.1 Cinzel, serif; padding-top: .1em; background: linear-gradient(180deg, #fff3c8, #e0ad4f 45%, #8a5a1c); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; filter: drop-shadow(0 .5cqw .8cqw rgba(0,0,0,.8)); }
.v-history .v-frase { font: italic 600 2.2cqw Georgia, serif; max-width: none; }
.v-ciencia { --v-cor: #19e3c1; } .v-ciencia .v-txt { align-items: flex-end; text-align: right; } .v-ciencia .v-nome { font: 800 8.4cqw/1 'Exo 2', sans-serif; color: #e9fffb; text-shadow: 0 0 2.4cqw rgba(25,227,193,.7); }
.v-ciencia::after { background: linear-gradient(270deg, rgba(2,16,18,.85), transparent 60%); }
.v-planeta-terra { --v-cor: #4fd18b; } .v-planeta-terra .v-nome { font: 300 7cqw/1 Montserrat, sans-serif; letter-spacing: .3em; }
.v-animais { --v-cor: #f5b31b; } .v-animais .v-nome { font: 400 7.4cqw/1 'Alfa Slab One', serif; color: #fff3d6; }
.v-fatos-biblicos { --v-cor: #f1d18a; } .v-fatos-biblicos .v-txt { align-items: center; text-align: center; top: 10%; bottom: auto; }
.v-fatos-biblicos .v-nome { font: 900 7.6cqw/1.1 'Cinzel Decorative', serif; color: #fff6dc; text-shadow: 0 .2cqw 0 #7a5214, 0 .6cqw 2.4cqw rgba(60,30,0,.85); }
.v-fatos-biblicos::after { background: radial-gradient(ellipse at 50% 20%, rgba(40,22,4,.6), transparent 60%), linear-gradient(0deg, rgba(30,18,6,.5), transparent 40%); }
.v-viagens { --v-cor: #ff7a59; } .v-viagens .v-nome { font: 400 9cqw/1.15 Pacifico, cursive; }
.v-desastres-aereos { --v-cor: #ff4b3e; } .v-desastres-aereos .v-nome { font: 700 8.4cqw/1 Oswald, sans-serif; text-transform: uppercase; }
.v-desastres-aereos .v-frase { border-left: .5cqw solid #ff4b3e; padding-left: 1.2cqw; }
.v-animes { --v-cor: #ff3ea5; } .v-animes .v-nome { font: 400 11cqw/.9 Bangers, cursive; letter-spacing: .04em; -webkit-text-stroke: .35cqw #1a0626; paint-order: stroke fill; text-shadow: .6cqw .6cqw 0 #ff3ea5, 1.2cqw 1.2cqw 0 #8b5cff; }
.v-empreendedor { --v-cor: #22d07a; } .v-empreendedor .v-nome { font: 400 7.2cqw/1 'Archivo Black', sans-serif; }
.v-casos-de-policia { --v-cor: #ffd400; } .v-casos-de-policia .v-nome { font: 700 8.4cqw/1 Oswald, sans-serif; text-transform: uppercase; }
.v-casos-de-policia .v-luz { background: linear-gradient(90deg, transparent, rgba(59,130,255,.45), rgba(255,47,69,.45), transparent); }
.v-cinema { --v-cor: #e8b54a; } .v-cinema .v-txt { align-items: center; text-align: center; } .v-cinema .v-nome { font: 400 10cqw/1 Limelight, serif; color: #fff3cf; text-shadow: 0 0 2cqw rgba(232,181,74,.7); }
.v-fatos-criminais { --v-cor: #d8c9a8; } .v-fatos-criminais img { filter: grayscale(1) contrast(1.2); } .v-fatos-criminais .v-nome { font: 400 10cqw/.95 'Bebas Neue', sans-serif; }
.v-fatos-criminais .v-frase { font: 400 2cqw 'Special Elite', monospace; }
.v-cultural { --v-cor: #ff8a1f; } .v-cultural .v-txt { align-items: center; text-align: center; } .v-cultural .v-nome { font: 400 10cqw/1 'Abril Fatface', serif;
  background: linear-gradient(90deg, #ff8a1f, #ffd23f, #e84bc1, #4fd1c5, #ff8a1f); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; filter: drop-shadow(0 .4cqw 1cqw rgba(0,0,0,.5)); }

@media (max-width: 759px) {
  .hero-carrossel { aspect-ratio: 4/3.2; }
  .v-nome { font-size: 9.6cqw; } .v-frase { max-width: 100%; font-size: 3.4cqw; } .v-rotulo { font-size: 2.6cqw; } .v-txt .selo { font-size: 2.4cqw; }
  .v-construcoes .v-nome, .v-espaco .v-nome, .v-ciencia .v-nome, .v-desastres-aereos .v-nome, .v-casos-de-policia .v-nome { font-size: 9.6cqw; }
  .v-history .v-frase, .v-fatos-criminais .v-frase { font-size: 3.4cqw; }
}
@media (prefers-reduced-motion: reduce) {
  .ativo .vinheta img, .ativo .v-luz, .ativo .v-particulas, .ativo .v-txt > *, .ativo .v-txt .v-nome { animation: none; }
}
/* vinhetas mais luminosas (nenhum mundo fica "apagado") */
.vinheta::after { background: linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,.15) 50%, transparent), linear-gradient(0deg, rgba(0,0,0,.45), transparent 40%); }
.v-fatos-criminais img { filter: grayscale(1) contrast(1.15) brightness(1.7); }
.v-desastres-aereos img { filter: brightness(1.35) contrast(1.05); }
.v-empreendedor img { filter: brightness(1.4) saturate(1.1); }
.v-cinema img { filter: none; }
.v-construcoes img, .v-animes img, .v-casos-de-policia img { filter: brightness(1.15); }
.abertura { background: radial-gradient(ellipse at 50% 50%, #3a2a0c 0%, #14100a 55%, #07070a 100%); }
