:root {
  --green: var(--primary, #186900);
  --green-dark: var(--primary-dark, #0f4a00);
  --green-600: var(--primary-dark, #1f7d05);
  --green-tint: #eef6ea;--green-tint:color-mix(in srgb, var(--primary, #eef6ea) 15%, #fff);
  --green-tint-2: #f5faf2;--green-tint-2:color-mix(in srgb, var(--primary, #f5faf2) 9%, #fff);
  --amber: var(--button-color, #fbbf24);
  --amber-dark: var(--button-color-dk, #d99e05);

  --ink: #14181f;
  --body: #4b5563;
  --muted: #6b7280;
  --line: #e7ebef;
  --bg: #ffffff;
  --bg-soft: #f6f8fb;
  --white: #ffffff;

  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 22px;
  --shadow-sm: 0 4px 16px rgba(16, 40, 24, .06);
  --shadow: 0 14px 40px rgba(16, 40, 24, .10);
  --shadow-lg: 0 26px 60px rgba(16, 40, 24, .16);

  --header-h: 128px;
  --container: 1180px;

  --font-head: "Poppins", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, sans-serif;
}*, *::before, *::after { box-sizing: border-box; }* { margin: 0; }html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }body {
  font-family: var(--font-body);
  color: var(--body);
  background: var(--bg);
  line-height: 1.65;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}img { max-width: 100%; display: block; }a { color: inherit; text-decoration: none; }ul { list-style: none; padding: 0; }button { font-family: inherit; cursor: pointer; border: 0; background: none; }h1, h2, h3, h4, h5 { font-family: var(--font-head); color: var(--ink); line-height: 1.18; font-weight: 700; }.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 22px; }.section { padding: 76px 0; }.section--tint { background: var(--bg-soft); }.center { text-align: center; }.eyebrow {
  display: inline-block; font-family: var(--font-head); font-weight: 600;
  color: var(--green); letter-spacing: .12em; text-transform: uppercase;
  font-size: .74rem; margin-bottom: 10px;
}.section-head { max-width: 640px; margin: 0 auto 46px; text-align: center; }.section-head h2 { font-size: clamp(1.8rem, 3.4vw, 2.5rem); font-weight: 800; letter-spacing: -.01em; }.section-head p { margin-top: 12px; color: var(--muted); font-size: 1.02rem; }.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-family: var(--font-head); font-weight: 600; font-size: .95rem;
  padding: 13px 26px; border-radius: 12px; transition: .22s ease;
  white-space: nowrap; line-height: 1;
}.btn-primary { background: var(--green); color: #fff; box-shadow: 0 10px 22px rgba(24,105,0,.24); }.btn-primary:hover { background: var(--green-dark); transform: translateY(-2px); box-shadow: 0 16px 30px rgba(24,105,0,.30); }.btn-accent { background: var(--amber); color: #3a2a00; }.btn-accent:hover { background: var(--amber-dark); color: #2a1f00; transform: translateY(-2px); }.btn-dark { background: var(--ink); color: #fff; }.btn-dark:hover { background: #000; transform: translateY(-2px); }.btn-ghost { background: #fff; color: var(--ink); border: 1px solid var(--line); }.btn-ghost:hover { border-color: var(--green); color: var(--green); }.btn-sm { padding: 10px 18px; font-size: .85rem; }.site-header {
  position: sticky; top: 0; z-index: 60; background: #fff;
  border-bottom: 1px solid var(--line);
}.header-top {
  display: flex; align-items: center; gap: 26px;
  padding: 15px 0;
}.header-top .container { display: flex; align-items: center; gap: 26px; width: 100%; }.brand { display: flex; align-items: center; gap: 11px; flex-shrink: 0; }.brand__mark {
  width: 42px; height: 42px; border-radius: 12px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--green), var(--green-600));
  display: grid; place-items: center; color: #fff;
  box-shadow: 0 6px 16px rgba(24,105,0,.28);
}.brand__mark svg { width: 22px; height: 22px; }.brand__name { font-family: var(--font-head); font-weight: 800; font-size: 1.28rem; color: var(--ink); letter-spacing: -.02em; line-height: 1; }.brand__name span { color: var(--green); }.brand__sub { display: block; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-top: 3px; }.header-search {
  flex: 1; display: flex; align-items: center; gap: 10px;
  background: var(--bg-soft); border: 1px solid var(--line);
  border-radius: 40px; padding: 11px 20px; max-width: 480px;
}.header-search svg { width: 18px; height: 18px; color: var(--muted); flex-shrink: 0; }.header-search input { border: 0; background: none; outline: none; width: 100%; font-size: .92rem; color: var(--ink); }.header-actions { display: flex; align-items: center; gap: 20px; margin-left: auto; flex-shrink: 0; }.link-help { color: var(--green); font-weight: 600; font-family: var(--font-head); font-size: .9rem; }.lang { display: inline-flex; align-items: center; gap: 6px; color: var(--body); font-weight: 600; font-size: .88rem; }.lang svg { width: 16px; height: 16px; }.header-bottom { border-top: 1px solid var(--line); background: #fff; }.header-bottom .container { display: flex; align-items: center; justify-content: space-between; min-height: 56px; }.main-nav { display: flex; align-items: center; gap: 4px; }.main-nav a {
  display: inline-flex; align-items: center; gap: 5px; padding: 9px 15px;
  font-family: var(--font-head); font-weight: 600; font-size: .93rem; color: var(--ink);
  border-radius: 8px; transition: .18s;
}.main-nav a:hover, .main-nav a.active { color: var(--green); background: var(--green-tint); }.main-nav a svg { width: 12px; height: 12px; opacity: .6; }.header-contact { display: flex; align-items: center; gap: 11px; }.header-contact .wa {
  width: 38px; height: 38px; border-radius: 50%; background: #25d366;
  display: grid; place-items: center; color: #fff; flex-shrink: 0;
}.header-contact .wa svg { width: 20px; height: 20px; }.header-contact small { display: block; color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }.header-contact b { font-family: var(--font-head); color: var(--ink); font-size: .95rem; }.nav-toggle { display: none; width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--line); color: var(--ink); }.nav-toggle svg { width: 22px; height: 22px; margin: auto; }.hero {
  position: relative; color: #fff; overflow: hidden;
  background: #0c3a12;
}.hero__bg {
  position: absolute; inset: 0; object-fit: cover; width: 100%; height: 100%;
  z-index: 0;
}.hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(9,40,15,.78) 0%, rgba(9,40,15,.42) 48%, rgba(9,40,15,.18) 100%);
}.hero__inner { position: relative; z-index: 2; padding: 96px 0 150px; }.hero h1 {
  color: #fff; font-size: clamp(2.4rem, 5.4vw, 4rem); font-weight: 800;
  letter-spacing: -.02em; max-width: 760px; text-shadow: 0 4px 24px rgba(0,0,0,.28);
}.hero p {
  margin-top: 18px; font-size: clamp(1rem, 1.6vw, 1.18rem); max-width: 620px;
  color: rgba(255,255,255,.92); font-weight: 500;
}.booking-shell {
  position: relative; z-index: 5; margin: -96px auto 0; max-width: 1040px;
}.booking-card {
  background: #fff; border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg); padding: 22px 24px 24px;
}.booking-tabs { display: flex; gap: 10px; margin-bottom: 4px; flex-wrap: wrap; }.booking-tabs .tab {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px;
  border-radius: 30px; font-family: var(--font-head); font-weight: 600; font-size: .9rem;
  color: var(--ink); border: 1px solid var(--line); background: #fff; transition: .18s;
}.booking-tabs .tab svg { width: 15px; height: 15px; }.booking-tabs .tab.active { background: var(--green); color: #fff; border-color: var(--green); }.booking-note { margin-top: 16px; font-size: .88rem; color: var(--muted); }.booking-note a { color: var(--green); font-weight: 600; }.booking-shell, .booking-card { max-width: 100%; }.promo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }.promo-card {
  position: relative; border-radius: var(--radius); overflow: hidden;
  aspect-ratio: 16 / 7; box-shadow: var(--shadow-sm); color: #fff;
  display: flex; align-items: center; padding: 26px; isolation: isolate;
}.promo-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }.promo-card::after { content: ""; position: absolute; inset: 0; z-index: -1; }.promo-card--a::after { background: linear-gradient(90deg, rgba(24,105,0,.86), rgba(24,105,0,.35)); }.promo-card--b::after { background: linear-gradient(90deg, rgba(217,158,5,.90), rgba(217,158,5,.40)); }.promo-card--c::after { background: linear-gradient(90deg, rgba(15,74,0,.86), rgba(24,105,0,.35)); }.promo-card .badge {
  position: absolute; top: 14px; right: 16px; background: var(--amber); color: #3a2a00;
  font-family: var(--font-head); font-weight: 800; font-size: .95rem; padding: 8px 12px;
  border-radius: 50px; z-index: 1;
}.promo-card small { display: block; font-family: var(--font-head); font-weight: 600; letter-spacing: .04em; opacity: .95; }.promo-card h3 { color: #fff; font-size: 1.6rem; font-weight: 800; margin: 4px 0 6px; line-height: 1.1; }.promo-card .price { font-family: var(--font-head); font-weight: 800; font-size: 1.5rem; }.promo-card .cta { margin-top: 8px; font-weight: 600; font-family: var(--font-head); text-decoration: underline; }.dots { display: flex; gap: 8px; justify-content: center; margin-top: 30px; }.dots span { width: 9px; height: 9px; border-radius: 50%; background: var(--line); }.dots span.active { width: 26px; border-radius: 6px; background: var(--green); }.filter-tabs { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 38px; }.filter-tabs button {
  padding: 9px 20px; border-radius: 30px; font-family: var(--font-head); font-weight: 600;
  font-size: .9rem; color: var(--body); border: 1px solid var(--line); background: #fff; transition: .18s;
}.filter-tabs button:hover { border-color: var(--green); color: var(--green); }.filter-tabs button.active { background: var(--green); color: #fff; border-color: var(--green); }.dest-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }.dest-card {
  position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 3 / 4;
  box-shadow: var(--shadow-sm); display: block;
}.dest-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }.dest-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,20,12,.82) 0%, rgba(8,20,12,.05) 55%); }.dest-card:hover img { transform: scale(1.08); }.dest-card figcaption {
  position: absolute; left: 16px; bottom: 16px; z-index: 2; color: #fff;
  display: flex; align-items: center; gap: 7px; font-family: var(--font-head); font-weight: 700; font-size: 1.05rem;
}.dest-card figcaption svg { width: 16px; height: 16px; color: var(--amber); }.dest-card .tag {
  position: absolute; top: 14px; left: 14px; z-index: 2; background: rgba(255,255,255,.92);
  color: var(--green); font-family: var(--font-head); font-weight: 700; font-size: .72rem;
  padding: 5px 11px; border-radius: 30px;
}.why-box {
  background: var(--green-tint); border-radius: var(--radius-lg); padding: 46px 40px;
}.why-box .section-head { margin-bottom: 34px; }.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }.why-item { display: flex; gap: 16px; }.why-item .ic {
  width: 54px; height: 54px; border-radius: 14px; flex-shrink: 0; display: grid; place-items: center;
  background: #fff; color: var(--green); box-shadow: var(--shadow-sm);
}.why-item:nth-child(2) .ic { color: var(--amber-dark); }.why-item .ic svg { width: 26px; height: 26px; }.why-item h4 { font-size: 1.08rem; margin-bottom: 4px; }.why-item p { font-size: .92rem; color: var(--muted); }.why-cta { text-align: center; margin-top: 34px; }.pkg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }.pkg-grid--2 { grid-template-columns: repeat(2, 1fr); }.pkg-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow-sm); transition: .25s; display: flex; flex-direction: column;
}.pkg-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }.pkg-card__media { position: relative; aspect-ratio: 16 / 11; overflow: hidden; }.pkg-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }.pkg-card:hover .pkg-card__media img { transform: scale(1.07); }.pkg-card__tag {
  position: absolute; top: 13px; left: 13px; background: var(--amber); color: #3a2a00;
  font-family: var(--font-head); font-weight: 700; font-size: .72rem; padding: 5px 11px; border-radius: 30px;
}.pkg-card__fav {
  position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border-radius: 50%;
  background: rgba(255,255,255,.92); display: grid; place-items: center; color: var(--green);
}.pkg-card__fav svg { width: 17px; height: 17px; }.pkg-card__body { padding: 18px 18px 20px; display: flex; flex-direction: column; flex: 1; }.pkg-card__body h3 { font-size: 1.12rem; font-weight: 700; }.pkg-meta { display: flex; flex-wrap: wrap; gap: 14px; margin: 10px 0 16px; color: var(--muted); font-size: .82rem; }.pkg-meta span { display: inline-flex; align-items: center; gap: 5px; }.pkg-meta svg { width: 14px; height: 14px; color: var(--green); }.pkg-meta .stars svg { color: var(--amber); }.pkg-card__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--line); }.pkg-price { font-family: var(--font-head); }.pkg-price small { display: block; color: var(--muted); font-size: .7rem; }.pkg-price b { color: var(--green); font-size: 1.25rem; }.pkg-price del { color: var(--muted); font-size: .85rem; font-weight: 500; margin-right: 4px; }.more-row { text-align: center; margin-top: 44px; }.quote-banner { position: relative; color: #fff; text-align: center; overflow: hidden; }.quote-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }.quote-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(9,30,14,.62), rgba(9,30,14,.72)); z-index: 1; }.quote-banner__inner { position: relative; z-index: 2; padding: 96px 22px; max-width: 820px; margin: 0 auto; }.quote-banner small { font-family: var(--font-head); letter-spacing: .12em; text-transform: uppercase; color: var(--amber); font-weight: 600; }.quote-banner h2 { color: #fff; font-size: clamp(1.9rem, 4vw, 3rem); font-weight: 800; margin: 14px 0 18px; line-height: 1.2; }.quote-banner .who { font-family: var(--font-head); font-weight: 600; opacity: .9; }.quote-banner .who span { display: block; font-weight: 400; font-size: .85rem; opacity: .8; }.quote-banner .btn { margin-top: 26px; }.customize {
  background: linear-gradient(120deg, var(--green), var(--green-600));
  border-radius: var(--radius-lg); padding: 50px 40px; text-align: center; color: #fff;
  box-shadow: var(--shadow);
}.customize h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; }.customize p { color: rgba(255,255,255,.88); margin: 10px auto 26px; max-width: 560px; }.customize__form {
  display: flex; gap: 10px; max-width: 620px; margin: 0 auto; background: #fff;
  padding: 8px; border-radius: 14px;
}.customize__form input { flex: 1; border: 0; outline: none; padding: 0 16px; font-size: .95rem; color: var(--ink); }.customize__chips { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }.customize__chips span {
  display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.28); color: #fff; padding: 8px 16px; border-radius: 30px;
  font-size: .85rem; font-family: var(--font-head); font-weight: 500;
}.customize__chips svg { width: 15px; height: 15px; color: var(--amber); }.partners { text-align: center; }.partners h3 { font-size: 1.1rem; color: var(--muted); font-weight: 600; margin-bottom: 30px; }.partner-row { display: flex; flex-wrap: wrap; gap: 40px 56px; align-items: center; justify-content: center; opacity: .72; }.partner-row .p-logo {
  font-family: var(--font-head); font-weight: 800; font-size: 1.3rem; color: var(--ink);
  display: inline-flex; align-items: center; gap: 8px; letter-spacing: -.02em;
}.partner-row .p-logo svg { width: 24px; height: 24px; color: var(--green); }.partner-row .p-logo span { color: var(--green); }.blog-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 26px; }.blog-feature { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 380px; color: #fff; display: flex; align-items: flex-end; }.blog-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.blog-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,20,12,.86), rgba(8,20,12,.05)); }.blog-feature__body { position: relative; z-index: 2; padding: 30px; }.blog-side { display: flex; flex-direction: column; gap: 22px; }.blog-mini { display: flex; gap: 16px; align-items: stretch; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: .22s; }.blog-mini:hover { transform: translateY(-4px); box-shadow: var(--shadow); }.blog-mini__media { width: 150px; flex-shrink: 0; }.blog-mini__media img { width: 100%; height: 100%; object-fit: cover; }.blog-mini__body { padding: 16px 16px 16px 0; display: flex; flex-direction: column; justify-content: center; }.blog-date { font-size: .78rem; color: var(--green); font-weight: 600; font-family: var(--font-head); display: inline-flex; align-items: center; gap: 6px; }.blog-date svg { width: 13px; height: 13px; }.blog-feature h3 { color: #fff; font-size: 1.5rem; margin: 8px 0; }.blog-feature p { color: rgba(255,255,255,.85); font-size: .92rem; }.blog-mini h4 { font-size: 1.02rem; margin: 6px 0; }.blog-mini p { font-size: .85rem; color: var(--muted); }.blog-tag { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--amber-dark); font-weight: 700; font-family: var(--font-head); }.testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.testi-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow-sm); }.testi-head { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; }.testi-head .av { width: 48px; height: 48px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }.testi-head .av img { width: 100%; height: 100%; object-fit: cover; }.testi-head b { font-family: var(--font-head); color: var(--ink); font-size: .98rem; display: block; }.testi-head small { color: var(--muted); font-size: .8rem; }.testi-stars { color: var(--amber); display: flex; gap: 2px; margin-bottom: 10px; }.testi-stars svg { width: 16px; height: 16px; }.testi-card p { font-size: .93rem; color: var(--body); }.testi-card h5 { color: var(--green); font-size: 1rem; margin-bottom: 6px; }.rating-badges { display: flex; gap: 30px; align-items: center; justify-content: center; margin-top: 40px; flex-wrap: wrap; }.rating-badge { display: flex; align-items: center; gap: 12px; }.rating-badge .score { font-family: var(--font-head); font-weight: 800; font-size: 1.6rem; color: var(--ink); }.rating-badge b { font-family: var(--font-head); color: var(--ink); }.rating-badge .stars { color: #00b67a; display: flex; gap: 2px; }.rating-badge .stars svg { width: 15px; height: 15px; }.rating-badge small { display: block; color: var(--muted); font-size: .78rem; }.faq { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }.faq-item { border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; overflow: hidden; transition: .2s; }.faq-item.open { border-color: var(--green); box-shadow: var(--shadow-sm); }.faq-q {
  width: 100%; text-align: left; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 22px; font-family: var(--font-head); font-weight: 600; font-size: 1rem; color: var(--ink);
}.faq-q .icn { width: 26px; height: 26px; border-radius: 50%; background: var(--green-tint); color: var(--green); display: grid; place-items: center; flex-shrink: 0; transition: .25s; }.faq-item.open .faq-q .icn { background: var(--green); color: #fff; transform: rotate(45deg); }.faq-q .icn svg { width: 15px; height: 15px; }.faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }.faq-a p { padding: 0 22px 20px; color: var(--muted); font-size: .93rem; }.stats { background: var(--green-tint-2); }.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }.stat { text-align: center; padding: 10px; }.stat .ic { width: 52px; height: 52px; border-radius: 14px; background: #fff; color: var(--green); display: grid; place-items: center; margin: 0 auto 12px; box-shadow: var(--shadow-sm); }.stat .ic svg { width: 26px; height: 26px; }.stat b { font-family: var(--font-head); font-size: 2rem; font-weight: 800; color: var(--ink); display: block; }.stat small { color: var(--muted); font-size: .9rem; }.inquiry { background: var(--ink); color: #fff; }.inquiry .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px 22px; flex-wrap: wrap; }.inquiry h3 { color: #fff; font-size: 1.5rem; }.inquiry p { color: rgba(255,255,255,.7); font-size: .92rem; margin-top: 4px; }.inquiry__contacts { display: flex; gap: 30px; flex-wrap: wrap; }.inq-item { display: flex; align-items: center; gap: 12px; }.inq-item .ic { width: 46px; height: 46px; border-radius: 12px; background: rgba(255,255,255,.08); color: var(--amber); display: grid; place-items: center; }.inq-item .ic svg { width: 22px; height: 22px; }.inq-item small { display: block; color: rgba(255,255,255,.6); font-size: .76rem; }.inq-item b { font-family: var(--font-head); font-size: 1.02rem; }.footer { background: #0d1510; color: rgba(255,255,255,.72); padding: 64px 0 0; }.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }.footer .brand__name { color: #fff; }.footer .brand__name span { color: var(--amber); }.footer .brand__sub { color: rgba(255,255,255,.5); }.footer-about p { margin: 18px 0; font-size: .9rem; max-width: 320px; }.footer-social { display: flex; gap: 10px; }.footer-social a { width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.08); display: grid; place-items: center; color: #fff; transition: .2s; }.footer-social a:hover { background: var(--green); }.footer-social svg { width: 18px; height: 18px; }.footer-col h4 { color: #fff; font-size: 1rem; margin-bottom: 18px; }.footer-col a { display: block; padding: 6px 0; font-size: .9rem; transition: .18s; }.footer-col a:hover { color: var(--amber); padding-left: 4px; }.footer-apps { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }.app-badge { display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; padding: 8px 14px; }.app-badge svg { width: 22px; height: 22px; color: #fff; }.app-badge small { display: block; font-size: .62rem; color: rgba(255,255,255,.6); }.app-badge b { color: #fff; font-family: var(--font-head); font-size: .9rem; }.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 22px 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .84rem; }.footer-bottom a:hover { color: var(--amber); }.page-hero { position: relative; color: #fff; overflow: hidden; }.page-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,40,15,.82), rgba(9,40,15,.45)); }.page-hero__inner { position: relative; z-index: 2; padding: 84px 0; }.page-hero h1 { color: #fff; font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; }.breadcrumb { margin-top: 12px; font-size: .9rem; color: rgba(255,255,255,.82); display: flex; gap: 8px; align-items: center; }.breadcrumb a:hover { color: var(--amber); }.contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; align-items: start; }.contact-info { display: flex; flex-direction: column; gap: 22px; }.contact-info .row { display: flex; gap: 15px; align-items: flex-start; }.contact-info .ic { width: 48px; height: 48px; border-radius: 12px; background: var(--green-tint); color: var(--green); display: grid; place-items: center; flex-shrink: 0; }.contact-info .ic svg { width: 22px; height: 22px; }.contact-info b { font-family: var(--font-head); color: var(--ink); display: block; }.contact-info span { font-size: .92rem; color: var(--muted); }.contact-form { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow-sm); }.field { margin-bottom: 16px; }.field label { display: block; font-family: var(--font-head); font-weight: 600; font-size: .88rem; color: var(--ink); margin-bottom: 6px; }.field input, .field textarea, .field select {
  width: 100%; padding: 12px 15px; border: 1px solid var(--line); border-radius: 10px;
  font-family: inherit; font-size: .93rem; color: var(--ink); outline: none; transition: .18s; background: var(--bg-soft);
}.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--green); background: #fff; box-shadow: 0 0 0 3px rgba(24,105,0,.1); }.field textarea { resize: vertical; min-height: 130px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.form-note { font-size: .82rem; color: var(--muted); margin-top: 4px; }.prose { max-width: 760px; }.prose p { margin-bottom: 16px; }.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.value-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow-sm); }.value-card .ic { width: 52px; height: 52px; border-radius: 14px; background: var(--green-tint); color: var(--green); display: grid; place-items: center; margin-bottom: 16px; }.value-card .ic svg { width: 26px; height: 26px; }.value-card h4 { margin-bottom: 8px; }.value-card p { font-size: .92rem; color: var(--muted); }.split { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }.split img { border-radius: var(--radius); box-shadow: var(--shadow); }.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }.reveal.in { opacity: 1; transform: none; }


