
@media (max-width:1400px){
.container{
    max-width:1140px;
}
.hero-content h1{
    font-size:66px;
}
}
/*==================================
1200px
==================================*/
@media (max-width:1199px){
.container{
    max-width:960px;
}
.navbar-brand img{
    height:48px; width:auto;
}
.navbar-nav{
    gap:22px;
}
.hero-content h1{
    font-size:58px;
}
.hero-content p{
    max-width:520px;
}
.leaf-left{
    width:180px;
}
.leaf-right{
    width:170px;
}
}
/*==================================
991px
==================================*/
@media (max-width:991px){
section{
    padding:90px 0;
}
.page-hero-bar{
    margin-top:85px;
}
/* Header */
.navbar{
    padding:15px 0;
}
.navbar-collapse{
    background:#ffffff;
    margin-top:18px;
    border-radius:18px;
    padding:25px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}
.navbar-nav{
    gap:18px;
    align-items:flex-start;
}
.navbar-nav li{
    width:100%;
}
.navbar-nav li a{
    display:block;
    color:var(--primary-dark);
    padding:8px 0;
}
.header-area .theme-btn{
    margin:25px 0 0;
    width:100%;

}
/* Mobile Toggle */
.navbar-toggler i{
    color:#ffffff;
}
.header-area.sticky .navbar-toggler i{
    color:var(--primary-dark);
}
/* Hero */
.hero-section{
    text-align:center;
}
.hero-content{
    margin:auto;
}
.hero-content h1{
    font-size:50px;
}
.hero-content p{
    margin-left:auto;
    margin-right:auto;
}
.hero-btns{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
}
.outline-btn{
    margin-left:0;
}
.leaf-left{
    width:130px;
    top:120px;
}
.leaf-right{
    width:120px;
}
.scroll-down{
    display:none;
}
}
/*==================================
768px
==================================*/
@media (max-width:767px){
    /* .hero-section{
    height:auto;
    min-height:100vh;
}
.hero-slide{
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    background-color:var(--primary-dark);
} */
.hero-content span{
    font-size:12px;
    letter-spacing:2px;
}
.hero-content h1{
    font-size:42px;
    line-height:1.25;
}
.hero-content p{
    font-size:15px;
    line-height:1.8;
}
.theme-btn,
.outline-btn{
    padding:14px 28px;
    font-size:15px;
}
.navbar-brand img{
    height:50px; width:auto;
}
.leaf-left,
.leaf-right{
  display:none;
}
}
/*==================================
576px
==================================*/
@media (max-width:575px){
.container{
    padding:0 20px;
}
.hero-content h1{
    font-size:34px;
}
.hero-content p{
    font-size:14px;
}
.hero-btns{
    flex-direction:column;
}
.theme-btn,
.outline-btn{
    width:100%;
}
.navbar-brand img{
    height:45px; width:auto;
}
}

/*==================================
1400px
==================================*/

@media (max-width:1400px){
.container{
    max-width:1140px;
}
.hero-content h1{
    font-size:66px;
}
}
/*==================================
1200px
==================================*/
@media (max-width:1199px){
.container{
    max-width:960px;
}
.navbar-brand img{
    height:48px; width:auto;
}
.navbar-nav{
    gap:22px;
}
.hero-content h1{
    font-size:58px;
}
.hero-content p{
    max-width:520px;
}
.leaf-left{
    width:180px;
}
.leaf-right{
    width:170px;
}
}
/*==================================
991px
==================================*/

@media (max-width:991px){
section{
    padding:90px 0;
}

/* Header */
.navbar{
    padding:15px 0;
}
.navbar-collapse{
    background:#ffffff;
    margin-top:18px;
    border-radius:18px;
    padding:25px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}
.navbar-nav{
    gap:18px;
    align-items:flex-start;
}
.navbar-nav li{
    width:100%;
}
.navbar-nav li a{
    display:block;
    color:var(--primary-dark);
    padding:8px 0;
}
.header-area .theme-btn{
    margin:25px 0 0;
    width:100%;
}
/* Mobile Toggle */
.navbar-toggler i{
    color:#ffffff;
}
.header-area.sticky .navbar-toggler i{
    color:var(--primary-dark);
}
/* Hero */
.hero-section{
    text-align:center;
}
.hero-content{
    margin:auto;
}
.hero-content h1{
    font-size:50px;
}
.hero-content p{
    margin-left:auto;
    margin-right:auto;
}
.hero-btns{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
}
.outline-btn{
    margin-left:0;
}
.leaf-left{
    width:130px;
    top:120px;
}
.leaf-right{
    width:120px;
}
.scroll-down{
    display:none;
}
}

/*==================================
768px
==================================*/
@media (max-width:767px){
.hero-content span{
    font-size:12px;
    letter-spacing:2px;
}
.hero-content h1{
    font-size:42px;
    line-height:1.25;
}
.hero-content p{
    font-size:15px;
    line-height:1.8;
}
.theme-btn,
.outline-btn{
    padding:14px 28px;
    font-size:15px;
}
.navbar-brand img{
    height:50px; width:auto;
}
.leaf-left,
.leaf-right{
  display:none;
}
}

