:root{
  --forest:#083f1e;
  --forest-2:#0f5b29;
  --green:#3e9f42;
  --leaf:#7de66a;
  --cream:#f2fbf1;
  --white:#fff;
  --ink:#122016;
  --muted:#647468;
  --line:#d9ead9;
  --shadow:0 28px 80px rgba(8,63,30,.2);
  --soft-shadow:0 18px 45px rgba(15,91,41,.12);
  --radius:28px;
  --font:"Inter", sans-serif;
  --transition:all .3s cubic-bezier(.4,0,.2,1);
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html,
body{
  overflow-x:hidden;
}

html{
  scroll-behavior:smooth;
}

body{
  min-height:100vh;
  color:var(--ink);
  font-family:var(--font);
  line-height:1.65;
  background:
    linear-gradient(180deg,rgba(242,251,241,.92),rgba(242,251,241,.74) 42%,rgba(242,251,241,.98) 72%),
    url("assets/hero_bg_final.png") center top/cover fixed no-repeat;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 18%,rgba(62,159,66,.12) 0 2px,transparent 3px) 0 0/18px 18px,
    linear-gradient(135deg,transparent 0 64%,rgba(8,63,30,.06) 64% 65%,transparent 65%),
    linear-gradient(45deg,transparent 0 70%,rgba(8,63,30,.04) 70% 71%,transparent 71%);
  opacity:.7;
}

body.modal-open{
  overflow:hidden;
}

img{
  max-width:100%;
  height:auto;
}

button,
a{
  font:inherit;
}

a{
  color:inherit;
}

::-webkit-scrollbar{
  width:10px;
}

::-webkit-scrollbar-track{
  background:#e8f5e7;
}

::-webkit-scrollbar-thumb{
  background:var(--forest-2);
  border-radius:999px;
}

.menu-toggle{
  display:none;
  background:none;
  border:none;
  color:#fff;
  font-size:2rem;
  cursor:pointer;
}

.header{
  position:relative;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:1.35rem 4.6%;
  color:#fff;
  background:linear-gradient(135deg,#063816,#0c4a20);
  border-radius:0 0 28px 28px;
  box-shadow:0 18px 50px rgba(4,40,18,.32);
  transition:var(--transition);
}

.header.scrolled{
  padding-top:.85rem;
  padding-bottom:.85rem;
  background:rgba(7,54,22,.96);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.logo-container{
  display:flex;
  align-items:center;
  gap:.9rem;
  min-width:max-content;
  text-decoration:none;
}

.logo-img{
  width:72px;
  height:42px;
  object-fit:contain;
  background:transparent;
  box-shadow:none;
}

.logo-text{
  color:#fff;
  font-size:1.72rem;
  font-weight:900;
  line-height:1;
  letter-spacing:-.02em;
}

@media (min-width:769px){
  .menu-toggle{
    display:none !important;
  }
  .nav-links{
    display:flex !important;
  }
}

.nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2.2rem;
  margin-left:auto;
}

.nav-links a,
.nav-link{
  position:relative;
  color:rgba(255,255,255,.92);
  text-decoration:none;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:.98rem;
  font-weight:800;
  white-space:nowrap;
  transition:var(--transition);
}

.nav-links a::after,
.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-.45rem;
  height:2px;
  background:var(--leaf);
  border-radius:999px;
  opacity:0;
  transform:scaleX(.35);
  transition:var(--transition);
}

.nav-links a:hover,
.nav-link:hover{
  color:#fff;
}

.nav-links a:hover::after,
.nav-link:hover::after{
  opacity:1;
  transform:scaleX(1);
}

.dropdown{
  position:relative;
}

.dropdown-btn{
  background:none;
  border:none;
  color:inherit;
  cursor:pointer;
  font:inherit;
  padding:0;
  outline:none;
}

.dropdown-content{
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  opacity:0;
  visibility:hidden;
  transition:.25s;
  z-index:100;
  padding:0.5rem 0;
}

.dropdown:hover .dropdown-content{
  opacity:1;
  visibility:visible;
}

.dropdown.active .dropdown-content {
  opacity: 1;
  visibility: visible;
}

.dropdown-content a{
  display:block;
  padding:12px 18px;
  color:var(--ink);
  text-decoration:none;
  font-weight:600;
}

.dropdown-content a:hover{
  background:var(--cream);
  color:var(--forest);
}

.dropdown-content a::after{
  display:none;
}

.nav-actions{
  display:flex;
  align-items:center;
}

.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:1rem 1.8rem;
  color:#2b7a30;
  background:#fff;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 16px 32px rgba(0,0,0,.16);
  transition:var(--transition);
}

.nav-cta:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 38px rgba(255,255,255,.22);
}

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10rem 5% 5.5rem;
  isolation:isolate;
}

.hero-bg{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(180deg,rgba(242,251,241,.88) 0%,rgba(242,251,241,.58) 40%,rgba(242,251,241,.15) 65%,rgba(242,251,241,.98) 100%),
    url("assets/hero_bg_final.png") center bottom/cover no-repeat;
}

.hero-pattern{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 22%,rgba(15,91,41,.2) 0 2px,transparent 3px) 0 0/18px 18px,
    radial-gradient(circle at 91% 56%,rgba(15,91,41,.18) 0 2px,transparent 3px) 0 0/18px 18px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 82%);
  opacity:.65;
}