@media (max-width: 1024px) {:root { --header-h: 118px; }.promo-grid, .why-grid, .pkg-grid, .stats-grid, .value-grid { grid-template-columns: repeat(2, 1fr); }.dest-grid { grid-template-columns: repeat(2, 1fr); }.testi-grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }.blog-grid, .split, .contact-grid { grid-template-columns: 1fr; }.header-search { max-width: 320px; }
}

@media (max-width: 860px) {.header-search { display: none; }.header-bottom { display: none; }.header-bottom.open { display: block; position: absolute; left: 0; right: 0; top: 100%; box-shadow: var(--shadow); border-top: 0; }.header-bottom.open .container { flex-direction: column; align-items: stretch; padding: 12px 22px 18px; min-height: 0; }.header-bottom.open .main-nav { flex-direction: column; align-items: stretch; }.header-bottom.open .main-nav a { padding: 12px 14px; border-bottom: 1px solid var(--line); border-radius: 0; }.header-bottom.open .header-contact { margin-top: 12px; }.nav-toggle { display: grid; place-items: center; }.site-header { position: relative; }.hero__inner { padding: 64px 0 130px; }
}

@media (max-width: 680px) {.section { padding: 54px 0; }.promo-grid, .why-grid, .pkg-grid, .pkg-grid--2, .dest-grid, .stats-grid, .value-grid, .form-row { grid-template-columns: 1fr; }.why-box { padding: 30px 20px; }.booking-shell { margin-top: -70px; }.booking-card { padding: 16px; }.customize__form { flex-direction: column; }.customize__form .btn { width: 100%; }.inquiry .container { justify-content: center; text-align: center; }.inquiry__contacts { justify-content: center; }.header-actions { gap: 12px; }.link-help, .lang { display: none; }.stat b { font-size: 1.7rem; }.rating-badges { gap: 20px; }
}

