/* Extracted from index.html; regenerate with scripts/extract-page-inline-assets.js. */

.page-home {
    --home-surface: var(--luxury-surface);
    --home-surface-soft: var(--luxury-surface-soft);
    --home-forest: var(--luxury-forest);
    --home-forest-soft: var(--luxury-forest-soft);
    --home-gold: var(--luxury-gold);
    --home-gold-soft: rgba(202, 162, 77, 0.14);
    --home-border: rgba(22, 58, 44, 0.11);
    --home-shadow: 0 22px 44px rgba(13, 44, 33, 0.08);
  }

/* Compact, evidence-led guest feedback between the trust promise and founder story. */
.page-home .guest-feedback {
  padding: clamp(46px, 6vw, 76px) 20px;
  background: #fff;
  color: #24342d;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
}

.page-home .guest-feedback__shell {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.page-home .guest-feedback__intro {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(280px, 1.18fr);
  gap: 24px 48px;
  align-items: end;
  margin-bottom: clamp(24px, 3vw, 34px);
}

.page-home .guest-feedback__eyebrow {
  grid-column: 1 / -1;
  margin: 0;
  color: #75613b;
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.page-home .guest-feedback h2 {
  margin: 0;
  color: #17392d;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.42rem, 2.2vw, 1.9rem);
  font-weight: 400;
  line-height: 1.18;
}

.page-home .guest-feedback__intro > p:last-child {
  margin: 0;
  color: #5a6862;
  font-size: clamp(0.82rem, 1vw, 0.9rem);
  font-weight: 400;
  line-height: 1.62;
}

.page-home .guest-feedback__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 360px));
  justify-content: center;
  width: min(756px, 100%);
  gap: clamp(16px, 2vw, 22px);
  margin: 0 auto;
}

.page-home .guest-feedback__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #e2e8e5;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.page-home .guest-feedback__journey {
  margin: 0 0 5px;
  color: #75613b;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  font-size: 0.54rem;
  font-weight: 400;
  letter-spacing: 0.09em;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-home .guest-feedback__card h3 {
  max-width: 25ch;
  margin: 0 0 8px;
  color: #17392d;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  font-size: clamp(0.92rem, 1.05vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.32;
}

.page-home .guest-feedback__source {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 10px 0 0;
  color: #7b8681;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  font-size: 0.5rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.page-home .guest-feedback__source img {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

.page-home .guest-feedback blockquote {
  position: relative;
  margin: 0;
  padding-top: 8px;
}

.page-home .guest-feedback blockquote::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 1px;
  background: #b8c2bd;
  content: "";
}

.page-home .guest-feedback blockquote p {
  margin: 0;
  max-height: 4.65em;
  color: #4d5d56;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  display: -webkit-box;
  overflow: hidden;
  font-size: clamp(0.78rem, 0.86vw, 0.84rem);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.58;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.page-home .guest-feedback blockquote p:last-child {
  margin-bottom: 0;
}

.page-home .guest-feedback__read-more {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin: 9px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #49685c;
  font: 400 0.56rem/1.35 "Lato", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.page-home .guest-feedback__read-more > span:last-child {
  font-size: 1rem;
  font-weight: 400;
  line-height: 0.8;
  transition: transform 180ms ease;
}

.page-home .guest-feedback__read-more:hover,
.page-home .guest-feedback__read-more:focus-visible {
  color: #17392d;
}

.page-home .guest-feedback__read-more:focus-visible {
  outline: 2px solid rgba(23, 57, 45, 0.42);
  outline-offset: 4px;
}

.page-home .guest-feedback__card.is-expanded .guest-feedback__read-more > span:last-child {
  transform: rotate(45deg);
}

.page-home .guest-feedback__card.is-expanded blockquote {
  display: none;
}

.page-home .guest-feedback__full {
  margin-top: 8px;
  color: #4d5d56;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  font-size: clamp(0.78rem, 0.86vw, 0.84rem);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.58;
}

.page-home .guest-feedback__full p {
  margin: 0 0 10px;
}

.page-home .guest-feedback__full p:last-child {
  margin-bottom: 0;
}

.page-home .guest-feedback__google-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e2e8e5;
  color: #315c4c;
  text-decoration: none;
  font-size: 0.58rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-home .guest-feedback__google-link span {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
  transition: transform 180ms ease, color 180ms ease;
}

.page-home .guest-feedback__google-link:hover span,
.page-home .guest-feedback__google-link:focus-visible span {
  transform: translate(3px, -3px);
  color: #17392d;
}

.page-home .guest-feedback figcaption {
  display: grid;
  gap: 3px;
  margin-top: auto;
  padding-top: 14px;
  color: #7b8681;
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.035em;
}

.page-home .guest-feedback__reviewer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.page-home .guest-feedback figcaption strong {
  color: #294b3e;
  font-size: 0.76rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.page-home .guest-feedback__rating {
  color: #7b8681;
}

.page-home .guest-feedback__rating > span {
  color: #9a782f;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}

@media (max-width: 760px) {
  .page-home .guest-feedback {
    padding: 42px 16px 46px;
  }

  .page-home .guest-feedback__intro {
    grid-template-columns: 1fr;
  }

  .page-home .guest-feedback__grid {
    display: flex !important;
    grid-template-columns: none !important;
    justify-content: flex-start;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
    padding: 0 18px 8px 0;
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }

  .page-home .guest-feedback__grid::-webkit-scrollbar {
    display: none;
  }

  .page-home .guest-feedback__intro {
    gap: 16px;
  }

  .page-home .guest-feedback__card {
    flex: 0 0 calc(100% - 42px) !important;
    width: calc(100% - 42px) !important;
    max-width: none;
    padding: 14px 16px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .page-home .guest-feedback__card h3 {
    margin-bottom: 10px;
  }
}

.page-home .founder-text--standalone {
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
    text-align: left;
  }

.page-home .founder-link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 12px 9px 16px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #b9c8c1;
    color: #21483a;
    text-decoration: none;
    font-family: "Lato", "Segoe UI", Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(0.74rem, 0.9vw, 0.82rem);
    line-height: 1.2;
    letter-spacing: 0;
    box-shadow: none;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    text-align: left;
    max-width: 100%;
  }

.page-home .founder-link-text {
    flex: 1 1 auto;
  }

.page-home .founder-link-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 26px;
    padding: 0 9px;
    border-radius: 999px;
    background: #eef3f0;
    color: #315c4c;
    font-size: 0.52rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

.page-home .founder-link-button:hover,
.page-home .founder-link-button:focus-visible {
    background: #f5f8f6;
    border-color: #759388;
    color: #17392d;
  }

.page-home .founder-link-button:focus-visible {
    outline: 2px solid rgba(49, 92, 76, 0.38);
    outline-offset: 3px;
  }

.page-home .founder-highlight-section {
  width: 100%;
  padding: clamp(44px, 6vw, 72px) 20px;
  margin: 0;
  background: #fff;
  border: 0;
  color: #24342d;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
}

.page-home .founder-highlight-container {
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
}

.page-home .founder-highlight-content {
  display: grid;
  grid-template-columns: minmax(180px, 210px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(26px, 4vw, 46px);
  padding: 0;
  border: 0;
  background: #fff;
  box-shadow: none;
}

.page-home .founder-image-wrapper {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 8px;
}

.page-home .founder-image-wrapper img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
  object-position: center 28%;
  box-shadow: none;
}

.page-home .founder-heading {
  margin: 0 0 10px;
  color: var(--luxury-forest-deep);
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.28rem, 2.1vw, 1.68rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
}

.page-home .founder-subtext {
  max-width: 62ch;
  margin: 0 0 16px;
  color: #53635c;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  font-size: clamp(0.82rem, 1vw, 0.9rem);
  font-weight: 400;
  line-height: 1.62;
}

.page-home .founder-link-button {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .page-home .founder-highlight-content {
    grid-template-columns: 1fr;
    gap: 18px;
    text-align: left;
  }

  .page-home .founder-image-wrapper {
    width: 100%;
    aspect-ratio: 4 / 3;
  }
}

  .safari-product-showcase {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    scroll-margin-top: 76px;
    padding: clamp(76px, 9vw, 136px) 18px clamp(86px, 10vw, 150px);
    background:
      linear-gradient(180deg, var(--luxury-surface) 0%, #f3f4f0 58%, var(--luxury-cream) 100%);
    color: #101816;
    text-align: left;
  }

  .safari-product-showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      radial-gradient(circle at 17% 18%, rgba(202, 162, 77, 0.2), transparent 22%),
      radial-gradient(circle at 84% 24%, rgba(22, 58, 44, 0.16), transparent 26%);
    opacity: 0.9;
    pointer-events: none;
  }

  .safari-product-shell {
    width: min(1240px, 100%);
    margin: 0 auto;
  }

  .safari-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(320px, 0.72fr);
    gap: clamp(24px, 5vw, 76px);
    align-items: end;
    margin-bottom: clamp(34px, 6vw, 72px);
  }

  .safari-product-showcase .safari-product-title-fallback {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .safari-product-showcase .safari-product-title-fallback::after {
    display: none;
  }

  .safari-product-showcase .safari-product-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    color: #7a6124;
    font-size: var(--fs-label);
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.25;
    text-transform: uppercase;
  }

  .safari-product-showcase .safari-product-kicker::before {
    content: "";
    width: 38px;
    height: 1px;
    background: currentColor;
    opacity: 0.5;
  }

  .safari-product-title {
    display: grid;
    gap: clamp(2px, 0.7vw, 9px);
    max-width: 100%;
    color: #121614;
    font-size: clamp(3.1rem, 7.1vw, 6.85rem);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: 0;
  }

  .safari-product-title span {
    display: block;
    width: max-content;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  .safari-product-title span:nth-child(2) {
    margin-left: clamp(18px, 5vw, 76px);
    color: #214636;
  }

  .safari-product-title span:nth-child(3) {
    margin-left: clamp(34px, 10vw, 142px);
    color: #a37f28;
  }

  .safari-product-intro-wrap {
    display: grid;
    gap: 18px;
    align-content: end;
    max-width: 430px;
    justify-self: end;
    padding-bottom: clamp(6px, 1vw, 16px);
  }

  .safari-product-showcase .safari-product-intro {
    margin: 0;
    color: #495650;
    font-size: clamp(1rem, 1.4vw, 1.16rem) ;
    line-height: 1.75;
  }

  .safari-product-showcase .safari-product-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .safari-product-showcase .safari-product-metrics li {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(18, 22, 20, 0.08);
    color: #203d31;
    font-size: var(--fs-label);
    font-weight: 500;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(16, 24, 22, 0.06);
  }

  .featured-safari-grid {
    width: min(100%, 1240px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(14px, 2.2vw, 24px);
    align-items: stretch;
  }

  .featured-safari-grid .safari-cardhome {
    position: relative;
    display: grid;
    align-items: end;
    grid-column: span 6;
    min-height: clamp(520px, 58vw, 690px);
    width: 100% !important;
    max-width: none;
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(15, 24, 20, 0.08);
    background: #111815;
    color: var(--luxury-cream);
    box-shadow:
      0 34px 74px rgba(12, 24, 18, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transform: translateY(var(--safari-card-offset, 0));
    transition:
      transform 520ms cubic-bezier(0.22, 0.61, 0.36, 1),
      box-shadow 520ms cubic-bezier(0.22, 0.61, 0.36, 1),
      border-color 520ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .featured-safari-grid .safari-cardhome:nth-child(even) {
    --safari-card-offset: clamp(28px, 5vw, 66px);
  }

  .featured-safari-grid .safari-cardhome:nth-child(3) {
    --safari-card-offset: clamp(-12px, -1.3vw, -4px);
  }

  .featured-safari-grid .safari-cardhome::before {
    display: none;
  }

  .featured-safari-grid .safari-cardhome::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
      linear-gradient(180deg, rgba(5, 8, 7, 0.1) 0%, rgba(5, 8, 7, 0.18) 38%, rgba(5, 8, 7, 0.82) 100%),
      linear-gradient(110deg, rgba(6, 18, 13, 0.3), transparent 48%);
    pointer-events: none;
  }

  .featured-safari-grid .safari-cardhome:hover,
  .featured-safari-grid .safari-cardhome:focus-within {
    transform: translateY(calc(var(--safari-card-offset, 0px) - 8px));
    border-color: rgba(202, 162, 77, 0.34);
    box-shadow:
      0 44px 90px rgba(12, 24, 18, 0.25),
      inset 0 1px 0 rgba(255, 255, 255, 0.11);
  }

  .featured-safari-grid .safari-cardhome > a:first-of-type {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
  }

  .featured-safari-grid .safari-cardhome img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition:
      transform 900ms cubic-bezier(0.22, 0.61, 0.36, 1),
      filter 900ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .featured-safari-grid .safari-cardhome:hover img,
  .featured-safari-grid .safari-cardhome:focus-within img {
    transform: scale(1.06);
    filter: saturate(1.05) contrast(1.04);
  }

  .featured-safari-grid .safari-content {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 14px;
    align-content: end;
    padding: clamp(24px, 4vw, 42px);
    color: var(--luxury-cream);
  }

  .featured-safari-grid .safari-cardhome h3 {
    max-width: 12ch;
    margin: 0;
    color: var(--luxury-cream);
    font-size: clamp(2rem, 4.2vw, 4.15rem) ;
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: 0;
    text-wrap: balance;
  }

  .featured-safari-grid .safari-cardhome p {
    max-width: 44ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    line-height: 1.58;
  }

  .featured-safari-grid .safari-cardhome .price {
    margin: 4px 0 2px;
    max-width: min(100%, 350px);
  }

  .featured-safari-grid .enquire-btn {
    width: fit-content;
    min-height: 46px;
    margin: 0;
    padding: 0 22px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.92);
    color: #0e2119;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px);
  }

  .featured-safari-grid .enquire-btn:hover,
  .featured-safari-grid .enquire-btn:focus-visible {
    background: var(--luxury-gold);
    color: var(--luxury-forest-deep);
    border-color: rgba(255, 255, 255, 0.48);
    transform: translateY(-2px);
    box-shadow: 0 20px 36px rgba(0, 0, 0, 0.24);
    outline: none;
  }

  .featured-safari-grid .safari-badge {
    top: 18px;
    left: 18px;
    z-index: 3;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #17251f;
    border: 1px solid rgba(255, 255, 255, 0.42);
    font-size: var(--fs-label);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(14px);
  }

  .safari-product-showcase .view-more-wrapper {
    text-align: center;
    margin-top: clamp(96px, 10vw, 140px);
  }

  .safari-product-showcase .view-more-btn {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 58px;
    padding: 0 32px;
    border-radius: 0 !important;
    background: #f4c95d !important;
    border: 1px solid #f4c95d !important;
    color: #0b2d22 !important;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-decoration: none;
    box-shadow: 0 20px 44px rgba(15, 40, 30, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    overflow: hidden;
    transition:
      transform 300ms ease,
      box-shadow 300ms ease,
      border-color 300ms ease,
      color 300ms ease;
  }

  .safari-product-showcase .view-more-btn::before {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.22), transparent 46%);
    opacity: 1;
    transition: opacity 300ms ease;
  }

  .safari-product-showcase .view-more-btn span[aria-hidden="true"] {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(11, 45, 34, 0.1);
    border: 1px solid rgba(11, 45, 34, 0.28);
    color: #0b2d22;
    line-height: 1;
    transition:
      transform 300ms ease,
      background 300ms ease,
      color 300ms ease;
  }

  .safari-product-showcase .view-more-btn:hover,
  .safari-product-showcase .view-more-btn:focus-visible {
    transform: translateY(-3px);
    background: #ffda72 !important;
    border-color: #ffda72 !important;
    color: #071f18 !important;
    box-shadow: 0 22px 44px rgba(81, 59, 10, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.34);
    outline: 2px solid #0b2d22 !important;
    outline-offset: 3px;
  }

  .safari-product-showcase .view-more-btn:hover::before,
  .safari-product-showcase .view-more-btn:focus-visible::before {
    opacity: 1;
  }

  .safari-product-showcase .view-more-btn:hover span[aria-hidden="true"],
  .safari-product-showcase .view-more-btn:focus-visible span[aria-hidden="true"] {
    transform: translateX(3px);
    background: rgba(11, 45, 34, 0.16);
    color: #071f18;
  }

  .secure-payment-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(70px, 9vw, 128px) 18px clamp(78px, 10vw, 140px);
    background:
      linear-gradient(180deg, var(--luxury-cream) 0%, #f6f6f4 46%, #eef2ee 100%);
    color: var(--luxury-forest-deep);
    text-align: left;
    scroll-margin-top: 76px;
  }

  .secure-payment-container {
    width: min(1240px, 100%);
    margin: 0 auto;
  }

  .secure-payment-header {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.62fr);
    gap: clamp(24px, 5vw, 80px);
    align-items: end;
    margin-bottom: clamp(34px, 6vw, 76px);
  }

  .payment-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    color: var(--luxury-gold-deep);
    font-size: var(--fs-label);
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.25;
    text-transform: uppercase;
  }

  .payment-eyebrow::before {
    content: "";
    width: 38px;
    height: 1px;
    background: currentColor;
    opacity: 0.58;
  }

  .payment-display-title {
    display: grid;
    gap: clamp(2px, 0.7vw, 9px);
    margin: 0;
    color: var(--luxury-forest-deep);
    font-size: clamp(3.2rem, 6.7vw, 6.8rem) ;
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: 0;
  }

  .payment-display-title span {
    display: block;
    width: fit-content;
  }

  .payment-display-title span:nth-child(2) {
    margin-left: clamp(30px, 8vw, 126px);
    color: #1f4a39;
  }

  .payment-display-title span:nth-child(3) {
    margin-left: clamp(62px, 15vw, 218px);
    color: #ad872c;
  }

  .payment-display-title span:nth-child(4) {
    margin-left: clamp(4px, 2.4vw, 38px);
    color: var(--luxury-forest-deep);
  }

  .payment-intro-block {
    display: grid;
    gap: 18px;
    justify-self: end;
    max-width: 440px;
    padding-bottom: clamp(4px, 1vw, 14px);
  }

  .secure-payment-header p:not(.payment-eyebrow) {
    margin: 0;
    color: #4d5c55;
    font-size: clamp(1rem, 1.35vw, 1.16rem) ;
    line-height: 1.78;
  }

  .payment-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .payment-trust-strip li {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(18, 22, 20, 0.08);
    color: #1d3f31;
    font-size: var(--fs-label);
    font-weight: 500;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(16, 24, 22, 0.06);
  }

  .secure-payment-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    gap: clamp(18px, 2.6vw, 34px);
    align-items: stretch;
  }

  .payment-assurance-card,
  .payment-process-card {
    position: relative;
    overflow: hidden;
    display: grid;
    align-content: start;
    gap: clamp(20px, 2.4vw, 28px);
    min-height: 100%;
    padding: clamp(28px, 3.8vw, 48px);
    border-radius: 8px;
    background:
      linear-gradient(145deg, rgba(255, 253, 247, 0.98), rgba(248, 242, 231, 0.92));
    border: 1px solid rgba(148, 115, 48, 0.18);
    box-shadow:
      0 30px 78px rgba(26, 45, 35, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }

  .payment-assurance-card::before,
  .payment-process-card::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(202, 162, 77, 0.12);
    border-radius: 6px;
    pointer-events: none;
  }

  .payment-assurance-card h3,
  .payment-process-card h3 {
    margin: 0;
    max-width: 16ch;
    color: var(--luxury-forest-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 2.7vw, 2.75rem) ;
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: 0;
    text-wrap: balance;
  }

  .payment-assurance-list,
  .payment-process-list,
  .payment-method-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .payment-assurance-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(17, 24, 21, 0.09);
    border-left: 1px solid rgba(17, 24, 21, 0.09);
  }

  .payment-assurance-list li,
  .payment-process-list li {
    border-radius: 0;
    background: rgba(255, 255, 255, 0.34);
    border: 0;
    color: var(--luxury-muted);
    font-size: 1rem;
    line-height: 1.68;
    box-shadow: none;
  }

  .payment-assurance-list li {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 20px;
    border-right: 1px solid rgba(17, 24, 21, 0.09);
    border-bottom: 1px solid rgba(17, 24, 21, 0.09);
  }

  .payment-assurance-list li[data-payment-bg] {
    min-height: 190px;
    display: grid;
    align-content: end;
    border-color: rgba(255, 255, 255, 0.16);
    background: var(--luxury-forest-deep);
    color: rgba(255, 249, 236, 0.86);
  }

  .payment-assurance-list li[data-payment-bg]::before,
  .payment-assurance-list li[data-payment-bg]::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
  }

  .payment-assurance-list li[data-payment-bg]::before {
    z-index: -2;
    background-image: var(--payment-bg-image);
    background-position: var(--payment-bg-position, center);
    background-size: var(--payment-bg-size, cover);
    background-repeat: no-repeat;
    opacity: 0.46;
    filter: saturate(0.86) contrast(0.94);
    transform: scale(1.02);
    transition: transform 820ms cubic-bezier(0.16, 1, 0.3, 1), opacity 820ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .payment-assurance-list li[data-payment-bg]::after {
    z-index: -1;
    background:
      linear-gradient(180deg, rgba(8, 19, 14, 0.62) 0%, rgba(8, 19, 14, 0.82) 56%, rgba(8, 19, 14, 0.92) 100%),
      radial-gradient(circle at 18% 12%, rgba(245, 222, 163, 0.14), transparent 34%);
  }

  .payment-assurance-list li[data-payment-bg]:hover::before {
    opacity: 0.58;
    transform: scale(1.045);
  }

  .payment-assurance-list li[data-payment-bg] strong {
    color: var(--luxury-cream);
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.52);
  }

  .payment-assurance-list li[data-payment-bg="deposit"] {
    --payment-bg-image: url("images/bwindi-gorilla-trekking.webp");
    --payment-bg-position: center;
  }

  .payment-assurance-list li[data-payment-bg="records"] {
    --payment-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 620'%3E%3Crect width='900' height='620' fill='%23efe3c8'/%3E%3Cg transform='translate(154 96) rotate(-7)'%3E%3Crect width='330' height='430' rx='24' fill='%23ffffff'/%3E%3Crect x='42' y='62' width='190' height='22' rx='11' fill='%23c8a14d'/%3E%3Crect x='42' y='126' width='236' height='16' rx='8' fill='%2394a69d'/%3E%3Crect x='42' y='170' width='260' height='16' rx='8' fill='%2394a69d'/%3E%3Crect x='42' y='214' width='218' height='16' rx='8' fill='%2394a69d'/%3E%3Ccircle cx='248' cy='322' r='52' fill='none' stroke='%23b9932f' stroke-width='13'/%3E%3C/g%3E%3Cg transform='translate(470 146) rotate(8)'%3E%3Crect width='262' height='340' rx='22' fill='%23f9f4e8'/%3E%3Cpath d='M48 72h158M48 118h124M48 164h146' stroke='%231b4d3a' stroke-width='17' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");
  }

  .payment-assurance-list li[data-payment-bg="balance"] {
    --payment-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 620'%3E%3Crect width='900' height='620' fill='%23e9f0eb'/%3E%3Crect x='184' y='112' width='452' height='360' rx='34' fill='%23ffffff'/%3E%3Crect x='184' y='112' width='452' height='92' rx='34' fill='%231b4d3a'/%3E%3Cpath d='M260 82v74M560 82v74' stroke='%23c8a14d' stroke-width='26' stroke-linecap='round'/%3E%3Cg fill='%23d8e0da'%3E%3Crect x='246' y='250' width='70' height='54' rx='12'/%3E%3Crect x='356' y='250' width='70' height='54' rx='12'/%3E%3Crect x='466' y='250' width='70' height='54' rx='12'/%3E%3Crect x='246' y='342' width='70' height='54' rx='12'/%3E%3Crect x='356' y='342' width='70' height='54' rx='12'/%3E%3Crect x='466' y='342' width='70' height='54' rx='12'/%3E%3C/g%3E%3Ccircle cx='560' cy='360' r='92' fill='%23c8a14d'/%3E%3Cpath d='M560 304v62l44 30' fill='none' stroke='%23ffffff' stroke-width='18' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  .payment-assurance-list li[data-payment-bg="routes"] {
    --payment-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 620'%3E%3Crect width='900' height='620' fill='%23e8f0ec'/%3E%3Crect x='132' y='164' width='520' height='318' rx='34' fill='%231a4d78'/%3E%3Crect x='132' y='224' width='520' height='76' fill='%230e271d'/%3E%3Ccircle cx='548' cy='386' r='58' fill='%23eb001b' opacity='.86'/%3E%3Ccircle cx='618' cy='386' r='58' fill='%23f79e1b' opacity='.86'/%3E%3Crect x='196' y='360' width='190' height='22' rx='11' fill='%23d8bd62'/%3E%3Crect x='196' y='408' width='118' height='18' rx='9' fill='%23d8bd62' opacity='.75'/%3E%3Cpath d='M700 180c46 28 72 70 72 118 0 76-66 136-148 136' fill='none' stroke='%23c8a14d' stroke-width='20' stroke-linecap='round' stroke-dasharray='2 42'/%3E%3C/svg%3E");
  }

  .payment-process-list li {
    padding: 0 0 22px 58px;
  }

  .payment-assurance-list strong,
  .payment-process-list strong {
    display: block;
    margin-bottom: 8px;
    color: var(--luxury-forest-deep);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.25;
  }

  .payment-method-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .payment-method-list li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.46);
    border: 1px solid rgba(148, 115, 48, 0.24);
    color: var(--luxury-forest);
    font-size: 0.8rem ;
    font-weight: 500;
    letter-spacing: 0.01em;
    box-shadow: none;
  }

  .payment-method-list i {
    color: var(--luxury-gold-deep);
  }

  .payment-process-list {
    counter-reset: payment-steps;
    display: grid;
    gap: 0;
  }

  .payment-process-list li {
    position: relative;
    border-bottom: 1px solid rgba(17, 24, 21, 0.1);
    margin-bottom: 22px;
  }

  .payment-process-list li::before {
    counter-increment: payment-steps;
    content: "0" counter(payment-steps);
    position: absolute;
    top: 0;
    left: 0;
    width: 48px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--luxury-surface);
    border: 1px solid rgba(202, 162, 77, 0.52);
    color: var(--luxury-gold-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-size: var(--fs-label);
    font-weight: 600;
    letter-spacing: 0.04em;
    box-shadow: 0 10px 22px rgba(93, 69, 23, 0.08);
  }

  .payment-process-list li:last-child {
    margin-bottom: 0;
    border-bottom: 0;
  }

