:root{
  --teal-900:#0b3d3a;
  --teal-700:#0f6b64;
  --teal-600:#128a80;
  --teal-100:#e6f4f2;
  --coral-500:#f2673d;
  --coral-600:#dd5027;
  --gold-500:#e8ac2b;
  --cream:#fbf7f1;
  --ink:#1c2a29;
  --gray-500:#6b7876;
  --gray-200:#e4e9e8;
  --white:#ffffff;
  --radius:14px;
  --shadow:0 8px 24px rgba(11,61,58,0.08);
  --font-head:'Cormorant Garamond',serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{overflow-x:hidden;}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--cream);line-height:1.55;overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;margin:0 0 .5em;color:var(--teal-900);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:12px 22px;border-radius:999px;border:none;cursor:pointer;font-weight:600;font-size:15px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.btn-primary{background:var(--coral-500);color:#fff;}
.btn-primary:hover{background:var(--coral-600);transform:translateY(-2px);box-shadow:0 10px 22px rgba(242,103,61,.32);}
.btn-secondary{background:transparent;color:var(--teal-700);border:1.5px solid var(--teal-700);}
.btn-secondary:hover{background:var(--teal-100);transform:translateY(-2px);}
.btn-block{width:100%;}
.section{padding:60px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;}
.section-head h2{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:600;font-style:normal;line-height:1.05;letter-spacing:-.5px;position:relative;padding-left:24px;margin-bottom:0;}
.section-head h2::before{content:'';position:absolute;left:0;top:6px;bottom:10px;width:5px;border-radius:3px;background:linear-gradient(180deg,var(--coral-500),var(--gold-500));}
.section-head p{color:var(--gray-500);margin:8px 0 0 24px;font-size:15px;}
.view-all{color:var(--coral-500);font-weight:600;font-size:14px;white-space:nowrap;}

/* ---- Header / Nav ---- */
.topbar{background:var(--teal-900);color:rgba(255,255,255,.85);font-size:12.5px;padding:8px 0;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.topbar-contact{display:flex;gap:22px;flex-wrap:wrap;}
.topbar-contact a{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.85);transition:color .2s ease;}
.topbar-contact a:hover{color:var(--gold-500);}
.topbar-contact i{color:var(--gold-500);font-size:11px;}
.topbar-social{display:flex;gap:14px;align-items:center;}
.topbar-social a{color:rgba(255,255,255,.75);font-size:13px;transition:color .2s ease;}
.topbar-social a:hover{color:var(--gold-500);}

.site-header{background:var(--white);border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:50;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;}
.logo{font-family:var(--font-head);font-weight:700;font-size:20px;color:var(--teal-900);letter-spacing:.5px;}
.logo img{height:80px;width:auto;display:block;}
.logo span{color:var(--coral-500);}
.main-nav{display:flex;align-items:center;gap:28px;}
.main-nav > a{font-weight:500;font-size:14.5px;}
.main-nav > a:hover{color:var(--coral-500);}
.nav-dropdown{position:relative;}
.nav-dropdown > a{font-weight:500;font-size:14.5px;display:flex;align-items:center;gap:6px;}
.dropdown-panel{position:absolute;top:100%;left:0;background:#fff;box-shadow:var(--shadow);border-radius:10px;padding:10px;min-width:180px;display:none;flex-direction:column;}
.nav-dropdown:hover .dropdown-panel{display:flex;}
.dropdown-panel a{padding:8px 12px;border-radius:6px;font-size:14px;}
.dropdown-panel a:hover{background:var(--teal-100);}
.wishlist-icon{font-size:18px;color:var(--teal-700);}
.nav-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--teal-900);}

/* ---- Hero (destination showcase banner) ---- */
.hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#0b3d3a linear-gradient(160deg,#0b3d3a,#128a80 55%,#1c2a29);}
.hero-bg-wrap{position:absolute;inset:0;overflow:hidden;z-index:0;}
.hero-bg{position:absolute;inset:-8%;background-image:url('../images/banner1.jpg');background-size:cover;background-position:center;animation:kenBurns 26s ease-in-out infinite alternate;will-change:transform;}
@keyframes kenBurns{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.13) translate(-2%,-1.5%);}}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,32,29,.82) 0%,rgba(6,38,35,.55) 32%,rgba(6,38,35,.15) 58%,transparent 78%);z-index:1;}

