/*==================================================
                GOOGLE FONTS
==================================================*/

:root{

    --primary:#C18A4D;
    --secondary:#F7F2EC;
    --dark:#1A120E;
    --dark-light:#2A1E18;
    --text:#F4F4F4;
    --gray:#A8A8A8;
    --white:#FFFFFF;

    --radius:18px;

    --transition:.45s ease;

    --container:1200px;

}

/*==================================================
                    RESET
==================================================*/

*,
*::before,
*::after{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:"Poppins",sans-serif;

    background:var(--dark);

    color:var(--text);

    overflow-x:hidden;

    line-height:1.6;

}

body.loading{

    overflow:hidden;

}

img{

    display:block;

    width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

button{

    border:none;

    background:none;

    cursor:pointer;

    font-family:inherit;

}

section{

    position:relative;

}

.container{

    width:min(92%,var(--container));

    margin:auto;

}

/*==================================================
                TYPOGRAPHY
==================================================*/

h1,h2,h3{

    font-family:"Cormorant Garamond",serif;

    font-weight:700;

    line-height:1.05;

}

.section-subtitle{

    display:inline-block;

    color:var(--primary);

    font-size:.9rem;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-title span{

    color:var(--primary);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:.85rem;

}

.section-title h2{

    margin-top:10px;

    font-size:3.5rem;

}

/*==================================================
                    BUTTONS
==================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:16px 34px;

    border-radius:100px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    color:#fff;

}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:0 20px 40px rgba(193,138,77,.35);

}

.btn-outline{

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

}

.btn-outline:hover{

    background:rgba(255,255,255,.08);

}

.btn-large{

    padding:20px 46px;

    font-size:1.05rem;

}

/*==================================================
                PRELOADER
==================================================*/

.preloader{

    position:fixed;

    inset:0;

    background:#140d09;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

}

.preloader__content{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:25px;

}

.preloader__content img{

    width:170px;

}

.preloader__content span{

    letter-spacing:3px;

    color:var(--gray);

}

/*==================================================
                    CURSOR
==================================================*/

.cursor{

    position:fixed;

    width:12px;

    height:12px;

    border-radius:50%;

    background:var(--primary);

    pointer-events:none;

    z-index:9999;

}

.cursor2{

    position:fixed;

    width:40px;

    height:40px;

    border:1px solid rgba(255,255,255,.3);

    border-radius:50%;

    pointer-events:none;

    z-index:9998;

}

/*==================================================
            FLOATING WHATSAPP
==================================================*/

.floating-whatsapp{

    position:fixed;

    right:30px;

    bottom:30px;

    z-index:999;

    background:#25D366;

    color:#fff;

    display:flex;

    align-items:center;

    gap:12px;

    padding:15px 22px;

    border-radius:100px;

    box-shadow:0 15px 35px rgba(0,0,0,.35);

    transition:.35s;

}

.floating-whatsapp:hover{

    transform:translateY(-5px);

}

.floating-whatsapp i{

    font-size:1.4rem;

}

/*==================================================
                    HERO
==================================================*/

.hero{

    position:relative;

    width:100%;

    height:100svh;

    min-height:100svh;

    overflow:hidden;

}

.hero__video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    transform:scale(1.1);

    z-index: 0;

}

.hero__overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.55);

    z-index:1;


}

.hero__gradient{

    position:absolute;

    inset:0;

    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.25),
        rgba(0,0,0,.75)
    );

}

.hero__content{

    position:relative;

    z-index:3;

    min-height:100svh;

    width:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:40px 20px 80px;

}

.hero__logo{

    width:190px;

    margin-bottom:30px;

}