/*==================================
576px
==================================*/
@media (max-width:575px){
.container{
    padding:0 20px;
}
.hero-content h1{
    font-size:34px;
}
.hero-content p{
    font-size:14px;
}
.hero-btns{
    flex-direction:column;
}
.theme-btn,
.outline-btn{
    width:100%;
}
.navbar-brand img{
    height:45px; width:auto;
}
}
/*=========================================
        PART 4 RESPONSIVE
=========================================*/
@media (max-width:991px){
/* About */
.about-content{
    padding-left:0;
    margin-top:40px;
}
.about-image img{
    height:500px;
}
.about-features{
    grid-template-columns:repeat(2,1fr);
}
/* Treatments */
.section-title h2{
    font-size:42px;
}
.treatment-content h4{
    font-size:24px;
}
/* Resort */
.resort-content{
    margin-left:0;
    margin-top:-60px;
    padding:40px;
}
.resort-image img{
    height:500px;
}
.resort-list{
    grid-template-columns:1fr;
}
/* Media */
.media-grid{
    grid-template-columns:repeat(2,1fr);
}
/* Blog */
.blog-large img{
    height:450px;
}
.blog-small{
    margin-top:25px;
}
.blog-small img{
    width:180px;
    height:180px;
}
/* CTA */
.cta-content h2{
    font-size:42px;
}
/* Contact */
.contact-info{
    margin-bottom:40px;
}
/* Footer */
.footer{
    text-align:flex-start;
}
.social-links{
    justify-content:flex-start;
}
.footer-logo{
    margin:0 auto 20px 0;
     display: block;

}
.footer ul{
    align-items:flex-start;
}
}
/*=========================================
        TABLET
=========================================*/

@media (max-width:767px){
section{
    padding:80px 0;
}
/* Common */
.section-title{
    margin-bottom:50px;
}
.section-title h2{
    font-size:34px;
}
.section-title p{
    font-size:15px;
}

/* About */
.about-image{
    border-radius:25px;
}
.about-image img{
    height:400px;
}
.about-content h2{
    font-size:36px;
}
.about-features{
    grid-template-columns:1fr;
}

/* Treatments */
.treatment-card img{
    height:220px;
}
/* Resort */
.resort-content{
    padding:30px;
    margin-top:30px;
    border-radius:20px;
}
.resort-content h2{
    font-size:34px;
}
.resort-image img{
    height:400px;
}

/* Photos */
.media-grid{
    grid-template-columns:1fr;
}
.media-card img{
    height:280px;
}
/* Blog */
.blog-large img{
    height:350px;
}
.blog-content{
    padding:25px;
}
.blog-content h3{
    font-size:28px;
}
.blog-small{
    flex-direction:column;
}
.blog-small img{
    width:100%;
    height:240px;
}
/* CTA */
.cta-section{
    padding:90px 0;
}
.cta-content h2{
    font-size:34px;
}
/* Contact */
.contact-info h2{
    font-size:34px;
}
.contact-form{
    padding:30px;
}
/* Map */
.map-section iframe{
    height:350px;
}
/* Floating */
.floating-buttons{
    right:15px;
    bottom:80px;   
}
.float-btn{
    width:50px;
    height:50px;
    font-size:18px;
}
}
/*=========================================
        MOBILE
=========================================*/