/* ---- Flying birds ---- */
.hero-birds{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;}
.hero-bird{position:absolute;color:rgba(20,30,25,.55);filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));animation-timing-function:linear;animation-iteration-count:infinite;}
.hero-bird i{display:block;animation:birdFlap 1.1s ease-in-out infinite;}
@keyframes birdFlap{0%,100%{transform:scaleY(1);}50%{transform:scaleY(.72);}}
.hero-bird-1{top:18%;left:-6%;font-size:14px;animation-name:flyAcross1;animation-duration:24s;animation-delay:0s;}
.hero-bird-2{top:24%;left:-6%;font-size:11px;color:rgba(20,30,25,.4);animation-name:flyAcross2;animation-duration:30s;animation-delay:3s;}
.hero-bird-3{top:15%;left:-6%;font-size:16px;animation-name:flyAcross1;animation-duration:22s;animation-delay:8s;}
.hero-bird-4{top:29%;left:-6%;font-size:10px;color:rgba(20,30,25,.35);animation-name:flyAcross2;animation-duration:33s;animation-delay:14s;}
.hero-bird-5{top:20%;left:-6%;font-size:13px;animation-name:flyAcross1;animation-duration:27s;animation-delay:19s;}
@keyframes flyAcross1{
  0%{transform:translate(0,0);}
  20%{transform:translate(28vw,-18px);}
  40%{transform:translate(56vw,10px);}
  60%{transform:translate(82vw,-14px);}
  80%{transform:translate(105vw,6px);}
  100%{transform:translate(130vw,-10px);}
}
@keyframes flyAcross2{
  0%{transform:translate(0,0);}
  25%{transform:translate(32vw,14px);}
  50%{transform:translate(64vw,-10px);}
  75%{transform:translate(96vw,12px);}
  100%{transform:translate(130vw,-6px);}
}
.hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.28;pointer-events:none;animation:floatBlob 9s ease-in-out infinite;z-index:1;}
.hero-blob-1{width:300px;height:300px;background:var(--gold-500);top:-70px;right:8%;}
.hero-blob-2{width:240px;height:240px;background:var(--coral-500);bottom:-60px;left:4%;animation-delay:-4s;}
.hero-inner{position:relative;z-index:2;padding:70px 20px 60px;width:100%;}
.hero-content{max-width:660px;}
.hero-eyebrow{display:flex;align-items:center;gap:10px;color:var(--gold-500);font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;font-size:13px;opacity:0;animation:fadeInUp .7s ease .05s forwards;text-shadow:0 2px 8px rgba(0,0,0,.55);}
.hero-eyebrow::before{content:'';width:26px;height:2px;background:var(--gold-500);display:inline-block;}
.hero-title{font-family:'Alex Brush',cursive;font-weight:400;color:#fff;font-size:66px;line-height:1.05;margin:10px 0 0;opacity:0;animation:fadeInUp .7s ease .18s forwards;text-shadow:0 4px 18px rgba(0,0,0,.55),0 1px 4px rgba(0,0,0,.5);}
.hero-script{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:#f6d67a;margin:6px 0 20px;padding-bottom:10px;border-bottom:2px solid var(--gold-500);opacity:0;animation:fadeInUp .7s ease .28s forwards;text-shadow:0 2px 8px rgba(0,0,0,.6);}
.hero-desc{color:#fff;max-width:440px;font-size:15.5px;line-height:1.6;opacity:0;animation:fadeInUp .7s ease .38s forwards;text-shadow:0 2px 10px rgba(0,0,0,.55);}
.hero-features{display:flex;flex-wrap:wrap;gap:20px;margin-top:32px;max-width:980px;opacity:0;animation:fadeInUp .7s ease .48s forwards;}
.hero-feature{display:flex;align-items:center;gap:10px;max-width:210px;background:linear-gradient(135deg,rgba(6,38,35,.6),rgba(6,38,35,.22));backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 14px;}
.hero-feature .icon-ring{width:40px;height:40px;flex-shrink:0;border:1.5px solid rgba(255,255,255,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;}
.hero-feature span{font-size:13px;font-weight:600;color:#fff;line-height:1.3;text-shadow:0 2px 8px rgba(0,0,0,.6);}


/* ---- Sub-page destination hero (individual destination detail pages) ---- */
.dest-hero{position:relative;min-height:420px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#0b3d3a linear-gradient(160deg,#0b3d3a,#128a80 55%,#1c2a29);}
.dest-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;}
.dest-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,32,29,.85) 0%,rgba(6,38,35,.6) 35%,rgba(6,38,35,.25) 65%,rgba(6,38,35,.55) 100%);z-index:1;}
.dest-hero-inner{position:relative;z-index:2;padding:70px 20px;max-width:720px;}
.dest-hero-fog{z-index:2;}
.blog-detail-hero-fog{z-index:2;}
.blog-detail-breadcrumb{margin-bottom:16px;}
.blog-detail-title{margin-top:6px;}
.blog-detail-image{width:100%;border-radius:16px;box-shadow:var(--shadow);margin-bottom:26px;max-height:420px;object-fit:cover;}

/* ---- Blog detail sidebar - Recent Posts with thumbnails ---- */
.blog-detail-layout{align-items:start;}
.blog-sidebar-heading{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--teal-900);margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--gray-200);}
.blog-sidebar-item{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
.blog-sidebar-item:last-child{margin-bottom:0;}
.blog-sidebar-thumb{flex-shrink:0;width:64px;height:64px;border-radius:10px;overflow:hidden;}
.blog-sidebar-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.blog-sidebar-item:hover .blog-sidebar-thumb img{transform:scale(1.08);}
.blog-sidebar-item-body{display:flex;flex-direction:column;min-width:0;}
.blog-sidebar-item-title{font-size:13.5px;font-weight:600;color:var(--teal-900);line-height:1.35;transition:color .2s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.blog-sidebar-item:hover .blog-sidebar-item-title{color:var(--coral-500);}
.blog-sidebar-item-date{font-size:11.5px;color:var(--gray-500);margin-top:4px;}
.dest-hero-facts{display:flex;gap:20px;margin-top:20px;flex-wrap:wrap;}
.dest-hero-facts span{display:flex;align-items:center;gap:8px;font-size:14px;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(4px);padding:8px 16px;border-radius:999px;}
.dest-hero-facts i{color:var(--gold-500);}

.dest-empty-state{grid-column:1/-1;text-align:center;padding:50px 20px;background:var(--cream);border-radius:16px;}
.dest-empty-state i{font-size:32px;color:var(--gray-500);opacity:.5;margin-bottom:14px;display:block;}
.dest-empty-state p{color:var(--gray-500);margin-bottom:18px;}
.dest-hero-eyebrow{display:flex;align-items:center;gap:10px;color:var(--gold-500);font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;font-size:12.5px;text-shadow:0 2px 8px rgba(0,0,0,.55);}
.dest-hero-eyebrow::before{content:'';width:24px;height:2px;background:var(--gold-500);display:inline-block;}
.dest-hero h1{font-family:'Cormorant Garamond',serif;font-weight:600;color:#fff;font-size:64px;line-height:1.05;margin:6px 0 0;text-shadow:0 4px 16px rgba(0,0,0,.55),0 1px 4px rgba(0,0,0,.5);}
.dest-hero-script{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:#f6d67a;margin:6px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--gold-500);text-shadow:0 2px 8px rgba(0,0,0,.6);}
.dest-hero p{color:#fff;font-size:15.5px;line-height:1.65;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.55);}

/* Search bar */
.search-bar{position:relative;z-index:3;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:16px;margin:-90px auto 0;max-width:1140px;opacity:0;animation:fadeInUp .7s ease .4s forwards;}
.search-field{position:relative;}
.search-field label{display:block;font-size:12px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.search-field i{position:absolute;left:12px;top:36px;color:var(--teal-600);font-size:14px;pointer-events:none;}
.search-field input,.search-field select{width:100%;border:1.5px solid var(--gray-200);border-radius:8px;padding:10px 12px 10px 34px;font-family:var(--font-body);font-size:14px;transition:border-color .2s;}
.search-field input:focus,.search-field select:focus{border-color:var(--teal-600);outline:none;}
.search-bar .btn-primary{align-self:end;}

/* ---- Animations ---- */
@keyframes fadeInUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
@keyframes floatBlob{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(18px,-22px) scale(1.06);}}
@keyframes whyArrowNudge{0%,100%{transform:translateX(0);opacity:.6;}50%{transform:translateX(5px);opacity:1;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1);}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-stagger>*{opacity:0;transform:translateY(28px);transition:opacity .55s cubic-bezier(.2,.7,.3,1),transform .55s cubic-bezier(.2,.7,.3,1);}
.reveal-stagger.in-view>*{opacity:1;transform:translateY(0);}
.reveal-stagger.in-view>*:nth-child(1){transition-delay:.02s;}
.reveal-stagger.in-view>*:nth-child(2){transition-delay:.09s;}
.reveal-stagger.in-view>*:nth-child(3){transition-delay:.16s;}
.reveal-stagger.in-view>*:nth-child(4){transition-delay:.23s;}
.reveal-stagger.in-view>*:nth-child(5){transition-delay:.3s;}
.reveal-stagger.in-view>*:nth-child(6){transition-delay:.37s;}
.reveal-stagger.in-view>*:nth-child(7){transition-delay:.44s;}
.reveal-stagger.in-view>*:nth-child(8){transition-delay:.51s;}

/* ---- Stats section (creative cards, placed after FAQ) ---- */
.stats-section-v2{position:relative;overflow:hidden;background:var(--cream);padding:60px 0;}
.stats-blob-bg{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:floatBlob 11s ease-in-out infinite;}
.stats-section-v2::before{content:'';position:absolute;width:320px;height:320px;border-radius:50%;background:var(--gold-500);opacity:.10;filter:blur(80px);top:-100px;left:-80px;animation:floatBlob 12s ease-in-out infinite;}
.stats-section-v2::after{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:var(--teal-600);opacity:.12;filter:blur(80px);bottom:-100px;right:-60px;animation:floatBlob 14s ease-in-out infinite reverse;}
.stats-grid-v2{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.stat-card-v2{position:relative;text-align:center;background:#fff;border-radius:18px;padding:32px 18px 26px;box-shadow:var(--shadow);overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s ease;}
.stat-card-v2::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal-600),var(--coral-500),var(--gold-500));transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.stat-card-v2:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(11,61,58,.16);}
.stat-card-v2:hover::before{transform:scaleX(1);}
.stat-icon-v2{display:flex;width:60px;height:60px;margin:0 auto 14px;border-radius:50%;align-items:center;justify-content:center;font-size:22px;color:#fff;transition:transform .4s cubic-bezier(.34,1.56,.64,1);}
.stat-card-v2:hover .stat-icon-v2{transform:scale(1.12) rotate(-6deg);}
.stat-card-v2:nth-child(1) .stat-icon-v2{background:linear-gradient(135deg,var(--teal-600),var(--teal-900));}
.stat-card-v2:nth-child(2) .stat-icon-v2{background:linear-gradient(135deg,var(--coral-500),var(--coral-600));}
.stat-card-v2:nth-child(3) .stat-icon-v2{background:linear-gradient(135deg,var(--gold-500),#c8891f);}
.stat-card-v2:nth-child(4) .stat-icon-v2{background:linear-gradient(135deg,var(--teal-600),var(--teal-900));}
.stat-num-v2{font-family:var(--font-head);font-size:34px;font-weight:600;color:var(--teal-900);}
.stat-label-v2{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12.5px;color:var(--gray-500);text-transform:uppercase;letter-spacing:1px;margin-top:4px;}

/* ---- Cards ---- */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}

/* ---- Property split cards (image + gray panel with notch, Read More pill) ---- */
.properties-section{position:relative;background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cg fill='%230f6b64' fill-opacity='0.09'%3E%3Cpath transform='translate(18,16) rotate(12)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3Cpath transform='translate(120,34) rotate(-30) scale(0.7)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3Cpath transform='translate(58,104) rotate(52) scale(1.15)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3Cpath transform='translate(138,132) rotate(-8) scale(0.6)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3Cpath transform='translate(90,60) rotate(95) scale(0.55)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3C/g%3E%3Cg fill='%23e8ac2b' fill-opacity='0.09'%3E%3Ccircle cx='95' cy='18' r='3.2'/%3E%3Ccircle cx='18' cy='95' r='2.6'/%3E%3Ccircle cx='150' cy='80' r='3.2'/%3E%3Ccircle cx='85' cy='150' r='2.4'/%3E%3Ccircle cx='10' cy='45' r='2'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat;background-size:170px 170px;}
.property-split-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.property-split-card{display:flex;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:230px;transition:transform .35s ease,box-shadow .35s ease;}
.property-split-card:hover{transform:translateY(-7px);box-shadow:0 22px 42px rgba(11,61,58,.18);}
.ps-img{flex:0 0 42%;position:relative;overflow:hidden;}
.ps-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.property-split-card:hover .ps-img img{transform:scale(1.09);}
.ps-content{flex:1;background:linear-gradient(150deg,var(--teal-100) 0%,#fdfaf5 55%,var(--cream) 100%);display:flex;flex-direction:column;justify-content:space-between;padding:28px;position:relative;overflow:hidden;}
.ps-notch{position:absolute;left:0;top:50%;transform:translate(-100%,-50%);width:0;height:0;border-top:17px solid transparent;border-bottom:17px solid transparent;border-right:17px solid var(--teal-100);transition:border-right-color .3s ease;z-index:1;}
.ps-watermark{position:absolute;right:-14px;bottom:-20px;font-size:110px;color:var(--teal-600);opacity:.08;transform:rotate(-18deg);pointer-events:none;z-index:0;}
.ps-content h3,.ps-content .ps-meta,.ps-content .ps-btn{position:relative;z-index:1;}
.ps-content h3{font-size:21px;margin:0 0 10px;color:var(--teal-900);}
.ps-meta{font-size:13px;color:var(--gray-500);display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.ps-btn{align-self:flex-end;display:inline-block;margin-top:18px;background:var(--coral-500);color:#fff;font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:11px 22px;border-radius:6px;transition:background .25s ease,transform .25s ease;}
.property-split-card:hover .ps-btn{background:var(--coral-600);transform:translateX(4px);}

/* ---- Package slider (Featured Tour Packages) ---- */
.pkg-slider-wrap{position:relative;}
.pkg-slider{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:none;}
.pkg-slider::-webkit-scrollbar{display:none;}
.pkg-slider .card{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;}
.pkg-slider .card-img{height:340px;}
.pkg-slider-btn{position:absolute;top:38%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--shadow);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--teal-700);font-size:15px;z-index:2;transition:background .2s ease,color .2s ease;}
.pkg-slider-btn:hover{background:var(--coral-500);color:#fff;}
.pkg-slider-btn.prev{left:-20px;}
.pkg-slider-btn.next{right:-20px;}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease;}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(11,61,58,.14);}
.card-img{position:relative;height:170px;background:var(--teal-100);overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.card:hover .card-img img{transform:scale(1.08);}
.badge{position:absolute;top:10px;left:10px;background:var(--coral-500);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;}
.card-body{padding:16px;}
.card-body h3{font-size:16px;margin-bottom:4px;}
.attraction-card-desc{font-size:13.5px;color:var(--gray-500);line-height:1.6;margin:6px 0 0;}
.attraction-slider .card-img{height:200px;}
.attraction-card-readmore{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:12.5px;font-weight:600;color:var(--coral-500);transition:gap .2s ease;}
.attraction-card:hover .attraction-card-readmore{gap:9px;}
.attraction-card-readmore i{transition:transform .2s ease;}
.attraction-card .card-body h3{font-size:22px;font-family:var(--font-head);font-weight:600;color:var(--teal-900);margin-bottom:8px;}
.card-meta{font-size:13px;color:var(--gray-500);display:flex;justify-content:space-between;margin-top:10px;align-items:center;}
.rating{color:var(--gold-500);font-weight:600;}
.price{color:var(--coral-500);font-weight:700;font-size:15px;}

/* ---- Package cards - elevated typography + reveal accent (Featured
   Tour Packages slider on the homepage AND the Tour Packages listing
   page both use this, since they share the same view markup pattern) ---- */
.package-card .card-body{padding:18px 20px 20px;}
.package-card .card-body h3{font-family:var(--font-head);font-style:normal;font-weight:600;font-size:18px;letter-spacing:0;color:var(--teal-900);margin-bottom:0;line-height:1.25;}
.package-card .title-accent{display:block;width:32px;height:2px;background:var(--gold-500);margin:8px 0 10px;border-radius:2px;transition:width .35s ease,background .35s ease;}
.package-card:hover .title-accent{width:64px;background:var(--coral-500);}
.package-card .card-duration{font-size:13px;color:var(--gray-500);display:flex;align-items:center;gap:6px;}
.package-card .card-duration i{color:var(--coral-500);font-size:12px;}
.package-card .card-meta{margin-top:14px;padding-top:12px;border-top:1px dashed var(--gray-200);align-items:flex-end;}
.package-card .price-block{display:flex;flex-direction:column;}
.package-card .price-label{font-family:'Montserrat',sans-serif;font-size:10px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.6px;font-weight:600;margin-bottom:2px;}
.package-card .price{font-family:var(--font-head);font-size:19px;}
.package-card .rating{background:var(--teal-100);color:#b8860b;font-size:12px;padding:4px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;}
.package-card .rating i{color:var(--gold-500);}
.package-card .badge{box-shadow:0 4px 10px rgba(242,103,61,.35);}

/* ---- Stay cards (Properties listing) - same elegant treatment as
   package cards, own class so it doesn't affect other .card usages ---- */
.stay-listing-grid .card-img{height:230px;}
.stay-card .card-body{padding:18px 20px 20px;}
.stay-card .card-body h3{font-family:var(--font-head);font-style:normal;font-weight:600;font-size:18px;color:var(--teal-900);margin-bottom:0;line-height:1.25;}
.stay-card .title-accent{display:block;width:32px;height:2px;background:var(--gold-500);margin:8px 0 10px;border-radius:2px;transition:width .35s ease,background .35s ease;}
.stay-card:hover .title-accent{width:64px;background:var(--coral-500);}
.stay-card .card-duration{font-size:13px;color:var(--gray-500);display:flex;align-items:center;gap:6px;}
.stay-card .card-duration i{color:var(--coral-500);font-size:12px;}
.stay-card .card-meta{margin-top:14px;padding-top:12px;border-top:1px dashed var(--gray-200);align-items:flex-end;}
.stay-card .price-block{display:flex;flex-direction:column;}
.stay-card .price-label{font-family:'Montserrat',sans-serif;font-size:10px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.6px;font-weight:600;margin-bottom:2px;}
.stay-card .price{font-family:var(--font-head);font-size:19px;}
.stay-card .rating{background:var(--teal-100);color:#b8860b;font-size:12px;padding:4px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;}
.stay-card .rating i{color:var(--gold-500);}

/* ---- Booking.com-style horizontal stay list (Properties listing) ---- */
.stay-list{display:flex;flex-direction:column;gap:20px;}
.stay-row{display:flex;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease;}
.stay-row:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(11,61,58,.16);}
.stay-row-img{position:relative;flex:0 0 280px;overflow:hidden;}
.stay-row-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.stay-row:hover .stay-row-img img{transform:scale(1.06);}
.stay-type-badge{position:absolute;top:12px;left:12px;background:rgba(11,61,58,.85);color:#fff;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:5px 12px;border-radius:999px;}
.stay-row-body{flex:1;display:flex;padding:22px 24px;gap:20px;}
.stay-row-main{flex:1;min-width:0;}
.stay-row-title{font-family:var(--font-head);font-weight:600;font-size:20px;color:var(--teal-700);display:inline-block;margin-bottom:6px;transition:color .2s ease;}
.stay-row-title:hover{color:var(--coral-500);}
.stay-row-stars{margin-bottom:8px;}
.stay-row-stars i{color:var(--gold-500);font-size:13px;}
.stay-row-stars i.star-off{color:var(--gray-200);}
.stay-row-location{font-size:13.5px;color:var(--gray-500);margin-bottom:10px;}
.stay-row-location i{color:var(--coral-500);margin-right:4px;}
.stay-row-location a{color:var(--teal-600);font-weight:600;}
.stay-row-location a:hover{text-decoration:underline;}
.stay-row-desc{font-size:14px;color:var(--gray-500);line-height:1.55;margin:0;}
.stay-row-side{flex:0 0 170px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:10px;}
.stay-score-badge{background:var(--teal-900);color:#fff;border-radius:10px;padding:8px 12px;text-align:center;min-width:78px;}
.stay-score-label{display:block;font-size:11px;font-weight:600;color:rgba(255,255,255,.85);}
.stay-score-num{display:block;font-family:var(--font-head);font-size:20px;font-weight:600;line-height:1.1;}
.stay-score-count{display:block;font-size:10px;color:rgba(255,255,255,.65);}
.stay-row-price{display:flex;flex-direction:column;align-items:flex-end;}
.stay-row-price .price-label{font-family:'Montserrat',sans-serif;font-size:10px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.6px;font-weight:600;}
.stay-row-price .price{font-family:var(--font-head);font-size:19px;color:var(--coral-500);font-weight:700;}
.stay-reserve-btn{width:auto;padding:9px 18px;font-size:13.5px;}


/* ---- Destination showcase cards (large, script name + tagline) ---- */
.destinations-list-section{position:relative;background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cg fill='%230f6b64' fill-opacity='0.06'%3E%3Cpath transform='translate(18,16) rotate(12)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3Cpath transform='translate(120,34) rotate(-30) scale(0.7)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3Cpath transform='translate(58,104) rotate(52) scale(1.15)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3Cpath transform='translate(138,132) rotate(-8) scale(0.6)' d='M20 0 C33 11,33 35,20 48 C7 35,7 11,20 0 Z'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat;background-size:170px 170px;border-radius:24px;}
.destinations-count{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--teal-900);font-weight:700;font-size:13px;letter-spacing:.5px;padding:10px 20px;border-radius:999px;box-shadow:var(--shadow);margin-bottom:28px;}
.destinations-count i{color:var(--coral-500);}
.destination-grid-lg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

/* ---- Featured destinations grid (homepage only) - large hero card (9
   columns) + one narrow card (3 columns) in row one, remaining
   destinations fill a normal equal 3-column row after that ---- */
.destination-grid-featured{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;}
.destination-grid-featured > *:nth-child(1){grid-column:span 9;}
.destination-grid-featured > *:nth-child(2){grid-column:span 3;}
.destination-grid-featured > *:nth-child(n+3){grid-column:span 4;}
.destination-grid-featured > *:nth-child(1),
.destination-grid-featured > *:nth-child(2){height:460px;}
.destination-grid-featured > *:nth-child(1) .dc-name{font-size:88px;}
.destination-grid-featured > *:nth-child(2) .dc-name{font-size:36px;}
.destination-grid-featured > *:nth-child(2) .dc-tagline{font-size:10px;letter-spacing:1.5px;}
.destination-grid-featured > *:nth-child(2) .dc-content{left:18px;right:18px;bottom:16px;}
.destination-card-lg{position:relative;border-radius:18px;overflow:hidden;height:300px;box-shadow:var(--shadow);transition:transform .35s ease,box-shadow .35s ease;}
.destination-card-lg:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(11,61,58,.22);}
.destination-card-lg img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.destination-card-lg:hover img{transform:scale(1.07);}
.destination-card-lg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,20,18,.88) 0%,rgba(5,20,18,.4) 40%,transparent 68%);}
.destination-card-lg .dc-content{position:absolute;left:26px;right:26px;bottom:24px;z-index:2;}
.destination-card-lg .dc-name{font-family:'Alex Brush',cursive;font-weight:400;font-size:62px;line-height:1;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.55);margin:0;}
.destination-card-lg .dc-tagline{display:inline-block;margin-top:8px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#f6d67a;padding-bottom:9px;border-bottom:2px solid var(--gold-500);text-shadow:0 2px 8px rgba(0,0,0,.5);}

.destination-chip{border-radius:var(--radius);overflow:hidden;position:relative;height:210px;transition:transform .3s ease,box-shadow .3s ease;}
.destination-chip:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(11,61,58,.18);}
.destination-chip img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.destination-chip:hover img{transform:scale(1.08);}
.destination-chip .chip-label{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top,rgba(11,61,58,.85),transparent);color:#fff;}
.destination-chip .chip-label h4{color:#fff;margin:0;}

/* ---- CTA banner - real forest photo background + falling rain ---- */
.cta-section{position:relative;overflow:hidden;padding:90px 0;text-align:center;color:#fff;background:#0a3330 linear-gradient(155deg,#082e2b,#0b3d3a);}
.cta-bg{position:absolute;inset:0;background-image:url('../images/cta-forest.jpg');background-size:cover;background-position:center;z-index:0;}
.cta-section::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,32,29,.75) 0%,rgba(6,32,29,.55) 45%,rgba(6,32,29,.8) 100%);z-index:1;}
.cta-inner{position:relative;z-index:4;max-width:640px;margin:0 auto;}
.cta-section h2{color:#fff;margin-bottom:12px;}
.cta-section p{color:rgba(255,255,255,.85);font-size:15.5px;line-height:1.6;margin:0 0 28px;}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-secondary-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6);}
.btn-secondary-light:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff;}

/* Drifting fog banks - large soft blurred ellipses rolling slowly across
   the scene, matching the misty-hills feel of the brand */
.cta-fog{position:absolute;inset:0;overflow:hidden;z-index:2;pointer-events:none;}
.fog-bank{position:absolute;border-radius:50%;background:rgba(255,255,255,.6);filter:blur(40px);animation-name:fogDrift;animation-timing-function:linear;animation-iteration-count:infinite;}
.fog-bank-1{width:65%;height:75%;top:-15%;left:-35%;opacity:.14;animation-duration:52s;}
.fog-bank-2{width:75%;height:85%;top:15%;left:-45%;opacity:.10;animation-duration:68s;animation-delay:-18s;}
.fog-bank-3{width:55%;height:65%;top:48%;left:-30%;opacity:.16;animation-duration:44s;animation-delay:-9s;}
@keyframes fogDrift{from{transform:translateX(0);}to{transform:translateX(160%);}}

.cta-rain{position:absolute;inset:0;overflow:hidden;z-index:3;pointer-events:none;}
.raindrop{position:absolute;top:-15%;width:2px;height:70px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.55));animation-name:rainDrop;animation-timing-function:linear;animation-iteration-count:infinite;}
@keyframes rainDrop{0%{transform:translateY(0) rotate(8deg);opacity:0;}8%{opacity:.7;}100%{transform:translateY(480px) rotate(8deg);opacity:0;}}

/* ---- Why book with us ---- */
.why-section{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--teal-900) 0%,#0a4844 45%,var(--teal-700) 75%,#082e2b 100%);}
.why-section h2{color:#fff;}
.why-section .section-head p{color:rgba(255,255,255,.75);}
.why-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;pointer-events:none;z-index:0;animation:floatBlob 10s ease-in-out infinite;}
.why-blob-1{width:280px;height:280px;background:var(--gold-500);opacity:.28;top:-60px;left:-60px;}
.why-blob-2{width:240px;height:240px;background:var(--coral-500);opacity:.22;bottom:-60px;right:-40px;animation-delay:-5s;}
.why-section .container{position:relative;z-index:1;}
.why-steps{display:flex;align-items:flex-start;justify-content:center;gap:6px;}
.why-step{position:relative;text-align:center;flex:1 1 0;max-width:230px;padding:8px;}
.why-icon-halo{width:100px;height:100px;margin:0 auto 16px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .3s ease;}
.why-step:hover .why-icon-halo{transform:scale(1.08) rotate(-4deg);background:rgba(255,255,255,.2);}
.why-icon{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.25);}
.why-step-teal .why-icon{background:linear-gradient(135deg,var(--teal-600),var(--teal-900));}
.why-step-coral .why-icon{background:linear-gradient(135deg,var(--coral-500),var(--coral-600));}
.why-step-gold .why-icon{background:linear-gradient(135deg,var(--gold-500),#c8891f);}
.why-step h4{margin:0 0 6px;font-size:16.5px;color:#fff;}
.why-step p{margin:0;color:rgba(255,255,255,.7);font-size:14px;}
.why-arrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:64px;margin-top:8px;color:var(--gold-500);font-size:18px;opacity:.75;animation:whyArrowNudge 1.8s ease-in-out infinite;}
.why-steps.reveal-stagger>.why-arrow{opacity:.75;transform:none;transition:none;}

/* ---- FAQ Accordion ---- */
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden;transition:box-shadow .25s ease;}
.faq-item:hover{box-shadow:0 12px 26px rgba(11,61,58,.1);}
.faq-question{width:100%;background:none;border:none;text-align:left;padding:18px 22px;font-family:var(--font-body);font-weight:600;font-size:15.5px;color:var(--teal-900);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-question i{transition:transform .2s;color:var(--coral-500);flex-shrink:0;}
.faq-item.open .faq-question i{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-answer p{padding:0 22px 18px;margin:0;color:var(--gray-500);}
.faq-item.open .faq-answer{max-height:400px;}

/* ---- Testimonials ---- */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.testimonial-card{background:#fff;padding:24px;border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease;}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(11,61,58,.14);}
.testimonial-card .rating{margin-bottom:10px;display:block;}
.testimonial-name{font-weight:700;margin-top:14px;color:var(--teal-900);}

/* ---- Testimonials slider (same pattern as Featured Tour Packages) ---- */
.tsm-slider-wrap{position:relative;}
.tsm-slider{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:none;}
.tsm-slider::-webkit-scrollbar{display:none;}
.tsm-slider .testimonial-card{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;}
.tsm-slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--shadow);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--teal-700);font-size:15px;z-index:2;transition:background .2s ease,color .2s ease;}
.tsm-slider-btn:hover{background:var(--coral-500);color:#fff;}
.tsm-slider-btn.prev{left:-20px;}
.tsm-slider-btn.next{right:-20px;}

/* ---- Listing pages / filters ---- */
.listing-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start;}
.filters-panel{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;}
.filters-panel h4{font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin-top:18px;}
.filters-panel h4:first-child{margin-top:0;}
.filters-panel label{display:flex;align-items:center;gap:8px;font-size:14px;margin:8px 0;}
.listing-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

/* ---- Detail pages ---- */
.detail-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin:20px 0;}
.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;border-radius:var(--radius);overflow:hidden;height:420px;}
.detail-gallery img{width:100%;height:100%;object-fit:cover;}
.detail-gallery a:first-child{grid-row:1/3;}
.detail-layout{display:grid;grid-template-columns:1fr 340px;gap:32px;margin-top:30px;align-items:start;}
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--gray-200);margin-bottom:22px;flex-wrap:wrap;}
.tab-btn{padding:10px 18px;border:none;background:none;font-weight:600;cursor:pointer;color:var(--gray-500);border-bottom:2px solid transparent;margin-bottom:-2px;}
.tab-btn.active{color:var(--coral-500);border-color:var(--coral-500);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.itinerary-day{border-left:2px solid var(--teal-100);padding:0 0 20px 20px;position:relative;}
.itinerary-day::before{content:'';position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--coral-500);}
.inclusion-list,.exclusion-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.inclusion-list li{color:var(--teal-700);}
.exclusion-list li{color:var(--gray-500);}
.review-item{border-bottom:1px solid var(--gray-200);padding:16px 0;}
.review-item:last-child{border-bottom:none;}

