/*
Theme Name: Mohini Homestay
Author: OpenAI
Version: 1.0.1
Text Domain: mohini-homestay
*/
:root{--g:#315d24;--gd:#173f2b;--cr:#fbf8f1;--tx:#1c2519;--mt:#697161;--ac:#a65d28}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--cr);color:var(--tx);line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:#fbf8f1f2;border-bottom:1px solid #e8dfd2}.head{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Georgia,serif;font-weight:700;color:var(--gd);font-size:1.3rem}.brand span{display:block;font-family:Arial,sans-serif;font-size:.7rem;letter-spacing:.18em;color:var(--ac);text-transform:uppercase}.nav{display:flex;gap:24px}.btn{background:var(--g);color:#fff;padding:12px 20px;border-radius:6px;font-weight:700;display:inline-block}
.hero{min-height:540px;display:flex;align-items:center;color:#fff;position:relative;overflow:hidden;background:#173f2b}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1s ease}
.hero-slide.active{opacity:1}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,28,12,.68),rgba(15,28,12,.08))}
.hero>.container{position:relative;z-index:2}
.hero-dots{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px}
.hero-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.35);padding:0;cursor:pointer}
.hero-dot.active{background:#fff}.hero .inner{max-width:650px;padding:80px 0}.hero h1{font-family:Georgia,serif;font-size:clamp(2.8rem,6vw,5rem);line-height:1.02;margin:.2rem 0 1rem}.hero p{font-size:1.08rem;max-width:560px}.eyebrow{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#dce9d4}
.section{padding:76px 0}.title{text-align:center;max-width:760px;margin:0 auto 34px}.title h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);margin:.2rem 0}.title p{color:var(--mt)}
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.card{background:#fff;border:1px solid #e7dfd3;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px #0000000d;display:flex;flex-direction:column}.card img{aspect-ratio:4/3;object-fit:cover}.body{padding:18px;display:flex;flex-direction:column;gap:10px;height:100%}.body h3,.body p{margin:0}.body p{color:var(--mt);font-size:.92rem}.body .btn{margin-top:auto;text-align:center}.badge{background:#ede2ce;color:#7c552e;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:700;width:max-content}
.features{background:#f0efe7}.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;text-align:center}.feature{padding:16px}.feature b{display:block;margin:6px 0}.feature span{font-size:1.9rem}
.cta{background:var(--g);color:#fff;padding:44px 0}.cta .container{display:flex;justify-content:space-between;align-items:center;gap:20px}.cta h2{font-family:Georgia,serif;margin:0;font-size:2rem}
.site-footer{background:var(--gd);color:#eef3eb;padding:48px 0 22px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:28px}.site-footer a{display:block;color:#dbe6d7;margin:7px 0}.copy{border-top:1px solid #ffffff2b;margin-top:28px;padding-top:16px;font-size:.86rem}
@media(max-width:1000px){.cards,.grid5{grid-template-columns:repeat(2,1fr)}.nav{display:none}}@media(max-width:650px){.cards,.grid5,.foot{grid-template-columns:1fr}.cta .container{flex-direction:column;align-items:flex-start}}

/* v1.1 additions */
.homestay-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--mt)}
.homestay-meta span{background:#f3efe7;border-radius:999px;padding:4px 8px}
.badge.available{background:#e5f2df;color:#315d24}
.badge.coming-soon{background:#ede2ce;color:#7c552e}

/* v1.3 admin-facing front-end helpers */
.card .badge.available{background:#e5f2df;color:#315d24}
.card .badge.coming-soon{background:#ede2ce;color:#7c552e}

/* v1.5 404 page */
.error404-wrap{
  min-height:60vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:80px 0;
}
.error404-box{max-width:680px;margin:auto}
.error404-code{
  font-family:Georgia,serif;
  font-size:clamp(4rem,10vw,8rem);
  line-height:1;
  color:var(--g);
  margin:0;
}
.error404-box h1{
  font-family:Georgia,serif;
  font-size:clamp(2rem,4vw,3rem);
  margin:.4rem 0 1rem;
}
.error404-box p{color:var(--mt);margin-bottom:24px}

/* v2.0 WordPress menu support */
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:24px;align-items:center}
.nav li{position:relative}
.nav a{display:block}
.nav .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:210px;
  background:#fbf8f1;
  border:1px solid #e8dfd2;
  padding:8px 0;
  z-index:100;
}
.nav .sub-menu li{width:100%}
.nav .sub-menu a{padding:9px 14px;white-space:nowrap}
.nav li:hover>.sub-menu{display:block}

/* v2.5 Homestay card image sliders */
.homestay-slider{position:relative;overflow:hidden;aspect-ratio:4/3;background:#eef1e9}
.homestay-slider .hs-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}
.homestay-slider .hs-slide.active{opacity:1}
.homestay-slider .hs-slide img{width:100%;height:100%;object-fit:cover}
.hs-dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:6px;z-index:4}
.hs-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.4);padding:0;cursor:pointer}
.hs-dot.active{background:#fff}

/* v2.9 decorative divider between About and Homestays */
.cp-section-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    max-width:720px;
    margin:0 auto;
    padding:4px 24px;
}
.cp-section-divider::before,
.cp-section-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:rgba(29,70,45,.28);
}
.cp-section-divider span{
    display:block;
    width:9px;
    height:9px;
    background:var(--ac);
    transform:rotate(45deg);
    flex:0 0 9px;
}



/* v3.1 Homepage + About Chandanpura page */
.home .cp-section-divider{
    margin:64px auto;
}

.about-hero{
    padding:88px 0 64px;
    text-align:center;
    background:#f4efe5;
}
.about-hero .eyebrow{
    color:var(--ac);
}
.about-hero h1{
    font-family:Georgia,serif;
    font-size:clamp(2.6rem,5vw,4.6rem);
    line-height:1.08;
    margin:.4rem auto 1rem;
    max-width:950px;
}
.about-hero p{
    max-width:820px;
    margin:0 auto;
    color:var(--mt);
    font-size:1.08rem;
}
.about-page-section{
    padding:68px 0;
}
.about-page-section.alt{
    background:#f0efe7;
}
.about-page-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:44px;
    align-items:start;
}
.about-page-section h2{
    font-family:Georgia,serif;
    font-size:clamp(2rem,4vw,3rem);
    margin:0 0 18px;
}
.about-page-section p{
    color:var(--mt);
    font-size:1.02rem;
}
.about-highlight{
    background:#fff;
    border:1px solid #e7dfd3;
    border-radius:14px;
    padding:26px;
}
.about-highlight h3{
    margin-top:0;
    color:var(--gd);
}
.about-points{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:30px;
}
.about-point{
    background:#fff;
    border:1px solid #e7dfd3;
    border-radius:12px;
    padding:20px;
}
.about-point b{
    display:block;
    margin-bottom:7px;
    color:var(--gd);
}
.partner-strip{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:24px;
}
.partner-box{
    background:#fff;
    border:1px solid #e7dfd3;
    border-radius:12px;
    padding:22px;
}
.partner-box h3{
    margin:0 0 8px;
}
@media(max-width:800px){
    .about-page-grid,
    .about-points,
    .partner-strip{
        grid-template-columns:1fr;
    }
}

/* v3.3 Partnership logos */
.partner-logo-wrap{
    height:125px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
}
.partner-logo{
    display:block;
    max-width:100%;
    max-height:115px;
    width:auto;
    height:auto;
    object-fit:contain;
}
.partner-box.mptb .partner-logo{
    max-height:120px;
}
.partner-box.ltimf .partner-logo{
    max-height:92px;
}

/* v3.4 Haritika partnership logo */
.partner-box.haritika .partner-logo{
    max-height:82px;
}

/* v3.5 Experiences section */
.experiences-section{
    padding:78px 0;
    background:#f7f3eb;
}
.experience-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:36px;
}
.experience-card{
    background:#fff;
    border:1px solid #e6ded1;
    border-radius:14px;
    padding:28px 24px;
    transition:transform .2s ease, box-shadow .2s ease;
}
.experience-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 30px rgba(20,40,25,.08);
}
.experience-icon{
    display:block;
    font-size:2rem;
    margin-bottom:14px;
}
.experience-card h3{
    margin:0 0 10px;
    font-family:Georgia,serif;
    font-size:1.35rem;
    color:var(--gd);
}
.experience-card p{
    margin:0;
    color:var(--mt);
}
@media(max-width:800px){
    .experience-grid{grid-template-columns:1fr;}
}

/* v3.6 multi-page portal */
.home-summary{
    padding:72px 0;
}
.home-summary.alt{
    background:#f7f3eb;
}
.home-summary-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:40px;
    align-items:center;
}
.home-summary h2{
    font-family:Georgia,serif;
    font-size:clamp(2rem,4vw,3.2rem);
    margin:.25rem 0 1rem;
}
.home-summary p{
    color:var(--mt);
    max-width:760px;
}
.summary-actions{
    margin-top:22px;
}
.summary-panel{
    background:#fff;
    border:1px solid #e7dfd3;
    border-radius:14px;
    padding:24px;
}
.summary-panel h3{
    margin-top:0;
    font-family:Georgia,serif;
    color:var(--gd);
}
.page-hero{
    padding:84px 0 60px;
    text-align:center;
    background:#f4efe5;
}
.page-hero .eyebrow{color:var(--ac)}
.page-hero h1{
    font-family:Georgia,serif;
    font-size:clamp(2.5rem,5vw,4.5rem);
    margin:.35rem 0 .8rem;
}
.page-hero p{
    max-width:800px;
    margin:0 auto;
    color:var(--mt);
}
.content-section{
    padding:68px 0;
}
.content-section.alt{
    background:#f7f3eb;
}
.content-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}
.content-card{
    background:#fff;
    border:1px solid #e7dfd3;
    border-radius:14px;
    padding:24px;
}
.content-card h3{
    margin-top:0;
    font-family:Georgia,serif;
    color:var(--gd);
}
@media(max-width:800px){
    .home-summary-grid,.content-grid{grid-template-columns:1fr}
}

/* v3.8 expanded content pages */
.long-copy{
    max-width:900px;
    margin:0 auto;
}
.long-copy p{
    color:var(--mt);
    font-size:1.04rem;
}
.section-kicker{
    color:var(--ac);
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:8px;
}
.two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:start;
}
.info-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.info-item{
    background:#fff;
    border:1px solid #e7dfd3;
    border-radius:14px;
    padding:22px;
}
.info-item h3{
    margin:0 0 9px;
    color:var(--gd);
    font-family:Georgia,serif;
}
.info-item p{
    margin:0;
    color:var(--mt);
}
.quote-block{
    max-width:920px;
    margin:0 auto;
    padding:34px;
    border-left:4px solid var(--ac);
    background:#fff;
    border-radius:0 14px 14px 0;
    font-family:Georgia,serif;
    font-size:1.3rem;
    color:var(--gd);
}
.experience-detail{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:18px;
    align-items:start;
    padding:24px 0;
    border-bottom:1px solid #e5ddd1;
}
.experience-detail:last-child{
    border-bottom:0;
}
.experience-detail .big-icon{
    font-size:2.6rem;
    line-height:1;
}
.experience-detail h3{
    margin:0 0 8px;
    font-family:Georgia,serif;
    color:var(--gd);
}
.experience-detail p{
    margin:0;
    color:var(--mt);
}
.tag-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}
.tag{
    display:inline-block;
    padding:6px 10px;
    border-radius:999px;
    background:#f0efe7;
    color:var(--gd);
    font-size:.82rem;
}
@media(max-width:800px){
    .two-col,.info-list{grid-template-columns:1fr}
    .experience-detail{grid-template-columns:1fr}
}

/* v3.9 Plan Your Stay enhancements */
.plan-steps{
    counter-reset:planstep;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}
.plan-step{
    position:relative;
    background:#fff;
    border:1px solid #e7dfd3;
    border-radius:14px;
    padding:26px 22px;
}
.plan-step:before{
    counter-increment:planstep;
    content:counter(planstep);
    width:38px;
    height:38px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--gd);
    color:#fff;
    font-weight:700;
    margin-bottom:16px;
}
.plan-step h3{
    font-family:Georgia,serif;
    color:var(--gd);
    margin:0 0 9px;
}
.plan-step p{color:var(--mt);margin:0}
.travel-checklist{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px 28px;
    margin-top:24px;
}
.travel-check{
    padding:16px 18px;
    background:#fff;
    border:1px solid #e7dfd3;
    border-radius:12px;
}
.travel-check strong{
    display:block;
    color:var(--gd);
    margin-bottom:5px;
}
.home-plan-summary{
    padding:72px 0;
    background:#f0efe7;
}
@media(max-width:900px){
    .plan-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
    .plan-steps,.travel-checklist{grid-template-columns:1fr}
}




/* =========================================================
   v4.2 - DYNAMIC HOMESTAY CARD WIDTH
   Desktop:
   1 card = 1 column
   2 cards = 2 columns
   3 cards = 3 columns
   4 cards = 4 columns
   5+ cards = 5 columns, then wrap to next row
   ========================================================= */

.cards{
    display:grid !important;
    gap:24px !important;
    align-items:stretch !important;
}

/* JS sets --cp-card-cols based on actual visible card count */
.cards[data-dynamic-homestays="1"]{
    grid-template-columns:repeat(var(--cp-card-cols,4), minmax(0,1fr)) !important;
}

.cards > .card{
    min-width:0 !important;
    width:100% !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
}

/* Keep all card images uniform */
.cards > .card > img,
.cards > .card .homestay-slider{
    width:100% !important;
    aspect-ratio:16/9 !important;
    height:auto !important;
    flex:0 0 auto !important;
    overflow:hidden !important;
}

.cards > .card > img,
.cards > .card .homestay-slider img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
}

/* Equal content height; button stays at bottom */
.cards > .card .body{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
}

.cards > .card .body .btn{
    margin-top:auto !important;
}

/* Five-card layouts need slightly tighter spacing/text */
@media (min-width:1100px){
    .cards[data-count-group="fiveplus"]{
        gap:18px !important;
    }
    .cards[data-count-group="fiveplus"] > .card .body{
        padding:16px !important;
    }
    .cards[data-count-group="fiveplus"] > .card h3{
        font-size:1.02rem !important;
    }
    .cards[data-count-group="fiveplus"] > .card p{
        font-size:.88rem !important;
    }
    .cards[data-count-group="fiveplus"] > .card .btn{
        padding:10px 10px !important;
        font-size:.9rem !important;
    }
}

/* Tablet always uses two columns */
@media (max-width:1099px) and (min-width:651px){
    .cards[data-dynamic-homestays="1"]{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* Mobile always uses one column */
@media (max-width:650px){
    .cards[data-dynamic-homestays="1"]{
        grid-template-columns:1fr !important;
        gap:20px !important;
    }
}

/* v4.4 - Chandanpura photographic storytelling */
.cp-photo-story h2{max-width:760px;margin-bottom:12px}
.cp-photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:30px}
.cp-photo-grid figure,.cp-feature-photo-row figure{margin:0;overflow:hidden;border-radius:20px;background:#eee;box-shadow:0 12px 32px rgba(35,48,31,.10)}
.cp-photo-grid figure:nth-child(1),.cp-photo-grid figure:nth-child(4){grid-column:span 7}
.cp-photo-grid figure:nth-child(2),.cp-photo-grid figure:nth-child(3){grid-column:span 5}
.cp-photo-grid figure:nth-child(5),.cp-photo-grid figure:nth-child(6){grid-column:span 6}
.cp-photo-grid img{display:block;width:100%;height:360px;object-fit:cover;transition:transform .45s ease}
.cp-photo-grid figure:nth-child(1) img,.cp-photo-grid figure:nth-child(4) img{height:430px}
.cp-photo-grid figure:hover img,.cp-feature-photo-row figure:hover img{transform:scale(1.025)}
.cp-photo-grid figcaption{padding:13px 16px;background:#fff;font-weight:650;color:var(--g)}
.cp-feature-photo-row{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:18px;margin-top:28px}
.cp-feature-photo-row img{display:block;width:100%;height:390px;object-fit:cover;transition:transform .45s ease}
@media(max-width:850px){.cp-photo-grid{grid-template-columns:1fr 1fr}.cp-photo-grid figure:nth-child(n){grid-column:span 1}.cp-photo-grid img,.cp-photo-grid figure:nth-child(n) img{height:300px}.cp-feature-photo-row{grid-template-columns:1fr}.cp-feature-photo-row img{height:330px}}
@media(max-width:560px){.cp-photo-grid{grid-template-columns:1fr}.cp-photo-grid img,.cp-photo-grid figure:nth-child(n) img,.cp-feature-photo-row img{height:280px}}


/* =========================================================
   v4.5 - EXPERIENCE ROW PHOTOS
   ========================================================= */
.experience-detail{
    grid-template-columns:56px minmax(0,1fr) minmax(300px,430px);
    gap:24px;
    align-items:center;
    padding:34px 0;
}
.experience-detail:nth-child(even){
    grid-template-columns:minmax(300px,430px) 56px minmax(0,1fr);
}
.experience-detail:nth-child(even) .experience-photo{
    grid-column:1;
    grid-row:1;
}
.experience-detail:nth-child(even) .big-icon{
    grid-column:2;
}
.experience-detail:nth-child(even) .experience-copy{
    grid-column:3;
}
.experience-photo{
    grid-column:3;
    overflow:hidden;
    border-radius:18px;
    background:#e9e3d8;
    box-shadow:0 12px 30px rgba(35,48,31,.12);
    aspect-ratio:3/2;
}
.experience-photo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .35s ease;
}
.experience-detail:hover .experience-photo img{
    transform:scale(1.025);
}
.experience-copy{
    min-width:0;
}
.experience-detail .big-icon{
    align-self:start;
    padding-top:3px;
}
@media(max-width:900px){
    .experience-detail,
    .experience-detail:nth-child(even){
        grid-template-columns:54px 1fr;
        gap:16px 18px;
    }
    .experience-detail .experience-photo,
    .experience-detail:nth-child(even) .experience-photo{
        grid-column:1 / -1;
        grid-row:auto;
        width:100%;
        max-width:none;
    }
    .experience-detail:nth-child(even) .big-icon{
        grid-column:1;
    }
    .experience-detail:nth-child(even) .experience-copy{
        grid-column:2;
    }
}
@media(max-width:600px){
    .experience-detail,
    .experience-detail:nth-child(even){
        grid-template-columns:1fr;
    }
    .experience-detail .big-icon,
    .experience-detail:nth-child(even) .big-icon,
    .experience-detail .experience-copy,
    .experience-detail:nth-child(even) .experience-copy,
    .experience-detail .experience-photo,
    .experience-detail:nth-child(even) .experience-photo{
        grid-column:1;
    }
    .experience-detail .big-icon{
        font-size:2rem;
    }
}


/* =========================================================
   v4.6 - EXPERIENCES HERO BACKGROUND PHOTO
   ========================================================= */
.experiences-hero-photo{
    position:relative;
    isolation:isolate;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    color:#fff;
    overflow:hidden;
}
.experiences-hero-photo::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(18,30,19,.62),rgba(18,30,19,.46),rgba(18,30,19,.62));
}
.experiences-hero-photo .eyebrow,
.experiences-hero-photo h1,
.experiences-hero-photo p{
    color:#fff;
    text-shadow:0 2px 16px rgba(0,0,0,.28);
}
.experiences-hero-photo .eyebrow{
    color:#f5c58d;
}

