:root {

    --bg: #faf6ef;
    --dark: #17110e;
    --dark-soft: #261915;

    --gold: #c79a55;
    --gold-light: #e7c98e;

    --wine: #7d2638;

    --text: #655a54;

    --white: #ffffff;

    --border: rgba(23, 17, 14, .12);

    --shadow:
        0 30px 80px rgba(0, 0, 0, .12);

}


*,
*::before,
*::after {

    box-sizing: border-box;

}





html {

    scroll-behavior: smooth;
    overflow-x: hidden;

}



body {

    margin: 0;
    font-family: 'Times New Roman', Times, serif;
    background: var(--bg);
    color: var(--dark);

    overflow-x: hidden;

}



img {

    max-width: 100%;
    height: auto;

}



.container {

    max-width: 1240px;

}




.brand {

    font-family: 'Cormorant Garamond', serif;

}



/* ==========================
NAVBAR
========================== */


.navbar {

    position: fixed;
    top: 0;
    left: 0;

    width: 100%;

    z-index: 9999;

    padding: 22px 0;

    background:

        rgba(250, 246, 239, .75);

    backdrop-filter: blur(18px);

    border-bottom: 1px solid var(--border);

    transition: .3s;

}



.brand {

    font-size: 34px;
    font-weight: 600;

    color: var(--dark) !important;

    display: flex;
    align-items: center;

    gap: 12px;

}



.brand span {

    width: 42px;
    height: 42px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--gold);

    color: var(--wine);

    font-style: italic;

}



.nav-link {

    font-size: 14px;

    font-weight: 600;

    letter-spacing: .08em;

    text-transform: uppercase;

    color: var(--dark) !important;

    margin: 0 14px;

}



.nav-link:hover {

    color: var(--wine) !important;

}



.nav-btn {

    padding: 14px 30px;

    background: var(--wine);

    color: #fff !important;

    border-radius: 50px;

    font-size: 13px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: .08em;

}



.navbar-toggler {

    border: 0;

    font-size: 25px;

}


@media(max-width:991px) {


    .navbar-collapse {

        margin-top: 20px;

        background: #fff;

        padding: 25px;

        border-radius: 20px;

        box-shadow: var(--shadow);

    }


    .nav-link {

        margin: 10px 0;

        text-align: center;

    }


    .nav-btn {

        display: block;

        text-align: center;

        margin-top: 15px;

    }


    .brand {

        font-size: 28px;

    }


}






/* ==========================
HERO
========================== */