.booking-sidebar{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;position:sticky;top:100px;}
.booking-sidebar .price{font-size:24px;}
.booking-sidebar label{font-size:12px;font-weight:700;color:var(--gray-500);text-transform:uppercase;display:block;margin:14px 0 6px;}
.booking-sidebar input,.booking-sidebar select{width:100%;border:1.5px solid var(--gray-200);border-radius:8px;padding:10px 12px;}
.amenity-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.amenity-list li{list-style:none;color:var(--teal-700);}

/* ---- Property detail page - hero image slider + caption ---- */
.property-hero-slider{position:relative;height:520px;overflow:hidden;background:var(--teal-900);}
.gallery-slider-wrap{position:absolute;inset:0;}
.gallery-slider{height:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.gallery-slider::-webkit-scrollbar{display:none;}
.gallery-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;}
.gallery-slide img{width:100%;height:100%;object-fit:cover;}
.gallery-slider-btn{position:absolute;top:45%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 6px 18px rgba(0,0,0,.25);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--teal-900);font-size:16px;z-index:4;transition:background .2s ease,color .2s ease;}
.gallery-slider-btn:hover{background:var(--coral-500);color:#fff;}
.gallery-slider-btn.prev{left:24px;}
.gallery-slider-btn.next{right:24px;}
.gallery-slide-count{position:absolute;bottom:24px;right:24px;z-index:4;background:rgba(6,32,29,.6);backdrop-filter:blur(4px);color:#fff;padding:6px 16px;border-radius:999px;font-size:13px;font-weight:600;}
.property-hero-caption{position:absolute;left:0;right:0;bottom:0;z-index:3;background:linear-gradient(to top,rgba(5,20,18,.92) 0%,rgba(5,20,18,.55) 55%,transparent 100%);padding:60px 0 32px;pointer-events:none;}
.property-hero-caption a{pointer-events:auto;}
.property-breadcrumb{font-size:12.5px;color:rgba(255,255,255,.7);margin-bottom:14px;}
.property-breadcrumb a{color:rgba(255,255,255,.85);}
.property-breadcrumb a:hover{color:var(--gold-500);}
.stay-type-badge-lg{display:inline-block;background:var(--coral-500);color:#fff;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:12px;}
.property-hero-caption h1{color:#fff;font-size:38px;margin:0 0 12px;text-shadow:0 3px 14px rgba(0,0,0,.5);}
.property-hero-meta{display:flex;flex-wrap:wrap;gap:22px;}
.property-hero-meta span{color:rgba(255,255,255,.9);font-size:14.5px;}
.property-hero-meta i{color:var(--gold-500);margin-right:6px;}

/* ---- Elegant tabs ---- */
.elegant-tabs{gap:4px;}
.elegant-tabs .tab-btn{display:flex;align-items:center;gap:8px;border-radius:10px 10px 0 0;}
.elegant-tabs .tab-btn i{font-size:13px;}
.panel-heading{font-size:19px;margin-bottom:14px;}
.panel-heading-spaced{margin-top:32px;}
.overview-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 6px;}
.fact-item{background:var(--cream);border-radius:14px;padding:18px 14px;text-align:center;transition:transform .25s ease,box-shadow .25s ease;}
.fact-item:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.fact-item i{font-size:20px;color:var(--coral-500);margin-bottom:8px;display:block;}
.fact-item .fact-value{display:block;font-family:var(--font-head);font-weight:600;font-size:16px;color:var(--teal-900);}
.fact-item .fact-label{display:block;font-family:'Montserrat',sans-serif;font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;}
.panel-text{color:var(--gray-500);line-height:1.7;}
.highlights-heading{font-weight:700;color:var(--teal-900);font-size:16.5px;margin:22px 0 12px;}
.highlights-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;list-style:none;padding:0;margin:0 0 18px;}
.highlights-grid li{color:var(--gray-500);font-size:14.5px;padding:9px 0;border-bottom:1px dashed var(--gray-200);}
.panel-location-line{display:flex;align-items:center;gap:8px;color:var(--gray-500);margin-bottom:16px;}
.panel-location-line i{color:var(--coral-500);}
.location-map-embed{border-radius:14px;}

/* ---- Amenity chips ---- */
.amenity-chip-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;}
.amenity-chip-list li{display:flex;align-items:center;gap:8px;background:var(--teal-100);color:var(--teal-700);font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:999px;}
.amenity-chip-list li i{color:var(--coral-500);}
.amenity-chip-list-full li{background:#fff;border:1.5px solid var(--gray-200);color:var(--teal-900);}

/* ---- Room cards ---- */
.room-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:20px;margin-bottom:14px;transition:box-shadow .25s ease,border-color .25s ease;}
.room-card-link{text-decoration:none;color:inherit;}
.room-card-thumb{flex-shrink:0;width:110px;height:90px;border-radius:10px;overflow:hidden;}
.room-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.room-card-link:hover .room-card-thumb img{transform:scale(1.06);}
.room-card-view-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--coral-500);margin-top:6px;}
.room-card:hover{box-shadow:var(--shadow);border-color:transparent;}
.room-card-main h4{font-size:16.5px;margin-bottom:6px;}
.room-card-guests{font-size:13px;color:var(--gray-500);margin-bottom:8px;}

