*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
html{
    scroll-behavior:smooth;
}
body{
    background:#000;
    color:white;
    font-family:Arial, Helvetica, sans-serif;
    overflow-x:hidden;
    scroll-behavior:smooth;
}

/* NAVBAR */

nav{
    position:fixed;
    top:0;
    left:0;

    width:100%;

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

    padding:20px 60px;

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

    z-index:1000;
    backdrop-filter:blur(15px);

border-bottom:
1px solid rgba(255,255,255,.05);

}

.logo img{
    width:55px;
    height:auto;
}

ul{
    display:flex;
    gap:40px;
    list-style:none;
}

li{
    cursor:pointer;
    transition:.3s;
    color:white;
}
a{
    color:white;
    text-decoration:none;
}
li:hover{
    color:#f3bec9;
}

/* HERO */

.hero{
    min-height:100vh;

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

    padding:140px 80px 80px;

    background:linear-gradient(
        90deg,
        #000000 0%,
        #120509 40%,
        #2c0c13 100%
    );
}

.hero-left{
    max-width:600px;
}

.small-text{
    color:#f3bec9;
    letter-spacing:4px;
    margin-bottom:25px;
}

.hero-left h1{
    font-size:90px;
    line-height:90px;
    color:#f6d3d8;
}

.hero-left span{
    display:block;

    font-size:50px;
    letter-spacing:10px;
}

.hero-left h2{
    margin-top:30px;

    font-weight:300;

    letter-spacing:4px;
}

.hero-left h3{
    font-size:75px;
    color:#f2b8c5;
}

.hero-right img{
    width:500px;
    max-width:100%;

    border-radius:25px;

    box-shadow:
    0 0 60px rgba(255,182,193,.15);
    transition:0.4s;
    animation:heroGlow 4s ease-in-out infinite;
}
.hero-right img:hover{
    transform:
        scale(1.03)
        rotate(-1deg);

    box-shadow:
        0 0 50px rgba(245,200,211,.5),
        0 0 120px rgba(245,200,211,.25);
}

button,
.booking-btn{
    display:inline-block;

    margin-top:40px;

    background:#f5c8d3;

    color:black;

    padding:16px 40px;

    text-decoration:none;

    font-weight:bold;

    border:none;

    cursor:pointer;

    transition:.3s ease;
}
button:hover,
.booking-btn:hover{

    transform:translateY(-3px);

    box-shadow:
        0 0 25px rgba(245,200,211,.45);

}

/* SERVICES */
.services{
    padding:70px 40px;
    background:#050505;
}
.services h2{
    text-align:center;

    color:#f5c8d3;

    font-size:50px;

    margin-bottom:60px;
}
.service-grid{
    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

    max-width:1200px;
    margin:auto;
}

.card{
    background:#111;

    border-radius:20px;

    padding:40px 20px;

    text-align:center;

    border:1px solid rgba(255,255,255,.08);

    transition:.3s;
}
.card:hover{
    transform:translateY(-10px);

    box-shadow:
        0 0 20px rgba(255,192,203,.5),
        0 0 50px rgba(255,192,203,.25),
        0 0 100px rgba(255,192,203,.15);

    border:1px solid #f5c8d3;
}
.card h3{
    color:#f5c8d3;
    margin-bottom:15px;
}

.card p{
    font-size:40px;
    font-weight:bold;
}

.card span{
    display:block;
    margin-top:10px;
    color:#999;
}

/* ABOUT */
.about{
    display:grid;
    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:30px;

    padding:70px 8%;

    background:#080808;
}
.about-image img{
    width:100%;
    max-width:500px;

    border-radius:25px;

    display:block;

    margin:auto;

    box-shadow:
    0 0 25px rgba(245,200,211,.30),
    0 0 80px rgba(245,200,211,.15);
}
.about-text{
    max-width:650px;

    margin:0;
}
.about-small{
    color:#f4c2c8;
    letter-spacing:4px;
    margin-bottom:15px;
    font-size:14px;
}

.about-text h2{
    font-size:58px;
    color:#f7d3d7;
    margin-bottom:25px;
}

.about-text p{
    color:#d7d7d7;
    line-height:1.9;
    margin-bottom:18px;
}

.intro{
    color:#f4c2c8;
    font-size:20px;
}

blockquote{
    margin-top:25px;
    padding-left:20px;
    border-left:3px solid #f4c2c8;
    color:#f8dfe2;
    font-style:italic;
}

.closing{
    margin-top:25px;
    color:#f4c2c8;
    font-weight:600;
    font-size:20px;
}