.hero {

    min-height: 100vh;

    background:

        linear-gradient(120deg,
            #17110e,
            #291917);

    padding-top: 150px;

    padding-bottom: 100px;

    position: relative;

    overflow: hidden;

    color: white;

}



.hero::before {

    content: "";

    position: absolute;

    width: 500px;

    height: 500px;

    background:

        radial-gradient(circle,
            rgba(199, 154, 85, .35),
            transparent 70%);

    right: -150px;

    top: -100px;

}



.hero-content {

    position: relative;
    z-index: 2;

}



.hero-badge {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 10px 20px;

    border-radius: 50px;

    background:

        rgba(255, 255, 255, .08);

    border: 1px solid rgba(255, 255, 255, .2);

    font-size: 13px;

    letter-spacing: .12em;

    text-transform: uppercase;

    color: var(--gold-light);

}

p{
    font-size: 1.4rem !important;
}


.hero h1 {

    font-size:

        clamp(38px, 6vw, 68px);

    font-weight: 500;

    line-height: 1;

    margin: 30px 0;

    color: white;

}



.hero h1 span {

    font-style: italic;

    color: var(--gold-light);

}



.hero p {

    font-size: 19px;

    line-height: 1.8;

    color:

        rgba(255, 255, 255, .7);

    max-width: 520px;

}



.hero-actions {

    display: flex;

    gap: 20px;

    flex-wrap: wrap;

    margin-top: 40px;

}



.btn-primary-custom {

    background: var(--gold);

    color: #fff;

    padding: 16px 35px;

    border-radius: 50px;

    font-weight: 600;

    text-decoration: none;

}



.btn-outline-custom {

    border: 1px solid rgba(255, 255, 255, .4);

    color: white;

    padding: 16px 35px;

    border-radius: 50px;

    text-decoration: none;

}



.btn-primary-custom:hover {

    background: white;

    color: var(--dark);

}





/* HERO IMAGE */


.hero-gallery {

    position: relative;

    height: 650px;

}



.hero-gallery img {

    position: absolute;

    object-fit: cover;

    border-radius: 30px;

    box-shadow:

        0 35px 80px rgba(0, 0, 0, .5);

}



.img-main {

    width: 340px;

    height: 480px;

    right: 10px;

    top: 100px;

    z-index: 3;

}



.img-left {

    width: 230px;

    height: 320px;

    left: 30px;

    top: 80px;

    transform: rotate(-8deg);

}



.img-right {

    width: 220px;

    height: 300px;

    left: 0;

    bottom: 40px;

    transform: rotate(8deg);

}








@media(max-width:991px) {


    .hero {

        padding-top: 130px;

        text-align: center;

    }


    .hero p {

        margin: auto;

    }


    .hero-gallery {

        height: 650px;

        margin-top: -30px;

    }



    .img-main {

        width: 260px;
        
        height: 380px;
        top: 40%;

        right: 50%;

        transform: translateX(50%);

    }


    .img-left {

        width: 160px;

        height: 230px;

        left: 0;

    }


   

    .img-right {

        width: 120px;

        height: 120px;
        top: 80px;
        left: 150px;

        bottom: 40px;

    }


}


@media(max-width:576px) {




    .hero h1 {

        font-size: 45px;

    }


    .hero-actions {

        justify-content: center;

    }


}




/* remove horizontal scroll */

.row {

    margin-left: 0;
    margin-right: 0;

}


section,
.container,
.hero-gallery {

    overflow: hidden;

}


/* ==========================
PART 2 CSS
========================== */


section {

    padding: 100px 0;

}



.section-head h2 {

    font-size: clamp(38px, 4vw, 58px);

    line-height: 1.1;

    margin: 20px 0;

}


.section-head p {

    max-width: 650px;

    margin: auto;

    color: var(--text);

    font-size: 18px;

    line-height: 1.8;

}



.luxury-label {

    color: var(--gold);

    font-size: 13px;

    letter-spacing: .2em;

    font-weight: 700;

}





.process-card {

    height: 100%;

    padding: 40px 30px;

    background: #fff;

    border: 1px solid var(--border);

    position: relative;

    transition: .4s;

}


.process-card:hover {

    transform: translateY(-12px);

    box-shadow: var(--shadow);

}



.process-number {

    font-size: 60px;

    font-family: 'Cormorant Garamond';

    color: rgba(199, 154, 85, .2);

    font-weight: 700;

}



.process-card i {

    font-size: 35px;

    color: var(--wine);

    margin: 25px 0;

}



.process-card h3 {

    font-size: 28px;

}





.premium-feature {

    padding: 35px;

    background: white;

    border-radius: 20px;

    height: 100%;

    transition: .3s;

}


.premium-feature:hover {

    transform: translateY(-8px);

    box-shadow: var(--shadow);

}



.feature-icon {

    width: 65px;

    height: 65px;

    border-radius: 50%;

    background: #f7ead8;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--wine);

    font-size: 25px;

    margin-bottom: 25px;

}




.member-box {

    background: white;

    overflow: hidden;

    border-radius: 25px;

    box-shadow: 0 20px 50px rgba(0, 0, 0, .08);

}



.member-photo {

    height: 400px;

    position: relative;

}



.member-photo img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.member-photo span {

    position: absolute;

    top: 20px;

    left: 20px;

    background: white;

    padding: 8px 18px;

    border-radius: 30px;

    font-size: 12px;

}



.member-info {

    padding: 25px;

}


.tags span {

    background: #f5ede2;

    padding: 6px 14px;

    border-radius: 30px;

    font-size: 12px;

    margin-right: 5px;

}




.testimonial-card {

    background: #fff;

    padding: 40px;

    height: 100%;

    border-radius: 25px;

}



.testimonial-card i {

    font-size: 35px;

    color: var(--gold);

}



.testimonial-card p {

    font-family: 'Cormorant Garamond';

    font-size: 28px;

    line-height: 1.5;

    margin: 30px 0;

}



/* ==========================
PART 3 CSS
========================== */


.safety-section {

    background: #fff;

}



.safety-section h2 {

    font-size: 55px;

    line-height: 1.1;

    margin: 25px 0;

}



.safety-text {

    font-size: 18px;

    line-height: 1.8;

    color: var(--text);

    margin-bottom: 35px;

}



.safety-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 25px;

}