/* ---- Room detail page - embedded photo slider + title below it ---- */
.gallery-slider-wrap.room-detail-slider-wrap{position:relative;height:420px;border-radius:16px;overflow:hidden;margin-bottom:22px;inset:auto;}
.room-detail-title{margin-bottom:8px;line-height:1.25;}
.room-detail-guests{margin-bottom:24px;font-size:14.5px;padding-bottom:20px;border-bottom:1px solid var(--gray-200);}
.room-detail-slider-wrap ~ .panel-heading{margin-top:0;}
.room-photo-strip{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px;padding-bottom:2px;}
.room-photo-strip img{flex:0 0 100px;height:76px;object-fit:cover;border-radius:8px;transition:transform .3s ease;}
.room-photo-strip img:hover{transform:scale(1.04);}
.room-card-guests i{color:var(--coral-500);margin-right:4px;}
.room-card-main p{color:var(--gray-500);font-size:14px;margin:0;}
.room-card-price{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;}
.room-card-book-btn{margin-top:10px;font-size:12.5px;padding:8px 16px;white-space:nowrap;}
.room-card-price .price-label{display:block;font-family:'Montserrat',sans-serif;font-size:10px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;font-weight:600;}
.room-card-price .price{font-family:var(--font-head);font-size:20px;color:var(--coral-500);font-weight:700;}