@media (max-width:575px){
.container{
    padding:0 18px;
}
/* Hero */
.hero-content h1{
    font-size:32px;
}
.hero-content p{
    font-size:14px;
}
/* About */
.about-content h2{
    font-size:30px;
}
.about-image img{
    height:320px;
}
/* Treatments */
.treatment-card img{
    height:200px;
}
.treatment-content{
    padding:22px;
}
.treatment-content h4{
    font-size:22px;
}
/* Resort */
.resort-image img{
    height:320px;
}
.resort-content{
    padding:25px;
}
.resort-content h2{
    font-size:30px;
}
/* Blog */
.blog-large img{
    height:280px;
}
.blog-content h3{
    font-size:24px;
}
.blog-small img{
    height:220px;
}
/* CTA */
.cta-content h2{
    font-size:28px;
}
/* Contact */
.contact-form{
    padding:20px;
}
.contact-box{
    gap:15px;
}
.contact-box i{
    width:50px;
    height:50px;
    font-size:18px;
}

/* Footer */
.footer{
    padding:70px 0 25px;
}
.footer-logo{
    width:150px;
}
.social-links{
    gap:10px;
}
.social-links a{
    width:42px;
    height:42px;
}
}
/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:1199px){
.video-layout{
    gap:22px;
}
.featured-video{
    padding:10px;
}
.video-card{
    padding:8px;
}
}
@media(max-width:991px){
.cv-video-gallery{
    padding:90px 0;
}
.video-layout{
    grid-template-columns:1fr;
}
.side-videos{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
}
@media(max-width:767px){
.cv-video-gallery{
    padding:70px 0;
}
.video-layout{
    margin-top:40px;
}
.side-videos{
    grid-template-columns:1fr;
}
.featured-video{
    border-radius:22px;
}
.video-card{
    border-radius:20px;
}
.featured-video iframe{
    border-radius:16px;
}
.video-card iframe{
    border-radius:14px;
}
}
@media(max-width:575px){
.cv-video-gallery{
    padding:60px 0;
}
.featured-video{
    padding:8px;
}
.video-card{
    padding:8px;
}
.video-layout{
    gap:18px;
}
.side-videos{
    gap:18px;
}
}
@media(max-width:767px){
.footer-bottom{
    flex-direction:column;
    text-align:center;
    padding-right:0;
}
.footer-powered{
    justify-content:center;
}
.footer-copy{
    order:2;
}
.footer-powered{
    order:1;
}
}
@media (max-width:768px){
    .footer-map iframe{
        height:250px;
    }
}
/* =========================
   Stay Experience Responsive
========================= */
/* Large Tablet */
@media (max-width: 991px){
    .stay-experience{
        padding:80px 0;
    }
    .stay-image-wrapper img{
        height:480px;
    }
    .stay-content h2{
        font-size:38px;
    }
    .stay-content p{
        font-size:16px;
    }
    .stay-badge{
        bottom:20px;
        right:20px;
        padding:20px 25px;
    }
    .stay-badge strong{
        font-size:26px;
    }
}
/* Mobile Devices */
@media (max-width: 767px){
    .stay-experience{
        padding:60px 0;
    }
    .stay-image-wrapper{
        margin-bottom:20px;
    }
    .stay-image-wrapper img{
        height:380px;
        border-radius:20px;
    }
    .stay-badge{
        bottom:15px;
        right:15px;
        padding:15px 20px;
        border-radius:15px;
    }
    .stay-badge span{
        font-size:11px;
    }
    .stay-badge strong{
        font-size:22px;
    }
    .section-tag{
        font-size:12px;
        letter-spacing:2px;
    }
    .stay-content h2{
        font-size:30px;
        line-height:1.3;
        margin:15px 0;
    }
    .stay-content p{
        font-size:15px;
        line-height:1.7;
    }
    .stay-features{
        margin:25px 0;
    }
    .stay-features div{
        gap:12px;
        margin-bottom:15px;
    }
    .stay-features i{
        width:38px;
        height:38px;
        font-size:14px;
        flex-shrink:0;
    }
    .stay-features span{
      font-size:14px;
    }
    .stay-btn{
        padding:12px 28px;
        font-size:14px;
    }
}
/* Small Mobile */
@media (max-width: 480px){
    .stay-image-wrapper img{
        height:320px;
    }
    .stay-content h2{
        font-size:26px;
    }
    .stay-content p{
        font-size:14px;
    }
    .stay-badge{
        padding:12px 16px;
    }
    .stay-badge strong{
        font-size:20px;
    }
}
@media(max-width:767px){
.room-category-section{
    padding:60px 0;
}
.room-heading h2{
    font-size:32px;
}
.room-image img{
    height:260px;
}
.room-content{
    padding:25px;
}
.room-content h3{
    font-size:24px;
}
}
@media(max-width:991px){
    .room-facilities-section{
        padding:80px 0;
    }
    .facility-heading h2{
        font-size:36px;
    }
}
@media(max-width:767px){
    .room-facilities-section{
        padding:60px 0;
    }
    .facility-heading h2{
        font-size:30px;
    }
    .facility-heading p{
        font-size:14px;
    }
    .facility-card{
        padding:30px 20px;
    }
    .facility-icon{
        width:60px;
        height:60px;
        font-size:24px;
    }
}
@media(max-width:767px){
.treatment-journey-section{
    padding:70px 0;
}
.journey-heading h2{
    font-size:30px;
}
.journey-timeline::before{
    left:25px;
}
.journey-item,
.journey-item:nth-child(even){
    width:100%;
    left:0;
    padding-left:80px;
    padding-right:0;
    text-align:left;
}
.journey-item:nth-child(odd) .journey-icon,
.journey-item:nth-child(even) .journey-icon{
    left:-7px;
}
.journey-content{
    padding:25px;
}
.journey-content h3{
font-size:24px;
}
}
@media(max-width:991px){
.food-content{
    padding-left:0;
}
.food-content h2{
    font-size:36px;
}
.food-image img{
    height:400px;
}
}
@media (max-width:991px){
    .booking-section{
        padding: 80px 0;
    }
    .contact-info{
        margin-bottom: 35px;
    }
    .booking-form{
        padding: 35px;
    }
}
@media (max-width:767px){
    .booking-section{
        padding: 60px 0;
    }
    .contact-info{
        padding: 30px 25px;
        text-align: center;
    }
    .contact-box{
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
    }
    .contact-box i{
        margin-bottom: 5px;
    }
    .booking-form{
        padding: 25px 20px;
    }
    .booking-form input,
    .booking-form select,
    .booking-form textarea{
        margin-bottom: 18px;
    }
    .booking-form textarea{
        height: 130px;
    }
}
@media (max-width:575px){
    .contact-info h2{
        font-size: 28px;
    }
    .booking-form{
        border-radius: 18px;
        padding: 20px 15px;
    }
    .booking-form input,
    .booking-form select{
        height: 52px;
        font-size: 14px;
    }
    .booking-form textarea{
        font-size: 14px;
    }
}
/* =========================================================
   TABLET
========================================================= */
@media (max-width: 991px) {
    .section-padding {
        padding: 80px 0;
    }
    .section-title {
        font-size: 36px;
    }
    .about-hero {
        min-height: 480px;
    }
    .about-hero h1 {
        font-size: 52px;
    }
    .philosophy-image img {
        height: 500px;
    }
    .home-away-image img {
        height: 450px;
    }
    .homely-box {
        padding: 55px 40px;
    }
    .homely-content h2 {
        font-size: 38px;
    }
    .about-cta-content h2 {
        font-size: 40px;
    }
}
/* =========================================================
   MOBILE
========================================================= */
@media (max-width: 767px) {
    .section-padding {
        padding: 65px 0;
    }
    .section-title {
        font-size: 31px;
        line-height: 1.25;
    }
    .section-description {
        font-size: 15px;
        line-height: 1.7;
    }
    /* HERO */
    .about-hero {
        min-height: 430px;
    }
    .about-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(24, 51, 41, .88),
                rgba(24, 51, 41, .68)
            );
    }
    .about-hero-content {
        padding: 70px 15px 20px;
    }
    .about-eyebrow {
        font-size: 11px;
        letter-spacing: 2px;
        margin-bottom: 15px;
    }
    .about-hero h1 {
        font-size: 39px;
        line-height: 1.12;
        margin-bottom: 18px;
    }
    .about-hero p {
        font-size: 15px;
        line-height: 1.7;
        margin-bottom: 22px;
    }
    .about-breadcrumb {
        font-size: 13px;
    }
    /* PHILOSOPHY */
    .philosophy-content p {
        font-size: 15px;
        line-height: 1.8;
    }
    .philosophy-visual {
        padding: 10px 0 30px;
    }
    .philosophy-image {
        border-radius: 4px 50px 4px 50px;
    }
    .philosophy-image img {
        height: 390px;
    }
    .philosophy-badge {
        left: 10px;
        bottom: 0;
        min-width: 185px;
        padding: 16px 18px;
    }
    .philosophy-badge strong {
        font-size: 13px;
    }
    .leaf-decoration {
        font-size: 23px;
    }
    /* HOME AWAY */
    .home-away-content {
        margin-top: 0;
    }
    .home-away-image {
        padding: 5px 0;
    }
    .home-away-image img {
        height: 360px;
        border-radius: 50px 4px 50px 4px;
    }
    .image-caption {
        left: 0;
        bottom: 0;
        padding: 14px 18px;
    }
    .image-caption strong {
        font-size: 13px;
    }
    .home-away-content p {
        font-size: 15px;
        line-height: 1.8;
    }
    /* PILLARS */
    .pillar-card {
        padding: 30px 25px;
    }
    .pillar-card h3 {
        font-size: 22px;
    }
    .pillar-card p {
        font-size: 14px;
    }
    /* VISION / MISSION */
    .vision-card {
        padding: 28px 22px;
        gap: 18px;
    }
    .vm-icon {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        font-size: 17px;
    }
    .vision-card h3 {
        font-size: 21px;
    }
    .vision-card p {
        font-size: 14px;
        line-height: 1.75;
    }
    /* HOMELY */
    .homely-box {
        padding: 45px 22px;
    }
    .homely-content h2 {
        font-size: 31px;
    }
    .homely-content p {
        font-size: 15px;
        line-height: 1.8;
    }
    .homely-quote blockquote {
        font-size: 18px;
    }
    /* CTA */
    .about-cta {
        min-height: 470px;
    }
    .about-cta-content {
        padding: 30px 15px;
    }
    .about-cta-content h2 {
        font-size: 34px;
    }
    .about-cta-content p {
        font-size: 15px;
        line-height: 1.7;
    }
    .about-btn {
        padding: 13px 20px;
        font-size: 13px;
    }
}
/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 375px) {
    .section-padding {
        padding: 55px 0;
    }
    .about-hero {
        min-height: 400px;
    }
    .about-hero h1 {
        font-size: 33px;
    }
    .about-hero p {
        font-size: 14px;
    }
    .section-title {
        font-size: 28px;
    }
    .philosophy-image img {
        height: 330px;
    }
    .home-away-image img {
        height: 310px;
    }
    .homely-content h2 {
        font-size: 28px;
    }
    .about-cta-content h2 {
        font-size: 30px;
    }
}
/* =========================================================
   TABLET
========================================================= */
@media(max-width:991px){
    .tariff-hero{
        min-height:500px;
    }
    .tariff-hero-content h1{
        font-size:48px;
    }
    .full-house-grid{
        grid-template-columns:1fr;
    }
    .included-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .policy-card,
    .loyalty-card{
        padding:30px;
    }
}
/* =========================================================
   MOBILE
========================================================= */
@media(max-width:767px){
    .tariff-hero{
        min-height:520px;
    }
    .tariff-hero-content{
        padding-top:60px;
    }
    .tariff-hero-content h1{
        font-size:45px;
    }
    .tariff-intro{
        padding:65px 0 35px;
    }
    .tariff-intro-content h2{
        font-size:45px;
    }
    .tariff-season{
        padding-top:70px;
        padding-bottom:70px;
    }
    .season-card{
        padding:25px;
    }
    .season-content h3{
        font-size:17px;
    }
    /*
       Desktop table is hidden on mobile.
       Mobile cards are much easier to read.
    */
    .desktop-tariff-table{
        display:none;
    }
    .mobile-tariff-cards{
        display:block;
    }
    .mobile-package-card{
        background:#fff;
        border-radius:24px;
        overflow:hidden;
        margin-bottom:25px;
        box-shadow:var(--shadow);
    }
    .mobile-package-header{
        padding:18px 20px;
        background:var(--primary-dark);
        color:#fff;
        text-align:center;
        letter-spacing:2px;
        font-weight:600;
    }
    .mobile-room{
        padding:25px 20px;
    }
    .mobile-room + .mobile-room{
        border-top:1px solid #ececec;
    }
    .mobile-room h3{
        font-family:var(--heading);
        font-size:26px;
        color:var(--primary);
        margin-bottom:20px;
    }
    .mobile-price-row{
        display:grid;
        grid-template-columns:70px 1fr 1fr;
        gap:10px;
        align-items:center;
        padding:14px 0;
        border-bottom:1px solid #eee;
    }
    .mobile-price-row:last-child{
        border-bottom:0;
    }
    .mobile-price-row > span{
        color:var(--primary-dark);
        font-weight:600;
    }
    .mobile-price-row div{
        text-align:center;
    }
    .mobile-price-row strong{
        display:block;
        color:var(--primary-dark);
    }
    .mobile-price-row small{
        display:block;
        margin-top:5px;
        color:#888;
        line-height:1.4;
    }
    /* ADDITIONAL */
    .additional-card h3{
        font-size:21px;
        padding:22px;
    }
    .additional-table{
        padding:0 15px 15px;
    }
    .additional-heading{
        display:none;
    }
    .additional-row{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
        padding:15px 0;
    }
    .additional-row span{
        grid-column:1/-1;
        background:var(--bg);
        color:var(--primary-dark);
        font-weight:600;
        border-radius:8px;
    }
    .additional-row span,
    .additional-row strong{
        padding:12px;
        text-align:center;
    }
    .additional-row strong{
        background:#f8f6f1;
        border-radius:8px;
    }
    .additional-row strong::before{
        content:"";
        display:block;
        font-size:14px;
        color:#888;
    }
    /* FULL HOUSE */
    .full-house h2{
        font-size:45px;
    }
    .full-house-card{
        padding:30px 20px;
    }
    .full-house-card strong{
        display:flex;
        margin:10px 0;
        align-items:center;
    }
    /* TERMS */
    .terms-highlight{
        grid-template-columns:1fr;
    }
    .terms-highlight > div + div{
        border-left:0;
        border-top:1px solid rgba(255,255,255,.15);
    }
    .terms-content{
        padding:25px;
    }
    /* POLICY */
    .policy-card,
    .loyalty-card{
        padding:25px;
    }
    .policy-card h2,
    .loyalty-card h2{
        font-size:26px;
    }
    .cancellation-list li{
        flex-direction:column;
        gap:5px;
    }
    .cancellation-list strong{
        text-align:left;
    }
    /* INCLUDED */
    .included-grid{
        grid-template-columns:1fr;
    }
    .included-item{
        padding:30px 22px;
    }
    /* CTA */
    .tariff-cta{
        min-height:430px;
    }
    .tariff-cta-content{
        padding:0 15px;
    }
    .tariff-cta-content h2{
        font-size:45px;
    }
}
/* =========================================================
   SMALL MOBILE
========================================================= */
@media(max-width:375px){
    .tariff-hero-content h1{
        font-size:45px;
    }
    .tariff-intro-content h2{
        font-size:45px;
    }
    .mobile-price-row{
        grid-template-columns:60px 1fr 1fr;
        gap:5px;
    }
    .mobile-price-row strong{
        font-size:14px;
    }
    .mobile-price-row small{
        font-size:14px;
    }
    .full-house h2{
        font-size:45px;
    }
}
/* MOBILE */
@media(max-width:991px){
    .contact-page-hero h1{
        font-size:48px;
    }
    .contact-location-image,
    .arrival-modern-image{
        padding-left:0;
        padding-right:0;
    }
}
@media(max-width:767px){
    .contact-page-hero{
        min-height:430px;
    }
    .contact-page-hero h1{
        font-size:45px;
    }
    .contact-location-content h2,
    .arrival-modern-content h2{
        font-size:45px;
    }
    .contact-location-image img,
    .arrival-modern-image img{
        height:380px;
    }
    .location-floating-card,
    .arrival-card{
        left:15px;
        bottom:0;
    }
    .climate-modern-card{
        padding:28px 24px;
    }
    .contact-details-card,
    .appointment-modern-form{
        padding:30px 24px;
    }
    .contact-details-card h3,
    .appointment-modern-form h3{
        font-size:28px;
    }
    .appointment-modern-form .theme-btn{
        width:100%;
    }
}
@media(max-width:375px){
    .contact-page-hero h1{
        font-size:40px;
    }
    .contact-location-content h2,
    .arrival-modern-content h2{
        font-size:40px;
    }
    .contact-location-image img,
    .arrival-modern-image img{
        height:330px;
    }
}
@media (max-width: 1199px) {
    .booknow-wrapper {
        grid-template-columns: 0.8fr 1.2fr;
        gap: 30px;
    }
    .stay-intro h1 {
        font-size: 46px;
    }
    .booking-card {
        padding: 32px;
    }
}
/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */
@media (max-width: 991px) {
    .booknow-section {
        padding: 55px 0;
    }
    .booknow-wrapper {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .stay-intro {
        padding: 10px 5px;
    }
    .stay-intro h1 {
        font-size: 45px;
    }
    .intro-text {
        max-width: 700px;
    }
    .booking-card {
        padding: 35px;
    }
}
/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
    .booknow-section {
        padding: 30px 0;
    }
    .booknow-section .container {
        padding-left: 14px;
        padding-right: 14px;
    }
    .stay-intro {
        padding: 8px 5px;
    }
    .eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
    }
    .stay-intro h1 {
        font-size: 36px;
    }
    .intro-text {
        font-size: 12px;
        line-height: 1.8;
    }
    .stay-features {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-top: 25px;
    }
    .feature-item p {
        font-size: 10px;
    }
    .stay-quote {
        margin-top: 25px;
    }
    .booking-card {
        padding: 27px 18px;
        border-radius: 19px;
    }
    .booking-heading h2 {
        font-size: 31px;
    }
    .booking-heading p {
        font-size: 11px;
    }
    .form-section-title {
        margin-top: 21px;
    }
    .phone-wrap {
        grid-template-columns: 95px 1fr;
    }
    .phone-wrap select {
        font-size: 10px;
    }
}
/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 480px) {
    .booknow-section {
        padding: 20px 0;
    }
    .stay-intro h1 {
        font-size: 31px;
    }
    .booking-card {
        padding: 24px 15px;
    }
    .booking-heading h2 {
        font-size: 28px;
    }
    .input-wrap input,
    .input-wrap select,
    .phone-wrap input,
    .phone-wrap select {
        height: 48px;
    }
    .phone-wrap {
        grid-template-columns: 88px 1fr;
    }
    .phone-wrap select {
        padding: 0 3px;
    }
    .phone-wrap input {
        padding: 0 9px;
    }
    .submit-button {
        min-height: 50px;
    }
}
/* =========================================================
   TABLET
========================================================= */
@media (max-width: 991px) {
    .treatment-hero {
        min-height: 480px;
    }
    .treatment-hero-content {
        max-width: 650px;
        padding: 110px 0 70px;
    }
    .treatment-hero h1 {
        font-size: 54px;
    }
}
/* =========================================================
   MOBILE
========================================================= */
@media (max-width: 767px) {
    .treatment-hero {
        min-height: 430px;
        background-position: center;
    }
    .treatment-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(24, 51, 41, 0.88),
                rgba(24, 51, 41, 0.65)
            );
    }
    .treatment-hero-content {
        max-width: 100%;
        padding: 105px 15px 60px;
    }
    .treatment-hero .section-tag {
        font-size: 11px;
        letter-spacing: 2px;
        margin-bottom: 14px;
    }
    .treatment-hero h1 {
        font-size: 42px;
        line-height: 1.15;
        margin-bottom: 16px;
    }
    .treatment-hero p {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 24px;
    }
    .treatment-breadcrumb {
        gap: 9px;
        font-size: 13px;
    }
}
/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 480px) {
    .treatment-hero {
        min-height: 400px;
    }
    .treatment-hero-content {
        padding-top: 100px;
    }
    .treatment-hero h1 {
        font-size: 36px;
    }
    .treatment-hero p {
        font-size: 13px;
    }
}
@media (max-width: 991px) {

    .booknow-section{
         padding: 100px 0 75px;
    }
    .booknow-wrapper {
        max-width: 720px;
    }
    .stay-intro {
        margin-bottom: 45px;
    }
    .contact-details {
        grid-template-columns: repeat(3, 1fr);
    }
    .stay-features {
        grid-template-columns: 1fr 1fr;
    }
    .booking-card {
        padding: 40px;
    }
}
/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
    .booknow-section {
        padding: 80px 0 60px;
    }
    .booknow-wrapper {
        max-width: 100%;
    }
    .stay-intro {
        padding: 10px 0;
        margin-bottom: 35px;
    }
    .stay-intro h1 {
        font-size: 45px;
    }
    .intro-text {
        font-size: 13px;
        line-height: 1.8;
    }
    .eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
    }
    .eyebrow::before,
    .eyebrow::after {
        width: 25px;
    }
    .contact-details {
        grid-template-columns: 1fr;
        max-width: 450px;
        margin-top: 30px;
    }
    .contact-detail {
        flex-direction: row;
        text-align: left;
        min-height: auto;
        padding: 18px;
    }
    .contact-detail i {
        margin-bottom: 0;
    }
    .stay-features {
        grid-template-columns: 1fr;
        max-width: 450px;
    }
    .stay-quote {
        max-width: 450px;
    }
    .booking-card {
        padding: 30px 22px;
        border-radius: 22px;
    }
    .booking-heading {
        margin-bottom: 27px;
    }
    .booking-heading h2 {
        font-size: 32px;
     }

}
/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 480px) {
    .booknow-section {
        padding: 65px 0 50px;
    }
    .stay-intro h1 {
        font-size: 37px;
    }
    .intro-text {
        font-size: 12px;
    }
    .booking-card {
        padding: 26px 17px;

        border-radius: 19px;
    }
    .booking-heading h2 {
        font-size: 28px;
    }
    .booking-heading p {
        font-size: 11px;
    }
    .form-section-title {
        margin-top: 24px;
    }
    .input-wrap input,
    .input-wrap select,
    .phone-wrap select,
    .phone-wrap input {
        height: 50px;
    }
    .textarea-wrap textarea {
        min-height: 105px;
    }
    .submit-button {
        min-height: 54px;
    }
}
/* =========================================================
   MOBILE
========================================================= */
@media (max-width: 767px) {
    .contact-intro {
        margin-bottom: 35px;
    }
    .contact-intro h1 {
        font-size: 45px;
    }
    .contact-intro .intro-text {
        font-size: 13px;
    }
    .contact-details {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin-bottom: 35px;
    }
    .contact-detail {
        padding: 18px;
    }
    .contact-card {
        padding: 32px 22px;
        border-radius: 22px;
    }
    .contact-card-header h2 {
        font-size: 32px;
    }
    .contact-bottom {
        align-items: flex-start;
        padding: 18px;
        text-align: left;
    }
}
@media (max-width: 480px) {
    .contact-intro h1 {
        font-size: 38px;
    }
    .contact-card {
        padding: 27px 17px;
    }
    .contact-card-header h2 {
        font-size: 28px;
    }
    .contact-detail h4 {
        font-size: 12px;
    }
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .cv-blog-hero {
        min-height: auto;
        padding: 100px 0 90px;
    }

    .cv-hero-visual {
        margin-top: 60px;
    }

    .cv-hero-image-wrap {
        margin: auto;
    }

    .cv-floating-note {
        left: 5%;
    }

    .cv-intro-layout {
        grid-template-columns: 80px 1fr;
    }

    .cv-intro-symbol {
        display: none;
    }

    .cv-video-feature-inner {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .cv-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 280px 220px 220px;
    }

    .cv-gallery-large {
        grid-row: span 2;
    }

    .cv-gallery-wide {
        grid-column: span 2;
    }
}


