*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Josefin Sans', sans-serif;
  background:#050505;
  color:#e6d7b0;
  overflow-x:hidden;
}

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

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

:root{

  --gold:#c9952e;
  --dark:#050606;
  --light:#ede4d3;

}

/* =========================
   GLOBAL
========================= */

.fixed-bg{

  background-attachment:fixed;
  background-position:center;
  background-size:cover;

}

.moving-bg{

  background-attachment:scroll;

}

/* =========================
   HEADER
========================= */

.header{

  position:fixed;
  top:0;
  left:0;

  width:100%;
  height:88px;

  background:rgba(0,0,0,0.94);

  z-index:9999;

  backdrop-filter:blur(6px);

}

.header-container{

  width:100%;
  max-width:1320px;

  margin:auto;

  height:100%;

  display:grid;
  grid-template-columns:1fr auto 1fr;

  align-items:center;

  gap:40px;

  padding:0 40px;

  position:relative;

}

.desktop-nav{

  display:flex;
  align-items:center;

  gap:34px;

}

.nav-left{

  justify-content:flex-end;

}

.nav-right{

  justify-content:flex-start;

}

.desktop-nav a{

  color:#ddd2b7;

  font-size:13px;
  font-weight:400;

  letter-spacing:2px;

  transition:.3s;

}

.desktop-nav a:hover{

  color:var(--gold);

}

/* LOGO */

.logo{

  display:flex;
  align-items:center;
  justify-content:center;

}

.logo img{

  width:125px;
  height:auto;

}

/* =========================
   MOBILE MENU
========================= */

.menu-toggle{

  display:none;

  background:none;
  border:none;

  cursor:pointer;

  position:absolute;

  left:24px;

  width:32px;
  height:32px;

  z-index:100;

}

.menu-toggle span{

  display:block;

  width:22px;
  height:2px;

  background:#f1e7cb;

  margin:5px 0;

}

.nav-mobile{

  position:fixed;

  top:0;
  left:-320px;

  width:320px;
  height:100svh;

  background:rgba(0,0,0,0.98);

  padding:24px;

  transition:left .35s ease;

  z-index:10000;

}

.header.menu-open .nav-mobile{

  left:0;

}

.menu-close{

  background:none;
  border:none;

  color:#f1e7cb;

  font-size:42px;

  cursor:pointer;

  margin-bottom:50px;

}

.nav-mobile-links{

  display:flex;
  flex-direction:column;

  gap:28px;

}

.nav-mobile-links a{

  color:#f1e7cb;

  font-size:15px;
  font-weight:500;

  letter-spacing:2px;

}

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

.hero{

  position:fixed;

  top:0;
  left:0;

  width:100%;
  height:100vh;

  overflow:hidden;

  display:flex;
  align-items:center;
  justify-content:center;

  text-align:center;

  background:#000;

  z-index:1;

}

.hero video,
.video-thumb{

  position:absolute;

  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

}

.video-thumb{

  z-index:0;

}

.hero video{

  z-index:1;

}

.hero-overlay{

  position:absolute;
  inset:0;

  background:rgba(0,0,0,0.55);

  z-index:2;

}

.hero-content{

  position:relative;
  z-index:3;

  margin-top:40px;

}

.hero-content h5{

  color:#f2e7cb;

  font-size:20px;
  font-weight:300;

  letter-spacing:4px;

  margin-bottom:20px;

}

.hero-content h4{

  color:#fff5db;

  font-size:62px;

  line-height:0.95;

  font-weight:600;

  letter-spacing:1px;

}

/* =========================
   CONTENT OVER VIDEO
========================= */

.hours,
.contact,
.press,
.awards,
footer{

  position:relative;
  z-index:5;

}

.hours{

  margin-top:100svh;

}

/* =========================
   FRAME SYSTEM
========================= */

.frame-box,
.press-frame{

  position:relative;

}

.corner{

  position:absolute;

  width:56px;
  height:56px;

  z-index:3;

  object-fit:contain;

}

.top-left{
  top:0;
  left:0;
}

.top-right{
  top:0;
  right:0;
}

.bottom-right{
  right:0;
  bottom:0;
}

.bottom-left{
  left:0;
  bottom:0;
}