/* ---- Review cards ---- */
.review-card{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--gray-200);}
.review-card:last-child{border-bottom:none;}
.review-card-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--teal-600),var(--teal-900));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:17px;}
.review-card-top{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.review-card-stars i{color:var(--gold-500);font-size:12px;}
.review-card-body p{color:var(--gray-500);margin:0;font-size:14.5px;line-height:1.6;}

/* ---- Package itinerary timeline cards ---- */
.itinerary-card{display:flex;gap:18px;background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:20px;margin-bottom:14px;transition:box-shadow .25s ease,border-color .25s ease;}
.itinerary-card:hover{box-shadow:var(--shadow);border-color:transparent;}
.itinerary-day-badge{flex-shrink:0;width:64px;height:64px;border-radius:12px;background:linear-gradient(135deg,var(--teal-600),var(--teal-900));color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--font-head);font-weight:600;font-size:13px;line-height:1.2;}
.itinerary-card-body h4{font-size:16.5px;margin-bottom:6px;}
.itinerary-card-body p{color:var(--gray-500);font-size:14px;margin:0;line-height:1.6;}

/* ---- Rich-text package overview content (from the admin editor) ---- */
.package-overview-content p{margin:0 0 14px;line-height:1.7;color:var(--gray-500);}
.package-overview-content p:last-child{margin-bottom:0;}
.package-overview-content ul,.package-overview-content ol{margin:0 0 14px;padding-left:22px;color:var(--gray-500);line-height:1.7;}
.package-overview-content li{margin-bottom:4px;}
.package-overview-content strong{color:var(--teal-900);}
.package-overview-content a{color:var(--coral-500);text-decoration:underline;}

/* ---- Elegant booking sidebar ---- */
.elegant-sidebar{padding:26px;}
.elegant-sidebar-price{display:flex;flex-direction:column;margin-bottom:16px;}
.elegant-sidebar-price .price-label{font-family:'Montserrat',sans-serif;font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.6px;font-weight:600;}
.elegant-sidebar-price .price{font-family:var(--font-head);font-size:30px;color:var(--teal-900);font-weight:800;}
.elegant-sidebar-btn{font-size:15px;padding:14px;}
.elegant-sidebar-trust{margin-top:18px;padding-top:18px;border-top:1px dashed var(--gray-200);display:flex;flex-direction:column;gap:10px;}
.elegant-sidebar-trust div{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--gray-500);line-height:1.4;}
.elegant-sidebar-trust i{color:var(--coral-500);margin-top:2px;flex-shrink:0;}
.elegant-sidebar-amenities{margin-top:18px;padding-top:18px;border-top:1px dashed var(--gray-200);}
.elegant-sidebar-amenities h5{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--teal-900);margin-bottom:10px;}
.elegant-sidebar-amenities ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.elegant-sidebar-amenities li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gray-500);}
.elegant-sidebar-amenities li i{color:var(--coral-500);width:14px;}

/* ---- Blog ---- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card .card-body span{font-size:12px;color:var(--gray-500);}

/* ---- Contact ---- */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.contact-form input,.contact-form textarea{width:100%;border:1.5px solid var(--gray-200);border-radius:8px;padding:12px;margin-bottom:14px;font-family:var(--font-body);transition:border-color .2s ease;}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--teal-600);outline:none;}
.contact-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:0;}
.contact-form-card{max-width:640px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:44px;}
.contact-form-card h2{font-size:26px;margin-bottom:8px;}
.contact-form-card .panel-text{margin-bottom:24px;}
.contact-banner-bg{background-image:url('../images/contact-banner-forest.jpg');}
.blog-banner-bg{background-image:url('../images/blog-banner-forest.jpg');}
.booking-page-banner-bg{background-image:url('../images/booking-banner-forest.jpg');}

/* ---- Dedicated booking page ---- */
.booking-page-layout{align-items:start;}
.booking-page-form-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;}
.booking-page-form label{display:block;font-size:12px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 6px;}
.booking-page-form input,.booking-page-form textarea,.booking-page-form select{width:100%;border:1.5px solid var(--gray-200);border-radius:8px;padding:12px 14px;font-family:var(--font-body);font-size:14.5px;color:var(--ink);transition:border-color .2s ease;background:#fff;}
.booking-page-form input:focus,.booking-page-form textarea:focus,.booking-page-form select:focus{border-color:var(--teal-600);outline:none;}
.booking-page-form textarea{resize:vertical;min-height:90px;}
.booking-page-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.booking-page-form-card h2{font-size:24px;margin-bottom:6px;}
.booking-page-form-card .panel-text{margin-bottom:22px;}
.booking-page-submit{margin-top:18px;font-size:15px;padding:14px;}
.booking-page-summary-img{width:100%;height:170px;object-fit:cover;border-radius:12px;margin-bottom:16px;}
.booking-page-summary{text-align:left;}
.booking-page-summary h3{font-size:19px;margin-bottom:8px;}
.booking-page-summary-meta{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gray-500);margin-bottom:16px;}
.booking-page-summary-meta i{color:var(--coral-500);}
.booking-page-back-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding-top:18px;border-top:1px dashed var(--gray-200);font-size:13.5px;color:var(--teal-700);font-weight:600;}
.booking-page-back-link:hover{color:var(--coral-500);}
.contact-map-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
.contact-map-col{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);min-height:420px;}
.contact-map-embed-inline{display:block;filter:grayscale(15%);}
.contact-form-card-inline{max-width:none;margin:0;}

/* ---- Footer ---- */
.site-footer{position:relative;overflow:hidden;background:#0a3330 linear-gradient(160deg,var(--teal-900) 0%,#0a3833 60%,#082e2b 100%);color:rgba(255,255,255,.8);margin-top:0;padding:44px 0 0;}
.footer-bg{position:absolute;inset:0;background-image:url('../images/cta-forest.jpg');background-size:cover;background-position:center;z-index:0;}
.footer-fog{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;}
.site-footer::before{content:'';position:absolute;inset:0;z-index:1;background:rgba(5,20,18,.72);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-top:1px solid rgba(255,255,255,.12);}
.footer-blob{position:absolute;border-radius:50%;filter:blur(75px);pointer-events:none;animation:floatBlob 12s ease-in-out infinite;z-index:0;}
.footer-blob-1{width:260px;height:260px;background:var(--gold-500);opacity:.10;top:-70px;left:-50px;}
.footer-blob-2{width:220px;height:220px;background:var(--coral-500);opacity:.09;bottom:-60px;right:-40px;animation-delay:-6s;}
.footer-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding:20px 20px 50px;max-width:1180px;margin:0 auto;}
.footer-col{min-width:0;}
.footer-col h4{color:#fff;font-size:15px;position:relative;padding-bottom:10px;margin-bottom:4px;}
.footer-col h4::after{content:'';position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--gold-500);}
.footer-col a{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.75);margin:9px 0;font-size:14px;transition:color .2s ease,transform .2s ease;width:fit-content;max-width:100%;}
.footer-col a:hover{color:var(--gold-500);transform:translateX(3px);}
.footer-col a i.fa-angle-right{font-size:11px;color:var(--gold-500);opacity:.8;}
.footer-col .logo{color:#fff;}
.footer-logo{display:inline-flex;margin-bottom:4px;}
.footer-logo img{height:80px;}
.footer-col-brand p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.65);}
.social-icons{display:flex;gap:12px;margin-top:16px;}
.social-icons a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;margin:0;transition:background .25s ease,transform .25s ease;}
.social-icons a:hover{background:var(--coral-500);transform:translateY(-3px);color:#fff;}
.footer-contact-line{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:rgba(255,255,255,.75);margin:10px 0;line-height:1.4;overflow-wrap:anywhere;min-width:0;}
.footer-contact-line i{color:var(--gold-500);width:16px;margin-top:2px;flex-shrink:0;}
a.footer-contact-line:hover{color:var(--gold-500);}
.footer-whatsapp-btn{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff!important;font-weight:600;font-size:13px;padding:10px 16px;border-radius:999px;margin-top:14px;transition:background .2s ease,transform .2s ease;}
.footer-whatsapp-btn:hover{background:#1ebc59;transform:translateY(-2px);color:#fff!important;}
.newsletter-form{display:flex;gap:8px;margin:14px 0;}
.newsletter-form input{flex:1;border-radius:8px;border:none;padding:10px 12px;}
.newsletter-form button{background:var(--coral-500);border:none;color:#fff;border-radius:8px;padding:0 14px;cursor:pointer;transition:background .2s ease;}
.newsletter-form button:hover{background:var(--coral-600);}
.payment-icons{display:flex;gap:12px;font-size:22px;color:rgba(255,255,255,.6);}
.footer-map-embed{border-radius:10px;overflow:hidden;filter:grayscale(20%) brightness(.9);margin-bottom:10px;}
.footer-map-embed iframe{display:block;}
.footer-map-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold-500);font-size:13px;font-weight:600;}
.footer-map-link:hover{color:#fff;}
.footer-bottom{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13px;text-align:center;}

.back-to-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;background:var(--coral-500);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,background .2s ease;z-index:60;}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--coral-600);}