@media (max-width: 420px) {.brand__sub { display: none; }.promo-card h3 { font-size: 1.3rem; }
}

/* adivaha locale-switch header mount v17 */
header .b2c-locale-switch{flex:0 0 auto;align-self:center;}
header .b2c-loc-btn{color:inherit;min-height:0;}
header .b2c-cur-picker{display:none !important;}
header .b2c-loc-panel a{display:block;min-height:0;justify-content:flex-start;text-align:left;padding:.45rem .7rem;font-size:.82rem;font-weight:600;color:#1f2937;}
.top-bar{padding-left:0 !important;padding-right:0 !important;}
.top-bar-row,.product-bar-row{max-width:1200px !important;margin-left:auto !important;margin-right:auto !important;padding-left:20px !important;padding-right:20px !important;box-sizing:border-box;}
.sights-section{padding-left:clamp(1rem,2.5vw,2.5rem) !important;padding-right:clamp(1rem,2.5vw,2.5rem) !important;}
@media (max-width:599px){.top-bar .b2c-contact--email{display:none !important;}}
@media (max-width:520px){header .b2c-locale-switch{gap:.15rem;}header .b2c-loc-btn{padding:.3rem .35rem;font-size:.72rem;}header .b2c-locale-switch .b2c-loc-dd:last-child .b2c-loc-btn > span{display:none;}.b2c-coins-pill{display:none !important;}.product-actions a,.product-actions button{white-space:nowrap !important;}.top-bar{display:flex !important;align-items:center !important;justify-content:space-between !important;flex-wrap:nowrap !important;gap:8px !important;}.top-bar-row{flex:1 1 auto;min-width:0;flex-direction:row !important;align-items:center !important;flex-wrap:nowrap !important;gap:8px !important;margin:0 !important;}.top-bar .b2c-contact-strip{display:flex !important;flex:1 1 auto;min-width:0;flex-wrap:nowrap !important;align-items:center;gap:10px;}.top-bar .b2c-contact{min-width:0;}.top-bar .b2c-contact-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.top-bar .b2c-locale-switch-wrap{flex:0 0 auto;margin-left:auto !important;}}
@media (max-width:900px){header a[class*="btn"],header button[class*="btn"],header [class*="auth-btn"],header [class*="sign"],header [class*="book"],header [class*="cta"],.product-actions a,.product-actions button{white-space:nowrap !important;}}
@media (max-width:420px){header .b2c-locale-switch .b2c-loc-btn > span{display:none !important;}header .b2c-loc-btn{padding:.25rem .2rem !important;}header [class*="brand"] img,header [class*="logo"] img{max-height:26px !important;width:auto !important;}header [class*="brand"]{font-size:15px !important;gap:6px !important;}header *{min-width:0 !important;}header [class*="actions"]{flex-wrap:wrap !important;gap:6px !important;justify-content:flex-end;}header [class*="header-row"],header [class*="header-inner"],header [class*="header__inner"]{gap:8px !important;}header [class*="header-row"],header [class*="header-inner"],header [class*="header__inner"],header [class*="container"]{flex-wrap:wrap !important;row-gap:6px !important;}header .b2c-mnav{flex-wrap:nowrap !important;width:40px !important;height:40px !important;flex:0 0 auto !important;background:transparent !important;border:0 !important;box-shadow:none !important;color:inherit !important;}header .b2c-mnav span{width:20px !important;height:2px !important;flex:0 0 auto !important;background:currentColor !important;border-radius:2px !important;}header a[class*="btn"],header button[class*="btn"],header [class*="auth-btn"],header [class*="sign"],header [class*="book"],header [class*="cta"]{white-space:nowrap !important;}header .b2c-coins-pill{display:none !important;}.b2c-coins-pill{display:none !important;}.product-actions a,.product-actions button{white-space:nowrap !important;}.product-bar-row{gap:8px !important;}}

/* adivaha ai23 theme tweaks v6 */
.abe-search-tabs{justify-content:flex-start !important;margin-left:0 !important;margin-right:auto !important;}
@media (max-width:767px){.header-top .link-help,header .link-help{display:none !important;}.header-top .btn-dark.btn-sm,header .btn-dark.btn-sm{display:none !important;}}
.footer-apps{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.app-badge{display:inline-flex !important;align-items:center;min-width:190px;background-color:#000 !important;background-repeat:no-repeat !important;background-position:16px center !important;background-size:20px 22px !important;border:1px solid rgba(255,255,255,.45);border-radius:8px;padding:8px 16px 8px 48px !important;white-space:nowrap;text-decoration:none;transition:background-color .15s;}
.app-badge:hover{background-color:#141414;}
.app-badge svg{display:none !important;}
.footer-apps .app-badge:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' fill='%23fff'%3E%3Cpath d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5 -24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/%3E%3C/svg%3E");}
.footer-apps .app-badge:last-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%2300c3ff' d='M48 27v458l242-229z'/%3E%3Cpath fill='%2300e676' d='M48 27c9 4 23 7 36 15l268 155-62 59z'/%3E%3Cpath fill='%23ffd500' d='M352 197l62 36c25 15 25 43 0 58l-62 36-64-63z'/%3E%3Cpath fill='%23ff3d47' d='M48 485l242-229 62 59-268 155c-13 8-27 11-36 15z'/%3E%3C/svg%3E");}
.app-badge span{display:flex;flex-direction:column;line-height:1.15;}
.app-badge small{font-size:.6rem;letter-spacing:.02em;color:rgba(255,255,255,.72);}
.app-badge b{font-size:.95rem;color:#fff;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr !important;gap:28px !important;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr !important;gap:24px !important;}.footer-bottom .container{flex-direction:column;align-items:flex-start;gap:8px;text-align:left;}}

/* adivaha phone header fixes v6 */
@media (max-width:520px){header .btn-sm{display:none !important;}}

/* adivaha promo-card polish v1 */
/* Discounts & Offers cards.
   The generator's flat 86-90% colour wash hid the photograph and was
   hard-coded rgba(), so it never followed the tenant's brand. One recipe
   for all three cards now: a bottom scrim carries the text contrast, a
   soft brand sweep carries the identity, and the image stays visible. */
/* A grid item defaults to min-width:auto, so the card's own text can force
   its track wider than 1fr. That blew the row past the 1180px container -
   the strip measured ~1460px - and squeezed the gap down to a few pixels.
   min-width:0 lets the tracks shrink to their share again. */
.promo-grid { gap: 32px !important; column-gap: 32px !important; row-gap: 32px !important; }
.promo-grid > * { min-width: 0; }
.promo-card {
  /* aspect-ratio is what was eating the gap. On a grid item it transfers the
     resolved row height back into a width demand - roughly 255px x 16/9 =
     453px here - and that becomes the track's minimum, so all three tracks
     grew past their 1fr share, the row overflowed the 1180px container, and
     the 32px gap was squeezed to a few pixels. min-width:0 cannot undo it
     because a transferred size is not a min-content contribution. Size the
     card by height instead and the ratio pressure disappears. */
  aspect-ratio: auto;
  min-height: 250px;
  min-width: 0;
  max-width: 100%;
  border-radius: var(--radius-lg, 22px);
  align-items: flex-end;
  padding: 26px 26px 24px;
  box-shadow: var(--shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease;
}
.promo-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.promo-card img { transition: transform .6s ease; }
.promo-card:hover img { transform: scale(1.06); }
.promo-card--a::after,
.promo-card--b::after,
.promo-card--c::after {
  background:
    linear-gradient(to top, rgba(10,16,26,.88) 0%, rgba(10,16,26,.42) 45%, rgba(10,16,26,.04) 80%),
    linear-gradient(115deg, color-mix(in srgb, var(--primary, #186900) 52%, transparent) 0%, transparent 68%);
}
.promo-card > div { max-width: 78%; }
.promo-card small { font-size: .82rem; opacity: .9; letter-spacing: .05em; text-transform: uppercase; }
.promo-card h3 { font-size: 1.45rem; margin: 6px 0 12px; text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.promo-card .badge {
  top: 16px; right: 16px;
  background: var(--button-color, var(--amber));
  color: #fff;
  font-size: .8rem; padding: 7px 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
/* The underlined text link read as an afterthought against a photo - a
   glass pill holds its own and gives a real hit target. */
.promo-card .cta {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 0; padding: 9px 16px; border-radius: 30px;
  text-decoration: none; font-size: .88rem;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.4);
  backdrop-filter: blur(4px);
  transition: background .2s ease, border-color .2s ease;
}
.promo-card:hover .cta { background: rgba(255,255,255,.28); border-color: #fff; }

/* Re-asserted after the block above because these live further up the
   file, where the earlier grid rules would otherwise win. */
@media (max-width: 1024px) { .promo-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px)  {
  .promo-grid { grid-template-columns: 1fr; }
  .promo-card { min-height: 220px; padding: 22px; }
  .promo-card > div { max-width: 100%; }
}
