:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-2193a8f */@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

/* ==========================================
   RESET
========================================== */

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:#fff;
    color:#111;
    line-height:1.6;
    overflow-x:hidden;
}

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

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

:root{
    --black:#111111;
    --white:#ffffff;
    --gold:#d4af37;
    --grey:#666666;
    --light:#f8f8f8;
    --shadow:0 20px 50px rgba(0,0,0,.08);
    --radius:28px;
}

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

.container{
    width:min(1200px,92%);
    margin:auto;
}

.section-header{
    text-align:center;
    margin-bottom:4rem;
}

.section-label{
    display:block;
    text-transform:uppercase;
    letter-spacing:4px;
    font-size:.8rem;
    color:var(--grey);
    margin-bottom:1rem;
}

.section-title{
    font-family:'Playfair Display',serif;
    font-size:3.8rem;
    line-height:1.1;
    font-weight:700;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    transition:.3s ease;
    font-weight:600;
    cursor:pointer;
}

.btn:hover{
    transform:translateY(-3px);
}

/* ==========================================
   NAVBAR
========================================== */

.navbar{
    position:sticky;
    top:0;
    z-index:1000;
    background:#111;
    color:#fff;
    backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.navbar-container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:85px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.brand-icon{
    height:22px;
    width:75px;
    display:block;
    background:none;
    border-radius:0;
}

.brand-name{
    font-family:'Playfair Display',serif;
    font-size:2rem;
    font-weight:700;
}

.nav-links{
    display:flex;
    gap:2rem;
}

.nav-links a{
    transition:.3s;
    font-size:.95rem;
}

.nav-links a:hover{
    color:var(--gold);
}

/* SMALL NAVBAR BUTTON */
.navbar .btn-primary{
    background:#fff;
    color:#111;
    padding:9px 16px;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    white-space:nowrap;
}

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

.hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    position:relative;

    background:
    linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.82)),
    url('https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?q=80&w=2000&auto=format&fit=crop');

    background-size:cover;
    background-position:center;
}

.hero-content{
    position:relative;
    z-index:2;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 24px;
    border-radius:999px;
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(15px);
    margin-bottom:2rem;
    font-size:.85rem;
}

.hero-title{
    font-family:'Playfair Display',serif;
    font-size:6rem;
    line-height:.9;
    margin-bottom:2rem;
}

.hero-description{
    max-width:750px;
    margin:0 auto 3rem;
    font-size:1.5rem;
    font-weight:300;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:1rem;
    margin-bottom:4rem;
}

.hero-buttons .btn-primary{
    background:#fff;
    color:#111;
    padding:18px 36px;
    font-size:1rem;
}

.hero-buttons .btn-outline{
    border:1px solid #fff;
    color:#fff;
    padding:18px 36px;
    font-size:1rem;
}

.hero-buttons .btn-outline:hover{
    background:rgba(255,255,255,.1);
}

.hero-features{
    display:flex;
    justify-content:center;
    gap:2rem;
    flex-wrap:wrap;
}

.feature-item{
    display:flex;
    align-items:center;
    gap:.5rem;
}

.feature-item i{
    color:#34d399;
}

/* ==========================================
   SERVICES
========================================== */

.services{
    padding:120px 0;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
}

.service-card{
    position:relative;
    padding:2rem;
    border:1px solid #eee;
    border-radius:var(--radius);
    background:#fff;
    transition:.35s ease;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:var(--shadow);
}

.service-image{
    height:220px;
    border-radius:20px;
    background:#f4f4f4;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:4rem;
    margin-bottom:1.5rem;
}

.service-card h3{
    font-size:1.8rem;
    margin-bottom:.5rem;
}

.service-card p{
    color:var(--grey);
    margin-bottom:1rem;
}

.service-price{
    font-size:2rem;
    font-weight:700;
}

.service-meta{
    color:#888;
    font-size:.9rem;
}

.service-badge{
    position:absolute;
    top:-12px;
    right:20px;
    background:var(--gold);
    color:#111;
    padding:8px 16px;
    border-radius:999px;
    font-size:.7rem;
    font-weight:700;
}

.services-note{
    text-align:center;
    margin-top:3rem;
    color:var(--grey);
}

/* ==========================================
   EXPERIENCE
========================================== */

.experience{
    background:#111;
    color:#fff;
    padding:120px 0;
}

.experience-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5rem;
    align-items:center;
}

.experience-list{
    margin-top:3rem;
}

