html {
    scroll-behavior: smooth;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

body {
    margin: 0;
    color: #403331;
    font-family: "Montserrat", sans-serif;
    background-color: #dbc2bc;
    background-image: radial-gradient(
            ellipse 55% 45% at 12% 5%,
            rgba(255, 244, 234, 0.95) 0%,
            rgba(255, 235, 222, 0.55) 28%,
            rgba(255, 235, 222, 0) 70%
        ),
        radial-gradient(
            ellipse 48% 58% at 92% 8%,
            rgba(196, 145, 134, 0.32) 0%,
            rgba(196, 145, 134, 0.14) 38%,
            rgba(196, 145, 134, 0) 76%
        ),
        radial-gradient(
            ellipse 60% 55% at 5% 88%,
            rgba(128, 91, 88, 0.24) 0%,
            rgba(128, 91, 88, 0.09) 42%,
            rgba(128, 91, 88, 0) 78%
        ),
        radial-gradient(
            ellipse 50% 50% at 82% 52%,
            rgba(218, 177, 157, 0.25) 0%,
            rgba(218, 177, 157, 0.08) 42%,
            rgba(218, 177, 157, 0) 76%
        ),
        radial-gradient(
            ellipse 38% 42% at 48% 25%,
            rgba(255, 249, 241, 0.62) 0%,
            rgba(255, 241, 229, 0.18) 48%,
            rgba(255, 241, 229, 0) 78%
        ),
        radial-gradient(
            ellipse 42% 48% at 105% 95%,
            rgba(157, 116, 105, 0.22) 0%,
            rgba(157, 116, 105, 0.06) 45%,
            rgba(157, 116, 105, 0) 78%
        ),
        linear-gradient(
            135deg,
            #eadbd2 0%,
            #e4d0c8 25%,
            #dbc2bc 50%,
            #d2b7b1 72%,
            #c9aaa6 100%
        );
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
}

h1,
h2,
h3 {
    font-family: "Cormorant Garamond", serif;
    font-weight: 500;
}

::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.section_full,
#sectiontreatmentspricesbrows,
#sectiontreatmentspriceslashes,
#sectiontreatmentspricescombo,
#sectiontreatmentspricesmakeup {
    position: relative;
    background-color: transparent;
}

.section_full::before,
#sectiontreatmentspricesbrows::before,
#sectiontreatmentspriceslashes::before,
#sectiontreatmentspricescombo::before,
#sectiontreatmentspricesmakeup::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.section_full > *,
#sectiontreatmentspricesbrows > *,
#sectiontreatmentspriceslashes > *,
#sectiontreatmentspricescombo > *,
#sectiontreatmentspricesmakeup > * {
    position: relative;
    z-index: 1;
}

.section_full {
    width: 100%;
    min-height: 100svh;
    min-height: 100dvh;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    padding: 0;
    box-sizing: border-box;
    overflow: visible;
}

.section-text .section_heading {
    width: 100%;
    max-width: 900px;
    margin: 0 0 2.5rem;
    padding: 0 0 1.25rem;
    text-align: center;
    box-sizing: border-box;
}

.section-text .section_heading h2 {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 0 1rem;
    color: #403331;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2rem, 2.8vw, 3rem);
    font-weight: 500;
    line-height: 1.2;
}

.section-text .section_heading h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 70px;
    height: 1.5px;
    background-color: #a47b6d;
    transform: translateX(-50%);
}

.section-text .intro {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 0 0 2rem;
    padding: 0 0 2rem;
    color: #403331;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.15rem, 1.2vw, 1.45rem);
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    box-sizing: border-box;
}

.section-text .intro::after {
    display: none;
}

.section-text .intro strong {
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
}

.section-text .intro.bolder {
    font-weight: 600;
}

.section-text .intro-header {
    font-size: clamp(1.6rem, 2vw, 2.2rem) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    margin-bottom: 2rem !important;
    padding-bottom: 1.5rem !important;
}