.hero-panel{
  position:relative;
  width:min(1040px,100%);
  margin-top:2.5rem;
  padding:5rem clamp(1.4rem,6vw,6.5rem);
  overflow:hidden;
  color:#fff;
  text-align:center;
  border-radius:42px;
  background:
    linear-gradient(135deg,rgba(8,63,30,.92),rgba(8,63,30,.66)),
    url("assets/packages/kuari_pass.webp") center/cover no-repeat;
  box-shadow:0 36px 90px rgba(8,63,30,.32);
}

.hero-panel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 20%,rgba(125,230,106,.14),transparent 42%);
}

.eyebrow{
  position:relative;
  z-index:1;
  color:var(--leaf);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.86rem;
  font-weight:900;
}

.mini-divider{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin:1.55rem 0 2rem;
  color:var(--leaf);
}

.mini-divider::before,
.mini-divider::after{
  content:"";
  width:72px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--leaf));
}

.mini-divider::after{
  background:linear-gradient(90deg,var(--leaf),transparent);
}

.mini-divider span{
  width:26px;
  height:18px;
  background:var(--leaf);
  clip-path:polygon(0 100%,34% 22%,52% 65%,72% 0,100% 100%);
}

.animate-title{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 auto 1.25rem;
  color:#fff;
  font-size:clamp(2.8rem,7vw,5.55rem);
  line-height:1.06;
  font-weight:900;
  letter-spacing:-.045em;
  text-shadow:0 12px 28px rgba(0,0,0,.22);
}

.animate-title span{
  color:var(--leaf);
}

.animate-subtitle{
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 auto;
  color:rgba(255,255,255,.92);
  font-size:clamp(1rem,2vw,1.28rem);
}

.hero-actions{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:2.25rem;
}

.hero-cta,
.cta-button,
.review-form button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-height:58px;
  padding:1rem 2rem;
  color:#fff;
  text-decoration:none;
  border:0;
  border-radius:999px;
  cursor:pointer;
  font-weight:900;
  background:linear-gradient(135deg,#2e8d35,#43b145);
  box-shadow:0 18px 42px rgba(46,141,53,.34);
  transition:var(--transition);
}

.hero-cta.ghost{
  color:#fff;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:none;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.hero-cta:hover,
.cta-button:hover,
.review-form button:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 50px rgba(62,159,66,.36);
}

.trek-container{
  width:min(1380px,100%);
  margin:0 auto;
  padding:6rem 5%;
}

.section-heading{
  max-width:760px;
  margin:0 auto 3.4rem;
  text-align:center;
}

.section-title{
  margin-top:.65rem;
  color:var(--ink);
  font-size:clamp(2rem,4.5vw,3.35rem);
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:900;
}

.section-copy{
  max-width:620px;
  margin:.95rem auto 0;
  color:var(--muted);
  font-size:1.04rem;
}

.trek-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1.55rem;
}

.featured-package-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
  align-items:start;
}

.featured-column{
  padding:1rem;
  background:rgba(255,255,255,.6);
  border:1px solid rgba(217,234,217,.86);
  border-radius:18px;
  box-shadow:var(--soft-shadow);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.featured-column-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
  padding:.25rem .25rem .85rem;
  border-bottom:1px solid rgba(217,234,217,.9);
}

.featured-column-head span{
  color:var(--forest);
  font-weight:900;
}

.featured-column-head small{
  color:var(--muted);
  font-size:.8rem;
  font-weight:800;
}

.featured-stack{
  display:grid;
  gap:1rem;
}

.featured-actions{
  display:flex;
  justify-content:center;
  margin-top:2rem;
}

.trek-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  cursor:pointer;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(217,234,217,.86);
  border-radius:var(--radius);
  box-shadow:var(--soft-shadow);
  transition:var(--transition);
  text-decoration:none;
}

.package-card{
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,255,248,.9));
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.trek-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--forest),var(--green));
  z-index:2;
}

.trek-card:hover{
  transform:translateY(-10px);
  border-color:rgba(62,159,66,.42);
  box-shadow:var(--shadow);
}

.package-media{
  position:relative;
  overflow:hidden;
}

.trek-image{
  width:100%;
  height:250px;
  object-fit:cover;
  display:block;
  transition:transform .55s ease;
}

.trek-card:hover .trek-image{
  transform:scale(1.06);
}

.package-badges{
  position:absolute;
  top:.9rem;
  left:.9rem;
  right:.9rem;
  z-index:3;
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.package-badges span,
.difficulty-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.36rem .65rem;
  color:#fff;
  background:rgba(8,63,30,.82);
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  font-size:.73rem;
  font-weight:900;
  box-shadow:0 12px 24px rgba(0,0,0,.16);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.difficulty-badge.easy{
  background:rgba(62,159,66,.9);
}

.difficulty-badge.moderate{
  background:rgba(216,162,10,.92);
}

.difficulty-badge.difficult{
  background:rgba(188,64,46,.92);
}

.trek-info{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.55rem;
}

.trek-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-bottom:1rem;
  color:var(--forest-2);
  font-size:.82rem;
  font-weight:900;
}

.trek-meta-item{
  padding:.36rem .74rem;
  background:#edf8ed;
  border-radius:999px;
}