.experience-item{
    display:flex;
    gap:1.5rem;
    margin-bottom:2rem;
}

.experience-icon{
    width:60px;
    height:60px;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:1.4rem;
}

.experience-item h4{
    font-size:1.3rem;
    margin-bottom:.4rem;
}

.experience-item p{
    color:#bbb;
}

.testimonial-card{
    background:#1b1b1b;
    border-radius:var(--radius);
    padding:3rem;
    text-align:center;
}

.testimonial-icon{
    font-size:4rem;
    margin-bottom:1rem;
}

.testimonial-card blockquote{
    font-size:1.6rem;
    font-style:italic;
}

.testimonial-card cite{
    display:block;
    margin-top:1.5rem;
    color:#999;
}

/* ==========================================
   GALLERY
========================================== */

.gallery{
    padding:120px 0;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem;
}

.gallery-item{
    overflow:hidden;
    border-radius:24px;
}

.gallery-item img{
    aspect-ratio:1/1;
    object-fit:cover;
    transition:.5s ease;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

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

.contact{
    padding:120px 0;
    background:#f8f8f8;
}

.contact-container{
    max-width:700px;
    margin:auto;
    text-align:center;
}

.contact-description{
    color:var(--grey);
    margin:1rem 0 3rem;
}

.booking-form{
    background:#fff;
    padding:3rem;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
}

.booking-form input{
    width:100%;
    padding:18px;
    border:1px solid #ddd;
    border-radius:16px;
    margin-bottom:1rem;
    font-size:1rem;
}

.booking-form input:focus{
    outline:none;
    border-color:var(--gold);
}

.btn-dark{
    background:#111;
    color:#fff;
    width:100%;
    padding:18px;
    border:none;
    font-size:1rem;
}

.contact-phone{
    margin-top:2rem;
}

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

.footer{
    background:#111;
    color:#fff;
    padding:80px 0;
}

.footer-container{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.footer-details{
    text-align:right;
}

.copyright{
    margin-top:1rem;
    opacity:.6;
    font-size:.85rem;
}

/* ==========================================
   TABLET
========================================== */

@media (max-width:1024px){

    .hero-title{
        font-size:4.8rem;
    }

    .services-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

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

@media (max-width:760px){

    .navbar-container{
        min-height:72px;
    }

    .nav-links{
        display:none;
    }

    .brand-name{
        font-size:1.5rem;
    }

    .navbar .btn-primary{
        padding:7px 10px;
        font-size:.6rem;
    }

    .hero-title{
        font-size:3.2rem;
    }

    .hero-description{
        font-size:1rem;
    }

    .hero-buttons{
        flex-direction:column;
        align-items:center;
    }

    .hero-buttons .btn-primary,
    .hero-buttons .btn-outline{
        padding:12px 22px;
        min-width:180px;
        font-size:.85rem;
    }

    .section-title{
        font-size:2.4rem;
    }

    .services-grid,
    .experience-grid{
        grid-template-columns:1fr;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .form-row{
        grid-template-columns:1fr;
    }

    .booking-form{
        padding:2rem;
    }

    .footer-container{
        flex-direction:column;
        gap:2rem;
        text-align:center;
    }

    .footer-details{
        text-align:center;
    }
}

/* ==========================================
   SMALL PHONES
========================================== */

@media (max-width:480px){

    .hero-title{
        font-size:2.5rem;
    }

    .hero-description{
        font-size:.95rem;
    }

    .section-title{
        font-size:2rem;
    }

    .gallery-grid{
        grid-template-columns:1fr;
    }

    .hero-buttons .btn-primary,
    .hero-buttons .btn-outline{
        min-width:160px;
        padding:10px 10px;
        font-size:.8rem;
    }

    .navbar .btn-primary{
        padding:6px 5px;
        font-size:.55rem;
    }
}
@media (max-width:1024px){

    .navbar .btn-primary{
        display:none;
    }

}
@media (max-width:768px){

    .navbar-container{
        justify-content:center;
    }

    .brand{
        margin:0 auto;
    }

    .navbar-logo{
        height:50px;
    }

}
@media (max-width:768px){

    .brand{
        gap:1px;
    }

    .brand-icon,
    .navbar-logo{
        margin-right:7px;
    }

    .brand-name{
        margin-left:0;
    }

}
@media (max-width:768px){

    .brand-name{
        margin-left:-8px;
    }

}/* End custom CSS */