.safety-box {

    background: var(--bg);

    padding: 35px;

    border-radius: 25px;

}



.safety-box i {

    font-size: 35px;

    color: var(--wine);

    margin-bottom: 20px;

}



.safety-box h3 {

    font-size: 25px;

}



.safety-box p {

    color: var(--text);

    line-height: 1.7;

}






.premium-accordion {

    max-width: 900px;

    margin: auto;

}



.premium-accordion .accordion-item {

    border: none;

    background: white;

    margin-bottom: 15px;

    border-radius: 15px;

    overflow: hidden;
    font-size: 1.3rem;

}



.premium-accordion button {

    font-family: 'Cormorant Garamond';

    font-size: 25px;

    padding: 30px;

}



.accordion-button:not(.collapsed) {

    background: #fff;

    color: var(--wine);

}





.premium-accordion .accordion-body {

    padding: 0 30px 30px;

    font-size: 20px;

    color: var(--text);

    line-height: 1.8;

}

h2{
    font-weight: 600 !important;
}

h3{
    font-weight: 600 !important;
}

ul{
    font-size: 1.2rem !important;
}


a{
    text-decoration: none !important;
}



.premium-cta {

    background:

        linear-gradient(135deg,
            #7d2638,
            #40141d);

    color: white;

    text-align: center;

}



.cta-inner {

    max-width: 750px;

    margin: auto;

}



.cta-inner h2 {

    font-size: 60px;

    color: white;

    margin: 25px 0;

}



.cta-inner p {

    font-size: 20px;

    color: rgba(255, 255, 255, .8);

}





.btn-light-custom {

    display: inline-block;

    background: white;

    color: var(--wine);

    padding: 16px 40px;

    border-radius: 50px;

    font-weight: 700;

    margin-top: 25px;

}







.premium-footer {

    background: #17110e;

    padding: 80px 0 30px;

    color: rgba(255, 255, 255, .65);

}



.footer-brand {

    color: white !important;

}



.premium-footer h4 {

    font-size: 14px;

    letter-spacing: .15em;

    color: var(--gold-light);

    text-transform: uppercase;

    margin-bottom: 25px;

}



.premium-footer a {

    display: block;

    color: rgba(255, 255, 255, .65);

    margin-bottom: 15px;

}



.premium-footer a:hover {

    color: white;

}



.social-links {

    display: flex;

    gap: 15px;

}



.social-links a {

    width: 45px;

    height: 45px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .1);

    display: flex;

    align-items: center;

    justify-content: center;

}



.footer-bottom {

    text-align: center;

    padding-top: 25px;

}








@media(max-width:991px) {


    .safety-section h2 {

        font-size: 42px;

    }


    .safety-grid {

        grid-template-columns: 1fr;

    }


    .cta-inner h2 {

        font-size: 42px;

    }


}



@media(max-width:576px) {


    section {

        padding: 70px 0;

    }


    .safety-section h2 {

        font-size: 35px;

    }


    .cta-inner h2 {

        font-size: 35px;

    }



    .premium-accordion button {

        font-size: 20px;

    }


}



html,
body {

    overflow-x: hidden !important;

}


