@font-face{
  font-family: 'Relicta';
  font-weight: 300;
  font-display: swap;
  src: local('Relicta Light'), local('Relicta-Light');
}

:root{
  --verde: #063216;
  --verde-escuro: #031f0e;
  --vinho: #450102;
  --ouro: #ffb452;
  --ouro-escuro: #b57b32;
  --creme: #f6ebd9;

  --grad-ouro: linear-gradient(155deg, #b57b32 8.57%, #f2c46f 48.34%, #ffb452 91.43%);

  --font-titulo: 'Relicta', 'Poiret One', serif;
  --font-texto: 'termina', sans-serif;
}

*, *::before, *::after{
  box-sizing: border-box;
}

html{
  scroll-behavior: smooth;
}

html, body{
  margin: 0;
  padding: 0;
}

body{
  font-family: var(--font-texto);
  font-weight: 300;
  color: var(--creme);
  background: var(--verde);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img{
  max-width: 100%;
  display: block;
}

h1, h2, h3, h4, p, ul{
  margin: 0;
}

ul{
  padding: 0;
  list-style: none;
}

a{
  color: inherit;
  text-decoration: none;
}

.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.page{
  container-type: inline-size;
  max-width: 1920px;
  margin: 0 auto;
  --u: min(1px, 100cqw / 1920);
}

.decor{
  position: absolute;
  pointer-events: none;
  user-select: none;
  max-width: none;
}




/* ================= FUNDOS ================= */

.secao{
  position: relative;
  overflow: hidden;
}

.secao--verde,
.secao--vinho{
  --a1: 18deg;
  --a2: 162deg;
  background:
    linear-gradient(var(--a1), rgba(246,235,217,0) 48.3%, rgba(246,235,217,.043) 49.15%, rgba(246,235,217,.043) 50.85%, rgba(246,235,217,0) 51.7%),
    linear-gradient(var(--a2), rgba(246,235,217,0) 48.3%, rgba(246,235,217,.035) 49.15%, rgba(246,235,217,.035) 50.85%, rgba(246,235,217,0) 51.7%),
    radial-gradient(circle calc(55 * var(--u)) at 14% 22%, rgba(255,180,82,.11), rgba(255,180,82,0)),
    radial-gradient(circle calc(69 * var(--u)) at 81% 69%, rgba(255,180,82,.08), rgba(255,180,82,0)),
    radial-gradient(circle calc(408 * var(--u)) at 48% 44%, rgba(15,82,40,.4), rgba(15,82,40,0)),
    var(--fundo);
}

.secao--verde{ --fundo: var(--verde); }
.secao--vinho{ --fundo: var(--vinho); }




/* ================= MOLDURA DOURADA ================= */

.moldura{
  position: absolute;
  z-index: 1;
  border: calc(1.88 * var(--u)) solid rgba(255,180,82,.74);
  pointer-events: none;
}

.moldura::before{
  content: '';
  position: absolute;
  inset: calc(11 * var(--u));
  border: calc(1.88 * var(--u)) solid rgba(181,123,50,.48);
}

.canto{
  position: absolute;
  z-index: 2;
  width: calc(13 * var(--u));
  height: calc(13 * var(--u));
  background: var(--verde);
  border: calc(1.88 * var(--u)) solid var(--ouro);
  box-shadow: 0 0 0 calc(4 * var(--u)) rgba(181,123,50,.1);
  pointer-events: none;
}

.canto--te{ left: calc(-8.5 * var(--u)); top: calc(-8.5 * var(--u)); }
.canto--td{ right: calc(-8.5 * var(--u)); top: calc(-8.5 * var(--u)); }
.canto--be{ left: calc(-8.5 * var(--u)); bottom: calc(-8.5 * var(--u)); }
.canto--bd{ right: calc(-8.5 * var(--u)); bottom: calc(-8.5 * var(--u)); }




/* ================= LOSANGO (foto girada 45°) ================= */

.losango{
  position: absolute;
  width: var(--s);
  height: var(--s);
  transform: rotate(45deg);
  overflow: hidden;
  background: var(--verde-escuro);
  border: calc(1.88 * var(--u)) solid var(--ouro);
  box-shadow: 0 calc(34 * var(--u)) calc(70 * var(--u)) rgba(0,0,0,.3), 0 0 0 calc(10 * var(--u)) rgba(181,123,50,.08);
}

.losango__img{
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--w);
  height: var(--h);
  max-width: none;
  margin-left: calc(var(--w) / -2);
  margin-top: calc(var(--h) / -2);
  object-fit: cover;
  transform: rotate(-45deg) translate(var(--dx), var(--dy));
}




/* ================= TIPOGRAFIA E BOTÕES ================= */

.titulo-ouro{
  font-family: var(--font-titulo);
  font-weight: 300;
  font-size: calc(66 * var(--u));
  line-height: 1;
  text-align: center;
  background: var(--grad-ouro);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.sobretitulo{
  font-size: max(10px, calc(12 * var(--u)));
  line-height: 1.5;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-align: center;
  color: var(--ouro);
}

.botao{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(54 * var(--u));
  padding: calc(8 * var(--u)) calc(29 * var(--u));
  border-radius: 999px;
  font-size: max(10px, calc(12 * var(--u)));
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  transition: transform .2s ease, filter .2s ease, background-color .2s ease;
}

.botao:hover{
  transform: translateY(-2px);
}

.botao--ouro{
  color: var(--verde);
  background: var(--grad-ouro);
  filter: drop-shadow(0 calc(12 * var(--u)) calc(14 * var(--u)) rgba(181,123,50,.28));
}

.botao--ouro:hover{
  filter: drop-shadow(0 calc(12 * var(--u)) calc(14 * var(--u)) rgba(181,123,50,.28)) brightness(1.06);
}

.botao--contorno{
  color: var(--ouro);
  background: rgba(6,50,22,.18);
  border: calc(1.88 * var(--u)) solid var(--ouro);
}

.botao--contorno:hover{
  background: rgba(255,180,82,.12);
}

.botao--regular{
  font-weight: 400;
}




/* ================= HERO ================= */

.hero{
  height: calc(1080 * var(--u));
}

.hero__logo{
  position: absolute;
  z-index: 3;
  left: calc(850 * var(--u));
  top: calc(46 * var(--u));
  width: calc(289 * var(--u));
  height: auto;
}

.hero__confete{
  z-index: 3;
  left: calc(-26 * var(--u));
  top: 0;
  width: calc(554 * var(--u));
}
.hero__foto-area{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(119 * var(--u));
  height: calc(902 * var(--u));
  overflow: hidden;
}

.hero__losango{
  --s: calc(950 * var(--u));
  left: calc(1058 * var(--u));
  top: calc(-68.3 * var(--u));
}

.hero__losango .losango__img{
  --w: calc(1058 * var(--u));
  --h: calc(1516 * var(--u));
  --dx: calc(-143 * var(--u));
  --dy: calc(-15.4 * var(--u));
}

.hero__moldura{
  left: calc(60 * var(--u));
  top: calc(119 * var(--u));
  width: calc(1800 * var(--u));
  height: calc(901 * var(--u));
}

.hero__selo{
  position: absolute;
  z-index: 3;
  left: calc(-90 * var(--u));
  top: calc(38 * var(--u));
  width: calc(865 * var(--u));
  max-width: none;
}

.hero__conteudo{
  position: absolute;
  z-index: 3;
  left: calc(206 * var(--u));
  top: calc(722 * var(--u));
}

.hero__texto{
  width: calc(623 * var(--u));
  padding-left: calc(6 * var(--u));
  font-size: max(13px, calc(18 * var(--u)));
  line-height: 1.65;
}

.hero__botoes{
  display: flex;
  gap: calc(26 * var(--u));
  margin-top: calc(28 * var(--u));
}




/* ================= MOMENTOS DE NATAL ================= */

.momentos{
  height: calc(1080 * var(--u));
  padding-top: calc(112 * var(--u));
}

.momentos__moldura{
  inset: calc(60 * var(--u));
}

.momentos__matinho{
  z-index: 3;
  width: calc(153 * var(--u));
}

.momentos__matinho--1{ left: calc(-30.3 * var(--u)); top: calc(856 * var(--u)); transform: rotate(-25.92deg); }
.momentos__matinho--2{ left: calc(-13.3 * var(--u)); top: calc(740 * var(--u)); transform: rotate(-25.92deg); }
.momentos__matinho--3{ left: calc(91.2 * var(--u)); top: calc(846 * var(--u)); transform: rotate(11.15deg); }

.momentos__topo .titulo-ouro{
  margin-top: calc(16 * var(--u));
}

.momentos__grid{
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, calc(690 * var(--u)));
  justify-content: center;
  gap: calc(70 * var(--u));
  margin-top: calc(65 * var(--u));
}

.momento{
  position: relative;
  height: calc(710 * var(--u));
  background: rgba(3,31,14,.48);
  border: calc(1.88 * var(--u)) solid var(--ouro);
  box-shadow: 0 calc(24 * var(--u)) calc(45 * var(--u)) rgba(0,0,0,.22);
}

.momento::after{
  content: '';
  position: absolute;
  inset: calc(10 * var(--u));
  border: calc(1.88 * var(--u)) solid rgba(181,123,50,.5);
  pointer-events: none;
}

.momento__foto{
  width: 100%;
  height: calc(330 * var(--u));
  object-fit: cover;
}

.momento__corpo{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: calc(70 * var(--u)) calc(48 * var(--u)) calc(38 * var(--u));
  text-align: center;
}

.momento__titulo{
  margin-top: calc(16 * var(--u));
  font-family: var(--font-titulo);
  font-weight: 300;
  font-size: calc(38 * var(--u));
  line-height: 1.06;
  color: var(--ouro);
}

.momento__texto{
  max-width: calc(452 * var(--u));
  margin-top: calc(18 * var(--u));
  font-size: max(12px, calc(15 * var(--u)));
  line-height: 1.6;
}




/* ================= DESTINOS ================= */

.destinos{
  --a1: 43deg;
  --a2: 137deg;
  padding: calc(118 * var(--u)) 0 calc(94 * var(--u));
}

.destinos__confete{
  left: calc(1517 * var(--u));
  top: calc(1810 * var(--u));
  width: calc(554 * var(--u));
  transform: rotate(90deg) scaleY(-1);
}

.destinos__intro{
  max-width: calc(560 * var(--u));
  margin: calc(22 * var(--u)) auto 0;
  font-size: max(12px, calc(15 * var(--u)));
  line-height: 1.6;
  text-align: center;
}

.grupo{
  position: relative;
  z-index: 2;
  margin-top: calc(83 * var(--u));
}

.grupo--caldas{
  margin-top: calc(111 * var(--u));
}

.grupo__titulo{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(24 * var(--u));
  text-align: center;
}

.grupo__titulo h3{
  font-family: var(--font-titulo);
  font-weight: 300;
  font-size: calc(38 * var(--u));
  line-height: 1.5;
  color: var(--ouro);
  white-space: nowrap;
}

.grupo__titulo p{
  margin-top: calc(7 * var(--u));
  font-size: max(9px, calc(11 * var(--u)));
  line-height: 1.5;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.grupo__linha{
  width: calc(190 * var(--u));
  height: 1px;
  background: linear-gradient(90deg, rgba(255,180,82,0), var(--ouro));
}

.grupo__linha--inv{
  transform: scaleX(-1);
}

.grupo__losango{
  flex: none;
  width: calc(13 * var(--u));
  height: calc(13 * var(--u));
  border: calc(1.88 * var(--u)) solid var(--ouro);
  transform: rotate(45deg);
}

.hoteis{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(38 * var(--u)) auto 0;
}

.hoteis--litoral{
  gap: calc(27 * var(--u));
}

.hoteis--caldas{
  max-width: calc(1752 * var(--u));
  gap: calc(48 * var(--u)) calc(16 * var(--u));
  margin-top: calc(48 * var(--u));
}




/* ================= CARD DE HOTEL ================= */

.hotel{
  --pad: calc(18 * var(--u));
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc(426 * var(--u));
  min-height: calc(779 * var(--u));
  overflow: hidden;
  background: var(--creme);
  border: calc(1.88 * var(--u)) solid var(--ouro-escuro);
  box-shadow: 0 calc(18 * var(--u)) calc(38 * var(--u)) rgba(0,0,0,.22);
}

.hotel--litoral{
  --pad: calc(27 * var(--u));
  width: calc(470 * var(--u));
  min-height: calc(738 * var(--u));
}

.hotel .canto{
  background: var(--creme);
}

.hotel .canto--be,
.hotel .canto--bd{
  display: none;
}

.hotel__foto{
  position: relative;
  flex: none;
  height: calc(260 * var(--u));
}

.hotel__foto > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hotel__local{
  position: absolute;
  right: calc(14 * var(--u));
  bottom: calc(13 * var(--u));
  display: inline-flex;
  align-items: center;
  gap: calc(7 * var(--u));
  padding: calc(8 * var(--u)) calc(13 * var(--u));
  border-radius: 999px;
  background: var(--grad-ouro);
  color: var(--verde);
  font-size: max(9px, calc(10 * var(--u)));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.hotel__local img{
  width: calc(15 * var(--u));
  height: calc(15 * var(--u));
}

.hotel__corpo{
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: calc(25 * var(--u)) var(--pad) calc(62 * var(--u));
  color: var(--verde);
}

.hotel--litoral .hotel__corpo{
  padding-bottom: calc(31 * var(--u));
}

.hotel__nome{
  font-family: var(--font-titulo);
  font-weight: 300;
  font-size: calc(31 * var(--u));
  line-height: 1;
}

.hotel__nome::after{
  content: '';
  display: block;
  width: calc(380 * var(--u));
  height: 1px;
  margin: calc(40 * var(--u)) auto 0;
  background: linear-gradient(90deg, rgba(255,180,82,.5), var(--ouro-escuro) 48%, rgba(255,180,82,.5) 97%);
}

.hotel--litoral .hotel__nome::after{
  margin-top: calc(30 * var(--u));
}

.hotel:not(.hotel--litoral) .hotel__nome::after{
  margin-left: calc((var(--pad) - calc(21 * var(--u))) * -1);
}

.hotel__lista{
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--u));
  margin: calc(15 * var(--u)) 0 calc(22 * var(--u));
  font-size: max(10px, calc(11 * var(--u)));
  font-weight: 400;
  line-height: 1.7;
}

.hotel__lista li{
  position: relative;
  padding-left: calc(41 * var(--u));
}

.hotel__lista img{
  position: absolute;
  left: calc(6 * var(--u));
  top: 0;
  width: calc(22 * var(--u));
  height: calc(20 * var(--u));
  object-fit: contain;
}

.hotel__botoes{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(10 * var(--u));
  margin-top: auto;
}

.botao--card{
  width: calc(389 * var(--u));
  min-height: calc(45 * var(--u));
  padding: calc(6 * var(--u)) calc(15 * var(--u));
  font-size: max(9px, calc(10 * var(--u)));
  font-weight: 400;
  color: var(--verde);
  border: calc(1.88 * var(--u)) solid var(--verde);
}

.botao--card:hover{
  background: rgba(6,50,22,.08);
}

.botao--card.botao--ouro{
  border-color: transparent;
}

.hotel--litoral .botao--card{
  width: 100%;
}




/* ================= BENEFÍCIOS ================= */

.beneficios{
  height: calc(1080 * var(--u));
  padding-top: calc(229 * var(--u));
}

.beneficios__moldura{
  inset: calc(60 * var(--u));
}

.beneficios__confete{
  z-index: 3;
  width: calc(554 * var(--u));
}

.beneficios__confete--esq{
  left: calc(-172 * var(--u));
  top: calc(-188 * var(--u));
  transform: rotate(90deg);
}

.beneficios__confete--dir{
  left: calc(1535 * var(--u));
  top: calc(-121 * var(--u));
  transform: rotate(90deg) scaleY(-1);
}

.beneficios__titulo{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(22 * var(--u));
}

.beneficios__titulo img{
  width: calc(56 * var(--u));
  height: calc(75 * var(--u));
  object-fit: contain;
}

.beneficios__titulo .titulo-ouro{
  line-height: 1.6;
}

.beneficios__lista{
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5, calc(310 * var(--u)));
  justify-content: center;
  margin-top: calc(134 * var(--u));
}