.hero__tag{

    color:var(--primary);

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.hero__title{

    font-size:clamp(2rem, 6vw, 5rem);

    line-height:0.95;

    margin-bottom:20px;

}

.hero__subtitle{

    max-width:700px;

    font-size:1.15rem;

    color:#ddd;

    margin-bottom:40px;

}

.hero__info{

    display:flex;

    gap:30px;

    margin-bottom:45px;

    flex-wrap:wrap;

    justify-content:center;

}

.hero__info div{

    display:flex;

    align-items:center;

    gap:10px;

    background:rgba(255,255,255,.08);

    padding:14px 24px;

    border-radius:100px;

    backdrop-filter:blur(10px);

}

.hero__info i{

    color:var(--primary);

}

.scroll-indicator{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    z-index:5;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:12px;

    color:#fff;

    animation:float 2s infinite;

}

@keyframes float{

    0%,100%{

        transform:translate(-50%,0);

    }

    50%{

        transform:translate(-50%,10px);

    }

}

/*==================================================
                    EXPERIENCE
==================================================*/

.experience{

    position:relative;

    background:#F7F2EC;

    color:#241815;

    padding:140px 0;

}

.experience::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:120px;

    background:linear-gradient(to bottom,#1A120E,transparent);

}

.experience__grid{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    align-items:center;

    gap:80px;

}

.experience__image{

    position:relative;

    overflow:hidden;

    border-radius:26px;

    box-shadow:0 35px 80px rgba(0,0,0,.18);

}

.experience__image img{

    height:720px;

    object-fit:cover;

    transition:1.2s;

}

.experience__image:hover img{

    transform:scale(1.08);

}

.experience__content span{

    color:var(--primary);

    letter-spacing:4px;

    text-transform:uppercase;

    font-size:.85rem;

}

.experience__content h2{

    font-size:4rem;

    margin:20px 0 30px;

    line-height:1;

}

.experience__content p{

    font-size:1.1rem;

    color:#5d5148;

    line-height:2;

}

/*==================================================
                HIGHLIGHTS
==================================================*/

.highlights{

    background:var(--dark);

    padding:140px 0;

}

.cards{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.card{

    position:relative;

    overflow:hidden;

    border-radius:24px;

    background:#241815;

    transition:.45s;

    cursor:pointer;

}

.card:hover{

    transform:translateY(-15px);

}

.card img{

    width:100%;

    height:420px;

    object-fit:cover;

    transition:1s;

}

.card:hover img{

    transform:scale(1.12);

}

.card::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(to top,
        rgba(0,0,0,.82),
        rgba(0,0,0,.1));

}

.card__content{

    position:absolute;

    left:30px;

    right:30px;

    bottom:30px;

    z-index:5;

}

.card__content h3{

    font-size:2rem;

    margin-bottom:12px;

}

.card__content p{

    color:#d8d8d8;

    font-size:.95rem;

    line-height:1.7;

}

/*==================================================
                    EVENT
==================================================*/

.event{

    background:#201511;

    padding:140px 0;

}

.event__grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.event__item{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    padding:55px 30px;

    text-align:center;

    transition:.45s;

    backdrop-filter:blur(10px);

}

.event__item:hover{

    background:rgba(255,255,255,.08);

    transform:translateY(-12px);

}

.event__item i{

    font-size:3rem;

    color:var(--primary);

    margin-bottom:25px;

}

.event__item h3{

    font-size:2rem;

}

/*==================================================
                COUNTDOWN
==================================================*/

.countdown{

    position:relative;

    overflow:hidden;

    padding:180px 0;

    background:url("../img/countdown.jpg") center/cover;

}

.countdown__overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.72);

}

.countdown .container{

    position:relative;

    z-index:2;

    text-align:center;

}

.countdown h2{

    font-size:4.5rem;

    margin:20px 0 60px;

}

.timer{

    display:flex;

    justify-content:center;

    gap:30px;

    flex-wrap:wrap;

    margin-bottom:60px;

}

.timer__box{

    width:170px;

    height:170px;

    border-radius:24px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(12px);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}

.timer__box span{

    font-size:4rem;

    font-weight:700;

    color:var(--primary);

}

.timer__box small{

    margin-top:10px;

    text-transform:uppercase;

    letter-spacing:2px;

    color:#ddd;

}

.countdown p{

    font-size:1.15rem;

    color:#ddd;

    margin-bottom:40px;

}

/*==================================================
                IMAGE PARALLAX
==================================================*/

.experience__image,
.card{

    will-change:transform;

}

/*==================================================
                SECTION SPACING
==================================================*/

.highlights .section-title,
.event .section-title,
.countdown .section-subtitle{

    position:relative;

    z-index:2;

}

/*==================================================
                    GALLERY
==================================================*/

.gallery{

    background:#14100D;

    padding:120px 4%;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    grid-auto-rows:260px;

    gap:20px;

}

.gallery__item{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    cursor:pointer;

}

.gallery__item.large{

    grid-column:span 2;

    grid-row:span 2;

}

.gallery__item.tall{

    grid-row:span 2;

}

.gallery__item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:1.2s;

}

.gallery__item::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        to top,

        rgba(0,0,0,.45),

        transparent

    );

    opacity:0;

    transition:.5s;

    z-index:2;

}

.gallery__item:hover img{

    transform:scale(1.12);

}

.gallery__item:hover::before{

    opacity:1;

}

/*==================================================
                    LOCATION
==================================================*/

.location{

    padding:150px 0;

    background:#F7F2EC;

    color:#241815;

}

.location__grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.location__content span{

    color:var(--primary);

    letter-spacing:4px;

    text-transform:uppercase;

}

.location__content h2{

    font-size:4rem;

    margin:20px 0;

}

.location__content p{

    color:#65594F;

    margin-bottom:40px;

    line-height:2;

}