.trek-name{
  margin-bottom:.7rem;
  color:var(--ink);
  font-size:1.32rem;
  line-height:1.25;
  font-weight:900;
}

.trek-description{
  color:var(--muted);
  font-size:.95rem;
}

.package-rating{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin:-.2rem 0 .65rem;
}

.package-rating .rating-stars{
  color:#d8a20a;
}

.package-rating strong{
  color:var(--forest);
  font-size:.9rem;
}

.trek-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:auto;
  padding-top:1.4rem;
}

.trek-price{
  color:var(--forest);
  font-size:1.13rem;
  font-weight:900;
}

.trek-details{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:.55rem .85rem;
  color:#fff;
  background:linear-gradient(135deg,var(--forest),var(--green));
  border-radius:999px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 12px 24px rgba(62,159,66,.2);
}

.featured-card .trek-image{
  height:180px;
}

.featured-card .trek-info{
  padding:1.1rem;
}

.featured-card .trek-name{
  font-size:1.08rem;
}

.featured-card .trek-description{
  display:-webkit-box;
  overflow:hidden;
  text-overflow:ellipsis;
  line-clamp:2;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.featured-card .trek-card-footer{
  gap:.65rem;
  padding-top:1rem;
}

.featured-card .trek-price,
.featured-card .trek-details{
  font-size:.86rem;
}

.packages-page{
  scroll-margin-top:8rem;
  padding:7rem 5%;
  background:
    linear-gradient(180deg,rgba(255,255,255,.8),rgba(242,251,241,.92)),
    url("assets/packages/dayara_bugyal.webp") center/cover fixed no-repeat;
}

.packages-page.page-top{
  padding-top:11rem;
}

.packages-shell{
  width:min(1380px,100%);
  margin:0 auto;
}

.packages-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,520px);
  gap:2rem;
  align-items:end;
  margin-bottom:2rem;
  padding:2rem;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(217,234,217,.9);
  border-radius:18px;
  box-shadow:var(--soft-shadow);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}

.package-search{
  display:flex;
  align-items:center;
  gap:.9rem;
  min-height:70px;
  padding:.75rem 1rem .75rem 1.25rem;
  background:#fff;
  border:1px solid rgba(15,91,41,.16);
  border-radius:16px;
  box-shadow:0 18px 35px rgba(8,63,30,.1);
}

.package-search span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  color:#fff;
  background:linear-gradient(135deg,var(--forest),var(--green));
  border-radius:14px;
  overflow:hidden;
  text-indent:-999px;
}

.package-search span::before{
  content:"";
  width:16px;
  height:16px;
  border:2px solid currentColor;
  border-radius:50%;
  box-shadow:8px 8px 0 -6px currentColor;
  transform:rotate(-20deg);
}

.package-search input{
  width:100%;
  min-width:0;
  color:var(--ink);
  background:transparent;
  border:0;
  outline:0;
  font:inherit;
  font-size:1.02rem;
  font-weight:700;
}

.package-layout{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:1.5rem;
  align-items:start;
}

.filter-panel{
  position:sticky;
  top:8.8rem;
  max-height:calc(100vh - 10rem);
  overflow:auto;
  padding:1.15rem;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(217,234,217,.92);
  border-radius:18px;
  box-shadow:var(--soft-shadow);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.filter-panel-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(217,234,217,.9);
}

.filter-kicker{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  font-weight:900;
}

.filter-panel-top strong{
  color:var(--forest);
}

.clear-filters{
  min-height:42px;
  padding:.65rem .9rem;
  color:var(--forest);
  background:#edf8ed;
  border:1px solid var(--line);
  border-radius:999px;
  cursor:pointer;
  font-size:.83rem;
  font-weight:900;
  transition:var(--transition);
}

.clear-filters:hover{
  color:#fff;
  background:var(--forest);
}

.filter-group{
  padding:1.15rem 0;
  border-bottom:1px solid rgba(217,234,217,.68);
}

.filter-group:last-child{
  border-bottom:0;
  padding-bottom:.15rem;
}

.filter-group h3{
  margin-bottom:.8rem;
  color:var(--ink);
  font-size:.98rem;
  font-weight:900;
}

.filter-options{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

.filter-chip{
  cursor:pointer;
}

.filter-chip input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.filter-chip span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.55rem .78rem;
  color:var(--forest);
  background:rgba(237,248,237,.78);
  border:1px solid rgba(15,91,41,.12);
  border-radius:999px;
  font-size:.85rem;
  font-weight:800;
  transition:var(--transition);
}

.filter-chip input:checked + span{
  color:#fff;
  background:linear-gradient(135deg,var(--forest),var(--green));
  border-color:transparent;
  box-shadow:0 12px 24px rgba(62,159,66,.2);
}

.price-range{
  display:grid;
  gap:.8rem;
}

.price-range input{
  width:100%;
  accent-color:var(--green);
}

.price-range div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:var(--muted);
  font-size:.9rem;
}

.price-range strong{
  color:var(--forest);
}

.package-results{
  min-width:0;
}

.package-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  margin-bottom:1.15rem;
  padding:1.25rem 1.4rem;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(217,234,217,.9);
  border-radius:18px;
  box-shadow:var(--soft-shadow);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.package-results-head .eyebrow{
  font-size:.72rem;
}