.beneficio{
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: calc(310 * var(--u));
  padding: calc(25 * var(--u)) calc(46 * var(--u));
  text-align: center;
}

.beneficio + .beneficio{
  border-left: calc(1.88 * var(--u)) solid rgba(255,180,82,.48);
}

.beneficio__icone{
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(112 * var(--u));
  height: calc(112 * var(--u));
  border: calc(1.88 * var(--u)) solid var(--ouro);
  transform: rotate(45deg);
}

.beneficio__icone img{
  width: calc(51 * var(--u));
  height: calc(51 * var(--u));
  transform: rotate(-45deg);
}

.beneficio p{
  max-width: calc(219 * var(--u));
  margin-top: calc(50 * var(--u));
  font-size: max(12px, calc(15 * var(--u)));
  line-height: 1.55;
}

.beneficios__presentes img{
  position: absolute;
  z-index: 3;
  max-width: none;
}

.beneficios__matinho{
  width: calc(153 * var(--u));
}

.beneficios__matinho--esq{
  left: calc(740 * var(--u));
  top: calc(902 * var(--u));
  transform: rotate(-38.51deg);
}

.beneficios__matinho--dir{
  left: calc(1039 * var(--u));
  top: calc(906 * var(--u));
  transform: rotate(30.39deg);
}