@media(max-width:900px){

.about{
    grid-template-columns:1fr;
    text-align:center;
}

    .about-text h2{
        font-size:42px;
    }

    blockquote{
        border-left:none;
        padding-left:0;
    }
}
/* FLOATING BUTTONS */
.instagram-btn{
    position:fixed;
    right:25px;
    bottom:105px;

    width:65px;
    height:65px;

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

    border-radius:50%;

    background:linear-gradient(
        45deg,
        #f58529,
        #e1306c,
        #833ab4
    );

    font-size:30px;

    text-decoration:none;

    z-index:99999;

    box-shadow:
        0 0 20px rgba(225,48,108,.5);
}

.whatsapp-btn{
    position:fixed;
    right:25px;
    bottom:25px;

    width:65px;
    height:65px;

    border-radius:50%;

    background:#25D366;

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

    text-decoration:none;

    font-size:30px;

    z-index:9999;

    box-shadow:0 0 25px rgba(37,211,102,.5);

    transition:.3s;
}

.whatsapp-btn:hover{
    transform:scale(1.1);
}
/* MOBILE */

@media(max-width:768px){

    nav{
        padding:20px;
    }

    ul{
        gap:15px;
        font-size:12px;
    }

    .hero{
        flex-direction:column;
        text-align:center;

        padding:120px 20px 60px;
    }

    .hero-left h1{
        font-size:55px;
        line-height:55px;
    }

    .hero-left h3{
        font-size:45px;
    }

    .hero-right img{ box-shadow:
    0 0 40px rgba(255,182,193,.25),
    0 0 80px rgba(255,182,193,.15),
    0 0 140px rgba(255,182,193,.08);

        transition:.4s;
        margin-top:40px;
        width:100%;
    }
.hero-right img:hover{
    transform:scale(1.03);

    box-shadow:
        0 0 60px rgba(255,182,193,.35),
        0 0 120px rgba(255,182,193,.2),
        0 0 180px rgba(255,182,193,.12);
}
    .services h2{
        font-size:38px;
    }
}
.mobile-menu{
    position:fixed;
    top:0;
    right:-100%;

    width:280px;
    height:100vh;

    background:#090909;

    display:flex;
    flex-direction:column;

    gap:25px;

    padding:120px 30px;

    transition:0.4s ease;

    z-index:9999;
}

.mobile-menu.active{
    right:0;
}

.mobile-menu a{
    color:white;
    text-decoration:none;
    font-size:22px;
}

.mobile-menu a:hover{
    color:#f5c8d3;
}
.menu-btn{
    display:block;

    position:fixed;

    top:25px;
    right:25px;

    z-index:1000000;

    font-size:32px;

    color:white;

    cursor:pointer;

    user-select:none;
}

@media(max-width:1024px){

    nav ul{
        display:none;
    }

    .menu-btn{
        display:block;
    }

}
.gallery{
    padding:70px 80px;
    background:#050505;
}
.gallery h2{
    text-align:center;

    font-size:60px;

    color:#f5c8d3;

    margin-bottom:50px;
}

.gallery-slider{
    display:flex;

    gap:30px;

    overflow-x:auto;

    scroll-behavior:smooth;

    padding-bottom:20px;
}

.gallery-slider::-webkit-scrollbar{
    height:10px;
}

.gallery-slider::-webkit-scrollbar-thumb{
    background:#f5c8d3;
    border-radius:20px;
}

.gallery-slider img{
    width:300px;
    height:420px;

    object-fit:cover;

    border-radius:25px;

    cursor:pointer;

    flex-shrink:0;

    transition:.4s;
}
.gallery-slider img:hover{

    transform:
        translateY(-12px)
        scale(1.04);

    box-shadow:
        0 0 35px rgba(245,200,211,.4),
        0 0 90px rgba(245,200,211,.15);

}

.lightbox{
    position:fixed;

    inset:0;

    background:rgba(0,0,0,.95);

    display:none;

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

    z-index:999999;
}

.lightbox.active{
    display:flex;
}

.lightbox img{
    max-width:90%;
    max-height:90%;

    border-radius:20px;
}
.booking-modal{
    position:fixed;

    inset:0;

    background:rgba(0,0,0,.8);

    display:none;

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

    z-index:99999;
}

.booking-modal.active{
    display:flex;
}

.booking-content{
    background:#111;

    padding:40px;

    border-radius:20px;

    text-align:center;

    width:400px;

    box-shadow:
    0 0 40px rgba(245,200,211,.3);
}

.close-modal{
    float:right;
    cursor:pointer;
}
.reviews{
    padding:70px 80px;
    background:#050505;
    border:1px solid rgba(245,200,211,.08);
}
.reviews h2{
    text-align:center;
    color:#f5c8d3;
    font-size:60px;
    margin-bottom:60px;
}

.review-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:30px;
}

