: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: 300; 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-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: 1010px) {.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; }
}

@media (max-width: 860px) {.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:var(--brand-logo-h, 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%; }
}

/* adivaha ai23 product-nav v1 */
/* product_nav ships an icon with every link. The theme sized nav SVGs at 12px
   for the odd caret it had before; at that size a plane or a bed reads as a
   smudge, so give the product icons room and full opacity. */
.main-nav a svg { width: 15px; height: 15px; opacity: .75; }
.main-nav a:hover svg, .main-nav a.active svg { opacity: 1; }

/* The "More" overflow panel - {{product_nav:6}} emits a native <details> once
   a tenant enables more than six products. Unstyled it drops a bare list into
   the page flow and pushes the header apart, so anchor it as a dropdown. */
.main-nav .b2c-nav-more { position: relative; }
.main-nav .b2c-nav-more-toggle {
  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; cursor: pointer; list-style: none; transition: .18s;
}
.main-nav .b2c-nav-more-toggle::-webkit-details-marker { display: none; }
.main-nav .b2c-nav-more[open] > .b2c-nav-more-toggle,
.main-nav .b2c-nav-more-toggle:hover { color: var(--green); background: var(--green-tint); }
.main-nav .b2c-nav-more-panel {
  position: absolute; z-index: 60; top: calc(100% + 6px); left: 0;
  min-width: 208px; padding: 8px; display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--line);
  border-radius: 12px; box-shadow: var(--shadow);
}


/* ai23: the WhatsApp block rides in the top strip */
/* ai23 header v2: the nav scrolls inside the header's own edge */
/* Sized for a utility strip rather than for the nav row it came from: the
   38px mark would have grown the strip's height. */
.header-top .header-actions { gap: 16px; }
.header-top .header-actions .b2c-locale-switch { margin-right: 6px; }
.header-top .header-contact { gap: 9px; }
.header-top .header-contact .wa { width: 32px; height: 32px; }
.header-top .header-contact .wa svg { width: 17px; height: 17px; }
.header-top .header-contact small { font-size: .62rem; }
.header-top .header-contact b { font-size: .88rem; }

/* The nav slides instead of overhanging. Desktop only - below 1010px this
   row is the hamburger panel and stacks, which must not change.

   The scroller is the NAV, not the row around it. The row's box runs to the
   window, so a link clipped by it was cut where the page ends rather than
   where the header's content ends - the last link ran under the WhatsApp
   block above it and touched the body's edge, which read as the design
   breaking. The nav sits inside the padded container, so it stops on the
   same line the strip above stops on. */
@media (min-width: 1011px) {
  .header-bottom .container { overflow: visible; }
  .main-nav { flex: 1 1 auto; min-width: 0; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
  .main-nav::-webkit-scrollbar { width: 0; height: 0; }
  .main-nav a, .main-nav .b2c-nav-more-toggle { white-space: nowrap; }
  /* A scroller clips what hangs out of it and the More panel hangs BELOW the
     nav, so while it is open the nav is not a scroller. */
  .main-nav:has(.b2c-nav-more[open]) { overflow: visible; }
}

/* On a phone the strip keeps the mark; the number would push the hamburger
   off the edge. Under 400 even the mark goes: the logo, the pickers and the
   hamburger are what a screen that narrow has room for. */
@media (max-width: 767px) {
  .header-top .header-contact > span + span { display: none; }
}
@media (max-width: 399px) {
  .header-top .header-contact { display: none; }
}