.frame-horizontal{

  position:absolute;

  z-index:2;

  background-repeat:repeat-x;
  background-size:auto 100%;

}

.frame-horizontal.top{

  top:0;
  left:55px;

  width:calc(100% - 110px);
  height:56px;

  background-image:url('assets/topline.png');

}

.frame-horizontal.bottom{

  bottom:0;
  left:55px;

  width:calc(100% - 110px);
  height:56px;

  background-image:url('assets/bottomline.png');

}

.frame-vertical{

  position:absolute;

  z-index:2;

  background-repeat:repeat-y;
  background-size:100% auto;

}

.frame-vertical.left{

  top:55px;
  left:0;

  width:56px;
  height:calc(100% - 110px);

  background-image:url('assets/leftline.png');

}

.frame-vertical.right{

  top:55px;
  right:0;

  width:56px;
  height:calc(100% - 110px);

  background-image:url('assets/rightline.png');

}

/* =========================
   HOURS
========================= */

.hours{

  background:#050606;

  padding:80px 40px;

}

.frame-box{

  max-width:1320px;
  margin:auto;

  padding:100px 90px;

}

.hours-title{

  text-align:center;

  color:#d7c8a7;

  font-size:18px;
  font-weight:300;

  letter-spacing:3px;

  margin-bottom:55px;

}

.hours-grid{

  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:30px;

  text-align:center;

}

.hours-item h4{

  color:var(--gold);

  font-size:22px;
  font-weight:500;

  line-height:1.1;

  letter-spacing:1px;

  margin-bottom:16px;

}

.hours-item p{

  color:#eadfc3;

  font-size:20px;
  font-weight:300;

  line-height:1.4;

}

/* =========================
   CONTACT
========================= */

.contact{

  position:relative;

  padding:120px 20px;

  text-align:center;

  background-image:url('assets/bg-contato.jpg');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;

}

.contact-overlay{

  position:absolute;
  inset:0;

  background:rgba(0,0,0,0.45);

}

.contact-content{

  position:relative;
  z-index:2;

  max-width:1000px;
  margin:auto;

}

.contact-block{

  margin-bottom:100px;

}

.contact h3{

  color:var(--gold);

  font-size:38px;
  font-weight:500;

  line-height:1.1;

  margin-bottom:28px;

}

.btn{

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:280px;

  border:1px solid rgba(201,149,46,0.6);

  border-radius:999px;

  padding:18px 42px;

  color:#ebddbc;

  font-size:17px;
  font-weight:300;

  letter-spacing:2px;

  transition:.3s;

  background:none;

  cursor:pointer;

  font-family:'Josefin Sans', sans-serif;

}

.btn:hover{

  background:var(--gold);
  color:#000;

}

/* =========================
   PRESS
========================= */

.press{

  background:#050606;

  padding:90px 20px 120px;

  text-align:center;

}

.press-frame{

  width:420px;

  margin:0 auto 60px;

  padding:55px 40px;

}

.press-title{

  color:var(--gold);

  font-size:28px;
  font-weight:500;

  letter-spacing:2px;

}

.press-buttons{

  display:flex;
  justify-content:center;

  gap:34px;

  flex-wrap:wrap;

}

.press-btn{

  background:var(--gold);

  color:#000;

  padding:15px 40px;

  border-radius:12px;

  font-size:18px;
  font-weight:600;

  transition:.3s;

}

.press-btn:hover{

  transform:translateY(-5px);

}

/* =========================
   AWARDS
========================= */

.awards{

  background:#ebe4d7;

  padding:90px 40px;

}

.awards-container{

  width:100%;
  max-width:980px;

  margin:auto;

  display:flex;
  flex-wrap:wrap;

  justify-content:center;
  align-items:flex-start;

  gap:70px 70px;

}

.award-item{

  width:170px;
  height:auto;

  object-fit:contain;

  flex:0 0 170px;

  display:block;

}

.awards-center-image{

  width:100%;
  max-width:550px;

  margin:90px auto 0;

}

/* =========================
   FOOTER
========================= */

footer{

  background:#050606;

  padding:60px 20px;

  text-align:center;

}

.footer-title{

  width:380px;
  max-width:90%;

  margin:0 auto 24px;

}