.package-results-head h3{
  color:var(--forest);
  font-size:1.35rem;
  line-height:1.2;
  font-weight:900;
}

.package-results-head p:last-child{
  color:var(--muted);
  text-align:right;
}

.packages-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}

.empty-results{
  padding:3rem 1.5rem;
  text-align:center;
  background:rgba(255,255,255,.84);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--soft-shadow);
}

.empty-results h3{
  color:var(--forest);
  font-size:1.4rem;
  font-weight:900;
}

.empty-results p{
  color:var(--muted);
}

.why-section,
.testimonials-section{
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}

.why-grid,
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}

.why-card,
.testimonial-card,
.founder-card{
  padding:1.7rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(217,234,217,.9);
  border-radius:var(--radius);
  box-shadow:var(--soft-shadow);
  transition:var(--transition);
}

.why-card:hover,
.testimonial-card:hover,
.founder-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow);
}

.why-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:1.1rem;
  color:#fff;
  background:linear-gradient(135deg,var(--forest),var(--green));
  border-radius:15px;
  font-weight:900;
}

.why-card h3,
.testimonial-card strong{
  margin-bottom:.45rem;
  color:var(--ink);
  font-size:1.12rem;
  font-weight:900;
}

.why-card p,
.testimonial-card p,
.testimonial-card span,
.founder-bio{
  color:var(--muted);
}

.about-section,
.insta-feed-section{
  background:rgba(242,251,241,.88);
}

.founders-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.45rem;
}

.founder-card{
  text-align:center;
}

.founder-img-wrapper{
  width:162px;
  height:162px;
  margin:0 auto 1.35rem;
  overflow:hidden;
  border:5px solid #edf8ed;
  border-radius:50%;
  box-shadow:0 18px 36px rgba(8,63,30,.16);
}

.founder-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.founder-info h3{
  color:var(--ink);
  font-size:1.45rem;
  font-weight:900;
}

.founder-title{
  margin:.3rem 0 .95rem;
  color:var(--forest-2);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.78rem;
  font-weight:900;
}

.testimonial-card p{
  margin-bottom:1.4rem;
  font-size:1.02rem;
}

.testimonial-card strong{
  display:block;
  color:var(--forest);
}

.insta-feed-section{
  padding:6rem 5%;
}

.insta-inner{
  width:min(1200px,100%);
  margin:0 auto;
  text-align:center;
}

.insta-link{
  display:inline-flex;
  margin:-1.5rem 0 3rem;
  color:var(--forest-2);
  text-decoration:none;
  font-weight:900;
}

/* Uniform size for gallery and reviews */
.gallerySwiper img,
.reviewsSwiper img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.image-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 16px;
}

.image-card:hover img {
  transform:scale(1.05);
}

.image-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: 0.3s ease;
}

.image-card:hover .image-overlay {
  opacity: 1;
}

.image-overlay span {
  background: #fff;
  color: #111;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.85rem;
}

/* Premium Swiper Navigation */
.gallerySwiper,
.reviewsSwiper {
  padding-left: 70px;
  padding-right: 70px;
  padding-bottom: 3.5rem; /* Make room for pagination */
}

.gallerySwiper .swiper-button-next,
.gallerySwiper .swiper-button-prev,
.reviewsSwiper .swiper-button-next,
.reviewsSwiper .swiper-button-prev {
  width: 56px;
  height: 56px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 50%;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  margin-top: -28px;
}

.gallerySwiper .swiper-button-prev,
.reviewsSwiper .swiper-button-prev {
  left: 0;
}

.gallerySwiper .swiper-button-next,
.reviewsSwiper .swiper-button-next {
  right: 0;
}

.gallerySwiper .swiper-button-next:hover,
.gallerySwiper .swiper-button-prev:hover,
.reviewsSwiper .swiper-button-next:hover,
.reviewsSwiper .swiper-button-prev:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18);
}

.gallerySwiper .swiper-button-next::after,
.gallerySwiper .swiper-button-prev::after,
.reviewsSwiper .swiper-button-next::after,
.reviewsSwiper .swiper-button-prev::after {
  font-size: 18px;
  font-weight: 900;
  color: #1d1d1d;
}

.gallerySwiper:hover .swiper-button-next,
.gallerySwiper:hover .swiper-button-prev,
.reviewsSwiper:hover .swiper-button-next,
.reviewsSwiper:hover .swiper-button-prev {
  opacity: 1;
  visibility: visible;
}

/* Premium Swiper Pagination Dots */
.gallerySwiper .swiper-pagination,
.reviewsSwiper .swiper-pagination {
  position: absolute;
  bottom: 0;
}

.gallerySwiper .swiper-pagination-bullet,
.reviewsSwiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #cbd5e1;
  opacity: 1;
  transition: 0.3s ease;
  margin: 0 5px !important;
}

.gallerySwiper .swiper-pagination-bullet-active,
.reviewsSwiper .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 999px;
  background: var(--green);
}

.gallery-page-hero{
  padding:5.5rem 5% 3.5rem;
}

.gallery-page-shell{
  width:min(1180px,100%);
  margin:0 auto;
}