/* ---- Modal ---- */
.modal-overlay{position:fixed;inset:0;background:rgba(11,61,58,.55);display:none;align-items:center;justify-content:center;z-index:100;padding:20px;}
.modal-overlay.active{display:flex;}
.modal-box{background:#fff;border-radius:var(--radius);padding:28px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;position:relative;}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:18px;cursor:pointer;}
.modal-subtitle{color:var(--gray-500);font-size:14px;margin-top:-8px;}
#enquiryForm label{font-size:12px;font-weight:700;color:var(--gray-500);text-transform:uppercase;display:block;margin:12px 0 4px;}
#enquiryForm input,#enquiryForm textarea{width:100%;border:1.5px solid var(--gray-200);border-radius:8px;padding:10px 12px;font-family:var(--font-body);}
#enquiryForm .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-error{color:var(--coral-600);font-size:13px;min-height:18px;margin-top:8px;}

@media(prefers-reduced-motion:reduce){
  .hero-eyebrow,.hero-title,.hero-script,.hero-desc,.hero-features,.search-bar,.reveal,.reveal-stagger>*{animation:none!important;opacity:1!important;transform:none!important;transition:none!important;}
  .hero-blob{animation:none;}
  .hero-bg{animation:none!important;transform:none!important;}
  .hero-bird{display:none;}
  .why-blob{animation:none;}
  .why-arrow{animation:none!important;opacity:.75!important;transform:none!important;}
  .stats-section-v2::before,.stats-section-v2::after{animation:none;}
  .footer-blob{animation:none;}
  .about-contact-strip-blob{animation:none;}
  .about-mountain-sketch path{animation:none!important;stroke-dashoffset:0!important;}
  .about-mountain-sketch .mountain-back{fill-opacity:.06!important;}
  .about-mountain-sketch .mountain-front{fill-opacity:.12!important;}
  .about-mountain-sketch .mountain-hatch{opacity:1!important;}
  .back-to-top{transition:none;}
  .raindrop{animation:none!important;}
  .fog-bank{animation:none!important;}
  .lb-fog-bank{animation:none!important;}
  .cta-rain{display:none;}
}

@media(max-width:960px){
  .card-grid,.testimonial-grid,.listing-grid,.blog-grid{grid-template-columns:repeat(2,1fr);}
  .why-steps{flex-wrap:wrap;justify-content:center;gap:20px 10px;}
  .why-step{flex:0 1 45%;}
  .why-arrow{display:none;}
  .why-icon-halo{width:88px;height:88px;}
  .why-icon{width:66px;height:66px;font-size:24px;}
  .section-head h2{font-size:34px;}
  .footer-inner{grid-template-columns:1fr;padding:16px 20px 40px;}
  .property-split-card{min-height:200px;}
  .ps-content{padding:20px;}
  .ps-watermark{font-size:80px;}
  .destination-grid-lg{grid-template-columns:repeat(2,1fr);}
  .destination-card-lg{height:280px;}
  .destination-card-lg .dc-name{font-size:50px;}
  .destination-grid-featured{grid-template-columns:repeat(2,1fr);}
  .destination-grid-featured > *{grid-column:span 1!important;height:280px!important;}
  .destination-grid-featured > *:nth-child(1) .dc-name,
  .destination-grid-featured > *:nth-child(2) .dc-name{font-size:50px;}
  .destination-grid-featured > *:nth-child(2) .dc-tagline{font-size:12px;letter-spacing:2px;}
  .destination-grid-featured > *:nth-child(2) .dc-content{left:26px;right:26px;bottom:24px;}
  .search-bar{grid-template-columns:1fr 1fr;}
  .pkg-slider .card{flex-basis:calc((100% - 22px)/2);}
  .pkg-slider .card-img{height:300px;}
  .pkg-slider-btn.prev{left:-6px;}
  .pkg-slider-btn.next{right:-6px;}
  .tsm-slider .testimonial-card{flex-basis:calc((100% - 22px)/2);}
  .tsm-slider-btn.prev{left:-6px;}
  .tsm-slider-btn.next{right:-6px;}
  .stats-grid-v2{grid-template-columns:repeat(2,1fr);}
  .listing-layout,.detail-layout,.contact-layout{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;padding:12px 20px 36px;}
  .detail-gallery{grid-template-columns:1fr 1fr;height:auto;}
  .detail-gallery a:first-child{grid-row:auto;grid-column:1/3;height:220px;}
  .property-hero-slider{height:400px;}
  .property-hero-caption h1{font-size:30px;}
  .property-hero-meta{gap:14px;}
  .room-card{flex-direction:column;}
  .room-card-thumb{width:100%;height:160px;}
  .gallery-slider-wrap.room-detail-slider-wrap{height:260px;}
  .highlights-grid{grid-template-columns:1fr;}
  .itinerary-card{flex-direction:column;}
  .itinerary-day-badge{width:100%;height:auto;padding:8px;flex-direction:row;gap:6px;}
  .overview-facts{grid-template-columns:1fr 1fr;}
  .room-card-price{text-align:left;align-items:flex-start;}
  .hero-title{font-size:52px;}
  .hero-script{font-size:12.5px;}

}
@media(max-width:640px){
  .main-nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 20px;display:none;box-shadow:var(--shadow);}
  .main-nav.open{display:flex;}
  .nav-toggle{display:block;}
  .nav-dropdown{width:100%;}
  .dropdown-panel{position:static;box-shadow:none;background:var(--teal-100);margin-top:8px;width:100%;}
  .section-head{flex-direction:column;align-items:flex-start;gap:14px;}
  .section-head h2{font-size:28px;padding-left:18px;}
  .section-head h2::before{top:4px;bottom:6px;width:4px;}
  .section-head p{margin-left:18px;font-size:14px;}
  .cta-section{padding:50px 0;}
  .property-split-grid{grid-template-columns:1fr;}
  .property-split-card{flex-direction:column;}
  .ps-img{flex-basis:200px;}
  .ps-notch{left:50%;top:0;transform:translate(-50%,-100%) rotate(90deg);}

  .cta-actions{flex-direction:column;align-items:stretch;}
  .card-grid,.testimonial-grid,.listing-grid,.blog-grid{grid-template-columns:1fr;}
  .why-step{flex:1 1 100%;}
  .why-icon-halo{width:80px;height:80px;}
  .why-icon{width:60px;height:60px;font-size:22px;}
  .pkg-slider .card{flex-basis:82vw;}
  .pkg-slider .card-img{height:280px;}
  .pkg-slider-btn{display:none;}
  .tsm-slider .testimonial-card{flex-basis:86vw;}
  .tsm-slider-btn{display:none;}
  .dest-hero{min-height:320px;}
  .dest-hero h1{font-size:54px;}
  .dest-hero-script{font-size:12px;}
  .destination-grid-lg{grid-template-columns:1fr;}
  .destination-card-lg{height:260px;}
  .destination-card-lg .dc-name{font-size:48px;}
  .destination-card-lg .dc-tagline{font-size:11px;}
  .destination-grid-featured{grid-template-columns:1fr;}
  .destination-grid-featured > *{grid-column:span 1!important;height:260px!important;}
  .destination-grid-featured > *:nth-child(1) .dc-name,
  .destination-grid-featured > *:nth-child(2) .dc-name{font-size:48px;}
  .destination-grid-featured > *:nth-child(2) .dc-tagline{font-size:11px;letter-spacing:2px;}
  .destination-grid-featured > *:nth-child(2) .dc-content{left:26px;right:26px;bottom:24px;}
  .search-bar{grid-template-columns:1fr;margin-top:-60px;}
  .stats-grid-v2{grid-template-columns:1fr 1fr;}
  .hero{min-height:560px;align-items:center;}
  .hero-inner{padding:70px 20px 50px;}
  .hero-title{font-size:40px;}
  .hero-script{font-size:11px;}
  .hero-features{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .hero-feature{max-width:none;}

  .hero-bird-2,.hero-bird-4{display:none;}
  .hero-bg{animation-duration:34s;}
}

/* ---- Tour Packages listing banner ---- */
.listing-banner{position:relative;overflow:hidden;background:#0a3330 linear-gradient(155deg,#082e2b,#0b3d3a);padding:64px 0 56px;text-align:center;color:#fff;}
.listing-banner-bg{position:absolute;inset:0;background-image:url('../images/listing-banner-forest.jpg');background-size:cover;background-position:center;z-index:0;}
.destinations-banner-bg{background-image:url('../images/destinations-banner-forest.jpg');}
.properties-banner-bg{background-image:url('../images/properties-banner-forest.jpg');}
.about-banner-bg{background-image:url('../images/about-banner-forest.jpg');}
.about-banner{min-height:600px;display:flex;align-items:center;padding:80px 0;}
.about-hero-inner{text-align:left;max-width:720px;margin:0;}
.about-hero-inner .listing-banner-eyebrow{justify-content:flex-start;margin-bottom:0;}
.about-hero-divider{display:block;width:60px;height:1px;background:rgba(255,255,255,.35);margin:16px 0 20px;}
.about-hero-inner h1{font-size:76px;line-height:1.04;margin-bottom:22px;text-align:left;}
.about-hero-inner p{font-size:16.5px;max-width:480px;}

/* ---- About Us page ---- */
.about-story-section{background:#fff;}
.about-story-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.about-story-img{position:relative;min-height:420px;border-radius:20px;display:flex;align-items:center;}
.about-story-img img{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 30px rgba(11,61,58,.25));}
.about-story-img.img-fallback{background:linear-gradient(135deg,var(--teal-700),var(--teal-900));overflow:hidden;box-shadow:var(--shadow);min-height:420px;}
.about-story-img.img-fallback img{display:none;width:100%;height:100%;object-fit:cover;}
.about-story-img.img-fallback img{display:none;}
.about-story-img.img-fallback::after{content:'\f06c';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:70px;color:rgba(255,255,255,.3);}
.about-eyebrow-dark{color:var(--coral-500);}
.about-story-copy h2{font-size:30px;margin:10px 0 18px;}
.about-story-copy .panel-text{margin-bottom:16px;}
.about-story-copy .panel-text:last-child{margin-bottom:0;}

/* ---- About page - Get In Touch section ---- */
.about-contact-section{background:var(--cream);}
.about-contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:36px;}
.about-contact-details{display:flex;flex-direction:column;gap:16px;}
.about-contact-line{display:flex;align-items:flex-start;gap:14px;font-size:15px;color:var(--ink);}
.about-contact-line i{width:36px;height:36px;border-radius:50%;background:var(--teal-100);color:var(--coral-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;}
a.about-contact-line:hover{color:var(--coral-500);}
.about-social-panel{border-left:1px dashed var(--gray-200);padding-left:32px;display:flex;flex-direction:column;justify-content:center;}
.about-social-panel h4{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--teal-900);margin-bottom:14px;}
.about-social-icons a{background:var(--teal-100);color:var(--teal-700);}
.about-social-icons a:hover{background:var(--coral-500);color:#fff;}

/* ---- About page v2 - richer creative layout ---- */
.about-hero-inner h1 em{color:var(--gold-500);font-style:italic;}
.about-eyebrow-center{justify-content:center;}
.about-section-head-center{justify-content:center;text-align:center;}
.about-section-head-center > div{max-width:640px;}
.about-section-head-center h2{padding-left:0;}
.about-section-head-center h2::before{display:none;}
.about-section-head-center p{margin-left:0;}

.about-story-quote-section{background:#fff;text-align:center;position:relative;overflow:hidden;padding-bottom:100px;}
.about-mountain-sketch{position:absolute;left:0;right:0;bottom:0;width:100%;height:260px;z-index:0;pointer-events:none;}
.about-mountain-sketch .mountain-back{stroke:var(--teal-600);stroke-opacity:.35;stroke-width:2.5;fill:var(--teal-600);fill-opacity:0;stroke-dasharray:1768;stroke-dashoffset:1768;}
.about-mountain-sketch .mountain-front{stroke:var(--teal-700);stroke-opacity:.45;stroke-width:2.5;fill:var(--teal-700);fill-opacity:0;stroke-dasharray:1681;stroke-dashoffset:1681;}
.about-mountain-sketch .mountain-hatch{opacity:0;}
.about-mountain-sketch .mountain-hatch path{stroke:var(--teal-600);stroke-opacity:.3;stroke-width:1.3;}
.about-story-quote-section.reveal.in-view .about-mountain-sketch .mountain-back{animation:mtnDraw 2.4s ease forwards,mtnFillBack 1.3s ease 1.9s forwards;}
.about-story-quote-section.reveal.in-view .about-mountain-sketch .mountain-front{animation:mtnDraw 2.2s ease .3s forwards,mtnFillFront 1.3s ease 2.2s forwards;}
.about-story-quote-section.reveal.in-view .about-mountain-sketch .mountain-hatch{animation:mtnHatchFade .8s ease 2.6s forwards;}
@keyframes mtnDraw{to{stroke-dashoffset:0;}}
@keyframes mtnFillBack{to{fill-opacity:.06;}}
@keyframes mtnFillFront{to{fill-opacity:.12;}}
@keyframes mtnHatchFade{to{opacity:1;}}
.about-story-quote-inner{max-width:680px;margin:0 auto;position:relative;z-index:1;}
.about-quote-mark{font-size:56px;color:var(--teal-100);margin-bottom:6px;display:block;}
.about-story-quote-inner h2{font-size:32px;}
.about-story-quote-inner .panel-text{color:var(--gray-500);}

.about-pullquote-wrap{position:relative;margin:22px 0;padding:4px 0;}
.about-pullquote-highlight{position:absolute;left:-16px;top:-8px;right:-16px;bottom:-8px;background:var(--teal-100);border-radius:10px;z-index:0;}
.about-pullquote{position:relative;z-index:1;margin:0;padding:8px 20px;font-family:var(--font-head);font-style:italic;font-weight:500;font-size:19px;color:var(--teal-900);}

.about-stats-strip{background:linear-gradient(150deg,var(--teal-900) 0%,#0a4844 45%,var(--teal-700) 75%,#082e2b 100%);padding:44px 0;}
.about-stats-row{display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;text-align:center;}
.about-stat{display:flex;flex-direction:column;align-items:center;}
.about-stat-icon{width:44px;height:44px;border-radius:50%;background:rgba(232,172,43,.15);color:var(--gold-500);display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:10px;}
.about-stat-num{display:block;font-family:var(--font-head);font-size:38px;font-weight:600;color:var(--gold-500);}
.about-stat label{display:block;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12.5px;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:1px;margin-top:4px;}

/* ---- Scroll hint on hero ---- */
.about-scroll-hint{position:relative;margin-top:40px;display:flex;flex-direction:row;align-items:center;gap:8px;color:rgba(255,255,255,.8);font-size:11px;text-transform:uppercase;letter-spacing:1px;width:fit-content;animation:aboutScrollBob 2s ease-in-out infinite;}
.about-scroll-hint i{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:13px;}
.about-scroll-hint i{font-size:16px;}
@keyframes aboutScrollBob{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

/* ---- Our Story - text + tilted torn-paper photo ---- */
.about-story-centered{position:relative;background:#fff url('../images/about-story-bg.jpg') center/cover no-repeat;text-align:center;overflow:hidden;padding:60px 0;min-height:620px;display:flex;align-items:center;}
.about-story-centered-inner{position:relative;z-index:1;max-width:680px;width:100%;margin:0 auto;}
.about-story-top-icon{display:block;font-size:26px;color:var(--teal-600);margin-bottom:16px;}
.about-story-centered h2{font-size:36px;line-height:1.25;margin:14px 0 18px;}
.about-story-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:28px;}
.about-story-divider span{width:50px;height:1px;background:var(--gray-200);}
.about-story-divider i{color:var(--teal-600);font-size:13px;}
.about-story-two-col-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.about-leaf-deco{font-size:26px;color:var(--teal-100);margin-bottom:6px;display:block;}
.about-story-two-col-copy h2{font-size:30px;line-height:1.25;}
.about-tilted-photo{position:relative;}
.about-tilted-photo-frame{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .3s ease;}
.about-tilted-photo:hover .about-tilted-photo-frame{box-shadow:0 22px 44px rgba(11,61,58,.2);}
.about-tilted-photo-frame img{width:100%;height:340px;object-fit:cover;display:block;}
.about-tilted-photo-frame.img-fallback img{display:none;}
.about-tilted-photo-frame.img-fallback{background:linear-gradient(135deg,var(--teal-600),var(--teal-900));min-height:340px;}
.about-tilted-photo-frame.img-fallback::after{content:'\f6fc';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;inset:14px 14px 44px;display:flex;align-items:center;justify-content:center;font-size:60px;color:rgba(255,255,255,.35);}
.about-photo-tag{position:absolute;bottom:16px;right:16px;background:rgba(11,61,58,.85);color:#fff;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;letter-spacing:.4px;padding:6px 14px;border-radius:6px;z-index:2;}

/* ---- Our Mission photo - subtle organic torn edge ---- */

/* ---- Values - light circle icon variant ---- */
.about-values-grid-circles{align-items:start;}
.about-value-card-plain{background:none;box-shadow:none;padding:20px 24px;border-right:1px solid var(--gray-200);border-radius:0;}
.about-value-card-plain:last-child{border-right:none;}
.about-value-card-plain:hover{transform:none;box-shadow:none;}
.about-value-icon-circle{background:var(--teal-100);color:var(--teal-700);border-radius:50%;}
.about-value-card-plain:hover .about-value-icon-circle{transform:scale(1.12);}

/* ---- Closing photo banner ---- */
.about-closing-banner{position:relative;min-height:420px;display:flex;align-items:center;overflow:hidden;background:#0a3330 linear-gradient(155deg,#082e2b,#0b3d3a);}
.about-closing-bg{position:absolute;inset:0;background-image:url('../images/about-closing.jpg');background-size:cover;background-position:center;z-index:0;}
.about-closing-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,32,29,.75) 0%,rgba(6,38,35,.3) 55%,transparent 85%);z-index:1;}
.about-closing-inner{position:relative;z-index:4;padding:70px 20px;}
.about-closing-script{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:52px;color:#fff;line-height:1.15;margin:0;text-shadow:0 4px 16px rgba(0,0,0,.5);}

.about-values-section-v2{background:var(--cream);}
.about-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.about-value-card{background:#fff;border-radius:16px;padding:30px 24px;text-align:center;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease;}
.about-value-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(11,61,58,.14);}
.about-value-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--teal-600),var(--teal-900));color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 16px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.about-value-card:hover .about-value-icon{transform:scale(1.1) rotate(-6deg);}
.about-value-card h4{font-size:16.5px;margin-bottom:8px;}
.about-value-card p{color:var(--gray-500);font-size:14px;margin:0;}

.about-contact-strip{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--teal-900) 0%,#0a4844 45%,var(--teal-700) 75%,#082e2b 100%);padding:64px 0;}
.about-contact-strip-blob{position:absolute;border-radius:50%;filter:blur(75px);pointer-events:none;animation:floatBlob 11s ease-in-out infinite;}
.about-contact-strip-blob-1{width:260px;height:260px;background:var(--gold-500);opacity:.18;top:-60px;left:-50px;}
.about-contact-strip-blob-2{width:220px;height:220px;background:var(--coral-500);opacity:.15;bottom:-60px;right:-40px;animation-delay:-5s;}
.about-contact-heading{color:#fff;}
.about-contact-sub{color:rgba(255,255,255,.75)!important;}
.about-contact-cards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.about-contact-card{background:rgba(255,255,255,.07);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:26px 20px;text-align:center;transition:transform .3s ease,background .3s ease;}
.about-contact-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.11);}
.about-contact-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--gold-500),#c8891f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;margin:0 auto 14px;}
.about-contact-card h5{color:#fff;font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;}
.about-contact-card a,.about-contact-card span{display:block;color:rgba(255,255,255,.8);font-size:13.5px;margin:4px 0;}
.about-contact-card a:hover{color:var(--gold-500);}
.about-contact-social{display:flex;justify-content:center;gap:10px;margin-top:4px;}
.about-contact-social a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;margin:0;}
.about-contact-social a:hover{background:var(--gold-500);color:var(--teal-900);}

.about-map-section{line-height:0;}
.about-map-embed{display:block;filter:grayscale(15%);}
.listing-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,32,29,.72) 0%,rgba(6,32,29,.5) 45%,rgba(6,32,29,.78) 100%);z-index:1;}
.listing-banner-fog{position:absolute;inset:0;overflow:hidden;z-index:2;pointer-events:none;}
.lb-fog-bank{position:absolute;border-radius:50%;background:rgba(255,255,255,.6);filter:blur(40px);animation-name:fogDrift;animation-timing-function:linear;animation-iteration-count:infinite;}
.lb-fog-bank-1{width:65%;height:130%;top:-30%;left:-35%;opacity:.16;animation-duration:46s;}
.lb-fog-bank-2{width:75%;height:150%;top:-20%;left:-45%;opacity:.11;animation-duration:60s;animation-delay:-16s;}
.lb-fog-bank-3{width:55%;height:120%;top:-10%;left:-30%;opacity:.18;animation-duration:38s;animation-delay:-8s;}
.listing-banner-inner{position:relative;z-index:3;max-width:640px;margin:0 auto;}
.listing-banner-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold-500);font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;font-size:12.5px;margin-bottom:10px;}
.listing-banner h1{font-family:'Cormorant Garamond',serif;font-style:normal;font-weight:600;font-size:44px;color:#fff;margin:0 0 12px;text-shadow:0 3px 14px rgba(0,0,0,.5);}
.listing-banner p{color:rgba(255,255,255,.85);font-size:15.5px;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.5);}