.payment-video-showcase {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(640px, 1.3fr);
  align-items: center;
  gap: clamp(32px, 4vw, 76px);
  width: 100%;
  margin: 0;
  padding: clamp(86px, 9vw, 138px) clamp(28px, 5vw, 86px);
  overflow: hidden;
  background: transparent;
  color: var(--luxury-forest-deep);
}

.payment-video-showcase::before,
.payment-video-showcase::after {
  content: none;
}

.payment-video-showcase__copy {
  position: relative;
  z-index: 1;
  max-width: 470px;
}

.payment-video-showcase__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  color: var(--luxury-gold-deep);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.payment-video-showcase__eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  background: currentColor;
  opacity: 0.72;
}

.payment-video-showcase__title {
  margin: 0;
  color: var(--luxury-forest-deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.35rem, 4.6vw, 5.35rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: 0;
  text-wrap: balance;
}

.payment-video-showcase__text {
  max-width: 38rem;
  margin: clamp(20px, 2vw, 30px) 0 0;
  color: var(--luxury-muted);
  font-size: clamp(1rem, 1.1vw, 1.13rem);
  line-height: 1.82;
}

.payment-video-showcase__proof-list {
  display: grid;
  gap: 12px;
  margin: clamp(26px, 2.8vw, 42px) 0 0;
  padding: 0;
  list-style: none;
}

.payment-video-showcase__proof-list li {
  position: relative;
  padding-left: 28px;
  color: var(--luxury-muted);
  font-size: 0.94rem;
  line-height: 1.55;
}

.payment-video-showcase__proof-list li::before {
  content: "";
  position: absolute;
  top: 0.68em;
  left: 0;
  width: 12px;
  height: 1px;
  background: var(--luxury-gold-deep);
}

.payment-video-showcase__media {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(220px, 0.92fr) minmax(250px, 0.7fr) minmax(220px, 0.92fr);
  align-items: center;
  gap: clamp(8px, 1.3vw, 18px);
  min-height: clamp(560px, 56vw, 760px);
  transform: none;
}

.payment-video-showcase__image {
  position: relative;
  display: block;
  width: min(100%, 440px);
  min-height: clamp(420px, 36vw, 620px);
  overflow: hidden;
  border-radius: 4px;
  background: var(--luxury-forest-deep);
  border: 0;
  color: inherit;
  text-decoration: none;
  box-shadow: none;
  transition:
    transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
    border-color 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.payment-video-showcase__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 17, 13, 0.02) 0%, rgba(7, 17, 13, 0.34) 100%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 42%);
  pointer-events: none;
}

.payment-video-showcase__image img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(0.9) contrast(1.04);
  transform: scale(1.01);
  transition: transform 900ms ease, filter 900ms ease;
}

.payment-video-showcase__image:hover img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.05);
}

.payment-video-showcase__image:hover,
.payment-video-showcase__image:focus-visible {
  box-shadow: none;
}

.payment-video-showcase__image:focus-visible {
  outline: 2px solid rgba(225, 191, 130, 0.74);
  outline-offset: 5px;
}

.payment-video-showcase__image-label,
.payment-video-showcase__badge {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  color: rgba(255, 248, 236, 0.86);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.payment-video-showcase__image--left {
  justify-self: end;
  transform: none;
}

.payment-video-showcase__image--right {
  justify-self: start;
  transform: none;
}

.payment-video-showcase__frame {
  position: relative;
  width: min(100%, calc(76vh * 9 / 16), 420px);
  aspect-ratio: 9 / 16;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 4px;
  background: var(--luxury-forest-deep);
  border: 0;
  box-shadow: none;
}

.payment-video-showcase__frame::after {
  content: none;
}

.payment-video-showcase__badge {
  top: 22px;
  bottom: auto;
  left: 22px;
  right: auto;
  pointer-events: auto;
  text-decoration: none;
}

.payment-video-showcase__badge:focus-visible {
  outline: 2px solid rgba(225, 191, 130, 0.74);
  outline-offset: 5px;
}

.payment-video-showcase video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--luxury-forest-deep);
}

.chimpanzee-showcase {
  position: relative;
  isolation: isolate;
  padding: clamp(78px, 8vw, 124px) clamp(24px, 5vw, 84px);
  background: transparent;
  color: var(--luxury-forest-deep);
  overflow: hidden;
}

.chimpanzee-showcase::before {
  content: none;
}

.chimpanzee-showcase__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(560px, 1.38fr) minmax(260px, 0.62fr);
  gap: clamp(34px, 5.4vw, 90px);
  align-items: end;
  width: min(1500px, 100%);
  margin: 0 auto;
}

.chimpanzee-showcase__copy {
  grid-column: 2;
  grid-row: 1;
  max-width: 440px;
}

.chimpanzee-showcase__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  color: var(--luxury-gold-deep);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.chimpanzee-showcase__eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  background: currentColor;
  opacity: 0.72;
}

.chimpanzee-showcase__title {
  margin: 0;
  color: var(--luxury-forest-deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.25rem, 4.5vw, 5rem);
  font-weight: 500;
  line-height: 1;
  text-wrap: balance;
}

.chimpanzee-showcase__text {
  margin: clamp(20px, 2vw, 28px) 0 0;
  color: var(--luxury-muted);
  font-size: clamp(1rem, 1.08vw, 1.12rem);
  line-height: 1.82;
}

.chimpanzee-showcase__cards {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 24px);
}

.chimpanzee-card {
  position: relative;
  display: grid;
  grid-template-rows: clamp(360px, 34vw, 560px) auto;
  align-content: stretch;
  min-height: 0;
  overflow: visible;
  border-radius: 4px;
  border: 0;
  background: transparent;
  color: var(--luxury-cream);
  text-decoration: none;
  box-shadow: none;
  transition:
    transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
    border-color 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.chimpanzee-card:nth-child(2) {
  transform: none;
}

.chimpanzee-card:nth-child(3) {
  transform: none;
}

.chimpanzee-card:hover,
.chimpanzee-card:focus-visible {
  border-color: rgba(166, 128, 50, 0.48);
}

.chimpanzee-card:hover {
  transform: none;
}

.chimpanzee-card:nth-child(2):hover {
  transform: none;
}

.chimpanzee-card:nth-child(3):hover {
  transform: none;
}

.chimpanzee-card:focus-visible {
  outline: 2px solid rgba(166, 128, 50, 0.72);
  outline-offset: 5px;
}

.chimpanzee-card img {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  border-radius: 4px;
  clip-path: inset(0 round 4px);
  filter: saturate(0.92) contrast(1.03);
  transform: scale(1.01);
  box-shadow: none;
  transition: transform 900ms ease, filter 900ms ease;
}

.chimpanzee-card:hover img,
.chimpanzee-card:focus-visible img {
  transform: scale(1.045);
  filter: saturate(1) contrast(1.05);
}

.chimpanzee-card::after {
  content: "";
  position: relative;
  grid-column: 1;
  grid-row: 1;
  z-index: 1;
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(7, 17, 13, 0.02) 0%, rgba(7, 17, 13, 0.22) 42%, rgba(7, 17, 13, 0.84) 100%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 42%);
  pointer-events: none;
}

.chimpanzee-card__content {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  z-index: 2;
  align-self: end;
  display: grid;
  gap: 10px;
  padding: clamp(20px, 2.2vw, 30px);
}

.chimpanzee-card__kicker {
  color: var(--luxury-gold-soft);
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.chimpanzee-card h3 {
  margin: 0;
  color: var(--luxury-cream);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.5rem, 2vw, 2.25rem);
  font-weight: 500;
  line-height: 1.06;
}

.chimpanzee-card p {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  padding: 18px 2px 0;
  color: var(--luxury-muted);
  font-size: 0.96rem;
  line-height: 1.6;
}

.chimpanzee-card__link {
  margin-top: 8px;
  color: var(--luxury-cream);
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mountain-showcase {
  position: relative;
  isolation: isolate;
  padding: clamp(86px, 8vw, 132px) clamp(24px, 5vw, 84px);
  overflow: hidden;
  background: transparent;
  color: var(--luxury-forest-deep);
}

.mountain-showcase::before {
  content: none;
}

.mountain-showcase__inner {
  position: relative;
  z-index: 1;
  width: min(1500px, 100%);
  margin: 0 auto;
}

.mountain-showcase__header {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(360px, 0.9fr);
  gap: clamp(30px, 5vw, 82px);
  align-items: end;
  margin-bottom: clamp(34px, 5vw, 76px);
}

.mountain-showcase__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  color: var(--luxury-gold-deep);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.mountain-showcase__eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  background: currentColor;
  opacity: 0.72;
}

.mountain-showcase__title {
  margin: 0;
  max-width: 11ch;
  color: var(--luxury-forest-deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.35rem, 5vw, 5.5rem);
  font-weight: 500;
  line-height: 0.98;
  text-wrap: balance;
}

.mountain-showcase__text {
  margin: 0;
  color: var(--luxury-muted);
  font-size: clamp(1rem, 1.1vw, 1.14rem);
  line-height: 1.86;
}

.mountain-showcase__cards {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) minmax(0, 1fr);
  gap: clamp(16px, 2vw, 28px);
  align-items: stretch;
}

.mountain-card {
  position: relative;
  display: grid;
  grid-template-rows: clamp(390px, 36vw, 610px) auto;
  align-content: stretch;
  min-height: 0;
  overflow: visible;
  border-radius: 4px;
  border: 0;
  background: transparent;
  color: var(--luxury-cream);
  text-decoration: none;
  box-shadow: none;
  transition:
    transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
    border-color 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.mountain-card:nth-child(2) {
  transform: none;
}

.mountain-card:hover,
.mountain-card:focus-visible {
  border-color: rgba(225, 191, 130, 0.48);
}

.mountain-card:hover {
  transform: none;
}

.mountain-card:nth-child(2):hover {
  transform: none;
}

.mountain-card:focus-visible {
  outline: 2px solid rgba(225, 191, 130, 0.72);
  outline-offset: 5px;
}

.mountain-card img {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  border-radius: 4px;
  clip-path: inset(0 round 4px);
  filter: saturate(0.9) contrast(1.04);
  transform: scale(1.01);
  box-shadow: none;
  transition: transform 900ms ease, filter 900ms ease;
}

.mountain-card:hover img,
.mountain-card:focus-visible img {
  transform: scale(1.045);
  filter: saturate(1) contrast(1.06);
}

.mountain-card::after {
  content: "";
  position: relative;
  grid-column: 1;
  grid-row: 1;
  z-index: 1;
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(7, 17, 13, 0.04) 0%, rgba(7, 17, 13, 0.22) 42%, rgba(7, 17, 13, 0.86) 100%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 42%);
  pointer-events: none;
}

.mountain-card__content {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  z-index: 2;
  align-self: end;
  display: grid;
  gap: 10px;
  padding: clamp(22px, 2.4vw, 34px);
}

.mountain-card__kicker {
  color: var(--luxury-gold-soft);
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.mountain-card h3 {
  margin: 0;
  color: var(--luxury-cream);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 2.4vw, 2.6rem);
  font-weight: 500;
  line-height: 1.04;
}

.mountain-card p {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  padding: 18px 2px 0;
  color: var(--luxury-muted);
  font-size: 0.96rem;
  line-height: 1.62;
}