@media (max-width: 767px) {

    .cv-blog-hero {
        padding: 80px 0 80px;
    }

    .cv-blog-hero h1 {
        font-size: 48px;
        letter-spacing: -1px;
    }

    .cv-blog-hero p {
        font-size: 14px;
    }

    .cv-hero-image-wrap {
        width: 90%;
    }

    .cv-journal-intro,
    .cv-insights-section,
    .cv-video-stories,
    .cv-wellness-gallery {
        padding: 80px 0;
    }

    .cv-wellness-quote,
    .cv-blog-cta,
    .cv-video-feature {
        padding: 90px 0;
    }

    .cv-intro-layout {
        display: block;
    }

    .cv-intro-label {
        margin-bottom: 25px;
    }

    .cv-intro-text h2 {
        font-size: 40px;
    }

    .cv-category-wrap {
        display: block;
    }

    .cv-category-heading {
        margin-bottom: 15px;
    }

    .cv-category-list {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 5px;
        scrollbar-width: none;
    }

    .cv-category-list::-webkit-scrollbar {
        display: none;
    }

    .cv-category-btn {
        flex: 0 0 auto;
    }

    .cv-section-heading {
        display: block;
    }

    .cv-section-heading p {
        margin-top: 25px;
    }

    .cv-insight-image {
        height: 250px;
    }

    .cv-video-copy h2 {
        font-size: 42px;
    }

    .cv-gallery-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 250px 200px 200px;
        gap: 8px;
    }

    .cv-gallery-large {
        grid-column: span 2;
        grid-row: auto;
    }

    .cv-gallery-wide {
        grid-column: span 2;
    }

    .cv-quote-decoration {
        font-size: 180px;
    }

    .cv-floating-note {
        left: 0;
        bottom: 20px;
        transform: scale(.9);
    }

    .cv-video-modal {
        padding: 15px;
    }

    .cv-video-close {
        right: -5px;
        top: -45px;
    }
}