.location__image{

    overflow:hidden;

    border-radius:28px;

    box-shadow:0 35px 80px rgba(0,0,0,.15);

}

.location__image img{

    height:650px;

    object-fit:cover;

    transition:1s;

}

.location__image:hover img{

    transform:scale(1.08);

}

/*==================================================
                    FINAL CTA
==================================================*/

.cta{
    

    position:relative;

    width: 100%;

    height:450px;

    overflow:hidden;

    display:flex;

    justify-content:center;

    align-items:center;

}


.cta__background{

    position:absolute;

    inset:0;
    

}


.cta__background img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    transform:none;

}


.cta__overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.55);
    

}


.cta__content{

    position:relative;

    z-index:5;

    text-align:center;

    max-width:700px;

    padding:40px;

}

/*==================================================
                WHATSAPP CTA
==================================================*/

.whatsapp-cta{

    background:#120D0B;

    padding:70px 20px;

    text-align:center;

}


.whatsapp-cta__content{

    max-width:700px;

    margin:auto;

}


.whatsapp-cta h2{

    font-family:var(--title-font);

    font-size:3rem;

    margin-bottom:20px;

}


.whatsapp-cta p{

    color:#ddd;

    margin-bottom:35px;

}


.whatsapp-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    background:#25D366;

    color:#fff;

    padding:16px 35px;

    border-radius:50px;

    font-size:1.1rem;

    font-weight:600;

    transition:.3s;

}


.whatsapp-btn i{

    font-size:1.5rem;

}


.whatsapp-btn:hover{

    transform:translateY(-5px);

}



/*==================================================
                    FOOTER
==================================================*/

.footer{

    background:#120D0B;

    padding:0px 0;

    text-align:center;

}

.footer__logo{

    width:130px;

    margin:auto auto 25px;

}

.footer p{

    font-size:1.1rem;

    margin-bottom:10px;

}

.footer small{

    color:#888;

}

/*==================================================
                    GRAIN
==================================================*/

.grain{

    position:fixed;

    inset:0;

    pointer-events:none;

    opacity:.04;

    z-index:999;

    background-image:url("../assets/grain.png");

    animation:grainMove .35s steps(6) infinite;

}

@keyframes grainMove{

    0%{transform:translate(0,0);}

    25%{transform:translate(-5%,-10%);}

    50%{transform:translate(8%,5%);}

    75%{transform:translate(-3%,8%);}

    100%{transform:translate(0,0);}

}

/*==================================================
                    STEAM
==================================================*/

.steam{

    position:fixed;

    bottom:-100px;

    width:220px;

    height:220px;

    border-radius:50%;

    filter:blur(70px);

    background:rgba(255,255,255,.08);

    animation:steam 9s linear infinite;

    pointer-events:none;

}

.steam1{

    left:15%;

}

.steam2{

    left:50%;

    animation-delay:3s;

}

.steam3{

    left:80%;

    animation-delay:6s;

}

@keyframes steam{

    from{

        transform:translateY(0) scale(.4);

        opacity:0;

    }

    30%{

        opacity:.45;

    }

    to{

        transform:translateY(-120vh) scale(1.3);

        opacity:0;

    }

}

.location__map{

    width:100%;

    height:350px;

    border-radius:20px;

    overflow:hidden;

}


.location__map iframe{

    width:100%;

    height:100%;

    border:0;

}

/*==================================================
                    RESPONSIVE
==================================================*/

@media(max-width:1100px){

    .experience__grid,
    .location__grid{

        grid-template-columns:1fr;

    }

    .cards{

        grid-template-columns:repeat(2,1fr);

    }

    .event__grid{

        grid-template-columns:repeat(2,1fr);

    }

    .gallery{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .hero__title{

        font-size:3.5rem;

    }

    .hero__subtitle{

        font-size:1rem;

    }

    .hero__info{

        flex-direction:column;

    }

    .cards{

        grid-template-columns:1fr;

    }

    .event__grid{

        grid-template-columns:1fr;

    }

    .gallery{

        grid-template-columns:1fr;

        grid-auto-rows:260px;

    }

    .gallery__item.large,
    .gallery__item.tall{

        grid-column:auto;

        grid-row:auto;

    }

    .cta__content h2{

        font-size:3.3rem;

    }

    .timer__box{

        width:130px;

        height:130px;

    }

    .timer__box span{

        font-size:2.6rem;

    }

    .floating-whatsapp{

        right:15px;

        bottom:15px;

        padding:15px;

    }

    .floating-whatsapp span{

        display:none;

    }

}

@media(max-width:768px){

    .hero__title{

        font-size:clamp(2.5rem, 11vw, 4rem);

    }

    .hero__subtitle{

        font-size:1rem;

        margin-bottom:25px;

    }

    .hero__info{

        gap:15px;

        margin-bottom:20px;

    }

}