/* ---- Refined filters panel ---- */
.filters-panel{position:sticky;top:90px;}
.filters-panel h4{display:flex;align-items:center;gap:8px;font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--teal-900);margin-top:22px;}
.filters-panel h4:first-child{margin-top:0;}
.filters-panel h4 i{color:var(--coral-500);font-size:12px;}
.filters-panel select{width:100%;padding:10px 12px;border:1.5px solid var(--gray-200);border-radius:8px;font-family:var(--font-body);font-size:14px;background:#fff;transition:border-color .2s ease;}
.filters-panel select:focus{border-color:var(--teal-600);outline:none;}
.filter-price-row{display:flex;align-items:center;gap:8px;}
.filter-price-row input{width:100%;padding:9px 10px;border:1.5px solid var(--gray-200);border-radius:8px;font-family:var(--font-body);font-size:14px;transition:border-color .2s ease;}
.filter-price-row input:focus{border-color:var(--teal-600);outline:none;}
.filter-price-row span{color:var(--gray-500);}
.filters-panel label{display:flex;align-items:center;gap:8px;font-size:14px;margin:8px 0;padding:4px 6px;border-radius:6px;transition:background .2s ease;cursor:pointer;}
.filters-panel label:hover{background:var(--teal-100);}
.filters-panel input[type="radio"],.filters-panel input[type="checkbox"]{accent-color:var(--coral-500);}
.filter-apply-btn{margin-top:20px;}
.filter-reset-btn{margin-top:8px;text-align:center;}

/* ---- Listing toolbar ---- */
.listing-toolbar{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:14px 20px;}
.listing-count{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--teal-900);}
.listing-count i{color:var(--coral-500);}
.listing-sort-form{display:flex;align-items:center;gap:10px;}
.listing-sort-form label{font-size:13px;color:var(--gray-500);}
.listing-sort-form select{border:1.5px solid var(--gray-200);border-radius:8px;padding:8px 12px;font-family:var(--font-body);font-size:14px;}