.beneficios__presente-verde{
  left: calc(937 * var(--u));
  top: calc(937 * var(--u));
  width: calc(222 * var(--u));
}

.beneficios__presente-vermelho{
  left: calc(800 * var(--u));
  top: calc(928 * var(--u));
  width: calc(211 * var(--u));
}




/* ================= CTA FINAL ================= */

.cta{
  --a1: 20deg;
  --a2: 160deg;
  height: calc(1210 * var(--u));
}

.cta__moldura{
  left: calc(60 * var(--u));
  top: calc(60 * var(--u));
  width: calc(1800 * var(--u));
  height: calc(1051 * var(--u));
}

.cta__losango--esq{
  --s: calc(452.8 * var(--u));
  left: calc(-29.2 * var(--u));
  top: calc(308.6 * var(--u));
}

.cta__losango--esq .losango__img{
  --w: calc(650 * var(--u));
  --h: calc(650 * var(--u));
  --dx: calc(1.8 * var(--u));
  --dy: calc(-7.6 * var(--u));
}

.cta__losango--dir{
  --s: calc(455.1 * var(--u));
  left: calc(1453.3 * var(--u));
  top: calc(307.3 * var(--u));
}

.cta__losango--dir .losango__img{
  --w: calc(626.5 * var(--u));
  --h: calc(815 * var(--u));
  --dx: calc(-18.6 * var(--u));
  --dy: calc(-95 * var(--u));
}