/* v4.7 About experience cards with photography */
.about-point.about-point-photo{
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:360px;
    transition:transform .22s ease, box-shadow .22s ease;
}
.about-point.about-point-photo:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 32px rgba(20,40,25,.09);
}
.about-point-photo > img{
    display:block;
    width:100%;
    height:190px;
    object-fit:cover;
}
.about-point-body{
    padding:25px 30px 28px;
}
.about-point-body b{
    font-size:1.12rem;
    margin-bottom:14px;
}
.about-point-body p{
    margin:0;
}
@media(max-width:800px){
    .about-point.about-point-photo{min-height:0;}
    .about-point-photo > img{height:220px;}
}


/* =========================================================
   v4.8 - EXPLORE / HOW TO REACH / CONTACT
   ========================================================= */
.destination-hero{padding:82px 0;background:linear-gradient(135deg,#213529,#466044);color:#fff;position:relative;overflow:hidden}
.destination-hero h1{color:#fff;margin:.3rem 0 1rem;font-family:Georgia,serif;font-size:clamp(2.7rem,5vw,4.7rem)}
.destination-hero p{max-width:790px;color:rgba(255,255,255,.92);font-size:1.08rem}
.destination-hero .eyebrow{color:#efc28f}
.destination-section{padding:72px 0}
.destination-section.alt{background:#f6f2ea}
.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.destination-card{background:#fff;border:1px solid #e7dfd3;border-radius:18px;overflow:hidden;box-shadow:0 10px 26px rgba(35,48,31,.08);display:flex;flex-direction:column}
.destination-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.destination-body{padding:22px;display:flex;flex-direction:column;flex:1}
.destination-body h3{margin:0 0 10px;font-family:Georgia,serif;color:var(--gd)}
.destination-body p{margin:0 0 15px;color:var(--mt)}
.destination-body .tag-row{margin-top:auto}
.travel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.travel-box{padding:25px;border-radius:16px;background:#fff;border:1px solid #e7dfd3}
.travel-box h3{margin:0 0 10px;color:var(--gd);font-family:Georgia,serif}
.travel-box p{color:var(--mt)}
.contact-panel{padding:34px;border-radius:20px;background:#273b2b;color:#fff}
.contact-panel h2,.contact-panel h3{color:#fff}
.contact-panel p{color:rgba(255,255,255,.9)}
.home-explore-strip{padding:68px 0;background:#f6f2ea}
.home-explore-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.home-explore-card{padding:25px;border-radius:16px;background:#fff;border:1px solid #e7dfd3}
.home-explore-card h3{margin-top:0;font-family:Georgia,serif;color:var(--gd)}
.home-explore-card p{color:var(--mt);margin-bottom:0}
.home-explore-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.route-note{padding:18px;border-radius:12px;background:#f7f3eb;border:1px solid #e7dfd3;color:var(--mt)}
@media(max-width:900px){.destination-grid,.travel-grid,.home-explore-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.destination-grid,.travel-grid,.home-explore-cards{grid-template-columns:1fr}.destination-hero{padding:58px 0}.home-explore-actions{flex-direction:column}.home-explore-actions .btn{text-align:center}}


/* v4.9 — cleaner header navigation */
.site-header .head{gap:22px}
.site-header .nav{margin-left:auto}
.site-header .nav > ul{display:flex;align-items:center;gap:clamp(18px,2vw,34px);margin:0;padding:0;list-style:none}
.site-header .nav > ul > li > a{white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.contact-nav-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 18px;border:1px solid #2f6128;border-radius:7px;
  color:#2f6128;text-decoration:none;font-weight:700;white-space:nowrap;
  background:transparent;transition:.2s ease;
}
.contact-nav-btn:hover{background:#f1f5ed;color:#234b1e}
@media (max-width:1180px){
 .site-header .head{gap:14px}
 .site-header .nav > ul{gap:16px}
 .site-header .nav > ul > li > a{font-size:15px}
 .contact-nav-btn{padding:0 13px;font-size:14px}
}
@media (max-width:900px){
 .header-actions{gap:7px}
 .contact-nav-btn{min-height:42px;padding:0 12px}
}


/* v5.0 - Explore visible in main navigation */
.site-header .nav > ul > li > a{
    font-size:15px;
}


/* =========================================================
   v5.2 - MODERN EXPLORE DESTINATION PAGE
   ========================================================= */
.explore-hero-modern{position:relative;min-height:68vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;overflow:hidden}
.explore-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,24,15,.12) 0%,rgba(12,24,15,.42) 45%,rgba(12,24,15,.82) 100%)}
.explore-hero-inner{position:relative;z-index:2;color:#fff;padding-top:120px;padding-bottom:72px;max-width:900px}
.explore-hero-inner h1{color:#fff;font-size:clamp(48px,7vw,92px);line-height:.95;margin:14px 0 24px;max-width:900px}
.explore-hero-inner p{color:rgba(255,255,255,.92);font-size:20px;line-height:1.7;max-width:760px}
.explore-eyebrow{color:#f4bd82}
.explore-hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px;flex-wrap:wrap}
.explore-text-link,.explore-light-link{color:#fff;text-decoration:none;font-weight:700}
.explore-text-link:hover,.explore-light-link:hover{text-decoration:underline}

.explore-intro-modern{padding:78px 0;background:#f7f3eb}
.explore-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}
.explore-intro-grid h2{font-size:clamp(38px,5vw,68px);line-height:1.05;margin-bottom:0}
.explore-intro-grid p{font-size:18px;line-height:1.8;margin:0}

.explore-feature-section{padding:88px 0}
.section-head-modern{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:34px}
.section-head-modern h2{font-size:clamp(36px,4vw,60px);line-height:1.08;margin-bottom:0}
.section-head-modern p{margin:0;font-size:17px;line-height:1.7}

.explore-feature-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,330px);gap:20px}
.explore-feature-card{position:relative;overflow:hidden;border-radius:24px;min-height:0}
.explore-feature-large{grid-row:1 / 3}
.explore-feature-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.explore-feature-card:hover img{transform:scale(1.04)}
.explore-feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(8,17,10,.82) 100%)}
.explore-feature-content{position:absolute;left:0;right:0;bottom:0;padding:28px;color:#fff}
.explore-feature-content h3{color:#fff;font-size:32px;margin:10px 0}
.explore-feature-content p{color:rgba(255,255,255,.88);margin:0;max-width:560px}
.explore-chip{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);font-size:12px;font-weight:700;letter-spacing:.05em}

.explore-story-section{padding:40px 0 90px;background:#f7f3eb}
.explore-story-row{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:50px 0}
.explore-story-row.reverse .explore-story-image{order:2}
.explore-story-row.reverse .explore-story-copy{order:1}
.explore-story-image{border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 18px 50px rgba(30,44,31,.12)}
.explore-story-image img{width:100%;height:100%;object-fit:cover;display:block}
.explore-story-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.08;margin:12px 0 18px}
.explore-story-copy p{font-size:17px;line-height:1.8}
.explore-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.explore-pills span{padding:9px 13px;background:#fff;border:1px solid rgba(34,50,37,.1);border-radius:999px;font-size:13px}

.explore-mood-section{padding:88px 0}
.explore-mood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.explore-mood-card{padding:28px;border-radius:20px;background:#fff;border:1px solid rgba(35,48,31,.1);box-shadow:0 10px 28px rgba(35,48,31,.05)}
.explore-mood-card>span{display:inline-block;color:var(--ac);font-weight:800;font-size:13px;letter-spacing:.12em;margin-bottom:32px}
.explore-mood-card h3{font-size:23px;margin-bottom:12px}
.explore-mood-card p{line-height:1.7;margin-bottom:0}

.explore-final-cta{padding:0 0 88px}
.explore-final-box{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center;padding:52px;border-radius:28px;background:#243b29;color:#fff}
.explore-final-box h2{color:#fff;font-size:clamp(34px,4vw,54px);margin:10px 0 16px}
.explore-final-box p{color:rgba(255,255,255,.86);max-width:720px}
.explore-final-actions{display:flex;gap:20px;align-items:center;justify-content:flex-end;flex-wrap:wrap}

@media(max-width:900px){
 .explore-intro-grid,.section-head-modern,.explore-story-row,.explore-final-box{grid-template-columns:1fr;gap:28px}
 .explore-feature-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 300px}
 .explore-feature-large{grid-column:1 / 3;grid-row:auto}
 .explore-story-row.reverse .explore-story-image,.explore-story-row.reverse .explore-story-copy{order:initial}
 .explore-mood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .explore-final-actions{justify-content:flex-start}
}
@media(max-width:600px){
 .explore-hero-modern{min-height:76vh}
 .explore-hero-inner{padding-bottom:50px}
 .explore-hero-inner h1{font-size:48px}
 .explore-hero-inner p{font-size:17px}
 .explore-feature-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none}
 .explore-feature-large{grid-column:auto}
 .explore-feature-card{height:360px}
 .explore-mood-grid{grid-template-columns:1fr}
 .explore-final-box{padding:34px 24px}
}


/* =========================================================
   v5.3 - COMPACT PREMIUM EXPLORE PAGE
   ========================================================= */
.explore53-hero{
    min-height:390px;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center;
}
.explore53-hero-copy{
    max-width:720px;
    padding:68px 0;
    color:#fff;
}
.explore53-light-label{color:#f0bd83}
.explore53-hero h1{
    color:#fff;
    font-size:clamp(42px,5vw,68px);
    line-height:1.05;
    margin:12px 0 18px;
}
.explore53-hero p{
    color:rgba(255,255,255,.92);
    font-size:18px;
    line-height:1.7;
    max-width:680px;
    margin-bottom:26px;
}

.explore53-section{padding:72px 0;background:#faf8f2}
.explore53-heading{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    align-items:end;
    gap:45px;
    margin-bottom:32px;
}
.explore53-heading h2{
    font-size:clamp(34px,4vw,52px);
    line-height:1.1;
    margin:8px 0 0;
}
.explore53-heading>p{
    margin:0;
    line-height:1.75;
    max-width:520px;
}

.explore53-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.explore53-card{
    background:#fff;
    border:1px solid #e4ddd1;
    border-radius:18px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-width:0;
    box-shadow:0 8px 22px rgba(28,43,30,.055);
    transition:transform .22s ease,box-shadow .22s ease;
}
.explore53-card:hover{
    transform:translateY(-4px);
    box-shadow:0 13px 30px rgba(28,43,30,.10);
}
.explore53-photo{
    width:100%;
    height:205px;
    overflow:hidden;
    background:#ece7dd;
}
.explore53-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    transition:transform .3s ease;
}
.explore53-card:hover .explore53-photo img{transform:scale(1.025)}
.explore53-body{
    padding:21px 22px 24px;
}
.explore53-meta{
    color:#a95417;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:8px;
}
.explore53-body h3{
    font-size:24px;
    line-height:1.2;
    margin:0 0 10px;
}
.explore53-body p{
    margin:0;
    line-height:1.7;
    font-size:15px;
}

.explore53-info-section{padding:0 0 70px;background:#faf8f2}
.explore53-info-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.explore53-info-card{
    background:#f1eee6;
    border-radius:16px;
    padding:24px;
}
.explore53-info-card span{
    display:block;
    color:#a95417;
    font-weight:800;
    font-size:12px;
    letter-spacing:.1em;
    margin-bottom:18px;
}
.explore53-info-card h3{
    font-size:21px;
    margin:0 0 9px;
}
.explore53-info-card p{
    font-size:14px;
    line-height:1.7;
    margin:0;
}

.explore53-cta-section{padding:0 0 72px;background:#faf8f2}
.explore53-cta{
    background:#243a29;
    border-radius:20px;
    padding:38px 42px;
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:35px;
    align-items:center;
    color:#fff;
}
.explore53-cta h2{
    color:#fff;
    font-size:clamp(29px,3vw,42px);
    margin:8px 0 10px;
}
.explore53-cta p{
    color:rgba(255,255,255,.86);
    margin:0;
}
.explore53-cta-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}
.explore53-secondary{
    color:#fff;
    font-weight:700;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.55);
    padding-bottom:3px;
}

@media(max-width:950px){
    .explore53-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .explore53-heading,.explore53-cta{grid-template-columns:1fr}
    .explore53-cta-actions{justify-content:flex-start}
}
@media(max-width:650px){
    .explore53-hero{min-height:340px}
    .explore53-hero-copy{padding:54px 0}
    .explore53-hero h1{font-size:42px}
    .explore53-grid,.explore53-info-grid{grid-template-columns:1fr}
    .explore53-photo{height:210px}
    .explore53-section{padding:54px 0}
    .explore53-heading{gap:14px}
    .explore53-cta{padding:30px 24px}
}

/* =========================================================
   v5.4 - REFINED COMPACT EXPLORE
   Designed to stay compact even on narrow screens.
   ========================================================= */
.ex54-hero{min-height:260px;display:flex;align-items:center;background-size:cover;background-position:center}
.ex54-hero-inner{padding:48px 0;color:#fff;max-width:760px}
.ex54-light{color:#f3bd83}
.ex54-hero h1{color:#fff;font-size:clamp(36px,4.6vw,58px);line-height:1.04;margin:10px 0 14px}
.ex54-hero p{color:rgba(255,255,255,.92);font-size:17px;line-height:1.65;max-width:650px;margin:0 0 22px}
.ex54-section{padding:58px 0;background:#faf8f3}
.ex54-section-head,.ex54-title-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:24px}
.ex54-section-head h2,.ex54-title-row h2,.ex54-guide h2{font-size:clamp(30px,3.4vw,46px);line-height:1.08;margin:7px 0 0}
.ex54-section-head>p,.ex54-title-row>p{margin:0;line-height:1.7;max-width:520px}
.ex54-feature{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);background:#fff;border:1px solid #e4ddd2;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(28,43,30,.06)}
.ex54-feature-photo{height:285px;overflow:hidden}
.ex54-feature-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ex54-feature-copy{padding:30px 34px;display:flex;flex-direction:column;justify-content:center}
.ex54-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#a75419}
.ex54-feature-copy h3{font-size:29px;margin:8px 0 11px}
.ex54-feature-copy p{font-size:15px;line-height:1.75;margin:0}
.ex54-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.ex54-pills span{font-size:12px;padding:7px 10px;border-radius:999px;background:#f4f1e9}
.ex54-more{padding:60px 0;background:#fff}
.ex54-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ex54-mini{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:128px;border:1px solid #e7e0d5;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(28,43,30,.045)}
.ex54-mini-visual{display:flex;align-items:center;justify-content:center;font-size:34px;background:#eef3e9}
.ex54-water .ex54-mini-visual{background:#e8f1f4}.ex54-earth .ex54-mini-visual{background:#f2eadc}.ex54-forest .ex54-mini-visual{background:#e9f0e4}.ex54-river .ex54-mini-visual{background:#e8eef1}.ex54-trek .ex54-mini-visual{background:#f3eee3}.ex54-photo .ex54-mini-visual{background:#eee9e3}
.ex54-mini-copy{padding:18px 20px}
.ex54-mini-copy h3{font-size:20px;margin:4px 0 6px;line-height:1.2}
.ex54-mini-copy p{font-size:13.5px;line-height:1.6;margin:0;color:#556255}
.ex54-guide{padding:58px 0;background:#f4f1e9}
.ex54-guide-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.ex54-guide-points{display:grid;gap:12px}
.ex54-guide-points>div{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid #ddd5c8}
.ex54-guide-points b{color:#a75419;font-size:12px;letter-spacing:.08em}
.ex54-guide-points span{font-size:14px;line-height:1.6}
.ex54-cta-wrap{padding:0 0 60px;background:#f4f1e9}
.ex54-cta{background:#263d2b;color:#fff;border-radius:18px;padding:32px 36px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.ex54-cta h2{color:#fff;font-size:clamp(27px,3vw,38px);margin:7px 0 8px}
.ex54-cta p{color:rgba(255,255,255,.84);margin:0}
.ex54-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.ex54-link{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
@media(max-width:820px){.ex54-section-head,.ex54-title-row,.ex54-guide-grid,.ex54-cta{grid-template-columns:1fr;gap:18px}.ex54-feature{grid-template-columns:1fr}.ex54-feature-photo{height:220px}.ex54-list-grid{grid-template-columns:1fr}.ex54-actions{justify-content:flex-start}}
@media(max-width:520px){.ex54-hero{min-height:210px}.ex54-hero-inner{padding:34px 0}.ex54-hero h1{font-size:34px}.ex54-hero p{font-size:14px;line-height:1.55}.ex54-section,.ex54-more,.ex54-guide{padding:38px 0}.ex54-feature-photo{height:165px}.ex54-feature-copy{padding:20px}.ex54-feature-copy h3{font-size:23px}.ex54-feature-copy p{font-size:13.5px}.ex54-mini{grid-template-columns:88px minmax(0,1fr);min-height:106px}.ex54-mini-visual{font-size:27px}.ex54-mini-copy{padding:13px 14px}.ex54-mini-copy h3{font-size:17px;margin:3px 0 4px}.ex54-mini-copy p{font-size:12px;line-height:1.45}.ex54-kicker{font-size:9.5px}.ex54-cta{padding:24px 20px}.ex54-section-head h2,.ex54-title-row h2,.ex54-guide h2{font-size:29px}}


/* =========================================================
   v5.5 - Explore CSS cache fix + layout safeguards
   ========================================================= */
body .ex54-section .ex54-feature{
    display:grid;
    grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
    max-width:100%;
}
body .ex54-section .ex54-feature-photo{
    height:285px;
    max-height:285px;
}
body .ex54-section .ex54-feature-photo img{
    width:100%;
    height:100%;
    max-width:100%;
    object-fit:cover;
}
body .ex54-pills{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
body .ex54-pills span{
    display:inline-flex;
}
body .ex54-list-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
body .ex54-mini{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
}
@media(max-width:820px){
    body .ex54-section .ex54-feature{grid-template-columns:1fr}
    body .ex54-section .ex54-feature-photo{height:220px;max-height:220px}
    body .ex54-list-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
    body .ex54-section .ex54-feature-photo{height:165px;max-height:165px}
    body .ex54-mini{grid-template-columns:88px minmax(0,1fr)}
}


/* =========================================================
   v5.6 - Three featured destinations
   ========================================================= */
.ex56-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ex56-featured-card{background:#fff;border:1px solid #e4ddd2;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(28,43,30,.06);transition:transform .25s ease,box-shadow .25s ease}
.ex56-featured-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(28,43,30,.10)}
.ex56-featured-photo{height:230px;overflow:hidden;background:#eee}
.ex56-featured-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.ex56-featured-card:hover .ex56-featured-photo img{transform:scale(1.035)}
.ex56-featured-copy{padding:24px 24px 26px}
.ex56-featured-copy h3{font-size:26px;line-height:1.15;margin:7px 0 10px}
.ex56-featured-copy p{font-size:14px;line-height:1.68;color:#556255;margin:0}
@media(max-width:900px){.ex56-featured-grid{grid-template-columns:1fr 1fr}.ex56-featured-card:last-child{grid-column:1 / 3}}
@media(max-width:620px){.ex56-featured-grid{grid-template-columns:1fr}.ex56-featured-card:last-child{grid-column:auto}.ex56-featured-photo{height:205px}.ex56-featured-copy{padding:20px}.ex56-featured-copy h3{font-size:23px}}


/* v5.7 — photographic hero treatment for all inner pages */
.subpage-photo-hero{position:relative;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;overflow:hidden;color:#fff}
.subpage-photo-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,32,20,.76) 0%,rgba(16,32,20,.48) 48%,rgba(16,32,20,.20) 100%);z-index:0}
.subpage-photo-hero>.container,.subpage-photo-hero .ex54-hero-inner{position:relative;z-index:1}
.subpage-photo-hero h1,.subpage-photo-hero p,.subpage-photo-hero .eyebrow{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.about-hero.subpage-photo-hero,.page-hero.subpage-photo-hero,.destination-hero.subpage-photo-hero{min-height:390px;display:flex;align-items:center;padding:72px 0}
.about-hero.subpage-photo-hero .container,.page-hero.subpage-photo-hero .container,.destination-hero.subpage-photo-hero .container{width:100%}
.about-hero.subpage-photo-hero h1,.page-hero.subpage-photo-hero h1,.destination-hero.subpage-photo-hero h1{max-width:900px}
.about-hero.subpage-photo-hero p,.page-hero.subpage-photo-hero p,.destination-hero.subpage-photo-hero p{max-width:800px;color:rgba(255,255,255,.94)!important}
@media(max-width:700px){.about-hero.subpage-photo-hero,.page-hero.subpage-photo-hero,.destination-hero.subpage-photo-hero{min-height:310px;padding:52px 0}.subpage-photo-hero::before{background:linear-gradient(90deg,rgba(16,32,20,.78),rgba(16,32,20,.40))}}

/* v5.8 — Center all inner-page photographic hero content */
.subpage-photo-hero > .container,
.subpage-photo-hero .ex54-hero-inner{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.subpage-photo-hero h1,
.subpage-photo-hero p,
.subpage-photo-hero .eyebrow{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.subpage-photo-hero::before{
  background:rgba(16,32,20,.48);
}

/* v5.9 — user-supplied photographic hero images across inner pages; homepage unchanged */

/* v6.0 — force precise horizontal + vertical centering for every inner-page photo hero */
.subpage-photo-hero{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.subpage-photo-hero > .container,
.subpage-photo-hero .ex54-hero-inner{
  width:100%!important;
  max-width:1200px!important;
  margin:0 auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
  box-sizing:border-box!important;
  text-align:center!important;
}
.subpage-photo-hero .eyebrow,
.subpage-photo-hero h1,
.subpage-photo-hero p{
  display:block!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.subpage-photo-hero h1{max-width:950px!important;}
.subpage-photo-hero p{max-width:850px!important;}
.ex54-hero.subpage-photo-hero .ex54-hero-inner{margin-left:auto!important;margin-right:auto!important;}


/* v6.1 — true viewport-centered inner hero content */
body .subpage-photo-hero > .container,
body .subpage-photo-hero .ex54-hero-inner{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:5vw!important;
  padding-right:5vw!important;
  text-align:center!important;
}
body .subpage-photo-hero .eyebrow,
body .subpage-photo-hero h1,
body .subpage-photo-hero p{
  width:auto!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body .subpage-photo-hero p{max-width:850px!important;}


/* v6.2 — About community section photographic background */
.about-community-bg{
  position:relative;
  isolation:isolate;
  background-size:cover;
  background-position:center 52%;
  background-repeat:no-repeat;
  padding-top:88px;
  padding-bottom:88px;
}
.about-community-bg::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(15,29,20,.88) 0%,rgba(15,29,20,.74) 52%,rgba(15,29,20,.54) 100%);
}
.about-community-bg .eyebrow{color:#f3b56d!important;}
.about-community-bg h2,.about-community-bg p{color:#fff!important;}
.about-community-bg .about-highlight{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  border-color:rgba(255,255,255,.55);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.about-community-bg .about-highlight h3{color:var(--ink)!important;}
.about-community-bg .about-highlight p{color:var(--muted)!important;}
@media(max-width:800px){
  .about-community-bg{padding-top:64px;padding-bottom:64px;background-position:center;}
  .about-community-bg::before{background:rgba(15,29,20,.76);}
}

/* =========================================================
   v6.4 PROFESSIONAL MOTION SYSTEM
   ========================================================= */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
body.cp-page-ready{animation:cpPageIn .62s cubic-bezier(.2,.75,.25,1) both}
body.cp-page-leaving{animation:cpPageOut .32s ease both;pointer-events:none}
@keyframes cpPageIn{from{opacity:0;transform:translateY(10px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes cpPageOut{to{opacity:0;transform:translateY(-8px);filter:blur(2px)}}

/* header entrance + refined navigation */
.site-header{transition:box-shadow .35s ease,background .35s ease,transform .35s ease;animation:cpHeaderIn .65s .08s both}
.site-header.cp-scrolled{box-shadow:0 10px 30px rgba(20,45,25,.10);background:rgba(251,248,241,.97)}
@keyframes cpHeaderIn{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
.nav a{position:relative;transition:color .25s ease,transform .25s ease}
.nav a:not(.btn):after{content:"";position:absolute;left:50%;right:50%;bottom:-7px;height:2px;background:var(--g);transition:left .28s ease,right .28s ease}
.nav a:not(.btn):hover:after{left:0;right:0}.nav a:hover{transform:translateY(-1px)}
.btn{transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(49,93,36,.22);filter:brightness(1.06)}

/* hero cinematic motion */
.hero,.subpage-hero,.page-hero,.inner-hero{isolation:isolate}
.hero .inner,.subpage-hero .container,.page-hero .container,.inner-hero .container{animation:cpHeroCopy 1s .16s cubic-bezier(.2,.75,.25,1) both}
@keyframes cpHeroCopy{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
.hero-slide{transform:scale(1.045);transition:opacity 1.2s ease,transform 7s ease}.hero-slide.active{transform:scale(1)}

/* scroll reveal: JS adds .cp-reveal automatically */
.cp-reveal{opacity:0;transform:translateY(34px);transition:opacity .72s cubic-bezier(.2,.75,.25,1),transform .72s cubic-bezier(.2,.75,.25,1)}
.cp-reveal.cp-in{opacity:1;transform:none}
.cp-reveal.cp-delay-1{transition-delay:.08s}.cp-reveal.cp-delay-2{transition-delay:.16s}.cp-reveal.cp-delay-3{transition-delay:.24s}.cp-reveal.cp-delay-4{transition-delay:.32s}

/* cards and imagery */
.card,.experience-card,.feature-card,.homestay-card,.why-card,.explore-card{transition:transform .38s cubic-bezier(.2,.75,.25,1),box-shadow .38s ease,border-color .38s ease}
.card:hover,.experience-card:hover,.feature-card:hover,.homestay-card:hover,.why-card:hover,.explore-card:hover{transform:translateY(-8px);box-shadow:0 18px 38px rgba(20,45,25,.13);border-color:rgba(49,93,36,.25)}
.card img,.experience-card img,.feature-card img,.homestay-card img,.explore-card img{transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .5s ease}
.card:hover img,.experience-card:hover img,.feature-card:hover img,.homestay-card:hover img,.explore-card:hover img{transform:scale(1.045);filter:saturate(1.05)}

/* subtle heading animation */
.eyebrow,.title h2,h1,h2{transform-origin:center}
.site-footer{position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.035) 45%,transparent 70%);transform:translateX(-100%);animation:cpFooterGlow 10s linear infinite;pointer-events:none}
@keyframes cpFooterGlow{to{transform:translateX(100%)}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.cp-reveal{opacity:1!important;transform:none!important}}

/* =========================================================
   v6.5 FULL IMMERSIVE ANIMATION SYSTEM
   ========================================================= */
:root{--cp-ease:cubic-bezier(.16,1,.3,1)}
body:before{content:"";position:fixed;inset:0;z-index:99998;background:var(--cream,#fbf8f1);transform:scaleY(0);transform-origin:bottom;pointer-events:none}
body.cp-page-leaving:before{animation:cpCurtainIn .58s var(--cp-ease) forwards}
body.cp-page-ready:after{content:"";position:fixed;inset:0;z-index:99999;background:var(--g,#315d24);transform-origin:top;animation:cpCurtainOut .8s .05s var(--cp-ease) forwards;pointer-events:none}
@keyframes cpCurtainIn{to{transform:scaleY(1)}}
@keyframes cpCurtainOut{0%{transform:scaleY(1)}100%{transform:scaleY(0)}}

/* cinematic hero: background breath + copy sequence */
.subpage-photo-hero,.hero{overflow:hidden;position:relative}
.subpage-photo-hero:after,.hero:after{content:"";position:absolute;inset:-5%;z-index:-1;background:inherit;background-size:cover;background-position:center;animation:cpHeroBreath 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes cpHeroBreath{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.09) translate3d(-1%,1%,0)}}
.subpage-photo-hero .eyebrow,.hero .eyebrow{animation:cpDrop .8s .35s var(--cp-ease) both}
.subpage-photo-hero h1,.hero h1{animation:cpRise 1s .48s var(--cp-ease) both}
.subpage-photo-hero p,.hero p{animation:cpRise 1s .62s var(--cp-ease) both}
.subpage-photo-hero .btn,.hero .btn{animation:cpRise 1s .76s var(--cp-ease) both}
@keyframes cpDrop{from{opacity:0;letter-spacing:.35em;transform:translateY(-20px)}to{opacity:1;transform:none}}
@keyframes cpRise{from{opacity:0;transform:translateY(50px) scale(.97);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* stronger reveals with directional variants */
.cp-reveal{opacity:0;transform:translate3d(0,65px,0) scale(.96);filter:blur(7px);transition:opacity .95s var(--cp-ease),transform 1.05s var(--cp-ease),filter .9s ease}
.cp-reveal.cp-in{opacity:1;transform:none;filter:none}
.cp-from-left{transform:translate3d(-85px,0,0) rotate(-1.5deg)}
.cp-from-right{transform:translate3d(85px,0,0) rotate(1.5deg)}
.cp-from-left.cp-in,.cp-from-right.cp-in{transform:none}

/* animated image masks */
.cp-img-reveal{position:relative;overflow:hidden}
.cp-img-reveal:after{content:"";position:absolute;inset:0;background:var(--cream,#fbf8f1);transform:scaleX(1);transform-origin:right;transition:transform 1.05s .12s var(--cp-ease);z-index:3;pointer-events:none}
.cp-img-reveal.cp-img-in:after{transform:scaleX(0)}
.cp-img-reveal img{transform:scale(1.12);transition:transform 1.5s var(--cp-ease)}
.cp-img-reveal.cp-img-in img{transform:scale(1)}

/* premium card motion */
.card,.experience-card,.feature-card,.homestay-card,.why-card,.explore-card,.about-highlight{will-change:transform;transform-style:preserve-3d}
.cp-tilt{transition:transform .18s ease-out,box-shadow .35s ease!important}
.cp-tilt:hover{box-shadow:0 28px 60px rgba(20,45,25,.18)!important}
.cp-tilt h3,.cp-tilt h2,.cp-tilt p,.cp-tilt .btn{transform:translateZ(22px)}

/* living buttons */
.btn{overflow:hidden;position:relative;isolation:isolate}
.btn:before{content:"";position:absolute;top:-80%;left:-35%;width:25%;height:260%;background:rgba(255,255,255,.24);transform:rotate(24deg) translateX(-250%);transition:transform .65s var(--cp-ease);z-index:-1}
.btn:hover:before{transform:rotate(24deg) translateX(650%)}

/* headings draw into view */
.cp-title-live{position:relative;display:inline-block}
.cp-title-live:after{content:"";position:absolute;left:50%;bottom:-12px;width:0;height:2px;background:currentColor;opacity:.25;transition:width .8s .25s var(--cp-ease),left .8s .25s var(--cp-ease)}
.cp-title-live.cp-in:after{width:72%;left:14%}

/* floating decorative movement on selected cards */
@keyframes cpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.cards>*:nth-child(2n).cp-in,.experience-grid>*:nth-child(2n).cp-in{animation:cpFloat 5s 1.2s ease-in-out infinite}

/* scroll progress */
#cp-progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--g,#315d24);z-index:100000;pointer-events:none;box-shadow:0 0 12px rgba(49,93,36,.35)}

/* desktop cursor glow - subtle and non-blocking */
#cp-glow{position:fixed;width:280px;height:280px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(49,93,36,.07),transparent 68%);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease}
body:hover #cp-glow{opacity:1}
.site-header,main,.site-footer{position:relative;z-index:1}

@media(max-width:800px){#cp-glow{display:none}.cp-from-left,.cp-from-right{transform:translate3d(0,45px,0)}.cp-reveal{filter:none}}
@media(prefers-reduced-motion:reduce){body:before,body:after,#cp-progress,#cp-glow{display:none!important}.cp-img-reveal:after{display:none}.cp-img-reveal img{transform:none!important}}


/* =========================================================
   v6.6 - Animated Mobile Hamburger Menu
   ========================================================= */
.mobile-menu-toggle{
    display:none;
    width:46px;
    height:46px;
    border:1px solid rgba(36,58,41,.18);
    border-radius:11px;
    background:#fff;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    padding:0;
    cursor:pointer;
    position:relative;
    z-index:1005;
    box-shadow:0 6px 18px rgba(28,43,30,.07);
    transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.mobile-menu-toggle:hover{
    transform:translateY(-1px);
    background:#f7f4ec;
    border-color:rgba(36,58,41,.34);
}
.mobile-menu-toggle span{
    width:22px;
    height:2px;
    display:block;
    border-radius:99px;
    background:#243a29;
    transition:transform .34s cubic-bezier(.2,.7,.2,1),opacity .2s ease,width .28s ease;
}
.mobile-menu-toggle.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}
.mobile-menu-toggle.is-open span:nth-child(2){
    opacity:0;
    width:0;
}
.mobile-menu-toggle.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

.mobile-menu-backdrop{
    display:none;
}

@media(max-width:900px){
    .site-header{
        z-index:1100;
    }
    .site-header .head{
        position:relative;
        display:flex;
        align-items:center;
        gap:12px;
    }
    .mobile-menu-toggle{
        display:flex;
        margin-left:auto;
        flex:0 0 auto;
    }
    .site-header .nav{
        position:fixed;
        top:0;
        right:0;
        bottom:0;
        width:min(86vw,380px);
        margin:0;
        padding:92px 24px 32px;
        background:rgba(250,248,242,.985);
        backdrop-filter:blur(20px);
        -webkit-backdrop-filter:blur(20px);
        border-left:1px solid rgba(36,58,41,.10);
        box-shadow:-22px 0 55px rgba(20,35,24,.16);
        transform:translateX(105%);
        opacity:.98;
        visibility:hidden;
        pointer-events:none;
        overflow-y:auto;
        transition:transform .38s cubic-bezier(.22,.75,.18,1),visibility .38s ease;
        z-index:1004;
    }
    .site-header .nav.mobile-open{
        transform:translateX(0);
        visibility:visible;
        pointer-events:auto;
    }
    .site-header .nav > ul{
        display:flex !important;
        flex-direction:column;
        align-items:stretch !important;
        gap:3px !important;
        margin:0;
        padding:0;
        list-style:none;
    }
    .site-header .nav > ul > li{
        width:100%;
        opacity:0;
        transform:translateX(22px);
        transition:opacity .28s ease,transform .32s ease;
    }
    .site-header .nav.mobile-open > ul > li{
        opacity:1;
        transform:translateX(0);
    }
    .site-header .nav.mobile-open > ul > li:nth-child(1){transition-delay:.07s}
    .site-header .nav.mobile-open > ul > li:nth-child(2){transition-delay:.10s}
    .site-header .nav.mobile-open > ul > li:nth-child(3){transition-delay:.13s}
    .site-header .nav.mobile-open > ul > li:nth-child(4){transition-delay:.16s}
    .site-header .nav.mobile-open > ul > li:nth-child(5){transition-delay:.19s}
    .site-header .nav.mobile-open > ul > li:nth-child(6){transition-delay:.22s}
    .site-header .nav.mobile-open > ul > li:nth-child(7){transition-delay:.25s}
    .site-header .nav > ul > li > a{
        display:flex !important;
        width:100%;
        padding:14px 14px !important;
        border-radius:10px;
        color:#243a29;
        font-size:17px !important;
        line-height:1.25;
        text-decoration:none;
        white-space:normal !important;
        transition:background .2s ease,padding-left .2s ease,color .2s ease;
    }
    .site-header .nav > ul > li > a:hover,
    .site-header .nav > ul > li.current-menu-item > a{
        background:#eeece4;
        padding-left:19px !important;
    }
    .header-actions{
        display:none !important;
    }
    .mobile-menu-backdrop{
        position:fixed;
        inset:0;
        display:block;
        background:rgba(10,20,12,.38);
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .3s ease,visibility .3s ease;
        z-index:1001;
    }
    .mobile-menu-backdrop.is-visible{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }
    body.mobile-menu-active{
        overflow:hidden;
    }
    body.mobile-menu-active .mobile-menu-toggle{
        position:fixed;
        top:17px;
        right:20px;
    }

    /* Mobile utility actions inside menu */
    .cp-mobile-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
        margin-top:20px;
        padding-top:20px;
        border-top:1px solid rgba(36,58,41,.12);
        opacity:0;
        transform:translateY(12px);
        transition:opacity .3s ease .25s,transform .3s ease .25s;
    }
    .nav.mobile-open .cp-mobile-actions{
        opacity:1;
        transform:translateY(0);
    }
    .cp-mobile-actions a{
        text-align:center;
        justify-content:center;
    }
    .cp-mobile-contact{
        display:flex;
        min-height:46px;
        align-items:center;
        justify-content:center;
        border:1px solid #315c2d;
        border-radius:8px;
        color:#315c2d;
        font-weight:700;
        text-decoration:none;
    }
}

@media(max-width:520px){
    .site-header .nav{
        width:88vw;
        padding:84px 18px 26px;
    }
    .mobile-menu-toggle{
        width:42px;
        height:42px;
    }
    body.mobile-menu-active .mobile-menu-toggle{
        top:14px;
        right:16px;
    }
}

@media(prefers-reduced-motion:reduce){
    .mobile-menu-toggle span,
    .site-header .nav,
    .site-header .nav > ul > li,
    .mobile-menu-backdrop,
    .cp-mobile-actions{
        transition:none !important;
    }
}


/* =========================================================
   v6.7 - Mobile drawer visibility + desktop header safeguard
   ========================================================= */
@media (max-width:900px){
    .site-header #primary-mobile-menu.nav{
        display:block !important;
    }
}
@media (min-width:901px){
    .mobile-menu-toggle,
    .mobile-menu-backdrop,
    .cp-mobile-actions{
        display:none !important;
    }
    .site-header #primary-mobile-menu.nav{
        display:flex !important;
        position:static !important;
        width:auto !important;
        height:auto !important;
        padding:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        transform:none !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        overflow:visible !important;
        border:0 !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }
}


/* =========================================================
   v6.8 - Robust full mobile navigation panel
   ========================================================= */
@media (max-width:900px){
    body.mobile-menu-active{
        overflow:hidden !important;
    }

    .site-header{
        position:relative !important;
        z-index:2147483000 !important;
        overflow:visible !important;
    }

    .site-header .head{
        position:relative !important;
        z-index:2147483002 !important;
        background:#faf8f2 !important;
        min-height:82px;
    }

    .mobile-menu-toggle{
        display:flex !important;
        position:relative !important;
        top:auto !important;
        right:auto !important;
        z-index:2147483004 !important;
    }

    body.mobile-menu-active .mobile-menu-toggle{
        position:relative !important;
        top:auto !important;
        right:auto !important;
    }

    .site-header #primary-mobile-menu.nav{
        display:none !important;
        position:fixed !important;
        inset:0 !important;
        width:100vw !important;
        max-width:none !important;
        height:100dvh !important;
        min-height:100vh !important;
        margin:0 !important;
        padding:105px 20px 28px !important;
        background:#faf8f2 !important;
        border:0 !important;
        box-shadow:none !important;
        transform:none !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch;
        z-index:2147483001 !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }

    .site-header #primary-mobile-menu.nav.mobile-open{
        display:block !important;
        animation:cpMenuReveal .28s ease both;
    }

    @keyframes cpMenuReveal{
        from{opacity:0; transform:translateY(-10px)}
        to{opacity:1; transform:translateY(0)}
    }

    .site-header #primary-mobile-menu.nav > ul{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        width:100% !important;
        max-width:620px !important;
        margin:0 auto !important;
        padding:0 !important;
        gap:8px !important;
    }

    .site-header #primary-mobile-menu.nav > ul > li{
        display:block !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        opacity:1 !important;
        transform:none !important;
    }

    .site-header #primary-mobile-menu.nav > ul > li > a{
        display:flex !important;
        align-items:center !important;
        width:100% !important;
        min-height:52px !important;
        margin:0 !important;
        padding:13px 17px !important;
        border-radius:12px !important;
        background:#f1efe8 !important;
        color:#1d3021 !important;
        font-size:18px !important;
        font-weight:600 !important;
        line-height:1.25 !important;
        text-decoration:none !important;
        white-space:normal !important;
    }

    .site-header #primary-mobile-menu.nav > ul > li > a:active{
        background:#e8e4da !important;
    }

    .site-header #primary-mobile-menu.nav .cp-mobile-actions{
        display:grid !important;
        width:100% !important;
        max-width:620px !important;
        margin:20px auto 0 !important;
        padding:20px 0 24px !important;
        opacity:1 !important;
        transform:none !important;
        gap:11px !important;
    }

    .site-header #primary-mobile-menu.nav .cp-mobile-contact,
    .site-header #primary-mobile-menu.nav .cp-mobile-actions .btn{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        min-height:50px !important;
        margin:0 !important;
        border-radius:10px !important;
        font-size:17px !important;
        font-weight:700 !important;
    }

    .mobile-menu-backdrop{
        display:none !important;
    }
}


/* =========================================================
   v6.9 - Enhanced cinematic motion system
   ========================================================= */
:root{
    --cp-ease:cubic-bezier(.22,.72,.22,1);
}

/* Header entrance */
.site-header{
    animation:cpHeaderDrop .7s var(--cp-ease) both;
}
@keyframes cpHeaderDrop{
    from{opacity:0;transform:translateY(-18px)}
    to{opacity:1;transform:translateY(0)}
}

/* Hero cinematic entrance */
.hero,
.inner-hero,
.page-hero{
    overflow:hidden;
}
.hero::before,
.inner-hero::before,
.page-hero::before{
    animation:cpHeroOverlay 1.15s ease both;
}
.hero h1,
.inner-hero h1,
.page-hero h1{
    animation:cpHeroTitle .95s .12s var(--cp-ease) both;
}
.hero p,
.inner-hero p,
.page-hero p{
    animation:cpHeroText .9s .28s var(--cp-ease) both;
}
.hero .btn,
.inner-hero .btn,
.page-hero .btn{
    animation:cpHeroButton .8s .42s var(--cp-ease) both;
}
@keyframes cpHeroTitle{
    from{opacity:0;transform:translateY(38px) scale(.975);filter:blur(5px)}
    to{opacity:1;transform:none;filter:blur(0)}
}
@keyframes cpHeroText{
    from{opacity:0;transform:translateY(24px)}
    to{opacity:1;transform:none}
}
@keyframes cpHeroButton{
    from{opacity:0;transform:translateY(18px) scale(.94)}
    to{opacity:1;transform:none}
}
@keyframes cpHeroOverlay{
    from{opacity:.9}
    to{opacity:1}
}

/* Buttons feel more alive */
.btn,
button,
.header-actions a{
    transition:transform .28s var(--cp-ease),box-shadow .28s ease,filter .28s ease !important;
}
.btn:hover,
.header-actions a:hover{
    transform:translateY(-3px) scale(1.025);
    box-shadow:0 12px 28px rgba(25,45,28,.18);
}
.btn:active,
.header-actions a:active{
    transform:translateY(0) scale(.97);
}

/* Cards / image panels */
.card,
.homestay-card,
.experience-card,
.place-card,
.feature-card,
.wp-block-group{
    transition:transform .42s var(--cp-ease),box-shadow .42s ease,border-color .42s ease;
}
.card:hover,
.homestay-card:hover,
.experience-card:hover,
.place-card:hover,
.feature-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 42px rgba(31,49,34,.12);
}
.card img,
.homestay-card img,
.experience-card img,
.place-card img,
.feature-card img{
    transition:transform .7s var(--cp-ease),filter .5s ease;
}
.card:hover img,
.homestay-card:hover img,
.experience-card:hover img,
.place-card:hover img,
.feature-card:hover img{
    transform:scale(1.055);
}

/* Image reveal */
.cp-motion-reveal{
    opacity:0;
    transform:translateY(42px);
    filter:blur(3px);
    transition:
        opacity .85s ease,
        transform .85s var(--cp-ease),
        filter .85s ease;
}
.cp-motion-reveal.cp-motion-visible{
    opacity:1;
    transform:none;
    filter:blur(0);
}
.cp-motion-left{
    transform:translateX(-46px);
}
.cp-motion-right{
    transform:translateX(46px);
}
.cp-motion-left.cp-motion-visible,
.cp-motion-right.cp-motion-visible{
    transform:none;
}

/* Decorative image float */
.cp-motion-float{
    animation:cpSoftFloat 5.5s ease-in-out infinite;
}
@keyframes cpSoftFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
}

/* Desktop nav micro interaction */
@media(min-width:901px){
    .site-header .nav a{
        position:relative;
        transition:transform .22s ease,color .22s ease;
    }
    .site-header .nav a:hover{
        transform:translateY(-2px);
    }
    .site-header .nav > ul > li > a::after{
        content:"";
        position:absolute;
        left:12px;
        right:12px;
        bottom:4px;
        height:2px;
        background:currentColor;
        transform:scaleX(0);
        transform-origin:center;
        transition:transform .3s var(--cp-ease);
    }
    .site-header .nav > ul > li > a:hover::after{
        transform:scaleX(1);
    }
}

/* Mobile menu: stronger staggered reveal */
@media(max-width:900px){
    .site-header #primary-mobile-menu.nav.mobile-open > ul > li{
        animation:cpMobileItem .46s var(--cp-ease) both;
    }
    .site-header #primary-mobile-menu.nav.mobile-open > ul > li:nth-child(1){animation-delay:.04s}
    .site-header #primary-mobile-menu.nav.mobile-open > ul > li:nth-child(2){animation-delay:.08s}
    .site-header #primary-mobile-menu.nav.mobile-open > ul > li:nth-child(3){animation-delay:.12s}
    .site-header #primary-mobile-menu.nav.mobile-open > ul > li:nth-child(4){animation-delay:.16s}
    .site-header #primary-mobile-menu.nav.mobile-open > ul > li:nth-child(5){animation-delay:.20s}
    .site-header #primary-mobile-menu.nav.mobile-open > ul > li:nth-child(6){animation-delay:.24s}
    .site-header #primary-mobile-menu.nav.mobile-open > ul > li:nth-child(7){animation-delay:.28s}
    @keyframes cpMobileItem{
        from{opacity:0;transform:translateY(18px) scale(.98)}
        to{opacity:1;transform:none}
    }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }
}


/* =========================================================
   v7.0 - Immersive Animation Upgrade
   ========================================================= */

/* Smooth global page arrival */
body{
    animation:cpPageArrival .65s cubic-bezier(.22,.72,.22,1) both;
}
@keyframes cpPageArrival{
    from{opacity:0}
    to{opacity:1}
}

/* Page transition curtain */
.cp-page-curtain{
    position:fixed;
    inset:0;
    background:#173b25;
    z-index:2147483646;
    transform:scaleY(0);
    transform-origin:bottom;
    pointer-events:none;
}
.cp-page-curtain.cp-leaving{
    animation:cpCurtainIn .48s cubic-bezier(.7,0,.2,1) forwards;
}
@keyframes cpCurtainIn{
    from{transform:scaleY(0)}
    to{transform:scaleY(1)}
}

/* Scroll progress */
.cp-scroll-progress{
    position:fixed;
    top:0;
    left:0;
    height:3px;
    width:100%;
    transform:scaleX(0);
    transform-origin:left center;
    background:#9a5b24;
    z-index:2147483645;
    pointer-events:none;
}

/* Hero image slow cinematic zoom */
.hero,
.inner-hero,
.page-hero{
    isolation:isolate;
}
.hero::after,
.inner-hero::after,
.page-hero::after{
    transition:transform 8s ease-out;
}
body.cp-loaded .hero::after,
body.cp-loaded .inner-hero::after,
body.cp-loaded .page-hero::after{
    transform:scale(1.035);
}

/* Animated headings underline/accent */
main h2,
main h3{
    position:relative;
}
.cp-heading-animated::after{
    content:"";
    display:block;
    width:54px;
    height:2px;
    margin-top:10px;
    background:currentColor;
    opacity:.42;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .65s cubic-bezier(.22,.72,.22,1);
}
.cp-heading-animated.cp-heading-visible::after{
    transform:scaleX(1);
}

/* Text line reveal */
.cp-text-reveal{
    opacity:0;
    transform:translateY(20px);
    transition:opacity .65s ease,transform .65s cubic-bezier(.22,.72,.22,1);
}
.cp-text-reveal.cp-text-visible{
    opacity:1;
    transform:none;
}

/* Magnetic-ish buttons */
.cp-magnetic{
    will-change:transform;
}

/* Photo shine */
.homestay-card,
.experience-card,
.place-card,
.feature-card,
.card{
    position:relative;
    overflow:hidden;
}
.homestay-card::after,
.experience-card::after,
.place-card::after,
.feature-card::after,
.card::after{
    content:"";
    position:absolute;
    top:-30%;
    left:-70%;
    width:40%;
    height:160%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.20),transparent);
    transform:skewX(-18deg);
    transition:left .75s ease;
    pointer-events:none;
}
.homestay-card:hover::after,
.experience-card:hover::after,
.place-card:hover::after,
.feature-card:hover::after,
.card:hover::after{
    left:130%;
}

/* Gallery/image reveal */
main img{
    transition:transform .7s cubic-bezier(.22,.72,.22,1),filter .55s ease;
}
.cp-image-reveal{
    clip-path:inset(0 100% 0 0);
    transform:scale(1.04);
    transition:clip-path .95s cubic-bezier(.22,.72,.22,1),transform 1.05s ease;
}
.cp-image-reveal.cp-image-visible{
    clip-path:inset(0 0 0 0);
    transform:scale(1);
}

/* Gentle section depth */
.cp-depth-section{
    transition:transform .18s linear;
    will-change:transform;
}

/* Logo breathing interaction, not continuous */
.site-branding,
.custom-logo-link{
    transition:transform .35s cubic-bezier(.22,.72,.22,1);
}
.site-branding:hover,
.custom-logo-link:hover{
    transform:scale(1.025);
}

/* Desktop cursor-follow card tilt */
@media(min-width:901px){
    .cp-tilt{
        transform-style:preserve-3d;
        will-change:transform;
    }
}

/* Mobile: tactile tap */
@media(max-width:900px){
    .site-header #primary-mobile-menu.nav > ul > li > a{
        transition:transform .2s ease,background .2s ease !important;
    }
    .site-header #primary-mobile-menu.nav > ul > li > a:active{
        transform:scale(.975) !important;
    }
}

/* Keep animations accessible */
@media(prefers-reduced-motion:reduce){
    .cp-page-curtain,
    .cp-scroll-progress{
        display:none !important;
    }
    .cp-image-reveal,
    .cp-text-reveal{
        opacity:1 !important;
        clip-path:none !important;
        transform:none !important;
    }
}


/* =========================================================
   v7.1 - IMAGE VISIBILITY FIX
   The v7.0 clip-path reveal could leave images permanently hidden
   on some browsers / cached JS states. Images now remain visible.
   ========================================================= */

main img,
main picture,
main picture img,
.homestay-card img,
.experience-card img,
.place-card img,
.feature-card img,
.card img,
.experience-photo img,
.partner-card img,
.gallery img,
.slider img,
[class*="slider"] img,
[class*="gallery"] img {
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
}

/* Disable only the risky image mask animation; keep hover motion */
.cp-image-reveal,
.cp-image-reveal.cp-image-visible {
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transform:none !important;
}

/* Retain tasteful image entrance without ever hiding the image */
main img {
    transition:
        transform .7s cubic-bezier(.22,.72,.22,1),
        filter .55s ease,
        box-shadow .45s ease !important;
}

/* Make slider images explicit */
.homestay-card [class*="slide"],
.homestay-card [class*="slider"],
.homestay-card figure,
.homestay-card picture {
    opacity:1 !important;
    visibility:visible !important;
}

.homestay-card [class*="slide"] img,
.homestay-card [class*="slider"] img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
}

/* Partner / experience card media safety */
.partner-card img,
.experience-card img,
.experience-photo img,
[class*="experience"] img,
[class*="partner"] img {
    display:block !important;
    max-width:100% !important;
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
}


/* =========================================================
   v7.2 - Premium product-launch style animation system
   Inspired by high-end smartphone launch sites:
   layered reveals, parallax, sticky storytelling and soft scale.
   ========================================================= */

:root{
  --cp-launch-ease:cubic-bezier(.16,1,.3,1);
}

/* Cinematic section reveal */
.cp-launch-section{
  opacity:0;
  transform:translateY(72px) scale(.985);
  filter:blur(8px);
  transition:
    opacity 1s ease,
    transform 1.05s var(--cp-launch-ease),
    filter 1s ease;
}
.cp-launch-section.cp-launch-visible{
  opacity:1;
  transform:none;
  filter:blur(0);
}

/* Product-launch heading treatment */
.cp-launch-heading{
  opacity:0;
  transform:translateY(36px);
  letter-spacing:.01em;
  transition:
    opacity .85s ease,
    transform .9s var(--cp-launch-ease),
    letter-spacing .9s ease;
}
.cp-launch-heading.cp-launch-visible{
  opacity:1;
  transform:none;
  letter-spacing:0;
}

/* Split sentence feel */
.cp-launch-copy{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .75s ease .08s, transform .82s var(--cp-launch-ease) .08s;
}
.cp-launch-copy.cp-launch-visible{
  opacity:1;
  transform:none;
}

/* Image "device launch" style scale reveal without ever hiding image */
.cp-launch-media{
  transform:scale(1.08);
  filter:saturate(.92) contrast(.98);
  transition:
    transform 1.25s var(--cp-launch-ease),
    filter 1.1s ease;
}
.cp-launch-media.cp-launch-visible{
  transform:scale(1);
  filter:saturate(1) contrast(1);
}

/* Premium hero: larger cinematic movement */
.hero,
.inner-hero,
.page-hero{
  transform:translateZ(0);
}
.hero .hero-content,
.inner-hero .hero-content,
.page-hero .hero-content,
.hero .wrap,
.inner-hero .wrap,
.page-hero .wrap{
  will-change:transform,opacity;
}
.cp-hero-launch{
  animation:cpHeroLaunch 1.25s var(--cp-launch-ease) both;
}
@keyframes cpHeroLaunch{
  0%{opacity:0;transform:translateY(55px) scale(.97);filter:blur(10px)}
  55%{opacity:1}
  100%{opacity:1;transform:none;filter:blur(0)}
}

/* Sticky storytelling effect for major sections */
@media(min-width:901px){
  .cp-story{
    position:relative;
  }
  .cp-story-inner{
    position:relative;
    transform-origin:center;
    will-change:transform,opacity;
  }
}

/* Cards rise and settle like premium product tiles */
.cp-launch-card{
  transform:translateY(26px) scale(.97);
  opacity:0;
  transition:
    transform .85s var(--cp-launch-ease),
    opacity .75s ease,
    box-shadow .55s ease;
}
.cp-launch-card.cp-launch-visible{
  transform:none;
  opacity:1;
}
.cp-launch-card:hover{
  transform:translateY(-10px) scale(1.018) !important;
  box-shadow:0 24px 54px rgba(25,45,28,.15) !important;
}

/* Premium shine pass */
.cp-launch-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.16) 48%,transparent 66%);
  transform:translateX(-130%);
  transition:transform 1s var(--cp-launch-ease);
  pointer-events:none;
  z-index:2;
}
.cp-launch-card:hover::before{
  transform:translateX(130%);
}

/* Hero CTA pulse only once after load */
.cp-launch-cta{
  animation:cpCtaPop .9s .55s var(--cp-launch-ease) both;
}
@keyframes cpCtaPop{
  0%{opacity:0;transform:translateY(22px) scale(.88)}
  65%{transform:translateY(-2px) scale(1.025)}
  100%{opacity:1;transform:none}
}

/* Scroll indicator */
.cp-launch-scrollhint{
  position:fixed;
  right:18px;
  bottom:18px;
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 12px 28px rgba(20,35,24,.12);
  opacity:0;
  transform:translateY(12px);
  transition:.35s ease;
  z-index:100;
  pointer-events:none;
}
.cp-launch-scrollhint.is-visible{
  opacity:1;
  transform:none;
}
.cp-launch-scrollhint::after{
  content:"↓";
  font-size:20px;
  color:#24402a;
}

/* Mobile-first smoothness */
@media(max-width:900px){
  .cp-launch-section{
    transform:translateY(44px) scale(.992);
    filter:blur(4px);
  }
  .cp-launch-media{
    transform:scale(1.045);
  }
  .cp-launch-card:hover{
    transform:none !important;
    box-shadow:none !important;
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .cp-launch-section,
  .cp-launch-heading,
  .cp-launch-copy,
  .cp-launch-media,
  .cp-launch-card,
  .cp-hero-launch,
  .cp-launch-cta{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    animation:none !important;
    transition:none !important;
  }
  .cp-launch-scrollhint{
    display:none !important;
  }
}


/* =========================================================
   v7.3 - Repeatable bidirectional launch animations
   Elements animate every time they enter/leave the viewport.
   Reverse animation occurs naturally when scrolling upward.
   ========================================================= */

.cp-launch-section,
.cp-launch-heading,
.cp-launch-copy,
.cp-launch-card{
    will-change:transform, opacity, filter;
}

/* Default hidden/off-stage states */
.cp-launch-section{
    opacity:0 !important;
    transform:translateY(64px) scale(.985) !important;
    filter:blur(7px) !important;
}
.cp-launch-heading{
    opacity:0 !important;
    transform:translateY(34px) !important;
}
.cp-launch-copy{
    opacity:0 !important;
    transform:translateY(24px) !important;
}
.cp-launch-card{
    opacity:0 !important;
    transform:translateY(34px) scale(.965) !important;
}

/* Entered viewport */
.cp-launch-visible.cp-launch-section{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
    filter:blur(0) !important;
}
.cp-launch-visible.cp-launch-heading,
.cp-launch-visible.cp-launch-copy{
    opacity:1 !important;
    transform:translateY(0) !important;
}
.cp-launch-visible.cp-launch-card{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
}

/* Leaving viewport upward: reverse direction */
.cp-launch-above.cp-launch-section{
    opacity:0 !important;
    transform:translateY(-52px) scale(.985) !important;
    filter:blur(6px) !important;
}
.cp-launch-above.cp-launch-heading{
    opacity:0 !important;
    transform:translateY(-28px) !important;
}
.cp-launch-above.cp-launch-copy{
    opacity:0 !important;
    transform:translateY(-20px) !important;
}
.cp-launch-above.cp-launch-card{
    opacity:0 !important;
    transform:translateY(-28px) scale(.97) !important;
}

/* Leaving viewport downward */
.cp-launch-below.cp-launch-section{
    opacity:0 !important;
    transform:translateY(64px) scale(.985) !important;
    filter:blur(7px) !important;
}
.cp-launch-below.cp-launch-heading{
    opacity:0 !important;
    transform:translateY(34px) !important;
}
.cp-launch-below.cp-launch-copy{
    opacity:0 !important;
    transform:translateY(24px) !important;
}
.cp-launch-below.cp-launch-card{
    opacity:0 !important;
    transform:translateY(34px) scale(.965) !important;
}

/* Images remain visible at all times, but gently animate scale every re-entry */
.cp-launch-media{
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transform:scale(1.045) !important;
    transition:transform 1.05s var(--cp-launch-ease), filter .8s ease !important;
}
.cp-launch-visible.cp-launch-media{
    transform:scale(1) !important;
}
.cp-launch-above.cp-launch-media,
.cp-launch-below.cp-launch-media{
    transform:scale(1.04) !important;
}

/* Faster on phone so it feels responsive rather than sluggish */
@media(max-width:900px){
    .cp-launch-section,
    .cp-launch-heading,
    .cp-launch-copy,
    .cp-launch-card,
    .cp-launch-media{
        transition-duration:.72s !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .cp-launch-above,
    .cp-launch-below{
        opacity:1 !important;
        transform:none !important;
        filter:none !important;
    }
}


/* =========================================================
   v7.4 - Section diamond dividers throughout the site
   Thin lines + centered orange diamond, matching supplied ref.
   ========================================================= */
.cp-section-divider{
    width:min(94%, 1120px);
    margin:0 auto;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    pointer-events:none;
    overflow:hidden;
}
.cp-section-divider::before,
.cp-section-divider::after{
    content:"";
    height:1px;
    flex:1 1 auto;
    background:rgba(55,82,58,.34);
    transform:scaleX(0);
    transition:transform .85s cubic-bezier(.22,1,.36,1);
}
.cp-section-divider::before{ transform-origin:right center; }
.cp-section-divider::after{ transform-origin:left center; }
.cp-section-divider span{
    width:14px;
    height:14px;
    flex:0 0 14px;
    display:block;
    background:#ad5c20;
    transform:rotate(45deg) scale(0);
    opacity:0;
    transition:transform .65s cubic-bezier(.34,1.56,.64,1), opacity .45s ease;
}
.cp-section-divider.cp-divider-visible::before,
.cp-section-divider.cp-divider-visible::after{
    transform:scaleX(1);
}
.cp-section-divider.cp-divider-visible span{
    transform:rotate(45deg) scale(1);
    opacity:1;
}
@media(max-width:700px){
    .cp-section-divider{
        width:90%;
        height:38px;
        gap:15px;
    }
    .cp-section-divider span{
        width:11px;
        height:11px;
        flex-basis:11px;
    }
}


/* =========================================================
   v7.5 - Panna Tiger Reserve background for homepage
   "Experience Chandanpura beyond the room" section
   ========================================================= */
.home-summary.alt{
    position:relative;
    isolation:isolate;
    background:
      linear-gradient(90deg, rgba(9,31,20,.78) 0%, rgba(9,31,20,.64) 48%, rgba(9,31,20,.48) 100%),
      url('assets/images/explore-v54/panna-tiger-feature.jpg') center 46% / cover no-repeat;
    color:#fff;
    overflow:hidden;
}
.home-summary.alt::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.18));
    pointer-events:none;
}
.home-summary.alt .eyebrow{
    color:#f2b36f !important;
}
.home-summary.alt h2,
.home-summary.alt p{
    color:#fff;
    text-shadow:0 2px 12px rgba(0,0,0,.42);
}
.home-summary.alt .summary-panel{
    background:rgba(255,255,255,.92);
    border:1px solid rgba(255,255,255,.65);
    box-shadow:0 18px 45px rgba(0,0,0,.18);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
}
.home-summary.alt .summary-panel h3{
    color:var(--gd);
    text-shadow:none;
}
.home-summary.alt .summary-panel p{
    color:var(--mt);
    text-shadow:none;
}
.home-summary.alt .btn{
    box-shadow:0 10px 28px rgba(0,0,0,.24);
}
@media(max-width:700px){
    .home-summary.alt{
        background-position:58% center;
    }
}

/* v7.6 — How to Reach brief */
.home-how-reach{padding:54px 0 62px;background:#f1eee5}
.how-reach-inner{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:70px;align-items:center;padding:34px 38px;border:1px solid #ded8c9;border-radius:22px;background:rgba(255,255,255,.72)}
.home-how-reach .eyebrow{margin:0 0 10px;color:#ad5b22}
.home-how-reach h2{margin:0;color:var(--gd);font-size:clamp(30px,3vw,46px)}
.how-reach-copy p{margin:0 0 15px;color:var(--mt);font-size:18px;line-height:1.7}
.how-reach-copy .text-link{font-weight:800;color:var(--gd);text-decoration:none}
.how-reach-copy .text-link:hover{text-decoration:underline}
@media(max-width:760px){.home-how-reach{padding:36px 0 42px}.how-reach-inner{grid-template-columns:1fr;gap:18px;padding:26px 22px;border-radius:18px}.how-reach-copy p{font-size:16px}}


/* =========================================================
   v7.7 - Premium responsive desktop cursor
   ========================================================= */
@media (pointer:fine) and (min-width:901px){
    body.cp-cursor-ready,
    body.cp-cursor-ready a,
    body.cp-cursor-ready button,
    body.cp-cursor-ready input,
    body.cp-cursor-ready textarea,
    body.cp-cursor-ready select,
    body.cp-cursor-ready .btn{
        cursor:none !important;
    }

    .cp-cursor-dot,
    .cp-cursor-ring{
        position:fixed;
        top:0;
        left:0;
        pointer-events:none;
        z-index:2147483647;
        opacity:0;
        will-change:transform;
    }

    body.cp-cursor-ready .cp-cursor-dot,
    body.cp-cursor-ready .cp-cursor-ring{
        opacity:1;
    }

    .cp-cursor-dot{
        width:7px;
        height:7px;
        margin-left:-3.5px;
        margin-top:-3.5px;
        border-radius:50%;
        background:#b36327;
        box-shadow:0 0 0 1px rgba(255,255,255,.28);
        transition:
            width .16s ease,
            height .16s ease,
            margin .16s ease,
            background .16s ease,
            opacity .18s ease;
    }

    .cp-cursor-ring{
        width:30px;
        height:30px;
        margin-left:-15px;
        margin-top:-15px;
        border-radius:50%;
        border:1.5px solid rgba(38,80,45,.72);
        background:rgba(255,255,255,.04);
        box-shadow:
            0 2px 12px rgba(29,55,33,.12),
            inset 0 0 0 1px rgba(255,255,255,.14);
        backdrop-filter:blur(1.5px);
        -webkit-backdrop-filter:blur(1.5px);
        transition:
            width .18s cubic-bezier(.22,.72,.22,1),
            height .18s cubic-bezier(.22,.72,.22,1),
            margin .18s cubic-bezier(.22,.72,.22,1),
            border-color .16s ease,
            background .16s ease,
            transform .08s linear;
    }

    .cp-cursor-ring.is-hover{
        width:44px;
        height:44px;
        margin-left:-22px;
        margin-top:-22px;
        border-color:rgba(179,99,39,.92);
        background:rgba(179,99,39,.08);
    }

    .cp-cursor-dot.is-hover{
        width:5px;
        height:5px;
        margin-left:-2.5px;
        margin-top:-2.5px;
        background:#315e35;
    }

    .cp-cursor-ring.is-down{
        width:24px;
        height:24px;
        margin-left:-12px;
        margin-top:-12px;
        background:rgba(179,99,39,.16);
    }
}

@media (pointer:coarse), (max-width:900px), (prefers-reduced-motion:reduce){
    .cp-cursor-dot,
    .cp-cursor-ring{
        display:none !important;
    }
}


/* =========================================================
   v8.0 - FINAL MOTION EDITION
   Native cursor restored + premium repeatable motion.
   ========================================================= */

/* Always use native cursor */
html, body, a, button, input, textarea, select, .btn, [role="button"]{
    cursor:auto !important;
}
a, button, .btn, [role="button"]{
    cursor:pointer !important;
}
.cp-cursor-dot,
.cp-cursor-ring{
    display:none !important;
}

/* ---------- page entrance ---------- */
body{
    animation:cpFinalPageIn .62s ease both;
}
@keyframes cpFinalPageIn{
    from{opacity:.15}
    to{opacity:1}
}

/* ---------- hero cinematic motion ---------- */
.hero,
.inner-hero,
.page-hero{
    overflow:hidden;
    position:relative;
}
.hero h1,
.inner-hero h1,
.page-hero h1{
    animation:cpFinalHeroTitle 1.05s cubic-bezier(.16,1,.3,1) both;
}
.hero p,
.inner-hero p,
.page-hero p{
    animation:cpFinalHeroCopy .9s .16s cubic-bezier(.16,1,.3,1) both;
}
.hero .btn,
.inner-hero .btn,
.page-hero .btn{
    animation:cpFinalHeroButton .86s .28s cubic-bezier(.16,1,.3,1) both;
}
@keyframes cpFinalHeroTitle{
    0%{opacity:0;transform:translateY(50px) scale(.965);filter:blur(8px)}
    100%{opacity:1;transform:none;filter:blur(0)}
}
@keyframes cpFinalHeroCopy{
    0%{opacity:0;transform:translateY(28px);filter:blur(4px)}
    100%{opacity:1;transform:none;filter:blur(0)}
}
@keyframes cpFinalHeroButton{
    0%{opacity:0;transform:translateY(22px) scale(.92)}
    65%{transform:translateY(-2px) scale(1.02)}
    100%{opacity:1;transform:none}
}

/* ---------- repeatable section reveal enhancements ---------- */
.cp-launch-section,
.cp-launch-heading,
.cp-launch-copy,
.cp-launch-card{
    transition-timing-function:cubic-bezier(.16,1,.3,1) !important;
}

/* Give alternating sections a little side depth */
.cp-final-left{
    transform:translate(-52px, 28px) scale(.985) !important;
}
.cp-final-right{
    transform:translate(52px, 28px) scale(.985) !important;
}
.cp-launch-visible.cp-final-left,
.cp-launch-visible.cp-final-right{
    transform:none !important;
}

/* ---------- headings: premium underline draw ---------- */
main h2,
main h3{
    position:relative;
}
main h2::after,
main h3::after{
    content:"";
    display:block;
    width:64px;
    height:2px;
    margin-top:12px;
    background:linear-gradient(90deg,#315e35,#ad5b22);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .72s cubic-bezier(.16,1,.3,1);
    opacity:.72;
}
main h2.cp-launch-visible::after,
main h3.cp-launch-visible::after,
.cp-heading-visible::after{
    transform:scaleX(1);
}

/* ---------- image animation, never hidden ---------- */
main img,
.homestay-card img,
.experience-card img,
.place-card img,
.feature-card img,
.partner-card img{
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transition:
      transform .9s cubic-bezier(.16,1,.3,1),
      filter .7s ease,
      box-shadow .55s ease !important;
}
.cp-final-image{
    transform:scale(1.035);
    filter:saturate(.92) brightness(.98);
}
.cp-launch-visible.cp-final-image{
    transform:scale(1);
    filter:saturate(1) brightness(1);
}

/* ---------- card premium motion ---------- */
.card,
.homestay-card,
.experience-card,
.place-card,
.feature-card,
.partner-card{
    position:relative;
    overflow:hidden;
    transition:
      transform .42s cubic-bezier(.16,1,.3,1),
      box-shadow .42s ease,
      border-color .35s ease !important;
}
@media (hover:hover) and (pointer:fine){
    .card:hover,
    .homestay-card:hover,
    .experience-card:hover,
    .place-card:hover,
    .feature-card:hover,
    .partner-card:hover{
        transform:translateY(-10px) scale(1.012) !important;
        box-shadow:0 24px 55px rgba(30,55,35,.15) !important;
    }
}

/* animated soft highlight sweep */
.card::before,
.homestay-card::before,
.experience-card::before,
.place-card::before,
.feature-card::before,
.partner-card::before{
    content:"";
    position:absolute;
    top:-35%;
    left:-75%;
    width:34%;
    height:170%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.20),transparent);
    transform:skewX(-17deg);
    transition:left .85s cubic-bezier(.16,1,.3,1);
    pointer-events:none;
    z-index:3;
}
@media (hover:hover) and (pointer:fine){
    .card:hover::before,
    .homestay-card:hover::before,
    .experience-card:hover::before,
    .place-card:hover::before,
    .feature-card:hover::before,
    .partner-card:hover::before{
        left:135%;
    }
}

/* ---------- button animation ---------- */
.btn,
button,
.header-actions a{
    position:relative;
    overflow:hidden;
    transition:
      transform .25s cubic-bezier(.16,1,.3,1),
      box-shadow .25s ease,
      filter .25s ease !important;
}
.btn::after,
.header-actions a::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.20) 48%,transparent 76%);
    transform:translateX(-130%);
    transition:transform .65s ease;
    pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
    .btn:hover,
    .header-actions a:hover{
        transform:translateY(-3px) scale(1.02) !important;
        box-shadow:0 12px 28px rgba(30,55,35,.18) !important;
    }
    .btn:hover::after,
    .header-actions a:hover::after{
        transform:translateX(130%);
    }
}
.btn:active,
button:active,
.header-actions a:active{
    transform:scale(.97) !important;
}

/* ---------- navigation ---------- */
@media(min-width:901px){
    .site-header .nav > ul > li > a{
        transition:transform .22s ease,color .22s ease !important;
    }
    .site-header .nav > ul > li > a:hover{
        transform:translateY(-2px);
    }
}

/* ---------- diamond divider animation: repeat both directions ---------- */
.cp-section-divider::before,
.cp-section-divider::after{
    transition:transform .9s cubic-bezier(.16,1,.3,1) !important;
}
.cp-section-divider span{
    transition:
      transform .58s cubic-bezier(.34,1.56,.64,1),
      opacity .42s ease !important;
}

/* ---------- subtle floating decorations/icons ---------- */
.eyebrow,
[class*="icon"],
.experience-icon{
    transition:transform .35s cubic-bezier(.16,1,.3,1);
}
@media (hover:hover) and (pointer:fine){
    .card:hover [class*="icon"],
    .experience-card:hover [class*="icon"]{
        transform:translateY(-4px) rotate(-3deg) scale(1.05);
    }
}

/* ---------- scroll progress bar ---------- */
.cp-final-progress{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:3px;
    transform:scaleX(0);
    transform-origin:left center;
    background:linear-gradient(90deg,#315e35,#ad5b22);
    z-index:2147483000;
    pointer-events:none;
}

/* ---------- mobile tuning ---------- */
@media(max-width:900px){
    .cp-final-left,
    .cp-final-right{
        transform:translateY(38px) scale(.99) !important;
    }
    .cp-launch-visible.cp-final-left,
    .cp-launch-visible.cp-final-right{
        transform:none !important;
    }
    .cp-final-image{
        transform:scale(1.02);
    }
    .card:hover,
    .homestay-card:hover,
    .experience-card:hover,
    .place-card:hover,
    .feature-card:hover,
    .partner-card:hover{
        transform:none !important;
        box-shadow:none !important;
    }
}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }
    .cp-final-progress{
        display:none !important;
    }
}


/* v8.2 - PLAN YOUR VISIT background */
.home-plan-summary{
 position:relative; isolation:isolate; overflow:hidden;
 background:
 linear-gradient(90deg,rgba(13,35,22,.88),rgba(13,35,22,.65),rgba(13,35,22,.46)),
 url("https://chandanpurahomestay.org/wp-content/uploads/2026/08/WhatsApp-Image-2026-08-10-at-3.09.22-PM.jpeg") center/cover no-repeat !important;
 color:#fff; min-height:560px; display:flex; align-items:center;
}
.home-plan-summary .eyebrow{color:#f0b16f!important}
.home-plan-summary h2,.home-plan-summary>div p{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.35)}
.home-plan-summary .summary-panel{
 background:rgba(255,255,255,.91)!important;
 backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
 box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.home-plan-summary .summary-panel h3{color:#173f2b!important;text-shadow:none}
.home-plan-summary .summary-panel p{color:#596256!important;text-shadow:none}
@media(max-width:767px){
 .home-plan-summary{
  min-height:auto;
  background:
  linear-gradient(180deg,rgba(13,35,22,.78),rgba(13,35,22,.62),rgba(13,35,22,.78)),
  url("https://chandanpurahomestay.org/wp-content/uploads/2026/08/WhatsApp-Image-2026-08-10-at-3.09.22-PM.jpeg") center/cover no-repeat !important;
 }
}

/* v8.3 Plan Your Visit */
.home-plan-summary{background-color:#173f2b!important;}
.home-plan-summary .container{position:relative;z-index:2}
.home-plan-summary .eyebrow,.home-plan-summary h2,.home-plan-summary .section-intro{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.35)}


/* =========================================================
   v8.4 — PLAN YOUR VISIT text readability fix
   ========================================================= */
.home-plan-summary .home-summary-grid > div:first-child h2{
    color:#ffffff !important;
    text-shadow:0 3px 18px rgba(0,0,0,.55) !important;
}

.home-plan-summary .home-summary-grid > div:first-child > p{
    color:rgba(255,255,255,.96) !important;
    text-shadow:0 2px 14px rgba(0,0,0,.55) !important;
}

.home-plan-summary .home-summary-grid > div:first-child .eyebrow{
    color:#f1a45d !important;
    text-shadow:0 2px 10px rgba(0,0,0,.35);
}

.home-plan-summary .home-summary-grid > div:first-child{
    position:relative;
    z-index:2;
}

.home-plan-summary .summary-panel{
    position:relative;
    z-index:2;
    background:rgba(255,255,255,.94) !important;
}

.home-plan-summary .summary-panel h3,
.home-plan-summary .summary-panel p{
    text-shadow:none !important;
}

@media(max-width:767px){
    .home-plan-summary .home-summary-grid > div:first-child h2{
        color:#fff !important;
        text-shadow:0 3px 16px rgba(0,0,0,.62) !important;
    }
    .home-plan-summary .home-summary-grid > div:first-child > p{
        color:#fff !important;
    }
}


/* =========================================================
   v8.5 — Exact PLAN YOUR VISIT left-column text fix
   ========================================================= */
section.home-plan-summary .cp-plan-left,
section.home-plan-summary .cp-plan-left *{
    color:#ffffff !important;
}

section.home-plan-summary .cp-plan-left .eyebrow{
    color:#f2a35c !important;
}

section.home-plan-summary .cp-plan-left h1,
section.home-plan-summary .cp-plan-left h2,
section.home-plan-summary .cp-plan-left h3{
    color:#ffffff !important;
    text-shadow:0 3px 18px rgba(0,0,0,.62) !important;
}

section.home-plan-summary .cp-plan-left p{
    color:#ffffff !important;
    opacity:1 !important;
    text-shadow:0 2px 14px rgba(0,0,0,.58) !important;
}

section.home-plan-summary .cp-plan-left .btn{
    color:#ffffff !important;
    text-shadow:none !important;
}

section.home-plan-summary .summary-panel,
section.home-plan-summary .summary-panel *{
    text-shadow:none !important;
}

section.home-plan-summary .summary-panel h3{
    color:#17452e !important;
}

section.home-plan-summary .summary-panel p{
    color:#2f352f !important;
}

/* defeat generic animation text-color overrides */
section.home-plan-summary.cp-launch-visible .cp-plan-left h2,
section.home-plan-summary.cp-launch-visible .cp-plan-left p,
section.home-plan-summary .cp-plan-left.cp-launch-visible h2,
section.home-plan-summary .cp-plan-left.cp-launch-visible p{
    color:#ffffff !important;
    opacity:1 !important;
}


/* =========================================================
   v8.6.3 — SHAKE FIX WHILE RETAINING LAUNCH MOTION
   ========================================================= */

/* Disabled engines must not leave elements hidden/transformed. */
.cp-reveal,
.cp-in,
.cp-img-in,
.cp-final-left,
.cp-final-right,
.cp-final-image,
.cp-immersive-reveal,
.cp-enhanced-reveal{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  transform:none !important;
}

/* The actual document sections never move. Launch animation is on children. */
main > section,
body.home main > section{
  transform:none !important;
  translate:none !important;
  scale:none !important;
  overflow-anchor:none;
}

/* Hero background/content must not be scroll-translated.
   Entrance animations remain available. */
.home-hero,
.hero,
.home-hero .hero-content,
.hero .hero-content{
  translate:none !important;
}

/* Divider must not alter layout geometry. */
.section-divider,
.cp-section-divider,
.home-section-divider,
.section-separator{
  margin-top:30px !important;
  margin-bottom:30px !important;
  min-height:0 !important;
}

/* Preserve the strong launch classes and make them compositor-friendly. */
.cp-launch-heading,
.cp-launch-copy,
.cp-launch-card,
.cp-launch-media,
.cp-launch-button{
  will-change:transform,opacity,filter;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Plan Your Visit readability. */
.home-plan-summary .cp-plan-left h2,
.home-plan-summary .home-summary-grid > :first-child h2{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.62) !important;
}
.home-plan-summary .cp-plan-left p,
.home-plan-summary .home-summary-grid > :first-child p{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.58) !important;
}
.home-plan-summary .eyebrow{
  color:#f2a35c !important;
  opacity:1 !important;
}


/* =========================================================
   v8.6.4 — EXPERIENCES SECTION LOCAL SHAKE FIX
   Only the section geometry is locked; its inner content still animates.
   ========================================================= */
.cp-experiences-stable{
  transform:none !important;
  translate:none !important;
  scale:none !important;
  filter:none !important;
  height:auto !important;
  min-height:0 !important;
  overflow-anchor:none !important;
  contain:layout paint;
}

/* Prevent the grid/wrapper itself from being shifted by launch calculations. */
.cp-experiences-stable > .container,
.cp-experiences-stable > .wrap,
.cp-experiences-stable > [class*="container"],
.cp-experiences-stable > [class*="grid"]{
  transform:none !important;
  translate:none !important;
}

/* Keep strong animation on the actual content instead of the section wrapper. */
.cp-experiences-stable h2,
.cp-experiences-stable h3,
.cp-experiences-stable p,
.cp-experiences-stable .btn,
.cp-experiences-stable a.button,
.cp-experiences-stable [class*="card"],
.cp-experiences-stable img{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Avoid hover/animation changing the section's measured height. */
.cp-experiences-stable .btn,
.cp-experiences-stable a.button{
  margin-bottom:0 !important;
}


/* =========================================================
   v8.6.5 — EXPERIENCES HEADING REFLOW FIX
   Prevent:
   Experience
   Chandanpura beyond the room
   changing into:
   Experience Chandanpura
   beyond the room
   ========================================================= */

/* Reserve a stable text width and use a slightly smaller responsive size. */
.cp-experiences-stable h2{
  font-size:clamp(2.25rem, 4.15vw, 4.35rem) !important;
  line-height:1.04 !important;
  letter-spacing:-0.035em !important;
  max-width:760px !important;
  width:100% !important;
  min-height:2.08em !important;
  text-wrap:balance;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* Do not scale the heading during reveal; scale changes the wrap point visually. */
.cp-experiences-stable h2.cp-launch-heading,
.cp-experiences-stable .cp-launch-heading h2{
  scale:1 !important;
}

/* Desktop: lock the intended two-line composition. */
@media(min-width:900px){
  .cp-experiences-stable h2{
    max-width:820px !important;
    font-size:clamp(3rem, 4.05vw, 4.2rem) !important;
    min-height:2.08em !important;
  }
}

/* Tablet */
@media(min-width:600px) and (max-width:899px){
  .cp-experiences-stable h2{
    font-size:clamp(2.65rem, 6vw, 3.5rem) !important;
    max-width:680px !important;
    min-height:2.08em !important;
  }
}

/* Mobile: allow natural wrapping but reserve its final height. */
@media(max-width:599px){
  .cp-experiences-stable h2{
    font-size:clamp(2.15rem, 10vw, 3rem) !important;
    line-height:1.06 !important;
    max-width:100% !important;
    min-height:2.12em !important;
  }
}


/* v8.6.6 — fixed Experiences heading line break */
.cp-experiences-stable h2{
  min-height:auto !important;
  text-wrap:initial !important;
}
.cp-experiences-stable h2 .cp-exp-line2{
  display:inline-block;
  white-space:nowrap;
}

/* Keep second line intact on desktop/tablet. */
@media(min-width:600px){
  .cp-experiences-stable h2{
    font-size:clamp(2.65rem,4vw,4.1rem) !important;
    max-width:none !important;
  }
}

/* On very small phones allow line 2 to wrap only if physically necessary. */
@media(max-width:599px){
  .cp-experiences-stable h2 .cp-exp-line2{
    white-space:normal;
  }
}


/* =========================================================
   v8.6.7 — EXPERIENCES FIXED BREAK WITHOUT HTML IN THE TITLE
   The title remains plain text. CSS creates the permanent line break.
   ========================================================= */
.cp-experiences-stable h2{
    font-size:0 !important;
    line-height:1.04 !important;
    min-height:0 !important;
    max-width:none !important;
}

/* Hide the original text visually while keeping the H2 itself in place,
   then render the same wording as two fixed lines. */
.cp-experiences-stable h2::before{
    content:"Experience";
    display:block;
    font-size:clamp(3rem,4.05vw,4.2rem);
    line-height:1.04;
    letter-spacing:-0.035em;
    white-space:nowrap;
}

.cp-experiences-stable h2::after{
    content:"Chandanpura beyond the room";
    display:block;
    font-size:clamp(3rem,4.05vw,4.2rem);
    line-height:1.04;
    letter-spacing:-0.035em;
    white-space:nowrap;
}

@media(min-width:600px) and (max-width:899px){
    .cp-experiences-stable h2::before,
    .cp-experiences-stable h2::after{
        font-size:clamp(2.65rem,6vw,3.5rem);
    }
}

@media(max-width:599px){
    .cp-experiences-stable h2::before,
    .cp-experiences-stable h2::after{
        font-size:clamp(2.15rem,10vw,3rem);
        white-space:normal;
    }
}


/* =========================================================
   v8.6.8 — EXACT EXPERIENCES TITLE LAYOUT
   Desktop:
   Experience
   Chandanpura beyond the room
   ========================================================= */
.cp-experiences-stable h2{
    font-size:0 !important;
    line-height:1 !important;
    max-width:none !important;
    width:max-content !important;
    min-height:0 !important;
}

.cp-experiences-stable h2::before{
    content:"Experience" !important;
    display:block !important;
    font-size:clamp(3.15rem,4.25vw,4.65rem) !important;
    line-height:1.02 !important;
    letter-spacing:-0.035em !important;
    white-space:nowrap !important;
    margin:0 !important;
}

.cp-experiences-stable h2::after{
    content:"Chandanpura beyond the room" !important;
    display:block !important;
    font-size:clamp(3.15rem,4.25vw,4.65rem) !important;
    line-height:1.02 !important;
    letter-spacing:-0.035em !important;
    white-space:nowrap !important;
    margin:.12em 0 0 !important;
}

/* Ensure the left column is wide enough so line 2 never wraps on laptop/desktop. */
@media(min-width:900px){
    .cp-experiences-stable .split,
    .cp-experiences-stable .home-split,
    .cp-experiences-stable .section-grid{
        grid-template-columns:minmax(0,1.58fr) minmax(420px,1fr) !important;
    }
    .cp-experiences-stable h2::before,
    .cp-experiences-stable h2::after{
        font-size:clamp(2.8rem,3.65vw,4.2rem) !important;
    }
}

/* Tablet: retain deliberate first break; allow line 2 to wrap only if truly necessary. */
@media(min-width:600px) and (max-width:899px){
    .cp-experiences-stable h2{
        width:100% !important;
    }
    .cp-experiences-stable h2::before,
    .cp-experiences-stable h2::after{
        font-size:clamp(2.55rem,6vw,3.4rem) !important;
    }
    .cp-experiences-stable h2::after{
        white-space:normal !important;
    }
}

/* Phone */
@media(max-width:599px){
    .cp-experiences-stable h2{
        width:100% !important;
    }
    .cp-experiences-stable h2::before,
    .cp-experiences-stable h2::after{
        font-size:clamp(2.05rem,9.5vw,2.85rem) !important;
        white-space:normal !important;
    }
}


/* =========================================================
   v8.6.9 — HOW TO REACH BACKGROUND IMAGE
   ========================================================= */
.cp-reach-strip,
.cp-how-to-reach,
.home-how-to-reach{
    position:relative !important;
    background:
      linear-gradient(rgba(248,245,237,.80), rgba(248,245,237,.80)),
      url("https://chandanpurahomestay.org/wp-content/uploads/2024/05/get-in-touch.jpg")
      center center / cover no-repeat !important;
    overflow:hidden;
}

/* Keep the existing content/card readable above the photograph. */
.cp-reach-strip > *,
.cp-how-to-reach > *,
.home-how-to-reach > *{
    position:relative;
    z-index:1;
}


/* =========================================================
   v8.6.10 — CORRECT HOMEPAGE HOW-TO-REACH BACKGROUND
   Actual section class: .home-how-reach
   ========================================================= */
.home-how-reach{
    position:relative !important;
    background:
      linear-gradient(rgba(20,42,30,.42), rgba(20,42,30,.42)),
      url("https://chandanpurahomestay.org/wp-content/uploads/2024/05/get-in-touch.jpg")
      center center / cover no-repeat !important;
    padding:70px 0 78px !important;
    overflow:hidden;
}

/* Keep the existing white information panel, but let the photo clearly show around it. */
.home-how-reach .how-reach-inner{
    position:relative;
    z-index:2;
    background:rgba(255,255,255,.91) !important;
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
}

/* Mobile crop */
@media(max-width:700px){
    .home-how-reach{
        background-position:center center !important;
        padding:42px 0 48px !important;
    }
    .home-how-reach .how-reach-inner{
        background:rgba(255,255,255,.93) !important;
    }
}


/* =========================================================
   v8.6.11 — HOW TO REACH IMAGE + CACHE-SAFE FINAL OVERRIDE
   ========================================================= */
section.home-how-reach{
    background-image:
        linear-gradient(rgba(15,35,25,.34), rgba(15,35,25,.34)),
        url("https://chandanpurahomestay.org/wp-content/uploads/2024/05/get-in-touch.jpg") !important;
    background-position:center 48% !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-color:#173a2a !important;
    padding:70px 0 78px !important;
}

section.home-how-reach .how-reach-inner{
    background:rgba(255,255,255,.88) !important;
    border-color:rgba(255,255,255,.70) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.12) !important;
    backdrop-filter:blur(3px) !important;
    -webkit-backdrop-filter:blur(3px) !important;
}

@media(max-width:760px){
    section.home-how-reach{
        background-position:center center !important;
        padding:42px 0 48px !important;
    }
    section.home-how-reach .how-reach-inner{
        background:rgba(255,255,255,.91) !important;
    }
}


/* =========================================================
   v8.6.12 — EXPLORE AROUND CHANDANPURA / BHIMKUND BACKGROUND
   ========================================================= */
section.home-explore-strip{
    position:relative !important;
    isolation:isolate !important;
    background:
      linear-gradient(rgba(10,28,20,.66), rgba(10,28,20,.66)),
      url("assets/images/bhimkund-background.webp") center 50% / cover no-repeat !important;
    padding-top:86px !important;
    padding-bottom:86px !important;
}
section.home-explore-strip::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:-1 !important;
    background:linear-gradient(90deg,rgba(6,25,17,.20),rgba(6,25,17,.05)) !important;
    pointer-events:none !important;
}
section.home-explore-strip > .container{
    position:relative !important;
    z-index:1 !important;
}
section.home-explore-strip > .container > .eyebrow{
    color:#f1a35c !important;
    text-shadow:0 2px 12px rgba(0,0,0,.5) !important;
}
section.home-explore-strip > .container > h2,
section.home-explore-strip > .container > p{
    color:#fff !important;
    text-shadow:0 2px 16px rgba(0,0,0,.58) !important;
}
section.home-explore-strip .home-explore-card{
    background:rgba(255,255,255,.91) !important;
    backdrop-filter:blur(4px) !important;
    -webkit-backdrop-filter:blur(4px) !important;
    border-color:rgba(255,255,255,.72) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.13) !important;
}
@media(max-width:760px){
  section.home-explore-strip{
    background-position:center center !important;
    padding-top:58px !important;
    padding-bottom:58px !important;
  }
  section.home-explore-strip .home-explore-card{
    background:rgba(255,255,255,.93) !important;
  }
}


/* v8.6.13 — WHY CHANDANPURA CULTURE BACKGROUND */
.home-summary.home-why-bg{
  position:relative !important;
  isolation:isolate !important;
  background:
    linear-gradient(90deg,rgba(8,27,18,.78),rgba(8,27,18,.60)),
    url("https://chandanpurahomestay.org/wp-content/uploads/2026/08/1000097775.jpg-scaled.jpeg") center 42% / cover no-repeat !important;
}
.home-summary.home-why-bg .home-summary-grid{
  position:relative !important;
  z-index:1 !important;
}
.home-summary.home-why-bg .eyebrow{color:#f0a15d !important;text-shadow:0 2px 10px rgba(0,0,0,.45) !important;}
.home-summary.home-why-bg h2,
.home-summary.home-why-bg .home-summary-grid > div:first-child > p{
  color:#fff !important;
  text-shadow:0 2px 15px rgba(0,0,0,.62) !important;
}
.home-summary.home-why-bg .summary-panel{
  background:rgba(255,255,255,.93) !important;
  backdrop-filter:blur(5px) !important;
  -webkit-backdrop-filter:blur(5px) !important;
}
@media(max-width:760px){
 .home-summary.home-why-bg{
   background-position:center center !important;
 }
}


/* =========================================================
   v8.6.14 — PHOTO DARKNESS STANDARDIZED TO 10%
   Excludes homepage hero and homestay listing/cards.
   ========================================================= */

/* Experiences background */
.home-experience-strip,
.home-experiences-strip,
section.home-experience,
section.home-experiences{
  --cp-photo-darkness: rgba(0,0,0,.10);
}

/* Explore Around Chandanpura / Bhimkund */
section.home-explore-strip{
  background:
    linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
    url("assets/images/bhimkund-background.webp") center 50% / cover no-repeat !important;
}
section.home-explore-strip::before{
  background:transparent !important;
}

/* Why Chandanpura */
.home-summary.home-why-bg{
  background:
    linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
    url("assets/images/why-chandanpura-culture.webp") center 42% / cover no-repeat !important;
}

/* How to Reach — preserve its image, reduce only darkness */
.home-how-reach{
  --cp-photo-overlay: rgba(0,0,0,.10) !important;
}
.home-how-reach::before,
.home-how-reach::after{
  opacity:.10 !important;
}

/* Plan Your Visit — reduce overlay to 10% */
.home-plan,
.home-plan-strip,
.home-plan-visit{
  --cp-photo-overlay: rgba(0,0,0,.10) !important;
}

/* Generic photo overlays on homepage, but explicitly NOT hero/homestay areas */
.homepage section:not(.hero):not(.home-hero):not(.homestays):not(.home-homestays) .photo-overlay,
.homepage section:not(.hero):not(.home-hero):not(.homestays):not(.home-homestays)::before{
  --cp-dark-overlay: .10;
}

.collector-visit-highlight{padding:72px 0;background:#f7f3ea}.collector-visit-card{display:grid;grid-template-columns:1.35fr .65fr;overflow:hidden;border-radius:28px;background:#fff;border:1px solid rgba(73,61,42,.12);box-shadow:0 20px 55px rgba(36,44,31,.1)}.collector-visit-photo{min-height:440px;overflow:hidden}.collector-visit-photo img{display:block;width:100%;height:100%;min-height:440px;object-fit:cover}.collector-visit-copy{display:flex;flex-direction:column;justify-content:center;padding:52px}.collector-visit-copy .eyebrow{color:#a95b20;margin-bottom:18px}.collector-visit-copy h2{margin:0 0 20px;color:#173f2d}.collector-visit-copy p{margin:0;line-height:1.75;color:#697162}@media(max-width:850px){.collector-visit-highlight{padding:46px 0}.collector-visit-card{grid-template-columns:1fr;border-radius:22px}.collector-visit-photo,.collector-visit-photo img{min-height:300px}.collector-visit-copy{padding:30px 26px 34px}}

/* =========================================================
   v8.6.16 — HOMEPAGE PARTNER LOGOS
   ========================================================= */
.home-partners{
  padding:78px 0;
  background:#f7f3ea;
}
.home-partners-head{
  text-align:center;
  max-width:850px;
  margin:0 auto 38px;
}
.home-partners-head .eyebrow{
  color:#a95b20;
  margin-bottom:12px;
}
.home-partners-head h2{
  margin:0;
  color:#173f2d;
}
.home-partners-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.home-partner-logo-card{
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:32px 28px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(67,57,41,.12);
  border-radius:24px;
  box-shadow:0 16px 38px rgba(28,44,31,.08);
  transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease;
}
.home-partner-logo-card:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 50px rgba(28,44,31,.13);
}
.home-partner-logo-card img{
  display:block;
  max-width:100%;
  width:auto;
  height:auto;
  max-height:120px;
  object-fit:contain;
}
.home-partner-logo-card:nth-child(2) img{
  max-height:100px;
}
.home-partner-logo-card:nth-child(3) img{
  max-height:128px;
}
.home-partner-name{
  text-align:center;
  color:#173f2d;
  font-weight:700;
  line-height:1.3;
}
@media(max-width:900px){
  .home-partners-grid{
    grid-template-columns:1fr;
  }
  .home-partner-logo-card{
    min-height:210px;
  }
}


/* =========================================================
   v8.6.17 — MOBILE DIVIDER FIX
   Desktop/laptop remains unchanged.
   Only phone layout is corrected so both lines + center diamond show.
   ========================================================= */
@media (max-width: 767px){

  .section-divider,
  .cp-section-divider,
  .home-section-divider,
  .section-separator{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    width:100% !important;
    max-width:none !important;
    min-height:28px !important;
    height:auto !important;
    margin:24px auto !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .section-divider::before,
  .section-divider::after,
  .cp-section-divider::before,
  .cp-section-divider::after,
  .home-section-divider::before,
  .home-section-divider::after,
  .section-separator::before,
  .section-separator::after{
    content:"" !important;
    display:block !important;
    flex:1 1 0 !important;
    width:auto !important;
    min-width:42px !important;
    max-width:none !important;
    height:1px !important;
    background:rgba(78,95,76,.42) !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  .section-divider .diamond,
  .cp-section-divider .diamond,
  .home-section-divider .diamond,
  .section-separator .diamond,
  .section-divider > span,
  .cp-section-divider > span,
  .home-section-divider > span,
  .section-separator > span{
    flex:0 0 auto !important;
    display:block !important;
    width:15px !important;
    height:15px !important;
    background:#b35f1f !important;
    transform:rotate(45deg) !important;
    opacity:1 !important;
    visibility:visible !important;
    margin:0 !important;
  }
}


/* =========================================================
   v8.6.18 — MOBILE ANIMATION ENABLED
   Desktop/laptop animation remains unchanged.
   ========================================================= */
@media (max-width: 767px){
  /* Re-enable strong reveal effects on mobile */
  .cp-launch-heading,
  .cp-launch-copy,
  .cp-launch-card,
  .cp-launch-media,
  .cp-launch-button,
  .cp-motion-title,
  .cp-motion-copy,
  .cp-motion-card,
  .cp-motion-button,
  .reveal-section > *{
    transition-property:opacity,transform,filter !important;
    transition-duration:.72s,.88s,.72s !important;
    transition-timing-function:cubic-bezier(.16,1,.3,1) !important;
    will-change:opacity,transform,filter !important;
  }

  .cp-launch-heading:not(.cp-launch-visible),
  .cp-motion-title:not(.cp-active){
    opacity:0 !important;
    transform:translate3d(-24px,26px,0) scale(.97) !important;
    filter:blur(2px) !important;
  }

  .cp-launch-copy:not(.cp-launch-visible),
  .cp-motion-copy:not(.cp-active){
    opacity:0 !important;
    transform:translate3d(0,28px,0) !important;
    filter:blur(1.5px) !important;
  }

  .cp-launch-card:not(.cp-launch-visible),
  .cp-motion-card:not(.cp-active){
    opacity:0 !important;
    transform:translate3d(0,34px,0) scale(.975) !important;
    filter:blur(1.5px) !important;
  }

  .cp-launch-media:not(.cp-launch-visible){
    opacity:.55 !important;
    transform:scale(1.025) !important;
    filter:blur(1px) !important;
  }

  .cp-launch-button:not(.cp-launch-visible),
  .cp-motion-button:not(.cp-active){
    opacity:0 !important;
    transform:translate3d(0,22px,0) scale(.96) !important;
  }

  .cp-launch-visible,
  .cp-active,
  .cp-launch-heading.cp-launch-visible,
  .cp-launch-copy.cp-launch-visible,
  .cp-launch-card.cp-launch-visible,
  .cp-launch-media.cp-launch-visible,
  .cp-launch-button.cp-launch-visible{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }

  /* Hero mobile entrance */
  .home-hero .hero-content h1,
  .hero .hero-content h1{
    animation:cpMobileHeroTitle .95s cubic-bezier(.16,1,.3,1) both !important;
  }
  .home-hero .hero-content p,
  .hero .hero-content p{
    animation:cpMobileHeroCopy .82s .12s cubic-bezier(.16,1,.3,1) both !important;
  }
  .home-hero .hero-content .btn,
  .hero .hero-content .btn{
    animation:cpMobileHeroBtn .72s .22s cubic-bezier(.16,1,.3,1) both !important;
  }

  @keyframes cpMobileHeroTitle{
    from{opacity:0;transform:translate3d(-26px,30px,0) scale(.96);filter:blur(4px)}
    to{opacity:1;transform:none;filter:none}
  }
  @keyframes cpMobileHeroCopy{
    from{opacity:0;transform:translate3d(0,24px,0)}
    to{opacity:1;transform:none}
  }
  @keyframes cpMobileHeroBtn{
    from{opacity:0;transform:translate3d(0,20px,0) scale(.94)}
    to{opacity:1;transform:none}
  }
}


/* =========================================================
   v8.6.19 — 10% DARKNESS ON ALL PHOTO CONTENT SECTIONS
   IMPORTANT: HERO + HOMESTAY LIST ARE EXCLUDED.
   ========================================================= */

/* ABOUT / destination photo sections */
.subpage-photo-hero::before,
.about-community-bg::before,
.destination-hero::before,
.page-hero.subpage-photo-hero::before,
.about-hero.subpage-photo-hero::before{
    background:rgba(0,0,0,.10) !important;
    opacity:1 !important;
}

/* Homepage Experience section */
.home-summary.alt{
    background:
      linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
      url('assets/images/explore-v54/panna-tiger-feature.jpg') center 46% / cover no-repeat !important;
}
.home-summary.alt::before{
    background:transparent !important;
    opacity:0 !important;
}

/* Plan Your Visit */
.home-plan-summary{
    background:
      linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
      url("https://chandanpurahomestay.org/wp-content/uploads/2026/08/WhatsApp-Image-2026-08-10-at-3.09.22-PM.jpeg")
      center center / cover no-repeat !important;
}

/* Explore Around Chandanpura / Bhimkund */
section.home-explore-strip{
    background:
      linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
      url("assets/images/bhimkund-background.webp")
      center 50% / cover no-repeat !important;
}
section.home-explore-strip::before{
    background:transparent !important;
    opacity:0 !important;
}

/* Why Chandanpura */
.home-summary.home-why-bg{
    background:
      linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
      url("assets/images/why-chandanpura-culture.webp")
      center 42% / cover no-repeat !important;
}

/* How to Reach */
section.home-how-reach{
    background:
      linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
      url("https://chandanpurahomestay.org/wp-content/uploads/2024/05/get-in-touch.jpg")
      center 48% / cover no-repeat !important;
}
section.home-how-reach::before,
section.home-how-reach::after{
    background:transparent !important;
    opacity:0 !important;
}

/* Any dedicated photo-content overlays used by inner pages */
.photo-section::before,
.photo-background::before,
.content-photo-bg::before,
.experience-photo-bg::before{
    background:rgba(0,0,0,.10) !important;
    opacity:1 !important;
}

/* EXCLUSIONS: keep existing darkness exactly as-is */
.hero::before,
.hero-overlay,
.home-hero::before,
.home-hero .hero-overlay,
.homestay-card::before,
.homestay-list::before,
.homestay-grid::before{
    /* intentionally not overridden */
}


/* =========================================================
   v8.6.20 — ULTRA-SMOOTH PAGE SWITCHING
   Same-origin navigation feels continuous.
   ========================================================= */

/* Modern browsers: native cross-document View Transition */
@view-transition{
  navigation:auto;
}

::view-transition-old(root){
  animation:cp-page-old .36s cubic-bezier(.4,0,.2,1) both;
}
::view-transition-new(root){
  animation:cp-page-new .46s cubic-bezier(.16,1,.3,1) both;
}

@keyframes cp-page-old{
  from{opacity:1;transform:scale(1)}
  to{opacity:0;transform:scale(.992)}
}
@keyframes cp-page-new{
  from{opacity:0;transform:scale(1.008)}
  to{opacity:1;transform:scale(1)}
}

/* Fallback transition layer for browsers without cross-document View Transitions */
html.cp-page-ready body{
  opacity:1;
  transform:none;
}
html.cp-page-enter body{
  animation:cpFallbackEnter .46s cubic-bezier(.16,1,.3,1) both;
}
html.cp-page-leaving body{
  pointer-events:none;
}
html.cp-page-leaving .site-content,
html.cp-page-leaving main,
html.cp-page-leaving .site-header,
html.cp-page-leaving .site-footer{
  animation:cpFallbackLeave .30s cubic-bezier(.4,0,.2,1) both;
}

@keyframes cpFallbackEnter{
  from{opacity:.02;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
@keyframes cpFallbackLeave{
  from{opacity:1;transform:none;filter:blur(0)}
  to{opacity:.08;transform:translateY(-6px);filter:blur(2px)}
}

/* Full-page veil makes the navigation seam nearly invisible */
.cp-page-veil{
  position:fixed;
  inset:0;
  z-index:2147483000;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  background:#f7f3ea;
  transition:
    opacity .30s cubic-bezier(.4,0,.2,1),
    visibility 0s linear .30s;
}
html.cp-page-leaving .cp-page-veil{
  opacity:1;
  visibility:visible;
  transition:
    opacity .30s cubic-bezier(.4,0,.2,1),
    visibility 0s;
}

/* Do not animate anchors within the same page */
html.cp-anchor-jump .cp-page-veil{
  display:none!important;
}

/* Mobile gets the same transition with lighter movement */
@media(max-width:767px){
  @keyframes cpFallbackEnter{
    from{opacity:.02;transform:translateY(5px)}
    to{opacity:1;transform:none}
  }
  @keyframes cpFallbackLeave{
    from{opacity:1;transform:none}
    to{opacity:.08;transform:translateY(-4px)}
  }
}

/* Respect accessibility preference */
@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),
  ::view-transition-new(root),
  html.cp-page-enter body,
  html.cp-page-leaving .site-content,
  html.cp-page-leaving main,
  html.cp-page-leaving .site-header,
  html.cp-page-leaving .site-footer{
    animation:none!important;
  }
  .cp-page-veil{
    transition:none!important;
  }
}


/* =========================================================
   v8.6.21 — DEFAULT BACKGROUNDS + CUSTOMIZER SUPPORT
   ========================================================= */

/* Default Plan Your Visit photo when no Customizer image is selected */
.home-plan-summary{
  background-image:
    linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
    url("https://chandanpurahomestay.org/wp-content/uploads/2026/08/WhatsApp-Image-2026-08-10-at-3.09.22-PM.jpeg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* Background image sections should crop neatly on all screens */
.home-about-summary,
.home-homestays-section,
.home-experience-summary,
.home-why-bg,
.home-plan-summary,
.home-collector-section,
.home-explore-strip,
.home-partners-section,
.home-reach-section,
.home-cta-section{
  background-size:cover;
  background-repeat:no-repeat;
}

/* Mobile custom backgrounds */
@media(max-width:767px){
  .home-about-summary,
  .home-homestays-section,
  .home-experience-summary,
  .home-why-bg,
  .home-plan-summary,
  .home-collector-section,
  .home-explore-strip,
  .home-partners-section,
  .home-reach-section,
  .home-cta-section{
    background-attachment:scroll !important;
  }
}


/* =========================================================
   v8.6.23 — LIVE EDITOR PREVIEW HELPERS
   ========================================================= */
.cp-live-preview-mode .cp-live-editable-section{
  position:relative!important;
  outline:1px dashed transparent;
  outline-offset:-4px;
}
.cp-live-preview-mode .cp-live-editable-section:hover{
  outline-color:#b36a2d;
}
.cp-live-section-badge{
  position:absolute;
  top:12px;
  right:12px;
  z-index:99990;
  border:0;
  border-radius:999px;
  padding:7px 12px;
  background:#173f2d;
  color:#fff;
  font:600 12px/1.2 Arial,sans-serif;
  box-shadow:0 5px 18px rgba(0,0,0,.18);
  opacity:.88;
  cursor:pointer;
}
.cp-live-editable-section:hover>.cp-live-section-badge{opacity:1}
.cp-anim-none,.cp-anim-none *{animation:none!important;transition:none!important}
.cp-anim-soft{--cp-live-motion:.55}
.cp-anim-strong{--cp-live-motion:1.35}


/* =========================================================
   v8.6.30 — COLLECTOR PHOTO + FINAL CTA BACKGROUND FIX
   ========================================================= */

/* Collector foreground photo must remain visible even when the section has a background. */
.home-collector-section .collector-visit-photo{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:440px!important;
  overflow:hidden!important;
}
.home-collector-section .collector-visit-photo img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  min-height:440px!important;
  object-fit:cover!important;
  object-position:center!important;
  position:relative!important;
  z-index:2!important;
}

/* Final CTA fallback background. Live Editor/custom background still overrides this. */
.home-cta-section{
  background-image:
    linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
    url("assets/images/user-hero/contact.jpeg")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.home-cta-section .container{
  position:relative!important;
  z-index:2!important;
}
.home-cta-section h2,
.home-cta-section p{
  color:#fff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.45)!important;
}

@media(max-width:850px){
  .home-collector-section .collector-visit-photo,
  .home-collector-section .collector-visit-photo img{
    min-height:300px!important;
  }
}


/* =========================================================
   v8.6.35 — INNER PAGE TYPOGRAPHY SAFETY
   Prevent old editor settings from making hero copy enormous.
   ========================================================= */
body.page:not(.home) .subpage-photo-hero h1{
  font-size:clamp(42px,5vw,72px);
  line-height:1.06;
  max-width:1000px!important;
}
body.page:not(.home) .subpage-photo-hero p{
  font-size:clamp(18px,1.55vw,24px)!important;
  line-height:1.55!important;
  max-width:900px!important;
  font-weight:400!important;
}
body.page:not(.home) .subpage-photo-hero .eyebrow,
body.page:not(.home) .subpage-photo-hero .section-kicker,
body.page:not(.home) .subpage-photo-hero .ex54-kicker{
  font-size:14px!important;
  line-height:1.4!important;
}
@media(max-width:700px){
  body.page:not(.home) .subpage-photo-hero h1{font-size:clamp(34px,10vw,48px);}
  body.page:not(.home) .subpage-photo-hero p{font-size:17px!important;line-height:1.5!important;}
}

/* =========================================================
   v8.6.36 — ANIMATION + DIAMOND DIVIDER RESTORATION
   JS controls the animated reveal; mobile remains fully visible/stable.
   ========================================================= */
@media (prefers-reduced-motion: reduce){
  .cp-section-divider::before,
  .cp-section-divider::after{
    transform:scaleX(1) !important;
  }
  .cp-section-divider > span{
    transform:rotate(45deg) scale(1) !important;
    opacity:1 !important;
  }
}


/* =========================================================
   Mohini Homestay v1.0.0 additions
   ========================================================= */
.vv-stay-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:34px;align-items:center;background:#fff;border:1px solid #e7dfd3;border-radius:20px;overflow:hidden;box-shadow:0 18px 46px rgba(28,37,25,.08)}
.vv-stay-card .vv-photo{min-height:420px;height:100%;background-size:cover;background-position:center}
.vv-stay-copy{padding:42px}
.vv-stay-copy h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin:.3rem 0 1rem}
.vv-stay-copy p{color:var(--mt)}
.vv-amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.vv-amenity{background:#f7f2e8;border:1px solid #eadfce;border-radius:14px;padding:16px}
.vv-amenity b{display:block;margin-bottom:4px;color:var(--gd)}
.vv-main-site-link{font-size:.84rem;font-weight:700;color:var(--g);border-bottom:1px solid rgba(49,93,36,.35);padding-bottom:2px}
.vv-property-strip{background:#eef0e8}
.vv-property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vv-property-box{background:#fff;border:1px solid #e6ded2;border-radius:16px;padding:24px;box-shadow:0 10px 28px rgba(28,37,25,.05)}
.vv-property-box h3{font-family:Georgia,serif;font-size:1.35rem;margin:.2rem 0 .5rem}
.vv-property-box p{margin:0;color:var(--mt)}
.vv-book-panel{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center}
.vv-book-box{background:#fff;border-radius:16px;border:1px solid #e7dfd3;padding:26px}
.vv-book-box p:last-child{margin-bottom:0}
body.page .subpage-photo-hero .container{position:relative;z-index:2}
@media(max-width:850px){.vv-stay-card,.vv-book-panel{grid-template-columns:1fr}.vv-stay-card .vv-photo{min-height:300px}.vv-amenities,.vv-property-grid{grid-template-columns:1fr}.vv-stay-copy{padding:28px}}

/* Mohini Homestay experiences page */
.experience-page-section{padding:72px 0}
.experience-page-section.alt{background:#f6f2ea}
.experience-page-section h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.12;margin:.25rem 0 1rem}
.experience-page-section>.container>p{max-width:850px;color:var(--mt)}
.experience-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.experience-card-photo{background:#fff;border:1px solid #e7dfd3;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(28,37,25,.06)}
.experience-card-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.experience-card-photo h3{font-family:Georgia,serif;font-size:1.4rem;margin:18px 20px 8px}
.experience-card-photo p{margin:0 20px 22px;color:var(--mt)}
.experience-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.experience-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
@media(max-width:850px){.experience-cards-grid,.experience-photo-grid{grid-template-columns:1fr}.header-actions .vv-main-site-link{display:none}}


/* v1.0.4 — real Mohini Homestay photo clarity and no-empty-photo safeguard */
.vv-photo,.about-point-photo img,.experience-card-photo img,.experience-photo-grid img,.ex56-featured-photo img,.collector-visit-photo img{
  object-fit:cover;
  object-position:center;
}
.about-point-photo img,.experience-card-photo img,.experience-photo-grid img,.ex56-featured-photo img,.collector-visit-photo img{
  display:block;
  width:100%;
  height:100%;
}


/* Keep every non-attraction inner-page hero on the real Mohini Homestay photo set. */
body.page-template-page-about-chandanpura .subpage-photo-hero,
body.page-template-page-experiences .subpage-photo-hero,
body.page-template-page-plan-your-stay .subpage-photo-hero,
body.page-template-page-contact-how-to-reach .subpage-photo-hero,
body.page-template-page-why-chandanpura .subpage-photo-hero,
body.page-template-page-our-homestays .subpage-photo-hero{
  background-size:cover!important;
  background-position:center!important;
}


/* =========================================================
   v1.0.4 — CROSS-SUBDOMAIN — seamless navigation between the main portal and
   Chandanpura homestay subdomains. The JS fallback handles
   cross-origin subdomain switches; native View Transitions
   remain enabled for same-origin navigation.
   ========================================================= */
html.cp-page-enter,html.cp-page-leaving{background:#fff;}
html.cp-page-enter body,html.cp-page-leaving body{backface-visibility:hidden;}

/* =========================================================
   v1.0.12 — COMPACT ABOUT EXPERIENCE PHOTOS
   The three About-page cards must remain the same compact size
   regardless of the source image dimensions/aspect ratio.
   ========================================================= */
body.page-template-page-about-chandanpura .about-points{
  align-items:start !important;
}
body.page-template-page-about-chandanpura .about-points .about-point.about-point-photo{
  min-height:0 !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-self:start !important;
  overflow:hidden !important;
}
body.page-template-page-about-chandanpura .about-points .about-point.about-point-photo > img,
body.page-template-page-about-chandanpura .about-points .about-point.about-point-photo img{
  display:block !important;
  width:100% !important;
  height:150px !important;
  min-height:150px !important;
  max-height:150px !important;
  flex:0 0 150px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center !important;
}
body.page-template-page-about-chandanpura .about-points .about-point.about-point-photo .about-point-body{
  flex:none !important;
  height:auto !important;
  min-height:0 !important;
  padding:18px 22px 20px !important;
}
body.page-template-page-about-chandanpura .about-points .about-point.about-point-photo .about-point-body p{
  margin:0 !important;
}
@media (max-width:800px){
  body.page-template-page-about-chandanpura .about-points .about-point.about-point-photo > img,
  body.page-template-page-about-chandanpura .about-points .about-point.about-point-photo img{
    height:145px !important;
    min-height:145px !important;
    max-height:145px !important;
    flex-basis:145px !important;
  }
}

/* Booking partners — v1.0.19 */
.home-book-now{padding:76px 0;background:#f8f6f1}
.home-book-now-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.home-book-now-head h2{margin:6px 0 10px}
.home-book-now-head p{max-width:720px;margin:0;color:#697161}
.home-book-now-status{flex:0 0 auto;padding:9px 13px;border:1px solid #ded7ca;border-radius:999px;background:#fff;color:#777f74;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.home-booking-partners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.home-booking-partner{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:20px;background:#fff;border:1px solid #e4ded4;border-radius:18px;padding:18px 20px;box-shadow:0 10px 28px rgba(24,55,39,.06)}
.home-booking-logo{height:64px;display:flex;align-items:center;justify-content:center;border-radius:10px;overflow:hidden;background:#fff}
.home-booking-logo img{display:block;width:100%;height:100%;object-fit:contain}
.home-booking-copy{display:flex;flex-direction:column;gap:4px}
.home-booking-copy strong{color:var(--gd);font-size:1.08rem}
.home-booking-copy span{color:#777f74;font-size:.88rem}
.home-booking-disabled{white-space:nowrap;padding:9px 12px;border-radius:8px;background:#f1eee8;color:#777f74;font-size:.75rem;font-weight:800}
.home-booking-note{text-align:center;margin:20px 0 0;color:#858b82;font-size:.85rem}
@media(max-width:820px){.home-book-now-head{align-items:flex-start;flex-direction:column}.home-booking-partners{grid-template-columns:1fr}.home-booking-partner{grid-template-columns:140px 1fr}.home-booking-disabled{grid-column:2;justify-self:start}}
@media(max-width:520px){.home-book-now{padding:58px 0}.home-booking-partner{grid-template-columns:1fr;gap:12px;padding:16px}.home-booking-logo{height:58px;justify-content:flex-start}.home-booking-copy span{font-size:.82rem}.home-booking-disabled{grid-column:auto}}

/* v1.0.20 — Mohini Homestay photo-ready + registration */
.nature-registration-home{padding:76px 0;background:#f7f5ef}
.cp-nature-registration-card{max-width:760px;margin:28px auto;padding:30px;border:1px solid #e5ded2;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(24,55,39,.08)}
.cp-nature-registration-card.compact{max-width:820px}
.cp-registration-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef4e9;color:#315d24;font-size:.7rem;font-weight:800;letter-spacing:.08em}
.cp-nature-registration-card h2,.cp-nature-registration-card h3{margin:14px 0 4px;color:var(--gd);font-family:Georgia,serif}
.cp-registration-subtitle{color:var(--ac);font-weight:700;margin:5px 0 16px}
.cp-nature-registration-card .cp-reg-detail{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:16px;padding:11px 0;border-top:1px solid #eee8dd}
.cp-nature-registration-card .cp-reg-detail span{color:#697161;font-weight:600}.cp-nature-registration-card .cp-reg-detail strong{color:#173f2d}
.mohini-homestay-photo-placeholder{background-position:center;background-size:cover}
@media(max-width:720px){.cp-nature-registration-card{padding:22px}.cp-nature-registration-card .cp-reg-detail{grid-template-columns:1fr;gap:3px}}