.gallery-page-hero .gallery-page-shell{
  padding:3rem;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(8,63,30,.92),rgba(15,91,41,.72)),
    url("assets/hero_bg_final.png") center/cover no-repeat;
  border-radius:28px;
  box-shadow:var(--shadow);
}

.gallery-page-hero .section-title{
  max-width:780px;
  color:#fff;
}

.gallery-page-hero .section-copy{
  max-width:700px;
  color:rgba(255,255,255,.86);
}

.gallery-page-section{
  padding:4.75rem 5%;
}

.gallery-reviews-band{
  background:rgba(237,248,237,.78);
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:220px;
  gap:1rem;
}

.gallery-grid-card{
  min-height:0;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(8,63,30,.12);
}

.gallery-grid-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

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

.gallery-grid-card.tall{
  grid-row:span 2;
}

.review-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:360px;
}

.review-shot img{
  object-fit:contain;
  background:#fff;
}

@media (max-width: 768px) {
  .gallerySwiper,
  .reviewsSwiper {
    padding-left: 0;
    padding-right: 0;
  }
  .gallerySwiper .swiper-button-next,
  .gallerySwiper .swiper-button-prev,
  .reviewsSwiper .swiper-button-next,
  .reviewsSwiper .swiper-button-prev {
    display: none;
  }

  .gallery-page-hero{
    padding:2rem 5% 1.5rem;
  }

  .gallery-page-hero .gallery-page-shell{
    padding:2rem 1.25rem;
    border-radius:22px;
  }

  .gallery-page-section{
    padding:3.25rem 5%;
  }

  .gallery-grid,
  .review-grid{
    grid-template-columns:1fr;
    grid-auto-rows:260px;
  }

  .gallery-grid-card.wide,
  .gallery-grid-card.tall{
    grid-column:auto;
    grid-row:auto;
  }

  .review-grid{
    grid-auto-rows:420px;
  }
}

.footer{
  background:#0f172a;
  color:#fff;
  padding:60px 20px 20px;
  margin-top:60px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.25fr .8fr minmax(280px,1fr) .8fr;
  gap:30px;
  width:min(1200px,100%);
  margin:0 auto;
}

.footer-brand h2{
  font-size:1.5rem;
  font-weight:900;
}

.footer h2,
.footer h3{
  margin-bottom:15px;
  color:#fff;
}

.footer p,
.footer a,
.footer button{
  color:#cbd5e1;
  text-decoration:none;
  font-size:14px;
  display:block;
  margin:6px 0;
  background:transparent;
  border:0;
  text-align:left;
  cursor:pointer;
  transition:0.3s;
}

.footer a:hover,
.footer button:hover{
  color:#22c55e;
  transform:translateX(4px);
}

.footer-social{
  margin-top:15px;
  display:flex;
  gap:10px;
}

.footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  border:1px solid #334155;
  border-radius:8px;
  margin:0;
}

.footer-social a:hover{
  transform:translateY(-2px);
  color:#fff;
}

.footer-social a img{
  width:24px;
  height:24px;
  object-fit:contain;
  display:block;
}

.footer p a {
  display:inline-block;
  margin:0;
}

.footer-bottom{
  text-align:center;
  margin-top:30px;
  border-top:1px solid #334155;
  padding-top:15px;
  font-size:13px;
  color:#94a3b8;
}

.footer-contact-item{
  display:flex;
  align-items:flex-start;
  flex-wrap:nowrap;
  gap:12px;
  margin-bottom:16px;
}

.footer-contact-item i,
.footer-contact-item svg,
.footer-contact-item img{
  width:20px;
  min-width:20px;
  text-align:center;
  font-size:16px;
  flex-shrink:0;
}

.footer-contact-item .icon{
  width:44px;
  min-width:44px;
  text-align:center;
  font-size:16px;
  line-height:1.4;
  white-space:nowrap;
  flex-shrink:0;
}

.footer-contact-item span,
.footer-contact-item a{
  display:inline-block;
  vertical-align:middle;
  line-height:1.4;
  margin:0;
  overflow-wrap:anywhere;
}

.contact-widget{
  position:fixed;
  left:1.8rem;
  bottom:1.6rem;
  z-index:1000;
  display:flex;
  flex-direction:column;
  gap:.95rem;
}

.widget-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:76px;
  height:76px;
  color:var(--green);
  background:#fff;
  border-radius:50%;
  text-decoration:none;
  box-shadow:0 18px 40px rgba(8,63,30,.22);
  transition:var(--transition);
}

.widget-btn:hover{
  transform:translateY(-5px) scale(1.04);
}

.chat-toggle-btn{
  position:fixed;
  right:2rem;
  bottom:1.9rem;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  min-height:64px;
  padding:0 1.4rem;
  color:#fff;
  background:linear-gradient(135deg,#3a9c3d,#4eb84f);
  border:0;
  border-radius:999px;
  cursor:pointer;
  box-shadow:0 18px 42px rgba(62,159,66,.35);
  transition:var(--transition);
}

.chat-toggle-btn:hover{
  transform:translateY(-5px);
}

.chat-toggle-btn .chat-close-icon{
  display:none;
  font-weight:900;
}

.chat-toggle-btn.active .chat-open-icon{
  display:none;
}

.chat-toggle-btn.active .chat-close-icon{
  display:block;
}

.chat-label{
  font-weight:900;
}

.chat-window{
  position:fixed;
  right:2rem;
  bottom:6rem;
  z-index:1000;
  display:flex;
  flex-direction:column;
  width:360px;
  height:500px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 28px 80px rgba(8,63,30,.28);
}

.chat-window[hidden]{
  display:none;
}

.chat-header{
  padding:1.2rem;
  color:#fff;
  text-align:center;
  background:linear-gradient(135deg,var(--forest),var(--forest-2));
}

.chat-body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:.85rem;
  padding:1.1rem;
  overflow-y:auto;
}