footer p{

  color:#d8ccb2;

  font-size:17px;
  font-weight:300;

  letter-spacing:1px;

  line-height:1.5;

}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1115px){

  .desktop-nav{

    display:none;

  }

  .menu-toggle{

    display:block;

  }

  .header-container{

    display:flex;
    justify-content:center;

    padding:0 24px;

  }

  .hours-grid{

    grid-template-columns:repeat(2,1fr);

  }

}

@media(max-width:768px){

  .nav-mobile{

    width:100%;
    left:-100%;

  }

  .hero-content h4{

    font-size:38px;

  }

  .hero-content h5{

    font-size:16px;

  }

  .frame-box{

    padding:80px 28px;

  }

  .press-frame{

    width:100%;
    max-width:360px;

    padding:55px 30px;

  }

  .hours-grid{

    grid-template-columns:1fr;

  }

  .press-buttons{

    flex-direction:column;
    align-items:center;

  }

  .press-btn{

    width:100%;
    max-width:280px;

  }

  .awards{

    padding:70px 20px;

  }

  .awards-container{

    gap:40px 20px;

  }

  .award-item{

    width:120px;

    flex:0 0 120px;

  }

}

/* =========================
   ANCHOR OFFSET
========================= */

#contato,
#imprensa{

  scroll-margin-top:140px;

}

/* =========================
   CONTACT PAGE
========================= */

.contact-page{

  background:#000;

}

.contact-page-section{

  position:relative;

  min-height:100vh;

  padding:180px 20px 120px;

  display:flex;
  align-items:center;
  justify-content:center;

  background-image:url('assets/bg-contato.jpg');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;

}

.contact-page-overlay{

  position:absolute;
  inset:0;

  background:rgba(0,0,0,0.72);

}

.contact-page-content{

  position:relative;
  z-index:2;

  width:100%;
  max-width:700px;

  text-align:center;

}

.contact-page-content h1{

  color:var(--gold);

  font-size:52px;

  margin-bottom:24px;

}

.contact-page-text{

  color:#f1e6c8;

  font-size:20px;

  margin-bottom:50px;

  line-height:1.5;

}

.contact-form{

  display:flex;
  flex-direction:column;

  gap:18px;

}

.contact-form input,
.contact-form textarea{

  width:100%;

  background:rgba(255,255,255,0.06);

  border:1px solid rgba(255,255,255,0.14);

  padding:18px 22px;

  color:#fff;

  font-family:'Josefin Sans', sans-serif;

  border-radius:12px;

  outline:none;

}

.contact-form textarea{

  min-height:180px;

}

/* =========================
   EVENTS PAGE
========================= */

.events-page{

  background:#050505;

}

.events-hero{

  padding:180px 40px 100px;

  background:#050505;

}

.events-hero-content{

  width:100%;
  max-width:1320px;

  margin:auto;

  display:grid;
  grid-template-columns:1fr 1fr;

  gap:80px;

  align-items:center;

}

.events-text{

  text-align:left;

}

.events-text p{

  color:#f1e6c8;

  font-size:24px;

  line-height:1.5;

  margin-bottom:22px;

}

.events-video-wrapper{

  position:relative;

  width:100%;
  aspect-ratio:1/1;

  overflow:hidden;

  border-radius:22px;

}

.events-video{

  width:100%;
  height:100%;

  object-fit:cover;

}

.header-whatsapp{

  position:absolute;

  right:40px;

  display:flex;
  align-items:center;
  justify-content:center;

  text-align:center;

  width:120px;
  height:54px;

  padding:0 14px;

  border-radius:999px;

  border:1px solid rgba(201,149,46,0.5);

  color:var(--gold);

  font-size:11px;

  line-height:1.1;

  letter-spacing:1.5px;

  transition:.3s;

}

.header-whatsapp:hover{

  background:var(--gold);

  color:#000;

}

.section-title{

  color:var(--gold);

  font-size:42px;

  text-align:center;

  margin-bottom:60px;

}

.events-contact-section{

  padding:0 20px 120px;

  background:#050505;

}

.events-contact-content{

  width:100%;
  max-width:900px;

  margin:auto;

  text-align:center;

}

.events-contact-text{

  color:#f1e6c8;

  font-size:20px;

  margin-bottom:50px;

  line-height:1.5;

}