@media (max-width: 480px) {

    .cv-blog-hero h1 {
        font-size: 42px;
    }

    .cv-blog-hero {
        padding-top: 65px;
    }

    .cv-hero-image-wrap {
        width: 100%;
        border-radius: 170px 170px 15px 15px;
    }

    .cv-floating-note {
        left: -5px;
    }

    .cv-intro-text h2 {
        font-size: 35px;
    }

    .cv-section-heading h2 {
        font-size: 38px;
    }

    .cv-insight-content {
        padding: 22px;
    }

    .cv-insight-content h3 {
        font-size: 23px;
    }

    .cv-gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 230px);
    }

    .cv-gallery-large,
    .cv-gallery-wide {
        grid-column: auto;
    }

    .cv-quote-content p {
        font-size: 32px;
    }

    .cv-cta-content h2 {
        font-size: 46px;
    }
}
/* =========================================================
   ACCESSIBILITY
========================================================= */
@media (prefers-reduced-motion: reduce) {
    .cv-blog-page *,
    .cv-blog-page *::before,
    .cv-blog-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
    .cv-blog-page .reveal {
        opacity: 1;
        transform: none;
    }
}
@media (max-width: 768px) {
    .contact-hero-section {
        min-height: 450px;
    }
    .contact-hero-content h1 {
        font-size: 42px;
    }
    .contact-hero-content p {
        font-size: 14px;
        line-height: 1.8;
    }
    .contact-hero-eyebrow {
        font-size: 11px;
        letter-spacing: 3px;
    }
}
@media (max-width: 480px) {
    .contact-hero-section {
        min-height: 400px;
    }
    .contact-hero-content {
        padding: 30px 18px;
    }
    .contact-hero-content h1 {
        font-size: 35px;
    }
}
/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 991px) {
    .cv-blog-featured {
        grid-template-columns: 1fr;
    }
    .cv-blog-featured-image {
        min-height: 350px;
    }
    .cv-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767px) {
    .cv-blog-section {
        padding: 70px 0;
    }
    .cv-blog-heading {
        margin-bottom: 40px;
        padding: 0 15px;
    }
    .cv-blog-heading h2 {
        font-size: 34px;
    }
    .cv-blog-heading p {
        font-size: 14px;
    }
    .cv-blog-featured {
        margin-bottom: 35px;
    }
    .cv-blog-featured-image {
        min-height: 260px;
    }
    .cv-blog-featured-content {
        padding: 30px 25px;
    }
    .cv-blog-featured-content h3 {
        font-size: 26px;
    }
    .cv-blog-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .cv-blog-image {
        height: 230px;
    }
}
/* Tablet */
@media (max-width: 992px) {
  .map-container {
    aspect-ratio: 4 / 3;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .map-section {
    padding: 24px 0;
  }
  .map-container {
    aspect-ratio: 1 / 1;
    border-radius: 0;
  }
}
/*==================================
HOMEPAGE HERO - FIX
Smaller hero text on desktop so it does not
cover the slider image. Text stays visible
and bottom-aligned on all screen sizes,
including mobile, with reduced font sizes.
(This block is placed last so it overrides
the earlier hero-content rules above.)
==================================*/
@media (max-width:1400px){
.hero-content h1{
    font-size:32px;
}
}
@media (max-width:1199px){
.hero-content h1{
    font-size:28px;
}
.hero-content p{
    font-size:14px;
}
}
@media (max-width:991px){
.hero-content h1{
    font-size:26px;
}
}
@media (max-width:767px){
.hero-section{
    height:75vh;
    min-height:480px;
    padding-bottom:50px;
}
.hero-content h1{
    font-size:22px;
    line-height:1.3;
}
.hero-content p{
    font-size:13px;
    line-height:1.7;
}
.hero-slide{
    background-size:cover;
    background-position:center;
}
.scroll-down{
    display:none;
}
}
@media (max-width:575px){
.hero-section{
    height:70vh;
    min-height:420px;
    padding-bottom:36px;
}
.hero-content h1{
    font-size:20px;
}
}