.chat-bubble{
  max-width:85%;
  padding:.85rem 1rem;
  border-radius:18px;
  font-size:.92rem;
}

.bot-bubble{
  align-self:flex-start;
  color:var(--ink);
  background:#edf8ed;
  border-bottom-left-radius:6px;
}

.user-bubble{
  align-self:flex-end;
  color:#fff;
  background:var(--forest-2);
  border-bottom-right-radius:6px;
}

.chat-options,
.chat-results{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.chat-results{
  flex-direction:column;
}

.chat-opt-btn{
  padding:.5rem .85rem;
  color:var(--forest);
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  cursor:pointer;
  font-size:.84rem;
  font-weight:900;
}

.chat-opt-btn:hover{
  color:#fff;
  background:var(--forest);
}

.chat-trek-card{
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.7rem;
  text-align:left;
  text-decoration:none;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  cursor:pointer;
}

.chat-trek-card img{
  width:58px;
  height:58px;
  object-fit:cover;
  border-radius:10px;
}

.chat-trek-card h4{
  color:var(--ink);
  font-size:.92rem;
}

.chat-trek-card p{
  color:var(--muted);
  font-size:.78rem;
}

.modal-overlay{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem;
  background:rgba(5,31,13,.78);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.modal-content{
  position:relative;
  width:100%;
  max-width:920px;
  max-height:90vh;
  overflow-y:auto;
  color:var(--ink);
  background:#fff;
  border-radius:28px;
  box-shadow:0 34px 90px rgba(0,0,0,.32);
}

.privacy-modal,
.contact-modal{
  background:
    radial-gradient(circle at 16% 18%,rgba(255,255,255,.42),transparent 34%),
    linear-gradient(135deg,rgba(241,248,242,.68),rgba(199,215,204,.58));
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 34px 90px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.58);
  -webkit-backdrop-filter:blur(30px) saturate(120%);
  backdrop-filter:blur(30px) saturate(120%);
}

.privacy-modal h2,
.privacy-modal h3,
.contact-modal h2,
.contact-modal h3{
  color:#061c0d;
  text-shadow:0 1px 0 rgba(255,255,255,.32);
}

.privacy-modal p,
.privacy-modal li,
.contact-modal p,
.contact-modal li,
.contact-details{
  color:#263d2d;
}

.contact-details strong{
  color:#102515;
}

.modal-header-img{
  width:100%;
  height:390px;
  object-fit:cover;
  display:block;
}

.modal-body,
.text-modal{
  padding:2.5rem;
}

.close-btn{
  position:absolute;
  top:1rem;
  right:1rem;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  color:#fff;
  background:rgba(224,236,226,.28);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  cursor:pointer;
  font-size:1.25rem;
  transition:var(--transition);
}

.close-btn:hover{
  background:var(--forest);
  transform:rotate(90deg);
}

.modal-title,
.text-modal h2{
  color:var(--ink);
  font-size:clamp(1.8rem,4vw,2.7rem);
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.04em;
}

.modal-header-info{
  display:flex;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:2.5rem;
}

.modal-rating{
  display:flex;
  align-items:center;
  gap:.8rem;
  margin:.75rem 0;
  color:var(--muted);
}

.modal-stars .rating-stars,
.review-card .rating-stars{
  color:#d8a20a;
}

.rating-stars{
  display:inline-flex;
  align-items:center;
  gap:2px;
  letter-spacing:0;
  line-height:1;
}

.rating-star{
  position:relative;
  display:inline-block;
  width:1em;
  color:#d8a20a;
}

.rating-star-empty,
.rating-star-half{
  color:rgba(216,162,10,.35);
}

.rating-star-half::before{
  content:"\2605";
  position:absolute;
  inset:0 auto 0 0;
  width:50%;
  overflow:hidden;
  color:#d8a20a;
}

.modal-meta-line{
  color:var(--forest-2);
  font-weight:900;
}

.modal-pricing-info{
  min-width:250px;
  text-align:right;
}

.modal-pricing-info p,
.modal-price-row span{
  color:var(--muted);
}

.modal-price-list{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.35rem;
  margin-top:.45rem;
}

.modal-price-row{
  display:flex;
  justify-content:flex-end;
  gap:1rem;
}

.modal-price-row strong,
.modal-single-price{
  color:var(--forest);
  font-weight:900;
}

.modal-single-price{
  display:block;
  margin-top:.35rem;
  font-size:2rem;
}

.modal-pricing-info small{
  display:block;
  max-width:250px;
  margin-top:.65rem;
  margin-left:auto;
  color:var(--forest-2);
  font-size:.82rem;
}

.modal-section{
  margin-bottom:2.6rem;
}

.modal-section h3,
.modal-details-grid h3,
.review-form-card h4,
.text-modal h3{
  margin-bottom:1rem;
  color:var(--forest);
  font-weight:900;
}

.itinerary-day{
  position:relative;
  margin-bottom:1.45rem;
  padding-left:1.5rem;
  border-left:2px solid var(--green);
}

.itinerary-day::before{
  content:"";
  position:absolute;
  top:.35rem;
  left:-7px;
  width:12px;
  height:12px;
  background:var(--forest);
  border-radius:50%;
  box-shadow:0 0 0 5px #edf8ed;
}

.day-title{
  margin-bottom:.35rem;
  color:var(--ink);
  font-weight:900;
}

.reviews-list{
  display:grid;
  gap:1rem;
  margin-bottom:1.2rem;
}

.review-card,
.review-form-card,
.modal-bottom-card{
  padding:1.4rem;
  background:#f9fff9;
  border:1px solid var(--line);
  border-radius:20px;
}

.review-card div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.5rem;
}