.events-contact-form{

  width:100%;
  max-width:760px;

  margin:0 auto;

  display:flex;
  flex-direction:column;

  align-items:stretch;

  gap:18px;

}

.events-contact-form input,
.events-contact-form textarea,
.events-contact-form button{

  width:100%;

  background:rgba(255,255,255,0.06);

  border:1px solid rgba(255,255,255,0.14);

  padding:18px 22px;

  color:#fff;

  border-radius:12px;

  outline:none;

  font-family:'Josefin Sans', sans-serif;

}

.events-contact-form textarea{

  min-height:180px;

  resize:vertical;

}

.events-contact-form .btn{

  align-self:center;

  min-width:320px;

}

.event-logos-section{

  padding:40px 20px 120px;

  background:#111;

}

.event-logos-grid{

  width:100%;
  max-width:1200px;

  margin:auto;

  display:flex;
  flex-wrap:wrap;

  justify-content:center;

  gap:50px;

}

.event-logo{

  width:170px;

}

.event-gallery-section{

  padding:0 20px 120px;

  background:#111;

}

.gallery-wrapper{

  position:relative;

  width:100%;
  max-width:1400px;

  margin:auto;

}

.event-gallery{

  overflow-x:auto;

  scrollbar-width:none;

  -webkit-overflow-scrolling:touch;

  scroll-behavior:smooth;

  cursor:grab;

}

.event-gallery:active{

  cursor:grabbing;

}

.event-gallery::-webkit-scrollbar{

  display:none;

}

.gallery-track{

  display:flex;

  gap:24px;

  width:max-content;

}

.gallery-track img{

  width:520px;
  height:680px;

  object-fit:cover;

  border-radius:20px;

}

.gallery-arrow{

  position:absolute;

  top:50%;

  transform:translateY(-50%);

  width:54px;
  height:54px;

  border:none;

  border-radius:999px;

  background:rgba(0,0,0,0.7);

  color:#fff;

  font-size:28px;

  cursor:pointer;

  z-index:5;

}

.gallery-arrow.left{

  left:-10px;

}

.gallery-arrow.right{

  right:-10px;

}

/* =========================
   MENU PAGE
========================= */

.menu-page{

  background:#000;

}

.menu-page-section{

  position:relative;

  min-height:100vh;

  padding:140px 20px 100px;

  display:flex;
  align-items:center;
  justify-content:center;

  background-image:url('assets/bg-contato.jpg');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;

}

.menu-page-overlay{

  position:absolute;
  inset:0;

  background:rgba(0,0,0,0.72);

}

.menu-page-content{

  position:relative;
  z-index:2;

  width:100%;
  max-width:1200px;

  margin:auto;

  display:flex;
  flex-direction:column;
  align-items:center;

}

.menu-image-wrapper{

  width:100%;

  border-radius:18px;

  overflow:hidden;

  box-shadow:0 20px 60px rgba(0,0,0,0.5);

}

.menu-image{

  width:100%;
  height:auto;

  display:block;

}

.menu-download-btn{

  margin-top:36px;

}

/* =========================
   ANCHOR OFFSET
========================= */

#contato,
#imprensa{

  scroll-margin-top:140px;

}

/* =========================
   MOBILE
========================= */

@media(max-width:1115px){

  .events-hero-content{

    grid-template-columns:1fr;

  }

}

@media(max-width:768px){

  .contact-page-content h1{

    font-size:38px;

  }

  .events-hero{

    padding:140px 20px 80px;

  }

  .events-text{

    text-align:center;

  }

  .events-text p{

    font-size:20px;

  }

  .section-title{

    font-size:30px;

  }

  .event-logos-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px 20px;

    justify-items:center;

  }

  .event-logo{

    width:120px;

  }

  .gallery-track img{

    width:300px;
    height:420px;

  }

  .gallery-arrow{

    width:42px;
    height:42px;

    font-size:20px;

  }

/* =========================
   MENU DOWNLOAD BUTTON
========================= */

.menu-download-btn{

  margin-top:36px;

  align-self:center;

  min-width:280px;

}

@media(max-width:768px){

  .menu-download-btn{

    width:100%;
    max-width:320px;

  }

}