/* Festival da Lua Cheia | estrutura e pegada do site oficial (festivaldaluacheia.com.br)
   com as fontes e as cores do preview: Fraunces, Nunito, Kaushan; vermelho, ouro, mata, noite, papel.
   Sem framework. JS só para vídeo, menu e carrosséis; todo conteúdo está no HTML. */
@font-face { font-family: "Fraunces"; src: url(/fonts/fraunces.woff2) format("woff2"); font-weight: 600 900; font-display: swap; }
@font-face { font-family: "Nunito"; src: url(/fonts/nunito.woff2) format("woff2"); font-weight: 400 900; font-display: swap; }
@font-face { font-family: "Kaushan Script"; src: url(/fonts/kaushan.woff2) format("woff2"); font-weight: 400; font-display: swap; }

:root {
  --noite: #0b1a33; --noite2: #13294d; --mata: #1f4a2b; --mata2: #173d29; --folha: #3f8f3a;
  --papel: #f1e3c3; --creme: #fbf1d8; --tinta: #2b1b10; --tinta2: #5a4330;
  --vermelho: #c8241c; --vermelho2: #a3170f; --ouro: #f2c14e; --ouro2: #e0a92a; --laranja: #e98736;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Nunito", "Segoe UI", system-ui, sans-serif;
  --script: "Kaushan Script", "Brush Script MT", cursive;
  --miolo: 1140px; --raio: 22px;
  --tela: 100vh;
}
@supports (height: 100svh) { :root { --tela: 100svh; } }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 400 1.0625rem/1.65 var(--sans); color: var(--tinta); background: #fff; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; line-height: 1.05; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; }
.ic { flex: none; }
.so-leitor { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--creme); padding: 10px 16px; border-radius: 8px; }
.pular:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--ouro); outline-offset: 3px; }
.centro { text-align: center; }