.review-card p,
.review-card small,
.modal-details-grid ul,
.text-modal p,
.text-modal li{
  color:var(--muted);
}

.review-form{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.review-form-inputs{
  display:flex;
  gap:1rem;
}

.review-form input,
.review-form select,
.review-form textarea{
  width:100%;
  padding:.85rem 1rem;
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  font:inherit;
}

.review-form textarea{
  resize:vertical;
}

.review-form button{
  align-self:flex-start;
}

.modal-details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
  margin-bottom:1.5rem;
}

.modal-details-grid ul,
.text-modal ul{
  padding-left:1.2rem;
}

.refund-card{
  margin-bottom:1.5rem;
  padding:1rem;
  background:#edf8ed;
  border-left:4px solid var(--green);
  border-radius:16px;
}

.refund-card h4{
  color:var(--forest);
}

.contact-modal{
  max-width:800px;
  text-align:center;
}

.contact-cta{
  display:flex;
  width:max-content;
  max-width:100%;
  margin:1.5rem auto 0;
}

.contact-details{
  display:block;
  width:max-content;
  max-width:100%;
  margin:1rem auto 0;
  text-align:left;
}

.detail-page{
  background:
    linear-gradient(180deg,rgba(242,251,241,.76),rgba(255,255,255,.92)),
    url("assets/hero_bg_final.png") center top/cover fixed no-repeat;
}

.detail-page.page-top{
  padding-top:8.5rem;
}

.detail-loading{
  width:min(900px,calc(100% - 2rem));
  margin:3rem auto 6rem;
  padding:3rem;
  text-align:center;
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--soft-shadow);
}

.detail-loading h1{
  color:var(--forest);
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.1;
}

.detail-hero{
  position:relative;
  width:min(1380px,calc(100% - 2rem));
  min-height:540px;
  margin:0 auto 2rem;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  border-radius:22px;
  box-shadow:var(--shadow);
}

.detail-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.detail-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,63,30,.08),rgba(5,47,20,.9));
}

.detail-hero-content{
  position:relative;
  z-index:1;
  max-width:820px;
  padding:clamp(1.4rem,5vw,4rem);
  color:#fff;
}

.detail-hero-content h1{
  margin:.5rem 0 1rem;
  color:#fff;
  font-size:clamp(2.3rem,6vw,5rem);
  line-height:1.04;
  font-weight:900;
}

.detail-hero-content p{
  color:rgba(255,255,255,.9);
  font-size:1.06rem;
}

.detail-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:1.7rem;
}

.detail-shell{
  width:min(1380px,calc(100% - 2rem));
  margin:0 auto 6rem;
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  gap:1.5rem;
  align-items:start;
}

.detail-summary,
.detail-card{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(217,234,217,.92);
  border-radius:18px;
  box-shadow:var(--soft-shadow);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.detail-summary{
  position:sticky;
  top:8.8rem;
  padding:1.4rem;
}

.detail-price{
  margin-bottom:1rem;
  color:var(--forest);
  font-size:2rem;
  font-weight:900;
}

.detail-summary dl{
  display:grid;
  gap:.8rem;
  margin-bottom:1.25rem;
}

.detail-summary dl div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 0;
  border-bottom:1px solid rgba(217,234,217,.9);
}

.detail-summary dt{
  color:var(--muted);
  font-weight:800;
}

.detail-summary dd{
  color:var(--ink);
  text-align:right;
  font-weight:900;
}

.detail-book{
  width:100%;
}

.detail-content{
  display:grid;
  gap:1.25rem;
}

.detail-card{
  padding:1.6rem;
}

.detail-card h2{
  margin-bottom:1rem;
  color:var(--forest);
  font-size:1.55rem;
  line-height:1.2;
  font-weight:900;
}

.detail-card p,
.detail-card li{
  color:var(--muted);
}

.detail-itinerary{
  display:grid;
  gap:1rem;
}