.cta__selo{
  position: absolute;
  z-index: 2;
  left: calc(467 * var(--u));
  top: calc(72 * var(--u));
  width: calc(760 * var(--u));
  max-width: none;
}

.cta__bola{
  z-index: 3;
}

.cta__bola--juros{
  left: calc(1292 * var(--u));
  top: calc(60 * var(--u));
  width: calc(118 * var(--u));
}

.cta__bola--off{
  left: calc(1394 * var(--u));
  top: calc(-115 * var(--u));
  width: calc(100 * var(--u));
}

.cta__conteudo{
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: calc(690 * var(--u));
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cta__titulo{
  max-width: calc(880 * var(--u));
  margin-left: calc(-6 * var(--u));
  font-size: calc(58 * var(--u));
  line-height: 1.05;
}

.cta__texto{
  max-width: calc(690 * var(--u));
  margin-top: calc(14 * var(--u));
  font-size: max(12px, calc(17 * var(--u)));
  line-height: 1.65;
}

.cta__conteudo .botao{
  margin-top: calc(34 * var(--u));
}




/* ================= RODAPÉ ================= */

.rodape{
  --a1: 6.7deg;
  --a2: 173.3deg;
  position: relative;
  height: calc(390 * var(--u));
  padding-top: calc(75 * var(--u));
  border-top: calc(3.76 * var(--u)) solid var(--ouro-escuro);
  text-align: center;
}

.rodape__logo{
  width: calc(289 * var(--u));
  height: auto;
  margin: 0 auto;
}

.rodape__contatos{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(28 * var(--u));
  margin-top: calc(45 * var(--u));
  font-size: max(11px, calc(14 * var(--u)));
  line-height: 1.5;
  letter-spacing: .09em;
}

.rodape__contatos a:hover{
  color: var(--ouro);
}

.rodape__divisor{
  width: 1px;
  height: calc(20 * var(--u));
  background: rgba(255,180,82,.5);
}

.rodape__aviso{
  max-width: calc(1600 * var(--u));
  margin: calc(45 * var(--u)) auto 0;
  padding-top: calc(25 * var(--u));
  border-top: calc(1.88 * var(--u)) solid rgba(255,180,82,.28);
  font-size: max(9px, calc(11 * var(--u)));
  line-height: 1.6;
  letter-spacing: .05em;
  color: rgba(246,235,217,.72);
}
