@font-face {

    font-family: 'Arial';

    src: url('../fonts/Arial/Arial-Regular.ttf') format('truetype');

    font-weight: normal;

    font-style: normal;

    font-display: swap;

}

@font-face {

    font-family: 'Arial Bold';

    src: url('../fonts/newArial-Bold.ttf') format('truetype');

    font-weight: bold;

    font-style: normal;

    font-display: swap;

}

@font-face {

    font-family: 'Arial Italic';

    src: url('../fonts/newArial-Italic.ttf') format('truetype');

    font-weight: normal;

    font-style: italic;

    font-display: swap;

}

@font-face {

    font-family: 'Arial Bold Italic';

    src: url('../fonts/newArial-BoldItalic.ttf') format('truetype');

    font-weight: bold;

    font-style: italic;

    font-display: swap;

}

@font-face {

    font-family: 'Arial CE';

    src: url('../fonts/newArialCE-Regular.ttf') format('truetype');

    font-weight: normal;

    font-style: normal;

    font-display: swap;

}

@font-face {

    font-family: 'Arial CE Bold';

    src: url('../fonts/newArialCE-Bold.ttf') format('truetype');

    font-weight: bold;

    font-style: normal;

    font-display: swap;

}

@font-face {

    font-family: 'Arial Black';

    src: url('../fonts/newArialBlack.ttf') format('truetype');

    font-weight: normal;

    font-style: normal;

    font-display: swap;

}



ul{list-style: none;margin: 0;padding: 0;}

p:last-child{margin: 0; padding: 0;}