.review-card{
    background:#111;

    padding:40px;

    border-radius:25px;

   border:1px solid rgba(245,200,211,.08);

    transition:.4s ease;
}
.review-card:hover{

    transform:
    translateY(-10px)
    scale(1.02);

    box-shadow:
        0 0 25px rgba(245,200,211,.30),
        0 0 60px rgba(245,200,211,.10);

}

.stars{
    color:#f5c8d3;
    font-size:24px;
    margin-bottom:20px;
}

.review-card p{
    line-height:1.8;
}

.review-card h4{
    margin-top:20px;
    color:#f5c8d3;
}
.faq{
    padding:70px 80px;
    background:#050505;
}
.faq h2{
    text-align:center;
    font-size:60px;
    color:#f5c8d3;
    margin-bottom:60px;
}

.faq-item{
    max-width:900px;
    margin:20px auto;

    background:#111;

    border-radius:20px;

    overflow:hidden;
}

.faq-question{
    width:100%;

    padding:25px;

    text-align:left;

    background:none;

    border:none;

    color:white;

    font-size:20px;

    cursor:pointer;
}

.faq-answer{
    display:none;

    padding:0 25px 25px;

    color:#ccc;

    line-height:1.8;
}

.faq-answer.active{
    display:block;
}
.fade-up{
    opacity:0;
    transform:translateY(40px);

    transition:all .8s ease;
}

.fade-up.show{
    opacity:1;
    transform:translateY(0);
}
.footer{
    background:#000;
    padding:80px 20px;
    text-align:center;

    border-top:
    1px solid rgba(255,255,255,.08);
}

.footer h2{
    color:#f5c8d3;
    margin-bottom:15px;
}

.footer p{
    color:#bbb;
}

.footer-links{
    margin:30px 0;

    display:flex;
    justify-content:center;
    gap:30px;
}

.footer-links a{
    color:#f5c8d3;
    text-decoration:none;

    transition:.3s;
}

.footer-links a:hover{
    color:white;
}

.footer-copy{
    margin-top:30px;
    font-size:14px;
}

.footer h2{
    color:#f5c8d3;
    margin-bottom:15px;
}

.footer p{
    color:#ccc;
}

.footer-links{
    margin:25px 0;

    display:flex;
    justify-content:center;
    gap:30px;
}

.footer-links a{
    color:#f5c8d3;
    text-decoration:none;

    transition:.3s;
}

.footer-links a:hover{
    color:white;
}

.footer-copy{
    font-size:14px;
    color:#777;
}
.review-content{
    max-height:0;

    overflow:hidden;

    transition:.4s;
}

.review-content.active{
    max-height:300px;
}

.review-toggle{
    background:none;

    border:none;

    color:#f5c8d3;

    cursor:pointer;
}
.parallax{
    transform-style:preserve-3d;

    transition:
    transform .2s ease;
}
.faq-item{
    transition:.3s;
}

.faq-item:hover{
    transform:translateY(-5px);

    box-shadow:
        0 0 20px rgba(245,200,211,.25),
        0 0 50px rgba(245,200,211,.08);
}
.instagram-btn,
.whatsapp-btn{
    animation:float 3s ease-in-out infinite;
}

@keyframes float{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }

    100%{
        transform:translateY(0);
    }

}
@keyframes heroGlow{

    0%{
        box-shadow:
        0 0 40px rgba(245,200,211,.15);
    }

    50%{
        box-shadow:
        0 0 70px rgba(245,200,211,.30);
    }

    100%{
        box-shadow:
        0 0 40px rgba(245,200,211,.15);
    }

}
.fade-up{
    opacity:0;
    transform:translateY(40px);
    transition:all .8s ease;
}

.fade-up.show{
    opacity:1;
    transform:translateY(0);
}
.menu-overlay{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,.6);

    opacity:0;
    visibility:hidden;

    transition:.3s;

    z-index:9997;
}

.menu-overlay.active{
    opacity:1;
    visibility:visible;
}
.close-menu{
    position:absolute;
    top:30px;
    right:30px;

    font-size:32px;

    color:white;

    cursor:pointer;
}
.payments{
    padding:70px 20px;

    text-align:center;

    background:#080808;
}

.payments h2{
    color:#f5c8d3;

    font-size:50px;

    margin-bottom:15px;
}

.payments p{
    color:#bbb;

    margin-bottom:40px;
}

.payment-grid{
    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:20px;
}

.payment-card{
    background:#111;

    border:1px solid rgba(245,200,211,.1);

    padding:20px 30px;

    border-radius:15px;

    color:white;

    transition:.3s ease;
}

.payment-card:hover{

    transform:
    translateY(-5px);

    box-shadow:
    0 0 20px rgba(245,200,211,.2);

}