.mountain-card__link {
  margin-top: 8px;
  color: var(--luxury-cream);
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

  @media (max-width: 980px) {
    .payment-video-showcase {
      grid-template-columns: 1fr;
      gap: 34px;
      padding: 64px 18px 74px;
    }

    .payment-video-showcase::before {
      inset: 12px;
    }

    .payment-video-showcase__copy {
      max-width: 620px;
    }

    .payment-video-showcase__media {
      display: flex;
      gap: 16px;
      min-height: 0;
      width: calc(100% + 24px);
      margin-inline: -12px;
      padding: 0 12px 12px;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-padding-inline: 12px;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
      transform: none;
    }

    .payment-video-showcase__media::-webkit-scrollbar {
      display: none;
    }

    .payment-video-showcase__image {
      display: block;
      flex: 0 0 min(82vw, 360px);
      width: auto;
      min-height: clamp(340px, 86vw, 470px);
      transform: none;
      scroll-snap-align: center;
      scroll-snap-stop: always;
      justify-self: auto;
    }

    .payment-video-showcase__image--left,
    .payment-video-showcase__image--right,
    .payment-video-showcase__image--left:hover,
    .payment-video-showcase__image--right:hover {
      transform: none;
    }

    .payment-video-showcase__frame {
      flex: 0 0 min(74vw, 330px);
      width: auto;
      margin: 0;
      scroll-snap-align: center;
      scroll-snap-stop: always;
    }

    .chimpanzee-showcase__inner {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .chimpanzee-showcase__copy,
    .chimpanzee-showcase__cards {
      grid-column: auto;
      grid-row: auto;
    }

    .chimpanzee-showcase__cards {
      display: flex;
      grid-template-columns: none;
      gap: 16px;
      width: calc(100% + 24px);
      margin-inline: -12px;
      padding: 0 12px 10px;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-padding-inline: 12px;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }

    .chimpanzee-showcase__cards::-webkit-scrollbar {
      display: none;
    }

    .chimpanzee-card,
    .chimpanzee-card:nth-child(2),
    .chimpanzee-card:nth-child(3),
    .chimpanzee-card:hover,
    .chimpanzee-card:nth-child(2):hover,
    .chimpanzee-card:nth-child(3):hover {
      display: grid;
      grid-template-rows: auto;
      align-content: start;
      min-height: 0;
      overflow: visible;
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      flex: 0 0 min(82vw, 360px);
      scroll-snap-align: center;
      scroll-snap-stop: always;
      transform: none;
    }

    .chimpanzee-card img {
      position: relative;
      inset: auto;
      width: 100%;
      height: clamp(260px, 72vw, 390px);
      border-radius: 8px;
      box-shadow: 0 18px 44px rgba(16, 35, 27, 0.12);
    }

    .chimpanzee-card::after {
      display: none;
    }

    .chimpanzee-card__content {
      grid-column: 1;
      grid-row: auto;
      align-self: auto;
      padding: 18px 0 0;
      gap: 8px;
    }

    .chimpanzee-card__kicker {
      color: var(--luxury-gold-deep);
      font-size: 0.68rem;
    }

    .chimpanzee-card h3 {
      color: var(--luxury-forest-deep);
      font-size: clamp(1.45rem, 7vw, 2rem);
    }

    .chimpanzee-card p {
      grid-column: 1;
      grid-row: auto;
      padding: 0;
      color: var(--luxury-muted);
      font-size: 0.96rem;
      line-height: 1.68;
    }

    .chimpanzee-card__link {
      color: var(--luxury-forest-deep);
      font-size: 0.68rem;
    }

    .mountain-showcase {
      padding: 62px 18px 78px;
    }

    .mountain-showcase::before {
      inset: 10px;
    }

    .mountain-showcase__header {
      grid-template-columns: 1fr;
      gap: 18px;
      margin-bottom: 32px;
    }

    .mountain-showcase__title {
      max-width: 12ch;
      font-size: clamp(2.25rem, 12vw, 3.55rem);
    }

    .mountain-showcase__cards {
      display: flex;
      grid-template-columns: none;
      gap: 16px;
      width: calc(100% + 24px);
      margin-inline: -12px;
      padding: 0 12px 12px;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-padding-inline: 12px;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }

    .mountain-showcase__cards::-webkit-scrollbar {
      display: none;
    }

    .mountain-card,
    .mountain-card:nth-child(2),
    .mountain-card:hover,
    .mountain-card:nth-child(2):hover {
      display: grid;
      grid-template-rows: auto;
      align-content: start;
      min-height: 0;
      overflow: visible;
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      flex: 0 0 min(82vw, 360px);
      scroll-snap-align: center;
      scroll-snap-stop: always;
      transform: none;
    }

    .mountain-card img {
      position: relative;
      inset: auto;
      width: 100%;
      height: clamp(270px, 74vw, 410px);
      border-radius: 8px;
      box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22);
    }

    .mountain-card::after {
      display: none;
    }

    .mountain-card__content {
      grid-column: 1;
      grid-row: auto;
      align-self: auto;
      padding: 18px 0 0;
      gap: 8px;
    }

    .mountain-card__kicker {
      color: var(--luxury-gold-deep);
      font-size: 0.68rem;
    }

    .mountain-card h3 {
      color: var(--luxury-forest-deep);
      font-size: clamp(1.5rem, 7.4vw, 2.15rem);
    }

    .mountain-card p {
      grid-column: 1;
      grid-row: auto;
      padding: 0;
      color: var(--luxury-muted);
      font-size: 0.96rem;
      line-height: 1.68;
    }

    .mountain-card__link {
      color: var(--luxury-forest-deep);
      font-size: 0.68rem;
    }
  }

  .payment-section-actions {
    display: grid;
    align-items: center;
    justify-items: center;
    gap: 16px;
    margin-top: clamp(30px, 5vw, 58px);
    text-align: center;
  }

  .payment-section-actions .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    margin-inline: auto;
    padding: 0 30px;
    border-radius: 999px;
    background: var(--luxury-forest-deep);
    border: 1px solid rgba(17, 24, 21, 0.16);
    color: var(--luxury-cream);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-decoration: none;
    box-shadow: 0 18px 42px rgba(17, 24, 21, 0.16);
    transition:
      transform 300ms ease,
      box-shadow 300ms ease,
      background-color 300ms ease;
  }

  .payment-section-actions .btn-primary:hover,
  .payment-section-actions .btn-primary:focus-visible {
    transform: translateY(-3px);
    background: #234838;
    box-shadow: 0 24px 52px rgba(17, 24, 21, 0.22);
    outline: none;
  }

  .payment-section-note {
    max-width: 64ch;
    margin: 0 auto;
    color: var(--luxury-muted);
    font-size: 1rem;
    line-height: 1.75;
    text-align: center;
  }

  .payment-section-response {
    max-width: 58ch;
    margin: -4px auto 0;
    color: var(--luxury-forest);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.55;
    text-align: center;
  }

  .guest-photo-gallery {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-top: clamp(56px, 7vw, 104px);
    padding: 86px 18px 104px;
    background:
      linear-gradient(180deg, var(--luxury-forest-deep) 0%, #172018 46%, #0a100d 100%);
    color: var(--luxury-cream);
  }

  .guest-photo-gallery::before,
  .guest-photo-gallery::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
  }

  .guest-photo-gallery::before {
    background:
      linear-gradient(90deg, rgba(230, 200, 142, 0.16), transparent 18%, transparent 82%, rgba(230, 200, 142, 0.12)),
      linear-gradient(180deg, rgba(255, 248, 236, 0.06), transparent 24%);
  }

  .guest-photo-gallery::after {
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg, transparent, rgba(2, 6, 4, 0.62));
  }

  .guest-photo-gallery__intro {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(300px, 0.54fr);
    gap: 28px;
    align-items: end;
    width: min(1180px, 90vw);
    margin: 0 auto 28px;
    color: var(--luxury-cream);
  }

  .guest-photo-gallery__kicker {
    margin: 0 0 10px;
    color: #dfc78d;
    font-size: var(--fs-label);
    font-weight: 600;
    letter-spacing: 0.18em;
    line-height: 1.3;
    text-transform: uppercase;
  }

  .guest-photo-gallery__intro h2 {
    max-width: 820px;
    margin: 0;
    color: var(--luxury-cream);
    text-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
    font-size: clamp(2rem, 4.4vw, 4.35rem);
    line-height: 0.98;
  }

  .guest-photo-gallery__intro p:last-child {
    margin: 0;
    color: rgba(255, 248, 236, 0.84);
    text-shadow: 0 10px 24px rgba(0, 0, 0, 0.34);
    line-height: 1.75;
  }

  .guest-photo-gallery__frame {
    position: relative;
    z-index: 1;
    width: min(1180px, 90vw);
    margin: 0 auto;
    aspect-ratio: 18 / 10;
    overflow: hidden;
    border-radius: 8px;
    background: var(--luxury-forest-deep);
    border: 1px solid rgba(231, 201, 143, 0.34);
    box-shadow:
      0 20px 52px rgba(0, 0, 0, 0.38),
      0 0 0 6px rgba(255, 248, 236, 0.035);
    touch-action: pan-y;
  }

  .guest-photo-gallery__stage {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: var(--luxury-forest-deep);
    touch-action: pan-y;
  }

  .guest-photo-gallery__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transform: none;
    transition:
      opacity 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
      visibility 0s linear 420ms;
  }

  .guest-photo-gallery__slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }

  .guest-photo-gallery__slide.is-entering,
  .guest-photo-gallery__slide.is-leaving {
    visibility: visible;
    will-change: opacity;
    transition-delay: 0s;
  }

  .guest-photo-gallery__slide.is-entering {
    z-index: 2;
  }

  .guest-photo-gallery__slide.is-leaving {
    z-index: 1;
  }

  .guest-photo-gallery__stage[data-gallery-transition="dissolve"]
    .guest-photo-gallery__slide.is-entering:not(.is-active) {
    transform: none;
  }

  .guest-photo-gallery__stage[data-gallery-transition="dissolve"]
    .guest-photo-gallery__slide.is-leaving.is-leaving-active {
    opacity: 0;
    transform: none;
  }

  .guest-photo-gallery__stage[data-gallery-transition="drift"][data-gallery-direction="next"]
    .guest-photo-gallery__slide.is-entering:not(.is-active),
  .guest-photo-gallery__stage[data-gallery-transition="drift"][data-gallery-direction="previous"]
    .guest-photo-gallery__slide.is-leaving.is-leaving-active {
    transform: none;
  }

  .guest-photo-gallery__stage[data-gallery-transition="drift"][data-gallery-direction="previous"]
    .guest-photo-gallery__slide.is-entering:not(.is-active),
  .guest-photo-gallery__stage[data-gallery-transition="drift"][data-gallery-direction="next"]
    .guest-photo-gallery__slide.is-leaving.is-leaving-active {
    transform: none;
  }

  .guest-photo-gallery__stage[data-gallery-transition="drift"]
    .guest-photo-gallery__slide.is-leaving.is-leaving-active,
  .guest-photo-gallery__stage[data-gallery-transition="reveal"]
    .guest-photo-gallery__slide.is-leaving.is-leaving-active {
    opacity: 0;
  }

  .guest-photo-gallery__stage[data-gallery-transition="reveal"]
    .guest-photo-gallery__slide.is-entering:not(.is-active) {
    transform: none;
  }

  .guest-photo-gallery__stage[data-gallery-transition="reveal"]
    .guest-photo-gallery__slide.is-leaving.is-leaving-active {
    transform: none;
  }

  .guest-photo-gallery__slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, rgba(3, 8, 6, 0.58), transparent 28%, transparent 66%, rgba(3, 8, 6, 0.28)),
      linear-gradient(180deg, transparent 48%, rgba(3, 8, 6, 0.82));
  }

  .guest-photo-gallery__slide img,
  .guest-photo-gallery__slide picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .guest-photo-gallery__slide img {
    object-fit: cover;
  }

  .guest-photo-gallery__captions {
    position: absolute;
    left: clamp(18px, 4vw, 52px);
    right: clamp(18px, 4vw, 52px);
    bottom: clamp(66px, 7vw, 86px);
    z-index: 3;
    max-width: 560px;
    pointer-events: none;
  }

  .guest-photo-gallery__caption {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 10px, 0);
    color: rgba(255, 248, 236, 0.94);
    font-size: clamp(1rem, 1.4vw, 1.24rem);
    font-weight: 500;
    line-height: 1.45;
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.72);
    transition:
      opacity 480ms ease,
      transform 620ms cubic-bezier(0.22, 0.61, 0.36, 1),
      visibility 0s linear 620ms;
  }

  .guest-photo-gallery__caption.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
    transition-delay: 90ms;
  }

  .guest-photo-gallery__control {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(255, 248, 236, 0.54);
    border-radius: 999px;
    background: rgba(8, 15, 12, 0.46);
    color: var(--luxury-cream);
    cursor: pointer;
    transform: translateY(-50%);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
    transition: background-color 240ms ease, border-color 240ms ease, transform 240ms ease;
  }

  .guest-photo-gallery__control:hover,
  .guest-photo-gallery__control:focus-visible {
    border-color: rgba(230, 200, 142, 0.92);
    background: rgba(8, 15, 12, 0.78);
    transform: translateY(-50%) scale(1.045);
    outline: none;
  }

  .guest-photo-gallery__control span {
    display: block;
    margin-top: -3px;
    font-size: 2.35rem;
    line-height: 1;
  }

  .guest-photo-gallery__control--prev {
    left: 22px;
  }

  .guest-photo-gallery__control--next {
    right: 22px;
  }

  .guest-photo-gallery__dots {
    position: absolute;
    left: 50%;
    bottom: 24px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    width: min(520px, calc(100% - 120px));
    transform: translateX(-50%);
  }

  .guest-photo-gallery__dot {
    width: 28px;
    height: 4px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 248, 236, 0.42);
    cursor: pointer;
    transition: background-color 240ms ease, width 240ms ease;
  }

  .guest-photo-gallery__dot.is-active {
    width: 52px;
    background: #e6c88e;
  }

  @media (max-width: 768px) {
    .guest-photo-gallery {
      padding: 58px 12px 74px;
      background: linear-gradient(180deg, #111812 0%, #1b2118 52%, #0b100d 100%);
    }

    .guest-photo-gallery__intro {
      grid-template-columns: 1fr;
      gap: 12px;
      width: min(100%, 520px);
      margin-bottom: 18px;
    }

    .guest-photo-gallery__intro h2 {
      font-size: clamp(1.95rem, 11vw, 3.15rem);
      line-height: 1;
    }

    .guest-photo-gallery__intro p:last-child {
      font-size: 0.98rem;
      line-height: 1.65;
    }

    .guest-photo-gallery__frame {
      width: min(100%, 520px);
      aspect-ratio: auto;
      max-height: none;
      background: var(--luxury-forest-deep);
      box-shadow:
        0 16px 36px rgba(0, 0, 0, 0.34),
        0 0 0 4px rgba(255, 248, 236, 0.035);
    }

    .guest-photo-gallery__stage {
      position: relative;
      inset: auto;
      aspect-ratio: 4 / 3;
    }

    .guest-photo-gallery__slide picture {
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--luxury-forest-deep);
    }

    .guest-photo-gallery__slide img {
      object-fit: cover;
      object-position: center;
    }

    .guest-photo-gallery__slide::after {
      background:
        linear-gradient(180deg, rgba(3, 8, 6, 0.12), transparent 52%, rgba(3, 8, 6, 0.5));
    }

    .guest-photo-gallery__captions {
      position: relative;
      inset: auto;
      max-width: none;
      min-height: 106px;
      padding: 18px 18px 20px;
      box-sizing: border-box;
      background: linear-gradient(180deg, #172019 0%, #101711 100%);
      pointer-events: auto;
    }

    .guest-photo-gallery__caption {
      color: rgba(255, 248, 236, 0.9);
      font-size: 0.94rem;
      font-weight: 450;
      line-height: 1.55;
      text-shadow: none;
    }

    .guest-photo-gallery__control {
      top: 50%;
      bottom: auto;
      width: 42px;
      height: 42px;
      transform: translateY(-50%);
    }

    .guest-photo-gallery__control:hover,
    .guest-photo-gallery__control:focus-visible {
      transform: translateY(-50%) scale(1.04);
    }

    .guest-photo-gallery__control span {
      font-size: 2rem;
    }

    .guest-photo-gallery__control--prev {
      left: 14px;
    }

    .guest-photo-gallery__control--next {
      right: 14px;
    }

    .guest-photo-gallery__dots {
      bottom: 16px;
      gap: 6px;
      width: calc(100% - 126px);
    }

    .guest-photo-gallery__stage[data-gallery-transition="drift"][data-gallery-direction="next"]
      .guest-photo-gallery__slide.is-entering:not(.is-active),
    .guest-photo-gallery__stage[data-gallery-transition="drift"][data-gallery-direction="previous"]
      .guest-photo-gallery__slide.is-leaving.is-leaving-active {
      transform: none;
    }

    .guest-photo-gallery__stage[data-gallery-transition="drift"][data-gallery-direction="previous"]
      .guest-photo-gallery__slide.is-entering:not(.is-active),
    .guest-photo-gallery__stage[data-gallery-transition="drift"][data-gallery-direction="next"]
      .guest-photo-gallery__slide.is-leaving.is-leaving-active {
      transform: none;
    }

    .guest-photo-gallery__stage[data-gallery-transition="reveal"]
      .guest-photo-gallery__slide.is-entering:not(.is-active) {
      transform: none;
    }

    .guest-photo-gallery__stage[data-gallery-transition="reveal"]
      .guest-photo-gallery__slide.is-leaving.is-leaving-active {
      transform: none;
    }

    .guest-photo-gallery__dot {
      width: 16px;
      height: 3px;
    }

    .guest-photo-gallery__dot.is-active {
      width: 32px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .guest-photo-gallery__slide,
    .guest-photo-gallery__caption,
    .guest-photo-gallery__control,
    .guest-photo-gallery__dot {
      transition: none !important;
      animation: none !important;
    }

    .guest-photo-gallery__slide,
    .guest-photo-gallery__slide.is-active,
    .guest-photo-gallery__slide.is-entering,
    .guest-photo-gallery__slide.is-leaving {
      transform: none !important;
    }
  }

  @media (max-width: 980px) {
    .safari-product-hero {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .safari-product-intro-wrap {
      max-width: 640px;
      justify-self: start;
    }

    .featured-safari-grid .safari-cardhome {
      grid-column: 1 / -1;
      min-height: clamp(500px, 74vw, 650px);
    }

    .featured-safari-grid .safari-cardhome:nth-child(even),
    .featured-safari-grid .safari-cardhome:nth-child(3) {
      --safari-card-offset: 0px;
    }

    .featured-safari-grid {
      grid-template-columns: 1fr;
    }

    .secure-payment-grid {
      grid-template-columns: 1fr;
    }

    .secure-payment-header {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .payment-intro-block {
      max-width: 640px;
      justify-self: start;
    }
  }

  @media (max-width: 768px) {
    .safari-product-showcase {
      padding: 62px 14px 82px;
    }

    .safari-product-title {
      font-size: clamp(2.75rem, 13vw, 5rem);
    }

    .safari-product-title span:nth-child(2),
    .safari-product-title span:nth-child(3) {
      margin-left: clamp(16px, 9vw, 54px);
    }

    .featured-safari-grid {
      grid-template-columns: 1fr;
      gap: 16px;
    }

    .featured-safari-grid .safari-cardhome {
      grid-column: 1 / -1;
      min-height: 560px;
      transform: none;
    }

    .featured-safari-grid .safari-cardhome:hover,
    .featured-safari-grid .safari-cardhome:focus-within {
      transform: translateY(-4px);
    }

    .featured-safari-grid .safari-content {
      padding: 24px 18px 24px clamp(50px, 14vw, 62px);
    }

    .featured-safari-grid .safari-cardhome h3 {
      max-width: 14ch;
      font-size: clamp(1.85rem, 11vw, 3.05rem) ;
    }

    .featured-safari-grid .enquire-btn {
      width: 100%;
    }

    .founder-link-button {
      align-items: flex-start;
      gap: 10px;
      padding: 16px 18px;
      border-radius: 24px;
    }

    .founder-link-badge {
      min-width: 52px;
      min-height: 30px;
      font-size: var(--fs-label);
      letter-spacing: 0.14em;
    }

    .payment-assurance-list {
      grid-template-columns: 1fr;
    }

    .featured-safari-grid {
      grid-template-columns: 1fr;
    }

    .secure-payment-section {
      padding: 62px 14px 82px;
    }

    .payment-display-title {
      font-size: clamp(2.85rem, 14vw, 4.75rem) ;
    }

    .payment-display-title span:nth-child(2),
    .payment-display-title span:nth-child(3),
    .payment-display-title span:nth-child(4) {
      margin-left: clamp(16px, 9vw, 54px);
    }

    .payment-trust-strip {
      padding-left: clamp(42px, 13vw, 54px);
    }

    .payment-assurance-card,
    .payment-process-card {
      padding: 28px 20px;
    }

    .payment-assurance-card h3,
    .payment-process-card h3 {
      max-width: 16ch;
      font-size: clamp(1.75rem, 8vw, 2.45rem) ;
    }

    .payment-method-list li {
      min-height: 36px;
      font-size: var(--fs-label);
    }

    .payment-video-showcase {
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 58px 18px 72px;
      display: grid;
    }

    .payment-video-showcase::before {
      inset: 10px;
    }

    .payment-video-showcase::after {
      display: none;
    }

    .payment-video-showcase__eyebrow {
      margin-bottom: 14px;
      font-size: 0.68rem;
    }

    .payment-video-showcase__title {
      font-size: clamp(2.2rem, 12vw, 3.4rem);
    }

    .payment-video-showcase__text {
      font-size: 0.98rem;
      line-height: 1.76;
    }

    .payment-video-showcase__proof-list {
      gap: 10px;
    }

    .payment-video-showcase__frame {
      width: auto;
      max-width: none;
      border-radius: 10px;
    }

    .payment-section-actions {
      justify-items: stretch;
    }

    .payment-section-actions .btn-primary {
      width: min(95%, 500px);
      text-align: center;
      justify-self: center;
    }
  }

  .page-home .herro {
    height: auto;
    min-height: 100svh;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(128px, 12vw, 168px) clamp(22px, 7vw, 104px) clamp(86px, 9vw, 126px);
  }

  .page-home .herro,
  .page-home .hero-primary-media,
  .page-home .slideshow {
    max-width: 100%;
    overflow: hidden;
  }

  .page-home .hero-primary-media,
  .page-home .slideshow {
    inline-size: 100%;
    block-size: 100%;
    contain: paint;
  }

  .page-home .herro::before {
    background:
      linear-gradient(90deg, rgba(5, 18, 14, 0.34) 0%, rgba(9, 31, 24, 0.24) 42%, rgba(9, 31, 24, 0.08) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.22));
  }

  .page-home .herro-content {
    width: min(100%, 700px);
    margin: 0;
    padding: 0;
    text-align: left;
  }

  .page-home .herro-content h1 {
    max-width: 18ch;
    margin: 0 0 18px;
    text-align: left;
    font-size: clamp(2.45rem, 4.7vw, 4.35rem) ;
    line-height: 1.06;
    font-weight: 600;
    color: var(--luxury-cream);
    text-wrap: balance;
  }

  .page-home .herro-subtext {
    max-width: 42rem;
    margin: 0 0 28px;
    color: rgba(255, 250, 240, 0.92);
    font-size: clamp(1rem, 1.15vw, 1.12rem) ;
    line-height: 1.72;
    text-align: left;
  }

  .page-home .herro-trust {
    justify-content: flex-start;
    gap: 10px;
    margin: 0 0 30px;
    max-width: 620px;
  }

  .page-home .herro-trust span {
    min-height: 34px;
    padding: 0 14px;
    background: rgba(255, 250, 240, 0.09);
    border-color: rgba(255, 250, 240, 0.22);
    color: var(--luxury-cream);
    font-size: var(--fs-label);
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .page-home .herro-buttons-wrapper {
    justify-content: flex-start;
    gap: 16px;
  }

  .page-home .welcome-container h2,
  .page-home .why-left h2,
  .page-home #top-destinations h2,
  .page-home .faq h2 {
    color: var(--luxury-text);
    font-size: clamp(2rem, 4vw, 3.65rem) ;
    line-height: 1.04;
    letter-spacing: 0;
  }

  .page-home .welcome-more {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition:
      max-height 360ms ease,
      opacity 240ms ease;
  }

  .page-home .welcome-more.is-expanded {
    max-height: var(--welcome-more-height, 620px);
    opacity: 1;
  }

  .page-home .welcome-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 28px;
    margin: 8px 0 0;
    padding: 6px 12px;
    border: 1px solid rgba(178, 128, 45, 0.36);
    border-radius: 999px;
    background: #fff9ec;
    color: var(--luxury-text);
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.1;
    text-transform: lowercase;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(37, 49, 38, 0.08);
    transition:
      transform 200ms ease,
      border-color 200ms ease,
      background-color 200ms ease;
  }

  .page-home .welcome-read-more::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 200ms ease;
  }

  .page-home .welcome-read-more[aria-expanded="true"]::after {
    transform: translateY(2px) rotate(225deg);
  }

  .page-home .welcome-read-more:hover,
  .page-home .welcome-read-more:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(178, 128, 45, 0.58);
    background: #fff3d9;
  }

  .page-home .welcome-read-more:focus-visible {
    outline: 2px solid rgba(178, 128, 45, 0.52);
    outline-offset: 4px;
  }

  .page-home .welcome-inline-link {
    color: #174438;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(23, 68, 56, 0.24);
    text-underline-offset: 0.18em;
    transition:
      color 180ms ease,
      text-decoration-color 180ms ease;
  }

  .page-home .welcome-inline-link:hover,
  .page-home .welcome-inline-link:focus-visible {
    color: #8b5f18;
    text-decoration-color: rgba(139, 95, 24, 0.38);
  }

  .page-home .welcome-inline-link:focus-visible {
    outline: 2px solid rgba(178, 128, 45, 0.42);
    outline-offset: 3px;
    border-radius: 4px;
  }

  .page-home .faq {
    position: relative;
    isolation: isolate;
    padding: clamp(82px, 9vw, 132px) 18px;
    background:
      linear-gradient(180deg, #0c1511 0%, #182119 38%, #f7efe1 38%, var(--luxury-surface) 100%);
    font-family: "Lato", "Segoe UI", Arial, sans-serif !important;
    overflow: hidden;
  }

  .page-home .faq,
  .page-home .faq * {
    font-family: "Lato", "Segoe UI", Arial, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .page-home .faq::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(90deg, rgba(225, 191, 130, 0.16), transparent 18%, transparent 82%, rgba(225, 191, 130, 0.12)),
      linear-gradient(180deg, rgba(255, 248, 236, 0.05), transparent 32%);
    pointer-events: none;
  }

  .page-home .faq .container {
    counter-reset: faq-list;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.52fr);
    gap: clamp(30px, 5vw, 78px);
    align-items: start;
    width: min(1180px, 92vw);
    margin: 0 auto;
    padding: clamp(28px, 4vw, 46px);
    border: 1px solid rgba(204, 166, 93, 0.28);
    border-radius: 8px;
    background:
      linear-gradient(145deg, rgba(255, 252, 245, 0.98), rgba(247, 239, 224, 0.94));
    box-shadow:
      0 20px 52px rgba(8, 24, 17, 0.15),
      inset 0 1px 0 rgba(255, 255, 255, 0.86);
  }

  .page-home .faq-editorial {
    position: relative;
    display: grid;
    gap: clamp(18px, 2vw, 24px);
    grid-column: 2;
    grid-row: 1;
    justify-items: end;
    align-self: start;
  }

  .page-home .faq-list {
    display: grid;
    gap: 12px;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }

  .page-home .faq-intro,
  .page-home .faq-answer,
  .page-home .faq-answer p {
    font-size: clamp(1rem, 0.96rem + 0.14vw, 1.0625rem) !important;
    line-height: 1.72 !important;
    word-spacing: normal;
  }

  .page-home .faq h2 {
    position: relative;
    max-width: 12ch;
    margin: 0;
    color: var(--luxury-forest-deep) !important;
    font-size: clamp(2.15rem, 4vw, 4rem) !important;
    font-weight: 600 !important;
    line-height: 1.03 !important;
    text-wrap: balance;
  }

  .page-home .faq h2::before {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    margin-bottom: 16px;
    background: linear-gradient(90deg, #c59a45, rgba(197, 154, 69, 0));
  }

  .page-home .faq h2::after {
    content: "";
    display: block;
    width: min(170px, 66%);
    height: 2px;
    margin-top: 20px;
    background: linear-gradient(90deg, rgba(150, 113, 44, 0.9), rgba(150, 113, 44, 0));
  }

  .page-home .faq-intro {
    max-width: 40ch !important;
    margin: 0;
    color: #5a665d !important;
    font-size: clamp(1rem, 1vw, 1.08rem) !important;
    font-weight: 400 !important;
  }

  .page-home .faq-sticky-image {
    position: relative;
    overflow: hidden;
    margin: 4px 0 0;
    width: min(100%, 420px);
    aspect-ratio: 4 / 5;
    border-radius: 8px;
    border: 1px solid rgba(180, 137, 57, 0.28);
    background: #12251c;
    box-shadow: 0 14px 34px rgba(17, 37, 28, 0.14);
  }

  .page-home .faq-sticky-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(9, 20, 15, 0.02), rgba(9, 20, 15, 0.62)),
      linear-gradient(90deg, rgba(9, 20, 15, 0.4), transparent 45%);
    pointer-events: none;
  }

  .page-home .faq-sticky-image img,
  .page-home .faq-sticky-image picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .page-home .faq-sticky-image img {
    object-fit: cover;
  }

  .page-home .faq-sticky-video {
    aspect-ratio: 9 / 16;
  }

  .page-home .faq-sticky-video::after {
    display: none;
  }

  .page-home .faq-sticky-video video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #12251c;
  }

  .page-home .faq-sticky-image figcaption {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 18px;
    z-index: 1;
    color: rgba(255, 248, 236, 0.92);
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    text-shadow: 0 12px 26px rgba(0, 0, 0, 0.66);
  }

  .page-home .faq-item {
    counter-increment: faq-list;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(18, 37, 28, 0.1);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 22px rgba(18, 37, 28, 0.06);
    transition:
      border-color 260ms ease,
      background-color 260ms ease,
      box-shadow 260ms ease,
      transform 260ms ease;
  }

  .page-home .faq-item::before {
    content: counter(faq-list, decimal-leading-zero);
    position: absolute;
    top: 22px;
    left: 22px;
    color: #a77e2e;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
  }

  .page-home .faq-item:hover,
  .page-home .faq-item:focus-within,
  .page-home .faq-item.active {
    transform: translateY(-2px);
    border-color: rgba(180, 137, 57, 0.34);
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 24px 48px rgba(18, 37, 28, 0.09);
  }

  .page-home .faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    padding: 22px 22px 22px 76px;
    border: 0;
    background: transparent;
    color: var(--luxury-forest-deep) !important;
    font-size: clamp(1rem, 1.05vw, 1.12rem) !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    word-spacing: normal;
    text-align: left;
    cursor: pointer;
  }

  .page-home .faq-question:focus-visible {
    outline: 2px solid rgba(183, 142, 59, 0.62);
    outline-offset: -6px;
  }

  .page-home .faq-icon {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(167, 126, 46, 0.34);
    border-radius: 999px;
    background: #fbf2df;
    color: #7e5e23;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    transition:
      transform 240ms ease,
      background-color 240ms ease,
      color 240ms ease;
  }

  .page-home .faq-item.active .faq-icon,
  .page-home .faq-question[aria-expanded="true"] .faq-icon {
    transform: rotate(45deg);
    background: var(--luxury-text);
    color: #f5dfad;
  }

  .page-home .faq-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0 28px 0 76px;
    color: var(--luxury-muted) !important;
    transition:
      max-height 300ms ease,
      padding 300ms ease;
  }

  .page-home .faq-item.active .faq-answer {
    padding-bottom: 24px;
  }

  .page-home .faq-answer p {
    max-width: 68ch;
    margin: 0;
    color: var(--luxury-muted) !important;
    font-weight: 400 !important;
  }

  .page-home .faq-answer p + p {
    margin-top: 10px;
  }

  @media (max-width: 860px) {
    .page-home .faq {
      padding: 64px 12px 84px;
      background: linear-gradient(180deg, #111812 0%, #172017 32%, var(--luxury-surface) 32%, var(--luxury-surface) 100%);
    }

    .page-home .faq .container {
      grid-template-columns: 1fr;
      gap: 16px;
      width: min(100%, 560px);
      padding: 24px 14px;
    }

    .page-home .faq-editorial {
      position: static;
      grid-column: 1;
      grid-row: auto;
      gap: 16px;
    }

    .page-home .faq-list {
      grid-row: auto;
    }

    .page-home .faq h2,
    .page-home .faq-intro,
    .page-home .faq-sticky-image,
    .page-home .faq-list,
    .page-home .faq-item {
      grid-column: 1;
    }

    .page-home .faq h2 {
      max-width: 13ch;
      font-size: clamp(2rem, 9vw, 3rem) !important;
    }

    .page-home .faq h2::after {
      margin-top: 18px;
    }

    .page-home .faq-intro {
      max-width: none;
      margin: 0 0 12px;
      font-size: 1rem !important;
      line-height: 1.68 !important;
    }

    .page-home .faq-sticky-image {
      aspect-ratio: 16 / 10;
      max-height: 280px;
      margin-bottom: 10px;
    }

    .page-home .faq-item::before {
      top: 20px;
      left: 18px;
    }

    .page-home .faq-question {
      min-height: 78px;
      padding: 18px 16px 18px 62px;
      font-size: 1rem !important;
    }

    .page-home .faq-icon {
      width: 32px;
      height: 32px;
    }

    .page-home .faq-answer {
      padding-inline: 62px 16px;
    }

    .page-home .faq-answer p {
      font-size: 0.98rem !important;
      line-height: 1.68 !important;
    }
  }

  .page-home .welcome-signature {
    margin-top: 28px;
    color: var(--luxury-gold-deep) !important;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .page-home .homepage-topic-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    width: min(900px, 100%);
    margin: 26px auto 0;
    padding: 0;
    list-style: none;
  }

  .page-home .homepage-topic-links a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 15px;
    border: 1px solid rgba(22, 58, 44, 0.15);
    border-radius: 999px;
    background: rgba(255, 252, 245, 0.72);
    color: var(--luxury-forest);
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(13, 44, 33, 0.06);
    transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease;
  }

  .page-home .homepage-topic-links a:hover,
  .page-home .homepage-topic-links a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(202, 162, 77, 0.48);
    background: rgba(255, 250, 239, 0.95);
    outline: none;
  }

  .page-home .mobile-scroll-guidance {
    display: none;
  }

  .page-home .why-choose {
    position: relative;
    padding: 112px 18px;
    background: #f3ead9;
    isolation: isolate;
  }

  .page-home .why-choose::before {
    content: none;
  }

  .page-home .why-container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    gap: 80px;
    align-items: start;
  }

  .page-home .why-left {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  .page-home .why-left h2 {
    color: var(--luxury-forest-deep);
    max-width: 15ch;
    margin: 0 0 24px;
    font-size: 54px;
    font-weight: 400;
    line-height: 1.04;
    text-align: left;
    text-shadow: none;
  }

  .page-home .why-subtitle {
    color: var(--luxury-text);
    max-width: 58ch;
    margin: 0 0 38px;
    font-size: 18px;
    line-height: 1.72;
    text-align: left;
    text-shadow: none;
  }

  .page-home .why-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid rgba(19, 40, 32, 0.2);
  }

  .page-home .why-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 16px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(19, 40, 32, 0.16);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    text-align: left;
  }

  .page-home .why-item:hover,
  .page-home .why-item:focus-within {
    border-color: rgba(19, 40, 32, 0.16);
    box-shadow: none;
    transform: none;
  }

  .page-home .why-item h3 {
    grid-column: 2;
    color: #132820;
    margin: 0 0 5px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25;
  }

  .page-home .why-item p {
    grid-column: 2;
    color: #59665f;
    margin: 0;
    font-size: 16px;
    line-height: 1.62;
  }

  .page-home .why-item i {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin: 1px 0 0;
    color: #b98b37;
    font-size: 18px;
  }

  .page-home .why-gallery {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }

  .page-home .why-gallery__frame {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 4px;
    background: #16271f;
    box-shadow: 0 28px 60px rgba(21, 39, 31, 0.2);
    touch-action: pan-y;
  }

  .page-home .why-gallery__slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transform: translateX(5%);
    pointer-events: none;
    transition: opacity 700ms ease, transform 850ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .page-home .why-gallery__slide.is-active {
    z-index: 1;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
  }

  .page-home .why-gallery__slide picture,
  .page-home .why-gallery__slide img {
    width: 100%;
    height: 100%;
  }

  .page-home .why-gallery__slide img {
    object-fit: cover;
  }

  .page-home .why-gallery__caption {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    max-width: calc(100% - 36px);
    margin: 0;
    padding: 7px 10px 7px 12px;
    border-left: 2px solid rgba(218, 177, 92, 0.92);
    border-radius: 2px;
    background: rgba(10, 29, 22, 0.62);
    color: rgba(255, 250, 240, 0.96);
    font-size: 11px !important;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(3px);
  }

  .page-home .why-gallery__slide--gorilla img {
    object-position: 54% 48%;
  }

  .page-home .why-gallery__slide--lions img {
    object-position: 50% 53%;
  }

  .page-home .why-gallery__slide--leopard img {
    object-position: 50% 52%;
  }

  .page-home .why-gallery__slide--clouds img,
  .page-home .why-gallery__slide--kyambura img {
    object-position: 50% 50%;
  }

  .page-home .why-gallery__button {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 50%;
    background: rgba(12, 31, 23, 0.64);
    color: #fffaf0;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background 200ms ease, border-color 200ms ease;
  }

  .page-home .why-gallery__button:hover,
  .page-home .why-gallery__button:focus-visible {
    border-color: rgba(255, 255, 255, 0.9);
    background: rgba(12, 31, 23, 0.88);
    outline: none;
  }

  .page-home .why-gallery__button--prev {
    left: 18px;
  }

  .page-home .why-gallery__button--next {
    right: 18px;
  }

  .page-home .why-gallery__dots {
    position: absolute;
    right: 0;
    bottom: 18px;
    left: 0;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 0;
  }

  .page-home .why-gallery__dot {
    position: relative;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .page-home .why-gallery__dot::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border: 1px solid rgba(255, 255, 255, 0.88);
    border-radius: 50%;
    background: transparent;
    transform: translate(-50%, -50%);
    transition: width 200ms ease, border-radius 200ms ease, background 200ms ease;
  }

  .page-home .why-gallery__dot.is-active::before {
    width: 26px;
    border-radius: 999px;
    background: #fffaf0;
  }

  .page-home .why-gallery__dot:focus-visible {
    outline: 2px solid #fffaf0;
    outline-offset: 2px;
  }

  @media (max-width: 1100px) {
    .page-home .why-choose {
      padding-block: 88px;
    }

    .page-home .why-container {
      grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
      gap: 40px;
    }

    .page-home .why-left h2 {
      max-width: 15ch;
      font-size: 42px;
    }

    .page-home .why-subtitle {
      font-size: 16px;
    }

    .page-home .why-item {
      padding-block: 18px;
    }

    .page-home .why-item h3 {
      font-size: 18px;
    }

    .page-home .why-item p {
      font-size: 15px;
    }
  }

  @media (max-width: 560px) {
    .page-home .why-choose {
      padding-block: 64px;
    }

    .page-home .why-left h2 {
      max-width: 100%;
      font-size: 36px;
    }

    .page-home .why-subtitle {
      margin-bottom: 30px;
      font-size: 16px;
    }

    .page-home .why-item {
      grid-template-columns: 32px minmax(0, 1fr);
      column-gap: 12px;
      padding-block: 19px;
    }

    .page-home .why-item i {
      width: 32px;
      height: 32px;
      font-size: 16px;
    }

    .page-home .why-item h3 {
      font-size: 18px;
    }

    .page-home .why-item p {
      font-size: 15px;
    }

    .page-home .why-gallery__button {
      width: 40px;
      height: 40px;
    }

    .page-home .why-gallery__button--prev {
      left: 12px;
    }

    .page-home .why-gallery__button--next {
      right: 12px;
    }

    .page-home .why-gallery__caption {
      top: 12px;
      left: 12px;
      max-width: calc(100% - 24px);
      padding: 6px 8px 6px 10px;
      font-size: 10px !important;
    }
  }

  .page-home .secure-payment-section {
    padding: clamp(76px, 9vw, 118px) 18px;
    background: var(--luxury-surface-soft);
  }

  .page-home .home-final-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    align-items: center;
    min-height: clamp(560px, 48vw, 720px);
    padding: clamp(58px, 7vw, 112px) max(24px, calc((100% - min(1260px, 100%)) / 2));
    background-color: #071d15;
    background-image: url("images/growing gorilla in bwindi national park.webp");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: auto 116%;
  }

  .page-home .home-final-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
      linear-gradient(90deg, rgba(3, 20, 14, 0.97) 0%, rgba(4, 24, 17, 0.92) 31%, rgba(4, 24, 17, 0.7) 47%, rgba(3, 18, 12, 0.28) 62%, rgba(3, 18, 12, 0.06) 76%, rgba(3, 18, 12, 0.02) 100%),
      linear-gradient(180deg, rgba(3, 18, 12, 0.05), rgba(3, 18, 12, 0.22));
    pointer-events: none;
  }

  .page-home .home-final-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
      radial-gradient(ellipse at 72% 48%, rgba(248, 225, 167, 0.08), transparent 34%),
      repeating-linear-gradient(90deg, rgba(248, 225, 167, 0.025) 0 1px, transparent 1px 82px);
    pointer-events: none;
  }

  .page-home .home-final-cta__inner {
    position: relative;
    z-index: 2;
    width: min(1260px, 100%);
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
  }

  .page-home .home-final-cta__copy {
    max-width: 610px;
    padding: clamp(34px, 4vw, 58px) 0;
    animation: home-final-cta-copy-in 900ms 120ms both cubic-bezier(0.22, 1, 0.36, 1);
  }

  .page-home .home-final-cta__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    color: var(--luxury-gold-soft);
    font-size: clamp(0.54rem, 0.52rem + 0.07vw, 0.6rem) !important;
    font-weight: 600;
    letter-spacing: 0.14em;
    line-height: 1.3;
    text-transform: uppercase;
  }

  .page-home .home-final-cta__eyebrow::before {
    content: "";
    width: 24px;
    height: 1px;
    background: currentColor;
    opacity: 0.82;
  }

  .page-home .home-final-cta h2 {
    max-width: 17ch;
    margin: 0 0 26px;
    color: var(--luxury-cream);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.35rem, 4vw, 4.25rem) !important;
    font-weight: 500;
    line-height: 0.93;
    letter-spacing: -0.045em;
    text-wrap: balance;
    text-shadow: 0 4px 26px rgba(0, 0, 0, 0.36);
  }

  .page-home .home-final-cta__response,
  .page-home .home-final-cta__note {
    display: block;
    max-width: 52ch;
    margin-left: 0;
    text-align: left;
    color: rgba(255, 248, 234, 0.9);
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.32);
  }

  .page-home .home-final-cta__response {
    margin-top: 0;
    margin-bottom: 16px;
    font-size: clamp(0.86rem, 1vw, 0.98rem) !important;
    font-weight: 500;
    line-height: 1.65;
  }

  .page-home .home-final-cta__note {
    margin-top: 0;
    max-width: 47ch;
    font-size: 0.72rem !important;
    line-height: 1.75;
    letter-spacing: 0.025em;
  }

  .page-home .home-final-cta__button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: min(92vw, 320px);
    min-height: 58px;
    margin: 32px 0 0;
    gap: 16px;
    padding: 0 22px 0 28px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--luxury-gold-soft), var(--luxury-gold));
    color: var(--luxury-forest-deep);
    border-color: rgba(255, 248, 234, 0.36);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.34), 0 0 0 0 rgba(238, 203, 128, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.32);
    font-size: clamp(0.66rem, 0.63rem + 0.08vw, 0.72rem) !important;
    transform: none;
    will-change: transform, box-shadow;
    animation: home-final-cta-button-glow 2.8s ease-in-out infinite;
  }

  .page-home .home-final-cta__button-mark {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(6, 42, 29, 0.28);
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 1rem;
    transition: transform 260ms ease;
  }

  .page-home .home-final-cta__button:hover,
  .page-home .home-final-cta__button:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 25px 48px rgba(0, 0, 0, 0.4), 0 0 0 8px rgba(238, 203, 128, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.38);
    animation-play-state: paused;
  }

  .page-home .home-final-cta__button:hover .home-final-cta__button-mark,
  .page-home .home-final-cta__button:focus-visible .home-final-cta__button-mark {
    transform: translateX(4px);
  }

  .home-final-cta-wave {
    height: clamp(54px, 6vw, 94px);
    margin-top: -1px;
    color: #0b2b20;
    line-height: 0;
    background: #0b2b20;
  }

  .home-final-cta-wave svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  @keyframes home-final-cta-copy-in {
    from { opacity: 0; transform: translate3d(-20px, 14px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }

  @keyframes home-final-cta-button-glow {
    0%, 100% { box-shadow: 0 20px 42px rgba(0, 0, 0, 0.34), 0 0 0 0 rgba(238, 203, 128, 0), inset 0 1px 0 rgba(255, 255, 255, 0.32); }
    50% { box-shadow: 0 22px 46px rgba(0, 0, 0, 0.38), 0 0 0 7px rgba(238, 203, 128, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.4); }
  }

  @media (max-width: 768px) {
    .page-home .home-final-cta {
      min-height: 0;
      padding: 52px 24px;
      background-position: 22% center;
      background-size: auto 108%;
    }

    .page-home .home-final-cta::before {
      background:
        linear-gradient(90deg, rgba(3, 20, 14, 0.96) 0%, rgba(3, 20, 14, 0.9) 44%, rgba(3, 20, 14, 0.48) 76%, rgba(3, 20, 14, 0.14) 100%),
        linear-gradient(180deg, rgba(3, 20, 14, 0.1), rgba(3, 20, 14, 0.46));
    }

    .page-home .home-final-cta::after {
      background: none;
    }

    .page-home .home-final-cta__inner {
      display: block;
      padding: 0;
    }

    .page-home .home-final-cta__copy {
      width: 100%;
      max-width: min(82%, 440px);
      padding: 30px 0 36px;
    }

    .page-home .home-final-cta h2 {
      max-width: 17ch;
      font-size: clamp(2.2rem, 8.8vw, 3rem) !important;
    }

    .page-home .home-final-cta__button {
      width: 100%;
      min-width: 0;
      margin-top: 28px;
    }

  }

  @media (prefers-reduced-motion: reduce) {
    .page-home .home-final-cta__copy,
    .page-home .home-final-cta__button {
      animation: none;
    }

    .page-home .home-final-cta__button,
    .page-home .home-final-cta__button-mark {
      transition: none;
    }
  }

  .page-home .secure-payment-header {
    margin-bottom: clamp(28px, 4vw, 52px);
  }

  @media (min-width: 1025px) {
    .page-home .secure-payment-container {
      width: min(1500px, calc(100vw - 72px));
    }
  }

  .page-home .payment-display-title {
    font-size: clamp(2.55rem, 5vw, 4.75rem) ;
    line-height: 1.04;
    letter-spacing: 0;
  }

  .page-home .payment-display-title span:nth-child(2),
  .page-home .payment-display-title span:nth-child(3),
  .page-home .payment-display-title span:nth-child(4) {
    margin-left: 0;
  }

  .page-home .payment-display-title span:nth-child(3) {
    color: var(--luxury-forest-deep);
  }

  .page-home .payment-display-title span:nth-child(4) {
    color: var(--luxury-gold-deep);
  }

  .page-home .payment-assurance-card,
  .page-home .payment-process-card {
    display: contents;
    overflow: visible;
    gap: clamp(26px, 3vw, 42px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .page-home .payment-showcase-image {
    position: relative;
    z-index: 0;
    display: none;
    margin: 0;
    min-height: clamp(320px, 30vw, 490px);
    overflow: hidden;
    isolation: isolate;
    border-radius: 7px;
    background: var(--luxury-forest-deep);
    box-shadow:
      0 34px 80px rgba(15, 42, 32, 0.16),
      0 12px 30px rgba(15, 42, 32, 0.08);
    transform: none;
    opacity: 1;
    transition:
      opacity 900ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 1100ms cubic-bezier(0.16, 1, 0.3, 1),
      box-shadow 700ms ease;
  }

  .page-home .payment-showcase-image::before {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: 2;
    border: 1px solid rgba(245, 222, 163, 0.22);
    border-radius: 5px;
    pointer-events: none;
  }

  .page-home .payment-showcase-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
      linear-gradient(180deg, rgba(6, 18, 13, 0.05), rgba(6, 18, 13, 0.34)),
      radial-gradient(circle at 22% 14%, rgba(245, 222, 163, 0.16), transparent 34%);
    pointer-events: none;
  }

  .page-home .payment-showcase-image img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    filter: saturate(0.95) contrast(1.04);
    transform: scale(1.02) translate3d(0, var(--payment-image-drift, 0px), 0);
    transition:
      transform 1600ms cubic-bezier(0.16, 1, 0.3, 1),
      filter 700ms ease;
    will-change: transform;
  }

  .page-home .payment-showcase-image.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }

  .page-home .payment-showcase-image.is-visible img {
    transform: scale(1.02) translate3d(0, var(--payment-image-drift, 0px), 0);
  }

  .page-home .secure-payment-grid {
    padding-top: clamp(6px, 1vw, 14px);
    border-top: 0;
  }

  @media (min-width: 1025px) {
    .page-home .secure-payment-grid {
      grid-template-columns: minmax(0, 1.02fr) minmax(300px, 0.58fr);
      gap: clamp(42px, 5vw, 86px) clamp(44px, 5.5vw, 94px);
      align-items: center;
    }

    .page-home .payment-assurance-card > * {
      grid-column: 1;
    }

    .page-home .payment-process-card > * {
      grid-column: 2;
    }

    .page-home .payment-assurance-card > h3 {
      grid-row: 1;
    }

    .page-home .payment-assurance-card > .payment-assurance-list {
      grid-row: 2;
    }

    .page-home .payment-assurance-card > .payment-method-list {
      grid-row: 3;
    }

    .page-home .payment-showcase-image {
      display: block;
    }

    .page-home .payment-showcase-image--ishasha {
      grid-column: 2;
      grid-row: 1 / span 3;
      align-self: center;
      justify-self: stretch;
      min-height: clamp(360px, 35vw, 560px);
      margin-top: clamp(22px, 3vw, 46px);
      margin-right: clamp(0px, 2vw, 22px);
      --payment-image-drift: -10px;
    }

    .page-home .payment-showcase-image--lobelias {
      grid-column: 1;
      grid-row: 4 / span 2;
      align-self: stretch;
      justify-self: stretch;
      min-height: clamp(360px, 32vw, 520px);
      margin-left: 0;
      margin-right: 0;
      --payment-image-drift: 10px;
    }

    .page-home .payment-process-card > h3 {
      grid-row: 4;
    }

    .page-home .payment-process-card > .payment-process-list {
      grid-row: 5;
    }

    .page-home .payment-process-card > h3,
    .page-home .payment-process-card > .payment-process-list {
      padding-left: clamp(34px, 4vw, 72px);
      border-left: 1px solid rgba(166, 128, 50, 0.2);
    }
  }

  @media (max-width: 1024px) {
    .page-home .payment-showcase-image {
      display: block;
      width: min(100%, 620px);
      min-height: 0;
      aspect-ratio: 16 / 10;
      justify-self: center;
      margin: clamp(2px, 1vw, 10px) 0;
    }

    .page-home .payment-showcase-image--ishasha {
      margin-top: clamp(2px, 2vw, 16px);
      --payment-image-drift: -6px;
    }

    .page-home .payment-showcase-image--lobelias {
      margin-bottom: clamp(6px, 2vw, 20px);
      --payment-image-drift: 6px;
    }

    .page-home .payment-showcase-image img {
      min-height: 0;
      aspect-ratio: inherit;
    }
  }

  @media (max-width: 768px) {
    .page-home .payment-showcase-image--ishasha,
    .page-home .payment-showcase-image--lobelias {
      aspect-ratio: 4 / 3;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .page-home .payment-showcase-image,
    .page-home .payment-showcase-image img {
      opacity: 1;
      transform: none !important;
      transition: none;
    }
  }

  .page-home .payment-assurance-card::before,
  .page-home .payment-process-card::before {
    display: none;
  }

  .page-home .payment-assurance-list {
    gap: 0 clamp(28px, 3.6vw, 54px);
    border: 0;
  }

  .page-home .payment-assurance-list li[data-payment-bg] {
    display: block;
    min-height: 0;
    padding: clamp(20px, 2vw, 28px) 0;
    border: 0;
    border-bottom: 1px solid rgba(17, 24, 21, 0.12);
    border-radius: 0;
    background: transparent;
    color: var(--luxury-muted);
    box-shadow: none;
  }

  .page-home .payment-assurance-list li[data-payment-bg]::before,
  .page-home .payment-assurance-list li[data-payment-bg]::after {
    display: none;
  }

  .page-home .payment-method-list {
    gap: 0;
    padding-top: clamp(6px, 1vw, 12px);
    border-top: 1px solid rgba(166, 128, 50, 0.18);
  }

  .page-home .payment-method-list li {
    min-height: 34px;
    padding: 0 clamp(14px, 1.7vw, 24px);
    border: 0;
    border-left: 1px solid rgba(166, 128, 50, 0.2);
    border-radius: 0;
    background: transparent;
    color: var(--luxury-forest-deep);
    box-shadow: none;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .page-home .payment-method-list li:first-child {
    padding-left: 0;
    border-left: 0;
  }

  .page-home .payment-process-list {
    position: relative;
    gap: 0;
  }

  .page-home .payment-process-list::before {
    display: none;
  }

  .page-home .payment-process-list li {
    min-height: 0;
    margin: 0;
    padding: clamp(22px, 2.4vw, 34px) 0 clamp(22px, 2.4vw, 34px) 74px;
    border: 0;
    border-bottom: 1px solid rgba(17, 24, 21, 0.12);
    border-radius: 0;
    background: transparent;
    color: var(--luxury-muted);
    box-shadow: none;
  }

  .page-home .payment-process-list li::before {
    top: clamp(22px, 2.4vw, 34px);
    left: 0;
    width: auto;
    height: auto;
    display: block;
    background: transparent;
    border: 0;
    color: var(--luxury-gold-deep);
    font-size: 0.86rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    box-shadow: none;
  }

  .page-home .payment-assurance-list strong,
  .page-home .payment-process-list strong {
    margin-bottom: 10px;
    font-size: clamp(1.02rem, 1.15vw, 1.18rem);
    letter-spacing: 0.01em;
    text-shadow: none;
  }

  .page-home .payment-assurance-list li[data-payment-bg] strong,
  .page-home .payment-process-list strong {
    color: var(--luxury-forest-deep);
  }

  .page-home .payment-assurance-card h3,
  .page-home .payment-process-card h3 {
    max-width: 16ch;
    font-size: clamp(1.75rem, 2.7vw, 2.75rem) ;
  }

  .page-home .payment-section-actions .btn-primary {
    background: var(--luxury-forest);
    box-shadow: none;
  }

  .featured-safari-grid .safari-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
  }

  .page-home #top-destinations {
    position: relative;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 112px 0 22px;
    background: transparent;
    text-align: center;
  }

  .page-home #top-destinations h2 {
    max-width: 760px;
    margin: 0 auto 18px;
    padding-inline: 18px;
    color: var(--luxury-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.1rem, 4.4vw, 4rem) ;
    font-weight: 500;
    line-height: 1.04;
    text-wrap: balance;
  }

  .page-home #top-destinations > p {
    max-width: 760px;
    margin: 0 auto;
    padding-inline: 18px;
    color: var(--luxury-muted);
    font-size: clamp(1rem, 1.25vw, 1.13rem) ;
    line-height: 1.86;
  }

  .home-booking-steps {
    position: relative;
    padding: clamp(76px, 8vw, 112px) 18px;
    background:
      linear-gradient(180deg, rgba(7, 19, 15, 0.68), rgba(16, 37, 28, 0.56)),
      linear-gradient(90deg, rgba(200, 169, 107, 0.14), rgba(7, 19, 15, 0.08));
    isolation: isolate;
  }

  .home-booking-steps.is-background-ready {
    background:
      linear-gradient(180deg, rgba(7, 19, 15, 0.68), rgba(16, 37, 28, 0.56)),
      linear-gradient(90deg, rgba(200, 169, 107, 0.14), rgba(7, 19, 15, 0.08)),
      url("images/safaris-bg.webp") center / cover no-repeat;
  }

  .home-booking-steps::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      radial-gradient(circle at 50% 0%, rgba(255, 248, 236, 0.1), transparent 32%),
      linear-gradient(180deg, rgba(7, 19, 15, 0.02), rgba(7, 19, 15, 0.16));
    pointer-events: none;
  }

  .home-booking-steps__inner {
    position: relative;
    width: min(1080px, 100%);
    margin: 0 auto;
    padding: clamp(34px, 5vw, 54px);
    border: 1px solid rgba(148, 115, 48, 0.18);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(255, 253, 248, 0.78), rgba(252, 247, 237, 0.72));
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(3px);
    overflow: hidden;
  }

  .home-booking-steps__inner::before {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(202, 162, 77, 0.14);
    border-radius: 6px;
    pointer-events: none;
  }

  .home-booking-steps__header {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto clamp(30px, 4vw, 46px);
    text-align: center;
  }

  .home-booking-steps__kicker {
    margin: 0 0 12px;
    color: var(--luxury-gold-deep);
    font-size: var(--fs-label);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .home-booking-steps h2 {
    margin: 0;
    color: var(--luxury-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3.6vw, 3.05rem) ;
    font-weight: 500;
    line-height: 1.08;
  }

  .home-booking-steps__list {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: booking-steps;
  }

  .home-booking-steps__list li {
    position: relative;
    min-height: 168px;
    padding: 26px 24px 22px;
    border-right: 1px solid rgba(17, 37, 28, 0.09);
    color: #2d3d34;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.55;
    text-align: center;
  }

  .home-booking-steps__list li:last-child {
    border-right: 0;
  }

  .home-booking-steps__list li::before {
    counter-increment: booking-steps;
    content: "0" counter(booking-steps);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 24px;
    border-radius: 50%;
    background: var(--luxury-surface);
    border: 1px solid rgba(202, 162, 77, 0.52);
    color: var(--luxury-gold-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    font-size: 0.9rem ;
    letter-spacing: 0.04em;
    box-shadow: 0 12px 24px rgba(93, 69, 23, 0.08);
  }

  @media (max-width: 768px) {
    body.page-home {
      padding-top: 0 !important;
    }

    .page-home .herro {
      min-height: 100svh;
      padding: calc(104px + env(safe-area-inset-top, 0px)) 20px 64px;
      align-items: center;
    }

    .page-home .herro-content,
    .page-home .herro-content h1,
    .page-home .herro-subtext {
      text-align: center;
    }

    .page-home .herro-content h1 {
      max-width: 18ch;
      margin-inline: auto;
      font-size: clamp(2.05rem, 8.8vw, 3rem) ;
      line-height: 1.08;
    }

    .page-home .herro-trust,
    .page-home .herro-buttons-wrapper {
      justify-content: center;
    }

    .page-home .herro-subtext {
      max-width: 28rem;
      margin-bottom: 24px;
      font-size: 1rem;
      line-height: 1.68;
      visibility: hidden;
    }

    .page-home .herro-trust {
      gap: 8px;
      margin-bottom: 26px;
      max-width: 22rem;
    }

    .page-home .herro-trust span {
      min-height: 32px;
      font-size: var(--fs-label);
      letter-spacing: 0.035em;
      padding-inline: 11px;
    }

    .page-home .payment-trust-strip {
      padding-left: 0;
    }

    .page-home .payment-assurance-card,
    .page-home .payment-process-card {
      display: grid;
      gap: 20px;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    .page-home .secure-payment-grid {
      gap: 46px;
      padding-top: 8px;
      border: 0 !important;
      background: transparent !important;
    }

    .page-home .payment-assurance-card h3,
    .page-home .payment-process-card h3 {
      max-width: 11.5em;
      margin: 0;
      padding: 0 0 16px;
      border-bottom: 1px solid rgba(166, 128, 50, 0.28);
      color: var(--luxury-forest-deep);
      font-size: clamp(1.72rem, 7.4vw, 2.18rem);
      font-weight: 500;
      line-height: 1.04;
      letter-spacing: 0.01em;
    }

    .page-home .payment-assurance-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      border: 0 !important;
      background: transparent !important;
    }

    .page-home .payment-assurance-list li[data-payment-bg] {
      display: block;
      min-height: 0;
      padding: 20px 0;
      border: 0 !important;
      border-bottom: 1px solid rgba(17, 24, 21, 0.1) !important;
      border-radius: 0 !important;
      background: transparent !important;
      color: #53615a;
      font-size: 0.98rem;
      line-height: 1.72;
      box-shadow: none !important;
    }

    .page-home .payment-assurance-list li[data-payment-bg]::before,
    .page-home .payment-assurance-list li[data-payment-bg]::after {
      display: none !important;
    }

    .page-home .payment-assurance-list li[data-payment-bg]:last-child {
      border-bottom-color: rgba(166, 128, 50, 0.2) !important;
    }

    .page-home .payment-assurance-list li[data-payment-bg] strong,
    .page-home .payment-process-list strong {
      margin-bottom: 8px;
      color: var(--luxury-forest-deep);
      font-size: 1.02rem;
      line-height: 1.28;
    }

    .page-home .payment-method-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 13px 18px;
      padding-top: 18px;
      border-top: 1px solid rgba(166, 128, 50, 0.24);
    }

    .page-home .payment-method-list li,
    .page-home .payment-method-list li:first-child {
      min-height: 0;
      padding: 0;
      border: 0;
      font-size: 0.72rem;
      line-height: 1.35;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .page-home .payment-method-list i {
      width: 18px;
      font-size: 0.95rem;
      text-align: center;
    }

    .page-home .payment-process-card {
      padding-top: 34px !important;
      border-top: 1px solid rgba(166, 128, 50, 0.28) !important;
    }

    .page-home .payment-process-list li {
      padding: 20px 0 20px 48px;
      border-bottom: 1px solid rgba(17, 24, 21, 0.1);
      color: #53615a;
      font-size: 0.98rem;
      line-height: 1.72;
    }

    .page-home .payment-process-list li:first-child {
      border-top: 0;
    }

    .page-home .payment-process-list li::before {
      top: 22px;
      color: var(--luxury-gold-deep);
      font-size: 0.72rem;
      letter-spacing: 0.18em;
    }

    .featured-safari-grid .safari-card-actions {
      display: grid;
    }

    .page-home #top-destinations {
      padding: 58px 0 18px;
    }

    .home-booking-steps {
      padding: 46px 14px;
    }

    .home-booking-steps__inner {
      padding: 30px 20px;
    }

    .home-booking-steps__inner::before {
      inset: 10px;
    }

    .home-booking-steps__list {
      grid-template-columns: 1fr;
    }

    .home-booking-steps__list li {
      min-height: 0;
      padding: 22px 12px;
      border-right: 0;
      border-bottom: 1px solid rgba(17, 37, 28, 0.09);
    }

    .home-booking-steps__list li:last-child {
      border-bottom: 0;
    }
  }

  @media (min-width: 769px) and (max-width: 1080px) {
    .home-booking-steps {
      padding: 56px 18px;
    }

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

    .home-booking-steps__list li:nth-child(2n) {
      border-right: 0;
    }

    .home-booking-steps__list li:nth-child(-n + 2) {
      border-bottom: 1px solid rgba(17, 37, 28, 0.09);
    }
  }
  .page-home .featured-safari-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 30px);
    align-items: start;
  }

  .page-home .featured-safari-grid .safari-cardhome {
    --safari-card-offset: 0px;
    position: relative;
    display: grid;
    grid-template-rows: auto auto;
    grid-column: 1 / -1;
    min-height: 0;
    overflow: hidden;
    border-radius: 3px;
    background: #f1e6d2;
    border: 1px solid rgba(150, 113, 44, 0.18);
    color: var(--luxury-forest);
    box-shadow: 0 24px 54px rgba(53, 37, 12, 0.16);
    transform: none;
    transition: transform 760ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 760ms cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 760ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .page-home .featured-safari-grid .safari-cardhome::before {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: 3;
    border: 1px solid rgba(255, 255, 255, 0.36);
    pointer-events: none;
  }

  .page-home .featured-safari-grid .safari-cardhome::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
    height: auto;
    aspect-ratio: 4 / 5;
    background:
      linear-gradient(180deg, rgba(5, 8, 7, 0) 0%, rgba(5, 8, 7, 0.018) 54%, rgba(5, 8, 7, 0.2) 100%),
      linear-gradient(115deg, rgba(7, 20, 15, 0.045), transparent 52%);
    pointer-events: none;
  }

  .page-home .featured-safari-grid .safari-cardhome:hover,
  .page-home .featured-safari-grid .safari-cardhome:focus-within {
    transform: translateY(-4px);
    border-color: rgba(150, 113, 44, 0.32);
    box-shadow: 0 34px 72px rgba(53, 37, 12, 0.2);
  }

  .page-home .featured-safari-grid .safari-cardhome > .safari-card-media {
    position: relative;
    inset: auto;
    z-index: 1;
    grid-row: auto;
    display: block;
    width: 100%;
    min-height: 220px;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
  }

  .page-home .featured-safari-grid .safari-cardhome img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    filter: saturate(1.12) contrast(1.04) brightness(1.12);
    transition: transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .page-home .featured-safari-grid .safari-cardhome:hover img,
  .page-home .featured-safari-grid .safari-cardhome:focus-within img {
    transform: scale(1.04);
  }

  .page-home .featured-safari-grid .safari-card-image-copy {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 22px;
    z-index: 2;
    display: grid;
    gap: 9px;
    width: min(100%, 34rem);
    max-width: none;
    pointer-events: none;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.68), 0 1px 4px rgba(0, 0, 0, 0.64);
  }

  .page-home .featured-safari-grid .safari-card-title {
    display: block;
    max-width: 24ch;
    margin: 0;
    color: var(--luxury-cream);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.42rem, 6.6vw, 2rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: 0;
    text-wrap: balance;
  }

  .page-home .featured-safari-grid .safari-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "support"
      "route"
      "highlights"
      "price"
      "actions";
    gap: 18px;
    align-items: start;
    padding: 26px 24px 28px;
    background:
      radial-gradient(circle at 6% 0%, rgba(200, 169, 107, 0.16), transparent 30%),
      linear-gradient(180deg, #fbf6eb 0%, #efe5d2 100%);
    border-top: 1px solid rgba(150, 113, 44, 0.2);
    color: var(--luxury-forest);
    box-shadow:
      0 18px 40px rgba(53, 37, 12, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.72);
    overflow: hidden;
  }

  .page-home .featured-safari-grid .safari-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    width: 52px;
    height: 1px;
    background: linear-gradient(90deg, rgba(196, 168, 110, 0.78), rgba(196, 168, 110, 0));
    opacity: 0.88;
    transition: width 680ms cubic-bezier(0.22, 1, 0.36, 1), opacity 680ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .page-home .featured-safari-grid .safari-cardhome:hover .safari-content::before,
  .page-home .featured-safari-grid .safari-cardhome:focus-within .safari-content::before {
    width: 132px;
    opacity: 1;
  }

  .page-home .featured-safari-grid .safari-card-support {
    grid-area: support;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    max-width: 38ch;
    margin: 0;
    color: #455b50;
    font-size: 0.92rem;
    line-height: 1.64;
  }

  .page-home .featured-safari-grid .safari-card-route {
    grid-area: route;
    display: block;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    margin: 0;
    color: rgba(41, 68, 55, 0.64);
    font-size: 0.44rem;
    font-weight: 400;
    letter-spacing: 0.015em;
    line-height: 1.28;
    text-transform: lowercase;
  }

  .page-home .featured-safari-grid .safari-card-route-label {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    color: rgba(18, 63, 50, 0.7);
    font-size: inherit;
    font-weight: 650;
    letter-spacing: 0.025em;
  }

  .page-home .featured-safari-grid .safari-card-route-label::before {
    content: "\f3c5";
    color: rgba(18, 63, 50, 0.58);
    font-family: "Font Awesome 6 Free";
    font-size: 0.78em;
    font-weight: 600;
    line-height: 1;
    transform: translateY(-0.02em);
  }

  .page-home .featured-safari-grid .safari-card-day-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(18, 63, 50, 0.08);
    border: 1px solid rgba(150, 113, 44, 0.24);
    color: var(--luxury-forest);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
  }

  .page-home .featured-safari-grid .safari-cardhome .price {
    grid-area: price;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    justify-self: start;
    align-self: start;
    margin: 0;
    padding: 7px 10px;
    max-width: 100%;
    border: 1px solid rgba(185, 147, 47, 0.34);
    border-radius: 999px;
    background:
      linear-gradient(180deg, rgba(255, 252, 244, 0.84), rgba(239, 229, 210, 0.72));
    color: var(--luxury-forest);
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none;
    box-shadow:
      0 10px 22px rgba(53, 37, 12, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.72);
  }

  .page-home .featured-safari-grid .safari-card-actions {
    grid-area: actions;
    justify-self: stretch;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 0;
  }

  .page-home .featured-safari-grid .enquire-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 2px;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1), background-color 420ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 420ms cubic-bezier(0.22, 0.61, 0.36, 1), color 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .page-home .featured-safari-grid .enquire-btn {
    border: 1px solid rgba(22, 52, 40, 0.82);
    background: var(--luxury-forest);
    color: var(--luxury-cream);
  }

  @media (min-width: 560px) {
    .page-home .featured-safari-grid .safari-cardhome > .safari-card-media,
    .page-home .featured-safari-grid .safari-cardhome::after {
      aspect-ratio: 16 / 11;
    }
  }

  @media (min-width: 769px) {
    .page-home .featured-safari-grid .safari-cardhome {
      grid-column: span 6;
    }

    .page-home .featured-safari-grid .safari-cardhome:nth-child(even) {
      --safari-card-offset: clamp(22px, 4vw, 54px);
      transform: translateY(var(--safari-card-offset));
    }

    .page-home .featured-safari-grid .safari-cardhome:nth-child(even):hover,
    .page-home .featured-safari-grid .safari-cardhome:nth-child(even):focus-within {
      transform: translateY(calc(var(--safari-card-offset) - 4px));
    }

    .page-home .featured-safari-grid .safari-cardhome > .safari-card-media,
    .page-home .featured-safari-grid .safari-cardhome::after {
      aspect-ratio: 5 / 6;
    }

    .page-home .featured-safari-grid .safari-content {
      grid-template-columns: minmax(0, 1fr) minmax(160px, 0.42fr);
      grid-template-areas:
        "support support"
        "route route"
        "price actions";
      padding: clamp(26px, 2.5vw, 36px);
      gap: 18px clamp(20px, 2.2vw, 28px);
      align-items: end;
    }

    .page-home .featured-safari-grid .safari-card-support {
      max-width: 40ch;
      font-size: 0.98rem;
    }

    .page-home .featured-safari-grid .safari-cardhome .price {
      justify-self: start;
      align-self: end;
    }

    .page-home .featured-safari-grid .safari-card-image-copy {
      left: clamp(26px, 2.5vw, 36px);
      right: clamp(26px, 2.5vw, 36px);
      bottom: clamp(26px, 2.6vw, 38px);
    }

    .page-home .featured-safari-grid .safari-card-title {
      max-width: 26ch;
      font-size: clamp(1.58rem, 2vw, 2.18rem);
    }

    .page-home .featured-safari-grid .safari-card-actions {
      justify-self: end;
      align-self: end;
      width: min(100%, 190px);
      flex-direction: column;
      justify-content: flex-end;
      max-width: 100%;
    }

    .page-home .featured-safari-grid .enquire-btn {
      width: 100%;
      min-height: 42px;
      padding-inline: 12px;
      letter-spacing: 0.07em;
    }

    .page-home .featured-safari-grid .enquire-btn {
      display: inline-flex;
      min-width: 0;
    }
  }

  @media (min-width: 1120px) {
    .page-home .featured-safari-grid .safari-cardhome > .safari-card-media,
    .page-home .featured-safari-grid .safari-cardhome::after {
      aspect-ratio: 16 / 13;
    }
  }

  @media (max-width: 768px) {
    .page-home .featured-safari-grid {
      gap: 22px;
    }

    .page-home .featured-safari-grid .safari-cardhome > .safari-card-media,
    .page-home .featured-safari-grid .safari-cardhome::after {
      aspect-ratio: 4 / 4.7;
    }

    .page-home .featured-safari-grid .safari-card-image-copy {
      width: auto;
      max-width: calc(100% - 40px);
      min-width: 0;
      box-sizing: border-box;
    }

    .page-home .featured-safari-grid .safari-card-title {
      max-width: 100%;
      overflow-wrap: break-word;
    }

    .page-home .featured-safari-grid .safari-cardhome:nth-child(4) .safari-card-image-copy {
      left: 16px;
      right: 16px;
      width: auto;
      max-width: calc(100% - 32px);
    }

    .page-home .featured-safari-grid .safari-cardhome:nth-child(4) .safari-card-title {
      max-width: 100%;
      font-size: clamp(1.12rem, 5.4vw, 1.52rem);
      line-height: 1.12;
      overflow-wrap: anywhere;
    }

    .page-home .featured-safari-grid .safari-content {
      gap: 14px;
      padding: 22px 18px 24px;
    }

    .page-home .featured-safari-grid .safari-card-support,
    .page-home .featured-safari-grid .safari-cardhome .price {
      justify-self: center;
      text-align: center;
    }

    .page-home .featured-safari-grid .safari-card-actions {
      display: grid;
      justify-content: stretch;
      justify-self: center;
      width: min(100%, 290px);
      gap: 10px;
    }

    .page-home .featured-safari-grid .enquire-btn {
      display: inline-flex;
      width: 100%;
      min-height: 46px;
      padding-inline: 20px;
      letter-spacing: 0.08em;
      white-space: normal;
      line-height: 1.18;
    }

    .page-home .featured-safari-grid .enquire-btn {
      border-color: rgba(22, 52, 40, 0.82);
      background: var(--luxury-forest);
      color: var(--luxury-cream);
    }

    .safari-product-showcase .view-more-wrapper {
      margin-top: 48px;
    }

    .safari-product-showcase .view-more-btn {
      width: min(100%, 340px);
      min-height: 54px;
      padding: 12px 16px;
      gap: 10px;
      line-height: 1.2;
      text-align: center;
    }

    .safari-product-showcase .view-more-btn span:first-child {
      min-width: 0;
    }

    .safari-product-showcase .view-more-btn span[aria-hidden="true"] {
      flex: 0 0 auto;
    }
  }

  .page-home {
    --home-edge-gutter: clamp(16px, 3.4vw, 72px);
    --home-content-max: 1760px;
  }

  .page-home :where(
    .welcome-container,
    .why-container,
    .founder-highlight-container,
    .safari-product-shell,
    .secure-payment-container,
    .home-booking-steps__inner,
    #top-destinations,
    .payment-video-showcase,
    .chimpanzee-showcase__inner,
    .mountain-showcase__inner,
    .guest-photo-gallery,
    .faq .container
  ) {
    width: min(var(--home-content-max), calc(100vw - (var(--home-edge-gutter) * 2))) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  .page-home .safari-product-showcase {
    padding-inline: var(--home-edge-gutter) !important;
  }

  .page-home .featured-safari-grid {
    width: 100% !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  }

  .page-home .featured-safari-grid .safari-cardhome {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  @media (min-width: 769px) and (max-width: 1279px) {
    .page-home {
      --home-edge-gutter: clamp(18px, 2.6vw, 34px);
    }

    .page-home .featured-safari-grid .safari-cardhome {
      grid-column: span 6 !important;
    }
  }

  @media (max-width: 768px) {
    .page-home {
      --home-edge-gutter: 14px;
    }

    .page-home :where(
      .welcome-container,
      .why-container,
      .founder-highlight-container,
      .safari-product-shell,
      .secure-payment-container,
      .home-booking-steps__inner,
      #top-destinations,
      .payment-video-showcase,
      .chimpanzee-showcase__inner,
      .mountain-showcase__inner,
      .guest-photo-gallery,
      .faq .container
    ) {
      width: calc(100vw - (var(--home-edge-gutter) * 2)) !important;
    }

    .page-home .featured-safari-grid .safari-cardhome {
      grid-column: 1 / -1 !important;
      width: 100% !important;
      max-width: none !important;
      margin-inline: 0 !important;
    }
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury {
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(248, 244, 236, 0.96));
    border-color: rgba(150, 113, 44, 0.14);
    box-shadow: 0 14px 34px rgba(15, 40, 30, 0.08);
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury::before {
    border-color: rgba(255, 255, 255, 0.24);
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury::after,
  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury > .safari-card-media {
    aspect-ratio: 1 / 1.48;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-card-image-copy {
    left: 18px;
    right: 18px;
    bottom: 20px;
    gap: 6px;
    width: auto;
    max-width: calc(100% - 36px);
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-card-title {
    max-width: 20ch;
    font-size: clamp(1.18rem, 1.45vw, 1.62rem);
    font-weight: 500;
    line-height: 1.1;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-content {
    gap: 10px;
    padding: 14px 16px 16px;
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(248, 244, 236, 0.96));
    border-top-color: rgba(150, 113, 44, 0.12);
    box-shadow: none;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-content::before {
    display: none;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-card-support {
    display: -webkit-box;
    overflow: hidden;
    max-width: none;
    color: #455b50;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.48;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-card-day-tag {
    display: block;
    min-height: 0;
    margin-bottom: 4px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--luxury-gold-deep);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.07em;
    line-height: 1.35;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-card-route {
    display: -webkit-box;
    overflow: hidden;
    color: rgba(41, 68, 55, 0.62);
    font-size: 0.56rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-card-route-label {
    font-weight: 500;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .price {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--luxury-forest);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.25;
    box-shadow: none;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-card-actions {
    width: 100%;
  }

  .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .enquire-btn {
    min-height: 38px;
    width: 100%;
    padding-inline: 12px;
    border-radius: 2px;
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.07em;
  }

  @media (max-width: 768px) {
    .page-home .featured-safari-grid .safari-cardhome--image-led-luxury .safari-card-title {
      max-width: 22ch;
      font-size: clamp(1.16rem, 5vw, 1.46rem);
    }
  }

  .page-home .home-destination-carousel {
    position: relative;
    width: 100%;
    margin: 64px auto 30px;
  }

  .page-home .home-cinematic-routes {
    display: flex;
    width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 0;
    background: #10261d;
    scroll-behavior: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    text-align: left;
    cursor: grab;
  }

  .page-home .home-cinematic-routes::-webkit-scrollbar {
    display: none;
  }

  .page-home .home-cinematic-routes.is-dragging {
    scroll-behavior: auto;
    cursor: grabbing;
    user-select: none;
  }

  .page-home .home-cinematic-route {
    position: relative;
    display: block;
    flex: 0 0 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #10261d;
    isolation: isolate;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .page-home .home-cinematic-route img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
    transition: transform 0.65s ease, filter 0.35s ease;
  }

  .page-home .home-cinematic-route::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, transparent 48%, rgba(4, 18, 12, 0.76) 100%);
    pointer-events: none;
  }

  .page-home .home-cinematic-route span {
    position: absolute;
    left: clamp(18px, 3vw, 34px);
    bottom: clamp(16px, 2.8vw, 28px);
    z-index: 2;
    color: #fffaf0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(1.35rem, 2.4vw, 2.15rem);
    font-weight: 600;
    line-height: 1.05;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.58);
  }

  .page-home .home-cinematic-route--shoebill img {
    object-position: 60% 54%;
  }

  .page-home .home-cinematic-route--market img {
    object-position: 50% 50%;
  }

  .page-home .home-cinematic-route--lions img {
    object-position: 50% 68%;
  }

  .page-home .home-cinematic-route:hover img,
  .page-home .home-cinematic-route:focus-visible img {
    transform: scale(1.025);
    filter: saturate(1.04) contrast(1.02);
  }

  .page-home .home-cinematic-route:focus-visible {
    outline: 3px solid var(--luxury-gold);
    outline-offset: -4px;
  }

  .page-home .home-destination-carousel__button {
    position: absolute;
    top: 50%;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    background: rgba(9, 29, 21, 0.68);
    color: #fffaf0;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background 200ms ease, border-color 200ms ease;
  }

  .page-home .home-destination-carousel__button:hover,
  .page-home .home-destination-carousel__button:focus-visible {
    border-color: rgba(255, 255, 255, 0.92);
    background: rgba(9, 29, 21, 0.92);
    outline: none;
  }

  .page-home .home-destination-carousel__button--prev {
    left: 20px;
  }

  .page-home .home-destination-carousel__button--next {
    right: 20px;
  }

  .page-home .home-destination-carousel__dots {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 9px;
  }

  .page-home .home-destination-carousel__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: width 200ms ease, border-radius 200ms ease, background 200ms ease;
  }

  .page-home .home-destination-carousel__dot.is-active {
    width: 26px;
    border-radius: 999px;
    background: #fffaf0;
  }

  .page-home .story-focus--gorilla {
    object-position: 52% 42%;
  }

  .page-home .story-focus--chimp {
    object-position: 38% 50%;
  }

  .page-home .story-focus--glacier {
    object-position: 54% 50%;
  }

  @media (max-width: 780px) {
    .page-home .home-destination-carousel {
      width: 100%;
      margin-right: 0;
      margin-left: 0;
      margin-top: 30px;
    }

    .page-home .home-cinematic-routes {
      border-radius: 0;
    }

    .page-home .home-cinematic-route {
      aspect-ratio: 4 / 3;
    }

    .page-home .home-cinematic-route--shoebill img {
      object-position: 58% 58%;
    }

    .page-home .home-cinematic-route--lions img {
      object-position: 50% 62%;
    }

    .page-home .home-destination-carousel__button {
      width: 42px;
      height: 42px;
    }

    .page-home .home-destination-carousel__button--prev {
      left: 12px;
    }

    .page-home .home-destination-carousel__button--next {
      right: 12px;
    }

    .page-home .home-destination-carousel__dots {
      right: 14px;
      bottom: 14px;
    }
  }

  .home-experience-links {
    position: relative;
    overflow: clip;
    padding: clamp(68px, 8vw, 112px) 18px;
    background:
      radial-gradient(circle at 88% 10%, rgba(200, 169, 107, 0.16), transparent 29%),
      radial-gradient(circle at 4% 88%, rgba(15, 58, 43, 0.09), transparent 27%),
      linear-gradient(180deg, var(--luxury-surface) 0%, var(--luxury-surface-soft) 100%);
  }

  .home-experience-links::before {
    content: "";
    position: absolute;
    top: clamp(42px, 6vw, 78px);
    right: clamp(-90px, -5vw, -28px);
    width: clamp(180px, 25vw, 360px);
    aspect-ratio: 1;
    border: 1px solid rgba(200, 169, 107, 0.16);
    border-radius: 50%;
    pointer-events: none;
  }

  .home-experience-links__inner {
    position: relative;
    z-index: 1;
    width: min(1240px, 100%);
    margin: 0 auto;
  }

  .home-experience-links__header {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.7fr);
    gap: clamp(22px, 5vw, 76px);
    align-items: end;
    margin-bottom: clamp(28px, 4vw, 52px);
  }

  .home-experience-links__header h2 {
    margin: 0;
    color: var(--luxury-forest-deep);
    font-size: clamp(2rem, 4.4vw, 4.1rem);
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -0.025em;
    text-wrap: balance;
  }

  .home-experience-links__header p {
    margin: 0;
    color: var(--luxury-muted);
    font-size: clamp(0.98rem, 1.25vw, 1.08rem);
    line-height: 1.75;
  }

  .home-experience-links__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.34fr) minmax(330px, 0.82fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 26px);
    min-height: clamp(620px, 56vw, 760px);
  }

  .home-experience-link-card {
    position: relative;
    display: block;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 248, 234, 0.22);
    border-radius: clamp(18px, 2vw, 26px);
    color: var(--luxury-cream);
    background: var(--luxury-forest-deep);
    box-shadow: 0 20px 44px rgba(10, 37, 27, 0.14);
    isolation: isolate;
    text-decoration: none;
    transform: translateZ(0);
    transition:
      transform 520ms cubic-bezier(0.22, 0.61, 0.36, 1),
      border-color 420ms ease,
      box-shadow 520ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .home-experience-link-card:first-child {
    grid-row: 1 / -1;
  }

  .home-experience-link-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    background:
      linear-gradient(115deg, transparent 28%, rgba(255, 255, 255, 0.12) 49%, transparent 67%)
      -160% 0 / 70% 100% no-repeat;
    opacity: 0;
    pointer-events: none;
    transition: background-position 900ms cubic-bezier(0.22, 0.61, 0.36, 1), opacity 300ms ease;
  }

  .home-experience-link-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
      linear-gradient(180deg, rgba(5, 19, 14, 0.03) 18%, rgba(5, 19, 14, 0.22) 58%, rgba(5, 19, 14, 0.88) 100%),
      linear-gradient(120deg, rgba(5, 19, 14, 0.18), transparent 44%);
    transition: background 420ms ease;
  }

  .home-experience-link-card img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.018);
    filter: saturate(0.96) contrast(1.01);
    will-change: transform;
    transition:
      transform 900ms cubic-bezier(0.22, 0.61, 0.36, 1),
      filter 700ms ease;
  }

  .home-experience-link-card:first-child img {
    object-position: 54% center;
  }

  .home-experience-link-card:nth-child(2) img {
    object-position: 42% center;
  }

  .home-experience-link-card:nth-child(3) img {
    object-position: 50% 58%;
  }

  .home-experience-link-card__content {
    position: absolute;
    z-index: 2;
    inset: auto clamp(20px, 2.4vw, 32px) clamp(20px, 2.4vw, 30px);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 18px;
    align-items: end;
    transition: transform 440ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .home-experience-link-card__title {
    grid-column: 1;
    color: var(--luxury-cream);
    font-size: clamp(1.35rem, 2vw, 1.78rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.015em;
    text-wrap: balance;
  }

  .home-experience-link-card:first-child .home-experience-link-card__title {
    max-width: 12ch;
    font-size: clamp(1.8rem, 3.2vw, 3rem);
  }

  .home-experience-link-card__arrow {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    display: grid;
    width: clamp(40px, 4vw, 48px);
    height: clamp(40px, 4vw, 48px);
    place-items: center;
    border: 1px solid rgba(255, 248, 234, 0.58);
    border-radius: 50%;
    font-size: 1.1rem;
    transition: transform 300ms ease, background-color 300ms ease;
  }

  .home-experience-link-card:hover img,
  .home-experience-link-card:focus-visible img {
    transform: scale(1.085);
    filter: saturate(1.06) contrast(1.02);
  }

  .home-experience-link-card:hover,
  .home-experience-link-card:focus-visible {
    transform: translate3d(0, -7px, 0);
    border-color: rgba(224, 193, 132, 0.48);
    box-shadow: 0 30px 68px rgba(10, 37, 27, 0.22);
  }

  .home-experience-link-card:hover::before,
  .home-experience-link-card:focus-visible::before {
    background-position: 240% 0;
    opacity: 1;
  }

  .home-experience-link-card:hover::after,
  .home-experience-link-card:focus-visible::after {
    background: linear-gradient(180deg, rgba(5, 19, 14, 0.16) 22%, rgba(5, 19, 14, 0.7) 100%);
  }

  .home-experience-link-card:hover .home-experience-link-card__arrow,
  .home-experience-link-card:focus-visible .home-experience-link-card__arrow {
    transform: translateX(5px) rotate(-4deg);
    background: rgba(255, 248, 234, 0.16);
  }

  .home-experience-link-card:hover .home-experience-link-card__content,
  .home-experience-link-card:focus-visible .home-experience-link-card__content {
    transform: translate3d(0, -3px, 0);
  }

  .home-experience-link-card:focus-visible {
    outline: 3px solid var(--luxury-gold-soft);
    outline-offset: 4px;
  }

  .home-experience-links.is-motion-ready:not(.is-in-view) .home-experience-link-card {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(0.985);
  }

  .home-experience-links.is-motion-ready.is-in-view .home-experience-link-card {
    animation: homeExperienceCardReveal 920ms cubic-bezier(0.22, 0.61, 0.36, 1) backwards;
  }

  .home-experience-links.is-motion-ready.is-in-view .home-experience-link-card:nth-child(2) {
    animation-delay: 120ms;
  }

  .home-experience-links.is-motion-ready.is-in-view .home-experience-link-card:nth-child(3) {
    animation-delay: 240ms;
  }

  @keyframes homeExperienceCardReveal {
    from {
      opacity: 0;
      transform: translate3d(0, 34px, 0) scale(0.985);
    }

    to {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }
  }

  @media (max-width: 900px) {
    .home-experience-links__header {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-experience-links__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: auto;
      min-height: 0;
    }

    .home-experience-link-card {
      min-height: clamp(300px, 45vw, 410px);
    }

    .home-experience-link-card:first-child {
      grid-column: 1 / -1;
      grid-row: auto;
      min-height: clamp(420px, 62vw, 560px);
    }

    .home-experience-links__header p {
      grid-column: 1 / -1;
      max-width: 65ch;
    }
  }

  @media (max-width: 600px) {
    .home-experience-links {
      padding-inline: 14px;
    }

    .home-experience-links__header {
      grid-template-columns: 1fr;
    }

    .home-experience-links__grid {
      display: flex;
      gap: 14px;
      margin-right: -14px;
      padding: 2px 14px 10px 0;
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }

    .home-experience-links__grid::-webkit-scrollbar {
      display: none;
    }

    .home-experience-link-card {
      flex: 0 0 min(82vw, 340px);
      min-height: clamp(340px, 100vw, 410px);
      scroll-snap-align: start;
      scroll-snap-stop: always;
    }

    .home-experience-link-card:first-child {
      flex-basis: min(86vw, 380px);
      min-height: clamp(370px, 108vw, 440px);
    }

    .home-experience-link-card:first-child .home-experience-link-card__title {
      font-size: clamp(1.65rem, 7vw, 2.2rem);
    }

    .home-experience-link-card__content {
      right: 66px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .home-experience-links.is-motion-ready .home-experience-link-card,
    .home-experience-links.is-motion-ready.is-in-view .home-experience-link-card {
      opacity: 1;
      transform: none;
      animation: none;
    }

    .home-experience-link-card,
    .home-experience-link-card img,
    .home-experience-link-card::before,
    .home-experience-link-card::after,
    .home-experience-link-card__content,
    .home-experience-link-card__arrow {
      transition: none;
    }
  }

  /* Desktop package images should show their complete composition rather
     than trimming tall or wide source photography to a preset card ratio. */
  @media (min-width: 769px) {
    .page-home .featured-safari-grid .safari-cardhome > .safari-card-media {
      min-height: 0;
      aspect-ratio: auto !important;
      overflow: visible;
      background: #172b22;
    }

    .page-home .featured-safari-grid .safari-cardhome > .safari-card-media img {
      height: auto;
      object-fit: contain;
      transform: none;
    }

    .page-home .featured-safari-grid .safari-cardhome::after {
      display: none;
    }

    .page-home .featured-safari-grid .safari-cardhome > .safari-card-media::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(180deg, transparent 46%, rgba(5, 12, 9, 0.68) 100%);
      pointer-events: none;
    }
  }

  .page-home .why-choose {
    padding: 112px 18px 112px 0;
  }

  .page-home .why-container {
    width: min(1775px, calc(100vw - 18px)) !important;
    max-width: none;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  .page-home .why-gallery {
    margin: 0;
  }

  @media (max-width: 1100px) {
    .page-home .why-choose {
      padding: 88px 18px 88px 0;
    }
  }

  @media (max-width: 560px) {
    .page-home .why-choose {
      padding: 64px 18px 64px 0;
    }
  }

  .page-home .welcome-gamba {
    --welcome-editorial-background: #f3ead9;
    position: relative;
    padding: 112px 0 112px 18px;
    background: var(--welcome-editorial-background);
    isolation: isolate;
    overflow: visible;
  }

  .page-home .welcome-container {
    width: min(1775px, calc(100vw - 18px)) !important;
    max-width: none;
    margin-left: auto !important;
    margin-right: 0 !important;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(440px, 0.95fr);
    align-items: start;
    gap: 80px;
    text-align: left;
  }

  .page-home .welcome-editorial-copy {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    min-width: 0;
    padding-block: 0;
    padding-top: 8px;
  }

  .page-home .welcome-container h2 {
    max-width: 15ch;
    margin: 0 0 24px;
    color: var(--luxury-forest-deep);
    font-size: 54px;
    font-weight: 400;
    line-height: 1.04;
    text-align: left;
    text-wrap: balance;
  }

  .page-home .welcome-container p {
    max-width: 58ch;
    margin-inline: 0;
    color: var(--luxury-text);
    font-size: 18px;
    line-height: 1.72;
    text-align: left;
  }

  .page-home .welcome-read-more {
    width: max-content;
    margin: 10px 0 0;
    padding: 5px 8px;
    font-size: 10px !important;
    line-height: 1.1;
    text-transform: lowercase !important;
  }

  .page-home .welcome-signature {
    text-align: left;
  }

  .page-home .welcome-editorial-media {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    margin: 0;
    position: sticky;
    top: 92px;
    z-index: 1;
    width: 100%;
    aspect-ratio: 4 / 3;
    min-height: 0;
    overflow: hidden;
    touch-action: pan-y;
    isolation: isolate;
  }

  .page-home .welcome-editorial-media__track {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .page-home .welcome-editorial-media__slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transform: translateX(5%);
    pointer-events: none;
    transition: opacity 700ms ease, transform 850ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .page-home .welcome-editorial-media__slide.is-active {
    z-index: 1;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
  }

  .page-home .welcome-editorial-media__slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    transform: none;
    animation: none;
    transition: none;
  }

  .page-home .welcome-editorial-media__dots {
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 2;
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(10, 16, 12, 0.36);
    backdrop-filter: blur(10px);
  }

  .page-home .welcome-editorial-media__button {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-flex;
    width: 44px;
    height: 44px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 50%;
    background: rgba(12, 31, 23, 0.64);
    color: #fffaf0;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background 200ms ease, border-color 200ms ease;
  }

  .page-home .welcome-editorial-media__button:hover,
  .page-home .welcome-editorial-media__button:focus-visible {
    border-color: rgba(255, 255, 255, 0.9);
    background: rgba(12, 31, 23, 0.88);
    outline: none;
  }

  .page-home .welcome-editorial-media__button--prev {
    left: 18px;
  }

  .page-home .welcome-editorial-media__button--next {
    right: 18px;
  }

  .page-home .welcome-editorial-media__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.88);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: width 200ms ease, border-radius 200ms ease, background 200ms ease;
  }

  .page-home .welcome-editorial-media__dot.is-active {
    width: 26px;
    border-radius: 999px;
    background: #fffaf0;
  }

  @media (max-width: 980px) {
    .page-home .welcome-gamba {
      padding: 72px 18px;
    }

    .page-home .welcome-container {
      width: 100% !important;
      margin-inline: 0 !important;
      grid-template-columns: 1fr;
      gap: 42px;
    }

    .page-home .welcome-editorial-copy {
      grid-column: 1;
      grid-row: 2;
      padding-top: 0;
    }

    .page-home .welcome-editorial-media {
      grid-column: 1;
      grid-row: 1;
      position: relative;
      top: auto;
      min-height: 0;
      aspect-ratio: 4 / 3;
    }

    .page-home .welcome-container h2 {
      max-width: 100%;
      margin-bottom: 34px;
      font-size: 56px;
    }

    .page-home .welcome-editorial-media img {
      object-position: 52% 60%;
    }
  }

  @media (max-width: 560px) {
    .page-home .welcome-gamba {
      padding: 58px 18px;
    }

    .page-home .welcome-container {
      gap: 32px;
    }

    .page-home .welcome-editorial-media {
      width: 100vw;
      max-width: none;
      height: min(125vw, 70svh, 560px);
      margin-inline: calc(50% - 50vw);
      min-height: 0;
      aspect-ratio: auto;
    }

    .page-home .welcome-editorial-media__button--next {
      right: 14px;
    }

    .page-home .welcome-editorial-media__button--prev {
      left: 14px;
    }

    .page-home .welcome-container h2 {
      font-size: 42px;
      line-height: 1.04;
    }

    .page-home .welcome-container p {
      font-size: 16px;
    }
  }

  .page-home #top-destinations,
  .page-home .payment-video-showcase {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  .page-home .chimpanzee-showcase__inner,
  .page-home .mountain-showcase__inner {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  .page-home .payment-video-showcase,
  .page-home .chimpanzee-showcase,
  .page-home .mountain-showcase {
    padding-inline: clamp(18px, 2.5vw, 48px);
  }

  @media (min-width: 981px) {
    .page-home .payment-video-showcase {
      grid-template-columns: minmax(300px, 0.62fr) minmax(0, 1.38fr);
      gap: clamp(28px, 3vw, 56px);
    }

    .page-home .payment-video-showcase__media {
      min-height: 820px;
    }

    .page-home .payment-video-showcase__image {
      min-height: clamp(480px, 38vw, 680px);
    }

    .page-home .chimpanzee-showcase__inner {
      grid-template-columns: minmax(0, 1.48fr) minmax(300px, 0.52fr);
      gap: clamp(32px, 4vw, 72px);
    }

    .page-home .chimpanzee-card {
      grid-template-rows: clamp(420px, 36vw, 640px) auto;
    }

    .page-home .mountain-card {
      grid-template-rows: clamp(430px, 38vw, 680px) auto;
    }
  }

  @media (max-width: 980px) {
    .page-home .payment-video-showcase__image,
    .page-home .payment-video-showcase__frame,
    .page-home .chimpanzee-card img,
    .page-home .mountain-card img {
      border-radius: 4px;
      box-shadow: none;
    }
  }

  .page-home .home-cinematic-rhythm {
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: #f7f5ef;
  }

  .page-home .home-cinematic-rhythm__chapter {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
    transition: transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .page-home .home-cinematic-rhythm__media {
    display: block;
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: #14251d;
  }

  .page-home .home-cinematic-rhythm__media img {
    display: block;
    width: 100%;
    height: clamp(560px, 48vw, 820px);
    object-fit: cover;
    transform: scale(1.01);
    transition:
      transform 1200ms cubic-bezier(0.22, 0.61, 0.36, 1),
      filter 1200ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .page-home .home-cinematic-rhythm__chapter--image-led::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, transparent 40%, rgba(5, 17, 12, 0.72) 100%);
    pointer-events: none;
    transition: background 900ms ease;
  }

  @media (hover: hover) and (pointer: fine) {
    .page-home .home-cinematic-rhythm__chapter:hover {
      transform: translateY(-4px);
    }

    .page-home .home-cinematic-rhythm__chapter:hover .home-cinematic-rhythm__media img {
      transform: scale(1.055);
      filter: saturate(1.06) contrast(1.04);
    }

    .page-home .home-cinematic-rhythm__chapter--image-led:hover::after {
      background: linear-gradient(180deg, transparent 34%, rgba(5, 17, 12, 0.78) 100%);
    }
  }

  .page-home .home-cinematic-rhythm__copy {
    position: absolute;
    bottom: clamp(42px, 6vw, 104px);
    left: var(--home-edge-gutter);
    z-index: 2;
    width: min(760px, calc(100% - (2 * var(--home-edge-gutter))));
    color: #fffaf0;
  }

  .page-home .home-cinematic-rhythm__copy--right {
    right: var(--home-edge-gutter);
    left: auto;
    text-align: right;
  }

  .page-home .home-cinematic-rhythm__kicker {
    margin: 0 0 16px;
    color: #e9c978;
    font-family: "Lato", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
  }

  .page-home .home-cinematic-rhythm__copy h2,
  .page-home .home-cinematic-rhythm__intro h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 68px;
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: 0;
    text-wrap: balance;
  }

  .page-home .home-cinematic-rhythm__chapter--glacier img {
    object-position: 58% 50%;
  }

  .page-home .home-cinematic-rhythm__chapter--text-led {
    background: #f7f5ef;
  }

  .page-home .home-cinematic-rhythm__intro {
    display: grid;
    grid-template-columns: minmax(180px, 0.45fr) minmax(0, 1fr);
    align-items: end;
    gap: clamp(34px, 6vw, 110px);
    width: 100%;
    padding: clamp(76px, 8vw, 126px) var(--home-edge-gutter);
    color: #0d2b21;
  }

  .page-home .home-cinematic-rhythm__intro .home-cinematic-rhythm__kicker {
    margin: 0;
    color: #9a6b1f;
  }

  .page-home .home-cinematic-rhythm__chapter--savannah img {
    height: clamp(620px, 54vw, 880px);
    object-position: 50% 56%;
  }

  .page-home .home-cinematic-rhythm__chapter--bugata img {
    object-position: 50% 54%;
  }

  @media (max-width: 780px) {
    .page-home .home-cinematic-rhythm__media img,
    .page-home .home-cinematic-rhythm__chapter--savannah img {
      height: 560px;
    }

    .page-home .home-cinematic-rhythm__chapter--glacier img {
      object-position: 69% 50%;
    }

    .page-home .home-cinematic-rhythm__chapter--savannah img {
      object-position: 62% 58%;
    }

    .page-home .home-cinematic-rhythm__chapter--bugata img {
      object-position: 38% 54%;
    }

    .page-home .home-cinematic-rhythm__copy,
    .page-home .home-cinematic-rhythm__copy--right {
      right: auto;
      bottom: 38px;
      left: 22px;
      width: calc(100% - 44px);
      text-align: left;
    }

    .page-home .home-cinematic-rhythm__copy h2,
    .page-home .home-cinematic-rhythm__intro h2 {
      font-size: 43px;
    }

    .page-home .home-cinematic-rhythm__intro {
      grid-template-columns: 1fr;
      gap: 18px;
      padding: 66px 22px 54px;
    }
  }

  /* Preserve the desktop editorial stack: the gallery stays in view while the why content scrolls. */
  @media (min-width: 769px) {
    @supports (overflow: clip) {
      body.page-home {
        /* Unlike overflow-x: hidden, clip does not create a sticky-position containing block. */
        overflow-x: clip;
      }
    }

    .page-home .why-container {
      align-items: start;
    }

    .page-home .why-gallery {
      position: sticky;
      top: 92px;
      align-self: start;
    }
  }

/* Isolated type scale for the two intentionally plain homepage sections.
   These scoped declarations outrank the shared sitewide heading/copy scale. */
.page-home .guest-feedback,
.page-home .guest-feedback :where(*),
.page-home .founder-highlight-section,
.page-home .founder-highlight-section :where(*) {
  font-family: "Lato", "Segoe UI", Arial, sans-serif !important;
  font-weight: 400 !important;
}

.page-home .guest-feedback__eyebrow {
  font-size: 0.62rem !important;
  line-height: 1.4 !important;
}

.page-home .guest-feedback h2 {
  font-size: clamp(1.42rem, 2.2vw, 1.9rem) !important;
  line-height: 1.18 !important;
}

.page-home .guest-feedback__intro > p:last-child {
  font-size: clamp(0.82rem, 1vw, 0.9rem) !important;
  line-height: 1.62 !important;
}

.page-home .guest-feedback__journey {
  font-size: 0.54rem !important;
  line-height: 1.35 !important;
}

.page-home .guest-feedback__card h3 {
  font-size: clamp(0.92rem, 1.05vw, 1.02rem) !important;
  line-height: 1.32 !important;
}

.page-home .guest-feedback blockquote p,
.page-home .guest-feedback__full,
.page-home .guest-feedback__full p {
  font-size: clamp(0.78rem, 0.86vw, 0.84rem) !important;
  line-height: 1.58 !important;
}

.page-home .guest-feedback__read-more {
  font-size: 0.56rem !important;
  line-height: 1.35 !important;
}

.page-home .guest-feedback__source {
  font-size: 0.5rem !important;
  line-height: 1.4 !important;
}

.page-home .guest-feedback__google-link {
  font-size: 0.58rem !important;
  line-height: 1.4 !important;
}

.page-home .guest-feedback figcaption {
  font-size: 0.6rem !important;
  line-height: 1.45 !important;
}

.page-home .guest-feedback figcaption strong {
  font-size: 0.76rem !important;
}

.page-home .guest-feedback__rating > span {
  font-size: 0.62rem !important;
}

.page-home .founder-heading {
  font-size: clamp(1.28rem, 2.1vw, 1.68rem) !important;
  line-height: 1.25 !important;
}

.page-home .founder-subtext {
  font-size: clamp(0.82rem, 1vw, 0.9rem) !important;
  line-height: 1.62 !important;
}

.page-home .founder-link-button {
  font-size: clamp(0.74rem, 0.9vw, 0.82rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.page-home .founder-link-badge {
  font-size: 0.52rem !important;
  line-height: 1.2 !important;
}

@media (max-width: 768px) {
  .page-home .guest-feedback__eyebrow {
    font-size: 0.58rem !important;
  }

  .page-home .guest-feedback h2 {
    font-size: 1.36rem !important;
  }

  .page-home .guest-feedback__intro > p:last-child {
    font-size: 0.8rem !important;
  }

  .page-home .founder-heading {
    font-size: clamp(1.2rem, 5.2vw, 1.48rem) !important;
  }

  .page-home .founder-subtext {
    font-size: 0.82rem !important;
  }

  .page-home .founder-link-button {
    font-size: 0.72rem !important;
  }

  .page-home .founder-link-badge {
    font-size: 0.5rem !important;
  }
}

/* Desktop safari packages: four substantial, evenly balanced cards in one row. */
@media (min-width: 1025px) {
  .page-home .safari-product-showcase .featured-safari-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(16px, 1.5vw, 24px);
    align-items: stretch;
  }

  .page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome {
    grid-column: auto !important;
    grid-template-rows: auto 1fr;
    width: 100% !important;
    min-width: 0;
    height: 100%;
    transform: none !important;
  }

  .page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome:hover,
  .page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome:focus-within {
    transform: translateY(-4px) !important;
  }

  .page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome > .safari-card-media {
    min-height: 0;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden;
  }

  .page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome > .safari-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-card-image-copy {
    left: 16px;
    right: 16px;
    bottom: 16px;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-card-title,
  .page-home .safari-product-showcase .featured-safari-grid .safari-cardhome:nth-child(4) .safari-card-title {
    max-width: 100%;
    font-size: clamp(1.06rem, 1.3vw, 1.3rem) !important;
    line-height: 1.12 !important;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "support"
      "route"
      "price"
      "actions";
    grid-template-rows: auto auto auto 1fr;
    min-height: 250px;
    gap: 10px;
    align-items: start;
    padding: 16px 15px 18px;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-card-support {
    display: -webkit-box;
    overflow: hidden;
    max-width: none;
    font-size: 0.78rem !important;
    font-weight: 400;
    line-height: 1.5 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-card-day-tag {
    min-height: 22px;
    padding-inline: 7px;
    font-size: 0.5rem !important;
    letter-spacing: 0.08em;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-card-route {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.56rem !important;
    line-height: 1.4 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-cardhome .price {
    justify-self: start;
    align-self: start;
    padding: 5px 8px;
    font-size: 0.68rem !important;
    font-weight: 400;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-card-actions {
    align-self: end;
    justify-self: stretch;
    width: 100%;
    max-width: none;
  }

  .page-home .safari-product-showcase .featured-safari-grid .enquire-btn {
    width: 100%;
    min-height: 40px;
    padding-inline: 12px;
    font-size: 0.68rem !important;
  }

  .page-home .safari-product-showcase .view-more-wrapper {
    margin-top: clamp(38px, 4vw, 56px);
  }
}

/* Hero assurances: anchored to the image edge rather than mixed into the headline. */
.page-home .herro-trust {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  width: auto;
  min-height: 118px;
  max-width: none;
  margin: 0;
  padding: 32px clamp(128px, 9.5vw, 148px) 15px;
  gap: clamp(24px, 3vw, 46px);
  border: 0;
  background: linear-gradient(
    to top,
    rgba(3, 16, 12, 0.92) 0%,
    rgba(5, 23, 17, 0.68) 52%,
    rgba(5, 23, 17, 0) 100%
  );
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.page-home .herro-trust span {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  justify-content: start;
  min-width: 0;
  min-height: 38px;
  padding: 0;
  gap: 11px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fffaf0;
  font-size: clamp(0.82rem, 0.92vw, 0.94rem);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.page-home .herro-trust span::before {
  content: "\2713";
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  grid-column: 1;
  grid-row: 1 / span 2;
  border-radius: 50%;
  background: #f4bc32;
  color: #173d2f;
  font-family: "Lato", "Segoe UI", Arial, sans-serif;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1;
  text-shadow: none;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.page-home .herro-trust strong,
.page-home .herro-trust small {
  grid-column: 2;
  min-width: 0;
  margin: 0;
  text-align: left;
}

.page-home .herro-trust strong {
  grid-row: 1;
  align-self: end;
  color: #fffaf0;
  font-size: clamp(0.78rem, 0.9vw, 0.9rem);
  font-weight: 700;
  line-height: 1.22;
}

.page-home .herro-trust small {
  grid-row: 2;
  align-self: start;
  margin-top: 3px;
  color: rgba(255, 250, 240, 0.76);
  font-size: clamp(0.64rem, 0.74vw, 0.72rem);
  font-weight: 400;
  line-height: 1.3;
}

/* Give the primary hero message room without covering the photographic subject. */
@media (min-width: 769px) {
  .page-home .herro-content {
    width: min(100%, 620px);
  }

  .page-home .herro-content h1 {
    max-width: 21ch;
    margin: 0 0 clamp(20px, 2vw, 26px);
    font-size: clamp(46px, 3.65vw, 62px) !important;
    font-weight: 500;
    line-height: 1.05 !important;
    letter-spacing: -0.018em !important;
  }

  .page-home .herro-subtext {
    max-width: 36rem;
    margin: 0 0 clamp(28px, 2.6vw, 36px);
    font-size: clamp(15px, 1.05vw, 17px) !important;
    line-height: 1.64 !important;
  }

  .page-home .herro-buttons-wrapper {
    width: auto;
    margin: 0;
  }
}

/* Package offers: one cinematic surface per route, without a separate card pallet. */
.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template: 1fr / minmax(0, 1fr);
  min-height: clamp(590px, 56vw, 680px);
  overflow: hidden;
  border: 0;
  border-radius: 3px;
  background: #10251c;
  box-shadow: none;
  color: #fffaf0;
  transform: none !important;
}

.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer::before,
.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer::after {
  display: none;
}

.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer:hover,
.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer:focus-within {
  border-color: transparent;
  box-shadow: none;
  transform: none !important;
}

.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer > .safari-card-media {
  position: relative;
  inset: auto;
  z-index: 0;
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  aspect-ratio: auto !important;
  overflow: hidden;
}

.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer > .safari-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(4, 15, 11, 0.05) 0%, rgba(4, 15, 11, 0.12) 30%, rgba(4, 15, 11, 0.62) 62%, rgba(4, 15, 11, 0.98) 100%),
    linear-gradient(105deg, rgba(7, 28, 20, 0.34), transparent 58%);
  pointer-events: none;
}

.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer > .safari-card-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  filter: saturate(1.04) contrast(1.02);
  transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1), filter 800ms ease;
}

.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer:hover > .safari-card-media img,
.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer:focus-within > .safari-card-media img {
  transform: scale(1.045);
  filter: saturate(1.1) contrast(1.04);
}

.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer > .safari-content {
  position: relative;
  z-index: 2;
  grid-area: 1 / 1;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: inherit;
  gap: 12px;
  padding: clamp(24px, 3.2vw, 40px);
  border: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(5, 20, 14, 0.08) 44%, rgba(5, 20, 14, 0.72) 70%, rgba(5, 20, 14, 0.96) 100%);
  box-shadow: none;
  color: #fffaf0;
  overflow: visible;
  pointer-events: none;
}

.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome--offer > .safari-content::before {
  display: none;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-duration,
.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-badge {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 999px;
  background: rgba(6, 27, 19, 0.34);
  color: #fffaf0;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-badge {
  border-color: #e4bd62;
  background: #e4bd62;
  color: #10251c;
}

.page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-title {
  max-width: 19ch;
  margin: 0;
  color: #fffaf0;
  font-size: clamp(1.72rem, 2.65vw, 2.7rem) !important;
  font-weight: 500;
  line-height: 1.02 !important;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer:nth-child(4) .safari-card-title {
  font-size: clamp(1.72rem, 2.65vw, 2.7rem) !important;
  line-height: 1.02 !important;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-title a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
  pointer-events: auto;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-title a:hover,
.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-title a:focus-visible {
  color: #f4cf76;
}

.page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-support {
  display: -webkit-box;
  width: min(100%, 58ch);
  max-width: 58ch;
  margin: 0;
  overflow: hidden;
  color: rgba(255, 250, 240, 0.82);
  font-size: clamp(0.82rem, 1.05vw, 0.98rem) !important;
  font-weight: 400;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-support .safari-card-day-tag {
  display: none;
}

.page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-destination {
  display: flex;
  align-items: center;
  gap: 8px;
  width: auto;
  max-width: 100%;
  margin: 0;
  color: rgba(255, 250, 240, 0.76);
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.35;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-destination i {
  flex: 0 0 auto;
  color: #e4bd62;
  font-size: 0.72rem;
}

.page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .price {
  display: block;
  width: auto;
  max-width: 100%;
  justify-self: auto;
  align-self: auto;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fffaf0;
  font-size: clamp(0.84rem, 1.05vw, 0.98rem) !important;
  font-weight: 600;
  line-height: 1.35;
  box-shadow: none;
}

.page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  align-self: auto;
  justify-self: auto;
  width: 100%;
  max-width: none;
  gap: 10px 18px;
  margin-top: 4px;
  pointer-events: auto;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-plan,
.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-itinerary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-plan {
  padding: 0 18px;
  border: 1px solid #e4bd62;
  background: #e4bd62;
  color: #10251c;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-itinerary {
  gap: 8px;
  padding: 0;
  border-bottom: 1px solid rgba(255, 250, 240, 0.58);
  color: #fffaf0;
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-plan:hover,
.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-plan:focus-visible {
  border-color: #f7d883;
  background: #f7d883;
  color: #091d15;
  transform: translateY(-2px);
}

.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-itinerary:hover,
.page-home .safari-product-showcase .safari-cardhome--offer .safari-card-itinerary:focus-visible {
  border-bottom-color: #e4bd62;
  color: #f4cf76;
}

.page-home .safari-product-showcase .safari-cardhome--offer :where(a):focus-visible {
  outline: 2px solid #fffaf0;
  outline-offset: 4px;
}

.page-home .safari-product-showcase .safari-product-next-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(44px, 5vw, 68px);
  padding: 28px 0 0;
  border-top: 1px solid rgba(18, 63, 50, 0.18);
  text-align: left;
}

.page-home .safari-product-showcase .safari-product-next-step > p {
  max-width: 46ch;
  margin: 0;
  color: #485850;
  font-size: 0.92rem;
  line-height: 1.65;
}

.page-home .safari-product-showcase .safari-product-next-step__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 22px;
}

.page-home .safari-product-showcase .safari-product-plan {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid #123f32;
  background: #123f32;
  color: #fffaf0;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.page-home .safari-product-showcase .safari-product-plan:hover,
.page-home .safari-product-showcase .safari-product-plan:focus-visible {
  border-color: #0c2f25;
  background: #0c2f25;
  transform: translateY(-2px);
}

.page-home .safari-product-showcase .safari-product-next-step .view-more-btn {
  min-height: 48px;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  color: #123f32 !important;
  box-shadow: none;
}

.page-home .safari-product-showcase .safari-product-next-step .view-more-btn::before {
  display: none;
}

.page-home .safari-product-showcase .safari-product-next-step .view-more-btn:hover,
.page-home .safari-product-showcase .safari-product-next-step .view-more-btn:focus-visible {
  border-color: transparent !important;
  background: transparent !important;
  color: #80631f !important;
  box-shadow: none;
}

@media (min-width: 769px) {
  .page-home .safari-product-showcase .featured-safari-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px);
    align-items: stretch;
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer {
    grid-column: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 7fr) minmax(0, 3fr) !important;
    width: 100% !important;
    min-height: 0;
    height: 100%;
    background: #0a2119;
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer > .safari-card-media {
    position: relative;
    grid-area: 1 / 1 !important;
    align-self: stretch;
    height: 100% !important;
    min-height: 0;
    aspect-ratio: auto !important;
    background: linear-gradient(135deg, #173429 0%, #071c15 100%);
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer > .safari-card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    transform: none;
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer:hover > .safari-card-media img,
  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer:focus-within > .safari-card-media img {
    transform: none;
    filter: saturate(1.06) contrast(1.03);
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer > .safari-card-media::after {
    background: linear-gradient(
      180deg,
      transparent 68%,
      rgba(11, 40, 31, 0.08) 74%,
      rgba(11, 40, 31, 0.4) 84%,
      rgba(11, 40, 31, 0.8) 92%,
      #0b281f 100%
    );
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer > .safari-content {
    grid-area: 2 / 1;
    min-height: 320px;
    justify-content: flex-start;
    padding: clamp(26px, 2.5vw, 34px);
    background: linear-gradient(180deg, #0b281f 0%, #071c15 100%);
  }

  body.page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-title {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-support {
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
}

@media (max-width: 768px) {
  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    min-height: 0 !important;
    background: #0a2119;
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer > .safari-card-media {
    position: relative;
    grid-area: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 10 / 9 !important;
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer > .safari-card-media::after {
    background: linear-gradient(
      180deg,
      transparent 54%,
      rgba(11, 40, 31, 0.08) 64%,
      rgba(11, 40, 31, 0.42) 78%,
      rgba(11, 40, 31, 0.82) 91%,
      #0b281f 100%
    );
  }

  body.page-home .safari-product-showcase .featured-safari-grid > .safari-cardhome.safari-cardhome--offer > .safari-content {
    grid-area: 2 / 1;
    min-height: 300px !important;
    justify-content: flex-start;
    gap: 9px;
    padding: 20px 18px 22px;
    background: linear-gradient(180deg, #0b281f 0%, #071c15 100%);
    text-align: left !important;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-title {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(0.7rem, 3.2vw, 0.9rem) !important;
    line-height: 1.2 !important;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer:nth-child(4) .safari-card-title {
    max-width: 100%;
    overflow: hidden;
    overflow-wrap: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(0.7rem, 3.2vw, 0.9rem) !important;
    line-height: 1.2 !important;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-support {
    justify-self: auto;
    text-align: left !important;
    font-size: 0.78rem !important;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .price {
    justify-self: auto !important;
    padding: 0;
    text-align: left !important;
    font-size: 0.82rem !important;
  }

  .page-home .safari-product-showcase .featured-safari-grid .safari-cardhome--offer .safari-card-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: stretch !important;
    justify-self: auto !important;
    gap: 12px;
  }

  .page-home .safari-product-showcase .safari-cardhome--offer .safari-card-plan {
    width: 100%;
    min-height: 44px;
  }

  .page-home .safari-product-showcase .safari-product-next-step {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 34px;
    padding-top: 24px;
  }

  .page-home .safari-product-showcase .safari-product-next-step__actions {
    display: grid;
    width: 100%;
    justify-content: stretch;
  }

  .page-home .safari-product-showcase .safari-product-plan,
  .page-home .safari-product-showcase .safari-product-next-step .view-more-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .safari-product-showcase .safari-cardhome--offer,
  .page-home .safari-product-showcase .safari-cardhome--offer img,
  .page-home .safari-product-showcase .safari-cardhome--offer a {
    transition: none !important;
  }
}