p, h1, h2, h3, h4, h5, h6 {margin: 0;}



 h1 {font-family: 'Arial', 'Arial Bold', 'Arial Italic', 'Arial Bold Italic', 'Arial CE', 'Arial CE Bold', 'Arial Black', sans-serif;}

 h2 {font-size: 38px; line-height: 48px; font-weight: 700;  margin-bottom: 0px;color:#000;padding-bottom:20px;font-family: "Playfair Display", serif;}

 h3 {font-size: 32px; line-height: 38px; font-weight: 700; font-family: 'Arial', 'Arial Bold', 'Arial Italic', 'Arial Bold Italic', 'Arial CE', 'Arial CE Bold', 'Arial Black', sans-serif; padding: 0 0 15px;}

 h4{font-size: 20px; line-height: 28px; font-family: 'Arial', 'Arial Bold', 'Arial Italic', 'Arial Bold Italic', 'Arial CE', 'Arial CE Bold', 'Arial Black', sans-serif; padding: 0px 0 5px 0;font-weight: 600;color: #B8863B;}

 p {font-size: 18px; line-height: 25px;padding-right: 0;padding-bottom: 8px;color:#000;}

 li {font-size: 18px; line-height: 25px;}

 ul {margin:0;padding:0;display:inline-block;list-style: none;}

 a {font-size: 18px; line-height: 22px; color: #000; display: inline-block; text-decoration: none;}

 a:hover {color:#000;}

.wrapper {

    margin: 0;

    padding: 0;

    width: 100%;

}

body {

    margin: 0;

    font-size: 1rem;

    font-weight: 400;

    color: #212529;

    background-color: #fff;

    -webkit-text-size-adjust: 100%;

    -webkit-tap-highlight-color: transparent;

    font-family: 'Arial', 'Arial Bold', 'Arial Italic', 'Arial Bold Italic', 'Arial CE', 'Arial CE Bold', 'Arial Black', sans-serif;

}

.header {

   position: relative;

    z-index: 999;

    width: 100%;

    padding: 5px 0px;

    background: #F3EDE3;

}



.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {

    width: 100%;

    padding-right: var(--bs-gutter-x, .75rem);

    padding-left: var(--bs-gutter-x, .75rem);

    margin-right: auto;

    margin-left: auto;

}

.align-items-center {

    align-items: center !important;

}

.padding {

    padding: 0;

}



.menu {

    text-align: center;

}

.navbar {

    position: relative;

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: space-between;

    padding-top: 0.5rem;

    padding-bottom: 0.5rem;

}

.navbar-collapse {

    justify-content: end;

}

.navbar-collapse {

    flex-basis: 100%;

    flex-grow: 1;

    align-items: center;

}

.navbar-nav {

    display: flex;

    flex-direction: column;

    padding-left: 0;

    margin-bottom: 0;

    list-style: none;

    align-items: center;

}

ul {

    list-style: none;

    margin: 0;

    padding: 0;

}

.menu ul li a {

    font-size: 18px;

    font-weight: 500;

    text-decoration: none;

    border: 2px solid transparent;

    padding: 0 24px;

    color:#000!important;

    font-family: 'Arial', 'Arial Bold', 'Arial Italic', 'Arial Bold Italic', 'Arial CE', 'Arial CE Bold', 'Arial Black', sans-serif;

    text-transform: uppercase;

}

.navbar-dark .navbar-toggler {

    color: rgba(255, 255, 255, .55);

    border-color: rgba(255, 255, 255, .1);

}



.navbar-toggler:hover {

    text-decoration: none;

}



.navbar-toggler {

    padding: .25rem .75rem;

    font-size: 1.25rem;



    background-color: transparent;

    border: 1px solid transparent;

    border-radius: .25rem;

    transition: box-shadow .15s ease-in-out;

}







.menu ul li .dropdown-content{display: none;    min-width: max-content;position: relative; padding: 0 5px;}

.menu ul li.dropdown:hover .dropdown-content{display: block;}

.menu ul li .dropdown-content li{display: block;float: unset;}

/*.menu ul li.dropdown::after{content: ''; display: block;position: absolute; top: 0; left: 0; width: 150px; height: 200px;}*/

.menu ul li.dropdown::after{content: ''; display: block;position: absolute; top: 0; left: 0; width: 150px; }

.menu ul li.dropdown a{position: relative; z-index: 111;}



.nav-item.dropdown ul{padding:0!important;}

.menu ul li .dropdown-content li a{padding: 4px 18px !important;}

.menu ul li .dropdown-content li:hover {background:#B8863B;}



.nav-item.dropdown ul li a{color: #000 !important;text-shadow:unset;}



.sticky .nav-item.dropdown ul li a:hover{color: #000 !important;}



.menu ul li .dropdown-content li:hover a{color:#fff!important;}



.nav-item a:hover{color: #B8863B !important;}





.slider {

    position: relative;

}

.slider .carousel-item img {

    width: 100%;

    object-fit: cover;

    opacity: 0.8;

}

.carousel-item{background: #000;}

.slider-btn{margin: 10px 0 0 0;}



.img-fluid {

    max-width: 100%;

    height: auto;

}



.secound-sec .row{

    align-items: center;

}

.navbar-expand-md .navbar-nav .nav-link{padding:0 15px;}



.sticky .menu-call:hover{    color: #000 !important;}

/*.sticky{ position: sticky !important; top: 0; width: 100%; background-color: #F9D0BE; z-index: 221; display: block; box-shadow: 0px 7px 6px #9795953b; border: none; padding: 20px 0px;}*/

.sticky{ position: sticky !important; top: 0; width: 100%; background-color: #f9f5f4; z-index: 221; display: block; box-shadow: 0px 7px 6px #9795953b; border: none; padding: 5px 0px;}

.sticky .menu ul li a{color: #000 !important;text-shadow: none;}

.sticky .menu ul li a:hover{ color: #000!important;}

.logo img{width:70%;transition: 0.5s;}



.common-padding {

    padding: 60px 0;

}



.slider-content{position: absolute; top: 50%; left: 0; right: 0; transform: translate(0, -50%);}

	.slider-content-col{text-align:left;}

.slider-content-col a{background: #B8863B;

    padding: 8px 15px !important;

    color: #fff !important;

    margin: 0 0 0 0px;

    font-size: 14px;

    border: 1px solid #B8863B;

    border-radius: 5px;

}





.new-ownership p{color:#fff;text-transform: uppercase;}

.new-ownership{background: #000;padding: 12px 0;text-align: center;}

.header .menu .gift-btn a{background: #B8863B;padding: 10px 15px!important;color: #fff !important;margin: 0 0 0 20px;border-radius: 5px;border: 1px solid #B8863B;}



.dropdown i{font-size:14px;margin: 0px 0px 0 7px;}

.dropdown a{display: flex;align-items: center;}

.nav-item.dropdown ul{padding: 5px 0 !important;}



.carousel-control-next, .carousel-control-prev{width:5%;}

.slider-content-col h1{font-size: 46px; line-height: 56px; color: #fff; font-weight: 500;font-family: "Playfair Display", serif;padding: 0 0 20px 0;}

.small-txt p{font-size: 16px!important; line-height: 22px!important; color: #fff!important; padding: 0 0 8px 0!important;}

.slider-content-col p{color: #B8863B; font-size: 20px; line-height: 30px;padding: 0 0 12px 0;}



.sticky{position: fixed !important; top: 0; width: 100%; background-color: #fff; color: #000 !important; z-index: 9999; display: block; box-shadow: 0px 7px 6px #bfb7b7a8;}

.slider-btn .view-services{background: transparent;border: 1px solid #fff;margin: 0 0 0 15px;}

.sticky .logo img{width: 62%;}



.extra-space{width:100%;height:200px;}

.container{max-width: 1420px;}

.logo{text-align:left;}

.sticky + *{margin-top:120px;}



.star-img{width:50%;margin: 0 0 4px 0;}

.banner-logo-inner{display:flex;align-items: center;justify-content: center;}

.logo-img{width: 24%;height: 24%;}

.yelp-logo{width: 40%;height: 40%;}

.right-part{padding: 0 0 0 10px;}

.year-serving-logo{width:80%;}

.right-part p{font-size: 13px; padding: 0 0 0 0; line-height: 17px;color: #B8863B;}

.banner-logo-part{padding: 20px 0;background: #2C3527;}

.banner-logo-col-2 .star-img{width: 69%;}

.banner-logo-col{display: flex;align-items: center;}

.white-txt{color:#d5d5d5!important;}

.right-part h3{padding: 0 0 0 0px; font-size: 22px; line-height: 30px; color: #B8863B;}



.gift-btn a i{margin: 0 8px 0 0;}

.book-experience i{font-size: 15px; margin: 0 8px 0 0;}

.header .menu .gift-btn a:hover{background:transparent;color:#B8863B!important;}

.book-experience:hover{background:transparent;color:#B8863B!important;}

.view-services:hover{background:#B8863B;border: 1px solid #B8863B;}



.services-heading{text-align:center;}

.services-block-btm{text-align:center;padding: 0px 0 25px 0;margin: -20px 0 0 0;}

.services-block-btm h3{font-size: 20px;line-height: 25px;padding: 15px 0 8px 0;}

.services-block-btm p{font-size: 16px;line-height: 22px;}

.services-block-inner{background: #F3EDE3;border-radius: 5px 5px 5px 5px;}

.service-main-img{border-radius: 5px 5px 0 0;}
.services-block-inner{height: 100%;}



.explore-btn a{background: #2C3527; padding: 9px 18px !important; color: #fff !important; margin: 0 0 0 0px; font-size: 18px; border: 1px solid #2C3527; border-radius: 5px;}

.explore-btn{text-align: center;margin: 35px 0 0 0;}

.explore-btn a:hover{background:transparent;color:#2C3527!important;}



/*.owner-section{background-image: url('../images/owner-bg-img.webp');background-size: cover;background-repeat: no-repeat;height: 600px;display: flex;align-items: center;}*/

.owner-section{background-image: url('../images/owner-bg-new.png');background-size: cover;background-repeat: no-repeat;height: 650px;display: flex;align-items: center;}

.owner-section-col h2{color:#B8863B;}

/*.annalisa p{color:#B8863B;}*/



.annalisa{margin:15px 0 0 0;}

.annalisa h4{font-size: 36px; line-height: 20px; font-family: "Mrs Saint Delafield", cursive; font-weight: 600;}



.logo-txt-col{width:20%;}

.logo-txt{padding:40px 0;}

.logo-txt-inner{display: flex;align-items: center;}

.only-txt{padding: 0 0 0 15px;}

.logo-txt-img{width:22%;}

.only-txt .logo-txt-description{font-size:16px;line-height: 22px;}



.cta-sec{padding:40px 0;background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('../images/CTA-bg-img.jpg');background-size: cover;background-repeat: no-repeat;}

.cta-txt h2{color:#fff;padding: 0 0 8px 0;}

.cta-txt p{color: #B8863B;}

.cta-btn a{background: #B8863B; padding: 10px 15px !important; color: #fff !important; margin: 0 0 0 20px; border-radius: 5px; border: 1px solid #B8863B;}

.cta-btn a i{margin:0 8px 0 0;}

.cta-btn a:hover{background:transparent;color:#B8863B!important;}



.copyright { padding: 10px 0; background-color:#000!important; margin: 0px 0 0 0;}

.copyright p { color: #fff; font-size: 20px; font-weight: 400; margin: 0; padding: 0 0; letter-spacing: 0.5px;font-family: "Arial"; }

.Proudly_text { text-align: right; }







/*.footer{background-color: #D9D9D5;}*/

.footer-con-sec h3{font-size: 38px; line-height: 48px; font-weight: 700; margin-bottom: 30px; color: #B8863B;margin: 0;font-family: "Playfair Display", serif;padding: 0 0 20px 0;}

.footer-con-sec h4{padding: 0px 0 8px 0;color: #000;}

.footer-con-sec{padding-left:25px;}

.footer-con-sec p{line-height: 27px;}

.bbb-sec img{width:16%;margin: 0 0 10px 0;}







/*inner page css*/



.inner-page{padding:60px 0;}

.services-col h2{margin-bottom: 15px;text-align:left!important;padding: 0 !important;}

.special-box h3{font-size: 26px;line-height: 34px;padding: 0 0 8px;color: #2C3527;font-family: "Playfair Display", serif;}

.description-price{display: flex; justify-content: space-between; width: 60%;padding-top: 10px;}

.special-box{padding: 30px 0;border-top: 1px solid #767676;float: left;width: 100%;}

.special-box ul{list-style: disc;padding: 10px 0 10px 30px;}

.special-box ul li{padding-bottom: 5px;color: #000;padding: 0 0 10px 0;}

.next-col{padding-top:30px;}



.inner-page .services-col{

        padding: 35px;

    border: 2px solid #2C3527;

    background-color: #F3EDE3;

    margin-bottom:40px;

    border-radius: 10px;

}



.top-btm-price {display: unset;float: left;width: 100%;}





.services-tab{text-align: center; display: flex ; justify-content: center;padding: 20px 0 20px 0;position: sticky;top: 200px;background: #fff;}

.services-tab a{color: #fff;margin: 12px 12px 0 0;font-size: 18px;line-height: 24px; background: #B8863B; padding: 8px 20px; border-radius: 5px; display: inline-block; margin: 0 12px 0 0; font-weight: 600;border:2px solid #B8863B;}

.services-tab a:hover{background:transparent;color:#B8863B;} 

  .services-tab{flex-wrap: wrap;}

 

 .services-tab{top: 140px;}

 

 

 .inner-page h2{font-size: 38px; text-align: center;line-height: 48px; font-weight: 700; margin-bottom: 0px; color: #B8863B; padding-bottom: 20px; font-family: "Playfair Display", serif;}

.inner-page p{font-size: 18px; line-height: 25px; padding-right: 0; padding-bottom: 8px; color: #000;}



.first-box{ border-top: none;}



.gratuity-text{margin-bottom: 20px !important;}



.price{font-weight:700;}

.deep-tissue{border-top:unset;padding: 0 0 3px 0;}



.services-banner img{width:100%;height: 55vh;object-fit: cover;}

.services-banner .container-fluid{padding:0;}



.services-banner{position:relative;}

.services-heading-content{position: absolute;

    top: 45%;

    left: 0;

    right: 0;

    z-index: 1;

    transform: translate(0px, -50%);}

    

  .services-banner h1{font-size: 60px; line-height: 70px; color: #B8863B; font-family: "Playfair Display", serif; font-weight: 600;}





#memberships{margin-bottom:0;}

.footer{background:#F3EDE3;}





.inner-page .header-heading{text-align: center;}

.addons-item{padding: 25px; border: 2px solid #2C3527; background-color: #F3EDE3; border-radius: 10px; height: 100%;}

.addons-item h3{font-size: 26px; line-height: 34px; padding: 0 0 8px; color: #2C3527; font-family: "Playfair Display", serif;}

.addons-item .price{padding:0;}

.addons-item-main{margin-top:30px;}



.request-col a{color:#B8863B;}





#sutraWidgetIframe{height:600px;}



#popular-spa, #summer-special, #bodywork, #massage, #assisted-stretch, #reiki, #nutrition-coaching, #memberships {

    scroll-margin-top: 14rem;

}



.membership-ol li{padding:0 0 8px 0;}



.membership-heading-btn a{font-size: 18px; line-height: 24px; background: #B8863B; padding: 10px 15px; border-radius: 5px; display: inline-block; margin: 0 0px 0 0; font-weight: 600; color: #fff;border: 2px solid #B8863B;}

.membership-heading-btn a:hover{background:transparent;color:#B8863B;}

.membership-heading-btn{display: flex;align-items: center;justify-content: space-between;}



.tab-btn.active {

    background: transparent;

    color: #B8863B;

}


/* Call button beside the menu toggler — shown below 1200px only */
.mobile-call-btn{display:none;}
/* Book / gift buttons under the header — shown on mobile only */
.mobile-cta-bar{display:none;}
/* Marquee copies of the trust logos — shown on mobile only */
.banner-logo-col.marquee-clone{display:none;}

/* ==========================================================================
   RESPONSIVE
   Desktop (1400px+) keeps the styles above. Breakpoints:
     Desktop        (min-width: 1200px) and (max-width: 1399.98px)
     Small desktop  (min-width: 992px)  and (max-width: 1199.98px)
     Tablet         (min-width: 768px)  and (max-width: 991.98px)
     Mobile         (max-width: 767.98px)
   The mobile menu block (max-width: 1199.98px) is shared by the three
   ranges below 1200px so it is written once.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Desktop: 1200px - 1399.98px
   -------------------------------------------------------------------------- */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .menu ul li a { font-size: 16px; }
    .navbar-expand-md .navbar-nav .nav-link,
    .navbar-expand-xl .navbar-nav .nav-link { padding: 0 10px; }
    .header .menu .gift-btn a { margin: 0 0 0 10px; padding: 10px 12px !important; }

    .slider .carousel-item img { min-height: 500px; }
    .slider-content-col h1 { font-size: 42px; line-height: 52px; }

    .banner-logo-col { padding: 0 8px; }
    .right-part h3 { font-size: 19px; line-height: 26px; }
    .right-part p { font-size: 12px; line-height: 16px; }

    .owner-section { height: 600px; }

    .services-banner h1 { font-size: 54px; line-height: 64px; }

    .container { max-width: 1140px; }

    .services-block-btm h3 { font-size: 18px;}
    .services-block-btm p { font-size: 14px; line-height: 20px; }
    .copyright p{    font-size: 16px;}

    .services-tab { top: 110px;gap: 13px 0;}
    
}

/* --------------------------------------------------------------------------
   Mobile menu — everything below 1200px
   Works with both the Bootstrap .navbar-toggler (navbar-expand-md) and the
   .nv-nav-toggler (navbar-expand-xl) header markup.
   -------------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    .header, .sticky { padding: 8px 0; }
    .header > .container > .row { flex-wrap: nowrap; }
    .header .row > .logo { flex: 0 0 auto; width: auto; }
    .header .row > .menu { flex: 1 1 auto; width: auto; position: static; }
    .logo img { width: 92px; }
    .sticky .logo img { width: 78px; }
    .sticky + * { margin-top: 108px; }

    .header .navbar { position: static; flex-wrap: nowrap; justify-content: flex-end; padding: 0; }

    /* Menu button */
    .header .navbar-toggler,
    .header .nv-nav-toggler {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        margin-left: 10px;
        padding: 0;
        font-size: 22px;
        color: #2C3527;
        background: transparent;
        border: 1px solid #2C3527;
        border-radius: 5px;
    }
    .header .navbar-toggler:focus { box-shadow: none; }
    .header .navbar-toggler-icon {
        width: 26px;
        height: 26px;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%232C3527' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    .nv-nav-toggler .fa-xmark { display: none; }
    .nv-nav-toggler[aria-expanded="true"] .fa-bars { display: none; }
    .nv-nav-toggler[aria-expanded="true"] .fa-xmark { display: inline-block; }

    /* navbar-expand-md would show the full menu from 768px; keep it collapsed until 1200px */
    .header .navbar-expand-md .navbar-collapse:not(.show):not(.collapsing) { display: none !important; }
    .header .navbar-expand-md .navbar-nav { flex-direction: column; }

    /* Full-width dropdown panel under the header */
    .header .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #F3EDE3;
        border-top: 1px solid #e4d9c7;
        box-shadow: 0 12px 20px rgba(0, 0, 0, 0.12);
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        text-align: left;
    }
    .header .navbar-nav {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 720px;
        margin: 0 auto;
        padding: 10px 20px 20px;
    }
    .header .navbar-nav > .nav-item { border-bottom: 1px solid #e4d9c7; }
    .header .navbar-nav > .nav-item:last-child { border-bottom: 0; }
    .menu ul li a {
        display: flex;
        padding: 5px 0 !important;
        font-size: 14px;
    }

    /* Services submenu shown inline instead of on hover */
    .menu ul li .dropdown-content {
        display: block;
        position: static !important;
        float: none;
        min-width: 0;
        margin: 0 0 10px;
        padding: 0 0 0 14px !important;
        background: transparent;
        border: 0;
        border-left: 2px solid #B8863B;
        border-radius: 0;
        box-shadow: none;
    }
    .menu ul li .dropdown-content li a { padding: 5px 0px !important; font-size: 13px; }
    .menu ul li .dropdown-content li:hover { background: transparent; }
    .menu ul li .dropdown-content li:hover a { color: #B8863B !important; }
    .menu ul li.dropdown::after { display: none; }
    .dropdown > a i { display: none; }

    /* Phone number and gift certificate are not shown in the mobile menu */
    .header .navbar-nav > .nav-phone,
    .header .navbar-nav > .gift-btn { display: none; }
    .header .navbar-nav > .request-ap { border-bottom: 0; }

    .mobile-call-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 38px;
        margin-left: auto;
        padding: 0 14px;
        font-size: 15px;
        line-height: 20px;
        color: #fff;
        background: #B8863B;
        border: 1px solid #B8863B;
        border-radius: 5px;
        white-space: nowrap;
    }
    .mobile-call-btn:hover,
    .mobile-call-btn:focus-visible { color: #B8863B; background: transparent; }

    .services-tab { top: 94px; }
}

/* --------------------------------------------------------------------------
   Small desktop: 992px - 1199.98px
   -------------------------------------------------------------------------- */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .common-padding { padding: 55px 0; }

    .slider .carousel-item img { min-height: 470px; }
    .slider-content-col { flex: 0 0 auto; width: 66.666%; }
    .slider-content-col h1 { font-size: 42px; line-height: 52px; }

    .banner-logo-col { flex: 0 0 auto; width: 33.333%; justify-content: center; padding: 10px 12px; }
    .logo-img { width: 20%; height: auto; }
    .year-serving-logo { width: 55%; }

    .services-block { flex: 0 0 auto; width: 33.333%; margin-bottom: 24px; }
    .explore-btn { margin-top: 15px; }

    .owner-section { height: auto; min-height: 560px; padding: 60px 0; background-position: left center; }

    .logo-txt .row { justify-content: center; }
    .logo-txt-col { width: 33.333%; margin: 12px 0; }

    .cta-sec .cta-txt { width: 50%; }
    .cta-sec .cta-btn { width: auto; }

    .footer-con-sec h3 { font-size: 34px; line-height: 44px; }
    .copyright p { font-size: 17px; }

    .services-banner h1 { font-size: 48px; line-height: 58px; }
    .description-price { width: 80%; }

    .container { max-width: 960px; }
}

/* --------------------------------------------------------------------------
   Tablet: 768px - 991.98px
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991.98px) {
    h2 { font-size: 36px; line-height: 44px; }
    h3 { font-size: 28px; line-height: 34px; }
    h4 { font-size: 18px; line-height: 26px; }
    p, li { font-size: 17px; line-height: 25px; }
    .common-padding { padding: 50px 0; }

    /* Hero: image fills the slide, slide height follows the text */
    .slider .carousel-item img { position: absolute; top: 0; left: 0; height: 100%; object-fit: cover; object-position: 70% center; opacity: 0.55; }
    .slider-content { position: relative; top: auto; transform: none; padding: 80px 0; }
    .slider-content-col { flex: 0 0 auto; width: 80%; }
    .slider-content-col h1 { font-size: 42px; line-height: 50px; }
    .slider-content-col p { font-size: 18px; line-height: 26px; }

    .banner-logo-col { flex: 0 0 auto; width: 33.333%; justify-content: center; padding: 10px; }
    .logo-img { width: 22%; height: auto; }
    .year-serving-logo { width: 55%; }
    .services-block-btm h3 { font-size: 17px; line-height: 22px; }
    .right-part h3 { font-size: 18px; line-height: 24px; }
    .right-part p { font-size: 12px; line-height: 16px; }

    .services-block { flex: 0 0 auto; width: 33.333%; margin-bottom: 24px; }
    .explore-btn { margin-top: 15px; }

    .owner-section { height: auto; padding: 60px 0; background-position: left center; }
    .owner-section-col { flex: 0 0 auto; width: 65%; }

    .logo-txt { padding: 30px 0; }
    .logo-txt .row { justify-content: center; }
    .logo-txt-col { width: 33.333%; margin: 12px 0; }

    .cta-sec { text-align: center; background-position: center; }
    .cta-sec .cta-txt { flex: 0 0 auto; width: 100%; margin-bottom: 18px; }
    .cta-sec .cta-btn { flex: 0 0 auto; width: 100%; }
    .cta-btn a { margin: 0; }

    .footer iframe { height: 380px; }
    .footer-con-sec { padding-left: 15px; }
    .footer-con-sec h3 { font-size: 32px; line-height: 40px; }
    .copyright p { font-size: 15px; line-height: 22px; }

    /* Inner pages */
    .inner-page { padding: 50px 0; }
    .inner-page h2 { font-size: 36px; line-height: 44px; }
    .inner-page p { font-size: 17px; line-height: 25px; }
    .inner-page .services-col { padding: 28px; }
    .special-box h3, .addons-item h3 { font-size: 24px; line-height: 32px; }
    .description-price { width: 100%; }
    .services-tab a { font-size: 16px; line-height: 22px; padding: 7px 16px; margin: 0 8px 8px 0; }
    .services-banner img { height: 360px; }
    .services-banner h1 { font-size: 44px; line-height: 54px; }
    #popular-spa, #summer-special, #bodywork, #massage, #assisted-stretch, #reiki, #nutrition-coaching, #memberships { scroll-margin-top: 12rem; }
    .membership-heading-btn { flex-wrap: wrap; gap: 15px; }

    .container { max-width: 720px; }

    .addons-item-main{    width: 50%;}
}

/* --------------------------------------------------------------------------
   Mobile: up to 767.98px
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    h1 { font-size: 38px; line-height: 45px; }
    h2 { font-size: 34px; line-height: 41px; padding-bottom: 15px; }
    h3 { font-size: 24px; line-height: 30px; }
    h4 { font-size: 16px; line-height: 26px; }
    p, li { font-size: 16px; line-height: 24px; }
    a { font-size: 16px; }
    .common-padding { padding: 40px 0; }

    /* Header */
    .new-ownership { padding: 8px 12px; }
    .new-ownership p { font-size: 14px; line-height: 20px; }
    .logo img { width: 76px; }
    .sticky .logo img { width: 64px; }
    .sticky + * { margin-top: 140px; }
    .header .navbar-collapse { max-height: calc(100vh - 140px); }
    .mobile-call-btn { gap: 6px; padding: 0 12px; font-size: 14px; }

    /* Book An Appointment + Buy Gift Certificate, side by side under the logo row */
    .mobile-cta-bar { display: flex; gap: 8px; padding-top: 8px;         flex-direction: column;}
    .mobile-cta-btn {
        flex: 1 1 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 40px;
        padding: 6px 8px;
        font-size: 13px;
        line-height: 16px;
        text-align: center;
        text-transform: uppercase;
        color: #fff;
        background: #2C3527;
        border: 1px solid #2C3527;
        border-radius: 5px;
    }
    .mobile-cta-btn--gift { background: #B8863B; border-color: #B8863B; }
    .mobile-cta-btn:hover, .mobile-cta-btn:focus-visible { color: #2C3527; background: transparent; }
    .mobile-cta-btn--gift:hover, .mobile-cta-btn--gift:focus-visible { color: #B8863B; }
    .services-tab { top: 128px; }

    /* Hero: image fills the slide, slide height follows the text */
    .slider .carousel-item img { position: absolute; top: 0; left: 0; height: 100%; object-fit: cover; object-position: 70% center; opacity: 0.45; }
    .slider-content { position: relative; top: auto; transform: none; padding: 50px 0; }
    .slider-content-col { flex: 0 0 auto; width: 100%; }
    .slider-content-col h1 { font-size: 38px; line-height: 45px; padding: 0 0 15px; }
    .slider-content-col p { font-size: 16px; line-height: 24px; }
    .small-txt p { font-size: 14px !important; line-height: 20px !important; }
    .slider-btn { display: flex; flex-wrap: wrap; gap: 10px; }
    .slider-btn a, .slider-btn .view-services { margin: 0; font-size: 13px; }

    /* Review / trust logos: auto-scrolling marquee */
    .banner-logo-part { padding: 15px 0; overflow: hidden; }
    .banner-logo-part .container { max-width: none; padding: 0; }
    .banner-logo-part .row {
        flex-wrap: nowrap;
        width: max-content;
        margin: 0;
        animation: nv-logo-marquee 28s linear infinite;
    }
    .banner-logo-part .row:active { animation-play-state: paused; }
    .banner-logo-col { flex: 0 0 auto; width: 190px; justify-content: center; padding: 8px 12px; }
    .banner-logo-col.marquee-clone { display: flex; }
    .logo-img { width: 26%; height: auto; }
    .year-serving-logo { width: 60%; }
    .right-part { padding: 0 0 0 8px; }
    .right-part h3 { font-size: 16px; line-height: 20px; }
    .right-part p { font-size: 11px; line-height: 14px; }

    /* Service cards: two per row */
    .services-sec .row { --bs-gutter-x: 14px; }
    .services-block { flex: 0 0 auto; width: 100%; margin-bottom: 14px; }
    .services-block-btm { padding: 0 6px 16px; }
    .services-block-btm h3 { font-size: 15px; line-height: 20px; padding: 10px 0 4px; }
    .services-block-btm h3 br, .only-txt br{display:none;}
    .services-block-btm p { font-size: 13px; line-height: 18px; }
    .explore-btn { margin-top: 10px; }
    .explore-btn a { font-size: 16px; }

    .owner-section { height: auto; padding: 40px 0; background-position: left center; }
    .owner-section-col { width: 100%; }
    .annalisa h4 { font-size: 30px; line-height: 20px; }

    .logo-txt { padding: 25px 0 10px; }
    .logo-txt-col { width: 100%; margin-bottom: 18px; }
    .logo-txt-img {width: 54px; flex: unset; object-fit: contain; height: 54px;}
    .only-txt .logo-txt-description { font-size: 14px; line-height: 20px; }

    .cta-sec { text-align: center; background-position: center; }
    .cta-sec .cta-txt { flex: 0 0 auto; width: 100%; margin-bottom: 18px; }
    .cta-sec .cta-btn { flex: 0 0 auto; width: 100%; }
    .cta-btn a { margin: 0; }

    /* Footer */
    .footer.common-padding { padding: 0 0 40px; }
    .footer iframe { height: 300px; }
    .footer-con-sec {        padding-bottom: 30px; padding-top: 30px; padding-left: 12px; }
    .footer-con-sec h3 { font-size: 30px; line-height: 38px; padding-bottom: 15px; }
    .footer-con-sec p { line-height: 24px; }
    .bbb-sec img { width: 70px; }
    .copyright { padding: 16px 0; text-align: center; }
    .copyright p { font-size: 14px; line-height: 20px; }
    .copyright .accessibility { margin: 10px 0; }
    .Proudly_text { text-align: center; }
    .Proudly_text img { max-width: 120px; }
    .footer.common-padding .row{    flex-direction: column-reverse;}

    /* Inner pages */
    .inner-page { padding: 40px 0; }
    .inner-page h2 { font-size: 34px; line-height: 41px; padding-bottom: 15px; }
    .inner-page p { font-size: 16px; line-height: 24px; }
    .inner-page .services-col { width: calc(100% - 24px); margin: 0 12px 25px; padding: 22px 16px; }
    .special-box { padding: 20px 0; }
    .special-box h3, .addons-item h3 { font-size: 22px; line-height: 28px; }
    .special-box ul { padding: 8px 0 8px 20px; }
    .description-price { width: 100%; gap: 15px; }
    .description-price p:first-child { flex: 1 1 auto; }
    .description-price .price { flex: 0 0 auto; white-space: nowrap; }
    .next-col { padding-top: 20px; }

    /* Category tabs: one swipeable row */
    .services-tab { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding: 12px; -webkit-overflow-scrolling: touch; }
    .services-tab a { flex: 0 0 auto; white-space: nowrap; font-size: 14px; line-height: 20px; padding: 6px 14px; margin: 0 8px 0 0; }

    .services-banner img { height: 260px; }
    .services-heading-content { top: 50%; }
    .services-banner h1 { font-size: 38px; line-height: 45px; }
    #popular-spa, #summer-special, #bodywork, #massage, #assisted-stretch, #reiki, #nutrition-coaching, #memberships { scroll-margin-top: 9rem; }

    .addons-item { padding: 20px 16px; }
    .addons-item-main { margin-top: 20px; }
    .membership-heading-btn { flex-direction: column; align-items: flex-start; gap: 12px; }
    .membership-heading-btn a { font-size: 16px; }
    #sutraWidgetIframe { height: 500px; }

    .container { max-width: 100%; }
}

/* Very small phones: icon only on the call button */
@media (max-width: 359.98px) {
    .mobile-call-btn span { display: none; }
    .mobile-call-btn { width: 46px; padding: 0; justify-content: center; }
}

/* Mobile logo marquee: scroll by half the row (one full set of logos) and loop */
@keyframes nv-logo-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
    .banner-logo-part .row { animation: none; width: auto; overflow-x: auto; }
    .banner-logo-col.marquee-clone { display: none; }
}