/* ---------- botões (pílulas como no oficial) ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .72em 1.4em; border-radius: 14px; border: 0; cursor: pointer;
  font: 900 clamp(1rem, 1.25vw, 1.15rem)/1.05 var(--serif); text-transform: uppercase; letter-spacing: .01em; text-decoration: none; text-align: center;
  transition: transform .2s, filter .2s, box-shadow .2s; }
.btn:hover { transform: translateY(-2px); filter: brightness(1.06); }
.btn--vermelho { background: var(--vermelho); color: #fff; box-shadow: 0 8px 22px rgba(160, 20, 10, .35); }
.btn--ouro { background: var(--ouro); color: var(--tinta); box-shadow: 0 6px 16px rgba(120, 80, 0, .2); }
.btn--laranja { background: var(--laranja); color: #fff; }
.btn--grande { font-size: clamp(1.15rem, 1.9vw, 1.6rem); padding: .62em 1.3em; border-radius: 18px; }
.btn--bloco { display: flex; width: 100%; }
.link-forte { font: 900 clamp(1.3rem, 2.4vw, 2rem)/1.1 var(--serif); text-transform: uppercase; color: var(--ouro); text-decoration: none; }
.link-forte:hover { text-decoration: underline; }
.selo-pilula { display: inline-block; padding: .55em 1.2em; border-radius: 12px; background: var(--vermelho); color: #fff; font: 800 1.05rem/1.1 var(--sans); text-decoration: none; border: 2px solid rgba(255, 255, 255, .7); }

/* ---------- etiquetas (as tarjas do herói do oficial) ---------- */
.etiqueta { display: inline-block; margin: 0 0 6px; padding: .28em .6em .32em; font: 900 clamp(1rem, 2.1vw, 1.75rem)/1.05 var(--serif); text-transform: uppercase; color: #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.etiqueta--vermelho { background: var(--vermelho); }
.etiqueta--noite { background: var(--noite2); font-size: clamp(.82rem, 1.45vw, 1.2rem); }
.etiqueta--folha { background: var(--folha); }
.etiqueta--laranja { background: var(--laranja); }

/* ---------- títulos ---------- */
.titulo { font: 900 clamp(2.3rem, 5.2vw, 4.2rem)/1 var(--serif); text-transform: uppercase; text-align: center; letter-spacing: -.01em; margin-bottom: clamp(18px, 3vw, 34px); }
.titulo--azul { color: var(--noite2); }
.titulo--vermelho { color: var(--vermelho); }
.titulo--creme { color: #fff; }
.subtitulo { max-width: 860px; margin: -10px auto clamp(18px, 3vw, 30px); text-align: center; font: 800 clamp(1rem, 1.6vw, 1.35rem)/1.3 var(--serif); text-transform: uppercase; color: var(--tinta2); }
.banda--mata .subtitulo, .banda--noite .subtitulo, .banda--folha .subtitulo, .banda--vermelho .subtitulo, .subtitulo--claro { color: #fff2b8; }

/* ---------- cabeçalho fixo ---------- */
.topo { position: fixed; inset: 0 0 auto 0; z-index: 40; display: flex; align-items: center; gap: 14px; padding: 12px clamp(14px, 3vw, 36px); transition: background .3s, box-shadow .3s; }
.rolou .topo, .interna .topo { background: rgba(11, 26, 51, .94); box-shadow: 0 6px 20px rgba(0, 0, 0, .25); }
.topo__logo-img { width: clamp(54px, 5.4vw, 72px); filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .45)); }
.topo__data { margin: 0 auto 0 0; display: inline-flex; align-items: center; gap: 8px; color: #fff; font: 900 clamp(.9rem, 1.3vw, 1.1rem)/1 var(--serif); letter-spacing: .03em; text-shadow: 0 2px 8px rgba(0, 0, 0, .6); }
.topo__cta { padding: .62em 1.1em; font-size: .98rem; }
.topo__menu { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; border: 0; background: #fff; color: var(--noite); cursor: pointer; box-shadow: 0 6px 16px rgba(0, 0, 0, .3); }
.topo__menu .ic--fechar, .menu-aberto .topo__menu .ic--abrir { display: none; }
.menu-aberto .topo__menu .ic--fechar { display: block; }

/* painel do menu (o "menu slide" do oficial) */
.painel { position: fixed; inset: 0; z-index: 35; overflow-y: auto; background: var(--creme); padding: 100px clamp(16px, 5vw, 70px) 50px; }
.painel[hidden] { display: none; }
.painel__miolo { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(24px, 5vw, 70px); }
.painel__grandes { display: grid; gap: 6px; margin-bottom: 30px; }
.painel__grandes a { font: 900 clamp(2.2rem, 5vw, 4rem)/1 var(--serif); text-transform: uppercase; color: var(--vermelho); text-decoration: none; }
.painel__grandes li:nth-child(2) a { color: var(--folha); } .painel__grandes li:nth-child(3) a { color: var(--noite2); } .painel__grandes li:nth-child(4) a { color: var(--laranja); }
.painel__grandes a:hover { text-decoration: underline; text-decoration-thickness: 4px; }
.painel__grupos { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 18px 26px; }
.painel__t { margin-bottom: 6px; font: 900 1.05rem/1.2 var(--serif); text-transform: uppercase; }
.painel__t a { text-decoration: none; color: var(--tinta); }
.painel__grupo li a { display: block; padding: 3px 0; color: var(--tinta2); text-decoration: none; font-weight: 700; }
.painel__grupo li a:hover { color: var(--vermelho); }
.painel__lado { border-left: 3px solid var(--ouro); padding-left: clamp(18px, 3vw, 40px); }
.painel__data { font: 900 clamp(1.8rem, 3vw, 2.4rem)/1 var(--serif); color: var(--laranja); margin-bottom: 8px; }
.painel__local { font-weight: 800; color: var(--tinta2); }
.painel__email a { color: var(--tinta2); font-weight: 700; }
.redes { display: flex; flex-wrap: wrap; gap: 10px; }
.redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--noite2); color: #fff; transition: background .2s; }
.redes a:hover { background: var(--vermelho); }
.menu-aberto { overflow: hidden; }

/* ---------- poste de placas (plaquinha do Vale das Grutas) ---------- */
.poste { position: relative; width: 210px; z-index: 6; }
.poste::before { content: ""; position: absolute; left: 50%; top: 6px; bottom: 6px; width: 22px; transform: translateX(-50%); border-radius: 6px;
  background: repeating-linear-gradient(90deg, rgba(0, 0, 0, .12) 0 2px, transparent 2px 6px), linear-gradient(90deg, #a77b4d, #d5ae7c 45%, #a07247); box-shadow: 0 0 0 2px rgba(60, 35, 15, .35), 4px 6px 14px rgba(0, 0, 0, .4); }
.poste__placas { position: relative; display: flex; flex-direction: column; gap: clamp(3px, .7vh, 8px); }
.placa { position: relative; filter: drop-shadow(0 3px 0 rgba(40, 22, 8, .45)) drop-shadow(0 6px 8px rgba(0, 0, 0, .3)); transform: rotate(var(--r, -2deg)); transition: transform .25s; }
.placa:nth-child(3n+2) { --r: 2deg; }
.placa:nth-child(3n) { --r: -1deg; }
.placa a { display: flex; align-items: center; gap: 8px; min-height: clamp(32px, 4.9vh, 46px); padding: 0 30px 0 16px; text-decoration: none;
  font: 900 clamp(.9rem, 1.9vh, 1.1rem)/1 var(--sans); color: #1d1610;
  text-shadow: 2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 1.5px 1.5px 0 #fff, -1.5px -1.5px 0 #fff, 1.5px -1.5px 0 #fff, -1.5px 1.5px 0 #fff;
  background: repeating-linear-gradient(178deg, rgba(255, 255, 255, .16) 0 2px, transparent 2px 9px), repeating-linear-gradient(183deg, rgba(60, 30, 10, .12) 0 1px, transparent 1px 13px), linear-gradient(180deg, var(--c1), var(--c2));
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 10px 50%); }
.placa--esq a { padding: 0 16px 0 30px; justify-content: flex-end; clip-path: polygon(22px 0, 100% 0, calc(100% - 10px) 50%, 100% 100%, 22px 100%, 0 50%); }
.placa--dir { margin-right: -6px; } .placa--esq { margin-left: -6px; }
.placa:hover, .placa:focus-within { transform: rotate(0deg) scale(1.06); }
.placa a[aria-current="page"] { outline: 3px solid var(--ouro); outline-offset: -6px; }
.placa__ic { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .85); color: #2a1a0e; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .15); }
.placa__txt { white-space: nowrap; }
.placa--vermelho { --c1: #ee6a3c; --c2: #d4492a; } .placa--amarelo { --c1: #f9dc55; --c2: #eec22c; } .placa--azul { --c1: #9fd6f2; --c2: #6db8e4; }
.placa--laranja { --c1: #f8a65a; --c2: #e98736; } .placa--salvia { --c1: #c4d9bd; --c2: #9fbf98; } .placa--lavanda { --c1: #aeb8ef; --c2: #8b98dd; }
.placa--terra { --c1: #df9467; --c2: #c47447; } .placa--turquesa { --c1: #8fe0dc; --c2: #52c2c0; } .placa--verde { --c1: #b2dd74; --c2: #8cc14e; }
.placa--madeira { --c1: #e2bd8a; --c2: #c79a5f; }
.poste__base { position: relative; width: 112px; margin: 12px auto 0; padding: 12px 8px; text-align: center; border-radius: 50%; background: radial-gradient(circle, #e9dcc3, #cdb894); color: #7a1d12; font: 900 .74rem/1.1 var(--serif); text-transform: uppercase; box-shadow: 0 4px 10px rgba(0, 0, 0, .4); }
.poste__base span, .poste__base small { display: block; }
.poste__base small { font-size: .6rem; color: #3a2414; }
.poste--video { position: absolute; right: clamp(12px, 2.6vw, 44px); bottom: clamp(20px, 5vh, 60px); }

/* ---------- 1. vídeo em tela cheia ---------- */
.video-heroi { position: relative; display: grid; place-items: center; min-height: var(--tela); overflow: hidden; background: var(--noite); color: #fff; isolation: isolate; text-align: center; padding: 110px 16px 80px; }
.video-heroi__midia { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.video-heroi__capa { width: 100%; height: 100%; object-fit: cover; }
.video-heroi__midia iframe { position: absolute; top: 50%; left: 50%; width: max(100vw, calc(var(--tela) * 1.7778)); height: max(56.25vw, var(--tela)); transform: translate(-50%, -50%); border: 0; pointer-events: none; opacity: 0; transition: opacity 1.2s; }
.video-heroi__midia.tocando iframe { opacity: 1; }
.video-heroi__veu { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at center, rgba(5, 10, 25, .25), rgba(5, 10, 25, .62) 75%), linear-gradient(180deg, rgba(5, 10, 25, .45), transparent 30%, transparent 65%, rgba(5, 10, 25, .65)); }
.video-heroi__centro { max-width: 900px; }
.video-heroi__h1 { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-bottom: 14px; font-size: inherit; }
.video-heroi__data { margin: 0 0 6px; font: 900 clamp(2.8rem, 7.2vw, 6rem)/.95 var(--serif); letter-spacing: -.01em; text-shadow: 0 6px 26px rgba(0, 0, 0, .55); }
.video-heroi__frase { margin-bottom: 8px; font: 400 clamp(1.15rem, 2vw, 1.6rem)/1.35 var(--script); text-shadow: 0 2px 12px rgba(0, 0, 0, .7); }
.video-heroi__local { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 22px; font-weight: 800; font-size: clamp(.92rem, 1.2vw, 1.05rem); text-shadow: 0 2px 10px rgba(0, 0, 0, .7); }
.video-heroi__som { position: absolute; left: clamp(12px, 2.6vw, 44px); bottom: clamp(20px, 5vh, 60px); display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 2px solid rgba(255, 255, 255, .7); background: rgba(11, 26, 51, .55); color: #fff; font-weight: 800; cursor: pointer; backdrop-filter: blur(4px); }
.video-heroi__som[aria-pressed="true"] { background: var(--vermelho); border-color: var(--vermelho); }
.video-heroi__desce { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); width: 30px; height: 48px; border: 2px solid rgba(255, 255, 255, .8); border-radius: 16px; }
.video-heroi__desce span { position: absolute; left: 50%; top: 9px; width: 4px; height: 9px; margin-left: -2px; border-radius: 2px; background: #fff; animation: rolar 1.8s infinite; }
@keyframes rolar { 0% { opacity: 1; transform: none; } 80% { opacity: 0; transform: translateY(14px); } 100% { opacity: 0; } }

/* ---------- bandas de cor (seções do oficial) ---------- */
.banda { position: relative; padding: clamp(56px, 9vw, 110px) clamp(16px, 4vw, 40px); }
.banda__miolo { width: 100%; max-width: var(--miolo); margin: 0 auto; }
.banda__miolo--estreito { max-width: 1000px; }
.banda--ouro { background: var(--ouro); }
.banda--creme { background: var(--creme); }
.banda--branca { background: #fff; }
.banda--mata { background: var(--mata); color: #fff; }
.banda--folha { background: var(--folha); color: #fff; }
.banda--vermelho { background: var(--vermelho); color: #fff; }
.banda--noite { background: linear-gradient(160deg, var(--noite) 0%, var(--noite2) 60%, #1d4a3a 100%); color: #fff; }
.banda--topo { padding-top: 140px; min-height: 70vh; }

/* cartão branco arredondado sobre a banda */
.caixa { background: #fff; color: var(--tinta); border-radius: var(--raio); padding: clamp(16px, 2.4vw, 26px); box-shadow: 0 18px 40px rgba(60, 35, 0, .16); }
.banda--branca .caixa { box-shadow: 0 0 0 1px rgba(43, 27, 16, .1), 0 14px 34px rgba(43, 27, 16, .08); }
.caixa__texto { margin: 22px 4px; font-size: clamp(1rem, 1.2vw, 1.1rem); }

/* ---------- carrosséis (rolagem nativa com setas) ---------- */
.carrossel { position: relative; }
.carrossel__trilho { display: grid; grid-auto-flow: column; gap: 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; border-radius: 18px; }
.carrossel__trilho::-webkit-scrollbar { display: none; }
.carrossel__trilho > li { scroll-snap-align: start; }
.carrossel--3 .carrossel__trilho { grid-auto-columns: calc((100% - 8px) / 3); }
.carrossel--4 .carrossel__trilho { grid-auto-columns: calc((100% - 12px) / 4); }
.carrossel--1 .carrossel__trilho { grid-auto-columns: 100%; gap: 24px; }
.carrossel--3 img, .carrossel--4 img { width: 100%; aspect-ratio: 8 / 7; object-fit: cover; border-radius: 18px; }
.carrossel--4 img { aspect-ratio: 1; border-radius: 12px; }
.carrossel__seta { position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 38px; height: 38px; margin-top: -19px; border-radius: 50%; border: 0; background: var(--ouro); color: var(--tinta); cursor: pointer; box-shadow: 0 4px 12px rgba(0, 0, 0, .3); }
.carrossel__seta--ant { left: 10px; } .carrossel__seta--ant .ic { transform: rotate(180deg); }
.carrossel__seta--prox { right: 10px; }
.carrossel--1 .carrossel__seta--ant { left: -19px; } .carrossel--1 .carrossel__seta--prox { right: -19px; }
.carrossel__seta[disabled] { opacity: .35; cursor: default; }

/* ---------- 3. facilidades ---------- */
.facilidades { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); text-align: center; }
.facilidades li { display: flex; flex-direction: column; align-items: center; }
.facilidades h3 { font: 900 clamp(1.05rem, 1.4vw, 1.25rem)/1.2 var(--serif); text-transform: uppercase; margin-bottom: 8px; }
.facilidades h3 a { text-decoration: none; color: var(--tinta); }
.facilidades h3 a:hover { color: var(--vermelho); }
.facilidades p { flex: 1; color: var(--tinta2); }

/* ---------- 4. experiências ---------- */
.experiencias { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); padding: clamp(14px, 2vw, 22px); background: #f1efe9; border-radius: var(--raio); border: 1px solid rgba(43, 27, 16, .08); }
.experiencias--7 { grid-template-columns: repeat(7, minmax(0, 1fr)); background: #fff; }
.experiencia a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--tinta); }
.experiencia__foto { position: relative; display: block; overflow: hidden; border-radius: 16px; }
.experiencia__foto img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; transition: transform .5s; }
.experiencias--7 .experiencia__foto img { aspect-ratio: 3 / 4; }
.experiencia a:hover img { transform: scale(1.05); }
.experiencia__nome { position: absolute; top: 0; left: 50%; transform: translateX(-50%); padding: .25em .55em .3em; border-radius: 0 0 10px 10px; background: rgba(43, 27, 16, .55); color: #fff; font: 900 clamp(1.15rem, 2.1vw, 1.9rem)/1 var(--serif); text-transform: uppercase; white-space: nowrap; backdrop-filter: blur(2px); }
.experiencias--7 .experiencia__nome { font-size: clamp(.82rem, 1vw, 1rem); }
.experiencia__texto { padding: 12px 6px 0; text-align: center; font: 800 .92rem/1.35 var(--sans); text-transform: uppercase; letter-spacing: .03em; }
.experiencias--7 .experiencia__texto { text-transform: none; letter-spacing: 0; font-weight: 700; }

/* ---------- 5. after movie ---------- */
.after { display: grid; justify-items: center; gap: 0; text-align: center; }
.after__cartaz { width: min(100%, 420px); padding: 26px 20px 18px; background: var(--vermelho); }
.after__edicao { margin: 0; font: 800 1.2rem/1 var(--sans); text-transform: uppercase; }
.after__t { font: 900 clamp(4rem, 11vw, 9rem)/.86 var(--serif); text-transform: uppercase; letter-spacing: -.02em; }
.after .video-caixa { width: min(100%, 860px); }
.after__link { width: min(100%, 420px); padding: 14px; background: var(--noite2); }
.after__link a { color: #fff; font-weight: 800; text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.after .btn { margin-top: 28px; }

/* caixa de vídeo com capa (o iframe só carrega no clique) */
.video-caixa { position: relative; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.video-caixa__play { position: absolute; inset: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.video-caixa__play img { width: 100%; height: 100%; object-fit: cover; }
.video-caixa__icone { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; filter: drop-shadow(0 4px 14px rgba(0, 0, 0, .6)); transition: transform .2s; }
.video-caixa__play:hover .video-caixa__icone { transform: scale(1.1); color: var(--ouro); }
.video-caixa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-caixa__legenda { margin: 12px 0 0; text-align: center; font: 800 1.05rem/1.3 var(--serif); color: var(--tinta); }
.carrossel--moldura { padding: 10px; border: 10px solid #e6e2da; border-radius: 12px; background: #fff; margin-bottom: 30px; }

/* ---------- 6. palcos ---------- */
.palco { display: flex; flex-direction: column; border-radius: var(--raio); overflow: hidden; background: #fff; }
.palco__aba { padding: 14px 16px; background: var(--ouro); text-align: center; font: 900 clamp(1.7rem, 3.6vw, 3.1rem)/1 var(--serif); text-transform: uppercase; }
.palco__aba a { color: var(--vermelho2); text-decoration: none; }
.palco__foto img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.palco__texto { margin: 0; padding: 18px 26px 24px; color: var(--vermelho2); font-size: 1.1rem; font-weight: 700; }

/* ---------- 7. o festival oferece (sanfona) ---------- */
.sanfona { display: grid; gap: 10px; }
.sanfona__item { border-radius: 16px; background: var(--ouro); color: var(--tinta); overflow: hidden; box-shadow: 0 8px 20px rgba(0, 0, 0, .25); }
.sanfona__item summary { display: flex; align-items: center; gap: 16px; padding: 16px 20px; cursor: pointer; list-style: none; }
.sanfona__item summary::-webkit-details-marker { display: none; }
.sanfona__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--vermelho); color: #fff; }
.sanfona__t { flex: 1; font: 900 clamp(1.05rem, 1.9vw, 1.5rem)/1.15 var(--serif); text-transform: uppercase; }
.sanfona__seta { width: 12px; height: 12px; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(45deg); transition: transform .25s; margin-right: 6px; }
.sanfona__item[open] .sanfona__seta { transform: rotate(-135deg); }
.sanfona__corpo { padding: 0 22px 22px 80px; }
.sanfona__corpo ul { display: grid; gap: 4px; margin-bottom: 12px; }
.sanfona__corpo li { display: flex; gap: 8px; align-items: center; font-weight: 800; }
.sanfona__corpo li .ic { color: var(--vermelho); }
.sanfona__corpo p { margin: 0; }
.oferece__aba { margin: 40px 0 18px; text-align: center; }
.oferece__aba a { display: inline-block; padding: .4em 1.1em; border-radius: 20px 20px 0 0; background: var(--ouro); color: var(--noite2); font: 900 clamp(1.4rem, 3vw, 2.4rem)/1.1 var(--serif); text-transform: uppercase; text-decoration: none; }

/* ---------- 10. chamada final ---------- */
.chamada-final { text-align: center; }
.chamada-final__logo { width: min(360px, 72vw); margin: 0 auto 10px; }
.chamada-final__t { margin: 0 0 16px; font: 900 clamp(1.3rem, 2.4vw, 2rem)/1.15 var(--serif); text-transform: uppercase; color: var(--noite2); }

/* ---------- herói das páginas internas ---------- */
.heroi-int { position: relative; display: grid; place-items: center; min-height: min(88vh, 820px); padding: 130px 16px 70px; overflow: hidden; color: #fff; text-align: center; isolation: isolate; background: var(--noite); }
.heroi-int__fundo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.heroi-int__veu { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5, 10, 25, .55), rgba(5, 10, 25, .45) 45%, rgba(5, 10, 25, .8)); }
.heroi-int__centro { max-width: 900px; }
.heroi-int__h1 { margin: 6px 0 14px; font: 900 clamp(2.4rem, 6vw, 5rem)/.98 var(--serif); text-transform: uppercase; text-shadow: 0 6px 26px rgba(0, 0, 0, .55); }
.heroi-int__resposta { max-width: 760px; margin: 0 auto 20px; font-size: clamp(1rem, 1.25vw, 1.15rem); text-shadow: 0 2px 10px rgba(0, 0, 0, .7); }
.heroi-int__botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.poste--interna { transform: scale(.82); transform-origin: bottom right; }
.migalhas ol { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; font-size: .9rem; font-weight: 700; }
.migalhas li + li::before { content: "/"; margin-right: 6px; opacity: .7; }
.migalhas a { color: #fff2b8; }

/* ---------- blocos de conteúdo das internas ---------- */
.prosa { max-width: 72ch; }
.prosa p { font-size: clamp(1rem, 1.15vw, 1.1rem); }
.lista-folha { display: grid; gap: 8px; margin-top: 10px; }
.lista-folha li { display: flex; gap: 10px; align-items: flex-start; }
.lista-folha .ic { color: var(--folha); margin-top: 4px; }
.dividido { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(20px, 3.4vw, 44px); align-items: center; }
.dividido--inverso .prosa { order: 2; }
.moldura { margin: 0; position: relative; }
.moldura__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; }
.moldura__rotulo { position: absolute; left: 50%; top: 0; transform: translateX(-50%); max-width: 90%; padding: .3em .7em; border-radius: 0 0 10px 10px; background: rgba(43, 27, 16, .6); color: #fff; font: 900 .95rem/1.15 var(--serif); text-transform: uppercase; text-align: center; }
.painel-foto .prosa { max-width: none; }
.fatos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 18px 0 0; }
.fatos div { padding: 14px 16px; border-radius: 14px; background: var(--creme); }
.fatos dt { font: 900 .82rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .05em; color: var(--vermelho); }
.fatos dd { margin: 4px 0 0; font-weight: 700; }
.cartoes { display: grid; gap: clamp(12px, 1.6vw, 20px); }
.cartoes--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cartoes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cartoes--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cartao a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--tinta); background: #f6f3ec; border-radius: 16px; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.cartao a:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(43, 27, 16, .14); }
.cartao__foto { position: relative; display: block; }
.cartao__foto img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; }
.cartao__tag { position: absolute; left: 10px; top: 10px; padding: 4px 10px; border-radius: 8px; background: var(--vermelho); color: #fff; font: 800 .78rem/1.2 var(--sans); font-style: normal; text-transform: uppercase; }
.cartao__corpo { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 18px; }
.cartao__corpo strong { font: 900 1.12rem/1.2 var(--serif); color: var(--noite2); }
.cartao__corpo span { font-size: .95rem; color: var(--tinta2); }
.galeria { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.galeria__item { position: relative; overflow: hidden; border-radius: 14px; }
.galeria__item img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.galeria__t { position: absolute; inset: auto 0 0 0; padding: 18px 10px 8px; font-size: .8rem; font-weight: 700; color: #fff; background: linear-gradient(0deg, rgba(0, 0, 0, .7), transparent); }
.passos { display: grid; gap: 12px; counter-reset: p; }
.passos li { display: flex; gap: 16px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: var(--creme); }
.passos__n { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--vermelho); color: #fff; font: 900 1.1rem/1 var(--serif); }
.passos p { margin: 4px 0 0; }
.checklist { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px 18px; margin-top: 14px; }
.checklist li { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; background: var(--creme); border-radius: 12px; font-weight: 700; }
.checklist .ic { color: var(--folha); margin-top: 3px; }
.checklist--no .ic { color: var(--vermelho); }
.faq { display: grid; gap: 10px; }
.faq details { border-radius: 14px; background: var(--creme); overflow: hidden; }
.faq summary { display: flex; align-items: center; gap: 12px; padding: 16px 18px; cursor: pointer; list-style: none; font: 900 1.06rem/1.3 var(--serif); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary > span:first-child { flex: 1; }
.faq__mais { position: relative; width: 16px; height: 16px; flex: none; }
.faq__mais::before, .faq__mais::after { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 3px; border-radius: 2px; background: var(--vermelho); transition: transform .2s; }
.faq__mais::after { transform: rotate(90deg); }
.faq details[open] .faq__mais::after { transform: rotate(0); }
.faq details p { margin: 0; padding: 0 18px 18px; }
.estado-editorial { display: flex; gap: 12px; align-items: flex-start; padding: 18px 20px; border-radius: 14px; background: var(--creme); font-weight: 700; margin: 0; }
.cartazes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cartaz { display: flex; flex-direction: column; gap: 6px; padding: 12px 12px 18px; background: var(--creme); border-radius: 16px; }
.cartaz img { width: 100%; border-radius: 10px; }
.cartaz strong { font: 900 1.1rem/1.2 var(--serif); }
.agenda-dias { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.botao { display: inline-flex; align-items: center; gap: .5em; padding: .72em 1.3em; border-radius: 14px; font: 900 1rem/1.05 var(--serif); text-transform: uppercase; text-decoration: none; transition: transform .2s; }
.botao:hover { transform: translateY(-2px); }
.botao--vermelho { background: var(--vermelho); color: #fff; }
.botao--papel { background: var(--creme); color: var(--tinta); border: 2px solid rgba(43, 27, 16, .15); }
.botao--madeira { background: var(--ouro); color: var(--tinta); }
.agenda-dia { margin-bottom: 26px; }
.agenda-dia__t { font: 900 1.45rem/1.2 var(--serif); margin-bottom: 12px; color: var(--noite2); }
.agenda-locais { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.agenda-local { padding: 14px 16px; background: var(--creme); border-radius: 14px; }
.agenda-local h4 { font: 900 1.05rem/1.2 var(--serif); margin-bottom: 8px; color: var(--vermelho); }
.agenda-local li { display: flex; gap: 10px; padding: 4px 0; border-bottom: 1px dashed rgba(90, 58, 34, .2); font-size: .94rem; }
.agenda-local .hora { flex: none; width: 52px; font-weight: 800; color: var(--folha); }
.chamada { margin-top: clamp(22px, 4vw, 40px); padding: clamp(20px, 3vw, 32px); border-radius: 18px; text-align: center; background: var(--noite2); color: #fff; }
.chamada__t { font: 900 clamp(1.3rem, 2.2vw, 1.9rem)/1.15 var(--serif); text-transform: uppercase; margin-bottom: .4em; }
.chamada p:last-child { margin: 0; }
.sub-bloco { margin-top: clamp(22px, 4vw, 36px); }
.sub-bloco__t { font: 900 clamp(1.2rem, 2vw, 1.6rem)/1.15 var(--serif); text-transform: uppercase; color: var(--noite2); margin-bottom: 8px; }
.continue { margin-top: 30px; text-align: center; }
.continue__t { font: 900 1.3rem/1.2 var(--serif); text-transform: uppercase; color: var(--vermelho); }
.relacionados { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.relacionados a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border-radius: 12px; background: #fff; color: var(--tinta); font-weight: 800; text-decoration: none; }
.relacionados a:hover { background: var(--vermelho); color: #fff; }

/* atrações (filtros, programação ilustrativa, palcos) */
.cab { margin-bottom: 22px; }
.cab__t { font: 900 clamp(2rem, 4.2vw, 3.4rem)/1 var(--serif); text-transform: uppercase; color: var(--noite2); }
.cab--creme .cab__t { color: #fff; }
.cab__sub { margin: .6em 0 0; max-width: 70ch; }
.cab--linha { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 26px; }
.cab--linha .cab__sub { margin: 0; flex: 1 1 320px; }
.cab--meio { margin-top: 44px; }
.link-seta { display: inline-flex; align-items: center; gap: .4em; font-weight: 800; color: var(--vermelho); }
.fichas { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.ficha { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 14px; border: 2px solid rgba(43, 27, 16, .2); background: #fff; color: var(--tinta); font: 800 1rem/1 var(--sans); cursor: pointer; }
.ficha[aria-pressed="true"] { background: var(--vermelho); color: #fff; border-color: var(--vermelho); }
.programa { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.prog { display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 24px rgba(43, 27, 16, .12); }
.prog[hidden] { display: none; }
.prog__foto { position: relative; display: block; }
.prog__foto img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; }
.prog__data { position: absolute; left: 12px; top: 12px; display: grid; justify-items: center; padding: 6px 10px; background: var(--ouro); border-radius: 10px; line-height: 1; }
.prog__data small { font: 800 .7rem/1.2 var(--sans); } .prog__data strong { font: 900 1.5rem/1 var(--serif); }
.prog__hora { position: absolute; left: 12px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 800; text-shadow: 0 1px 6px rgba(0, 0, 0, .8); }
.prog__corpo { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 18px; }
.prog__corpo strong { font: 900 1.12rem/1.2 var(--serif); color: var(--vermelho); }
.prog__corpo em { font-size: .9rem; color: var(--tinta2); }
.nota-ilustrativa { margin-top: 16px; font-size: .9rem; font-style: italic; color: var(--tinta2); text-align: center; }
.palcos6 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.palco6 a { display: flex; flex-direction: column; height: 100%; text-decoration: none; background: #fff; color: var(--tinta); border-radius: 16px; overflow: hidden; }
.palco6__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.palco6__rotulo { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px; background: var(--ouro); color: var(--vermelho2); font: 900 1rem/1.1 var(--serif); text-transform: uppercase; }
.palco6__texto { padding: 12px 14px 18px; text-align: center; font-size: .94rem; color: var(--tinta2); }
.simples { text-align: center; }
.simples__logo { width: 220px; margin: 0 auto 20px; }
.simples .prosa { margin: 0 auto 20px; }
.mapa__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.mapa__t { font: 900 1.3rem/1.2 var(--serif); color: var(--vermelho); margin-bottom: 10px; text-transform: uppercase; }
.mapa__lista li { padding: 4px 0; }

/* ---------- rodapé ---------- */
.rodape { background: var(--noite); color: #e9e2cf; padding: clamp(46px, 6vw, 70px) clamp(16px, 4vw, 40px) 22px; }
.rodape__miolo { max-width: var(--miolo); margin: 0 auto; display: grid; grid-template-columns: auto repeat(4, minmax(0, 1fr)); gap: 26px 34px; align-items: start; }
.rodape__logo-img { width: 110px; }
.rodape__t { margin-bottom: 10px; font: 900 1rem/1.2 var(--serif); text-transform: uppercase; color: var(--ouro); }
.rodape address { font-style: normal; margin-bottom: 10px; }
.rodape ul li { padding: 3px 0; }
.rodape a { color: #fff; text-decoration: none; }
.rodape a:hover { text-decoration: underline; }
.rodape .redes a { background: rgba(255, 255, 255, .1); }
.rodape .redes a:hover { background: var(--vermelho); text-decoration: none; }
.rodape__tag { margin-top: 12px; font: 400 1.2rem/1 var(--script); color: var(--ouro); }
.rodape__credito { max-width: var(--miolo); margin: 34px auto 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .15); font-size: .88rem; text-align: center; }

/* botão flutuante de compra (aparece depois do herói) */
.flutuante { position: fixed; right: 16px; bottom: 16px; z-index: 30; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 14px; background: var(--vermelho); color: #fff; font: 900 .98rem/1 var(--serif); text-transform: uppercase; text-decoration: none; box-shadow: 0 10px 26px rgba(0, 0, 0, .35); opacity: 0; transform: translateY(20px); pointer-events: none; transition: .3s; }
.rolou .flutuante { opacity: 1; transform: none; pointer-events: auto; }
.menu-aberto .flutuante { display: none; }

/* entrada suave */
.js .entra { opacity: 0; transform: translateY(26px); transition: opacity .7s, transform .7s; }
.js .entra.visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* ---------- tablet ---------- */
@media (max-width: 1024px) {
  .experiencias--7 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .programa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rodape__miolo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rodape__logo { grid-column: 1 / -1; }
  .poste--video { transform: scale(.85); transform-origin: bottom right; }
  .poste--interna { transform: scale(.7); }
  .painel__miolo { grid-template-columns: 1fr; }
  .painel__lado { border-left: 0; border-top: 3px solid var(--ouro); padding: 24px 0 0; }
}

/* ---------- celular ---------- */
@media (max-width: 767px) {
  body { font-size: 1rem; }
  .topo { padding: 10px 14px; gap: 10px; }
  .topo__data { display: none; }
  .topo__logo { margin-right: auto; }
  .topo__cta { padding: .6em .9em; font-size: .86rem; }
  .topo__menu { width: 44px; height: 44px; }
  .video-heroi { padding: 96px 16px 200px; align-content: start; }
  .video-heroi__centro { margin-top: 3vh; }
  .poste--video { right: auto; left: 50%; bottom: 74px; width: calc(100% - 32px); max-width: 420px; transform: translateX(-50%); }
  .poste--video::before { display: none; }
  .poste--video .poste__placas { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 6px; padding: 4px 2px 8px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .poste--video .poste__placas::-webkit-scrollbar { display: none; }
  .poste--video .placa { flex: none; scroll-snap-align: start; }
  .poste--video .poste__base { display: none; }
  .poste--interna { transform: translateX(-50%); bottom: 18px; }
  .heroi-int { padding-bottom: 110px; }
  .video-heroi__som { bottom: 22px; left: 16px; padding: 8px 12px; font-size: .88rem; }
  .video-heroi__desce { display: none; }
  .carrossel--3 .carrossel__trilho { grid-auto-columns: 82%; }
  .carrossel--4 .carrossel__trilho { grid-auto-columns: 62%; }
  .carrossel--1 .carrossel__seta--ant { left: 6px; } .carrossel--1 .carrossel__seta--prox { right: 6px; }
  .carrossel--1 .carrossel__seta { top: 40%; }
  .facilidades { grid-template-columns: 1fr; }
  .experiencias { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
  .experiencias--7 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experiencia__texto { font-size: .8rem; }
  .sanfona__item summary { padding: 14px; gap: 12px; }
  .sanfona__ic { width: 38px; height: 38px; }
  .sanfona__corpo { padding: 0 16px 18px; }
  .dividido { grid-template-columns: 1fr; }
  .dividido--inverso .prosa { order: 0; }
  .cartoes--2, .cartoes--3, .cartoes--4 { grid-template-columns: 1fr; }
  .galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cartazes, .programa { grid-template-columns: 1fr; }
  .palcos6 { grid-template-columns: repeat(5, 72vw); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .palcos6 > li { scroll-snap-align: start; }
  .fichas { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .ficha { flex: none; }
  .rodape__miolo { grid-template-columns: 1fr; }
  .flutuante { left: 16px; right: 16px; justify-content: center; }
  .painel { padding-top: 84px; }
}

/* ---------- ajustes da revisão visual ---------- */
.after__cartaz { width: min(100%, 520px); }
.after__t { font-size: clamp(3rem, 8.4vw, 6.4rem); }
.after__link { width: min(100%, 520px); }
.video-heroi__midia iframe { width: calc(max(100vw, calc(var(--tela) * 1.7778)) * 1.2); height: calc(max(56.25vw, var(--tela)) * 1.2); }
.video-heroi__data { white-space: nowrap; }
.facilidades .btn { min-height: 3.1em; font-size: .98rem; }
.carrossel + .centro, .carrossel + p { margin-top: 30px; }
.carrossel--videos .carrossel__trilho { grid-auto-columns: calc((100% - 32px) / 3); gap: 16px; }
.carrossel--videos .video-caixa { border-radius: 14px; }
.carrossel--videos .video-caixa__legenda { font-size: .95rem; }
.carrossel--videos .carrossel__seta { top: 38%; }
@media (max-width: 767px) {
  .video-heroi__data { font-size: clamp(2.2rem, 10.5vw, 3rem); }
  .rolou .topo__cta { display: none; }
  .carrossel--videos .carrossel__trilho { grid-auto-columns: 86%; }
}

/* =====================================================================
   Revisão 10/10 (noite): tipografia e textos do preview anterior
   (Fraunces em caixa normal, rótulos em Nunito, manuscrito em Kaushan,
   botões em pílula), placas estreitas e centralizadas, celular primeiro.
   ===================================================================== */
.titulo { font: 900 clamp(2.1rem, 4.6vw, 4rem)/1.04 var(--serif); text-transform: none; letter-spacing: -.01em; margin-bottom: .25em; }
.titulo--verde { color: var(--mata); }
.titulo--esq { text-align: left; }
.sobre { font: 800 clamp(.8rem, 1.05vw, .98rem)/1.35 var(--sans); text-transform: uppercase; letter-spacing: .08em; color: var(--folha); margin: 0 0 1.1em; }
.sobre--creme { color: var(--ouro); }
.linha { max-width: 760px; margin: 0 auto 26px; font-size: clamp(1rem, 1.15vw, 1.1rem); color: var(--tinta2); }
.linha--clara { color: #fdf3d6; }
.manuscrito { font: 400 clamp(1.15rem, 1.7vw, 1.55rem)/1.35 var(--script); margin: 18px 0 0; }
.manuscrito .ic { display: inline-block; vertical-align: middle; margin-left: .2em; }
.manuscrito--tinta { color: var(--tinta2); }
.manuscrito--claro { color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .7); }
.subtitulo { text-transform: none; font: 700 clamp(1rem, 1.3vw, 1.15rem)/1.4 var(--sans); }

/* botões em pílula do preview */
.pilula, .btn { display: inline-flex; align-items: center; justify-content: center; gap: .55em; padding: .85em 1.6em; border-radius: 999px; font: 800 clamp(.98rem, 1.1vw, 1.08rem)/1.1 var(--serif); text-transform: none; letter-spacing: 0; text-decoration: none; text-align: center; color: #fff; border: 2px solid rgba(255, 230, 180, .55); box-shadow: 0 8px 22px rgba(0, 0, 0, .28); transition: transform .2s, filter .2s; cursor: pointer; }
.pilula:hover, .btn:hover { transform: translateY(-2px); filter: brightness(1.06); }
.pilula--vermelha, .btn--vermelho { background: linear-gradient(180deg, #d7382a, #9e170f); color: #fff; }
.pilula--verde { background: linear-gradient(180deg, #2f7d38, #1b5124); color: #fff; }
.pilula--ouro, .btn--ouro { background: linear-gradient(180deg, #f6cf62, #e3a92a); color: var(--tinta); border-color: rgba(255, 255, 255, .6); }
.pilula--grande { font-size: clamp(1.1rem, 1.7vw, 1.4rem); padding: .8em 1.8em; }
.topo__cta { padding: .6em 1.2em; font-size: .95rem; }
.link-forte, .oferece__aba a { text-transform: none; }
.selo-pilula { border-radius: 999px; font-family: var(--sans); }

/* etiquetas, nomes e abas em caixa normal */
.etiqueta { font: 800 clamp(.8rem, 1.05vw, .95rem)/1.2 var(--sans); letter-spacing: .06em; text-transform: uppercase; padding: .45em 1em; border-radius: 999px; }
.experiencia__nome, .palco__aba, .sanfona__t, .facilidades h3, .chamada__t, .sub-bloco__t, .continue__t, .cab__t, .mapa__t, .painel__t, .painel__grandes a, .rodape__t, .palco6__rotulo, .chamada-final__t, .heroi-int__h1, .topo__data { text-transform: none; }
.experiencia__texto { text-transform: none; letter-spacing: 0; font-weight: 700; font-size: .95rem; }
.palco__aba { font-size: clamp(1.6rem, 3vw, 2.6rem); display: block; }
.palco__aba a { display: inline-flex; align-items: center; gap: 10px; }
.sanfona__t { font-size: clamp(1.05rem, 1.7vw, 1.4rem); }
.chamada-final__t { color: var(--mata); font-size: clamp(1.6rem, 3vw, 2.6rem); }
.heroi-int__h1 { font-size: clamp(2.2rem, 5.2vw, 4.4rem); }

/* bloco "o que o ingresso inclui" dentro do cartão */
.inclui-caixa { padding: clamp(18px, 3vw, 34px) clamp(6px, 1.4vw, 16px) 6px; }
.resposta-rapida { font-size: clamp(1.02rem, 1.2vw, 1.12rem); max-width: 80ch; }
.inclui { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 22px 0; }
.inclui li { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 16px; background: var(--creme); }
.inclui .ic { color: var(--vermelho); margin-top: 2px; }
.inclui strong { display: block; font: 900 1.05rem/1.2 var(--serif); color: var(--mata); }
.inclui span { font-size: .93rem; color: var(--tinta2); }
.inclui-caixa__pe { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.inclui-caixa__pe .manuscrito { margin: 0; }
.facilidades li > .ic { color: var(--vermelho); margin-bottom: 10px; }
.nao-tem { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 22px 0 0; color: #ffd9d2; font-weight: 700; text-align: center; }
.oferece__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 26px 0 0; }
.chamada-final { padding-top: clamp(40px, 6vw, 70px); }

/* after movie em Kaushan */
.after__t { font: 400 clamp(3.2rem, 9vw, 7rem)/1 var(--script); text-transform: none; letter-spacing: 0; color: #fff; margin: -6px 0 22px; text-shadow: 0 6px 24px rgba(0, 0, 0, .35); }
.after .video-caixa { border-radius: 18px; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); margin-bottom: 26px; }
.after .sobre { margin-bottom: 0; }

/* placas: mais estreitas, texto e ícone centralizados */
.poste { width: 168px; }
.placa a, .placa--esq a { justify-content: center; gap: 6px; padding: 0 22px; min-height: clamp(30px, 4.4vh, 42px); font-size: clamp(.86rem, 1.75vh, 1rem); clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%, 8px 50%); }
.placa--esq a { clip-path: polygon(16px 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 16px 100%, 0 50%); }
.placa__ic { width: 22px; height: 22px; }
.placa__ic .ic { width: 14px; height: 14px; }

/* herói em vídeo: logo centralizado e maior acima do título */
.video-heroi__veu { z-index: 2; }
.video-heroi__logo { width: clamp(190px, 21vw, 330px); margin: 0 auto 6px; filter: drop-shadow(0 10px 26px rgba(0, 0, 0, .55)); }
.video-heroi__h1 { display: block; margin: 0 0 8px; font: 900 clamp(2.3rem, 5vw, 4.4rem)/1.02 var(--serif); letter-spacing: -.01em; color: #fff; text-shadow: 0 6px 26px rgba(0, 0, 0, .6); }
.video-heroi__data { white-space: normal; font: 900 clamp(1.5rem, 3vw, 2.4rem)/1.1 var(--serif); margin-bottom: 6px; }
.video-heroi__local { margin-bottom: 6px; }
.video-heroi__botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 18px; }
.video-heroi .sobre { margin-bottom: .6em; }
.video-heroi { padding-top: 96px; }

/* logo do cabeçalho só aparece depois de rolar (o logo grande fica no herói) */
.topo__logo { opacity: 0; pointer-events: none; transition: opacity .3s; }
.rolou .topo__logo { opacity: 1; pointer-events: auto; }
.heroi-int__logo { display: block; width: clamp(120px, 12vw, 180px); margin: 0 auto 10px; }
.heroi-int__logo-img { width: 100%; filter: drop-shadow(0 8px 20px rgba(0, 0, 0, .5)); }

/* ---------- celular primeiro ---------- */
@media (max-width: 1024px) {
  .inclui { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .poste--video { display: none; }
  .topo { background: rgba(11, 26, 51, .94); }
  .topo__logo { opacity: 1; pointer-events: auto; }
  .topo__logo-img { width: 46px; }
  .home .topo__logo { opacity: 0; pointer-events: none; }
  .home.rolou .topo__logo { opacity: 1; pointer-events: auto; }

  /* vídeo em faixa 16:9 no topo, conteúdo embaixo: nada de vídeo gigante recortado */
  .video-heroi { display: block; min-height: 0; padding: 66px 0 34px; background: var(--noite); }
  .video-heroi__midia { position: relative; inset: auto; aspect-ratio: 16 / 9; width: 100%; }
  .video-heroi__midia iframe { top: 0; left: 0; width: 100%; height: 100%; transform: none; }
  .video-heroi__veu { background: linear-gradient(180deg, transparent 55%, var(--noite)); }
  .video-heroi__centro { margin: -58px auto 0; padding: 0 18px; position: relative; z-index: 3; }
  .video-heroi__logo { width: 150px; }
  .video-heroi__h1 { font-size: clamp(1.9rem, 8.6vw, 2.5rem); }
  .video-heroi__data { font-size: 1.35rem; }
  .video-heroi__local { font-size: .9rem; justify-content: center; flex-wrap: wrap; }
  .video-heroi .manuscrito { font-size: 1.15rem; margin-top: 10px; }
  .video-heroi__botoes { flex-direction: column; align-items: stretch; gap: 10px; padding: 0 6px; }
  .video-heroi__desce { display: none; }

  .heroi-int { min-height: 0; padding: 92px 16px 46px; }
  .poste--interna { display: none; }
  .heroi-int__logo { width: 110px; }
  .heroi-int__resposta { font-size: .98rem; }
  .heroi-int__botoes { flex-direction: column; align-items: stretch; }

  .banda { padding: 48px 16px; }
  .titulo { font-size: clamp(1.8rem, 8vw, 2.4rem); }
  .caixa { padding: 12px; border-radius: 18px; }
  .inclui { grid-template-columns: 1fr; gap: 10px; }
  .inclui-caixa__pe { flex-direction: column; align-items: stretch; text-align: center; }
  .facilidades li { padding: 20px 16px; background: #fff; border-radius: 18px; }
  .experiencias { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .experiencia__nome { font-size: 1.05rem; }
  .experiencia__texto { font-size: .85rem; }
  .after__t { font-size: 3.4rem; }
  .palco__aba { font-size: 1.5rem; padding: 10px; }
  .palco__texto { padding: 14px 16px 18px; font-size: 1rem; }
  .sanfona__t { font-size: 1.02rem; }
  .oferece__links { flex-direction: column; align-items: stretch; }
  .pilula, .btn { min-height: 48px; }
  .topo__cta { min-height: 40px; padding: .5em .95em; font-size: .86rem; }
  .flutuante { border-radius: 999px; font-family: var(--serif); text-transform: none; }
  .carrossel__seta { width: 34px; height: 34px; margin-top: -17px; }
}
@media (max-width: 380px) {
  .topo__cta { display: none; }
}
.flutuante { border-radius: 999px; font: 800 1rem/1 var(--serif); text-transform: none; background: linear-gradient(180deg, #d7382a, #9e170f); border: 2px solid rgba(255, 230, 180, .55); }

/* =====================================================================
   Revisão 3 (10/10): menu compacto, texturas de mata, músicos do logo,
   vídeo recortado para esconder a legenda gravada no rodapé do filme.
   ===================================================================== */

/* menu: gaveta estreita à direita, grupos que abrem e fecham */
.painel { inset: 0 0 0 auto; width: min(360px, 100%); padding: 84px 18px 28px; background: var(--creme); box-shadow: -18px 0 40px rgba(0, 0, 0, .3); }
.painel__menu { display: grid; gap: 8px; }
.painel__ingresso { margin: 0 0 8px; }
.painel__ingresso .pilula { width: 100%; }
.painel__grupo { border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px rgba(43, 27, 16, .08); overflow: hidden; }
.painel__grupo summary { display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; cursor: pointer; list-style: none; font: 900 1.05rem/1.2 var(--serif); color: var(--mata); }
.painel__grupo summary::-webkit-details-marker { display: none; }
.painel__seta { width: 9px; height: 9px; border-right: 2.5px solid var(--vermelho); border-bottom: 2.5px solid var(--vermelho); transform: rotate(45deg); transition: transform .2s; }
.painel__grupo[open] .painel__seta { transform: rotate(-135deg); }
.painel__grupo ul { padding: 0 16px 12px; }
.painel__grupo li a { display: block; padding: 7px 0; border-top: 1px solid rgba(43, 27, 16, .07); color: var(--tinta2); font-weight: 700; font-size: .96rem; text-decoration: none; }
.painel__grupo li a:hover, .painel__grupo li a[aria-current="page"] { color: var(--vermelho); }
.menu-aberto::after { content: ""; position: fixed; inset: 0; z-index: 34; background: rgba(5, 10, 25, .45); }
.menu-aberto { overflow: hidden; }

/* texturas: a mata do preview por baixo das cores (imagem de 22 KB, uma só para o site todo) */
.banda--mata { background: linear-gradient(rgba(23, 61, 41, .78), rgba(23, 61, 41, .78)), url(/img/arte/folhagem.webp) center / cover; }
.banda--folha { background: linear-gradient(rgba(52, 125, 48, .8), rgba(52, 125, 48, .8)), url(/img/arte/folhagem.webp) center / cover; }
.banda--vermelho { background: linear-gradient(rgba(190, 32, 24, .88), rgba(160, 22, 14, .9)), url(/img/arte/folhagem.webp) center / cover; }
.banda--noite { background: linear-gradient(160deg, rgba(11, 26, 51, .9) 0%, rgba(19, 41, 77, .86) 60%, rgba(23, 61, 41, .84) 100%), url(/img/arte/folhagem.webp) center / cover; }
.chamada { background: linear-gradient(rgba(19, 41, 77, .92), rgba(19, 41, 77, .92)), url(/img/arte/folhagem.webp) center / cover; }
.rodape { background: linear-gradient(rgba(11, 26, 51, .93), rgba(11, 26, 51, .96)), url(/img/arte/folhagem.webp) center / cover; }

/* músicos do logo apresentando as seções */
.tem-musico .banda__miolo, .tem-musico-caixa { position: relative; }
.musico { position: absolute; top: -26px; z-index: 3; width: clamp(96px, 10vw, 150px); height: auto; pointer-events: none; filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .3)); transform-origin: 50% 100%; animation: balanco 4.5s ease-in-out infinite; }
.musico--esq { left: clamp(-60px, -3vw, 0px); }
.musico--dir { right: clamp(-60px, -3vw, 0px); }
.musico--virado { scale: -1 1; }
.tem-musico-caixa .musico { top: 6px; right: 6px; width: clamp(80px, 8vw, 120px); }
.tem-musico-caixa .titulo, .tem-musico-caixa .sobre, .tem-musico-caixa .resposta-rapida { padding-right: clamp(80px, 9vw, 130px); }
@keyframes balanco { 0%, 100% { rotate: -3deg; } 50% { rotate: 3deg; } }

/* vídeo: amplia e sobe o filme para cortar a faixa de baixo, onde fica a legenda gravada */
.video-heroi__midia iframe { width: calc(max(100vw, calc(var(--tela) * 1.7778)) * 1.32); height: calc(max(56.25vw, var(--tela)) * 1.32); transform: translate(-50%, -58%); }

/* tabela (bloco novo das internas) */
.tabela-rolagem { overflow-x: auto; margin: 6px 0 4px; border-radius: 14px; box-shadow: 0 0 0 1px rgba(43, 27, 16, .1); }
.tabela { width: 100%; border-collapse: collapse; min-width: 520px; font-size: .97rem; }
.tabela caption { text-align: left; padding: 0 0 8px; font-weight: 800; color: var(--tinta2); }
.tabela th, .tabela td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(43, 27, 16, .08); }
.tabela thead th { background: var(--mata); color: #fff; font: 800 .9rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .04em; }
.tabela tbody th { font: 900 1rem/1.25 var(--serif); color: var(--mata); background: var(--creme); }
.tabela tbody tr:last-child th, .tabela tbody tr:last-child td { border-bottom: 0; }
.tabela__nota { margin-top: 8px; font-size: .9rem; color: var(--tinta2); }

@media (max-width: 767px) {
  .painel { width: 100%; padding-top: 72px; }
  .video-heroi__midia { overflow: hidden; }
  .video-heroi__midia iframe { left: -20%; top: -6%; width: 140%; height: 140%; transform: none; }
  .musico { top: -34px; width: 74px; }
  .musico--esq { left: -4px; } .musico--dir { right: -4px; }
  .tem-musico .titulo { padding: 0 58px; }
  .tem-musico-caixa .musico { width: 64px; top: 0; right: 0; }
  .tem-musico-caixa .titulo, .tem-musico-caixa .sobre { padding-right: 62px; }
  .tem-musico-caixa .resposta-rapida { padding-right: 0; }
  .tabela { min-width: 0; font-size: .92rem; }
  .tabela, .tabela thead, .tabela tbody, .tabela tr, .tabela th, .tabela td { display: block; }
  .tabela thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tabela tr { border-bottom: 2px solid rgba(43, 27, 16, .1); }
  .tabela td { border: 0; padding: 4px 14px 10px; }
}
@media (prefers-reduced-motion: reduce) { .musico { animation: none; } }
/* recorte calculado: a faixa de baixo do filme (a partir de cerca de 80 por cento da altura, onde fica a legenda gravada) fica sempre fora da tela */
@media (min-width: 768px) { .video-heroi__midia iframe { transform: translate(-50%, -40%); } }

/* ---------- onde ficar: chalés em destaque + camping, glamping, motorhome ---------- */
.chales { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 0; margin: 10px 0 22px; background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 22px 46px rgba(60, 35, 0, .18); }
.chales__foto { position: relative; min-height: 340px; }
.chales__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.chales__selo { position: absolute; left: 18px; top: 18px; display: grid; justify-items: center; padding: 10px 16px 12px; border-radius: 18px; background: var(--vermelho); color: #fff; font: 800 .95rem/1 var(--sans); box-shadow: 0 8px 20px rgba(0, 0, 0, .3); }
.chales__selo strong { font: 900 2.4rem/1 var(--serif); }
.chales__texto { padding: clamp(22px, 3vw, 40px); }
.chales__t { font: 900 clamp(1.7rem, 3vw, 2.5rem)/1.05 var(--serif); margin-bottom: 12px; }
.chales__t a { color: var(--mata); text-decoration: none; }
.chales__lista { display: grid; gap: 6px; margin: 4px 0 20px; }
.chales__lista li { display: flex; gap: 8px; align-items: flex-start; font-weight: 700; }
.chales__lista .ic { color: var(--folha); margin-top: 3px; }
.chales__botoes { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.estadia { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.estadia__item a { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 20px; overflow: hidden; text-decoration: none; color: var(--tinta); box-shadow: 0 10px 26px rgba(43, 27, 16, .1); transition: transform .2s; }
.estadia__item a:hover { transform: translateY(-3px); }
.estadia__foto { position: relative; display: block; }
.estadia__foto img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.estadia__tag { position: absolute; left: 12px; top: 12px; padding: 5px 12px; border-radius: 999px; background: var(--ouro); color: var(--tinta); font: 800 .78rem/1.2 var(--sans); font-style: normal; text-transform: uppercase; letter-spacing: .04em; }
.estadia__item strong { padding: 14px 18px 4px; font: 900 1.4rem/1.1 var(--serif); color: var(--mata); }
.estadia__item a > span:last-child { padding: 0 18px 20px; font-size: .96rem; color: var(--tinta2); }
.estadia__extra { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 22px 0 0; text-align: center; font-weight: 700; color: var(--tinta2); }
.estadia__extra a { color: var(--vermelho); }
@media (max-width: 900px) {
  .chales { grid-template-columns: 1fr; }
  .chales__foto { min-height: 230px; }
  .estadia { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .chales__botoes { flex-direction: column; }
  .chales__botoes .pilula { width: 100%; }
}
.planeje { padding-block: clamp(40px, 6vw, 70px); }
.planeje__lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.planeje__lista a { display: flex; align-items: center; gap: 10px; height: 100%; padding: 14px 16px; border-radius: 16px; background: #fff; color: var(--mata); font: 800 1rem/1.25 var(--serif); text-decoration: none; box-shadow: 0 6px 16px rgba(43, 27, 16, .08); }
.planeje__lista a .ic { color: var(--vermelho); }
.planeje__lista a:hover { background: var(--mata); color: #fff; }
@media (max-width: 1024px) { .planeje__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .planeje__lista { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .tem-musico .sobre, .tem-musico .after__t { padding-left: 58px; padding-right: 58px; } .after__t { font-size: 2.9rem; } .tem-musico .linha { padding: 0 6px; } }
@media (max-width: 767px) { .musico { width: 60px; top: -46px; } .tem-musico .titulo, .tem-musico .sobre, .tem-musico .after__t { padding-left: 52px; padding-right: 52px; } .tem-musico .banda__miolo { padding-top: 10px; } }

/* cores dos botões (pedido de 10/10): compra em verde, ação secundária em azul */
.pilula--vermelha, .btn--vermelho, .botao--vermelho, .flutuante { background: linear-gradient(180deg, #34a043, #1d6b2a); color: #fff; box-shadow: 0 8px 22px rgba(20, 80, 30, .35); }
.pilula--verde { background: linear-gradient(180deg, #2f6fd0, #1a4c9c); color: #fff; box-shadow: 0 8px 22px rgba(20, 50, 120, .35); }

/* ajuste 10/10: cabeçalho volta ao canto direito; herói cabe inteiro na tela, vídeo sem zoom nem corte */
.topo__cta { margin-left: auto; }
@media (min-width: 768px) {
  .video-heroi { height: var(--tela); min-height: 560px; padding: 78px 16px 22px; align-content: center; }
  .video-heroi__midia iframe { width: max(100vw, calc(var(--tela) * 1.7778)); height: max(56.25vw, var(--tela)); transform: translate(-50%, -50%); }
  .video-heroi__logo { width: clamp(110px, 17vh, 220px); margin-bottom: 2px; }
  .video-heroi__h1 { font-size: clamp(2rem, min(4.6vw, 7.4vh), 4.2rem); margin-bottom: 4px; }
  .video-heroi .sobre { margin-bottom: .35em; }
  .video-heroi__data { font-size: clamp(1.3rem, min(2.6vw, 4vh), 2.2rem); margin-bottom: 2px; }
  .video-heroi__local { margin-bottom: 0; }
  .video-heroi .manuscrito { margin-top: 6px; font-size: clamp(1rem, 2.4vh, 1.4rem); }
  .video-heroi__botoes { margin-top: 12px; }
  .video-heroi__desce { bottom: 10px; }
  .poste--video { top: 92px; bottom: auto; }
  .poste--video .placa a { min-height: clamp(26px, 4.2vh, 40px); }
  .poste--video .poste__placas { gap: clamp(2px, .6vh, 7px); }
}
@media (min-width: 768px) and (max-height: 820px) { .poste--video .poste__base { display: none; } }

/* ajuste 10/10: logo um pouco maior e mais perto do topo; placa fincada no chão (embaixo), com a base Vale das Grutas */
@media (min-width: 768px) {
  .video-heroi { padding-top: 64px; }
  .video-heroi__logo { width: clamp(130px, 22vh, 270px); }
  .poste--video { top: auto; bottom: clamp(14px, 3vh, 34px); }
  .poste--video .poste__base { display: block; margin-top: 8px; }
  .poste--video .placa a { min-height: clamp(24px, 3.7vh, 38px); }
  .poste--video .poste__placas { gap: clamp(2px, .5vh, 6px); }
}

/* ajuste 12/10: placas mais altas e mais espaçadas (estavam achatadas) */
.placa a, .placa--esq a { min-height: clamp(40px, 5.6vh, 54px); font-size: clamp(.92rem, 1.9vh, 1.08rem); }
.poste__placas { gap: clamp(9px, 1.5vh, 16px); }
.placa__ic { width: 26px; height: 26px; }
.placa__ic .ic { width: 16px; height: 16px; }
@media (min-width: 768px) {
  .poste--video .placa a { min-height: clamp(38px, 5.4vh, 54px); }
  .poste--video .poste__placas { gap: clamp(8px, 1.4vh, 16px); }
}
@media (min-width: 768px) and (max-height: 760px) {
  .poste--video .poste__base { display: none; }
  .poste--video .placa a { min-height: 36px; }
  .poste--video .poste__placas { gap: 8px; }
}
@media (max-width: 767px) {
  .poste--video .placa a { min-height: 42px; padding: 0 20px; }
  .poste--video .poste__placas { gap: 10px; }
}

/* ajuste 15/10 (pedido do Giovani): botões de compra voltam a ser vermelhos; herói só converte venda */
.pilula--vermelha, .btn--vermelho, .botao--vermelho, .flutuante { background: linear-gradient(180deg, #e0392b, #a8180f); color: #fff; box-shadow: 0 8px 22px rgba(160, 24, 15, .4); border-color: transparent; }
.video-heroi__botoes { justify-content: center; margin-left: auto; margin-right: auto; }
/* logo 25% maior (era 190 a 330px; 110 a 220px no computador baixo; 150px no celular) */
.video-heroi__logo { width: clamp(238px, 26vw, 412px); }
@media (min-width: 768px) {
  .video-heroi__logo { width: clamp(165px, 27vh, 340px); }
}
@media (max-width: 767px) { .video-heroi__logo { width: 190px; } }
/* véu do vídeo bem mais leve: o filme aparece com as cores vivas */
.video-heroi__veu { background: linear-gradient(180deg, rgba(5, 10, 25, .22), transparent 28%, transparent 70%, rgba(5, 10, 25, .3)); }
@media (max-width: 767px) { .video-heroi__veu { background: linear-gradient(180deg, transparent 70%, var(--noite)); } }

/* 15/10: a legenda está gravada no filme (parte de baixo); o vídeo é ampliado e ancorado no topo para o corte esconder a legenda */
@media (min-width: 768px) {
  .video-heroi__midia iframe { width: calc(max(100vw, calc(var(--tela) * 1.7778)) * 1.32); height: calc(max(56.25vw, var(--tela)) * 1.32); transform: translate(-50%, -43%); }
}
@media (max-width: 767px) {
  .video-heroi__midia iframe { left: -16%; top: -4%; width: 132%; height: 132%; transform: none; }
}

/* âncoras das seções absorvidas: não ficam escondidas atrás do cabeçalho */
.banda[id] { scroll-margin-top: 72px; }

/* ===== Revisão de 27/10/2026 (reunião com o Edgard) ===== */
/* músicos apoiados na lua, na nuvem ou no gramado, sem flutuar */
.musico-fig { position: absolute; top: -26px; z-index: 3; width: clamp(96px, 10vw, 150px); pointer-events: none; isolation: isolate; }
.musico-fig--esq { left: clamp(-60px, -3vw, 0px); }
.musico-fig--dir { right: clamp(-60px, -3vw, 0px); }
.musico-fig .musico { position: static; display: block; width: 100%; height: auto; }
.musico-fig .chao { position: absolute; z-index: -1; top: 93%; left: 50%; width: 170%; aspect-ratio: 5 / 2; transform: translateX(-50%); background-position: center top; background-size: contain; background-repeat: no-repeat; filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .25)); }
.chao--nuvem { background-image: url(/img/chao/nuvem.svg); }
.chao--lua { background-image: url(/img/chao/lua.svg); }
.chao--gramado { background-image: url(/img/chao/gramado.svg); }
.tem-musico-caixa .musico-fig { top: 6px; right: 6px; left: auto; width: clamp(80px, 8vw, 120px); }
@media (max-width: 767px) {
  .musico-fig { top: -46px; width: 60px; }
  .musico-fig--esq { left: -4px; } .musico-fig--dir { right: -4px; }
  .tem-musico-caixa .musico-fig { width: 64px; top: 0; right: 0; }
}
/* faixa de frase sobre as fotos */
.frase-fotos { position: relative; }
.frase-fotos__texto { position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4em; padding: 0 5vw; text-align: center; color: #fff; background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.4)); text-shadow: 0 2px 14px rgba(0,0,0,.7); pointer-events: none; }
.frase-fotos__texto strong { font: 700 clamp(1.7rem, 4.6vw, 3.6rem)/1.15 'Fraunces', Georgia, serif; }
.frase-fotos__texto span { font: 600 clamp(1.15rem, 2.6vw, 2rem)/1.3 'Nunito', system-ui, sans-serif; }
/* título grande de fora a fora */
.titulo--faixa { font-size: clamp(2.2rem, 5.6vw, 4.4rem); line-height: 1.1; }
/* letras maiores (pedido do Edgard: leitura difícil) */
.faq p, .faq summary, .sanfona__corpo p, .sanfona__corpo li, .sanfona__t, .experiencia__texto, .estadia__item span, .chales__texto p, .chales__lista li { font-size: 1.15rem; line-height: 1.55; }
.sanfona__t, .faq summary { font-size: 1.3rem; }
.hotelcidade { max-width: 900px; margin: 1.2rem auto 0; padding: 1.2rem 1.4rem; background: #fff8e6; border: 2px solid #e2c27a; border-radius: 14px; font-size: 1.15rem; line-height: 1.6; }
.hotelcidade ul { margin: .6rem 0 0 1.2rem; padding: 0; }
.hotelcidade li { margin: .25rem 0; }
/* rodapé: contraste (texto claro sobre fundo claro) */
.rodape, .rodape a, .rodape p, .rodape address { font-size: 1.05rem; }
.rodape a, .rodape__t, .rodape address, .rodape__credito, .rodape__tag { text-shadow: 0 1px 0 #000, 0 0 3px #000, 0 0 6px rgba(0,0,0,.8); }

/* ===== Botão do grupo VIP (06/11/2026): sem link por enquanto, só a estética ===== */
.vip { display: inline-flex; flex-direction: column; align-items: center; gap: .7rem; max-width: 100%; }
.vip__frase { display: inline-block; padding: .5rem 1.1rem; border-radius: 999px; background: rgba(20, 52, 34, .9); border: 2px solid #f2c14e; color: #fff6dc; font: 700 clamp(1rem, 2.2vw, 1.25rem)/1.25 'Nunito', system-ui, sans-serif; text-align: center; box-shadow: 0 6px 18px rgba(0, 0, 0, .28); }
.vip__frase strong { color: #ffd34f; font-family: 'Kaushan Script', 'Fraunces', cursive; font-weight: 400; font-size: 1.12em; letter-spacing: .01em; }
.vip__botao { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: .65rem; padding: .95rem 2rem; border: 0; border-radius: 999px; cursor: pointer; text-decoration: none; color: #fff; background: linear-gradient(135deg, #34e27a 0%, #1fb558 45%, #0e8f48 100%); font: 800 1.2rem/1 'Nunito', system-ui, sans-serif; letter-spacing: .01em; box-shadow: 0 10px 24px rgba(14, 143, 72, .5), inset 0 2px 0 rgba(255, 255, 255, .45), inset 0 -3px 0 rgba(0, 0, 0, .15); text-shadow: 0 1px 2px rgba(0, 0, 0, .3); transition: transform .2s, box-shadow .2s; animation: vip-pulso 2.6s ease-in-out infinite; }
.vip__botao::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-20deg); animation: vip-brilho 3.6s ease-in-out infinite; }
.vip__botao:hover, .vip__botao:focus-visible { transform: translateY(-3px) scale(1.03); box-shadow: 0 16px 32px rgba(14, 143, 72, .6), inset 0 2px 0 rgba(255, 255, 255, .5), inset 0 -3px 0 rgba(0, 0, 0, .15); }
.vip__botao:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.vip__ic { flex: none; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .3)); }
.vip--grande .vip__botao { padding: 1.15rem 2.6rem; font-size: 1.45rem; }
.vip--topo .vip__botao { padding: .55rem 1.1rem; font-size: .95rem; animation: none; }
.vip--topo .vip__ic { width: 20px; height: 20px; }
.vip--flutuante { position: fixed; right: 16px; bottom: 16px; z-index: 60; }
.vip--flutuante .vip__botao { padding: .8rem 1.4rem; font-size: 1.05rem; }
.vip--bloco { margin-top: 1rem; }
@keyframes vip-pulso { 0%, 100% { box-shadow: 0 10px 24px rgba(14, 143, 72, .5), 0 0 0 0 rgba(52, 226, 122, .55), inset 0 2px 0 rgba(255, 255, 255, .45), inset 0 -3px 0 rgba(0, 0, 0, .15); } 50% { box-shadow: 0 10px 24px rgba(14, 143, 72, .5), 0 0 0 14px rgba(52, 226, 122, 0), inset 0 2px 0 rgba(255, 255, 255, .45), inset 0 -3px 0 rgba(0, 0, 0, .15); } }
@keyframes vip-brilho { 0%, 55% { left: -60%; } 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) { .vip__botao, .vip__botao::after { animation: none; } }
@media (max-width: 767px) { .vip--topo .vip__txt { font-size: .85rem; } .vip--flutuante { right: 10px; bottom: 10px; } }
.vip--flutuante { opacity: 0; transform: translateY(20px); pointer-events: none; transition: .3s; }
.rolou .vip--flutuante { opacity: 1; transform: none; pointer-events: auto; }
.menu-aberto .vip--flutuante { display: none; }
.vip--topo { margin-left: auto; }
@media (max-width: 767px) { .rolou .vip--topo { display: none; } }

/* ---- Revisão do Edgard, 06/11/2026 ---- */
/* botão e frase do grupo VIP: maiores e mais legíveis (frase em amarelo, na fonte gorda dos títulos) */
.vip__frase { padding: .7rem 1.4rem; background: rgba(16, 44, 28, .95); border-color: #ffd21f; color: #ffd21f; font: 900 clamp(1.2rem, 2.8vw, 1.65rem)/1.2 'Fraunces', Georgia, serif; text-shadow: 0 2px 3px rgba(0, 0, 0, .45); }
.vip__frase strong { color: #ffe86b; font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 1em; }
.vip__botao { font-size: 1.4rem; padding: 1.05rem 2.3rem; }
.vip--grande .vip__botao { font-size: 1.7rem; padding: 1.25rem 2.9rem; }
.vip--topo .vip__botao { font-size: 1.05rem; padding: .6rem 1.25rem; }
.vip--flutuante .vip__botao { font-size: 1.15rem; }
/* textos pequenos: mais fáceis de ler (computador e celular) */
.sobre, .experiencia__texto, .palco__texto, .estadia__item > a > span:not(.estadia__foto), .chales__lista li, .hotelcidade li, .checklist li, .passos p { font-size: 1.125rem; line-height: 1.55; }
@media (max-width: 767px) {
  body { font-size: 1.1875rem; }
  .sobre, .experiencia__texto, .palco__texto, .estadia__item > a > span:not(.estadia__foto), .chales__lista li, .hotelcidade li, .checklist li, .passos p, .faq__r, .sanfona__c { font-size: 1.1875rem; }
  .vip__frase { font-size: 1.2rem; }
  .vip--topo .vip__botao { font-size: .95rem; }
}
/* tabelas de comparação centralizadas */
.tabela th, .tabela td { text-align: center; vertical-align: middle; }
/* bonecos (músicos) fora das letras: menores e acima do texto (Edgard, 06/11) */
@media (min-width: 768px) {
  .musico-fig { width: clamp(78px, 7.5vw, 108px); top: -84px; }
  .musico-fig--esq { left: clamp(-30px, -1vw, 10px); }
  .musico-fig--dir { right: clamp(-30px, -1vw, 10px); }
}
.tem-musico-caixa h2, .tem-musico-caixa .resposta-rapida { padding-right: clamp(84px, 9vw, 130px); }
@media (max-width: 767px) { .tem-musico-caixa h2, .tem-musico-caixa .resposta-rapida { padding-right: 0; } .tem-musico-caixa .musico-fig { position: static; display: block; margin: 0 0 8px auto; } }


/* ===== Revisão 2 do Edgard, 06/11/2026 (tarde) ===== */
/* frase do grupo VIP em vermelho */
.vip__frase { background: #c8201a; border-color: #ffd21f; color: #fff; text-shadow: 0 2px 3px rgba(0, 0, 0, .35); box-shadow: 0 6px 18px rgba(120, 10, 5, .45); }
.vip__frase strong { color: #ffe86b; }
/* sem popups: o botão VIP flutuante saiu do site */
.vip--flutuante, .flutuante { display: none !important; }
/* frase "As diferenças existem..." no espaço amarelo, acima do cartão branco */
.frase-ouro { max-width: 980px; margin: 0 auto clamp(18px, 3vw, 32px); text-align: center; color: #2b1b10; display: flex; flex-direction: column; gap: .35em; }
.frase-ouro strong { font: 900 clamp(1.7rem, 4.4vw, 3rem)/1.15 'Fraunces', Georgia, serif; color: #7a1d12; }
.frase-ouro span { font: 700 clamp(1.15rem, 2.4vw, 1.6rem)/1.35 'Nunito', system-ui, sans-serif; }
/* mapas do Google embutidos */
.mapa-rota { margin: clamp(18px, 3vw, 30px) auto; max-width: 980px; padding: clamp(12px, 2vw, 20px); background: #fff; border-radius: 20px; box-shadow: 0 0 0 1px rgba(43, 27, 16, .1), 0 10px 26px rgba(43, 27, 16, .12); }
.mapa-rota__cab { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 10px; color: #143422; }
.mapa-rota__cab strong { display: block; font: 900 clamp(1.15rem, 2.2vw, 1.45rem)/1.2 'Fraunces', Georgia, serif; }
.mapa-rota__txt { display: block; margin-top: 4px; font-size: 1.05rem; line-height: 1.45; color: #4a382a; }
.mapa-rota__ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #c8201a; color: #fff; }
.mapa-rota__trajeto { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 10px; font-size: 1rem; color: #4a382a; }
.mapa-rota__quadro { position: relative; aspect-ratio: 16 / 9; min-height: 280px; overflow: hidden; border-radius: 14px; background: #e8e2d4; }
.mapa-rota__quadro iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mapa-rota__acao { margin: 12px 0 0; text-align: center; }
.mapas-lado { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 1180px; margin: 0 auto; }
.mapas-lado .mapa-rota { margin: 0; max-width: none; }
.mapas-lado .mapa-rota__quadro { aspect-ratio: 4 / 3; }
@media (max-width: 800px) { .mapas-lado { grid-template-columns: 1fr; } .mapa-rota__quadro, .mapas-lado .mapa-rota__quadro { aspect-ratio: 4 / 5; min-height: 320px; } }
/* placas do menu: título só aparece no celular */
.poste__titulo { display: none; }
@media (max-width: 767px) {
  /* cabeçalho: botão VIP compacto e menu sempre visível */
  .topo { gap: 8px; padding: 8px 10px; }
  .vip--topo { margin-left: auto; min-width: 0; }
  .vip--topo .vip__botao { padding: .5rem .8rem; font-size: .88rem; gap: .4rem; white-space: nowrap; }
  .vip--topo .vip__ic { width: 18px; height: 18px; }
  .topo__menu { flex: none; }
  .rolou .vip--topo { display: inline-flex; }
  /* placas do menu em grade organizada, abaixo dos botões do herói */
  .poste--video { display: block; position: relative; inset: auto; width: auto; max-width: 560px; margin: 28px auto 0; padding: 0 18px; transform: none; z-index: 3; text-align: center; }
  .poste--video::before { display: none; }
  .poste--video .poste__titulo { display: block; margin: 0 0 12px; font: 900 1.25rem/1.2 'Fraunces', Georgia, serif; color: #ffd21f; }
  .poste--video .poste__placas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; overflow: visible; padding: 0; }
  .poste--video .placa, .poste--video .placa--dir, .poste--video .placa--esq { margin: 0; transform: none; filter: none; }
  .poste--video .placa a, .poste--video .placa--esq a { min-height: 58px; padding: 8px 12px; justify-content: flex-start; gap: 10px; clip-path: none; border-radius: 16px; font-size: 1.08rem; text-shadow: none; color: #1d1610; box-shadow: 0 4px 0 rgba(40, 22, 8, .35), 0 8px 14px rgba(0, 0, 0, .3); }
  .poste--video .placa__ic { flex: none; width: 34px; height: 34px; }
  .poste--video .placa__txt { white-space: normal; text-align: left; line-height: 1.1; }
  .poste--video .poste__base { display: none; }
}
@media (max-width: 767px) {
  .video-heroi { display: flex; flex-direction: column; }
  .video-heroi__midia { order: 1; }
  .video-heroi__centro { order: 2; }
  .poste--video { order: 3; }
  .video-heroi__desce { order: 4; }
}
@media (max-width: 767px) { .video-heroi .vip__botao { font-size: 1.25rem; padding: .95rem 1.2rem; white-space: nowrap; } .vip__frase { font-size: 1.15rem; } }
.mapa-rota__txt--so { margin-top: 0; font-weight: 700; color: #143422; align-self: center; }
.mapa-rota__cab:has(.mapa-rota__txt--so) { align-items: center; }
/* tablet (768 a 1100): placas em grade abaixo do texto, sem cobrir o título */
@media (min-width: 768px) and (max-width: 1100px) {
  .video-heroi { display: flex; flex-direction: column; align-items: center; justify-content: center; padding-bottom: 48px; }
  .video-heroi__centro { order: 1; }
  .poste--video { order: 2; display: block; position: relative; inset: auto; right: auto; bottom: auto; top: auto; left: auto; width: min(760px, 92%); max-width: none; margin: 26px auto 0; transform: none; text-align: center; z-index: 3; }
  .poste--video::before { display: none; }
  .poste--video .poste__titulo { display: block; margin: 0 0 12px; font: 900 1.3rem/1.2 'Fraunces', Georgia, serif; color: #ffd21f; text-shadow: 0 2px 6px rgba(0, 0, 0, .6); }
  .poste--video .poste__placas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; overflow: visible; padding: 0; flex-direction: row; }
  .poste--video .placa, .poste--video .placa--dir, .poste--video .placa--esq { margin: 0; transform: none; filter: none; }
  .poste--video .placa a, .poste--video .placa--esq a { min-height: 56px; padding: 8px 12px; justify-content: flex-start; gap: 10px; clip-path: none; border-radius: 16px; font-size: 1.05rem; text-shadow: none; color: #1d1610; box-shadow: 0 4px 0 rgba(40, 22, 8, .35), 0 8px 14px rgba(0, 0, 0, .3); }
  .poste--video .placa__ic { flex: none; width: 32px; height: 32px; }
  .poste--video .placa__txt { white-space: normal; text-align: left; line-height: 1.1; }
  .poste--video .poste__base { display: none; }
}

/* ===== Revisão 3, 07/11/2026: respiro padrão, bonecos pisando na lua, cartões da cidade, mapas ===== */
:root { --r-sec: clamp(48px, 6vw, 80px); --r-bloco: clamp(22px, 3vw, 36px); --mw: clamp(68px, 6.5vw, 94px); }
@media (max-width: 767px) { :root { --mw: 52px; } }
.banda { padding-block: var(--r-sec); }
.tem-musico .banda__miolo { padding-top: 0 !important; }
.banda__miolo > :last-child { margin-bottom: 0; }
.banda__miolo > p.centro:has(> .pilula), .banda__miolo > .oferece__links, .banda__miolo > p:has(> .pilula), .mapas-lado + .centro, .carrossel + p.centro, .carrossel + .oferece__links { margin-top: var(--r-bloco); margin-bottom: 0; }
.manuscrito--tinta.centro { margin-top: var(--r-bloco); }
.frase-ouro { margin-bottom: var(--r-bloco); }
.linha { margin-bottom: var(--r-bloco); }

/* bonecos do logo: 13% menores, sempre de pé na lua, encostados nela */
.musico-fig { width: var(--mw); --pe: max(70px, calc(var(--mw) * 1.98 - var(--r-sec) + 6px)); top: var(--pe); transform: translateY(-100%); }
.musico-fig .chao { background-image: url(/img/chao/lua-base.svg) !important; top: calc(100% - var(--mw) * .07); width: calc(var(--mw) * 1.3); height: calc(var(--mw) * .31); aspect-ratio: auto; background-size: 100% 100%; background-position: center; filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .28)); }
.musico-fig--dir { right: clamp(0px, 1vw, 16px); } .musico-fig--esq { left: clamp(0px, 1vw, 16px); }
@media (min-width: 768px) {
  .tem-musico .banda__miolo > .titulo, .tem-musico .banda__miolo > .sobre, .tem-musico .banda__miolo > .after__t, .tem-musico .banda__miolo > .linha, .tem-musico .banda__miolo > .manuscrito { padding-inline: calc(var(--mw) * 1.15 + 34px); }
  .tem-musico-caixa .musico-fig { top: 150px; right: clamp(18px, 3.5vw, 52px); left: auto; width: var(--mw); }
  .tem-musico-caixa h2, .tem-musico-caixa .resposta-rapida { padding-right: calc(var(--mw) * 1.15 + clamp(18px, 3.5vw, 52px) + 18px); }
}
@media (max-width: 767px) {
  .musico-fig, .tem-musico-caixa .musico-fig { position: relative; top: auto; transform: none; display: block; width: var(--mw); margin: 0 auto calc(var(--mw) * .3 + 6px); left: auto; right: auto; }
  .musico-fig--dir, .musico-fig--esq { left: auto; right: auto; }
  .tem-musico .titulo, .tem-musico .sobre, .tem-musico .after__t, .tem-musico .linha { padding-left: 0; padding-right: 0; }
  .tem-musico-caixa h2, .tem-musico-caixa .resposta-rapida { padding-right: 0; }
  .tem-musico-caixa .musico-fig { margin: 0 auto calc(var(--mw) * .3 + 6px); }
}

/* cartões "Prefere a cidade?" */
.cidade { max-width: 1060px; margin: clamp(26px, 3.5vw, 44px) auto 0; text-align: center; }
.cidade__t { display: inline-flex; align-items: center; gap: 10px; margin: 0; font: 900 clamp(1.6rem, 3vw, 2.2rem)/1.15 'Fraunces', Georgia, serif; color: var(--mata); }
.cidade__sub { margin: 6px 0 var(--r-bloco); font: 700 1.15rem/1.4 'Nunito', system-ui, sans-serif; color: var(--tinta2); }
.cidade__cards { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin: 0; padding: 0; list-style: none; }
.cidade__card { flex: 0 1 calc((100% - 36px) / 3); display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 22px 18px 20px; background: #fff; border-radius: 20px; box-shadow: 0 0 0 1px rgba(43, 27, 16, .1), 0 10px 24px rgba(43, 27, 16, .1); border-top: 6px solid var(--c); text-align: center; }
.cidade__card--1 { --c: #d4492a; } .cidade__card--2 { --c: #eec22c; } .cidade__card--3 { --c: #6db8e4; } .cidade__card--4 { --c: #8cc14e; } .cidade__card--5 { --c: #8b98dd; }
.cidade__ic { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: color-mix(in srgb, var(--c) 28%, #fff); color: #143422; }
.cidade__card strong { font: 900 1.25rem/1.2 'Fraunces', Georgia, serif; color: #143422; }
.cidade__card > span:not(.cidade__ic) { font-size: 1.05rem; line-height: 1.45; color: #4a382a; }
.cidade__card a { margin-top: auto; padding-top: 6px; font-weight: 800; color: var(--vermelho); }
.cidade__rodape { margin: var(--r-bloco) 0 0; }
@media (max-width: 860px) { .cidade__card { flex-basis: calc((100% - 18px) / 2); } }
@media (max-width: 560px) { .cidade__card { flex-basis: 100%; } }

/* mapas lado a lado: botões alinhados na mesma altura */
.mapas-lado { align-items: stretch; }
.mapas-lado .mapa-rota { display: flex; flex-direction: column; }
.mapas-lado .mapa-rota__quadro { flex: 1 1 auto; aspect-ratio: auto; min-height: 300px; }
.mapas-lado .mapa-rota__acao { margin-top: auto; padding-top: 16px; }
@media (max-width: 800px) { .mapas-lado .mapa-rota__quadro { min-height: 320px; } }
@media (min-width: 768px) {
  .tem-musico-caixa .musico-fig { top: 205px; }
  .tem-musico .banda__miolo > .titulo + .carrossel, .tem-musico .banda__miolo > .titulo + .caixa, .tem-musico .banda__miolo > .titulo + .faq { margin-top: calc(var(--mw) * .45); }
}
#experiencias { padding-bottom: calc(var(--r-sec) - 18px); }
@media (min-width: 768px) and (max-width: 1100px) { .tem-musico-caixa .musico-fig { top: 168px; } }
/* menu aberto: painel limpo, sem botão VIP nem faixa escura por cima dos itens */
.menu-aberto .vip--topo { display: none !important; }
.menu-aberto .topo { background: transparent !important; box-shadow: none !important; }
.menu-aberto .topo__logo { opacity: 0 !important; pointer-events: none !important; }
.painel { padding-top: 96px !important; }
.topo__menu { margin-left: auto; } .vip--topo + .topo__menu { margin-left: 0; } .menu-aberto .topo__menu { margin-left: auto; }
html, body { overflow-x: clip; }
.cidade__foto { display: block; margin: -22px -18px 4px; width: calc(100% + 36px); aspect-ratio: 16 / 10; overflow: hidden; border-radius: 14px 14px 0 0; }
.cidade__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cidade__card--1 .cidade__ic { margin-top: -34px; box-shadow: 0 0 0 4px #fff; position: relative; }
.cidade__card .cidade__ic { margin-top: -34px; box-shadow: 0 0 0 4px #fff; position: relative; }

/* aviso: atrações em confirmação */
.aviso-confirmacao { max-width: 760px; margin: 0 auto; padding: clamp(28px, 4vw, 44px) clamp(20px, 3vw, 40px); text-align: center; background: #fff8e6; border: 2px dashed #e2c27a; border-radius: 22px; color: #4a382a; }
.aviso-confirmacao .ic { color: #c8201a; }
.aviso-confirmacao__t { margin: 10px 0 8px; font: 900 clamp(1.6rem, 3vw, 2.4rem)/1.15 'Fraunces', Georgia, serif; color: #143422; }
.aviso-confirmacao p:last-child { margin: 0; font: 700 clamp(1.15rem, 1.8vw, 1.35rem)/1.45 'Nunito', system-ui, sans-serif; }
.aviso-confirmacao--escuro { background: rgba(255, 248, 230, .96); }


/* ===== Revisão 4, 07/11/2026: listas centralizadas, fotos que giram, ícones nos títulos ===== */
.lista-centrada { --g: clamp(10px, 1.4vw, 16px); --c: var(--cols); display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: var(--g); margin-left: 0; margin-right: 0; padding-left: 0; list-style: none; }
.lista-centrada > * { flex: 0 0 calc((100% - (var(--c) - 1) * var(--g)) / var(--c)); min-width: 0; }
@media (max-width: 1024px) { .lista-centrada { --c: min(var(--cols), 2); } }
@media (max-width: 640px) { .lista-centrada { --c: 1; } .galeria.lista-centrada { --c: 2; } }
.galeria.lista-centrada > li { display: block; }
.fatos.lista-centrada > div { overflow-wrap: anywhere; }
.fatos dt { display: flex; align-items: center; gap: 6px; }
.fatos dt .ic { flex: none; color: var(--vermelho); }
.fatos dd a, .prosa a, .faq p a { color: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.fatos dd a:hover, .prosa a:hover { color: var(--vermelho); }
.cartoes.lista-centrada .cartao { display: block; }
.cartoes.lista-centrada .cartao > a { height: 100%; }
.checklist.lista-centrada li { align-items: center; }
.checklist.lista-centrada .ic { margin-top: 0; flex: none; }
/* selo com ícone acima dos títulos de seção */
.titulo__selo { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 10px; border-radius: 50%; background: #fff; color: var(--vermelho); box-shadow: 0 0 0 2px rgba(200, 32, 26, .18), 0 6px 14px rgba(43, 27, 16, .14); }
.br-desk { display: none; }
@media (min-width: 900px) { .br-desk { display: inline; } }
/* fotos que giram */
.giro { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; background: #e8e2d4; }
.giro__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .9s ease; border-radius: 0; }
.giro__img.ativo { opacity: 1; }
/* história: texto maior */
#historia .prosa p { font-size: clamp(1.2rem, 1.5vw, 1.4rem); line-height: 1.65; }
/* seção só de texto com foto ao lado */
.dividido .aviso-confirmacao { margin: 0; max-width: none; }
.dividido .prosa { max-width: none; }
/* mapas nas páginas: menores */
.bloco--mapa .mapa-rota { max-width: 780px; }
.bloco--mapa .mapa-rota__quadro { aspect-ratio: 2.2 / 1; min-height: 240px; }
@media (max-width: 640px) { .bloco--mapa .mapa-rota__quadro { aspect-ratio: 4 / 3; } }

/* rodapé: sem folga sobrando abaixo do crédito */
.rodape__credito { margin-bottom: 0; padding-bottom: 0; }

/* fita diagonal "Desde 1987 | 40 anos de história" no canto superior esquerdo (pedido do Giovani, 08/11/2026) */
.fita { position: absolute; top: 0; left: 0; z-index: 45; width: 210px; height: 210px; overflow: hidden; pointer-events: none; text-decoration: none; }
.fita__faixa { position: absolute; left: -104px; top: 40px; width: 380px; height: 62px; transform: rotate(-45deg); transform-origin: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding-top: 2px;
  background: linear-gradient(180deg, #e0301f 0%, #b3180f 55%, #8f0f0a 100%); border-block: 3px solid var(--ouro); box-shadow: 0 6px 16px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .35); pointer-events: auto; transition: filter .2s; }
.fita:hover .fita__faixa, .fita:focus-visible .fita__faixa { filter: brightness(1.12); }
.fita__a { font: 900 1.28rem/1 var(--serif); color: var(--ouro); letter-spacing: .02em; text-shadow: 0 2px 0 #4a0a05, 0 0 8px rgba(0, 0, 0, .5); }
.fita__b { font: 900 .86rem/1 var(--serif); color: #fff; letter-spacing: .03em; text-shadow: 0 1px 0 #4a0a05; text-transform: none; }
.fita__b i { font-style: normal; }
.menu-aberto .fita { opacity: 0; visibility: hidden; }
/* o logo do cabeçalho sai do canto para a fita caber (computador e tablet largo) */
@media (min-width: 901px) { .topo__logo { margin-left: 112px; } }
/* tablet e celular: fita menor, logo abaixo da barra do topo, sem cobrir logo, botão VIP nem menu */
@media (max-width: 900px) {
  .fita { top: 64px; width: 148px; height: 148px; }
  .fita__faixa { left: -76px; top: 25px; width: 290px; height: 48px; border-block-width: 2px; gap: 1px; padding-top: 1px; }
  .fita__a { font-size: .95rem; }
  .fita__b { font-size: .86rem; }
  .fita__c { display: none; }
}
@media (max-width: 900px) and (min-width: 700px) {
  .fita { width: 150px; height: 150px; }
  .fita__faixa { left: -76px; top: 26px; width: 290px; height: 44px; }
  .fita__a { font-size: .95rem; }
  .fita__b { font-size: .7rem; }
  .fita__c { display: inline; }
}

/* ---------- 08/11/2026: fita 40 anos entalhada na madeira, rodape centralizado no celular, aviso das atracoes ---------- */
.fita__faixa {
  background:
    repeating-linear-gradient(180deg, rgba(70, 35, 8, .16) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(180deg, rgba(255, 226, 170, .16) 0 2px, transparent 2px 11px),
    linear-gradient(180deg, #e7b772 0%, #d29c55 38%, #bd8444 70%, #a56f35 100%);
  border-block: 4px solid #5a3410;
  box-shadow: 0 7px 16px rgba(0, 0, 0, .5), inset 0 2px 0 rgba(255, 233, 190, .55), inset 0 -3px 5px rgba(60, 30, 5, .45);
}
.fita__a, .fita__b {
  color: #3a1a05;
  text-shadow: 0 1.5px 0 rgba(255, 236, 200, .8), 0 -1px 1px rgba(0, 0, 0, .55);
  letter-spacing: .035em;
}
.fita__a { font-size: 1.42rem; }
.fita__b { font-size: .98rem; }
@media (max-width: 900px) {
  .fita__a { font-size: 1.05rem; }
  .fita__b { font-size: .9rem; }
}
@media (max-width: 900px) and (min-width: 700px) { .fita__b { font-size: .78rem; } }
@media (max-width: 699px) { .fita__b { font-size: .8rem; } }

.aviso-confirmacao > p + p, .aviso-confirmacao .aviso-confirmacao__aguarde { margin-top: 10px; }
.aviso-confirmacao__aguarde { font: 900 clamp(1.5rem, 2.6vw, 2rem)/1.1 'Fraunces', Georgia, serif !important; color: #c8201a; }

@media (max-width: 700px) {
  .rodape { text-align: center; }
  .rodape__miolo { justify-items: center; }
  .rodape__logo { display: flex; justify-content: center; }
  .rodape__col { width: 100%; }
  .rodape ul { padding: 0; list-style: none; }
  .rodape .redes { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
  .rodape address { margin-inline: auto; }
}

.aviso-confirmacao p:not(.aviso-confirmacao__aguarde) { margin: 0; font: 700 clamp(1.15rem, 1.8vw, 1.35rem)/1.45 'Nunito', system-ui, sans-serif; }

/* cartões com mapa pequeno e com emblema (pedido do Edgard, 08/11/2026) */
.cartao__foto--mapa iframe { display: block; width: 100%; aspect-ratio: 16 / 11; border: 0; pointer-events: none; }
.cartao__foto--emblema { display: grid; place-items: center; aspect-ratio: 16 / 11; background: radial-gradient(circle at 30% 25%, #f9dc55, #e98736 70%); }
.cartao__emblema { font: 900 clamp(4rem, 9vw, 6.5rem)/1 var(--serif); color: #7a1d12; text-shadow: 0 3px 0 rgba(255, 255, 255, .55); }
/* hashtag do rodapé maior e legível */
.rodape__tag { font-size: 1.7rem; line-height: 1.15; letter-spacing: .01em; }

/* sem véu azul sobre o vídeo da home (pedido do Giovani, 08/11/2026) */
.video-heroi__veu { display: none !important; }

/* capa da home no celular: sem a tarja de madeira; "40 anos!" em vermelho ao lado da lua (pedido do Edgard, 08/11/2026) */
.video-heroi__selo { position: relative; display: inline-block; }
.video-heroi__quarenta { display: none; }
@media (max-width: 900px) {
  body:not(.interna) .fita { display: none; }
  .video-heroi__quarenta { display: block; position: absolute; left: calc(100% - 8px); top: 4px; transform: rotate(8deg); font: 900 clamp(1.9rem, 9vw, 2.6rem)/1 var(--serif); color: #e0301f; letter-spacing: .01em; white-space: nowrap; text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff, 0 -2px 0 #fff, 0 5px 12px rgba(0, 0, 0, .45); }
}
/* tabelas no celular: a legenda não vira coluna estreita (pedido do Edgard, 08/11/2026) */
@media (max-width: 900px) {
  .tabela caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0; }
  .video-heroi__quarenta { left: calc(100% - 34px); top: 54%; font-size: clamp(1.35rem, 6.4vw, 1.7rem); }
}

@media (max-width: 900px) { .video-heroi__quarenta { top: -6px; left: calc(100% - 52px); transform: rotate(10deg); font-size: clamp(1.6rem, 7.4vw, 2rem); } }

/* 09/11: tarja "Desde 1987" removida; "40 anos de história" destacado abaixo do título da home */
.video-heroi__historia { margin: 2px 0 10px; font-family: 'Kaushan Script', 'Fraunces', cursive; font-weight: 400; font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 1.05; color: #ff3b24; letter-spacing: .01em; transform: rotate(-2deg); text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff, 0 -2px 0 #fff, 0 6px 18px rgba(0, 0, 0, .5); }
@media (max-width: 900px) { .video-heroi__historia { font-size: clamp(1.9rem, 9vw, 2.6rem); } }

/* 11/11: pedido do Edgard (10/11): "40 anos!" ao lado da logo; placas so no fim das paginas internas */
.video-heroi__historia { display: none; }
.video-heroi__quarenta { display: flex !important; flex-direction: column; align-items: center; position: absolute !important; right: calc(100% - 14px) !important; left: auto !important; top: 22px !important; transform: rotate(-24deg) !important; transform-origin: center; font-family: var(--serif); line-height: .9; color: #e0301f; text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff, 0 -2px 0 #fff, 0 5px 12px rgba(0, 0, 0, .45); white-space: nowrap; pointer-events: none; }
.video-heroi__quarenta b { font-weight: 900; font-size: clamp(2.6rem, 11vw, 4.4rem); font-style: normal; }
.video-heroi__quarenta i { font-weight: 900; font-size: clamp(1.1rem, 4.6vw, 1.9rem); font-style: normal; margin-top: -2px; }
.poste-final { background: #0f1d3f; padding: 30px 16px 40px; text-align: center; }
.poste--final { position: static !important; transform: none !important; width: 100%; max-width: 680px; margin: 0 auto; }
.poste--final::before { display: none !important; }
.poste--final .poste__titulo { color: #ffd34f; font: 900 1.25rem/1.2 var(--serif); margin: 0 0 14px; }
.poste--final .poste__placas { flex-direction: row !important; flex-wrap: wrap !important; justify-content: center; gap: 10px !important; overflow: visible !important; }
.poste--final .placa { flex: 0 0 auto; margin: 0 !important; }
.poste--final .poste__base { display: none !important; }