@media (max-width:1120px){
  .header{
    display:grid;
    grid-template-columns:1fr auto;
    row-gap:1rem;
  }

  .nav-links{
    grid-column:1 / -1;
    grid-row:2;
    justify-content:center;
    flex-wrap:wrap;
    margin-left:0;
    gap:1.2rem 1.8rem;
  }

  .why-grid,
  .founders-grid,
  .testimonial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .featured-package-board,
  .packages-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .packages-hero,
  .package-layout{
    grid-template-columns:1fr;
  }

  .filter-panel{
    position:relative;
    top:auto;
    max-height:none;
  }

  .detail-shell{
    grid-template-columns:1fr;
  }

  .detail-summary{
    position:relative;
    top:auto;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:768px){
  .header{
    display:flex;
    position:relative;
  }

  .logo-container{
    min-width:0;
  }

  .logo-img{
    width:42px;
    height:42px;
  }

  .logo-text{
    font-size:1rem;
    line-height:1.15;
  }

  .menu-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-left:auto;
  }

  .nav-actions{
    display:none;
  }

  .nav-cta{
    min-height:42px;
    padding:.65rem 1rem;
    font-size:.84rem;
  }

  .nav-links{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#043b16;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:20px;
    display:none;
    border-radius:0 0 20px 20px;
  }

  .nav-links.active{
    display:flex;
  }

  .dropdown-content{
    position:static;
    box-shadow:none;
    background:transparent;
    display:none;
  }

  .dropdown-content a{
    color:#fff;
  }

  .dropdown-content a:hover,
  .dropdown-content a:focus{
    background:transparent;
    color:#fff;
  }
  
  .dropdown:hover .dropdown-content,
  .dropdown:focus-within .dropdown-content,
  .dropdown.active .dropdown-content {
    display:block;
  }

  .nav-links a,
  .nav-link,
  .nav-links button{
    width:100%;
    font-size:.82rem;
  }

  .hero{
    min-height:auto;
    padding:120px 20px 60px;
  }

  .animate-title{
    font-size:2.5rem;
    line-height:1.1;
  }

  .hero-copy{
    font-size:1rem;
  }

  .hero-panel{
    margin-top:1.5rem;
    padding:30px 20px;
    border-radius:24px;
  }

  .hero-actions{
    width:100%;
  }

  .hero-cta{
    width:100%;
    max-width:300px;
  }

  .trek-container,
  .insta-feed-section,
  .footer{
    padding-left:1rem;
    padding-right:1rem;
  }

  .trek-grid,
  .why-grid,
  .founders-grid,
  .testimonial-grid,
  .featured-package-board,
  .packages-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .packages-page{
    padding:5.25rem 1rem;
  }

  .packages-page.page-top{
    padding-top:10rem;
  }

  .detail-page.page-top{
    padding-top:9.5rem;
  }

  .detail-hero{
    min-height:480px;
    width:calc(100% - 2rem);
    border-radius:18px;
  }

  .detail-hero-actions .hero-cta{
    width:100%;
    max-width:none;
  }

  .detail-card{
    padding:1.15rem;
  }

  .packages-hero{
    padding:1.15rem;
    border-radius:16px;
  }

  .package-search{
    min-height:60px;
    padding:.6rem .75rem;
  }

  .package-search input{
    font-size:.92rem;
  }

  .filter-panel{
    padding:1rem;
    border-radius:16px;
  }

  .package-results-head{
    align-items:flex-start;
    flex-direction:column;
    gap:.75rem;
    padding:1rem;
  }

  .package-results-head p:last-child{
    text-align:left;
  }

  .package-badges{
    top:.7rem;
    left:.7rem;
    right:.7rem;
  }

  .package-badges span,
  .difficulty-badge{
    min-height:28px;
    padding:.32rem .55rem;
    font-size:.68rem;
  }

  .contact-widget{
    right:15px;
    left:auto;
    bottom:112px;
  }

  .widget-btn{
    width:52px;
    height:52px;
  }

  .chat-toggle-btn{
    right:15px;
  }

  .chat-toggle-btn .chat-label{
    display:none;
  }

  .chat-window{
    right:1rem;
    bottom:4.6rem;
    width:calc(100vw - 2rem);
    height:60vh;
  }

  .modal-overlay{
    padding:1rem;
  }

  .modal-content{
    max-height:94vh;
    border-radius:20px;
  }

  .modal-header-img{
    height:250px;
  }

  .modal-body,
  .text-modal{
    padding:1.35rem;
  }

  .modal-header-info,
  .review-form-inputs{
    flex-direction:column;
  }

  .modal-pricing-info,
  .modal-price-list,
  .modal-pricing-info small{
    text-align:left;
    align-items:flex-start;
    margin-left:0;
  }

  .modal-price-row{
    justify-content:flex-start;
  }

  .modal-details-grid{
    grid-template-columns:1fr;
  }
}

.reveal,
.reveal-left,
.reveal-right{
  opacity: 0;
  transform: translateY(40px);
  filter: blur(6px);
  transition: all 0.8s ease;
}

.reveal.active,
.reveal-left.active,
.reveal-right.active{
  opacity: 1;
  transform: none;
  filter: blur(0);
}

.reveal-zoom{
  opacity: 0;
  transform: scale(0.9);
  filter: blur(6px);
  transition: all 0.8s ease;
}

.reveal-zoom.active{
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

@media (max-width:480px){
  .nav-actions{
    display:none;
  }

  .nav-links{
    width:100%;
  }

  .animate-title{
    font-size:2.55rem;
  }

  .detail-hero{
    min-height:430px;
  }

  .detail-summary dl div{
    flex-direction:column;
    gap:.25rem;
  }

  .detail-summary dd{
    text-align:left;
  }
}
