.elementor-704 .elementor-element.elementor-element-ec3355b{--display:flex;}.elementor-704 .elementor-element.elementor-element-9c8bfad{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:160px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-704 .elementor-element.elementor-element-9c8bfad:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-9c8bfad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-aba32a1 );}.elementor-704 .elementor-element.elementor-element-08f6bea{--display:flex;}.elementor-704 .elementor-element.elementor-element-08f6bea:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-08f6bea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-aba32a1 );}.elementor-704 .elementor-element.elementor-element-61d99b9{--display:flex;--gap:64px 64px;--row-gap:64px;--column-gap:64px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:128px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-704 .elementor-element.elementor-element-61d99b9:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-61d99b9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E9E1D6;}.elementor-704 .elementor-element.elementor-element-0918fa2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-704 .elementor-element.elementor-element-f3e41e5{--display:flex;}.elementor-704 .elementor-element.elementor-element-ccb44bd{--display:flex;--justify-content:center;}.elementor-704 .elementor-element.elementor-element-ddceb37{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:96px 96px;--row-gap:96px;--column-gap:96px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-704 .elementor-element.elementor-element-ddceb37:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-ddceb37 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-aba32a1 );}.elementor-704 .elementor-element.elementor-element-b581bb9{--display:flex;--gap:00px 00px;--row-gap:00px;--column-gap:00px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-704 .elementor-element.elementor-element-de1810c > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-8113962{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-704 .elementor-element.elementor-element-5e2f343 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-c715b66 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-4fe6915{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:96px 96px;--row-gap:96px;--column-gap:96px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-704 .elementor-element.elementor-element-4fe6915:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-4fe6915 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-aba32a1 );}.elementor-704 .elementor-element.elementor-element-e04bd12{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-704 .elementor-element.elementor-element-1c47d9d > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-61bc52a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-140178c{--display:flex;--justify-content:center;--gap:00px 00px;--row-gap:00px;--column-gap:00px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-704 .elementor-element.elementor-element-5b251a3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-7918ce9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-6d844ce{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-704 .elementor-element.elementor-element-6d844ce:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-6d844ce > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-aba32a1 );}.elementor-704 .elementor-element.elementor-element-e34d1ff{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-704 .elementor-element.elementor-element-4127531{--display:flex;--gap:64px 64px;--row-gap:64px;--column-gap:64px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-704 .elementor-element.elementor-element-4127531:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-4127531 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-aba32a1 );}.elementor-704 .elementor-element.elementor-element-307b7d6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-704 .elementor-element.elementor-element-82ca8d0{--display:flex;}.elementor-704 .elementor-element.elementor-element-88c8ea8{--display:flex;--justify-content:center;}.elementor-704 .elementor-element.elementor-element-581dd4e{--display:flex;--gap:00px 00px;--row-gap:00px;--column-gap:00px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-704 .elementor-element.elementor-element-8f24d80{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:96px 96px;--row-gap:96px;--column-gap:96px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-704 .elementor-element.elementor-element-8f24d80:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-8f24d80 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-aba32a1 );}.elementor-704 .elementor-element.elementor-element-35d447a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-704 .elementor-element.elementor-element-a55c009 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-a7b4e82 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-afa2e1f{--display:flex;--justify-content:center;--gap:00px 00px;--row-gap:00px;--column-gap:00px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-704 .elementor-element.elementor-element-196e886 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-40817c9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-704 .elementor-element.elementor-element-0f97832{--display:flex;}.elementor-704 .elementor-element.elementor-element-0f97832:not(.elementor-motion-effects-element-type-background), .elementor-704 .elementor-element.elementor-element-0f97832 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-d4887a5 );}.elementor-704 .elementor-element.elementor-element-4a6316a{--display:flex;}@media(min-width:768px){.elementor-704 .elementor-element.elementor-element-8113962{--width:54%;}}@media(max-width:1024px){.elementor-704 .elementor-element.elementor-element-61d99b9{--gap:64px 64px;--row-gap:64px;--column-gap:64px;}.elementor-704 .elementor-element.elementor-element-ddceb37{--gap:64px 64px;--row-gap:64px;--column-gap:64px;}.elementor-704 .elementor-element.elementor-element-4fe6915{--gap:64px 64px;--row-gap:64px;--column-gap:64px;}.elementor-704 .elementor-element.elementor-element-4127531{--gap:64px 64px;--row-gap:64px;--column-gap:64px;}.elementor-704 .elementor-element.elementor-element-8f24d80{--gap:64px 64px;--row-gap:64px;--column-gap:64px;}}@media(max-width:767px){.elementor-704 .elementor-element.elementor-element-9c8bfad{--padding-top:64px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-704 .elementor-element.elementor-element-08f6bea{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-704 .elementor-element.elementor-element-61d99b9{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:64px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-704 .elementor-element.elementor-element-ddceb37{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:64px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-704 .elementor-element.elementor-element-de1810c.elementor-element{--order:99999 /* order end hack */;}.elementor-704 .elementor-element.elementor-element-4fe6915{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:64px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-704 .elementor-element.elementor-element-e04bd12.e-con{--order:-99999 /* order start hack */;}.elementor-704 .elementor-element.elementor-element-140178c.e-con{--order:-99999 /* order start hack */;}.elementor-704 .elementor-element.elementor-element-6d844ce{--padding-top:32px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-704 .elementor-element.elementor-element-4127531{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:64px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-704 .elementor-element.elementor-element-8f24d80{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:64px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-704 .elementor-element.elementor-element-35d447a.e-con{--order:-99999 /* order start hack */;}.elementor-704 .elementor-element.elementor-element-afa2e1f.e-con{--order:-99999 /* order start hack */;}}/* Start custom CSS for html, class: .elementor-element-7a2360c *//* 72 · O Glamping · hero */

/* HERO DE PÁGINA INTERNA — é o kit que as outras páginas herdam.
   Um pouco mais baixo que o da home (85vh contra 100svh) e sem intro: a pessoa
   já está dentro do site, a abertura teatral é só da porta de entrada.
   NO PAINEL: seção em largura total, sem container, padding 0,
   Estouro: oculto. */
.pg-hero{
  position:relative;
  /* teto em 1400: com valores menores a altura deixava de ser 85vh
     em monitor alto — num 1440 de altura ela saía com 72vh. O teto
     existe só pra tela em pé, onde 85vh viraria uma faixa absurda. */
  height:clamp(520px, 85vh, 1400px);
  overflow:hidden;
  background-color:var(--mg-mata-fundo);
  display:flex;
  align-items:flex-end;
}
@supports (height:1svh){
  /* svh: no celular a barra de endereço some ao rolar e o vh cresce
     no meio do movimento */
  .pg-hero{height:clamp(520px, 85svh, 1400px)}
}

/* -20% em cima e embaixo: é a folga que o parallax usa. Sem ela a
   foto mostraria borda ao deslizar. A conta: a foto fica com 140% da
   altura da moldura, e o deslocamento máximo do JS (13% da altura
   PRÓPRIA dela) dá 18,2% da moldura — dentro dos 20% de folga. */
.pg-hero__bg{
  position:absolute;
  inset:-20% 0;
  background-size:cover;
  background-position:50% 50%;
  background-repeat:no-repeat;
}

/* véu igual ao do hero da home: degradê no topo (leitura do header),
   degradê na base (onde vive o texto) e vinheta fechando os cantos.
   Números copiados do arquivo 22 — se o hero da home mudar, este
   muda junto, na mão, porque são blocos independentes. */
.pg-hero__veu{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(6,16,10,.6) 0%, rgba(6,16,10,.28) 12%,
      rgba(6,16,10,.08) 22%, rgba(6,16,10,0) 30%),
    linear-gradient(0deg,
      rgba(6,16,10,.9) 0%, rgba(6,16,10,.7) 16%,
      rgba(6,16,10,.4) 34%, rgba(6,16,10,.12) 52%,
      rgba(6,16,10,0) 64%),
    radial-gradient(ellipse 110% 95% at 58% 42%,
      rgba(6,16,10,0) 40%, rgba(6,16,10,.28) 74%, rgba(6,16,10,.55) 100%);
}

.pg-hero__in{
  position:relative;
  z-index:2;
  width:100%;
  padding-bottom:clamp(40px, 5.4vw, 72px);
}
.pg-hero__grade{
  width:100%;
  max-width:calc(var(--mg-grid) + 2 * var(--mg-pad-x));
  margin:0 auto;
  padding:0 var(--mg-pad-x);
  box-sizing:border-box;
}

/* maior que os títulos de seção (29,6px), bem menor que o da home
   (72px a 1440). A hierarquia fica: home 72 · hero interno 51 ·
   seção 29,6. O divisor continua mandando nas telas estreitas. */
.pg-hero__titulo{--d3-max:3.2rem}

@media (max-width:900px){
  .pg-hero{height:clamp(440px, 70vh, 720px)}
  @supports (height:1svh){
    .pg-hero{height:clamp(440px, 70svh, 720px)}
  }
  .pg-hero__titulo{--d3-max:2rem}
}

/* estado antes da animação — segurado pelo script do arquivo 71.
   A foto entra levemente ampliada e assenta em 1: é o zoom de
   entrada, o mesmo gesto do hero da home, só que mais curto. */
html.mg-pg-pending .pg-hero__bg{transform:scale(1.08)}
html.mg-pg-pending .pg-hero .mg-d3-title__line > span{transform:translate3d(0,120%,0)}
html.mg-pg-pending .pg-hero .mg-eyebrow{opacity:0}
body.elementor-editor-active .pg-hero .mg-d3-title__line > span{transform:none !important}
body.elementor-editor-active .pg-hero .mg-eyebrow{opacity:1 !important}
body.elementor-editor-active .pg-hero__bg{transform:none !important}

/* ---------- foto própria pra tela em pé ----------
   A aérea é larga; no celular a moldura é alta e o cover cortaria as
   laterais, sobrando mata e perdendo o assunto.
   !important porque a URL do desktop vem no estilo INLINE do arquivo
   71, e inline ganha de classe — só o !important passa na frente. */
@media (max-width:767px){
  .pg-hero__bg{
    background-image:url('https://mangarito.com.br/wp-content/uploads/2026/09/bg-glamping-mobile.webp') !important;
    background-position:50% 50%;
  }
}

/* ═══ O DIVISOR PRECISA DE ESCOPO ═══
   Auditoria: os arquivos de headline das seções definem
   `.mg-d3-title{--d3-div}` SEM escopo, então o último carregado
   vencia pra página inteira — inclusive pro hero. Resultado medido:
   a linha longa do hero vazava a 390px, a largura de celular mais
   comum, porque ele acabava usando o divisor de outra seção.

   `.pg-hero .mg-d3-title` tem duas classes e vence qualquer regra de
   uma só, independente da ordem de carregamento.
   Valor medido para esta headline. */
.pg-hero .mg-d3-title{--d3-div:11.1}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e9ee24c *//* 77 · O Glamping · manifesto */

/* Mesmo componente do manifesto da home (arquivo 32), em arquivo
   próprio pra cada página poder ajustar o seu sem mexer na outra.
   Se um dia os dois tiverem que mudar juntos, isto sobe pro global. */
.mg-manifesto{
  container-type:inline-size;
  width:100%;
}

.mg-manifesto__p{
  --mf-fs:clamp(1.25rem, calc(100cqw / 42), 1.875rem);
  margin:0 auto;
  max-width:46ch;
  text-align:center;
  font-family:var(--mg-font) !important;
  font-size:var(--mf-fs);
  font-weight:400 !important;
  line-height:1.6;
  letter-spacing:-.015em;
  text-transform:none;
  color:var(--c-head, #2F4F3E);
  text-wrap:pretty;   /* evita linha órfã curta no fim */
  opacity:1;
}

/* as linhas são criadas pelo JS: ele mede onde o texto quebra e
   envolve cada uma, pra poder acender uma a uma no scroll */
.mg-manifesto__line{display:block}
.mg-manifesto__line > span{display:block;opacity:.16}

body.elementor-editor-active .mg-manifesto__line > span{opacity:1 !important}

@media (max-width:767px){
  .mg-manifesto__p{
    --mf-fs:clamp(1.125rem, calc(100cqw / 21), 1.5rem);
    max-width:none;
    line-height:1.62;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9d6e9c3 *//* 79 · O Glamping · vídeo */

/* O bloco vive dentro da grade de 1280 e ESTOURA pros dois lados até
   32px da borda da tela — nem preso na grade, nem largura total.
   Quem escreve o --vid-out é o JS, MEDINDO: 100vw conta a barra de
   rolagem e uma conta fixa com 1280 não serve abaixo dessa largura.
   0px aqui é o estado seguro: sem JS, fica na grade.
   NO PAINEL: seção normal, na grade, com Estouro: oculto. */
.mg-video{
  position:relative;
  --vid-out:0px;
  margin:0 calc(var(--vid-out) * -1);
}

/* RESET DE TODOS OS ESTADOS — não só o de repouso.
   O Elementor pinta button:hover/:focus/:active com a cor de acento
   do kit (o rosa). Sem cobrir os quatro estados, ele reaparece só na
   interação, que é justamente quando ninguém testa. */
.mg-video__quadro,
.mg-video__quadro:hover,
.mg-video__quadro:focus,
.mg-video__quadro:active{
  background:var(--mg-mata-fundo) !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  color:inherit !important;
  text-decoration:none !important;
}

.mg-video__quadro{
  display:block;
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  max-height:82vh;
  overflow:hidden;
  margin:0;
  padding:0;
  border:0;
  cursor:none;                /* quem manda é o cursor personalizado */
  /* estado seguro: sem JS, o quadro aparece inteiro. Quem anima o
     recorte é o arquivo 70, preso ao scroll. */
  clip-path:inset(0% 0%);
  will-change:clip-path;
  -webkit-appearance:none;
  appearance:none;
}
@supports (height:1svh){ .mg-video__quadro{max-height:82svh} }

.mg-video__el{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  pointer-events:none;        /* o clique é do botão, não do vídeo */
}

/* véu leve: o vídeo é ilustração aqui, não o conteúdo principal.
   No hover ele clareia, sinalizando que dá pra entrar. */
.mg-video__quadro::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(6,16,10,.18);
  transition:background .6s var(--mg-ease);
  pointer-events:none;
}
.mg-video__quadro:hover::after,
.mg-video__quadro:focus-visible::after{background:rgba(6,16,10,.06)}

/* rótulo de reserva: aparece só quando NÃO há cursor personalizado
   (toque e teclado). Sem isso, em celular ninguém saberia que clica. */
.mg-video__rotulo{
  position:absolute;
  left:50%; bottom:clamp(20px, 3vw, 34px);
  transform:translateX(-50%);
  padding:11px 22px;
  border:1px solid rgba(253,228,218,.4);
  border-radius:999px;
  font-family:var(--mg-font);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mg-aurora);
  white-space:nowrap;
  pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .mg-video__rotulo{display:none}
}

/* o foco por teclado continua visível — o que sai é só o estilo do
   Elementor, não a acessibilidade */
.mg-video__quadro:focus-visible{outline:2px solid var(--mg-mata) !important;outline-offset:4px}
.mg-video__fechar:focus-visible{outline:1px solid currentColor !important;outline-offset:3px}

/* ── cursor personalizado ── */
.mg-video__cursor{
  position:fixed;
  top:0; left:0;
  z-index:60;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-100px,-100px,0) translate(-50%,-50%) scale(.7);
  transition:opacity .3s ease, scale .45s var(--mg-ease);
  will-change:transform;
}
.mg-video__cursor.is-on{opacity:1}
.mg-video__cursor > span{
  display:block;
  padding:13px 20px;
  border-radius:999px;
  background:var(--mg-aurora);
  color:var(--mg-mata);
  font-family:var(--mg-font);
  font-size:11px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ── lightbox ── */
.mg-video__caixa{
  position:fixed;
  inset:0;
  z-index:10001;             /* acima do painel do menu (1000) */
  display:grid;
  place-items:center;
  padding:clamp(20px, 4vw, 64px);
  background:rgba(6,16,10,.92);
  opacity:0;
  transition:opacity .45s var(--mg-ease);
}
.mg-video__caixa[hidden]{display:none}
.mg-video__caixa.is-on{opacity:1}

.mg-video__palco{
  width:100%;
  max-width:1280px;
  aspect-ratio:16/9;
  background:#000;
  transform:scale(.97);
  transition:transform .5s var(--mg-ease);
}
.mg-video__caixa.is-on .mg-video__palco{transform:none}
.mg-video__cheio{width:100%;height:100%;display:block}

.mg-video__fechar,
.mg-video__fechar:hover,
.mg-video__fechar:focus,
.mg-video__fechar:active{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
  color:var(--mg-aurora) !important;
}

.mg-video__fechar{
  position:absolute;
  top:clamp(14px, 2.4vw, 28px);
  right:clamp(14px, 2.4vw, 28px);
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:999px;
  cursor:pointer;
  opacity:.8;
  transition:opacity .3s ease;
}
.mg-video__fechar:hover,
.mg-video__fechar:focus-visible{opacity:1}
.mg-video__fechar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}

@media (max-width:767px){
  .mg-video__quadro{aspect-ratio:4/3;max-height:none}
}

body.elementor-editor-active .mg-video__quadro{clip-path:none !important}

@media (prefers-reduced-motion:reduce){
  .mg-video__quadro{clip-path:none}
  .mg-video__cursor,
  .mg-video__caixa,
  .mg-video__palco,
  .mg-video__quadro::after{transition:none}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-de1810c *//* 83 · O Glamping · conceito · foto */

/* 4:5 — o padrão do componente é 3:4. Só a proporção muda aqui;
   o resto (moldura, folga do parallax, véu) vem do global. */
.mg-photo{--photo-ar:4/5}

@media (max-width:900px){
  .mg-photo{--photo-ar:3/2}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c715b66 *//* 37 · Home · gastronomia · headline */
.mg-d3-title{--d3-div:10.5}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-61bc52a *//* 89 · O Glamping · estrutura · headline */

/* "Tudo dentro" 5,89em · "do terreno." 5,30 + 1,15 de recuo = 6,45.
   Vale a maior, 6,45, mais folga. Trocou o texto, meça de novo. */
.mg-d3-title{--d3-div:6.9}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fca6732 *//* 93 · O Glamping · tira de fotos */

/* Faixa de fotos que anda sozinha, vazada dos dois lados até a borda.
   Sem texto, sem link: é ambiente, não catálogo.
   Quem escreve o --tira-out é o JS, MEDINDO a distância do bloco até
   a borda — 100vw conta a barra de rolagem e uma conta fixa com 1280
   não serve abaixo dessa largura.
   NO PAINEL: seção normal, na grade, com Estouro: oculto. */
.mg-tira{
  --tira-out:0px;
  margin:0 calc(var(--tira-out) * -1);
}
.mg-tira__faixa{width:100%;overflow:hidden}

/* flex-start é o ponto todo: as fotos têm alturas diferentes e ficam
   COLADAS AO TOPO, com a base irregular. É isso que dá o ar de tira
   de contato em vez de grade. */
.mg-tira__trilho{
  display:flex;
  align-items:flex-start;
  gap:clamp(12px, 1.4vw, 22px);
  width:max-content;
  will-change:transform;
}

/* largura fixa, altura pela proporção de cada foto (--tira-ar no
   HTML). Mesma largura pra todas = alturas diferentes = base solta. */
/* ~4 fotos por tela em qualquer largura: 23vw mais o vão fecha em
   quatro a 1440, 1920 e 2560. A altura vem da proporção de cada foto,
   então largura maior = foto maior nos dois sentidos. */
.mg-tira__item{
  flex:0 0 auto;
  width:clamp(240px, 23vw, 540px);
  margin:0;
  aspect-ratio:var(--tira-ar, 3/2);
  overflow:hidden;
  background:rgba(47,79,62,.06);   /* enquanto a foto carrega */
}
.mg-tira__item > i{
  display:block;
  width:100%;
  height:100%;
  background-size:cover;
  background-position:50% 50%;
  background-repeat:no-repeat;
}

/* mesma assinatura das outras fotos do site */
.mg-tira__item{position:relative}
.mg-tira__item::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(28,66,48,.10);
  pointer-events:none;
}

@media (max-width:767px){
  .mg-tira__item{width:clamp(190px, 55vw, 280px)}
  .mg-tira__trilho{gap:10px}
}

@media (prefers-reduced-motion:reduce){
  .mg-tira__trilho{transform:none !important}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-972f459 *//* 105 · O Glamping · silêncio · headline */

/* "Menos barulho" 7,15em · "que uma biblioteca." 9,46 + 1,15 de
   recuo = 10,61. Vale a maior, mais folga.
   Trocou o texto, meça de novo. */
.mg-d3-title{--d3-div:11.1}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-177b455 *//* 108 · O Glamping · silêncio · decibéis */

/* Comparação em barras. A escala vai até 75 dB — o teto está no JS
   (arquivo 70), não aqui, porque quem desenha a barra é ele.
   NO PAINEL: coluna inteira, abaixo das duas colunas de texto. */
ul.mg-db{
  margin:0;
  padding:0;
  list-style:none;
  width:100%;
}

.mg-db__l{
  display:grid;
  grid-template-columns:minmax(0, 200px) 1fr 82px;
  gap:clamp(16px, 2vw, 28px);
  align-items:center;
  padding:clamp(14px, 1.6vw, 19px) 0;
  border-bottom:1px solid var(--c-line);
}
.mg-db__l:first-child{border-top:1px solid var(--c-line)}

.mg-db__n{
  font-family:var(--mg-font);
  font-size:.875rem;
  line-height:1.3;
  color:var(--c-text);
}

/* a barra é um filete que engorda: o trilho fica sempre visível, e a
   parte preenchida cresce quando o bloco entra na tela */
.mg-db__b{
  position:relative;
  display:block;
  height:3px;
  background:var(--c-line);
}
.mg-db__b > i{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:0;                       /* o JS escreve a largura */
  background:var(--c-label);
  transition:width 1.3s cubic-bezier(.22,1,.36,1);
}

.mg-db__v{
  text-align:right;
  font-family:var(--mg-font);
  font-size:.875rem;
  color:var(--c-label);
  font-variant-numeric:tabular-nums;   /* números não dançam ao alinhar */
}

/* a linha do Mangarito é a única em verde e em corpo maior: é ela
   que a pessoa tem que levar embora */
.mg-db__l--aqui .mg-db__n{color:var(--c-head)}
.mg-db__l--aqui .mg-db__b > i{background:var(--c-head);height:5px;top:-1px}
.mg-db__l--aqui .mg-db__v{color:var(--c-head);font-size:1.25rem}

@media (max-width:767px){
  .mg-db__l{grid-template-columns:minmax(0, 104px) 1fr 58px;gap:12px}
  .mg-db__n{font-size:.75rem}
  .mg-db__v{font-size:.75rem}
  .mg-db__l--aqui .mg-db__v{font-size:1rem}
}

/* editor e menos movimento: barras já cheias */
body.elementor-editor-active .mg-db__b > i{transition:none}
@media (prefers-reduced-motion:reduce){
  .mg-db__b > i{transition:none}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a7b4e82 *//* 98 · O Glamping · onde fica · headline */

/* "Dentro do parque," 8,72em · "não ao lado dele." 8,03 + 1,15 de
   recuo = 9,18. Vale a maior, 9,18, mais folga.
   Trocou o texto, meça de novo. */
.mg-d3-title{--d3-div:9.7}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d39b3f4 *//* 102 · O Glamping · break final */

/* Fechamento da página, mesmo bloco do break final da home (arquivo
   65). Em arquivo próprio pra cada página poder trocar a foto e a
   altura sem mexer na outra.

   Duas classes no seletor: o .mg-break do CSS global é impresso DEPOIS
   do CSS dos widgets e ganharia de uma classe só.

   NO PAINEL: seção em largura total, sem container, padding 0,
   Estouro: oculto. */
/* 100vh, e o teto em 1600.
   A altura aqui não é só estética: a foto é 3:2 e a moldura é mais
   larga que isso, então o cover corta ALTURA. Quanto mais baixa a
   moldura, mais ela corta. Medido com o zoom de 1,34 junto, numa tela
   de 1440x900: a 90vh sobram 64% da altura da foto, a 100vh sobram
   71%. O teto só existe pra tela em pé, onde 100vh viraria uma faixa
   absurda. */
.mg-photo.mg-break--final{
  height:clamp(560px, 100vh, 1600px);
  clip-path:none;             /* este break NÃO abre: entra em largura cheia */
}
@supports (height:1svh){
  .mg-photo.mg-break--final{height:clamp(560px, 100svh, 1600px)}
}

/* ZOOM 1,34 — é ele que permite o parallax agressivo.
   A foto só desliza até a folga que o zoom dá: metade do excedente
   pra cada lado. A 1,34 sobram 17% de altura de cada lado, e a
   amplitude do parallax é 14 (o teto do JS). Com o zoom padrão de
   1,3 a folga seria 15% e ficaria no limite.
   Custo: 1,34 amplia mais o arquivo. Num monitor de 2560 a moldura
   pede ~3410px de largura a partir de um arquivo de 2560. */
.mg-photo.mg-break--final .mg-photo__img{
  transform:scale(1.34);
  background-position:50% 50%;
}

/* ── véu: o mesmo do hero ──
   Seção de fechamento, responde ao hero: degradê no topo, degradê na
   base, vinheta fechando os cantos, tinta radial e grão em soft-light.
   Números copiados do arquivo 22 — se o hero mudar, este muda junto,
   na mão, porque são blocos independentes. */
.mg-photo.mg-break--final::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(6,16,10,.6) 0%, rgba(6,16,10,.28) 12%,
      rgba(6,16,10,.08) 22%, rgba(6,16,10,0) 30%),
    linear-gradient(0deg,
      rgba(6,16,10,.9) 0%, rgba(6,16,10,.72) 14%,
      rgba(6,16,10,.46) 30%, rgba(6,16,10,.2) 46%,
      rgba(6,16,10,.05) 56%, rgba(6,16,10,0) 62%),
    radial-gradient(ellipse 110% 95% at 58% 42%,
      rgba(6,16,10,0) 40%, rgba(6,16,10,.3) 72%, rgba(6,16,10,.62) 100%),
    radial-gradient(ellipse 100% 90% at 58% 42%,
      rgba(8,19,13,.16) 30%, rgba(8,19,13,.25) 65%, rgba(8,19,13,.34) 100%);
}

/* grão em soft-light — o mesmo ruído do hero */
.mg-photo.mg-break--final::after{
  content:"";
  position:absolute;
  inset:0;
  height:auto;
  opacity:.14;
  mix-blend-mode:soft-light;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='1.9' intercept='-.45'/%3E%3CfeFuncG type='linear' slope='1.9' intercept='-.45'/%3E%3CfeFuncB type='linear' slope='1.9' intercept='-.45'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)'/%3E%3C/svg%3E");
  background-size:220px 220px;
}

@media (max-width:767px){
  .mg-photo.mg-break--final{height:90vh;min-height:500px}
  @supports (height:1svh){
    .mg-photo.mg-break--final{height:90svh}
  }
}/* End custom CSS */