.section-text .intro-header::after {
    content: "";
    display: block;
    width: 70px;
    height: 1.5px;
    margin: 1.5rem auto 0;
    background-color: #a47b6d;
}

.intro-link {
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: #c49a85;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.intro-link:hover {
    color: #b17e67;
    text-decoration-color: #b17e67;
}

@media (max-width: 991.98px) {
    .section_full {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: auto;
        min-height: auto;
        overflow: visible;
        box-sizing: border-box;
    }

    #sectiontreatmentspricesbrows,
    #sectiontreatmentspriceslashes,
	#sectiontreatmentspricescombo,
    #sectiontreatmentspricesmakeup {
        width: 100%;
        height: auto;
        min-height: auto;
        overflow: visible;
        box-sizing: border-box;
    }

    .section_full > *,
    #sectiontreatmentspricesbrows > *,
    #sectiontreatmentspriceslashes > *,
	#sectiontreatmentspricescombo > *,
    #sectiontreatmentspricesmakeup > * {
        position: relative;
        max-width: 100%;
        box-sizing: border-box;
    }

    .section-text {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .section-text .section_heading {
        max-width: 700px;
        margin-bottom: 2rem;
        padding-bottom: 1rem;
    }

    .section-text .section_heading h2 {
        font-size: 2rem;
        padding-bottom: 0.8rem;
    }

    .section-text .section_heading h2::after {
        width: 55px;
        height: 1.5px;
    }

    .section-text .intro {
        width: 100%;
        max-width: 700px;
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.05rem;
        line-height: 1.5;
        box-sizing: border-box;
    }

    .section-text .intro::after {
        display: none;
    }

    .section-text .intro-header {
        font-size: 1.55rem !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        margin-bottom: 1.5rem !important;
        padding-bottom: 1.25rem !important;
    }

    .section-text .intro-header::after {
        display: block;
        width: 55px;
        height: 1.5px;
        margin: 1.25rem auto 0;
        background-color: #a47b6d;
    }
}

@media (max-width: 480px) {
    .section_full {
        width: 100%;
        height: auto;
        min-height: auto;
        overflow: visible;
    }

    #sectiontreatmentspricesbrows,
    #sectiontreatmentspriceslashes,
	#sectiontreatmentspricescombo,
    #sectiontreatmentspricesmakeup {
        width: 100%;
        height: auto;
        min-height: auto;
        overflow: visible;
    }

    .section-text {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .section-text .section_heading {
        width: 100%;
        max-width: 100%;
        margin-bottom: 1.75rem;
    }

    .section-text .section_heading h2 {
        font-size: 1.8rem;
    }

    .section-text .intro {
        width: 100%;
        max-width: 100%;
        font-family: "Cormorant Garamond", serif;
        font-size: 0.95rem;
        line-height: 1.5;
        margin-bottom: 1.4rem;
        padding-bottom: 1.4rem;
        box-sizing: border-box;
    }

    .section-text .intro::after {
        display: none;
    }

    .section-text .intro-header {
        font-size: 1.4rem !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        margin-bottom: 1.4rem !important;
        padding-bottom: 1.2rem !important;
    }

    .section-text .intro-header::after {
        display: block;
        width: 50px;
        height: 1.5px;
        margin: 1.2rem auto 0;
        background-color: #a47b6d;
    }
}

@media (max-width: 375px) {
    .section-text .section_heading h2 {
        font-size: 1.65rem;
    }

    .section-text .intro {
        font-size: 0.9rem;
        line-height: 1.45;
    }

    .section-text .intro-header {
        font-size: 1.3rem !important;
    }
}

.fade-section {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

.fade-section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 767px) {
    #bookingOffcanvas {
        width: 100% !important;
        max-width: 100%;
    }
}

#sectionhomeglow {
    opacity: 1;
    transform: none;
    transition: none;
}