/* Tour packages carousel and cinematic detail transition. */
.packages{position:relative}
.package-carousel{position:relative;margin-inline:0;padding:12px 0 22px}
.package-grid{
  display:flex!important;grid-template-columns:none!important;gap:14px;
  overflow-x:auto!important;overflow-y:visible;scroll-snap-type:x mandatory;
  scroll-behavior:smooth!important;scrollbar-width:none;overscroll-behavior-x:contain;
  /* Keep touch scrolling native on both axes; custom drag is mouse-only. */
  touch-action:auto;overscroll-behavior-y:auto;scrollbar-gutter:stable; padding:26px 0 34px;cursor:grab;
  scroll-snap-stop:always;
}
.package-grid.is-dragging{cursor:grabbing;scroll-behavior:auto!important;user-select:none}
.package-grid::-webkit-scrollbar{display:none}
.package-card{
  position:relative;display:flex;flex:0 0 calc((100% - 56px)/5)!important;flex-direction:column;
  min-width:0;overflow:hidden;padding:0;border:1px solid #ffffffd9;border-radius:12px;
  background:#fffaf2ed;box-shadow:0 12px 30px #18382d20;cursor:pointer;
  scroll-snap-align:center;transform:translateZ(0) scale(.975);
  transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s,opacity .7s,border-color .7s;
}
.package-edge-space{display:block;flex:0 0 calc((100% - 56px)/5)!important;min-width:0;height:1px;pointer-events:none;scroll-snap-align:none}
.package-edge-space:last-child{flex-basis:calc(2 * ((100% - 56px)/5) + 19px)!important}
.tour-card-image{display:block;width:100%;height:clamp(110px,12vw,158px);object-fit:cover;transition:transform .75s cubic-bezier(.22,.75,.25,1),filter .6s}
.tour-demo-chip{position:absolute;top:10px;left:10px;z-index:1;padding:6px 9px;border:1px solid #ffffffb5;border-radius:999px;background:#163d34d9;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.08em}
.tour-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:10px;padding:17px 16px 15px}
.tour-card-body .tag{display:inline-flex;max-width:100%;border-radius:999px;padding:6px 10px;font-size:.68rem;white-space:nowrap}
.tour-card-body h3{margin:1px 0 0;font-size:clamp(1rem,1.45vw,1.3rem);line-height:1.08}
.tour-card-body p{display:-webkit-box;min-height:3.7em;margin:0;overflow:hidden;color:#58756b;font-size:.85rem;line-height:1.48;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.tour-card-body>strong{margin-top:auto;color:#b77920;font-size:.92rem;white-space:nowrap}
.tour-card-body small{color:#58756b;font-size:.68rem;font-weight:600}
.tour-detail-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;margin-top:2px;padding:9px 12px;border:0;border-radius:8px;background:#9bbeb3;color:#fff;font:700 .77rem "DM Sans",sans-serif;cursor:pointer;transition:background .28s,transform .28s}
.tour-detail-trigger:hover{background:#527f70;transform:translateY(-2px)}
.package-card.is-current{z-index:3;transform:translateY(-6px) scale(1.045);border-color:#a0c3b5;box-shadow:0 18px 36px #18382d38}
.package-card.is-transitioning{animation:carouselFocus .62s cubic-bezier(.22,.75,.25,1)}
@keyframes carouselFocus{0%{transform:scale(.985);filter:brightness(.96)}55%{transform:translateY(-7px) scale(1.045);filter:brightness(1.03)}100%{transform:translateY(-4px) scale(1.02);filter:brightness(1)}}
@media(hover:hover) and (min-width:801px){
  .package-card:hover{z-index:2;transform:translateY(-8px) scale(1.035);border-color:#9bbeb3;box-shadow:0 20px 40px #18382d35}
  .package-card:hover .tour-card-image{transform:scale(1.045);filter:saturate(1.08)}
}
.tour-arrows{position:absolute;inset:50% 0 auto;z-index:5;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
.tour-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #fff;border-radius:10px;background:#fff;color:#477466;font-size:1.35rem;box-shadow:0 10px 24px #0b322a30;cursor:pointer;pointer-events:auto;transition:transform .3s cubic-bezier(.22,.75,.25,1),background .25s,color .25s,box-shadow .25s}
.tour-arrow:hover{transform:scale(1.09);background:#467a69;color:#fff;box-shadow:0 14px 28px #0b322a42}
.tour-arrow:active{transform:scale(.92)}
.packages.is-revealed .package-card{animation:tourReveal .78s both cubic-bezier(.2,.8,.2,1)}
.packages.is-revealed .package-card:nth-child(2n){animation-delay:.07s}
.packages.is-revealed .package-card:nth-child(3n){animation-delay:.14s}
@keyframes tourReveal{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1}}

.tour-detail-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;background:#09251fe0;backdrop-filter:blur(0);opacity:0;visibility:hidden;transition:opacity .65s cubic-bezier(.2,.8,.2,1),backdrop-filter .65s,visibility .65s}
.tour-detail-overlay.is-open{opacity:1;visibility:visible;backdrop-filter:blur(9px)}
.tour-detail-panel{position:relative;width:min(900px,calc(100vw - 36px));max-height:min(88svh,900px);overflow:auto;border:1px solid #fff;border-radius:28px;background:#f8f6ef;box-shadow:0 34px 100px #0007;opacity:0;transform:translateY(34px) scale(.94);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.16,1,.3,1);overscroll-behavior:contain}
.tour-detail-overlay.is-open .tour-detail-panel{opacity:1;transform:translateY(0) scale(1)}
.tour-detail-close{position:absolute;top:15px;right:15px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffffb0;border-radius:50%;background:#09251fbb;color:#fff;font-size:1.9rem;cursor:pointer;transition:transform .35s,background .35s}
.tour-detail-close:hover{transform:rotate(90deg);background:#09251f}
.tour-detail-image{display:block;width:100%;height:clamp(190px,30vh,310px);object-fit:cover}
.tour-detail-copy{padding:clamp(22px,4vw,42px)}
.tour-detail-area{margin:16px 0 7px;color:#598073;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.tour-detail-copy h2{margin:0 0 12px;color:#273e36;font-size:clamp(2rem,5vw,3.5rem);line-height:1.03}
.tour-detail-intro,.tour-detail-includes{color:#55736a;line-height:1.7}
.tour-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}
.tour-detail-columns>div{padding:20px;border:1px solid #e2e7df;border-radius:18px;background:#fff}
.tour-detail-columns h3{margin:0 0 12px;font-size:1.1rem}
.tour-detail-columns ol,.tour-detail-columns ul{display:grid;gap:9px;margin:0;padding-left:19px;color:#55736a;font-size:.9rem;line-height:1.5}
.tour-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid #dce6dd}
.tour-detail-footer>strong{color:#b77920;font-size:1.3rem}
.tour-detail-footer small{color:#58756b;font-size:.75rem}
.tour-book-button{min-height:48px;padding:12px 22px;border:0;border-radius:13px;background:#527f70;color:#fff;font:700 .9rem "DM Sans",sans-serif;cursor:pointer;transition:transform .3s,box-shadow .3s}
.tour-book-button:hover{transform:translateY(-3px);box-shadow:0 12px 24px #527f7040}
.tour-demo-note{margin:15px 0 0;color:#7d8f86;font-size:.76rem;line-height:1.5}
body.tour-modal-open{overflow:hidden}

/* Soft corners applied consistently across the site's major blocks. */
.nav{border-radius:18px!important}
.hero{border-radius:22px;overflow:hidden}
.head{border-radius:22px}
.card,.tours .card{border-radius:20px;overflow:hidden}
.storyin>div:first-child,.storyin .stats,.stat{border-radius:20px}
.gallery img,.discover-grid article{border-radius:18px;overflow:hidden}
.steps article{border-radius:18px}
.package-card{border-radius:12px}
/* Larger, legible tour cards and a genuinely prominent detail view. */
@media(min-width:801px){
  .package-carousel{padding-inline:54px}
  .package-grid{gap:14px;padding-inline:0;scroll-padding-inline:0}
  .package-card{flex-basis:calc((100% - 56px)/5)!important}
  .tour-arrows{inset-inline:0}
  .tour-card-image{height:clamp(175px,16vw,230px)}
  .tour-card-body{gap:12px;padding:20px 19px 18px}
  .tour-card-body h3{font-size:clamp(1.12rem,1.5vw,1.45rem)}
  .tour-card-body p{font-size:.94rem}
  .tour-detail-panel{width:min(1120px,calc(100vw - 64px));max-height:92svh}
  .tour-detail-image{height:clamp(300px,40vh,440px)}
}
.contactbox{border-radius:24px!important;overflow:hidden}
.form input,.form textarea,.form select{border-radius:12px}
.site-footer{border-radius:20px 20px 0 0;overflow:hidden}
@media(max-width:800px){
  .package-carousel{padding:10px 0 18px}
  .package-grid{gap:10px;padding:12px 40px 18px;scroll-padding-inline:40px}
  .package-card{flex-basis:calc((100% - 20px)/3)!important;border-radius:11px}
  .package-edge-space{flex-basis:calc((100% - 20px)/3)!important}
  .package-edge-space:last-child{flex-basis:calc(2 * ((100% - 20px)/3) + 10px)!important}
  .tour-card-image{height:clamp(88px,25vw,130px)}
  .tour-card-body{gap:7px;padding:11px 10px 10px}
  .tour-card-body .tag{padding:5px 7px;font-size:.57rem}
  .tour-card-body h3{font-size:clamp(.78rem,2.8vw,1rem)}
  .tour-card-body p{min-height:3.6em;font-size:.68rem;line-height:1.38;-webkit-line-clamp:3}
  .tour-card-body>strong{font-size:.72rem}
  .tour-card-body small{font-size:.58rem}
  .tour-detail-trigger{min-height:32px;padding:7px 8px;border-radius:9px;font-size:.64rem}
  .package-card.is-current{z-index:3;transform:translateY(-4px) scale(1.035);box-shadow:0 16px 30px #18382d38}
  @keyframes carouselFocus{0%{transform:scale(.985);filter:brightness(.96)}58%{transform:translateY(-6px) scale(1.07);filter:brightness(1.03)}100%{transform:translateY(-4px) scale(1.045);filter:brightness(1)}}
  .tour-arrows{inset:50% 0 auto}
  .tour-arrow{width:38px;height:38px;border-radius:9px;font-size:1.15rem}
  .tour-detail-overlay{padding:12px}
  .tour-detail-overlay{padding:8px}
  .tour-detail-panel{width:min(100%,640px);max-height:96svh;border-radius:24px}
  .tour-detail-image{height:clamp(220px,34svh,340px)}
  .tour-detail-copy{padding:clamp(20px,5vw,30px)}
  .tour-detail-copy h2{font-size:clamp(2rem,8vw,3rem)}
  .tour-detail-columns{grid-template-columns:1fr;gap:12px;margin:18px 0}
  .tour-detail-columns>div{padding:15px;border-radius:15px}
  .tour-detail-footer{align-items:stretch;flex-direction:column;gap:12px}
  .tour-book-button{width:100%}
  .nav{border-radius:14px!important}
  .hero{border-radius:16px}
  .head{border-radius:18px}
  .contactbox{border-radius:20px!important}
}
@media(max-width:390px){
  .package-grid{gap:8px;padding-inline:38px;scroll-padding-inline:38px}
  .package-card{flex-basis:calc((100% - 16px)/3)!important;border-radius:10px}
  .package-edge-space{flex-basis:calc((100% - 16px)/3)!important}
  .package-edge-space:last-child{flex-basis:calc(2 * ((100% - 16px)/3) + 8px)!important}
  .tour-card-body{padding-inline:8px}
  .tour-card-body h3{font-size:.75rem}
  .tour-card-body p{font-size:.63rem}
}
@media(prefers-reduced-motion:reduce){
  .package-grid{scroll-behavior:auto!important}
  .package-card,.tour-card-image,.tour-detail-overlay,.tour-detail-panel,.tour-arrow{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