/* ---- Elevated tour package cards ---- */
.tour-listing-grid .card-img{height:230px;}
.card-duration{font-size:13px;color:var(--gray-500);display:flex;align-items:center;gap:6px;margin-top:4px;}
.card-duration i{color:var(--coral-500);font-size:12px;}

@media(max-width:960px){
  .listing-banner h1{font-size:36px;}
  .about-hero-inner h1{font-size:46px;}
  .about-banner{min-height:480px;padding:56px 0;}
  .filters-panel{position:static;}
  .about-values-grid{grid-template-columns:1fr;}
  .about-value-card-plain{border-right:none;border-bottom:1px solid var(--gray-200);}
  .about-value-card-plain:last-child{border-bottom:none;}
  .about-story-two-col-layout{grid-template-columns:1fr;gap:32px;}
  .about-tilted-photo{order:-1;}
  .about-corner-leaf{font-size:50px;}
  .about-story-centered h2{font-size:28px;}
  .about-story-centered{min-height:460px;padding:40px 0;}
  .about-closing-script{font-size:40px;}
  .about-contact-cards{grid-template-columns:repeat(2,1fr);}
  .about-stats-row{gap:32px;}
}
@media(max-width:640px){
  .listing-banner{padding:48px 0 40px;}
  .listing-banner h1{font-size:30px;}
  .listing-toolbar{flex-direction:column;align-items:flex-start;gap:12px;}
  .about-story-layout{grid-template-columns:1fr;gap:28px;}
  .about-story-img{min-height:280px;}
  .about-contact-layout{grid-template-columns:1fr;padding:26px;gap:24px;}
  .about-social-panel{border-left:none;border-top:1px dashed var(--gray-200);padding-left:0;padding-top:24px;}
  .contact-form-card{padding:28px 22px;}
  .contact-form .form-grid{grid-template-columns:1fr;}
  .booking-page-form .form-grid{grid-template-columns:1fr;}
  .booking-page-form-card{padding:22px;}
  .contact-map-form-layout{grid-template-columns:1fr;}
  .contact-map-col{min-height:280px;}
  .about-contact-cards{grid-template-columns:1fr;}
  .about-stats-row{flex-direction:column;gap:24px;}
  .about-stat-num{font-size:32px;}
  .about-stat-icon{width:38px;height:38px;font-size:15px;}
  .about-tilted-photo-frame img{height:260px;}
  .about-closing-script{font-size:32px;}
  .about-story-quote-inner h2{font-size:26px;}
  .about-mountain-sketch{height:160px;}
  .about-story-quote-section{padding-bottom:60px;}
  .stay-row{flex-direction:column;}
  .stay-row-img{flex-basis:200px;}
  .stay-row-body{flex-direction:column;padding:18px;}
  .stay-row-side{flex-basis:auto;align-items:stretch;text-align:left;flex-direction:row;flex-wrap:wrap;justify-content:space-between;}
  .stay-score-badge{text-align:left;}
  .stay-row-price{align-items:flex-start;}
  .stay-reserve-btn{width:100%;margin-top:8px;}
}

/* ================= Destination detail page redesign v2 ================= */

/* -- Hero -- */
.dest-hero-v2{min-height:480px;}
.dest-hero-eyebrow-v2{display:inline-flex;align-items:center;gap:12px;color:var(--gold-500);font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;font-size:13px;text-shadow:0 2px 8px rgba(0,0,0,.55);}
.dest-hero-eyebrow-v2 i{font-size:10px;}
.dest-hero-pills{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap;}
.dest-hero-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:600;}
.dest-hero-pill i{color:var(--gold-500);}
.dest-hero-corner-script{position:absolute;top:60px;right:60px;z-index:2;font-family:'Caveat',cursive;font-size:22px;line-height:1.35;color:#fff;text-align:right;opacity:.9;text-shadow:0 2px 10px rgba(0,0,0,.5);}

/* -- About -- */
.dest-about-v2{position:relative;background:#f9f7f2 url('../images/dest-about-bg.jpg') center/cover no-repeat;overflow:hidden;padding:60px 0;min-height:520px;display:flex;align-items:center;}
.dest-about-v2-inner{position:relative;z-index:1;max-width:820px;width:100%;margin:0 auto;text-align:center;}
.dest-about-v2-para{margin-bottom:14px;}
.dest-about-v2-para:last-of-type{margin-bottom:0;}
.dest-about-v2-inner h2{font-size:36px;margin:14px 0 6px;}
.dest-tagline-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--teal-700);}
.dest-tagline-divider i{font-size:5px;color:var(--gold-500);}

/* -- Shared eyebrow pill + section head + pill buttons -- */
.dest-eyebrow-pill{display:inline-flex;align-items:center;gap:8px;color:var(--gold-500);font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;font-size:12px;margin-bottom:10px;}
.dest-eyebrow-pill-dark{color:var(--gold-500);}
.dest-section-head-v2{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:30px;}
.dest-section-head-v2 h2{font-size:32px;margin:0;}
.dest-pill-btn-outline{display:inline-flex;align-items:center;gap:8px;border:1.5px solid currentColor;border-radius:100px;padding:10px 20px;font-size:13px;font-weight:600;white-space:nowrap;transition:background .2s ease,color .2s ease;}
.dest-pill-btn-outline:hover{background:var(--teal-900);color:#fff;}
.dest-pill-btn-solid{display:inline-flex;align-items:center;gap:10px;background:var(--teal-900);color:#fff;border-radius:100px;padding:14px 30px;font-size:14.5px;font-weight:600;transition:background .2s ease,transform .2s ease;}
.dest-pill-btn-solid:hover{background:var(--coral-500);transform:translateY(-2px);}
.dest-pill-btn-mini{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--coral-500);margin-top:10px;}
.dest-pill-btn-mini-block{display:flex;justify-content:center;border:1.5px solid var(--gray-200);border-radius:100px;padding:10px;color:var(--teal-900);margin-top:14px;transition:background .2s ease,border-color .2s ease;}
.card:hover .dest-pill-btn-mini-block{background:var(--teal-900);color:#fff;border-color:var(--teal-900);}

/* -- Places To Visit (dark section) -- */
.dest-attractions-v2{position:relative;background:linear-gradient(160deg,#123a24 0%,#0b2f1b 55%,#081f12 100%);padding:70px 0;overflow:hidden;}
.dest-attractions-v2 .dest-section-head-v2 h2{color:#fff;}
.dest-attractions-v2 .dest-pill-btn-outline{color:#fff;}
.dest-attractions-v2 .dest-pill-btn-outline:hover{background:#fff;color:var(--teal-900);}
.dest-attractions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.dest-attraction-card-v2{background:#fff;border:1px solid #fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s ease;}
.dest-attraction-card-v2:hover{transform:translateY(-4px);}
.dest-attraction-card-v2-img{height:150px;}
.dest-attraction-card-v2-img img{width:100%;height:100%;object-fit:cover;}
.dest-attraction-card-v2-body{padding:16px;}
.dest-attraction-card-v2-body h3{font-size:17px;margin-bottom:6px;}
.dest-attraction-card-v2-body p{font-size:13px;color:var(--gray-500);line-height:1.6;margin:0;}

/* -- CTA -- */
.dest-cta-v2-inner{position:relative;z-index:4;padding:70px 20px;text-align:center;}
.dest-cta-v2-inner h2{color:#fff;font-size:36px;}
.dest-cta-v2-inner p{color:rgba(255,255,255,.85);margin:8px 0 26px;}
.dest-cta-v2-script{position:absolute;top:50px;right:60px;z-index:2;font-family:'Caveat',cursive;font-size:22px;line-height:1.35;color:#fff;text-align:right;opacity:.9;}

@media(max-width:900px){
  .dest-attractions-grid{grid-template-columns:repeat(2,1fr);}
  .dest-hero-corner-script,.dest-cta-v2-script{display:none;}
  .dest-section-head-v2{align-items:flex-start;flex-direction:column;}
}
@media(max-width:640px){
  .dest-attractions-grid{grid-template-columns:1fr;}
  .dest-section-head-v2 h2{font-size:26px;}
  .dest-about-v2{min-height:380px;padding:40px 0;}
}