/********** Naturefit CSS **********/

:root {
  --primary: #fb8500;
  --secondary: #287fc0;
  --light: #ffb703;
  --dark: #023047;
  --control-radius: 0.9rem;

  --button: #176b87;
  --white: #f5f5f5;
  --gray: #f8f8f8;
  --border: #d5d5d5;

  --font-display: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
  --font-body: "Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --fs-h1: clamp(2.35rem, 5vw, 4.7rem);
  --fs-h2: clamp(1.95rem, 3.4vw, 3.15rem);
  --fs-h3: clamp(1.5rem, 2.25vw, 2.05rem);
  --fs-h4: clamp(1.15rem, 1.5vw, 1.38rem);
  --fs-body: clamp(1rem, 0.97rem + 0.18vw, 1.08rem);
  --fs-label: clamp(0.78rem, 0.74rem + 0.12vw, 0.88rem);
  --fs-button: clamp(0.84rem, 0.8rem + 0.15vw, 0.94rem);

  --lh-body: 1.82;
  --lh-body-compact: 1.65;
  --lh-heading-tight: 1.08;
  --lh-heading: 1.16;
  --ls-heading: -0.025em;
  --ls-label: 0.14em;

  --space-section: clamp(3.5rem, 7vw, 7rem);
  --space-hero-y: clamp(5.5rem, 12vw, 10rem);
  --space-strip: clamp(3rem, 6vw, 5rem);
  --radius-card-lg: clamp(1.75rem, 2vw, 2.25rem);
  --radius-card: clamp(1.25rem, 1.5vw, 1.75rem);
  --radius-card-sm: clamp(1.1rem, 1.2vw, 1.4rem);
  --radius-button: clamp(0.95rem, 1vw, 1.125rem);
}


body {
    font-family: var(--font-body) !important;
}

h1, h2, h3, h4, h5, h6, .fw-bold, .section-title, .navbar-brand {
    font-family: var(--font-display) !important;
}

/*** Spinner ***/
.spinner {
  width: 40px;
  height: 40px;
  background: var(--primary);
  margin: 100px auto;
  -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
  animation: sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotateplane {
  0% {
    -webkit-transform: perspective(120px);
  }
  50% {
    -webkit-transform: perspective(120px) rotateY(180deg);
  }
  100% {
    -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg);
  }
}

@keyframes sk-rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  }
  50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
  }
  100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

#spinner {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease-out, visibility 0s linear 0.5s;
  z-index: 99999;
}

#spinner.show {
  transition: opacity 0.5s ease-out, visibility 0s linear 0s;
  visibility: visible;
  opacity: 1;
}

/*** Heading ***/
h1,
h2,
.fw-bold {
  font-weight: 600 !important;
}

h3,
h4,
.fw-semi-bold {
  font-weight: 500 !important;
}

h5,
h6,
.fw-medium {
  font-weight: 400 !important;
}

/*** Button ***/
.btn {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  transition: 0.5s;
  border-radius: 4px;
  background-color: var(--light);
  border: 0;
}

.btn-primary,
.btn-secondary {
  color: #000;
  box-shadow: inset 0 0 0 50px transparent;
}

.btn-primary:hover {
  box-shadow: inset 0 0 0 0 var(--primary);
}

.btn-secondary:hover {
  box-shadow: inset 0 0 0 0 var(--primary);
}

.btn-square {
  width: 36px;
  height: 36px;
}

.btn-sm-square {
  width: 30px;
  height: 30px;
}

.btn-lg-square {
  width: 48px;
  height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}

/*** Navbar ***/
.navbar-dark .navbar-nav .nav-link {
  font-family: "Poppins", sans-serif;
  position: relative;
  margin-left: 25px;
  padding: 35px 0;
  color: #ffffff;
  font-size: 18px;
  font-weight: 600;
  outline: none;
  transition: 0.5s;
}

.sticky-top.navbar-dark .navbar-nav .nav-link {
  padding: 20px 0;
  color: #ffffff;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
  color: var(--button);
}

.navbar-dark .navbar-brand h1 {
  color: #ffffff;
}

.navbar-dark .navbar-toggler {
  color: var(--primary) !important;
  border-color: var(--primary) !important;
}

@media (max-width: 991.98px) {
  .navbar-dark {
    position: absolute;
    width: 100%;
    z-index: 999;
  }

  .navbar-dark .navbar-nav .nav-link,
  .navbar-dark .navbar-nav .nav-link.show,
  .sticky-top.navbar-dark .navbar-nav .nav-link {
    padding: 10px 0;
    color: var(--dark);
  }

  .navbar-dark .navbar-brand h1 {
    color: var(--primary);
  }
}

@media (min-width: 992px) {
  .navbar-dark {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    border-bottom: 1px solid rgba(256, 256, 256, 0.1);
    z-index: 999;
  }

  .sticky-top.navbar-dark {
    position: fixed;
    background: var(--secondary);
  }

  .navbar-dark .navbar-nav .nav-link::before {
    position: absolute;
    content: "";
    width: 0;
    height: 2px;
    bottom: -1px;
    left: 50%;
    background: var(--primary);
    transition: 0.5s;
  }

  .navbar-dark .navbar-nav .nav-link:hover::before,
  .navbar-dark .navbar-nav .nav-link.active::before {
    width: 100%;
    left: 0;
  }

  .navbar-dark .navbar-nav .nav-link.nav-contact::before {
    display: none;
  }

  .sticky-top.navbar-dark .navbar-brand h1 {
    color: var(--primary);
  }
}

/*** Carousel ***/
.carousel-caption {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(9, 30, 62, 0.7);
  z-index: 1;
}

@media (max-width: 576px) {
  .carousel-caption h5 {
    font-size: 14px;
    font-weight: 500 !important;
  }

  .carousel-caption h1 {
    font-size: 30px;
    font-weight: 600 !important;
  }
}

.carousel-control-prev,
.carousel-control-next {
  width: 10%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 3rem;
  height: 3rem;
}

/*** Section Title ***/
.section-title::before {
  position: absolute;
  content: "";
  width: 150px;
  height: 5px;
  left: 0;
  bottom: 0;
  background: var(--primary);
  border-radius: 2px;
}

.section-title.text-center::before {
  left: 50%;
  margin-left: -75px;
}

.section-title.section-title-sm::before {
  width: 90px;
  height: 3px;
}

.section-title::after {
  position: absolute;
  content: "";
  width: 6px;
  height: 5px;
  bottom: 0px;
  background: #ffffff;
  -webkit-animation: section-title-run 5s infinite linear;
  animation: section-title-run 5s infinite linear;
}

.section-title.section-title-sm::after {
  width: 4px;
  height: 3px;
}

.section-title.text-center::after {
  -webkit-animation: section-title-run-center 5s infinite linear;
  animation: section-title-run-center 5s infinite linear;
}

.section-title.section-title-sm::after {
  -webkit-animation: section-title-run-sm 5s infinite linear;
  animation: section-title-run-sm 5s infinite linear;
}

@-webkit-keyframes section-title-run {
  0% {
    left: 0;
  }
  50% {
    left: 145px;
  }
  100% {
    left: 0;
  }
}

@-webkit-keyframes section-title-run-center {
  0% {
    left: 50%;
    margin-left: -75px;
  }
  50% {
    left: 50%;
    margin-left: 45px;
  }
  100% {
    left: 50%;
    margin-left: -75px;
  }
}

@-webkit-keyframes section-title-run-sm {
  0% {
    left: 0;
  }
  50% {
    left: 85px;
  }
  100% {
    left: 0;
  }
}

/*** Service ***/
.service-item {
  position: relative;
  height: 300px;
  padding: 0 30px;
  transition: 0.5s;
}

.service-item .service-icon {
  margin-bottom: 30px;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  border-radius: 2px;
  transform: rotate(-45deg);
}

.service-item .service-icon i {
  transform: rotate(45deg);
}

.service-item a.btn {
  position: absolute;
  width: 60px;
  bottom: -48px;
  left: 50%;
  margin-left: -30px;
  opacity: 0;
}

.service-item:hover a.btn {
  bottom: -24px;
  opacity: 1;
}

/*** Testimonial ***/
.testimonial-carousel .owl-dots {
  margin-top: 15px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.testimonial-carousel .owl-dot {
  position: relative;
  display: inline-block;
  margin: 0 5px;
  width: 15px;
  height: 15px;
  background: #dddddd;
  border-radius: 50px;
  transition: 0.5s;
}

.testimonial-carousel .owl-dot.active {
  width: 15px;
  background: var(--primary);
  border-radius: 50px;
}

.testimonial-carousel .owl-item.center {
  position: relative;
  z-index: 1;
}

.testimonial-carousel .owl-item .testimonial-item {
  transition: 0.5s;
}

.testimonial-carousel .owl-item.center .testimonial-item {
  background: #fff !important;
  border: 1px solid var(--secondary);
  border-radius: 4px;
  margin: 0px 10px 0px 10px;
}

.testimonial-inactive {
  background: #fff;
  border-radius: 4px;
  border: 1px solid var(--border);
}

/*** Team ***/
.team-item {
  transition: 0.5s;
}

.team-social {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.5s;
}

.team-social a.btn {
  position: relative;
  margin: 0 3px;
  margin-top: 100px;
  opacity: 0;
}

.team-item:hover {
  box-shadow: 0 0 30px #dddddd;
}

.team-item:hover .team-social {
  background: rgba(9, 30, 62, 0.7);
}

.team-item:hover .team-social a.btn:first-child {
  opacity: 1;
  margin-top: 0;
  transition: 0.3s 0s;
}

.team-item:hover .team-social a.btn:nth-child(2) {
  opacity: 1;
  margin-top: 0;
  transition: 0.3s 0.05s;
}

.team-item:hover .team-social a.btn:nth-child(3) {
  opacity: 1;
  margin-top: 0;
  transition: 0.3s 0.1s;
}

.team-item:hover .team-social a.btn:nth-child(4) {
  opacity: 1;
  margin-top: 0;
  transition: 0.3s 0.15s;
}

.team-item .team-img img,
.blog-item .blog-img img {
  transition: 0.5s;
}

.team-item:hover .team-img img,
.blog-item:hover .blog-img img {
  transform: scale(1.15);
}

/*** Miscellaneous ***/
@media (min-width: 991.98px) {
  .facts {
    position: relative;
    margin-top: -75px;
    z-index: 1;
  }
}

.back-to-top {
  position: fixed;
  display: none;
  right: 45px;
  bottom: 45px;
  z-index: 99;
}

.bg-header {
  background: linear-gradient(rgba(9, 30, 62, 0.7), rgba(9, 30, 62, 0.7)),
    url(../images/home/1.webp) center center no-repeat;
  background-size: cover;
}

.link-animated a {
  transition: 0.5s;
}

.link-animated a:hover {
  padding-left: 10px;
}

@media (min-width: 767.98px) {
  .footer-about {
    margin-bottom: -75px;
  }
}

/*  New css */

.round {
  border-radius: 4px;
}

.photo {
  border-radius: 4px;
}

.light-section {
  background: var(--gray);
}

.blog-item {
  border-radius: 4px;
  background: white;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.contact {
  border-radius: 4px;
  background: var(--gray);
}

.justice {
  text-align: justify;
}

.logo {
  height: 80px;
  border-radius: 4px;
}

.review-header {
  background-color: #fef2e5;
}

/* Background color */

.bg-prime {
  background-color: var(--primary);
}

.bg-sec {
  background-color: var(--secondary);
}

.bg-lit {
  background-color: var(--light);
}

.bg-lite {
  background-color: #fef2e5;
}

/* Text color */
.text-prime {
  color: var(--primary);
}

.text-sec {
  color: var(--secondary);
}

.text-dark {
  color: var(--dark);
}

.button {
  background-color: var(--secondary);
}

.service {
  background-color: #eff9f9;
}

.icon-bg {
  background-color: var(--secondary);
}

.btn-dark {
  background-color: var(--button) !important;
}
/********** Editorial legal refresh **********/
:root {
  --primary: #cdad7d;
  --secondary: #222344;
  --light: #e8d1ae;
  --dark: #222344;
  --button: #171c38;
  --white: #f4f1ec;
  --gray: #f8f4ee;
  --border: rgba(34, 35, 68, 0.12);
  --ink-soft: #575972;
  --cream-deep: #eeead6;
  --shadow-soft: 0 26px 60px -44px rgba(34, 35, 68, 0.35);
}

body {
  font-family: "Poppins", sans-serif;
  color: var(--dark);
  background: linear-gradient(180deg, #f7f4ef 0%, #f4f1ec 46%, #eeead6 100%);
}

h1,
h2,
h3,
h4,
.display-1,
.display-2,
.display-3,
.display-4,
.fw-bold,
.fw-semi-bold {
  font-family: "Merriweather", serif;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
}

h5,
h6,
.fw-medium {
  font-family: "Poppins", sans-serif;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.1;
  text-align: center;
  vertical-align: middle;
  text-transform: uppercase;
  border-radius: var(--control-radius);
  border: 1px solid var(--primary);
  background: var(--primary);
  color: var(--dark);
  box-shadow: none;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.btn:hover,
.btn:focus {
  background: var(--light);
  border-color: var(--light);
  color: var(--dark);
  transform: translateY(-1px);
  box-shadow: none;
}

.btn-primary,
.btn-dark {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--dark) !important;
}

.btn-secondary {
  background: transparent;
  border-color: rgba(244, 241, 236, 0.34);
  color: var(--white);
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
  border-radius: var(--control-radius);
}

.topbar-band {
  background: #171c38 !important;
  border-bottom: 1px solid rgba(232, 209, 174, 0.12);
}

.topbar-band .text-light,
.topbar-band small {
  color: rgba(244, 241, 236, 0.78) !important;
}

.topbar-band .btn-outline-light {
  border-color: rgba(244, 241, 236, 0.24);
  color: var(--light) !important;
  background: transparent;
}

.topbar-band .btn-outline-light:hover {
  background: rgba(232, 209, 174, 0.14);
  border-color: rgba(232, 209, 174, 0.44);
}

.logo {
  height: 72px;
  border-radius: 0;
}

.navbar-dark {
  background: var(--secondary);
  border-bottom: 1px solid rgba(244, 241, 236, 0.12);
}

.sticky-top.navbar-dark {
  background: var(--secondary);
  box-shadow: 0 20px 48px -36px rgba(13, 59, 16, 0.38);
}

.navbar-dark .navbar-nav .nav-link {
  font-family: "Poppins", sans-serif;
  margin-left: 1.6rem;
  padding: 2rem 0;
  color: rgba(244, 241, 236, 0.92);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.sticky-top.navbar-dark .navbar-nav .nav-link {
  padding: 1.25rem 0;
  color: #ffffff !important;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
  color: var(--primary);
}

.navbar-dark .navbar-nav .dropdown-toggle {
  display: inline-flex;
  align-items: center;
}

.navbar-dark .navbar-nav .dropdown-toggle::after {
  margin-left: 0.55rem;
  vertical-align: middle;
}

.navbar-dark .dropdown-menu {
  margin: 0;
  padding: 0.55rem;
  min-width: 18rem;
  border: 1px solid rgba(197, 161, 90, 0.2);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  box-shadow: 0 26px 48px -38px rgba(18, 30, 48, 0.34);
}

.navbar-dark .dropdown-item {
  padding: 0.8rem 0.95rem;
  border-radius: 0.8rem;
  color: var(--secondary);
  font-family: "Poppins", sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.45;
  white-space: normal;
}

.navbar-dark .dropdown-item:hover,
.navbar-dark .dropdown-item:focus,
.navbar-dark .dropdown-item.active {
  background: rgba(231, 222, 204, 0.8);
  color: var(--secondary);
}

.navbar-dark .dropdown-item + .dropdown-item {
  margin-top: 0.18rem;
}
.sticky-top.navbar-dark .navbar-nav .nav-link:hover,
.sticky-top.navbar-dark .navbar-nav .nav-link.active {
  color: var(--primary) !important;
}

.navbar-dark .navbar-nav .nav-link::before {
  background: var(--primary) !important;
  height: 1px;
}

.navbar-dark .navbar-toggler {
  color: var(--light) !important;
  border-color: rgba(232, 209, 174, 0.42) !important;
  border-radius: var(--control-radius);
}

@media (min-width: 992px) {
  .navbar-dark .dropdown {
    position: relative;
  }

  .navbar-dark .offcanvas {
    position: static;
    z-index: auto;
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none !important;
  }

  .navbar-dark .offcanvas-header {
    display: none;
  }

  .navbar-dark .offcanvas-body {
    display: flex;
    flex-grow: 1;
    align-items: center;
    padding: 0;
    overflow: visible;
    background: transparent;
  }

  .navbar-dark .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 0.8rem);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
  }

  .navbar-dark .dropdown.show .dropdown-menu,
  .navbar-dark .dropdown:hover .dropdown-menu,
  .navbar-dark .dropdown:focus-within .dropdown-menu,
  .navbar-dark .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0.45rem);
  }

  .navbar-dark .dropdown:hover > .nav-link,
  .navbar-dark .dropdown:focus-within > .nav-link {
    color: var(--primary);
  }
}

#header-carousel {
  --hero-navy: #071523;
  --hero-navy-soft: #0c2036;
  --hero-navy-deep: #030b14;
  --hero-gold: #c5a15a;
  --hero-gold-strong: #e7c98c;
  --hero-ivory: #f7f0e3;
  --hero-muted: rgba(247, 240, 227, 0.78);
  overflow: hidden;
  background: var(--hero-navy-deep);
}

#header-carousel .carousel-inner,
#header-carousel .carousel-item,
#header-carousel .hero-slide,
#header-carousel .carousel-caption {
  height: min(92svh, 54rem);
  min-height: 40rem;
}

#header-carousel .hero-slide {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

#header-carousel .hero-slide::before,
#header-carousel .hero-slide::after {
  position: absolute;
  content: "";
  inset: 0;
  z-index: 1;
}

#header-carousel .hero-slide::before {
  background:
    linear-gradient(180deg, rgba(4, 11, 20, 0.06) 0%, rgba(4, 11, 20, 0.2) 100%),
    linear-gradient(90deg, rgba(4, 11, 20, 0.34) 0%, rgba(6, 18, 31, 0.22) 45%, rgba(4, 11, 20, 0.32) 100%);
}

#header-carousel .hero-slide::after {
  background-image:
    linear-gradient(rgba(231, 201, 140, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231, 201, 140, 0.08) 1px, transparent 1px);
  background-size: 140px 140px;
  opacity: 0.1;
  -webkit-mask-image: radial-gradient(circle at center, black 38%, transparent 88%);
  mask-image: radial-gradient(circle at center, black 38%, transparent 88%);
}

#header-carousel .hero-slide--strategy {
  background:
    radial-gradient(circle at 18% 20%, rgba(197, 161, 90, 0.18), transparent 25%),
    radial-gradient(circle at 82% 16%, rgba(255, 255, 255, 0.08), transparent 20%),
    linear-gradient(130deg, #071321 0%, #0a1b2d 40%, #0e2743 100%);
}

#header-carousel .hero-slide--business {
  background:
    radial-gradient(circle at 78% 18%, rgba(197, 161, 90, 0.16), transparent 22%),
    radial-gradient(circle at 26% 26%, rgba(255, 255, 255, 0.06), transparent 18%),
    linear-gradient(125deg, #06121f 0%, #0b1f34 44%, #143152 100%);
}

#header-carousel .hero-slide--disputes {
  background:
    radial-gradient(circle at 50% 14%, rgba(197, 161, 90, 0.16), transparent 22%),
    radial-gradient(circle at 22% 76%, rgba(255, 255, 255, 0.06), transparent 18%),
    linear-gradient(135deg, #07111d 0%, #0b1a2d 44%, #102843 100%);
}

#header-carousel .hero-slide-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.56;
  filter: saturate(0.62) contrast(1.02) brightness(0.8);
  mix-blend-mode: normal;
  transform: scale(1.06);
  z-index: 0;
}

#header-carousel .carousel-item.active .hero-slide-image {
  animation: heroImageZoom 6.8s ease both;
}

#header-carousel .carousel-caption {
  inset: 0;
  padding: 0;
  background: none;
  z-index: 2;
}

.hero-shell {
  position: relative;
  width: min(1320px, calc(100% - 2.5rem));
  height: 100%;
  margin: 0 auto;
  padding: clamp(8rem, 14vh, 9.75rem) 0 clamp(6rem, 10vh, 7.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-content {
  position: relative;
  z-index: 2;
  width: min(56rem, 100%);
  max-width: min(56rem, 100%);
  text-align: center;
}

.hero-eyebrow {
  margin: 0 0 1.1rem;
  color: var(--hero-gold-strong);
  font-family: "Poppins", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.hero-title {
  margin: 0;
  color: var(--hero-ivory);
  font-size: clamp(2.6rem, 5.2vw, 4.8rem);
  line-height: 1.02;
  text-shadow: 0 24px 50px rgba(0, 0, 0, 0.36);
}

.hero-divider {
  display: block;
  width: 5rem;
  height: 2px;
  margin: 1.8rem auto 1.6rem;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0) 0%, var(--hero-gold) 18%, var(--hero-gold-strong) 50%, var(--hero-gold) 82%, rgba(197, 161, 90, 0) 100%);
}

.hero-text {
  max-width: 46rem;
  margin: 0 auto;
  color: var(--hero-muted);
  font-size: clamp(1rem, 1.35vw, 1.14rem);
  line-height: 1.82;
}

.hero-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.25rem;
}

.hero-btn {
  min-width: 13.75rem;
  min-height: 3.65rem;
  padding: 0.95rem 1.7rem;
  border: 1px solid transparent;
  border-radius: var(--control-radius);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: transform 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}

.hero-btn:hover {
  transform: translateY(-3px);
}

.hero-btn-primary {
  background: linear-gradient(135deg, var(--hero-gold-strong), var(--hero-gold));
  color: #121212;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
}

.hero-btn-primary:hover {
  background: #f0d9a5;
  color: #0f1720;
  box-shadow: 0 24px 45px rgba(0, 0, 0, 0.32);
}

.hero-btn-outline {
  background: rgba(0, 0, 0, 0.06);
  border-color: rgba(231, 201, 140, 0.65);
  color: var(--hero-ivory);
}

.hero-btn-outline:hover {
  background: rgba(231, 201, 140, 0.12);
  border-color: var(--hero-gold-strong);
  color: var(--hero-gold-strong);
}

#header-carousel .carousel-control-prev,
#header-carousel .carousel-control-next {
  width: auto;
  top: 50%;
  bottom: auto;
  opacity: 1;
  transform: translateY(-50%);
  z-index: 4;
}

#header-carousel .carousel-control-prev {
  left: clamp(0.5rem, 2vw, 1.75rem);
}

#header-carousel .carousel-control-next {
  right: clamp(0.5rem, 2vw, 1.75rem);
}

.hero-control-icon {
  display: grid;
  place-items: center;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 1rem;
  border: 1px solid rgba(231, 201, 140, 0.42);
  background: rgba(7, 18, 30, 0.52);
  color: var(--hero-ivory);
  font-size: 1.1rem;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.24);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: transform 0.35s ease, background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}

#header-carousel .carousel-control-prev:hover .hero-control-icon,
#header-carousel .carousel-control-next:hover .hero-control-icon {
  transform: translateY(-2px);
  background: var(--hero-gold);
  border-color: var(--hero-gold-strong);
  color: #101820;
}

#header-carousel .carousel-indicators {
  z-index: 4;
  gap: 0.7rem;
  margin-bottom: 0;
  bottom: 1.9rem;
}

#header-carousel .carousel-indicators [data-bs-target] {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0;
  border: 1px solid rgba(231, 201, 140, 0.55);
  border-radius: 999px;
  background: rgba(247, 240, 227, 0.18);
  opacity: 1;
  transition: width 0.35s ease, background-color 0.35s ease, border-color 0.35s ease;
}

#header-carousel .carousel-indicators .active {
  width: 3rem;
  background: var(--hero-gold-strong);
  border-color: var(--hero-gold-strong);
}

#header-carousel .hero-eyebrow,
#header-carousel .hero-title,
#header-carousel .hero-divider,
#header-carousel .hero-text,
#header-carousel .hero-actions {
  opacity: 0;
}

#header-carousel .carousel-item.active .hero-eyebrow {
  animation: heroReveal 0.9s 0.18s ease both;
}

#header-carousel .carousel-item.active .hero-title {
  animation: heroReveal 0.95s 0.32s ease both;
}

#header-carousel .carousel-item.active .hero-divider {
  animation: heroReveal 0.85s 0.48s ease both;
}

#header-carousel .carousel-item.active .hero-text {
  animation: heroReveal 0.9s 0.62s ease both;
}

#header-carousel .carousel-item.active .hero-actions {
  animation: heroReveal 0.9s 0.78s ease both;
}

@keyframes heroReveal {
  from {
    opacity: 0;
    transform: translateY(26px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroImageZoom {
  from {
    transform: scale(1.06);
  }
  to {
    transform: scale(1.12);
  }
}

#about,
#contact,
#gallery,
.testimonials-band,
#team {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.94) 0%, rgba(244, 241, 236, 0.98) 100%);
}

.about-shell {
  max-width: 1220px;
}

.about-grid {
  --bs-gutter-x: 4.5rem;
}

.about-visual {
  position: relative;
  padding: 1.2rem 1.2rem 1.9rem 0;
}

.about-visual::before {
  position: absolute;
  content: "";
  inset: 0 0 0.8rem 1.7rem;
  border: 1px solid rgba(197, 161, 90, 0.32);
  border-radius: 2rem;
}

.about-visual::after {
  position: absolute;
  content: "";
  right: 1.1rem;
  bottom: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 1.5rem;
  background: radial-gradient(circle, rgba(197, 161, 90, 0.14) 0%, rgba(197, 161, 90, 0) 72%);
}

.about-image-card {
  position: relative;
  border-radius: 1.75rem;
  overflow: hidden;
  background: #e9e1d3;
  box-shadow: 0 36px 65px -42px rgba(18, 30, 48, 0.45);
}

.about-image-card::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 21, 35, 0.02) 0%, rgba(7, 21, 35, 0.14) 100%);
}

.about-image {
  display: block;
  min-height: 35rem;
  object-fit: cover;
  object-position: center center;
}

.about-copy {
  padding: 1rem 0 1rem 0.25rem;
}

.about-eyebrow {
  margin: 0 0 0.85rem;
  color: #8c652b;
  font-family: "Poppins", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.about-heading {
  margin: 0;
  color: #12253d;
  font-size: clamp(2.35rem, 4.15vw, 4.25rem);
  line-height: 1.04;
}

.about-divider {
  display: block;
  width: 5.2rem;
  height: 2px;
  margin: 1.45rem 0 1.7rem;
  background: linear-gradient(90deg, #e7c98c 0%, #c5a15a 100%);
}

.about-text {
  max-width: 36rem;
}

.about-text p {
  margin: 0 0 1.35rem;
  color: rgba(18, 37, 61, 0.82);
  font-size: 1rem;
  line-height: 1.9;
  text-align: justify;
}

.about-text p:last-child {
  margin-bottom: 0;
}

.about-btn {
  display: inline-flex;
  align-items: center;
  min-height: 3.4rem;
  padding: 0.95rem 1.7rem;
  border: 1px solid transparent;
  border-radius: var(--control-radius);
  background: linear-gradient(135deg, #e7c98c, #c5a15a);
  color: #101820 !important;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: 0 22px 38px -28px rgba(17, 24, 39, 0.45);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.about-btn:hover {
  background: #f0d8a4;
  color: #101820 !important;
  transform: translateY(-2px);
  box-shadow: 0 26px 46px -30px rgba(17, 24, 39, 0.5);
}

#services {
  background: linear-gradient(180deg, #f8f4ee 0%, #eeead6 100%) !important;
}

.services-shell {
  max-width: 1240px;
}

#services .services-heading {
  max-width: 760px;
  margin-bottom: 4rem !important;
}

#services .services-heading h5 {
  margin-bottom: 0.9rem;
  color: #8c652b !important;
  letter-spacing: 0.24em;
}

#services .services-heading h1 {
  color: #12253d;
  font-size: clamp(2.3rem, 4vw, 4.1rem);
}

#services .section-title::before {
  width: 5.2rem;
  height: 2px;
  background: linear-gradient(90deg, #e7c98c 0%, #c5a15a 100%);
}

#services .section-title.text-center::before {
  margin-left: -2.6rem;
}

.section-title h5 {
  color: #8c652b !important;
  font-family: "Poppins", sans-serif;
  font-size: 0.74rem;
  font-weight: 700 !important;
  letter-spacing: 0.18em;
}

.section-title h1,
.section-title h3 {
  color: var(--dark);
  font-size: clamp(2.1rem, 4vw, 3.8rem);
}

.section-title::before {
  width: 82px;
  height: 2px;
  background: var(--primary);
  border-radius: 0;
}

.section-title.text-center::before {
  margin-left: -41px;
}

.section-title::after {
  display: none;
}

.photo,
.round {
  border-radius: 3px;
}

#services .blog-item {
  height: 100%;
  border-radius: 1.25rem;
  border: 1px solid rgba(197, 161, 90, 0.28);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  box-shadow: 0 28px 52px -42px rgba(18, 30, 48, 0.34);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

#services .blog-item:hover {
  transform: translateY(-6px);
  border-color: rgba(197, 161, 90, 0.48);
  box-shadow: 0 36px 62px -40px rgba(18, 30, 48, 0.42);
}

#services .service-media {
  height: 16.25rem;
  background: #ddd;
}

#services .blog-item .blog-img img {
  object-fit: cover;
  transition: transform 0.7s ease;
}

#services .blog-item:hover .blog-img img {
  transform: scale(1.05);
}

#services .service-body {
  min-height: 18.5rem;
  padding: 1.9rem 1.55rem 1.7rem !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

#services .service-title {
  margin: 0;
  color: #12253d;
  font-size: clamp(1.45rem, 2.1vw, 1.9rem);
  line-height: 1.16;
}

#services .service-copy {
  margin: 0;
  color: rgba(18, 37, 61, 0.78);
  font-size: 0.97rem;
  line-height: 1.84;
  text-align: center;
}

#services .service-btn {
  align-self: center;
  margin-top: auto;
  min-height: 2.85rem;
  padding: 0.72rem 1.35rem;
  border-radius: var(--control-radius);
  background: #12253d !important;
  border: 1px solid #12253d !important;
  color: #f7f0e3 !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: none;
}

#services .service-btn:hover {
  background: #1b3554 !important;
  border-color: #1b3554 !important;
  color: #ffffff !important;
}

.bg-lite {
  background: linear-gradient(180deg, #f7f4ef 0%, #eeead6 100%) !important;
}

.bg-sec {
  background: var(--secondary) !important;
}

.team-shell {
  max-width: 1230px;
}

.team-heading {
  max-width: 760px;
  margin-bottom: 4rem;
}

.team-heading-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  margin-bottom: 0.95rem;
}

.team-heading-mark span {
  width: 3.4rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0) 0%, rgba(197, 161, 90, 0.9) 100%);
}

.team-heading-mark span:last-child {
  background: linear-gradient(90deg, rgba(197, 161, 90, 0.9) 0%, rgba(197, 161, 90, 0) 100%);
}

.team-heading-mark i {
  color: #c5a15a;
  font-size: 0.95rem;
}

.team-eyebrow {
  margin: 0 0 0.8rem;
  color: #8c652b;
  font-family: "Poppins", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

.team-title {
  margin: 0;
  color: #12253d;
  font-size: clamp(2.35rem, 4.2vw, 4.35rem);
  line-height: 1.08;
}

.team-divider {
  display: block;
  width: 5.3rem;
  height: 2px;
  margin: 1.55rem auto 0;
  background: linear-gradient(90deg, #e7c98c 0%, #c5a15a 100%);
}

.team-grid {
  --bs-gutter-x: 4rem;
}

.founder-visual {
  position: relative;
  padding: 1rem 1.1rem 1.85rem 0;
}

.founder-visual::before {
  position: absolute;
  content: "";
  inset: 0.45rem 0 0.7rem 1.7rem;
  border: 1px solid rgba(197, 161, 90, 0.34);
  border-radius: 2rem;
}

.founder-image-card {
  position: relative;
  border-radius: 1.8rem;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(233, 225, 211, 0.98) 0%, rgba(245, 238, 228, 0.98) 100%);
  box-shadow: 0 34px 62px -40px rgba(18, 30, 48, 0.42);
}

.founder-image-card::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 21, 35, 0.02) 0%, rgba(7, 21, 35, 0.14) 100%);
}

.founder-image {
  display: block;
  min-height: 38rem;
  object-fit: cover;
  object-position: center top;
}

.founder-panel {
  position: relative;
  padding: 2.65rem 2.5rem 2.55rem;
  border-radius: 1.8rem;
  background: linear-gradient(180deg, #0e2238 0%, #122941 100%);
  box-shadow: 0 34px 62px -42px rgba(9, 17, 30, 0.62);
  overflow: hidden;
}

.founder-panel::before {
  position: absolute;
  content: "";
  inset: 0;
  background:
    radial-gradient(circle at 82% 16%, rgba(197, 161, 90, 0.12), transparent 22%),
    linear-gradient(rgba(231, 201, 140, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231, 201, 140, 0.045) 1px, transparent 1px);
  background-size: auto, 120px 120px, 120px 120px;
  opacity: 0.55;
  mask-image: radial-gradient(circle at center, black 34%, transparent 90%);
  -webkit-mask-image: radial-gradient(circle at center, black 34%, transparent 90%);
}

.founder-panel::after {
  position: absolute;
  content: "";
  inset: 1rem;
  border: 1px solid rgba(231, 201, 140, 0.08);
  border-radius: 1.35rem;
}

.founder-panel > * {
  position: relative;
  z-index: 1;
}

.founder-badge {
  display: inline-grid;
  place-items: center;
  width: 3.35rem;
  height: 3.35rem;
  margin-bottom: 1.2rem;
  border-radius: 1rem;
  background: rgba(197, 161, 90, 0.12);
  border: 1px solid rgba(231, 201, 140, 0.28);
  color: #e7c98c;
  font-size: 1rem;
}

.founder-name {
  margin: 0;
  color: #f7f0e3;
  font-size: clamp(2rem, 3vw, 2.75rem);
  line-height: 1.08;
}

.founder-role {
  margin: 0.55rem 0 0;
  color: #d9bb7d;
  font-family: "Poppins", sans-serif;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.founder-divider {
  display: block;
  width: 4.5rem;
  height: 2px;
  margin: 1.4rem 0 1.55rem;
  background: linear-gradient(90deg, #e7c98c 0%, #c5a15a 100%);
}

.founder-copy {
  margin: 0;
  color: rgba(247, 240, 227, 0.8);
  font-size: 1rem;
  line-height: 1.9;
}

.founder-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.8rem;
}

.founder-tag {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  padding: 0.55rem 0.95rem;
  border: 1px solid rgba(231, 201, 140, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(247, 240, 227, 0.88);
  font-family: "Poppins", sans-serif;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.founder-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.35rem;
  margin-top: 2rem;
  padding: 0.9rem 1.65rem;
  border-radius: var(--control-radius);
  border: 1px solid transparent;
  background: linear-gradient(135deg, #e7c98c, #c5a15a);
  color: #101820 !important;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: 0 22px 40px -28px rgba(0, 0, 0, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.founder-btn:hover {
  background: #f0d8a4;
  color: #101820 !important;
  transform: translateY(-2px);
  box-shadow: 0 28px 46px -26px rgba(0, 0, 0, 0.42);
}

.values-shell {
  max-width: 1240px;
}

.values-heading {
  max-width: 780px;
  margin-bottom: 4rem;
}

.values-eyebrow {
  margin: 0 0 0.8rem;
  color: #8c652b;
  font-family: "Poppins", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

.values-title {
  margin: 0;
  color: #12253d;
  font-size: clamp(2.3rem, 4.1vw, 4.15rem);
  line-height: 1.12;
}

.values-divider {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-top: 1.5rem;
}

.values-divider span {
  width: 3.7rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0) 0%, rgba(197, 161, 90, 0.92) 100%);
}

.values-divider span:last-child {
  background: linear-gradient(90deg, rgba(197, 161, 90, 0.92) 0%, rgba(197, 161, 90, 0) 100%);
}

.values-divider i {
  color: #c5a15a;
  font-size: 0.66rem;
}

.value-card {
  height: 100%;
  padding: 2rem 1.45rem 1.75rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  box-shadow: 0 28px 54px -42px rgba(18, 30, 48, 0.28);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.value-card:hover {
  transform: translateY(-5px);
  border-color: rgba(197, 161, 90, 0.36);
  box-shadow: 0 38px 62px -42px rgba(18, 30, 48, 0.36);
}

.value-icon {
  display: inline-grid;
  place-items: center;
  width: 4.2rem;
  height: 4.2rem;
  margin: 0 auto 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(197, 161, 90, 0.36);
  background: linear-gradient(180deg, #173453 0%, #10263e 100%);
  color: #f6efe2;
  box-shadow: 0 16px 30px -24px rgba(18, 30, 48, 0.45);
}

.value-icon i {
  font-size: 1.15rem;
}

.value-title {
  margin: 0;
  color: #12253d;
  font-size: clamp(1.45rem, 2.1vw, 1.9rem);
  line-height: 1.16;
}

.value-line {
  display: block;
  width: 3.35rem;
  height: 2px;
  margin: 1rem auto 1.1rem;
  background: linear-gradient(90deg, #e7c98c 0%, #c5a15a 100%);
}

.value-copy {
  margin: 0;
  color: rgba(18, 37, 61, 0.78);
  font-size: 0.97rem;
  line-height: 1.82;
  text-align: center;
}

.team-item {
  border: 1px solid rgba(232, 209, 174, 0.18);
  box-shadow: var(--shadow-soft);
}

.icon-bg {
  background: var(--secondary) !important;
  border-radius: 3px;
}

#contact {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.96) 0%, rgba(244, 241, 236, 0.98) 100%);
}

#booking {
  background:
    radial-gradient(circle at 8% 18%, rgba(123, 150, 86, 0.08), transparent 18%),
    radial-gradient(circle at 92% 82%, rgba(197, 161, 90, 0.1), transparent 18%),
    linear-gradient(180deg, #fcfaf4 0%, #f7f1e6 100%);
}

.contact-shell {
  max-width: 1320px;
}

.contact-grid {
  --bs-gutter-x: 4rem;
}

.contact-content {
  padding-top: 0.35rem;
}

.contact-eyebrow {
  margin: 0;
  color: #8c652b;
  font-family: "Poppins", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.contact-eyebrow-line {
  display: block;
  width: 3.6rem;
  height: 2px;
  margin: 0.85rem 0 1.15rem;
  background: linear-gradient(90deg, #e7c98c 0%, #c5a15a 100%);
}

.contact-title {
  margin: 0;
  color: #12253d;
  font-size: clamp(2.35rem, 4.05vw, 4.15rem);
  line-height: 1.08;
  max-width: 11ch;
}

.contact-heading-rule {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin: 1.6rem 0 1.75rem;
}

.contact-heading-rule span {
  width: 3.7rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0) 0%, rgba(197, 161, 90, 0.92) 100%);
}

.contact-heading-rule span:last-child {
  background: linear-gradient(90deg, rgba(197, 161, 90, 0.92) 0%, rgba(197, 161, 90, 0) 100%);
}

.contact-heading-rule i {
  color: #c5a15a;
  font-size: 0.95rem;
}

.contact-intro {
  max-width: 34rem;
}

.contact-intro p {
  margin: 0 0 1rem;
  color: rgba(18, 37, 61, 0.82);
  font-size: 1rem;
  line-height: 1.86;
}

.contact-intro p:last-child {
  margin-bottom: 0;
}

.contact-detail-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}

.contact-detail-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(13, 59, 16, 0.1);
  border-radius: 1.2rem;
  background: rgba(255, 253, 248, 0.98);
  box-shadow: 0 22px 46px -38px rgba(13, 59, 16, 0.28);
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.contact-detail-card:hover {
  transform: translateY(-3px);
  border-color: rgba(197, 161, 90, 0.3);
  box-shadow: 0 28px 52px -38px rgba(13, 59, 16, 0.34);
}

.contact-detail-icon {
  display: inline-grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 1.1rem;
  background: linear-gradient(180deg, #1a5c28 0%, var(--secondary) 100%);
  color: #f4f1ec;
  box-shadow: 0 18px 34px -24px rgba(13, 59, 16, 0.46);
}

.contact-detail-icon i {
  font-size: 1rem;
}

.contact-detail-copy {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
  min-width: 0;
}

.contact-detail-copy small {
  color: #8c652b;
  font-family: "Poppins", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.contact-detail-copy strong {
  color: #12253d;
  font-size: 1.04rem;
  font-weight: 600;
  line-height: 1.5;
}

.contact-detail-arrow {
  color: rgba(13, 59, 16, 0.44);
  font-size: 0.95rem;
}

.contact {
  border-radius: 1.6rem;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  border: 1px solid rgba(197, 161, 90, 0.22);
  box-shadow: 0 34px 62px -42px rgba(13, 59, 16, 0.36);
}

.contact-panel {
  position: relative;
  overflow: hidden;
}

.contact-panel::before {
  position: absolute;
  content: "";
  inset: 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(197, 161, 90, 0.12), transparent 22%),
    linear-gradient(rgba(13, 59, 16, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 59, 16, 0.035) 1px, transparent 1px);
  background-size: auto, 120px 120px, 120px 120px;
  opacity: 0.45;
}

.contact-panel::after {
  position: absolute;
  content: "";
  inset: 1rem;
  border: 1px solid rgba(197, 161, 90, 0.08);
  border-radius: 1.2rem;
}

.contact-panel-inner {
  position: relative;
  z-index: 1;
}

.contact-form-mark,
.contact-form-divider {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
}

.contact-form-mark {
  margin-bottom: 1.15rem;
}

.contact-form-mark span,
.contact-form-divider span {
  width: 3.2rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0) 0%, rgba(197, 161, 90, 0.92) 100%);
}

.contact-form-mark span:last-child,
.contact-form-divider span:last-child {
  background: linear-gradient(90deg, rgba(197, 161, 90, 0.92) 0%, rgba(197, 161, 90, 0) 100%);
}

.contact-form-mark i,
.contact-form-divider i {
  color: #c5a15a;
}

.contact-form-mark i {
  font-size: 1rem;
}

.contact-form-title {
  margin: 0;
  color: #12253d;
  font-size: clamp(2rem, 3vw, 2.75rem);
  line-height: 1.08;
  text-align: center;
}

.contact-form-subtitle {
  margin: 0.7rem 0 1.1rem;
  color: rgba(18, 37, 61, 0.68);
  font-size: 0.98rem;
  text-align: center;
}

.contact-form-divider {
  margin-bottom: 1.8rem;
}

.contact-form-divider i {
  font-size: 0.9rem;
}

.contact-form .form-control {
  min-height: 3.85rem;
  padding: 1rem 1.1rem;
  border-radius: var(--control-radius) !important;
  border: 1px solid rgba(13, 59, 16, 0.12);
  background: rgba(255, 253, 248, 0.9);
  color: var(--dark);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.contact-form textarea.form-control {
  min-height: 9rem;
  resize: vertical;
}

.contact .form-control::placeholder {
  color: rgba(18, 37, 61, 0.46);
}

.contact .form-control:focus {
  border-color: rgba(197, 161, 90, 0.48);
  box-shadow: 0 0 0 0.2rem rgba(197, 161, 90, 0.12);
}

.contact-submit-btn {
  min-height: 3.5rem;
  background: linear-gradient(135deg, #e7c98c, #c5a15a) !important;
  border-color: #c5a15a !important;
  color: #101820 !important;
  box-shadow: 0 22px 42px -28px rgba(13, 59, 16, 0.32);
}

.contact-submit-btn:hover,
.contact-submit-btn:focus {
  background: #f0d8a4 !important;
  border-color: #f0d8a4 !important;
  color: #101820 !important;
}

.contact-reassurance-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 1.25rem;
}

.contact-reassurance-item {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.46);
  border: 1px solid rgba(13, 59, 16, 0.08);
}

.contact-reassurance-icon {
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.8rem;
  background: rgba(13, 59, 16, 0.92);
  color: #e7c98c;
  font-size: 0.8rem;
}

.contact-reassurance-item strong {
  display: block;
  margin-bottom: 0.2rem;
  color: #12253d;
  font-size: 0.86rem;
}

.contact-reassurance-item p {
  color: rgba(18, 37, 61, 0.68);
  font-size: 0.88rem;
  line-height: 1.55;
}

.testimonials-band {
  background: linear-gradient(180deg, #f7f4ef 0%, #f4f1ec 100%) !important;
}

.testimonial-inactive,
.testimonial-carousel .owl-item.center .testimonial-item {
  border-radius: 3px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
}

.testimonial-carousel .owl-item.center .testimonial-item {
  background: #fffdf8 !important;
  border-color: rgba(205, 173, 125, 0.4);
}

.review-header {
  background: rgba(205, 173, 125, 0.12);
}

.testimonial-carousel .owl-dot {
  background: rgba(13, 59, 16, 0.18);
}

.testimonial-carousel .owl-dot.active {
  background: var(--primary);
}

.portfolio-item {
  border-radius: 3px;
  border: 1px solid var(--border);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.site-footer-band {
  position: relative;
  overflow: hidden;
  padding-top: 2.5rem;
  background:
    linear-gradient(180deg, rgba(13, 59, 16, 0.94) 0%, rgba(13, 59, 16, 0.98) 100%),
    url(../img/footer_bg.avif) center center / cover no-repeat !important;
}

.site-footer-band::before {
  position: absolute;
  content: "";
  inset: 0;
  background:
    radial-gradient(circle at 16% 18%, rgba(197, 161, 90, 0.12), transparent 22%),
    linear-gradient(rgba(231, 201, 140, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231, 201, 140, 0.03) 1px, transparent 1px);
  background-size: auto, 140px 140px, 140px 140px;
  opacity: 0.6;
}

.footer-shell {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  padding-top: 1.5rem;
  padding-bottom: 2rem;
}

.footer-grid {
  --bs-gutter-x: 3rem;
  align-items: start;
}

.footer-brand-panel,
.footer-column {
  position: relative;
  padding: 1.5rem 0.5rem 0.5rem 0;
}

.footer-logo {
  width: clamp(150px, 18vw, 220px);
  max-width: 100%;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.25));
}

.footer-accent {
  display: block;
  width: 4.6rem;
  height: 2px;
  margin: 1.25rem 0 1.4rem;
  background: linear-gradient(90deg, #e7c98c 0%, #c5a15a 100%);
  box-shadow: 0 0 18px rgba(231, 201, 140, 0.2);
}

.footer-copy {
  max-width: 29rem;
  color: #ffffff !important;
  font-size: 0.98rem;
  line-height: 1.88;
}

.footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.65rem;
}

.footer-social-btn {
  display: inline-grid;
  place-items: center;
  width: 2.95rem;
  height: 2.95rem;
  border-radius: 999px;
  border: 1px solid rgba(231, 201, 140, 0.2);
  background: rgba(255, 255, 255, 0.04);
  color: #f4f1ec !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
  transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.footer-social-btn:hover {
  transform: translateY(-2px);
  background: rgba(197, 161, 90, 0.14);
  border-color: rgba(231, 201, 140, 0.42);
  color: #e7c98c !important;
}

.footer-heading-wrap {
  margin-bottom: 1.5rem;
}

.footer-title {
  margin: 0;
  color: #e7c98c;
  font-size: clamp(1.55rem, 2.3vw, 2rem);
  line-height: 1.1;
}

.footer-title-glow {
  display: block;
  width: 4.2rem;
  height: 2px;
  margin-top: 0.9rem;
  background: linear-gradient(90deg, #e7c98c 0%, rgba(231, 201, 140, 0.08) 100%);
  box-shadow: 0 0 18px rgba(231, 201, 140, 0.28);
}

.footer-links {
  display: flex;
  flex-direction: column;
}

.footer-link-item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #ffffff !important;
  font-size: 0.98rem;
  transition: color 0.3s ease, transform 0.3s ease;
}

.footer-link-item:hover {
  color: #e7c98c !important;
  transform: translateX(4px);
}

.footer-link-icon,
.footer-contact-icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(231, 201, 140, 0.22);
  background: rgba(255, 255, 255, 0.04);
  color: #e7c98c;
  font-size: 0.72rem;
}

.footer-contact-list {
  display: flex;
  flex-direction: column;
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-contact-item p {
  color: #ffffff !important;
  font-size: 0.96rem;
  line-height: 1.72;
}

.copyright-band {
  border-top: 1px solid rgba(95, 121, 82, 0.22);
  background: var(--secondary) !important;
}

.copyright-inner {
  min-height: 76px;
}

.copyright-text {
  color: rgba(244, 241, 236, 0.82);
  font-size: 0.92rem;
  line-height: 1.7;
}

.copyright-text a {
  color: #f4f1ec !important;
  border: 0 !important;
  text-decoration: none !important;
}

.copyright-text a:hover {
  color: #e7c98c !important;
}

.back-to-top {
  display: inline-grid;
  place-items: center;
  padding: 0;
  line-height: 1;
  border-radius: 999px;
  width: 3.5rem;
  height: 3.5rem;
  background: linear-gradient(180deg, #163f63 0%, #102d47 100%) !important;
  border: 1px solid rgba(231, 201, 140, 0.34) !important;
  color: #f7f0e3 !important;
  box-shadow: 0 22px 40px -24px rgba(0, 0, 0, 0.42), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.back-to-top i {
  display: block;
  font-size: 1rem;
  transform: translateY(-1px);
}

.back-to-top:hover {
  background: linear-gradient(180deg, #1b4d78 0%, #163f63 100%) !important;
  color: #e7c98c !important;
  transform: translateY(-2px);
}

.link-animated a:hover {
  color: var(--light) !important;
}

@media (max-width: 991.98px) {
  .sticky-top.navbar-dark,
  .navbar-dark {
    background: var(--secondary) !important;
    border-bottom: 1px solid rgba(95, 121, 82, 0.18);
    box-shadow: 0 18px 40px -32px rgba(0, 0, 0, 0.8);
  }

  .navbar-dark .navbar-nav .nav-link,
  .navbar-dark .navbar-nav .nav-link.show,
  .sticky-top.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 253, 248, 0.92);
    margin-left: 0;
    font-size: 0.82rem;
    padding: 0.85rem 0;
    letter-spacing: 0.14em;
  }

  .navbar-dark .navbar-brand,
  .sticky-top.navbar-dark .navbar-brand {
    position: relative;
    z-index: 3;
  }

  .navbar-dark .navbar-brand .logo {
    filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.35));
  }

  .navbar-dark .navbar-toggler {
    padding: 0.55rem 0.75rem;
    border-color: rgba(95, 121, 82, 0.36) !important;
    border-radius: var(--control-radius);
    background: rgba(23, 26, 20, 0.92);
    box-shadow: 0 12px 24px -20px rgba(0, 0, 0, 0.8);
  }

  .navbar-dark .navbar-toggler:focus {
    box-shadow: 0 0 0 0.18rem rgba(95, 121, 82, 0.18);
  }

  .navbar-dark .navbar-toggler .fa-bars {
    color: #ffffff;
    font-size: 1rem;
  }

  .navbar-dark .offcanvas {
    width: min(23rem, calc(100vw - 1rem));
    background: var(--secondary);
    border-left: 1px solid rgba(95, 121, 82, 0.16);
    box-shadow: -24px 0 50px -34px rgba(0, 0, 0, 0.82);
  }

  .navbar-dark .offcanvas-header {
    align-items: center;
    padding: 1.35rem 1.25rem 1rem;
    border-bottom: 1px solid rgba(95, 121, 82, 0.12);
  }

  .navbar-dark .offcanvas-brand {
    display: inline-flex;
    align-items: center;
    margin-right: auto;
  }

  .navbar-dark .offcanvas-logo {
    height: 56px;
    width: auto;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.28));
  }

  .navbar-dark .offcanvas-title {
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .navbar-dark .offcanvas .btn-close {
    opacity: 0.88;
    filter: invert(1) grayscale(1) brightness(200%);
  }

  .navbar-dark .offcanvas-body {
    padding: 1rem 1.25rem 1.5rem;
  }

  .navbar-dark .offcanvas .navbar-nav {
    width: 100%;
    gap: 0.2rem;
  }

  .navbar-dark .navbar-nav {
    gap: 0.1rem;
  }

  .navbar-dark .offcanvas .nav-link {
    border-bottom: 1px solid rgba(255, 253, 248, 0.06);
    color: rgba(255, 253, 248, 0.92) !important;
  }

  .navbar-dark .offcanvas .safari-nav-dropdown {
    width: 100%;
  }

  .navbar-dark .offcanvas .safari-nav-dropdown .dropdown-toggle {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .navbar-dark .offcanvas .dropdown-menu {
    position: static !important;
    min-width: 100%;
    margin: 0.45rem 0 0.8rem;
    padding: 0.45rem;
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
  }

  .navbar-dark .offcanvas .dropdown-item {
    color: rgba(255, 253, 248, 0.9);
  }

  .navbar-dark .offcanvas .dropdown-item:hover,
  .navbar-dark .offcanvas .dropdown-item:focus,
  .navbar-dark .offcanvas .dropdown-item.active {
    background: rgba(231, 201, 140, 0.14);
    color: var(--primary);
  }

  .navbar-dark .navbar-nav .nav-link:hover,
  .navbar-dark .navbar-nav .nav-link.active,
  .sticky-top.navbar-dark .navbar-nav .nav-link:hover,
  .sticky-top.navbar-dark .navbar-nav .nav-link.active {
    color: var(--primary) !important;
  }

  #header-carousel .carousel-inner,
  #header-carousel .carousel-item,
  #header-carousel .hero-slide,
  #header-carousel .carousel-caption {
    height: min(88svh, 50rem);
  }

  .hero-shell {
    width: min(calc(100% - 2rem), 100%);
    padding-top: clamp(7.5rem, 12vh, 8.5rem);
  }

  .hero-content {
    width: min(48rem, 100%);
    max-width: min(48rem, 100%);
  }

  .about-grid {
    --bs-gutter-x: 2.4rem;
  }

  .about-visual {
    max-width: 42rem;
    margin: 0 auto;
    padding-right: 0.4rem;
  }

  .about-image {
    min-height: 30rem;
  }

  .about-copy {
    padding: 0;
  }

  #services .services-heading {
    margin-bottom: 3rem !important;
  }

  #services .service-media {
    height: 14.5rem;
  }

  #services .service-body {
    min-height: 17.25rem;
    padding: 1.6rem 1.25rem 1.45rem !important;
  }

  #services .service-title {
    font-size: clamp(1.35rem, 2.6vw, 1.7rem);
  }

  .team-heading {
    margin-bottom: 3rem;
  }

  .team-grid {
    --bs-gutter-x: 2.4rem;
  }

  .founder-visual {
    max-width: 42rem;
    margin: 0 auto;
    padding-right: 0.4rem;
  }

  .founder-image {
    min-height: 31rem;
  }

  .founder-panel {
    padding: 2.25rem 2rem;
  }

  .values-heading {
    margin-bottom: 3rem;
  }

  .value-card {
    padding: 1.8rem 1.2rem 1.55rem;
  }

  .value-title {
    font-size: clamp(1.35rem, 2.4vw, 1.7rem);
  }

  .footer-grid {
    --bs-gutter-x: 2rem;
  }

  .footer-brand-panel,
  .footer-column {
    padding-right: 0;
  }

  .footer-copy {
    max-width: 100%;
  }

  .contact-grid {
    --bs-gutter-x: 2.5rem;
  }

  .contact-title {
    max-width: none;
    font-size: clamp(2rem, 3.8vw, 3.4rem);
  }

  .contact-detail-copy strong {
    font-size: 0.98rem;
  }

  .contact-panel {
    padding: 2.25rem 2rem !important;
  }

  .contact-reassurance-list {
    grid-template-columns: 1fr;
  }

  .hero-title {
    font-size: clamp(2.35rem, 4.8vw, 4rem);
  }

}

@media (max-width: 767.98px) {
  .logo {
    height: 60px;
  }

  #header-carousel .carousel-inner,
  #header-carousel .carousel-item,
  #header-carousel .hero-slide,
  #header-carousel .carousel-caption {
    height: min(82svh, 44rem);
    min-height: 39rem;
  }

  .hero-shell {
    width: min(calc(100% - 1.25rem), 100%);
    padding: 7rem 0 5.25rem;
  }

  .hero-content {
    width: min(100%, 32rem);
    max-width: min(100%, 32rem);
  }

  .about-grid {
    --bs-gutter-x: 1.5rem;
  }

  .about-visual {
    padding: 0.8rem 0.65rem 1.4rem 0;
  }

  .about-visual::before {
    inset: 0 0 0.5rem 1rem;
    border-radius: 1.35rem;
  }

  .contact-grid {
    --bs-gutter-x: 1.5rem;
  }

  .contact-content {
    padding-top: 0;
  }

  .contact-eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.24em;
  }

  .contact-title {
    font-size: clamp(1.95rem, 8vw, 2.8rem);
  }

  .contact-heading-rule {
    margin: 1.2rem 0 1.35rem;
    gap: 0.6rem;
  }

  .contact-heading-rule span,
  .contact-form-mark span,
  .contact-form-divider span {
    width: 2.2rem;
  }

  .contact-intro p {
    font-size: 0.95rem;
    line-height: 1.72;
  }

  .contact-detail-list {
    margin-top: 1.5rem;
  }

  .contact-detail-card {
    grid-template-columns: auto 1fr;
    padding: 1rem;
  }

  .contact-detail-icon {
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 0.95rem;
  }

  .contact-detail-copy strong {
    font-size: 0.94rem;
  }

  .contact-detail-arrow {
    display: none;
  }

  .contact-panel {
    padding: 1.6rem 1.1rem !important;
    border-radius: 1.25rem;
  }

  .contact-panel::after {
    inset: 0.75rem;
    border-radius: 0.95rem;
  }

  .contact-form-title {
    font-size: clamp(1.7rem, 7vw, 2.2rem);
  }

  .contact-form-subtitle {
    font-size: 0.92rem;
    margin: 0.55rem 0 0.9rem;
  }

  .contact-form-divider {
    margin-bottom: 1.35rem;
  }

  .contact-form .form-control {
    min-height: 3.45rem;
    padding: 0.9rem 1rem;
  }

  .contact-form textarea.form-control {
    min-height: 8rem;
  }

  .contact-submit-btn {
    min-height: 3.25rem;
  }

  .contact-reassurance-item {
    padding: 0.85rem 0.9rem;
  }

  .about-image-card {
    border-radius: 1.25rem;
  }

  .about-image {
    min-height: 22rem;
  }

  .about-eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.24em;
  }

  .about-heading {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

  .about-divider {
    width: 4.2rem;
    margin: 1.1rem 0 1.3rem;
  }

  .about-text p {
    font-size: 0.95rem;
    line-height: 1.76;
    text-align: justify;
  }

  .about-btn {
    width: 100%;
    justify-content: center;
  }

  #services .services-heading {
    margin-bottom: 2.4rem !important;
  }

  #services .service-media {
    height: 13.5rem;
  }

  #services .service-body {
    min-height: 0;
    padding: 1.45rem 1.1rem 1.35rem !important;
    gap: 0.85rem;
  }

  #services .service-title {
    font-size: clamp(1.28rem, 6vw, 1.6rem);
  }

  #services .service-copy {
    font-size: 0.93rem;
    line-height: 1.72;
  }

  #services .service-btn {
    width: 100%;
  }

  .team-heading-mark span {
    width: 2.3rem;
  }

  .team-eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.24em;
  }

  .team-title {
    font-size: clamp(2rem, 8vw, 2.85rem);
  }

  .team-divider {
    width: 4.2rem;
    margin-top: 1.2rem;
  }

  .founder-visual {
    padding: 0.8rem 0.65rem 1.35rem 0;
  }

  .founder-visual::before {
    inset: 0.35rem 0 0.55rem 0.95rem;
    border-radius: 1.35rem;
  }

  .founder-image-card,
  .founder-panel {
    border-radius: 1.3rem;
  }

  .founder-image {
    min-height: 23rem;
  }

  .founder-panel {
    padding: 1.8rem 1.25rem;
  }

  .founder-badge {
    width: 3rem;
    height: 3rem;
    border-radius: 0.85rem;
  }

  .founder-name {
    font-size: clamp(1.7rem, 7vw, 2.25rem);
  }

  .founder-role {
    font-size: 0.74rem;
    letter-spacing: 0.18em;
  }

  .founder-divider {
    width: 4rem;
    margin: 1.1rem 0 1.2rem;
  }

  .founder-copy {
    font-size: 0.95rem;
    line-height: 1.76;
  }

  .founder-tags {
    gap: 0.55rem;
    margin-top: 1.4rem;
  }

  .founder-tag {
    font-size: 0.68rem;
    letter-spacing: 0.06em;
  }

  .founder-btn {
    width: 100%;
    margin-top: 1.6rem;
  }

  .values-heading {
    margin-bottom: 2.5rem;
  }

  .values-eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.24em;
  }

  .values-title {
    font-size: clamp(1.95rem, 8vw, 2.8rem);
  }

  .values-divider {
    gap: 0.6rem;
    margin-top: 1.2rem;
  }

  .values-divider span {
    width: 2.5rem;
  }

  .value-card {
    padding: 1.7rem 1.05rem 1.45rem;
    border-radius: 1.05rem;
  }

  .value-icon {
    width: 3.6rem;
    height: 3.6rem;
    margin-bottom: 1rem;
  }

  .value-icon i {
    font-size: 1rem;
  }

  .value-title {
    font-size: clamp(1.28rem, 6vw, 1.55rem);
  }

  .value-line {
    width: 2.9rem;
    margin: 0.85rem auto 0.95rem;
  }

  .value-copy {
    font-size: 0.93rem;
    line-height: 1.72;
  }

  .footer-shell {
    padding-top: 0.75rem;
    padding-bottom: 1.4rem;
  }

  .footer-grid {
    --bs-gutter-x: 1.25rem;
  }

  .footer-logo {
    width: min(180px, 56vw);
  }

  .footer-accent {
    margin: 1rem 0 1.15rem;
  }

  .footer-copy,
  .footer-link-item,
  .footer-contact-item p,
  .copyright-text {
    font-size: 0.92rem;
  }

  .footer-title {
    font-size: clamp(1.4rem, 7vw, 1.8rem);
  }

  .footer-link-item,
  .footer-contact-item {
    padding: 0.8rem 0;
  }

  .copyright-inner {
    min-height: 88px;
    padding: 0.85rem 0;
  }

  .back-to-top {
    right: 18px;
    bottom: 18px;
    width: 3rem;
    height: 3rem;
  }

  .hero-eyebrow {
    font-size: 0.67rem;
    letter-spacing: 0.24em;
  }

  .hero-title {
    font-size: clamp(2rem, 8.6vw, 3rem);
    line-height: 1.06;
  }

  .hero-divider {
    margin: 1.35rem auto 1.2rem;
  }

  .hero-text {
    max-width: 28rem;
    font-size: 0.94rem;
    line-height: 1.68;
  }

  .hero-actions {
    gap: 0.75rem;
    margin-top: 1.9rem;
  }

  .hero-btn {
    width: min(100%, 18rem);
    min-width: 0;
  }

  .hero-control-icon {
    width: 2.9rem;
    height: 2.9rem;
    font-size: 0.95rem;
  }

  #header-carousel .carousel-control-prev,
  #header-carousel .carousel-control-next {
    display: none;
  }

  #header-carousel .carousel-indicators {
    bottom: 1rem;
  }

  .section-title h1,
  .section-title h3 {
    font-size: clamp(1.9rem, 7.5vw, 2.7rem);
  }

  .contact {
    padding: 1.4rem !important;
  }

}

/********** Safari palette refresh **********/
:root {
  --primary: #1b5e20;
  --secondary: #0d3b10;
  --light: #e8f5e9;
  --dark: #08210a;
  --button: #1b5e20;
  --white: #ffffff;
  --gray: #f1f8f1;
  --border: rgba(27, 94, 32, 0.2);
  --ink-soft: rgba(13, 59, 16, 0.78);
  --cream-deep: #c8e6c9;
  --shadow-soft: 0 24px 52px -42px rgba(13, 59, 16, 0.28);
  --accent-earth: #2e7d32;
  --accent-olive: #5f7952;
}

body {
  font-family: "Poppins", sans-serif !important;
  color: var(--dark);
  background: var(--light);
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-1,
.display-2,
.display-3,
.display-4,
.fw-bold,
.fw-semi-bold,
.section-title,
.navbar-brand {
  font-family: "Merriweather", serif !important;
}

.btn,
.navbar-dark .navbar-nav .nav-link,
.hero-eyebrow,
.about-eyebrow,
.team-eyebrow,
.values-eyebrow,
.contact-eyebrow,
.section-title h5,
.contact-detail-copy small,
.founder-role {
  font-family: "Poppins", sans-serif !important;
}

.btn {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--white);
  font-weight: 600;
}

.btn:hover,
.btn:focus,
.btn-primary:hover,
.btn-dark:hover,
.about-btn:hover,
.founder-btn:hover,
.contact-submit-btn:hover,
#services .service-btn:hover {
  background: var(--accent-earth);
  border-color: var(--accent-earth);
  color: var(--white) !important;
}

.btn-primary,
.btn-dark,
.hero-btn-primary,
.about-btn,
.founder-btn,
.contact-submit-btn,
#services .service-btn {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

.btn-secondary {
  background: transparent;
  border-color: rgba(23, 26, 20, 0.16);
  color: var(--dark);
}

.btn-secondary:hover,
.btn-secondary:focus {
  background: var(--secondary) !important;
  border-color: var(--secondary) !important;
  color: var(--white) !important;
}

.contact-reassurance-icon,
.value-icon,
.contact-detail-icon,
.back-to-top,
.icon-bg {
  background: var(--primary) !important;
  border-color: rgba(63, 95, 59, 0.42) !important;
  color: var(--white) !important;
}

.logo {
  height: 76px;
  width: auto;
  object-fit: contain;
}

.navbar-brand,
.offcanvas-brand {
  display: inline-flex;
  align-items: center;
}

.footer-logo {
  width: clamp(170px, 18vw, 220px);
  max-width: 100%;
}

.topbar-band,
.navbar-dark,
.sticky-top.navbar-dark,
.bg-sec,
.site-footer-band,
.copyright-band,
.navbar-dark .offcanvas,
.founder-panel {
  background: var(--secondary) !important;
}

.topbar-band {
  border-bottom-color: rgba(255, 253, 248, 0.14);
}

.topbar-band .text-light,
.topbar-band small,
.footer-copy,
.footer-link-item,
.footer-contact-item p,
.copyright-text {
  color: #ffffff !important;
}

.topbar-band .btn-outline-light {
  border-color: rgba(255, 253, 248, 0.24);
  color: #c8d8c3 !important;
}

.topbar-band .btn-outline-light:hover {
  background: rgba(95, 121, 82, 0.18);
  border-color: rgba(95, 121, 82, 0.42);
}

.navbar-dark {
  border-bottom-color: rgba(255, 253, 248, 0.12);
}

.sticky-top.navbar-dark {
  box-shadow: 0 20px 48px -36px rgba(23, 26, 20, 0.56);
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 253, 248, 0.92);
  font-weight: 600;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.sticky-top.navbar-dark .navbar-nav .nav-link:hover,
.sticky-top.navbar-dark .navbar-nav .nav-link.active {
  color: var(--primary) !important;
}

.navbar-dark .navbar-nav .nav-link::before {
  background: var(--primary) !important;
}

.navbar-dark .navbar-toggler {
  color: var(--primary) !important;
  border-color: rgba(95, 121, 82, 0.48) !important;
}

#header-carousel {
  --hero-forest: #244329;
  --hero-forest-deep: #171a14;
  --hero-forest-soft: #3f5f3b;
  --hero-gold: #9d744d;
  --hero-gold-strong: #d3c0a5;
  --hero-ivory: #fffdf8;
  --hero-muted: rgba(255, 253, 248, 0.8);
  background: var(--hero-forest-deep);
}

#header-carousel .hero-slide::before {
  background:
    linear-gradient(180deg, rgba(23, 26, 20, 0.28) 0%, rgba(23, 26, 20, 0.56) 100%),
    linear-gradient(90deg, rgba(23, 26, 20, 0.68) 0%, rgba(23, 26, 20, 0.34) 45%, rgba(23, 26, 20, 0.74) 100%);
}

#header-carousel .hero-slide::after {
  background-image:
    linear-gradient(rgba(157, 116, 77, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 116, 77, 0.08) 1px, transparent 1px);
}

#header-carousel .hero-slide--strategy,
#header-carousel .hero-slide--business,
#header-carousel .hero-slide--disputes {
  background:
    radial-gradient(circle at 18% 20%, rgba(95, 121, 82, 0.18), transparent 24%),
    radial-gradient(circle at 76% 18%, rgba(157, 116, 77, 0.16), transparent 22%),
    radial-gradient(circle at 82% 16%, rgba(255, 253, 248, 0.06), transparent 20%),
    linear-gradient(130deg, var(--hero-forest-deep) 0%, var(--hero-forest) 44%, var(--hero-forest-soft) 100%);
}

#header-carousel .hero-slide-image {
  filter: saturate(0.74) contrast(1) brightness(0.75);
}

.hero-title,
.about-heading,
.team-title,
.values-title,
.contact-title,
.contact-form-title,
.founder-name,
.section-title h1,
.section-title h3,
#services .services-heading h1,
#services .service-title,
.value-title,
.contact-detail-copy strong {
  color: var(--secondary) !important;
}

.footer-title {
  color: #ffffff !important;
}

.hero-eyebrow,
.about-eyebrow,
.team-eyebrow,
.values-eyebrow,
.contact-eyebrow,
.section-title h5,
#services .services-heading h5,
.contact-detail-copy small,
.founder-role,
.page-blank .page-label {
  color: var(--accent-olive) !important;
}

#header-carousel .hero-eyebrow {
  color: var(--hero-gold-strong) !important;
}

.hero-divider,
.about-divider,
.team-divider,
.team-heading-mark span,
.values-divider span,
.contact-eyebrow-line,
.contact-heading-rule span,
.contact-form-mark span,
.contact-form-divider span,
.founder-divider,
.footer-accent,
.footer-title-glow,
.value-line,
.section-title::before,
#services .section-title::before {
  background: linear-gradient(90deg, rgba(95, 121, 82, 0) 0%, var(--accent-earth) 18%, var(--primary) 50%, var(--accent-earth) 82%, rgba(95, 121, 82, 0) 100%) !important;
}

.team-heading-mark i,
.values-divider i,
.contact-heading-rule i,
.contact-form-mark i,
.contact-form-divider i,
.contact-detail-arrow,
.value-icon,
.contact-reassurance-icon {
  color: var(--primary) !important;
}

.footer-link-icon,
.footer-contact-icon {
  color: #ffffff !important;
}

.footer-link-icon,
.footer-contact-icon,
.footer-social-btn,
.team-heading-mark span {
  border-color: rgba(95, 121, 82, 0.28);
}

#about,
#contact,
#gallery,
.testimonials-band,
#team,
#services,
.bg-lite {
  background: var(--light) !important;
}

#services .blog-item,
.value-card,
.contact,
.contact-detail-card,
.contact-reassurance-item,
.about-image-card,
.testimonial-carousel .owl-item.center .testimonial-item,
.testimonial-inactive,
.portfolio-item,
.service-item,
.price-card,
.package-card {
  background: var(--white) !important;
  border-color: var(--border) !important;
  box-shadow: 0 24px 54px -44px rgba(23, 26, 20, 0.18);
}

#services .blog-item,
.price-card,
.package-card {
  border-top: 3px solid var(--primary) !important;
}

.about-visual::before,
.founder-visual::before,
.contact-panel::after,
.contact,
.contact-detail-card:hover,
.value-card:hover,
#services .blog-item:hover {
  border-color: rgba(63, 95, 59, 0.32) !important;
}

.about-image-card,
.founder-image-card {
  background: var(--light) !important;
}

.about-image-card::after,
.founder-image-card::after,
.contact-panel::before,
.site-footer-band::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(63, 95, 59, 0.12), transparent 22%),
    linear-gradient(rgba(168, 95, 50, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168, 95, 50, 0.04) 1px, transparent 1px);
}

.about-text p,
.contact-intro p,
#services .service-copy,
.value-copy,
.founder-copy,
.contact-reassurance-item p,
.page-blank p {
  color: rgba(23, 26, 20, 0.78) !important;
}

.founder-panel {
  box-shadow: 0 34px 62px -42px rgba(23, 26, 20, 0.62);
}

.founder-name,
.hero-title {
  color: var(--hero-ivory) !important;
}

.hero-text,
.founder-copy,
.hero-btn-outline {
  color: var(--hero-muted) !important;
}

.hero-btn-outline {
  background: rgba(255, 253, 248, 0.04);
  border-color: rgba(211, 192, 165, 0.42);
}

.hero-btn-outline:hover {
  background: rgba(95, 121, 82, 0.18);
  border-color: rgba(211, 192, 165, 0.62);
  color: var(--hero-ivory) !important;
}

#header-carousel .carousel-indicators [data-bs-target] {
  border-color: rgba(211, 192, 165, 0.56);
  background: rgba(255, 253, 248, 0.18);
}

#header-carousel .carousel-indicators .active,
#header-carousel .carousel-control-prev:hover .hero-control-icon,
#header-carousel .carousel-control-next:hover .hero-control-icon {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--dark);
}

.hero-control-icon {
  border-color: rgba(211, 192, 165, 0.34);
  background: rgba(23, 26, 20, 0.62);
  color: var(--hero-ivory);
}

.contact .form-control {
  border-color: rgba(95, 121, 82, 0.24);
  background: rgba(255, 253, 248, 0.94);
  color: var(--dark);
}

.contact .form-control::placeholder {
  color: rgba(23, 26, 20, 0.46);
}

.contact .form-control:focus {
  border-color: rgba(95, 121, 82, 0.52);
  box-shadow: 0 0 0 0.2rem rgba(95, 121, 82, 0.14);
}

.testimonial-carousel .owl-dot {
  background: rgba(63, 95, 59, 0.24);
}

.testimonial-carousel .owl-dot.active,
.review-header {
  background: rgba(95, 121, 82, 0.14);
}

.footer-title,
.footer-social-btn:hover,
.footer-link-item:hover,
.copyright-text a:hover,
.link-animated a:hover {
  color: var(--primary) !important;
}

.footer-social-btn:hover {
  background: rgba(95, 121, 82, 0.16);
  border-color: rgba(95, 121, 82, 0.4);
}

.copyright-band {
  border-top: 1px solid rgba(95, 121, 82, 0.22);
}



.inner-page main {
  min-height: calc(100vh - 108px);
}

.page-blank {
  padding: clamp(5rem, 11vw, 8rem) 0;
}

.page-blank h1 {
  margin-bottom: 1rem;
  color: var(--secondary);
}

@media (max-width: 991.98px) {
  .navbar-dark .offcanvas {
    background: var(--secondary) !important;
    border-color: rgba(255, 253, 248, 0.14) !important;
  }

  .navbar-dark .navbar-toggler {
    background: rgba(23, 26, 20, 0.92);
    border-color: rgba(95, 121, 82, 0.34) !important;
  }

  .navbar-dark .navbar-toggler:focus {
    box-shadow: 0 0 0 0.18rem rgba(95, 121, 82, 0.18);
  }

  .navbar-dark .navbar-toggler .fa-bars,
  .navbar-dark .offcanvas-title,
  .navbar-dark .navbar-nav .nav-link,
  .navbar-dark .navbar-nav .nav-link.show,
  .sticky-top.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 253, 248, 0.92) !important;
  }

  .navbar-dark .navbar-nav .nav-link:hover,
  .navbar-dark .navbar-nav .nav-link.active,
  .sticky-top.navbar-dark .navbar-nav .nav-link:hover,
  .sticky-top.navbar-dark .navbar-nav .nav-link.active {
    color: var(--primary) !important;
  }



  .inner-page main {
    min-height: calc(100vh - 92px);
  }
}

/********** Homepage safari content refresh **********/
.hero-text-secondary {
  margin-top: 1rem;
}

.section-intro {
  color: rgba(23, 26, 20, 0.78);
  font-size: 1rem;
  line-height: 1.85;
}

.about-actions {
  margin-top: 2rem;
}

#booking .contact-title {
  max-width: 15ch;
}

#booking .contact-intro,
#booking .contact-detail-list {
  max-width: 37rem;
}

#booking {
  position: relative;
  background:
    radial-gradient(circle at 12% 18%, rgba(95, 121, 82, 0.08), transparent 22%),
    radial-gradient(circle at 86% 22%, rgba(157, 116, 77, 0.08), transparent 22%),
    linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(246, 239, 226, 0.96) 100%);
}

#booking .contact-grid {
  align-items: stretch;
}

.booking-left-column {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.booking-left-column--simple {
  justify-content: center;
}

.booking-simple-shell {
  padding: clamp(2rem, 4vw, 3rem);
  border-radius: 2rem;
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.94), rgba(244, 236, 224, 0.94));
  border: 1px solid rgba(197, 161, 90, 0.16);
  box-shadow: 0 34px 72px -48px rgba(18, 30, 48, 0.22);
}

.booking-simple-heading {
  max-width: 46rem;
}

.booking-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.booking-eyebrow-mark {
  display: inline-grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  background: rgba(63, 95, 59, 0.08);
  color: var(--primary);
  font-size: 0.72rem;
}

.booking-title {
  max-width: 9ch;
  display: flex;
  flex-direction: column;
  gap: 0.12em;
  font-size: clamp(2.85rem, 4.9vw, 5.45rem);
  line-height: 0.94;
}

.booking-title--centered {
  max-width: 13ch;
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.booking-title-line {
  width: 6rem;
  margin-top: 1.15rem;
  margin-bottom: 1.7rem;
}

.booking-intro {
  max-width: 28rem;
  margin-bottom: 0.95rem;
}

.booking-intro p {
  font-size: 1.02rem;
  line-height: 1.72;
}

.booking-action-group--left {
  justify-content: flex-start;
  margin-top: 1.9rem;
}



.booking-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.35rem;
}

.booking-mini-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 100%;
  padding: 1rem 1rem 1.1rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: rgba(255, 252, 245, 0.96);
  box-shadow: 0 24px 42px -36px rgba(23, 26, 20, 0.16);
  color: inherit;
  text-decoration: none;
}

.booking-mini-card:hover {
  transform: translateY(-3px);
  border-color: rgba(63, 95, 59, 0.22);
}

.booking-mini-icon {
  display: inline-grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(239, 236, 218, 0.95), rgba(247, 243, 231, 0.95));
  color: #1b5b31;
}

.booking-mini-card small {
  color: var(--accent-olive);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.booking-mini-card strong {
  color: var(--secondary);
  font-size: 0.96rem;
  line-height: 1.55;
}

.booking-panel {
  border-radius: 2.15rem;
  border: 1px solid rgba(197, 161, 90, 0.3) !important;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(244, 236, 224, 0.98) 100%) !important;
  box-shadow: 0 44px 86px -52px rgba(23, 26, 20, 0.24);
}

.booking-panel--simple {
  justify-content: center;
}

.booking-panel::before {
  background:
    radial-gradient(circle at 84% 12%, rgba(95, 121, 82, 0.12), transparent 24%),
    radial-gradient(circle at 18% 72%, rgba(157, 116, 77, 0.08), transparent 22%),
    linear-gradient(rgba(63, 95, 59, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(63, 95, 59, 0.03) 1px, transparent 1px);
  background-size: auto, auto, 120px 120px, 120px 120px;
  opacity: 0.3;
}

.booking-panel::after {
  inset: 0.85rem;
  border-color: rgba(197, 161, 90, 0.22) !important;
  border-radius: 1.6rem;
}

.booking-panel-mark {
  margin-bottom: 1.7rem;
}

.booking-panel-title {
  max-width: 22ch;
  margin-left: auto;
  margin-right: auto;
}

.booking-panel-subtitle {
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.1rem;
  text-align: center;
}

.booking-panel-heading {
  text-align: center;
}

.booking-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.booking-feature-grid--simple {
  gap: 1.1rem;
}

.booking-feature-card {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  padding: 1.15rem 1.05rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: rgba(255, 251, 244, 0.94);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.booking-feature-icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #f1ecd8 0%, #f7f3e8 100%);
  color: #1b5b31;
  box-shadow: 0 18px 34px -26px rgba(83, 73, 40, 0.18);
}

.booking-feature-card strong {
  display: block;
  margin-bottom: 0.22rem;
  color: var(--secondary);
  font-size: 0.95rem;
}

.booking-feature-card p {
  margin: 0;
  color: rgba(23, 26, 20, 0.72);
  font-size: 0.9rem;
  line-height: 1.62;
}

.booking-action-group--single {
  justify-content: flex-start;
  margin-top: 1.8rem;
}

.booking-expert-btn {
  min-width: 20.5rem;
  min-height: 4.2rem;
  padding-inline: 1.75rem;
  border-radius: 1rem;
  font-size: 0.9rem;
  letter-spacing: 0.14em;
  background: linear-gradient(135deg, #c98a1f 0%, #bb7417 100%) !important;
  border-color: rgba(166, 98, 13, 0.18) !important;
  box-shadow: 0 24px 48px -32px rgba(171, 105, 19, 0.45);
}

.booking-expert-btn:hover {
  background: linear-gradient(135deg, #b97917 0%, #a76512 100%) !important;
}

.booking-expert-btn i {
  margin-left: 0.55rem;
}

.booking-points {
  display: grid;
  gap: 1rem;
}

.booking-point {
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid rgba(95, 121, 82, 0.18);
  background: rgba(255, 253, 248, 0.72);
  color: rgba(23, 26, 20, 0.8);
  font-size: 0.96rem;
  line-height: 1.75;
}

.booking-point strong {
  color: var(--secondary);
}

.booking-action-group,
.cta-actions,
.pricing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  justify-content: center;
}

.booking-action-group {
  justify-content: flex-start;
  margin-top: 1.75rem;
}

.booking-reassurance-list {
  margin-top: 1.4rem;
}

.booking-action-group .btn-secondary,
.cta-actions .btn-secondary {
  border-color: rgba(255, 253, 248, 0.24);
  background: rgba(255, 253, 248, 0.04);
  color: var(--white);
}

.booking-action-group .btn-secondary:hover,
.cta-actions .btn-secondary:hover {
  background: rgba(95, 121, 82, 0.18) !important;
  border-color: rgba(95, 121, 82, 0.42) !important;
  color: var(--white) !important;
}

#zones .services-heading {
  max-width: 860px;
}

#zones .service-body {
  min-height: 22rem;
}

.zone-note,
.pricing-note,
.review-note {
  color: rgba(23, 26, 20, 0.74);
  font-size: 0.95rem;
  line-height: 1.72;
}

.wildlife-shell {
  max-width: 1240px;
}

.wildlife-carousel-wrap {
  margin-top: 2rem;
}

.wildlife-species-carousel .owl-stage {
  display: flex;
}

.wildlife-species-carousel .owl-item {
  display: flex;
  height: auto;
}

.wildlife-species-carousel .owl-stage-outer {
  padding: 0.15rem 0 0.35rem;
}

.wildlife-species-carousel .owl-dots {
  margin-top: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wildlife-species-carousel .owl-dot {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 0.32rem;
  border-radius: 999px;
  background: rgba(63, 95, 59, 0.18);
  border: 1px solid rgba(63, 95, 59, 0.24);
  transition: width 0.3s ease, background-color 0.3s ease;
  display: inline-block;
  padding: 0;
}

.wildlife-species-carousel .owl-dot.active {
  width: 2.2rem;
  background: var(--primary);
}

.wildlife-species-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  border-radius: 1.35rem;
  border: 1px solid rgba(63, 95, 59, 0.14);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(247, 240, 229, 0.98) 100%);
  box-shadow: 0 26px 52px -42px rgba(23, 26, 20, 0.18);
}

.wildlife-species-media {
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: #dfe8db;
}

.wildlife-species-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}

.wildlife-species-card:hover .wildlife-species-media img {
  transform: scale(1.05);
}

.wildlife-species-body {
  padding: 1.1rem 1.05rem 1.2rem;
}

.wildlife-species-body h3 {
  margin: 0 0 0.55rem;
  color: var(--secondary);
  font-size: 1.3rem;
}

.wildlife-species-body p {
  margin: 0;
  color: rgba(23, 26, 20, 0.76);
  line-height: 1.72;
}

.pricing-shell {
  max-width: 1600px;
}

#pricing {
  background:
    radial-gradient(circle at 14% 18%, rgba(95, 121, 82, 0.05), transparent 22%),
    radial-gradient(circle at 86% 12%, rgba(157, 116, 77, 0.05), transparent 20%),
    linear-gradient(180deg, rgba(247, 241, 231, 0.98) 0%, rgba(255, 253, 248, 0.98) 100%);
}

.pricing-board-header {
  margin-bottom: 1.6rem;
}

.pricing-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(360px, 0.92fr);
  gap: 2rem;
  align-items: center;
}

.pricing-hero-copy {
  max-width: 46rem;
}

.pricing-eyebrow {
  margin-bottom: 0.7rem;
}

.pricing-hero-title {
  margin: 0 0 0.8rem;
  color: var(--secondary);
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  line-height: 1.12;
}

.pricing-hero-title span {
  color: var(--accent-earth);
}

.pricing-hero-visual {
  display: flex;
  justify-content: flex-end;
}

.pricing-hero-image-card {
  position: relative;
  width: min(100%, 31rem);
  overflow: hidden;
  border-radius: 1.35rem;
  border: 1px solid rgba(63, 95, 59, 0.12);
  background: #dfe8db;
  box-shadow: 0 26px 50px -44px rgba(23, 26, 20, 0.16);
}

.pricing-hero-image-card::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(180deg, rgba(23, 26, 20, 0.06) 0%, rgba(23, 26, 20, 0.36) 100%);
}

.pricing-hero-image-card img {
  display: block;
  width: 100%;
  min-height: 19rem;
  object-fit: cover;
}

.pricing-hero-badge {
  position: absolute;
  left: 0.9rem;
  right: 0.9rem;
  bottom: 0.9rem;
  z-index: 1;
  padding: 0.8rem 0.9rem;
  border-radius: 0.9rem;
  background: rgba(23, 26, 20, 0.58);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.pricing-hero-badge small {
  display: block;
  margin-bottom: 0.25rem;
  color: #d6e3d2;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.pricing-hero-badge strong {
  color: var(--white);
  font-size: 0.94rem;
  line-height: 1.5;
}

.pricing-cards-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
}

.pricing-card {
  background: var(--white);
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,0.1);
  text-align: center;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}

.pricing-card:hover {
  transform: translateY(-10px);
}

.pricing-card-header {
  background-color: #151515;
  background-image: radial-gradient(#2a2a2a 15%, transparent 16%);
  background-size: 10px 10px;
  color: #fff;
  padding: 2.5rem 1.5rem 1rem;
}

.pricing-card-header h3 {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 800;
  margin: 0 0 0.8rem;
  letter-spacing: 0.05em;
  font-family: 'Poppins', sans-serif;
}

.pricing-pill {
  border: 1px solid currentColor;
  border-radius: 50px;
  padding: 0.3rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-family: 'Poppins', sans-serif;
}

.pricing-separator {
  height: 80px;
  width: 100%;
  position: relative;
  line-height: 0;
  background: var(--white);
  z-index: 10;
}

.pricing-separator svg {
  width: 100%;
  height: 100%;
  display: block;
}

.pricing-price {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3.5rem;
  font-weight: 800;
  z-index: 3;
  line-height: 1;
  font-family: 'Poppins', sans-serif;
}

.pricing-price .currency {
  font-size: 1.5rem;
  vertical-align: top;
  position: relative;
  top: 15px;
  margin-right: 2px;
}

.pricing-price .plus {
  font-size: 1.5rem;
  vertical-align: top;
  position: relative;
  top: 15px;
}

.pricing-card-body {
  padding: 1.5rem 2rem 2.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  background: var(--white);
  position: relative;
  z-index: 1;
}

.pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  text-align: left;
}

.pricing-features li {
  padding: 0.8rem 0;
  color: var(--ink-soft);
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.pricing-features li:last-child {
  border-bottom: none;
}

.pricing-features i {
  font-size: 1.2rem;
}

.pricing-btn {
  border-radius: 50px;
  padding: 0.8rem 2rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: auto;
  color: #fff !important;
  border: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  font-family: 'Poppins', sans-serif;
  letter-spacing: 1px;
}

.pricing-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.pricing-card-earth .pricing-pill { color: var(--accent-earth); }
.pricing-card-earth .band-fill { fill: var(--accent-earth); }
.pricing-card-earth .pricing-price { color: #ffffff; text-shadow: 0 2px 8px rgba(0,0,0,0.4); }
.pricing-card-earth .pricing-features i.fa-circle-check { color: var(--accent-earth); }
.pricing-card-earth .pricing-features i.fa-circle-xmark { color: #dc3545; }
.pricing-card-earth .pricing-btn { background: linear-gradient(90deg, #388e3c, var(--accent-earth)); box-shadow: 0 5px 15px rgba(46, 125, 50, 0.3); }

.pricing-card-forest .pricing-pill { color: var(--primary); }
.pricing-card-forest .band-fill { fill: var(--primary); }
.pricing-card-forest .pricing-price { color: #ffffff; text-shadow: 0 2px 8px rgba(0,0,0,0.4); }
.pricing-card-forest .pricing-features i.fa-circle-check { color: var(--primary); }
.pricing-card-forest .pricing-features i.fa-circle-xmark { color: #dc3545; }
.pricing-card-forest .pricing-btn { background: linear-gradient(90deg, #2e7d32, var(--primary)); box-shadow: 0 5px 15px rgba(27, 94, 32, 0.3); }

.pricing-card-olive .pricing-pill { color: #43a047; }
.pricing-card-olive .band-fill { fill: #43a047; }
.pricing-card-olive .pricing-price { color: #ffffff; text-shadow: 0 2px 8px rgba(0,0,0,0.4); }
.pricing-card-olive .pricing-features i.fa-circle-check { color: #43a047; }
.pricing-card-olive .pricing-features i.fa-circle-xmark { color: #dc3545; }
.pricing-card-olive .pricing-btn { background: linear-gradient(90deg, #4caf50, #43a047); box-shadow: 0 5px 15px rgba(67, 160, 71, 0.3); }

.pricing-bottom-strip {
  padding: 0.85rem 1rem;
  border-radius: 0.95rem;
  background: rgba(63, 95, 59, 0.08);
  border: 1px solid rgba(63, 95, 59, 0.12);
  color: rgba(23, 26, 20, 0.78);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.65;
  text-align: center;
}

#pricing-details {
  background: linear-gradient(180deg, rgba(255, 251, 244, 0.96) 0%, rgba(247, 241, 231, 0.96) 100%) !important;
}

#pricing-details .charges-detail-head {
  max-width: 50rem;
}

#pricing-details .charges-detail-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.95rem !important;
}

#pricing-details .charges-detail-eyebrow::before,
#pricing-details .charges-detail-eyebrow::after {
  content: "";
  display: inline-block;
  width: 1.55rem;
  height: 1px;
  background: rgba(140, 101, 43, 0.42);
}

#pricing-details .charges-detail-head::before {
  content: "";
  display: inline-flex;
  width: 2.2rem;
  height: 2.2rem;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(197, 161, 90, 0.24) 0%, rgba(197, 161, 90, 0.08) 58%, transparent 60%),
    radial-gradient(circle at 50% 50%, rgba(95, 121, 82, 0.18) 0%, transparent 72%);
  box-shadow: 0 10px 24px -18px rgba(19, 34, 53, 0.18);
}

#pricing-details .charges-detail-layout {
  grid-template-columns: minmax(0, 1.85fr) minmax(20rem, 0.95fr);
  gap: clamp(1.2rem, 2.4vw, 1.8rem);
  align-items: stretch;
}

#pricing-details .charges-detail-table-card,
#pricing-details .charges-detail-side-panel {
  position: relative;
  border-radius: 1.6rem;
  border: 1px solid rgba(197, 161, 90, 0.16) !important;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(247, 241, 231, 0.98) 100%) !important;
  box-shadow: 0 28px 56px -42px rgba(19, 34, 53, 0.18) !important;
}

#pricing-details .charges-detail-table-card {
  padding: 1rem;
}

#pricing-details .charges-detail-table-wrap {
  overflow-x: auto;
  border-radius: 1.1rem;
  border: 1px solid rgba(197, 161, 90, 0.12);
  background: rgba(255, 255, 255, 0.68);
}

#pricing-details .charges-detail-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
}

#pricing-details .charges-detail-table th,
#pricing-details .charges-detail-table td {
  padding: 1rem 1.05rem;
  border-bottom: 1px solid rgba(197, 161, 90, 0.12);
  border-right: 1px solid rgba(197, 161, 90, 0.1);
  vertical-align: top;
  text-align: left;
}

#pricing-details .charges-detail-table th:last-child,
#pricing-details .charges-detail-table td:last-child {
  border-right: 0;
}

#pricing-details .charges-detail-table thead th {
  background: linear-gradient(180deg, #23432f 0%, #173528 100%);
  color: #fff8ec !important;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  white-space: nowrap;
}

#pricing-details .charges-detail-th {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

#pricing-details .charges-detail-th i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.88rem;
  line-height: 1;
  color: inherit;
}

#pricing-details .charges-detail-table td {
  color: rgba(19, 34, 53, 0.78) !important;
  line-height: 1.68;
  background: rgba(255, 255, 255, 0.52);
}

#pricing-details .charges-detail-table tbody tr:nth-child(even) td {
  background: rgba(247, 241, 231, 0.48);
}

#pricing-details .charges-detail-table tbody tr.is-highlight td {
  background: linear-gradient(180deg, rgba(95, 121, 82, 0.07) 0%, rgba(95, 121, 82, 0.12) 100%) !important;
}

#pricing-details .charges-detail-table tbody tr:last-child td {
  border-bottom: 0;
}

#pricing-details .charges-detail-reference {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin-top: 0.9rem;
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  background: rgba(255, 251, 244, 0.95);
  border: 1px solid rgba(197, 161, 90, 0.14);
  color: rgba(19, 34, 53, 0.76);
  line-height: 1.65;
}

#pricing-details .charges-detail-reference i {
  margin-top: 0.1rem;
  color: var(--secondary);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

#pricing-details .charges-detail-side-panel {
  overflow: hidden;
  padding: 1.45rem 1.35rem 1.6rem;
}

#pricing-details .charges-detail-side-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.95rem;
  border-radius: 50%;
  background: rgba(242, 222, 180, 0.56);
  color: var(--secondary);
  box-shadow: 0 18px 34px -26px rgba(23, 53, 40, 0.26);
}

#pricing-details .charges-detail-side-icon i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.08rem;
  line-height: 1;
}

#pricing-details .charges-detail-side-kicker {
  display: inline-block;
  margin-bottom: 0.85rem;
  color: #8c652b !important;
}

#pricing-details .charges-detail-side-panel h3 {
  max-width: 12ch;
  margin-bottom: 0.95rem;
  color: var(--secondary) !important;
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 2.5vw, 2.35rem);
  line-height: 1.08;
}

#pricing-details .charges-detail-points {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

#pricing-details .charges-detail-points li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  color: rgba(19, 34, 53, 0.78) !important;
  line-height: 1.7;
}

#pricing-details .charges-detail-points i {
  margin-top: 0.16rem;
  color: var(--primary);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

@media (max-width: 991.98px) {
  #pricing-details .charges-detail-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  #pricing-details .charges-detail-table-card,
  #pricing-details .charges-detail-side-panel {
    border-radius: 1.25rem;
  }

  #pricing-details .charges-detail-table-card {
    padding: 0.85rem;
  }

  #pricing-details .charges-detail-table-wrap {
    overflow-x: auto;
  }

  #pricing-details .charges-detail-table,
  #pricing-details .charges-detail-table thead,
  #pricing-details .charges-detail-table tbody,
  #pricing-details .charges-detail-table tr {
    display: table;
    width: 100%;
  }

  #pricing-details .charges-detail-table thead {
    display: table-header-group;
  }

  #pricing-details .charges-detail-table tbody {
    display: table-row-group;
  }

  #pricing-details .charges-detail-table tr {
    display: table-row;
  }

  #pricing-details .charges-detail-table th,
  #pricing-details .charges-detail-table td {
    display: table-cell;
    width: auto;
    padding: 0.95rem 0.85rem;
    border-right: 1px solid rgba(197, 161, 90, 0.1);
    border-bottom: 1px solid rgba(197, 161, 90, 0.12);
  }

  #pricing-details .charges-detail-table th:last-child,
  #pricing-details .charges-detail-table td:last-child {
    border-right: 0;
  }

  #pricing-details .charges-detail-table td::before {
    content: none;
  }

  #pricing-details .charges-detail-side-panel {
    padding: 1.2rem 1.1rem 1.35rem;
  }
}

/********** Timings guidance redesign **********/
.timings-guidance-shell {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 251, 244, 0.96) 0%, rgba(247, 241, 231, 0.96) 100%) !important;
}

.timings-guidance-shell::before {
  content: "";
  position: absolute;
  inset: auto auto 1.5rem 1.5rem;
  width: 12rem;
  height: 12rem;
  background:
    radial-gradient(circle at 35% 35%, rgba(95, 121, 82, 0.12), transparent 55%),
    radial-gradient(circle at 62% 22%, rgba(197, 161, 90, 0.12), transparent 42%);
  opacity: 0.7;
  pointer-events: none;
}

.timings-guidance-head {
  max-width: 46rem;
  margin-bottom: 2.3rem !important;
}

.timings-guidance-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.95rem !important;
}

.timings-guidance-eyebrow::before,
.timings-guidance-eyebrow::after {
  content: "";
  display: inline-block;
  width: 1.55rem;
  height: 1px;
  background: rgba(140, 101, 43, 0.42);
}

.timings-guidance-title {
  max-width: 14ch;
  margin-left: auto;
  margin-right: auto;
}

.timings-guidance-card-grid {
  align-items: stretch;
}

.timings-guidance-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.5rem 1.4rem 1.45rem !important;
  border-radius: 1.5rem !important;
  overflow: hidden;
}

.timings-guidance-card::after {
  content: "";
  position: absolute;
  right: -0.75rem;
  bottom: -0.85rem;
  width: 8.5rem;
  height: 8.5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(95, 121, 82, 0.09) 0%, rgba(95, 121, 82, 0) 68%);
  pointer-events: none;
}

.timings-guidance-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.95rem;
  border-radius: 50%;
  background: rgba(191, 214, 186, 0.42);
  color: var(--secondary);
  box-shadow: 0 14px 28px -24px rgba(19, 34, 53, 0.18);
}

.timings-guidance-card-icon i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.05rem;
  line-height: 1;
}

.timings-guidance-card h3 {
  font-size: clamp(1.5rem, 2vw, 1.9rem) !important;
}

.timings-guidance-link {
  margin-top: auto !important;
  padding-top: 1rem;
}

.timings-guidance-lower {
  position: relative;
  background: linear-gradient(180deg, rgba(232, 241, 228, 0.88) 0%, rgba(239, 245, 236, 0.94) 100%) !important;
}

.timings-guidance-divider {
  display: flex;
  justify-content: center;
  margin-bottom: 1.35rem;
}

.timings-guidance-divider span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(255, 252, 246, 0.96);
  border: 1px solid rgba(197, 161, 90, 0.18);
  color: #8c652b;
  box-shadow: 0 16px 34px -26px rgba(19, 34, 53, 0.18);
}

.timings-guidance-divider i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
}

.timings-guidance-layout {
  grid-template-columns: minmax(0, 1.8fr) minmax(19rem, 0.95fr);
  gap: 1.5rem;
  align-items: stretch;
}

.timings-guidance-panel {
  position: relative;
  border-radius: 1.5rem !important;
  overflow: hidden;
}

.timings-guidance-panel--primary,
.timings-guidance-panel--secondary {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(247, 241, 231, 0.98) 100%) !important;
  border: 1px solid rgba(197, 161, 90, 0.16) !important;
  box-shadow: 0 24px 52px -40px rgba(19, 34, 53, 0.18) !important;
}

.timings-guidance-panel-top {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 0.95rem;
  margin-bottom: 1rem;
}

.timings-guidance-money-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(242, 222, 180, 0.58);
  color: var(--secondary);
}

.timings-guidance-money-badge i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.05rem;
  line-height: 1;
}

.timings-guidance-panel-rule {
  width: 1px;
  align-self: stretch;
  background: linear-gradient(180deg, rgba(197, 161, 90, 0.15), rgba(95, 121, 82, 0.32), rgba(197, 161, 90, 0.15));
}

.timings-guidance-panel-kicker {
  color: #8c652b !important;
}

.timings-guidance-panel--primary .pricing-list {
  grid-template-columns: 1fr;
  gap: 0.7rem;
}

.timings-guidance-panel--secondary .travel-access-item + .travel-access-item {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(197, 161, 90, 0.14);
}

@media (max-width: 991.98px) {
  .timings-guidance-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .timings-guidance-panel-top {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .timings-guidance-panel-rule {
    display: none;
  }
}

.pricing-list-wrap {
  margin: 0 auto 2.5rem;
  max-width: 52rem;
  padding: 1.65rem 1.75rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(95, 121, 82, 0.18);
  background: rgba(255, 253, 248, 0.76);
}

.pricing-list-title {
  margin-bottom: 1rem;
  color: var(--secondary);
  font-size: 1.4rem;
}

.pricing-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem 1.5rem;
  margin: 0;
  padding-left: 1.2rem;
  color: rgba(23, 26, 20, 0.8);
}

.price-highlight-card {
  height: 100%;
  padding: 1.8rem 1.45rem;
  border-radius: 1.3rem;
  border: 1px solid rgba(95, 121, 82, 0.2);
  border-top: 3px solid var(--primary);
  background: var(--white);
  box-shadow: 0 22px 44px -40px rgba(23, 26, 20, 0.18);
}

.price-highlight-card h3 {
  margin: 0 0 0.8rem;
  color: var(--secondary);
  font-size: 1.3rem;
}

.price-highlight-card p {
  margin: 0;
  color: rgba(23, 26, 20, 0.76);
  line-height: 1.75;
}

.review-card {
  margin: 0 10px;
  min-height: 100%;
  border-radius: 1.25rem;
  border: 1px solid rgba(95, 121, 82, 0.16);
  background: var(--white);
  box-shadow: 0 22px 44px -40px rgba(23, 26, 20, 0.16);
}

.review-copy {
  color: rgba(23, 26, 20, 0.8);
  font-size: 0.98rem;
  line-height: 1.82;
}

.faq-shell {
  max-width: 1080px;
}

.faq-accordion .accordion-item {
  margin-bottom: 1rem;
  border: 1px solid rgba(95, 121, 82, 0.18);
  border-radius: 1rem;
  overflow: hidden;
  background: var(--white);
}

.faq-accordion .accordion-button {
  padding: 1.2rem 1.25rem;
  background: var(--white);
  color: var(--secondary);
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.55;
  box-shadow: none;
}

.faq-accordion .accordion-button:not(.collapsed) {
  background: rgba(231, 222, 204, 0.72);
  color: var(--secondary);
}

.faq-accordion .accordion-button:focus {
  box-shadow: 0 0 0 0.2rem rgba(95, 121, 82, 0.12);
}

.faq-accordion .accordion-body {
  color: rgba(23, 26, 20, 0.78);
  font-size: 0.97rem;
  line-height: 1.8;
}

.cta-panel {
  max-width: 1080px;
  margin: 0 auto;
}

.cta-copy {
  max-width: 50rem;
  margin: 0.85rem auto 0;
  color: rgba(255, 253, 248, 0.82);
  font-size: 1rem;
  line-height: 1.84;
}

.cta-actions {
  margin-top: 2rem;
}

.footer-disclaimer {
  color: rgba(255, 253, 248, 0.72) !important;
  font-size: 0.92rem;
  line-height: 1.8;
}

.contact-detail-icon,
.contact-reassurance-icon,
.value-icon,
.back-to-top,
.icon-bg {
  color: var(--white) !important;
}

.contact-detail-icon i,
.contact-reassurance-icon i,
.value-icon i,
.back-to-top i,
.icon-bg i {
  color: var(--white) !important;
}

@media (max-width: 991.98px) {
  #booking .contact-title {
    max-width: none;
  }

  .booking-left-column--simple {
    justify-content: flex-start;
  }

  .booking-simple-shell {
    padding: 1.5rem;
    border-radius: 1.4rem;
  }

  .booking-panel-title {
    max-width: none;
  }

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

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

  .booking-action-group--single {
    justify-content: center;
  }

  #zones .service-body {
    min-height: 0;
  }

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

@media (max-width: 767.98px) {
  .hero-text-secondary {
    margin-top: 0.8rem;
  }

  .booking-action-group,
  .cta-actions,
  .pricing-actions {
    flex-direction: column;
  }

  .booking-action-group .btn,
  .cta-actions .btn,
  .pricing-actions .btn,
  .about-actions .btn {
    width: 100%;
  }

  .booking-mini-card {
    padding: 0.95rem;
  }

  .booking-panel {
    border-radius: 1.3rem;
  }

  .booking-title {
    max-width: none;
    font-size: clamp(2.15rem, 9vw, 3rem);
  }

  .booking-title--centered {
    max-width: none;
  }

  .booking-title-line {
    margin-bottom: 1.25rem;
  }

  .booking-intro,
  .booking-panel-title {
    max-width: none;
  }

  .booking-feature-grid--simple {
    margin-top: 2rem !important;
  }

  .booking-action-group--left {
    margin-top: 1.4rem;
  }

  .booking-feature-card {
    padding: 0.9rem;
  }

  .booking-expert-btn {
    min-width: 0;
  }

  .pricing-list-wrap {
    padding: 1.25rem 1rem;
    border-radius: 1rem;
  }

  .wildlife-species-card {
    border-radius: 1.15rem;
  }

  .wildlife-species-body {
    padding: 1rem 0.95rem 1.05rem;
  }

  .faq-accordion .accordion-button {
    font-size: 0.95rem;
    padding: 1rem;
  }

  .review-card {
    margin: 0;
  }
}

/********** Safari UX refinement pass **********/
.zone-band {
  background:
    linear-gradient(180deg, rgba(246, 239, 226, 0.98) 0%, rgba(231, 222, 204, 0.92) 100%);
}

.zone-simple-card {
  height: 100%;
  overflow: hidden;
  border-radius: 1.45rem;
  border: 1px solid rgba(63, 95, 59, 0.12);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(248, 242, 233, 0.98) 100%);
  box-shadow: 0 26px 52px -42px rgba(23, 26, 20, 0.18);
}

.zone-simple-card--secondary {
  background: linear-gradient(180deg, rgba(247, 240, 229, 0.98) 0%, rgba(239, 231, 216, 0.98) 100%);
}

.zone-simple-media {
  display: block;
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #dfe8db;
}

.zone-simple-media::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(180deg, rgba(23, 26, 20, 0) 46%, rgba(23, 26, 20, 0.1) 100%);
}

.zone-simple-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.75s ease;
}

.zone-simple-card:hover .zone-simple-media img {
  transform: scale(1.05);
}

.zone-simple-body {
  display: flex;
  flex-direction: column;
  gap: 0.72rem;
  padding: 1.35rem 1.3rem 1.4rem;
}

.zone-simple-body h3 {
  margin: 0;
  color: var(--secondary);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.zone-simple-body h3 a {
  color: inherit;
  text-decoration: none;
}

.zone-simple-subheading {
  margin: 0;
  color: var(--accent-olive);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.zone-simple-copy {
  margin: 0;
  color: rgba(23, 26, 20, 0.78);
  line-height: 1.8;
}

.zone-simple-action {
  margin-top: auto;
  padding-top: 0.4rem;
}

.zone-simple-action .btn {
  min-width: 9.75rem;
}

.zone-shell,
.travel-shell,
.review-shell {
  max-width: 1240px;
}

.zone-section-head {
  max-width: 54rem;
  margin-bottom: 3rem;
}

.zone-summary-panel {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 1.2rem;
  align-items: center;
  padding: 1.5rem 1.6rem;
  margin-bottom: 2rem;
  border: 1px solid rgba(63, 95, 59, 0.12);
  border-radius: 1.5rem;
  background: rgba(255, 253, 248, 0.7);
  box-shadow: 0 24px 44px -40px rgba(23, 26, 20, 0.16);
}

.zone-summary-kicker,
.pricing-chart-kicker,
.travel-access-kicker {
  display: inline-block;
  margin-bottom: 0.55rem;
  color: var(--accent-olive);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.zone-summary-copy p,
.zone-secondary-head p,
.travel-access-item p,
.zone-guidance-card p {
  margin: 0;
  color: rgba(23, 26, 20, 0.78);
  line-height: 1.8;
}

.zone-summary-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  justify-content: flex-end;
}

.zone-summary-pills span {
  padding: 0.75rem 1rem;
  border-radius: 999px;
  background: rgba(63, 95, 59, 0.1);
  border: 1px solid rgba(63, 95, 59, 0.12);
  color: var(--secondary);
  font-size: 0.86rem;
  font-weight: 600;
}

.zone-feature-card {
  position: relative;
  min-height: 25rem;
  border-radius: 1.6rem;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 34px 62px -44px rgba(23, 26, 20, 0.28);
}

.zone-feature-card--wide {
  min-height: 22rem;
}

.zone-feature-media,
.zone-feature-media img,
.zone-page-card-media,
.zone-page-card-media img {
  width: 100%;
  height: 100%;
}

.zone-feature-media,
.zone-page-card-media {
  position: absolute;
  inset: 0;
}

.zone-feature-media img,
.zone-page-card-media img {
  object-fit: cover;
}

.zone-feature-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(23, 26, 20, 0.1) 0%, rgba(23, 26, 20, 0.74) 78%),
    radial-gradient(circle at top right, rgba(95, 121, 82, 0.22), transparent 28%);
}

.zone-feature-card--earth .zone-feature-overlay {
  background:
    linear-gradient(180deg, rgba(23, 26, 20, 0.08) 0%, rgba(23, 26, 20, 0.72) 80%),
    radial-gradient(circle at top right, rgba(157, 116, 77, 0.2), transparent 28%);
}

.zone-feature-card--dark .zone-feature-overlay,
.zone-feature-card--muted .zone-feature-overlay {
  background:
    linear-gradient(180deg, rgba(23, 26, 20, 0.14) 0%, rgba(23, 26, 20, 0.76) 82%),
    radial-gradient(circle at top right, rgba(211, 192, 165, 0.15), transparent 28%);
}

.zone-feature-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 1.55rem;
  color: var(--white);
}

.zone-tag,
.zone-page-badge,
.zone-secondary-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 0.8rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.12);
  border: 1px solid rgba(255, 253, 248, 0.16);
  color: rgba(255, 253, 248, 0.9);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.zone-feature-content h3,
.zone-page-card-body h3,
.zone-secondary-card h4 {
  color: var(--white);
  margin-bottom: 0.85rem;
}

.zone-feature-content p,
.zone-page-card-body p {
  color: rgba(255, 253, 248, 0.84);
  line-height: 1.76;
  margin-bottom: 0;
}

.zone-link {
  margin-top: 1rem;
  color: #d7e4d1;
  font-size: 0.84rem;
  font-weight: 600;
  text-decoration: none;
}

.zone-link i {
  margin-left: 0.35rem;
}

.zone-link:hover {
  color: var(--white);
}

.zone-secondary-block {
  margin-top: 2.5rem;
  padding: 1.6rem;
  border-radius: 1.5rem;
  background: rgba(255, 253, 248, 0.72);
  border: 1px solid rgba(63, 95, 59, 0.12);
}

.zone-secondary-head {
  max-width: 40rem;
  margin-bottom: 1.4rem;
}

.zone-secondary-head h3,
.travel-access-panel h3,
.pricing-chart-head h3,
.zone-guidance-card h2 {
  color: var(--secondary);
  margin-bottom: 0.6rem;
}

.zone-secondary-card {
  height: 100%;
  padding: 1.35rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(63, 95, 59, 0.14);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(247, 240, 229, 0.98) 100%);
}

.zone-secondary-card h4,
.zone-secondary-card h3 {
  color: var(--secondary);
}

.zone-secondary-card p {
  margin-bottom: 0;
  color: rgba(23, 26, 20, 0.76);
  line-height: 1.76;
}

.zone-secondary-label {
  background: rgba(63, 95, 59, 0.08);
  border-color: rgba(63, 95, 59, 0.14);
  color: var(--accent-olive);
}

.pricing-chart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(290px, 0.85fr);
  gap: 1.5rem;
  align-items: start;
}

.pricing-chart-card,
.pricing-side-panel,
.travel-access-panel,
.zone-guidance-card {
  padding: 1.6rem;
  border-radius: 1.45rem;
  border: 1px solid rgba(63, 95, 59, 0.14);
  background: rgba(255, 253, 248, 0.84);
  box-shadow: 0 24px 44px -40px rgba(23, 26, 20, 0.16);
}

.pricing-chart-table-wrap {
  overflow-x: auto;
}

.pricing-chart-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.pricing-chart-table th,
.pricing-chart-table td {
  padding: 1rem 1rem;
  border-bottom: 1px solid rgba(63, 95, 59, 0.12);
  vertical-align: top;
  text-align: left;
}

.pricing-chart-table th {
  color: var(--secondary);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.pricing-chart-table td {
  color: rgba(23, 26, 20, 0.78);
  line-height: 1.72;
}

.pricing-chart-table tr.is-highlight td {
  background: rgba(63, 95, 59, 0.06);
}

.pricing-chart-table tbody tr:last-child td {
  border-bottom: 0;
}

.pricing-side-panel .pricing-list {
  grid-template-columns: 1fr;
  gap: 0.7rem;
}

.travel-planner-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr);
  gap: 1.5rem;
  align-items: start;
}

.travel-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.travel-route-card {
  height: 100%;
  padding: 1.5rem;
  border-radius: 1.35rem;
  background: rgba(255, 253, 248, 0.84);
  border: 1px solid rgba(63, 95, 59, 0.14);
  box-shadow: 0 24px 46px -42px rgba(23, 26, 20, 0.14);
}

.travel-route-icon {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: #1f6a2a;
  color: #ffffff;
  font-size: 1.2rem;
  box-shadow: 0 16px 30px -20px rgba(10, 22, 12, 0.38);
}

.travel-route-icon i,
.transport-mode-icon i,
.glass-card-icon i,
.zone-editorial-detail-icon i,
.booking-contact-chip i,
.booking-direct-link i,
.footer-info-item i,
.back-to-top i {
  display: inline-block;
  line-height: 1;
  text-align: center;
  flex-shrink: 0;
}

.travel-route-icon i,
.transport-mode-icon i,
.glass-card-icon i,
.zone-editorial-detail-icon i {
  font-size: 1em;
}

.travel-route-card h3,
.travel-access-item strong {
  color: var(--secondary);
}

.travel-route-card p,
.travel-access-item p {
  color: rgba(23, 26, 20, 0.76);
  line-height: 1.76;
  margin-bottom: 0;
}

.travel-access-item + .travel-access-item {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(63, 95, 59, 0.12);
}

/* Testimonials Marquee & Dark Cards */
.testimonials-band {
  background: #0a0a0a !important; /* Pitch dark background */
  overflow: hidden;
  padding-bottom: 6rem !important;
  padding-top: 5rem !important;
}

.review-shell {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.marquee-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
  position: relative;
  margin-top: 3rem;
}

.marquee-row {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.marquee-track {
  display: flex;
  gap: 2rem;
  width: max-content;
}

.marquee-content {
  display: flex;
  gap: 2rem;
}

.marquee-left .marquee-track {
  animation: scroll-left 45s linear infinite;
}

.marquee-right .marquee-track {
  animation: scroll-right 45s linear infinite;
}

/* Pause animation on hover for better readability */
.marquee-row:hover .marquee-track {
  animation-play-state: paused;
}

@keyframes scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 1rem)); } /* -50% - half of gap(2rem) */
}

@keyframes scroll-right {
  0% { transform: translateX(calc(-50% - 1rem)); }
  100% { transform: translateX(0); }
}

.testimonial-dark-card {
  width: 420px;
  background: #242424;
  border-radius: 14px;
  padding: 1.8rem 2rem;
  display: flex;
  flex-direction: column;
  white-space: normal;
  box-shadow: 0 4px 15px rgba(0,0,0,0.5);
  border: 1px solid #3a3a3a;
  transition: transform 0.3s ease, background 0.3s ease;
}

.testimonial-dark-card:hover {
  background: #2a2a2a;
  transform: translateY(-5px);
}

.testimonial-dark-card .review-card-top {
  margin-bottom: 0.5rem;
}

.testimonial-dark-card .review-label {
  color: #9ca3af;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-family: 'Poppins', sans-serif;
}

.testimonial-dark-card .review-author {
  color: #f3f4f6;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
  font-family: 'Poppins', sans-serif;
}

.testimonial-dark-card .review-copy {
  color: #d1d5db;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
}

.testimonial-dark-card .review-progress {
  display: none;
}

.testimonial-dark-card .progress-fill {
  height: 100%;
  background: var(--primary);
  border-radius: 10px;
}

.final-cta-band {
  position: relative;
  background: url(../img/featured/elephant-river-forest.avif) center center / cover no-repeat;
}

.final-cta-overlay {
  background:
    linear-gradient(180deg, rgba(9, 12, 9, 0.48) 0%, rgba(9, 12, 9, 0.72) 100%),
    radial-gradient(circle at top right, rgba(95, 121, 82, 0.24), transparent 28%);
}

.final-cta-content {
  max-width: 62rem;
  margin: 0 auto;
  padding: 5rem 0;
}

.final-cta-title {
  color: var(--white) !important;
  font-size: clamp(2.2rem, 4.2vw, 4rem);
}

.final-cta-band .contact-form-mark span {
  background: linear-gradient(90deg, rgba(255, 253, 248, 0) 0%, rgba(255, 253, 248, 0.88) 50%, rgba(255, 253, 248, 0) 100%) !important;
}

.final-cta-band .contact-form-mark i {
  color: #fff4df !important;
}

.final-cta-band .about-btn {
  background: var(--white) !important;
  border-color: var(--white) !important;
  color: var(--secondary) !important;
}

.final-cta-band .about-btn:hover {
  background: #e9efe7 !important;
  border-color: #e9efe7 !important;
}

.footer-disclaimer--tiny {
  max-width: 64rem;
  color: #ffffff !important;
  font-size: 0.68rem;
  line-height: 1.55;
}

.zone-page-hero {
  position: relative;
  overflow: hidden;
  background-color: #071321;
  background-image: url(../img/featured/rajaji-forest-trail.avif);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.zone-page-hero--chilla {
  background-image: url(../img/featured/rajaji-riverbed-safari.avif);
  background-position: center 42%;
}

.zone-page-hero--motichur {
  background-image: url(../img/featured/rajaji-forest-trail.avif);
  background-position: center 46%;
}

.zone-page-hero--ranipur {
  background-image: url(../img/featured/rajaji-riverbed.avif);
  background-position: center 48%;
}

.zone-page-hero--jhilmil {
  background-image: url(../img/featured/hornbill-branch.avif);
  background-position: center 24%;
}

.zone-page-hero--mohand {
  background-image: url(../img/featured/safari-jeep-forest.avif);
  background-position: center 44%;
}

.zone-page-hero--asarori {
  background-image: url(../img/featured/tiger-forest.avif);
  background-position: center 18%;
}

.zone-page-hero--ramgarh {
  background-image: url(../img/featured/deer-misty-clearing.avif);
  background-position: center 34%;
}

/********** Safari zones guide page **********/
.zones-guide-page {
  background: linear-gradient(180deg, #f7f4ef 0%, #f4f1ec 46%, #eeead6 100%);
}

.zones-guide-hero {
  position: relative;
  overflow: visible;
  isolation: isolate;
  background-color: #05080d;
  background-image: url(../img/featured/rajaji-riverbed-safari.avif);
  background-position: center 38%;
  background-size: cover;
  background-repeat: no-repeat;
}

.zones-guide-hero::before {
  position: absolute;
  content: "";
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.08), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(231, 201, 140, 0.14), transparent 20%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: auto, auto, 150px 150px, 150px 150px;
  opacity: 0.72;
  -webkit-mask-image: linear-gradient(180deg, black 0%, black 82%, transparent 100%);
  mask-image: linear-gradient(180deg, black 0%, black 82%, transparent 100%);
  pointer-events: none;
}

.zones-guide-hero-overlay {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(4, 11, 20, 0.6) 0%, rgba(0, 0, 0, 0.95) 100%) !important;
  backdrop-filter: blur(3px);
}

.zones-guide-hero-overlay::after {
  position: absolute;
  content: "";
  left: 50%;
  bottom: -0.6rem;
  transform: translateX(-50%);
  width: min(1200px, calc(100% - 3rem));
  height: clamp(3.75rem, 8vw, 5.25rem);
  border-radius: 2rem 2rem 0 0;
  background: linear-gradient(180deg, rgba(255, 251, 243, 0.95) 0%, rgba(242, 233, 217, 0.98) 100%);
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.08), 0 26px 70px -36px rgba(0, 0, 0, 0.45);
  z-index: 0;
}

.zones-guide-hero-shell {
  position: relative;
  z-index: 1;
  width: min(1360px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding-top: clamp(8.9rem, 13vh, 10rem) !important;
  padding-bottom: clamp(8rem, 13vh, 9.6rem) !important;
}

.zones-guide-hero-grid {
  min-height: clamp(38rem, 72vh, 48rem);
}

/* ==========================================================================
   Premium Zones Hero Redesign
   ========================================================================== */
.premium-zones-hero {
  position: relative;
  background-color: #040a12;
}

.premium-zones-overlay-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 11, 20, 0.75) 0%, rgba(2, 6, 12, 0.95) 100%) !important;
  backdrop-filter: blur(12px);
  z-index: 0;
  pointer-events: none;
}

/* Glowing Ambient Orbs */
.hero-ambient-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
  pointer-events: none;
  z-index: 1;
}
.hero-ambient-orb.orb-1 {
  width: 40vw;
  height: 40vw;
  background: radial-gradient(circle, rgba(197,161,90,0.2) 0%, rgba(197,161,90,0) 70%);
  top: -10%;
  right: -5%;
}
.hero-ambient-orb.orb-2 {
  width: 30vw;
  height: 30vw;
  background: radial-gradient(circle, rgba(46,125,50,0.15) 0%, rgba(46,125,50,0) 70%);
  bottom: -5%;
  left: -10%;
}

/* Typography & Layout */
.hero-text-column {
  position: relative;
  z-index: 5;
}

.premium-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(197, 161, 90, 0.2);
  border-radius: 2rem;
  margin-bottom: 1.5rem;
}
.eyebrow-icon {
  color: #c5a15a;
  font-size: 1.1rem;
}
.eyebrow-text {
  color: #e8dbb9;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.premium-title {
  color: #ffffff;
  font-size: clamp(3rem, 5.5vw, 4.8rem);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  letter-spacing: -1px;
}
.text-gradient-gold {
  background: linear-gradient(135deg, #f6e4bc 0%, #c5a15a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.premium-description {
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(1.1rem, 1.5vw, 1.25rem);
  line-height: 1.8;
  max-width: 90%;
}

.about-guide-page .premium-title {
  color: #fff8ec !important;
  text-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
}

.about-guide-page .premium-description {
  color: rgba(255, 248, 236, 0.88) !important;
}

/* Buttons */
.premium-actions .btn {
  padding: 1rem 2rem;
  font-weight: 600;
  border-radius: 0.75rem;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.btn-premium-solid {
  background: linear-gradient(135deg, #c5a15a 0%, #a38241 100%);
  color: #ffffff !important;
  border: none;
  box-shadow: 0 10px 20px -10px rgba(197, 161, 90, 0.5);
}
.btn-premium-solid:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 25px -10px rgba(197, 161, 90, 0.7);
}
.btn-premium-outline {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
}
.btn-premium-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-3px);
}

/* Stats */
.premium-stats {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.stat-item {
  display: flex;
  flex-direction: column;
}
.stat-value {
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
}
.stat-label {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.stat-divider {
  width: 1px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
}

/* Right Column Visuals */
.hero-visual-column {
  position: relative;
  z-index: 5;
}
.premium-visual-stage {
  position: relative;
  height: 600px;
  width: 100%;
}
.visual-main-frame {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 85%;
  height: 90%;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.visual-main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 10s ease;
}
.visual-main-frame:hover .visual-main-image {
  transform: scale(1.1);
}
.visual-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.4) 0%, transparent 100%);
  pointer-events: none;
}

/* Floating Glass Cards */
.floating-glass-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 1rem;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
  cursor: default;
}
.floating-glass-card:hover {
  transform: translateY(-10px) scale(1.05);
  box-shadow: 0 25px 45px rgba(0, 0, 0, 0.3);
  background: rgba(255, 255, 255, 0.12);
}
.glass-card-1 {
  top: 15%;
  left: -5%;
  z-index: 10;
}
.glass-card-2 {
  top: 45%;
  left: 20%;
  z-index: 11;
}
.glass-card-3 {
  bottom: 10%;
  left: 5%;
  z-index: 12;
}

.glass-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background: linear-gradient(135deg, rgba(197, 161, 90, 0.2) 0%, rgba(197, 161, 90, 0.05) 100%);
  border: 1px solid rgba(197, 161, 90, 0.3);
  border-radius: 50%;
  color: #c5a15a;
  font-size: 1.2rem;
}
.glass-card-content {
  display: flex;
  flex-direction: column;
}
.glass-card-title {
  color: #ffffff;
  font-weight: 700;
  font-size: 1.1rem;
}
.glass-card-sub {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.85rem;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
  .premium-visual-stage {
    height: 450px;
    margin-top: 2rem;
  }
  .visual-main-frame {
    width: 100%;
  }
  .glass-card-1 { top: 10%; left: 10%; }
  .glass-card-2 { top: 40%; left: 30%; }
  .glass-card-3 { bottom: 10%; left: 15%; }
}
@media (max-width: 767.98px) {
  .hero-visual-column {
    display: none !important;
  }
  .floating-glass-card {
    display: none !important;
  }
  .premium-stats {
    flex-wrap: nowrap;
    gap: 0.5rem;
    justify-content: space-between;
  }
  .premium-stats .stat-value {
    font-size: 1.25rem;
  }
  .premium-stats .stat-label {
    font-size: 0.7rem;
  }
  .premium-stats .stat-divider {
    height: 30px;
  }
}

.zones-guide-kicker-text {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.zones-guide-actions {
  gap: 1rem;
}

.zones-guide-actions .hero-btn-primary {
  background: linear-gradient(135deg, #f3ddba 0%, #d9b57a 100%);
  border-color: rgba(231, 201, 140, 0.88);
  color: #142131;
  box-shadow: 0 24px 48px -28px rgba(217, 181, 122, 0.68);
}

.zones-guide-actions .hero-btn-primary:hover {
  color: #142131;
  transform: translateY(-1px);
}

.zones-guide-actions .hero-btn-outline {
  border-color: rgba(255, 245, 230, 0.34);
  background: rgba(255, 255, 255, 0.05);
  color: #fff7ea;
}

.zones-guide-actions .hero-btn-outline:hover {
  border-color: rgba(255, 245, 230, 0.68);
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.zones-hero-stage {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  min-height: clamp(34rem, 62vh, 42rem);
  padding: 1.25rem 2.5rem 1.5rem 0;
}

.zones-hero-portrait-card {
  position: relative;
  width: min(25rem, 100%);
}

.zones-hero-portrait-card::before {
  position: absolute;
  content: "";
  inset: 1rem -1rem -1rem 1rem;
  border-radius: 2rem;
  border: 1px solid rgba(255, 248, 235, 0.18);
  background: rgba(255, 255, 255, 0.05);
  z-index: 0;
}

.zones-hero-portrait-frame {
  position: relative;
  padding: 0.95rem;
  border-radius: 2rem;
  background: linear-gradient(180deg, rgba(251, 244, 231, 0.98) 0%, rgba(223, 198, 155, 0.76) 100%);
  box-shadow: 0 44px 90px -48px rgba(0, 0, 0, 0.82);
  z-index: 1;
}

.zones-hero-portrait-image {
  width: 100%;
  height: clamp(28rem, 48vw, 38rem);
  object-fit: cover;
  object-position: center center;
  border-radius: 1.45rem;
  filter: saturate(0.92) contrast(1.08) brightness(0.95);
}

.zones-hero-floating-card {
  position: absolute;
  right: -0.5rem;
  bottom: 0.25rem;
  width: min(18rem, 78vw);
  padding: 1.25rem 1.25rem 1.35rem;
  border-radius: 1.4rem;
  border: 1px solid rgba(211, 187, 147, 0.78);
  background: linear-gradient(180deg, rgba(255, 248, 235, 0.98) 0%, rgba(243, 231, 208, 0.96) 100%);
  box-shadow: 0 34px 70px -40px rgba(8, 12, 16, 0.72);
  z-index: 3;
}

.zones-hero-floating-label {
  display: inline-block;
  margin-bottom: 0.7rem;
  color: #8a6330;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.zones-hero-floating-card h2 {
  margin-bottom: 0.7rem;
  color: #132235;
  font-size: clamp(1.45rem, 2.2vw, 1.85rem);
  line-height: 1.16;
}

.zones-hero-floating-card p {
  margin-bottom: 0;
  color: rgba(19, 34, 53, 0.78);
  line-height: 1.72;
}

.zones-hero-ring {
  position: absolute;
  top: 1rem;
  right: -1.1rem;
  width: 8.8rem;
  height: 8.8rem;
  border-radius: 50%;
  border: 1px solid rgba(231, 201, 140, 0.44);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.08), transparent 62%);
  color: rgba(255, 244, 226, 0.76);
  display: grid;
  place-items: center;
  text-align: center;
  z-index: 2;
}

.zones-hero-ring::before {
  position: absolute;
  content: "";
  inset: 0.65rem;
  border-radius: 50%;
  border: 1px dashed rgba(255, 244, 226, 0.22);
}

.zones-hero-ring span,
.zones-hero-ring strong {
  position: relative;
  z-index: 1;
  display: block;
}

.zones-hero-ring span {
  font-size: 0.72rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.zones-hero-ring strong {
  margin-top: 0.35rem;
  font-family: "Merriweather", serif;
  font-size: 1rem;
  line-height: 1.2;
}

/* ==========================================================================
   Premium Overview Section Redesign
   ========================================================================== */
.premium-overview-band {
  position: relative;
  background-color: #040a12; /* Matches hero bottom */
  padding: 6rem 0;
  overflow: hidden;
}

.overview-ambient-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.3;
  pointer-events: none;
  z-index: 1;
}
.overview-ambient-glow.glow-left {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(197, 161, 90, 0.15) 0%, transparent 70%);
  top: 10%;
  left: -100px;
}
.overview-ambient-glow.glow-right {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(46, 125, 50, 0.12) 0%, transparent 70%);
  bottom: 20%;
  right: -150px;
}

.premium-section-head {
  max-width: 800px;
  margin-bottom: 3rem;
}
.premium-eyebrow-sub {
  color: #c5a15a;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.premium-section-title {
  color: #ffffff;
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1.25rem;
}
.premium-section-intro {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.1rem;
  line-height: 1.8;
}

/* Summary Pills */
.premium-summary-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 4rem;
}
.premium-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.2rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2rem;
  color: #e8dbb9;
  font-size: 0.95rem;
  backdrop-filter: blur(8px);
}
.premium-pill i {
  color: #c5a15a;
}

/* Zone Grid */
.premium-zone-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.5rem;
  overflow: hidden;
  transition: all 0.4s ease;
}
.premium-zone-card:hover {
  transform: translateY(-8px);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(197, 161, 90, 0.3);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.premium-zone-media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}
.premium-zone-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.premium-zone-card:hover .premium-zone-media img {
  transform: scale(1.08);
}
.premium-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(4, 10, 18, 0.8) 0%, transparent 60%);
  display: flex;
  align-items: flex-end;
  padding: 1.25rem;
}
.premium-card-badge {
  background: rgba(4, 10, 18, 0.8);
  color: #c5a15a;
  padding: 0.4rem 0.8rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 0.5rem;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(197, 161, 90, 0.3);
}

.premium-zone-body {
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.premium-zone-link {
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  transition: color 0.3s ease;
}
.premium-zone-link i {
  font-size: 1rem;
  color: #c5a15a;
  transform: translateX(0);
  transition: transform 0.3s ease;
}
.premium-zone-card:hover .premium-zone-link {
  color: #f6e4bc;
}
.premium-zone-card:hover .premium-zone-link i {
  transform: translateX(5px);
}
.premium-zone-copy {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 0;
}

.premium-zone-card-wide .premium-zone-media {
  aspect-ratio: 21 / 9;
}

.zone-story-grid {
  align-items: stretch;
}

.zones-copy-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.zones-copy-panel h2,
.zones-text-card h3,
.zones-disclaimer-card p {
  color: var(--secondary);
}

.zones-text-card {
  background: rgba(255, 253, 248, 0.84);
}

.zones-disclaimer-band {
  background: linear-gradient(180deg, rgba(250, 246, 239, 0.92) 0%, rgba(239, 231, 216, 0.92) 100%);
}

.zones-disclaimer-card {
  padding: 1.3rem 1.4rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(63, 95, 59, 0.12);
  background: rgba(255, 253, 248, 0.78);
  box-shadow: 0 20px 40px -36px rgba(23, 26, 20, 0.16);
}

.zones-disclaimer-card p {
  line-height: 1.8;
}

@media (max-width: 1199.98px) {
  .zones-guide-hero-shell {
    width: min(calc(100% - 2rem), 100%);
  }

  .zones-hero-stage {
    padding-right: 1.25rem;
  }

  .zones-hero-floating-card {
    right: 0;
  }
}

@media (max-width: 991.98px) {
  .zones-guide-title {
    max-width: none;
  }

  .zones-guide-actions {
    justify-content: flex-start;
  }

  .zones-guide-hero-grid {
    min-height: auto;
  }

  .zones-hero-stage {
    min-height: auto;
    padding: 0.5rem 0 0;
  }

  .zones-hero-portrait-card {
    width: min(28rem, 100%);
  }

  .zones-hero-floating-card {
    right: 1rem;
    bottom: -1.1rem;
  }

  .zones-hero-ring {
    right: 0.5rem;
    top: 0.25rem;
  }

  #safari-zones-overview {
    margin-top: -4.4rem;
  }
}

@media (max-width: 767.98px) {
  .zones-guide-hero-shell {
    width: min(calc(100% - 1.5rem), 100%);
    padding-top: 7.4rem !important;
    padding-bottom: 6rem !important;
  }

  .zones-guide-kicker {
    margin-bottom: 1rem;
  }

  .zones-guide-actions {
    justify-content: flex-start;
  }

  .zones-guide-actions .hero-btn {
    width: 100%;
  }

  .zones-hero-stage {
    padding: 0.25rem 0 0;
  }

  .zones-hero-portrait-card::before,
  .zones-hero-ring {
    display: none;
  }

  .zones-hero-portrait-frame {
    padding: 0.75rem;
    border-radius: 1.5rem;
  }

  .zones-hero-portrait-image {
    height: 24rem;
    border-radius: 1.1rem;
  }

  .zones-hero-floating-card {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin-top: -2rem;
  }

  #safari-zones-overview {
    margin-top: -3.4rem;
  }

  #safari-zones-overview .zone-shell {
    border-radius: 1.5rem;
    padding-top: 2.35rem !important;
  }

  .zones-disclaimer-card {
    padding: 1.05rem 1rem;
  }
}

/********** Zone detail pages **********/
.zone-detail-page {
  background: linear-gradient(180deg, #f7f4ef 0%, #f4f1ec 46%, #eeead6 100%);
}

.zone-detail-hero {
  position: relative;
}

.zone-detail-hero-overlay {
  background:
    linear-gradient(180deg, rgba(7, 18, 30, 0.52) 0%, rgba(7, 18, 30, 0.76) 100%),
    radial-gradient(circle at top right, rgba(197, 161, 90, 0.16), transparent 24%);
}

.zone-detail-hero-shell {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding-top: clamp(7.5rem, 12vh, 8.6rem) !important;
  padding-bottom: clamp(5.6rem, 10vh, 6.8rem) !important;
}

.zone-detail-hero-title {
  max-width: 14ch;
}

.zone-detail-hero-divider {
  margin-left: 0;
}

.zone-detail-hero-copy {
  max-width: 43rem;
}

.zone-detail-hero-copy--secondary {
  margin-top: 1rem;
}

.zone-detail-hero-actions .hero-btn {
  min-width: 14.25rem;
}

.zone-detail-hero-panel {
  padding: 1.5rem 0 0 1.5rem;
}

.zone-detail-hero-panel-card {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.96) 0%, rgba(249, 245, 237, 0.96) 100%);
  border: 1px solid rgba(197, 161, 90, 0.18);
  box-shadow: 0 28px 54px -42px rgba(18, 30, 48, 0.28);
}

.zone-detail-floating-note {
  background: linear-gradient(180deg, #173453 0%, #10263e 100%);
  box-shadow: 0 24px 45px -30px rgba(18, 30, 48, 0.42);
}

.zone-detail-intro-media img {
  min-height: 31rem;
}

.zone-detail-copy-block h2 {
  color: #12253d;
}

.zone-detail-copy-block p,
.zone-detail-copy-block .guide-bullet-list li {
  color: rgba(18, 37, 61, 0.78);
}

.zone-detail-route-grid {
  align-items: stretch;
}

.zone-detail-route-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.zone-detail-page .guide-season-card {
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.96) 0%, rgba(239, 225, 202, 0.86) 100%);
  border: 1px solid rgba(197, 161, 90, 0.18);
  box-shadow: 0 28px 54px -42px rgba(18, 30, 48, 0.28);
}

.zone-detail-page .guide-season-card h3 {
  color: #12253d;
}

.zone-detail-page .guide-season-card p {
  color: rgba(18, 37, 61, 0.78);
}

.zone-detail-disclaimer-card {
  border-color: rgba(157, 116, 77, 0.18);
}

@media (max-width: 1199.98px) {
  .zone-detail-hero-shell {
    width: min(calc(100% - 2rem), 100%);
  }
}

@media (max-width: 991.98px) {
  .zone-detail-hero-title {
    max-width: none;
  }

  .zone-detail-hero-panel {
    padding: 0;
  }
}

@media (max-width: 767.98px) {
  .zone-detail-hero-shell {
    width: min(calc(100% - 1.5rem), 100%);
    padding-top: 6.9rem !important;
    padding-bottom: 4.8rem !important;
  }

  .zone-detail-hero-divider {
    margin-left: auto;
    margin-right: auto;
  }

  .zone-detail-hero-actions .hero-btn {
    width: 100%;
  }

  .zone-detail-intro-media img {
    min-height: 22rem;
  }
}

/********** Remaining main content pages **********/
.content-guide-page {
  background: linear-gradient(180deg, #f7f4ef 0%, #f4f1ec 46%, #eeead6 100%);
}

.page-guide-hero {
  position: relative;
  overflow: hidden;
  background-color: #071321;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.page-guide-hero--reach {
  background-image: url(../img/featured/rajaji-safari-haridwar.avif);
  background-size: cover;
  background-position: center;
}

.page-guide-hero--pricing {
  background-image: url(../img/featured/rajaji-riverbed-safari.avif);
  background-size: cover;
  background-position: center 42%;
}

.page-guide-hero--wildlife {
  background-image: url(../img/featured/elephant-river-forest.avif);
  background-size: cover;
  background-position: center 38%;
}

.page-guide-hero--packages {
  background-image: url(../img/featured/safari-jeep-forest.avif);
  background-size: cover;
  background-position: center 42%;
}

.page-guide-hero::before {
  position: absolute;
  content: "";
  inset: 0;
  background:
    linear-gradient(rgba(231, 201, 140, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231, 201, 140, 0.08) 1px, transparent 1px);
  background-size: 140px 140px;
  opacity: 0.1;
  -webkit-mask-image: radial-gradient(circle at center, black 38%, transparent 88%);
  mask-image: radial-gradient(circle at center, black 38%, transparent 88%);
}

.page-guide-hero-overlay {
  position: relative;
  background:
    linear-gradient(180deg, rgba(7, 18, 30, 0.58) 0%, rgba(7, 18, 30, 0.8) 100%),
    radial-gradient(circle at top right, rgba(197, 161, 90, 0.16), transparent 24%);
}

.page-guide-hero-shell {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding-top: clamp(7.5rem, 12vh, 8.6rem) !important;
  padding-bottom: clamp(5.6rem, 10vh, 6.8rem) !important;
}

.page-guide-visual-card {
  overflow: hidden;
  border-radius: 1.55rem;
  border: 1px solid rgba(231, 201, 140, 0.18);
  background: rgba(255, 253, 248, 0.92);
  box-shadow: 0 34px 60px -42px rgba(18, 30, 48, 0.34);
}

.page-guide-visual-card img {
  width: 100%;
  min-height: 20rem;
  object-fit: cover;
}

.page-guide-visual-copy {
  padding: 1.45rem 1.5rem 1.6rem;
}

.page-guide-visual-copy h2 {
  margin-bottom: 0.7rem;
  color: #12253d;
  font-size: clamp(1.65rem, 2.4vw, 2.2rem);
}

.page-guide-visual-copy p {
  margin-bottom: 0;
  color: rgba(18, 37, 61, 0.76);
  line-height: 1.8;
}

.quick-stat-card,
.route-city-card,
.transport-mode-card,
.base-zone-card,
.timing-season-card,
.comparison-focus-card,
.cost-example-card,
.plan-card,
.wildlife-info-card {
  height: 100%;
  overflow: hidden;
  border-radius: 1.35rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  box-shadow: 0 28px 54px -42px rgba(18, 30, 48, 0.24);
}

.quick-stat-card,
.route-city-card,
.transport-mode-card,
.base-zone-card,
.timing-season-card,
.comparison-focus-card,
.cost-example-card {
  padding: 1.45rem;
}

.quick-stat-card strong,
.cost-example-card strong {
  display: block;
  color: #12253d;
  font-family: "Merriweather", serif;
  font-size: 1.9rem;
  line-height: 1.1;
}

.quick-stat-card span,
.cost-example-card span,
.route-mini-grid div span {
  display: block;
  margin-top: 0.3rem;
  color: #8c652b;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.quick-stat-card p,
.route-city-card p,
.transport-mode-card p,
.base-zone-card p,
.timing-season-card p,
.comparison-focus-card p,
.cost-example-card p,
.plan-card-body p,
.wildlife-info-card-body p {
  margin-bottom: 0;
  color: rgba(18, 37, 61, 0.78);
  line-height: 1.8;
}

.route-city-card h3,
.transport-mode-card h3,
.base-zone-card h3,
.timing-season-card h3,
.comparison-focus-card h3,
.cost-example-card h3,
.plan-card-body h3,
.wildlife-info-card-body h3 {
  color: #12253d;
  margin-bottom: 0.7rem;
}

.route-city-card--wide {
  padding: 1.6rem;
}

.route-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 1.25rem;
}

.route-mini-grid div {
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  background: rgba(23, 52, 83, 0.05);
  border: 1px solid rgba(23, 52, 83, 0.08);
}

.route-mini-grid div strong {
  color: #12253d;
  font-size: 1rem;
}

.transport-mode-icon {
  display: inline-grid;
  place-items: center;
  width: 3.4rem;
  height: 3.4rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #173453 0%, #10263e 100%);
  color: #f6efe2;
}

.timing-season-card strong,
.comparison-focus-card strong {
  color: #12253d;
}

.cost-example-card span {
  margin-top: 0.6rem;
  letter-spacing: normal;
  text-transform: none;
  font-weight: 600;
  color: rgba(18, 37, 61, 0.7);
}

.plan-card img,
.wildlife-info-card img {
  width: 100%;
  height: 15.5rem;
  object-fit: cover;
}

.plan-card-body,
.wildlife-info-card-body {
  padding: 1.35rem 1.35rem 1.45rem;
}

.plan-pill {
  display: inline-flex;
  margin-bottom: 0.85rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: rgba(23, 52, 83, 0.08);
  color: #8c652b;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.plan-list {
  margin: 1rem 0 1.35rem;
  padding-left: 1.1rem;
  color: rgba(18, 37, 61, 0.78);
}

.plan-list li + li {
  margin-top: 0.45rem;
}

.wildlife-info-card-body {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
}

@media (max-width: 1199.98px) {
  .page-guide-hero-shell {
    width: min(calc(100% - 2rem), 100%);
  }
}

@media (max-width: 991.98px) {
  .route-mini-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767.98px) {
  .page-guide-hero-shell {
    width: min(calc(100% - 1.5rem), 100%);
    padding-top: 6.9rem !important;
    padding-bottom: 4.8rem !important;
  }

  .page-guide-visual-card img,
  .plan-card img,
  .wildlife-info-card img {
    min-height: 14rem;
    height: 14rem;
  }

  .route-mini-grid {
    grid-template-columns: 1fr;
  }
}

/********** Additional SEO content pages **********/
.page-guide-hero--jeep {
  background-image: url(../img/featured/safari-jeep-forest.avif);
  background-size: cover;
  background-position: center 42%;
}

.page-guide-hero--elephant {
  background-image: url(../img/featured/elephant-river-forest.avif);
  background-size: cover;
  background-position: center 34%;
}

.page-guide-hero--best-time {
  background-image: url(../img/featured/deer-misty-clearing.avif);
  background-size: cover;
  background-position: center 34%;
}

.page-guide-hero--faq {
  background-image: url(../img/featured/rajaji-forest-trail.avif);
  background-size: cover;
  background-position: center;
}

.page-guide-hero--hotels {
  background-image: url(../img/featured/rajaji-safari-haridwar.avif);
  background-size: cover;
  background-position: center;
}

.spec-card,
.season-recommend-card,
.faq-category-card,
.hotel-tier-card,
.hotel-city-card,
.related-topic-card,
.chooser-card {
  height: 100%;
  padding: 1.45rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  box-shadow: 0 28px 54px -42px rgba(18, 30, 48, 0.24);
}

.spec-card strong,
.season-recommend-card h3,
.faq-category-card h3,
.hotel-tier-card h3,
.hotel-city-card h3,
.related-topic-card h3,
.chooser-card h3 {
  color: #12253d;
}

.spec-card strong {
  display: block;
  margin-bottom: 0.35rem;
  font-family: "Merriweather", serif;
  font-size: 1.45rem;
}

.spec-card span,
.season-recommend-card span,
.faq-category-card span,
.hotel-tier-card span,
.hotel-city-card span,
.related-topic-card span,
.chooser-card span {
  display: inline-flex;
  margin-bottom: 0.7rem;
  color: #8c652b;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.spec-card p,
.season-recommend-card p,
.faq-category-card p,
.hotel-tier-card p,
.hotel-city-card p,
.related-topic-card p,
.chooser-card p {
  margin-bottom: 0;
  color: rgba(18, 37, 61, 0.78);
  line-height: 1.8;
}

.related-topic-card .zone-link,
.faq-category-card .zone-link {
  display: inline-flex;
  margin-top: 1rem;
  color: #12253d;
}

.related-topic-card .zone-link:hover,
.faq-category-card .zone-link:hover {
  color: #8c652b;
}

.hotel-tier-card ul,
.chooser-card ul,
.season-recommend-card ul {
  margin: 0.9rem 0 0;
  padding-left: 1.1rem;
  color: rgba(18, 37, 61, 0.78);
}

.hotel-tier-card li + li,
.chooser-card li + li,
.season-recommend-card li + li {
  margin-top: 0.35rem;
}

.related-strip {
  margin-top: 2rem;
}

.editorial-image-band {
  position: relative;
}

.editorial-image-grid {
  display: grid;
  gap: 1.25rem;
}

.editorial-image-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.editorial-image-card {
  position: relative;
  overflow: hidden;
  border-radius: 1.6rem;
  box-shadow: 0 30px 62px -44px rgba(18, 30, 48, 0.26);
}

.editorial-image-card img {
  width: 100%;
  height: 100%;
  min-height: 18rem;
  object-fit: cover;
}

.editorial-image-card--caption::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 12, 18, 0.06) 20%, rgba(8, 12, 18, 0.78) 100%);
}

.editorial-image-card-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 1.35rem 1.35rem 1.45rem;
}

.editorial-image-card-body span {
  display: inline-flex;
  margin-bottom: 0.7rem;
  color: rgba(247, 240, 227, 0.86);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.editorial-image-card-body h3 {
  color: #fff7eb;
  margin-bottom: 0.45rem;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
}

.editorial-image-card-body p {
  margin-bottom: 0;
  color: rgba(247, 240, 227, 0.82);
  line-height: 1.7;
}

/********** Sitewide design elevation pass **********/
:root {
  --lux-ink: #132018;
  --lux-navy: #0f2237;
  --lux-panel: rgba(255, 252, 245, 0.92);
  --lux-panel-soft: rgba(255, 249, 239, 0.74);
  --lux-terracotta: #b86946;
  --lux-sand: #ecd8b5;
  --lux-olive: #6d7f4f;
  --lux-shadow: 0 34px 68px -48px rgba(15, 28, 39, 0.34);
  --lux-shadow-strong: 0 44px 88px -54px rgba(11, 20, 30, 0.42);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--lux-ink);
  background:
    radial-gradient(circle at top left, rgba(236, 216, 181, 0.12), transparent 20%),
    radial-gradient(circle at bottom right, rgba(109, 127, 79, 0.08), transparent 24%),
    linear-gradient(180deg, #f8f4ee 0%, #f3eee5 50%, #ece2cf 100%);
}

::selection {
  background: rgba(197, 161, 90, 0.28);
  color: #132018;
}

.navbar-dark {
  backdrop-filter: blur(16px);
}

@media (max-width: 991.98px) {
  .navbar-dark {
    backdrop-filter: none;
  }
}

.sticky-top.navbar-dark {
  background: var(--secondary) !important;
}

.navbar-dark .navbar-nav .nav-link {
  letter-spacing: 0.18em;
}

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .dropdown-item {
  text-underline-offset: 0.3em;
}

.site-footer-band,
.copyright-band {
  position: relative;
}

.site-footer-band .footer-brand-panel,
.site-footer-band .footer-column {
  min-height: 100%;
  padding: 1.5rem 1rem 1rem 0;
}

.site-footer-band .footer-copy {
  max-width: 36rem;
}

.site-footer-band .footer-links {
  gap: 0.55rem;
}

.site-footer-band .footer-link-item {
  align-items: center;
}

.site-footer-band::after,
.copyright-band::before {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  width: min(1240px, calc(100% - 2rem));
  height: 1px;
  background: linear-gradient(90deg, rgba(231, 201, 140, 0) 0%, rgba(231, 201, 140, 0.28) 22%, rgba(231, 201, 140, 0.55) 50%, rgba(231, 201, 140, 0.28) 78%, rgba(231, 201, 140, 0) 100%);
}

.site-footer-band::after {
  top: 0;
}

.copyright-band::before {
  top: 0;
}

.section-title h5,
.values-eyebrow,
.guide-mini-label,
.guide-panel-label,
.travel-access-kicker,
.zone-summary-kicker,
.pricing-chart-kicker,
.zone-secondary-label,
.page-guide-visual-copy .zone-tag,
.plan-pill {
  letter-spacing: 0.18em;
}

.section-intro,
.guide-copy-block p,
.guide-hero-copy,
.hero-text,
.zone-simple-copy,
.travel-route-card p,
.travel-access-item p,
.zone-guidance-card p,
.faq-accordion .accordion-body,
.guide-faq-accordion .accordion-body,
.route-city-card p,
.transport-mode-card p,
.hotel-tier-card p,
.hotel-city-card p,
.plan-card-body p,
.wildlife-info-card-body p {
  font-size: 1rem;
  line-height: 1.9;
}

.hero-btn,
.about-btn,
.contact-submit-btn,
.btn-secondary {
  box-shadow: 0 24px 44px -34px rgba(17, 24, 39, 0.28);
}

.hero-btn:hover,
.about-btn:hover,
.contact-submit-btn:hover,
.btn-secondary:hover {
  transform: translateY(-3px);
}

.home-flagship-page main > .container-fluid,
.about-guide-page main > section,
.zones-guide-page main > section,
.zone-detail-page main > section,
.content-guide-page main > section,
.booking-page main > section {
  position: relative;
}

.about-guide-page main > section::before,
.zones-guide-page main > section:not(.zones-guide-hero)::before,
.zone-detail-page main > section:not(.zone-detail-hero):not(.zone-page-hero)::before,
.content-guide-page main > section:not(.page-guide-hero)::before,
.booking-page main > section:not(.booking-page-hero)::before {
  position: absolute;
  content: "";
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 12% 20%, rgba(197, 161, 90, 0.05), transparent 20%);
  opacity: 0.9;
}

.about-guide-page main > section:nth-of-type(even)::before,
.zones-guide-page main > section:not(.zones-guide-hero):nth-of-type(even)::before,
.zone-detail-page main > section:not(.zone-detail-hero):not(.zone-page-hero):nth-of-type(even)::before,
.content-guide-page main > section:not(.page-guide-hero):nth-of-type(even)::before {
  background: radial-gradient(circle at 88% 22%, rgba(109, 127, 79, 0.07), transparent 22%);
}

.home-flagship-page #about,
.home-flagship-page #booking,
.home-flagship-page #wildlife-home,
.home-flagship-page #faq,
.home-flagship-page #reviews {
  position: relative;
}

.home-flagship-page #about::before,
.home-flagship-page #booking::before,
.home-flagship-page #wildlife-home::before,
.home-flagship-page #faq::before,
.home-flagship-page #reviews::before {
  position: absolute;
  content: "";
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 14% 20%, rgba(197, 161, 90, 0.06), transparent 18%);
}

.home-flagship-page .about-image-card,
.home-flagship-page .pricing-hero-image-card,
.about-guide-page .guide-intro-media img,
.content-guide-page .page-guide-visual-card,
.zone-detail-page .zone-feature-card,
.zones-guide-page .zone-feature-card,
.zones-guide-page .pricing-chart-card,
.zones-guide-page .pricing-side-panel,
.zones-guide-page .travel-access-panel,
.zones-guide-page .zone-guidance-card {
  box-shadow: var(--lux-shadow-strong);
}

.home-flagship-page .value-card,
.home-flagship-page .zone-simple-card,
.home-flagship-page .travel-route-card,
.home-flagship-page .wildlife-species-card,
.home-flagship-page .pricing-card,
.about-guide-page .guide-highlight-card,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo),
.about-guide-page .guide-season-card,
.about-guide-page .guide-reason-card,
.zone-detail-page .zone-secondary-card,
.zone-detail-page .travel-route-card,
.content-guide-page .quick-stat-card,
.content-guide-page .route-city-card,
.content-guide-page .transport-mode-card,
.content-guide-page .base-zone-card,
.content-guide-page .timing-season-card,
.content-guide-page .comparison-focus-card,
.content-guide-page .cost-example-card,
.content-guide-page .plan-card,
.content-guide-page .wildlife-info-card,
.content-guide-page .spec-card,
.content-guide-page .season-recommend-card,
.content-guide-page .faq-category-card,
.content-guide-page .hotel-tier-card,
.content-guide-page .hotel-city-card,
.content-guide-page .related-topic-card,
.content-guide-page .chooser-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.home-flagship-page .value-card:hover,
.home-flagship-page .zone-simple-card:hover,
.home-flagship-page .travel-route-card:hover,
.home-flagship-page .wildlife-species-card:hover,
.about-guide-page .guide-highlight-card:hover,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo):hover,
.about-guide-page .guide-season-card:hover,
.about-guide-page .guide-reason-card:hover,
.zone-detail-page .zone-secondary-card:hover,
.zone-detail-page .travel-route-card:hover,
.content-guide-page .quick-stat-card:hover,
.content-guide-page .route-city-card:hover,
.content-guide-page .transport-mode-card:hover,
.content-guide-page .base-zone-card:hover,
.content-guide-page .timing-season-card:hover,
.content-guide-page .comparison-focus-card:hover,
.content-guide-page .cost-example-card:hover,
.content-guide-page .plan-card:hover,
.content-guide-page .wildlife-info-card:hover,
.content-guide-page .spec-card:hover,
.content-guide-page .season-recommend-card:hover,
.content-guide-page .faq-category-card:hover,
.content-guide-page .hotel-tier-card:hover,
.content-guide-page .hotel-city-card:hover,
.content-guide-page .related-topic-card:hover,
.content-guide-page .chooser-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 38px 72px -50px rgba(15, 28, 39, 0.38);
  border-color: rgba(197, 161, 90, 0.32);
}

.plan-card,
.wildlife-info-card,
.page-guide-visual-card,
.zone-feature-card,
.guide-masonry-card,
.guide-zone-card,
.guide-animal-card--photo,
.zone-simple-card,
.pricing-card,
.booking-hero-sidecard {
  border-radius: 1.6rem;
}

.content-guide-page .zone-section-head,
.zones-guide-page .zone-section-head,
.about-guide-page .guide-section-head,
.zone-detail-page .zone-section-head {
  margin-bottom: 3.6rem;
}

.content-guide-page .zone-section-head .values-title,
.zones-guide-page .values-title,
.about-guide-page .values-title,
.zone-detail-page .values-title,
.home-flagship-page .values-title {
  text-wrap: balance;
}

.page-guide-hero .hero-actions,
.zone-detail-hero .hero-actions,
.zones-guide-hero .hero-actions,
.guide-hero .guide-hero-actions,
.home-flagship-page .hero-actions {
  gap: 1rem;
}

.page-guide-hero .page-guide-visual-card,
.zone-detail-page .guide-hero-panel-card,
.zones-guide-page .zones-hero-visual-card,
.about-guide-page .guide-hero-panel-card,
.booking-page .booking-hero-sidecard {
  backdrop-filter: blur(10px);
}

.related-topic-card .zone-link,
.faq-category-card .zone-link,
.chooser-card .zone-link,
.home-flagship-page .footer-link-item,
.zones-guide-page .footer-link-item,
.about-guide-page .footer-link-item,
.content-guide-page .footer-link-item,
.zone-detail-page .footer-link-item {
  transition: transform 0.28s ease, color 0.28s ease;
}

.related-topic-card .zone-link:hover,
.faq-category-card .zone-link:hover,
.chooser-card .zone-link:hover,
.footer-link-item:hover {
  transform: translateX(3px);
}

.floating-whatsapp {
  box-shadow: 0 26px 42px -22px rgba(0, 0, 0, 0.36) !important;
}

.error-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(236, 216, 181, 0.14), transparent 20%),
    radial-gradient(circle at bottom right, rgba(109, 127, 79, 0.08), transparent 24%),
    linear-gradient(180deg, #132235 0%, #0d1827 100%);
}

.error-page-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
}

.error-page-panel {
  width: min(42rem, 100%);
  padding: 2.8rem 2.2rem;
  border-radius: 2rem;
  border: 1px solid rgba(231, 201, 140, 0.16);
  background: rgba(255, 252, 245, 0.08);
  box-shadow: 0 40px 80px -50px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(14px);
}

.error-page-brand {
  display: inline-flex;
  margin-bottom: 1.4rem;
}

.error-page-brand img {
  width: clamp(140px, 22vw, 200px);
}

.error-page-panel h1 {
  margin-bottom: 0.75rem;
  color: #fff7eb;
  font-size: clamp(4.4rem, 11vw, 7rem);
  line-height: 0.96;
}

.error-page-panel p,
.error-page-panel .hero-eyebrow {
  color: rgba(255, 247, 235, 0.86);
}

/********** Typography and spacing system refresh **********/
body,
p,
li,
small,
label,
input,
textarea,
select,
option,
table,
th,
td,
.btn,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .dropdown-item,
.accordion-button,
.accordion-body,
.value-title,
.zone-simple-body h3,
.guide-highlight-card h3,
.guide-animal-card h3,
.guide-zone-card h3,
.guide-season-card h3,
.guide-reason-card h3,
.booking-panel-title,
.booking-panel-subtitle,
.booking-feature-card strong,
.booking-feature-card p,
.quick-stat-card strong,
.route-city-card h3,
.transport-mode-card h3,
.base-zone-card h3,
.timing-season-card h3,
.comparison-focus-card h3,
.cost-example-card h3,
.plan-card-body h3,
.wildlife-info-card-body h3,
.spec-card strong,
.season-recommend-card h3,
.faq-category-card h3,
.hotel-tier-card h3,
.hotel-city-card h3,
.related-topic-card h3,
.chooser-card h3,
.guide-route-card h3,
.travel-route-card h3,
.footer-title,
.footer-copy,
.footer-link-item,
.footer-contact-item p,
.booking-direct-link,
.booking-contact-chip,
.booking-form-meta,
.booking-form-status {
  font-family: var(--font-body) !important;
}

h1,
h2,
.hero-title,
.guide-hero-title,
.about-heading,
.values-title,
.pricing-hero-title,
.final-cta-title,
.guide-section-head h2,
.guide-copy-block h2,
.page-guide-visual-copy h2,
.error-page-panel h1,
.booking-form-card h2,
.booking-support-panel h3,
.zone-guidance-card h2,
.route-city-card--wide h3 {
  font-family: var(--font-display) !important;
}

body {
  font-size: 16px;
  line-height: 1.75;
}

h1,
.hero-title,
.guide-hero-title,
.about-heading,
.error-page-panel h1 {
  font-size: var(--fs-h1);
  line-height: 0.96;
  font-weight: 700 !important;
}

h2,
.values-title,
.pricing-hero-title,
.final-cta-title,
.guide-section-head h2,
.guide-copy-block h2,
.booking-form-card h2,
.zone-guidance-card h2,
.page-guide-visual-copy h2 {
  font-size: var(--fs-h2);
  line-height: 1.06;
  font-weight: 700 !important;
}

h3,
.route-city-card h3,
.transport-mode-card h3,
.base-zone-card h3,
.timing-season-card h3,
.comparison-focus-card h3,
.cost-example-card h3,
.plan-card-body h3,
.wildlife-info-card-body h3,
.season-recommend-card h3,
.hotel-tier-card h3,
.hotel-city-card h3,
.related-topic-card h3,
.chooser-card h3,
.guide-route-card h3,
.travel-route-card h3 {
  font-size: var(--fs-h3);
  line-height: 1.16;
}

h4,
.value-title,
.zone-simple-body h3,
.guide-highlight-card h3,
.guide-animal-card h3,
.guide-zone-card h3,
.guide-season-card h3,
.guide-reason-card h3,
.booking-panel-title,
.booking-feature-card strong,
.quick-stat-card strong,
.spec-card strong,
.faq-category-card h3,
.footer-title,
.accordion-button {
  font-size: var(--fs-h4);
  line-height: 1.28;
  font-weight: 700 !important;
}

p,
li,
.section-intro,
.guide-copy-block p,
.guide-hero-copy,
.hero-text,
.zone-simple-copy,
.travel-route-card p,
.travel-access-item p,
.zone-guidance-card p,
.faq-accordion .accordion-body,
.guide-faq-accordion .accordion-body,
.route-city-card p,
.transport-mode-card p,
.hotel-tier-card p,
.hotel-city-card p,
.plan-card-body p,
.wildlife-info-card-body p,
.booking-panel-subtitle,
.booking-feature-card p,
.footer-copy,
.footer-contact-item p,
.cost-example-card span,
.quick-stat-card p,
.page-guide-visual-copy p {
  font-size: var(--fs-body);
  line-height: 1.82;
}

.hero-eyebrow,
.guide-kicker,
.guide-mini-label,
.guide-panel-label,
.values-eyebrow,
.travel-access-kicker,
.zone-summary-kicker,
.pricing-chart-kicker,
.zone-secondary-label,
.page-guide-visual-copy .zone-tag,
.plan-pill,
.hero-top-badge,
.booking-side-badges span,
.guide-zone-pill,
.guide-season-tag,
.spec-card span,
.season-recommend-card span,
.faq-category-card span,
.hotel-tier-card span,
.hotel-city-card span,
.related-topic-card span,
.chooser-card span,
.quick-stat-card span,
.cost-example-card span,
.route-mini-grid div span {
  font-size: var(--fs-label) !important;
  letter-spacing: 0.18em;
}

.btn,
.hero-btn,
.about-btn,
.contact-submit-btn,
.btn-secondary,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .dropdown-item,
.booking-direct-link,
.booking-contact-chip,
.footer-link-item {
  font-size: var(--fs-button) !important;
  font-weight: 700 !important;
}

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .dropdown-item {
  font-weight: 600 !important;
}

.accordion-button {
  font-size: clamp(1.125rem, 1.4vw, 1.25rem) !important;
  font-weight: 600 !important;
}

.accordion-body {
  font-size: 1rem !important;
}

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  max-width: 1260px;
}

.guide-section-head,
.values-heading,
.zone-section-head,
.faq-shell,
.section-title,
.page-guide-visual-copy,
.contact-intro,
.booking-intro {
  max-width: 52rem;
}

.guide-copy-block,
.about-text,
.zone-summary-copy,
.route-city-card--wide,
.page-guide-visual-copy,
.booking-form-card-head {
  max-width: 50rem;
}

.home-flagship-page main > .container-fluid,
.about-guide-page main > section,
.zones-guide-page main > section,
.zone-detail-page main > section,
.content-guide-page main > section,
.booking-page main > section {
  padding-top: var(--space-section) !important;
  padding-bottom: var(--space-section) !important;
}

#header-carousel,
.guide-hero,
.zones-guide-hero,
.zone-detail-hero,
.page-guide-hero,
.booking-page-hero {
  margin-bottom: 0;
}

#header-carousel .hero-shell,
.guide-hero-shell,
.zones-guide-hero-shell,
.zone-detail-hero-shell,
.page-guide-hero-shell,
.booking-page-hero-shell {
  padding-top: var(--space-hero-y) !important;
  padding-bottom: var(--space-hero-y) !important;
}

.home-rhythm-band,
.about-editorial-band,
.booking-contact-strip,
.zones-disclaimer-band,
.editorial-image-band {
  padding-top: var(--space-strip) !important;
  padding-bottom: var(--space-strip) !important;
}

.guide-section-head,
.values-heading,
.zone-section-head,
.section-title {
  margin-bottom: clamp(2.8rem, 5vw, 3.75rem) !important;
}

.hero-eyebrow,
.guide-kicker,
.guide-mini-label,
.values-eyebrow,
.travel-access-kicker,
.zone-summary-kicker,
.pricing-chart-kicker,
.zone-secondary-label,
.plan-pill,
.page-guide-visual-copy .zone-tag {
  margin-bottom: 0.85rem !important;
}

.hero-title,
.guide-hero-title,
.about-heading,
.values-title,
.guide-section-head h2,
.guide-copy-block h2,
.booking-form-card h2,
.zone-guidance-card h2,
.page-guide-visual-copy h2,
.route-city-card h3,
.transport-mode-card h3,
.timing-season-card h3,
.plan-card-body h3,
.wildlife-info-card-body h3,
.hotel-tier-card h3,
.hotel-city-card h3,
.faq-category-card h3,
.related-topic-card h3,
.chooser-card h3,
.guide-route-card h3,
.travel-route-card h3 {
  margin-bottom: 0.85rem;
}

.hero-text,
.guide-hero-copy,
.guide-copy-block p,
.section-intro,
.contact-intro p,
.booking-panel-subtitle,
.page-guide-visual-copy p {
  margin-bottom: 0;
}

.hero-actions,
.guide-hero-actions,
.about-actions,
.booking-form-actions,
.cta-actions,
.pricing-actions,
.booking-action-group {
  margin-top: clamp(1.75rem, 4vw, 2.25rem) !important;
}

.value-card,
.guide-highlight-card,
.guide-animal-card:not(.guide-animal-card--photo),
.guide-season-card,
.guide-reason-card,
.zone-secondary-card,
.travel-route-card,
.quick-stat-card,
.route-city-card,
.transport-mode-card,
.base-zone-card,
.timing-season-card,
.comparison-focus-card,
.cost-example-card,
.faq-category-card,
.hotel-tier-card,
.hotel-city-card,
.related-topic-card,
.chooser-card,
.booking-zone-help-card,
.booking-process-card,
.booking-support-panel,
.booking-form-card,
.travel-access-panel,
.zone-guidance-card,
.pricing-chart-card,
.pricing-side-panel,
.spec-card,
.season-recommend-card,
.plan-card,
.wildlife-info-card,
.guide-faq-accordion .accordion-item,
.faq-accordion .accordion-item {
  border-radius: var(--radius-card);
}

.zone-feature-card,
.page-guide-visual-card,
.guide-hero-panel-card,
.booking-hero-sidecard,
.booking-showcase-card,
.guide-intro-media img,
.guide-masonry-card,
.guide-zone-card,
.guide-animal-card--photo,
.zones-hero-visual-card,
.error-page-panel {
  border-radius: var(--radius-card-lg);
}

.btn,
.hero-btn,
.about-btn,
.contact-submit-btn,
.btn-secondary,
.hero-top-badge,
.booking-showcase-corner,
.booking-contact-chip,
.booking-direct-link {
  border-radius: var(--radius-button);
}

.value-card,
.guide-highlight-card,
.guide-animal-card:not(.guide-animal-card--photo),
.guide-season-card,
.guide-reason-card,
.zone-secondary-card,
.travel-route-card,
.quick-stat-card,
.route-city-card,
.transport-mode-card,
.base-zone-card,
.timing-season-card,
.comparison-focus-card,
.cost-example-card,
.faq-category-card,
.hotel-tier-card,
.hotel-city-card,
.related-topic-card,
.chooser-card,
.booking-zone-help-card,
.booking-process-card,
.spec-card,
.season-recommend-card,
.wildlife-info-card-body,
.plan-card-body {
  padding: clamp(1.15rem, 2vw, 1.8rem);
}

.booking-form-card,
.booking-support-panel,
.travel-access-panel,
.zone-guidance-card,
.pricing-chart-card,
.pricing-side-panel,
.guide-hero-panel-card {
  padding: clamp(1.35rem, 2.4vw, 2.2rem);
}

.booking-feature-grid,
.booking-trust-grid,
.booking-contact-strip-grid,
.guide-route-grid,
.travel-route-grid,
.editorial-image-grid,
.guide-masonry-grid {
  gap: clamp(1rem, 2vw, 1.8rem);
}

@media (max-width: 991.98px) {
  :root {
    --space-section: clamp(3.2rem, 8vw, 6rem);
    --space-hero-y: clamp(4.8rem, 11vw, 7rem);
  }

  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: 100%;
  }
}

@media (max-width: 767.98px) {
  :root {
    --fs-h1: clamp(2.5rem, 11vw, 3rem);
    --fs-h2: clamp(2.125rem, 8.6vw, 2.5rem);
    --fs-h3: clamp(1.5rem, 6.5vw, 1.75rem);
    --fs-h4: clamp(1.1875rem, 5.2vw, 1.375rem);
    --fs-body: clamp(0.9375rem, 4.3vw, 1rem);
    --fs-label: clamp(0.75rem, 3.4vw, 0.8125rem);
    --fs-button: clamp(0.8125rem, 3.7vw, 0.875rem);
    --space-section: clamp(3.4rem, 9vw, 4.4rem);
    --space-hero-y: clamp(4.8rem, 13vw, 6rem);
    --space-strip: clamp(2.8rem, 8vw, 3.8rem);
  }

  body {
    font-size: 15px;
  }

  .navbar-dark .navbar-nav .nav-link,
  .navbar-dark .dropdown-item {
    font-size: 0.95rem !important;
  }

  .hero-title,
  .guide-hero-title,
  .about-heading,
  .values-title,
  .guide-section-head h2,
  .guide-copy-block h2,
  .booking-form-card h2,
  .zone-guidance-card h2,
  .page-guide-visual-copy h2,
  .route-city-card h3,
  .transport-mode-card h3,
  .timing-season-card h3,
  .plan-card-body h3,
  .wildlife-info-card-body h3,
  .hotel-tier-card h3,
  .hotel-city-card h3,
  .faq-category-card h3,
  .related-topic-card h3,
  .chooser-card h3,
  .guide-route-card h3,
  .travel-route-card h3 {
    text-wrap: balance;
  }

  .section-intro,
  .guide-copy-block p,
  .guide-hero-copy,
  .hero-text,
  .zone-simple-copy,
  .travel-route-card p,
  .travel-access-item p,
  .zone-guidance-card p,
  .faq-accordion .accordion-body,
  .guide-faq-accordion .accordion-body,
  .route-city-card p,
  .transport-mode-card p,
  .hotel-tier-card p,
  .hotel-city-card p,
  .plan-card-body p,
  .wildlife-info-card-body p,
  .booking-panel-subtitle,
  .booking-feature-card p,
  .footer-copy,
  .footer-contact-item p,
  .page-guide-visual-copy p {
    line-height: 1.72;
  }
}

@media (max-width: 991.98px) {
  .page-guide-hero .hero-actions,
  .zone-detail-hero .hero-actions,
  .zones-guide-hero .hero-actions,
  .guide-hero .guide-hero-actions,
  .home-flagship-page .hero-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .editorial-image-grid--three {
    grid-template-columns: 1fr;
  }

  .editorial-image-card img {
    min-height: 15rem;
  }

  .error-page-panel {
    padding: 2rem 1.2rem;
    border-radius: 1.4rem;
  }

  .page-guide-hero .hero-actions,
  .zone-detail-hero .hero-actions,
  .zones-guide-hero .hero-actions,
  .guide-hero .guide-hero-actions,
  .home-flagship-page .hero-actions {
    justify-content: center;
  }

  .page-guide-hero .hero-actions .btn,
  .zone-detail-hero .hero-actions .btn,
  .zones-guide-hero .hero-actions .btn,
  .guide-hero .guide-hero-actions .btn,
  .home-flagship-page .hero-actions .btn,
  .error-page-panel .cta-actions .btn {
    width: 100%;
  }
}

/********** Highly visible redesign pass **********/
@media (min-width: 992px) {
  .navbar-dark,
  .inner-page .navbar-dark,
  .inner-page .sticky-top.navbar-dark {
    width: min(1320px, calc(100% - 2rem));
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    border: 1px solid rgba(231, 201, 140, 0.18);
    border-radius: 1.4rem;
    background:
      linear-gradient(180deg, rgba(17, 68, 28, 0.94) 0%, rgba(15, 83, 25, 0.92) 48%, rgba(12, 72, 22, 0.94) 100%) !important;
    box-shadow: 0 34px 70px -38px rgba(6, 10, 18, 0.55);
    backdrop-filter: blur(18px);
  }

  .sticky-top.navbar-dark {
    top: 0.75rem;
    background:
      linear-gradient(180deg, rgba(17, 68, 28, 0.94) 0%, rgba(15, 83, 25, 0.92) 48%, rgba(12, 72, 22, 0.94) 100%) !important;
    box-shadow: 0 26px 56px -34px rgba(5, 10, 18, 0.5);
  }

  .navbar-dark::before {
    position: absolute;
    content: "";
    inset: 0;
    border-radius: inherit;
    background:
      radial-gradient(circle at 12% 18%, rgba(231, 201, 140, 0.18), transparent 18%),
      linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0%, transparent 22%, transparent 78%, rgba(255, 255, 255, 0.04) 100%);
    pointer-events: none;
  }

  .navbar-dark .navbar-nav {
    align-items: center;
  }
}

.navbar-dark .navbar-brand {
  position: relative;
  z-index: 1;
}

.navbar-dark .navbar-nav .nav-link {
  position: relative;
  z-index: 1;
  margin-left: 1rem;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  border-radius: 0.95rem;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.sticky-top.navbar-dark .navbar-nav .nav-link:hover,
.sticky-top.navbar-dark .navbar-nav .nav-link.active {
  color: #fff7eb !important;
  background: transparent;
}

.navbar-dark .navbar-nav .nav-link::before {
  display: none;
}

.navbar-dark .navbar-nav .nav-link.active::after,
.navbar-dark .navbar-nav .dropdown-toggle.active::after {
  position: absolute;
  content: "";
  left: 50%;
  bottom: -0.2rem;
  width: 2rem;
  height: 2px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(231, 201, 140, 0), rgba(231, 201, 140, 1), rgba(231, 201, 140, 0));
}

.navbar-dark .dropdown-menu {
  min-width: 19rem;
  padding: 0.75rem;
  border: 1px solid rgba(231, 201, 140, 0.18);
  border-radius: 1.25rem;
  background:
    linear-gradient(180deg, rgba(255, 252, 245, 0.98) 0%, rgba(244, 236, 224, 0.96) 100%);
  box-shadow: 0 30px 60px -34px rgba(15, 26, 38, 0.36);
}

.navbar-dark .dropdown-item {
  padding: 0.95rem 1rem;
  border-radius: 1rem;
}

.navbar-dark .dropdown-item:hover,
.navbar-dark .dropdown-item:focus,
.navbar-dark .dropdown-item.active {
  background: linear-gradient(135deg, rgba(23, 52, 83, 0.08), rgba(197, 161, 90, 0.14));
}

#header-carousel .carousel-inner,
#header-carousel .carousel-item,
#header-carousel .hero-slide,
#header-carousel .carousel-caption {
  height: min(96svh, 60rem);
  min-height: 46rem;
}

#header-carousel .hero-slide-image {
  opacity: 0.62;
  filter: saturate(0.82) contrast(1.05) brightness(0.72);
  transform: scale(1.12);
}

#header-carousel .hero-shell,
.zones-guide-hero-shell,
.zone-detail-hero-shell,
.guide-hero-shell,
.page-guide-hero-shell,
.booking-page-hero-shell {
  padding-top: clamp(8rem, 14vh, 10rem) !important;
  padding-bottom: clamp(6rem, 12vh, 8rem) !important;
}

.hero-content,
.guide-hero-shell .row,
.page-guide-hero-shell .row,
.zone-detail-hero-shell .row,
.zones-guide-hero-shell .row {
  position: relative;
  z-index: 1;
}

.hero-title,
.guide-hero-title {
  letter-spacing: -0.035em;
  text-shadow: 0 30px 60px rgba(0, 0, 0, 0.36);
}

.hero-title {
  font-size: clamp(3rem, 6vw, 5.8rem);
}

.guide-hero-title {
  font-size: clamp(2.9rem, 5.4vw, 5.4rem);
}

.hero-eyebrow,
.guide-kicker {
  margin-bottom: 1.2rem;
  letter-spacing: 0.36em;
}

.hero-divider,
.guide-hero-divider,
.zones-guide-divider,
.zone-detail-hero-divider {
  width: 6.5rem;
  height: 3px;
  border-radius: 999px;
  box-shadow: 0 0 0 8px rgba(231, 201, 140, 0.05);
}

.hero-text,
.guide-hero-copy {
  font-size: clamp(1.02rem, 1.4vw, 1.16rem);
}

.guide-chip,
.zone-summary-pills span,
.booking-side-badges span,
.guide-zone-pill,
.guide-season-tag,
.plan-pill,
.zone-tag,
.zone-secondary-label {
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.guide-chip {
  padding: 0.95rem 1.15rem;
  border-radius: 999px;
  background: rgba(9, 24, 39, 0.46);
  border-color: rgba(231, 201, 140, 0.35);
}

.hero-btn,
.about-btn,
.contact-submit-btn,
.btn-secondary {
  min-height: 3.85rem;
  border-radius: 1rem;
  font-size: 0.82rem;
  letter-spacing: 0.16em;
}

.hero-btn-primary,
.about-btn,
.contact-submit-btn {
  background: linear-gradient(135deg, #f0d8a4 0%, #c89a54 100%) !important;
  border-color: rgba(240, 216, 164, 0.8) !important;
  color: #111822 !important;
}

.hero-btn-outline,
.btn-secondary {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(231, 201, 140, 0.45);
}

.hero-btn-primary:hover,
.about-btn:hover,
.contact-submit-btn:hover {
  background: linear-gradient(135deg, #f6e4bc 0%, #d2a96b 100%) !important;
}

.zones-guide-hero::after,
.zone-detail-hero::after,
.page-guide-hero::after,
.guide-hero::after,
#header-carousel::after,
.booking-page-hero::after {
  position: absolute;
  content: "";
  right: clamp(1rem, 4vw, 4rem);
  top: clamp(6rem, 12vh, 8rem);
  width: clamp(10rem, 16vw, 16rem);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(231, 201, 140, 0.18);
  background: radial-gradient(circle, rgba(231, 201, 140, 0.08) 0%, rgba(231, 201, 140, 0) 68%);
  box-shadow: 0 0 0 28px rgba(231, 201, 140, 0.03);
  pointer-events: none;
}

.page-guide-visual-card,
.zones-hero-visual-card,
.booking-hero-sidecard,
.guide-hero-panel-card,
.zone-detail-hero-panel-card {
  border-radius: 1.85rem;
  overflow: hidden;
}

.page-guide-visual-copy,
.zones-hero-visual-copy,
.booking-hero-sidecard-body {
  padding: 1.7rem 1.7rem 1.8rem;
}

.home-flagship-page main > .container-fluid:nth-child(even),
.about-guide-page main > section:nth-child(even),
.zones-guide-page main > section:nth-child(even):not(.zones-guide-hero),
.zone-detail-page main > section:nth-child(even):not(.zone-detail-hero):not(.zone-page-hero),
.content-guide-page main > section:nth-child(even):not(.page-guide-hero),
.booking-page main > section:nth-child(even):not(.booking-page-hero) {
  background:
    linear-gradient(180deg, rgba(255, 252, 245, 0.72) 0%, rgba(246, 239, 226, 0.72) 100%);
}

.home-flagship-page main > .container-fluid:nth-child(odd),
.about-guide-page main > section:nth-child(odd),
.zones-guide-page main > section:nth-child(odd):not(.zones-guide-hero),
.zone-detail-page main > section:nth-child(odd):not(.zone-detail-hero):not(.zone-page-hero),
.content-guide-page main > section:nth-child(odd):not(.page-guide-hero),
.booking-page main > section:nth-child(odd):not(.booking-page-hero) {
  background:
    linear-gradient(180deg, rgba(244, 241, 236, 0.28) 0%, rgba(236, 226, 207, 0.18) 100%);
}

.container.py-5,
.container.zone-shell,
.footer-shell {
  max-width: 1280px;
}

.value-card,
.zone-simple-card,
.guide-highlight-card,
.guide-animal-card:not(.guide-animal-card--photo),
.guide-season-card,
.guide-reason-card,
.zone-secondary-card,
.travel-route-card,
.quick-stat-card,
.route-city-card,
.transport-mode-card,
.base-zone-card,
.timing-season-card,
.comparison-focus-card,
.cost-example-card,
.plan-card,
.wildlife-info-card,
.spec-card,
.season-recommend-card,
.faq-category-card,
.hotel-tier-card,
.hotel-city-card,
.related-topic-card,
.chooser-card,
.booking-zone-help-card,
.booking-process-card,
.booking-support-panel,
.booking-form-card,
.travel-access-panel,
.zone-guidance-card,
.pricing-chart-card,
.pricing-side-panel,
.guide-faq-accordion .accordion-item,
.faq-accordion .accordion-item,
.guide-intro-floating,
.guide-timeline-item {
  border-radius: 1.55rem;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(246, 240, 229, 0.98) 100%);
  border: 1px solid rgba(197, 161, 90, 0.16);
  box-shadow: 0 30px 62px -44px rgba(18, 30, 48, 0.26);
}

.value-card,
.guide-highlight-card,
.guide-animal-card:not(.guide-animal-card--photo),
.guide-season-card,
.guide-reason-card,
.zone-secondary-card,
.quick-stat-card,
.route-city-card,
.transport-mode-card,
.base-zone-card,
.timing-season-card,
.comparison-focus-card,
.cost-example-card,
.faq-category-card,
.hotel-tier-card,
.hotel-city-card,
.related-topic-card,
.chooser-card,
.booking-zone-help-card,
.booking-process-card {
  padding: 1.65rem;
}

.value-icon,
.guide-highlight-icon,
.guide-animal-icon,
.guide-route-icon,
.guide-reason-card i,
.transport-mode-icon,
.travel-route-icon,
.booking-mini-icon,
.booking-feature-icon,
.contact-reassurance-icon {
  box-shadow: 0 20px 36px -24px rgba(16, 29, 43, 0.42);
}

.value-title,
.guide-highlight-card h3,
.guide-animal-card h3,
.guide-reason-card h3,
.guide-season-card h3,
.zone-secondary-card h3,
.zone-secondary-card h4,
.plan-card-body h3,
.wildlife-info-card-body h3,
.timing-season-card h3,
.faq-category-card h3,
.hotel-tier-card h3,
.hotel-city-card h3,
.related-topic-card h3,
.chooser-card h3 {
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  line-height: 1.18;
}

.plan-card img,
.wildlife-info-card img,
.zone-simple-media,
.zones-hero-image {
  min-height: 15rem;
}

.pricing-chart-table th {
  background: rgba(23, 52, 83, 0.04);
}

.pricing-chart-table td,
.pricing-chart-table th {
  padding-top: 1.15rem;
  padding-bottom: 1.15rem;
}

.faq-accordion .accordion-button,
.guide-faq-accordion .accordion-button {
  padding: 1.35rem 1.4rem;
  font-size: 1.02rem;
}

.faq-accordion .accordion-button:not(.collapsed),
.guide-faq-accordion .accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, rgba(231, 222, 204, 0.88), rgba(240, 228, 206, 0.92));
}

.final-cta-band,
.guide-cinematic-cta {
  overflow: hidden;
}

.final-cta-overlay,
.guide-cinematic-cta-overlay {
  background:
    linear-gradient(180deg, rgba(8, 12, 18, 0.54) 0%, rgba(8, 12, 18, 0.84) 100%),
    radial-gradient(circle at top right, rgba(231, 201, 140, 0.18), transparent 22%),
    radial-gradient(circle at bottom left, rgba(109, 127, 79, 0.18), transparent 22%);
}

.final-cta-content,
.guide-cinematic-cta .container {
  position: relative;
  z-index: 1;
}

.final-cta-content::before,
.guide-cinematic-cta .container::before {
  position: absolute;
  content: "";
  left: 50%;
  top: 50%;
  width: min(38rem, 88vw);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(231, 201, 140, 0.12);
  box-shadow: 0 0 0 32px rgba(231, 201, 140, 0.03), 0 0 0 76px rgba(231, 201, 140, 0.02);
  pointer-events: none;
}

.final-cta-title,
.guide-cinematic-cta h2 {
  font-size: clamp(2.6rem, 5vw, 4.8rem);
  line-height: 1.04;
  text-wrap: balance;
}

.cta-copy {
  max-width: 52rem;
  font-size: 1.04rem;
}

.page-guide-hero .page-guide-visual-card:hover,
.zones-guide-page .zones-hero-visual-card:hover,
.booking-page .booking-hero-sidecard:hover,
.guide-hero-panel-card:hover,
.plan-card:hover,
.wildlife-info-card:hover,
.related-topic-card:hover,
.faq-category-card:hover,
.hotel-tier-card:hover,
.hotel-city-card:hover,
.chooser-card:hover {
  transform: translateY(-7px) scale(1.01);
}

.page-blank {
  padding-top: clamp(6rem, 12vw, 9rem);
  padding-bottom: clamp(6rem, 12vw, 9rem);
}

@media (max-width: 991.98px) {
  .navbar-dark,
  .sticky-top.navbar-dark,
  .navbar-dark .offcanvas {
    border-radius: 0;
  }

  .navbar-dark .offcanvas {
    background: var(--secondary) !important;
  }

  #header-carousel .carousel-inner,
  #header-carousel .carousel-item,
  #header-carousel .hero-slide,
  #header-carousel .carousel-caption {
    min-height: 40rem;
  }
}

/********** Single-shade header correction **********/
.navbar-dark,
.sticky-top.navbar-dark,
.inner-page .navbar-dark,
.inner-page .sticky-top.navbar-dark {
  background: var(--secondary) !important;
  background-image: none !important;
}

.navbar-dark::before {
  display: none !important;
}

/********** About hero reference match **********/
.about-guide-page {
  background: #fbf6e9;
}

.about-guide-page .guide-hero {
  background: #fbf6e9 !important;
}

.about-guide-page .guide-hero::before,
.about-guide-page .guide-hero::after {
  display: none !important;
}

.about-guide-page .guide-hero-overlay {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 252, 240, 0.92) 0%, rgba(255, 252, 240, 0.2) 32%, transparent 56%),
    radial-gradient(circle at 86% 18%, rgba(199, 172, 111, 0.14), transparent 20%),
    linear-gradient(180deg, #fff9ed 0%, #f8efd9 100%) !important;
}

.about-guide-page .guide-hero-overlay::after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: -1px;
  height: clamp(9rem, 17vw, 16rem);
  background:
    linear-gradient(180deg, rgba(251, 246, 233, 0) 0%, rgba(251, 246, 233, 0.68) 74%, rgba(251, 246, 233, 0.95) 100%),
    url("../img/featured/rajaji-forest-trail.avif") center bottom / cover no-repeat;
  opacity: 0.24;
  filter: saturate(0.85) sepia(0.12);
  pointer-events: none;
  z-index: 0;
}

.about-guide-page .guide-hero-shell {
  position: relative;
  z-index: 2;
  width: min(1360px, calc(100% - 3rem));
  padding-top: clamp(2.1rem, 4vh, 3rem) !important;
  padding-bottom: clamp(3.25rem, 6vh, 4.75rem) !important;
}

.about-guide-page .guide-hero .wow {
  visibility: visible !important;
}

.about-guide-page .guide-hero-shell .row {
  --bs-gutter-x: clamp(3.5rem, 7vw, 7.25rem);
}

.about-guide-page .guide-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #385b2e !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(0.78rem, 0.9vw, 0.92rem);
  font-weight: 700;
  letter-spacing: 0.24em;
}

.about-guide-page .guide-kicker i {
  color: #4f7138;
  font-size: 0.9em;
}

.about-hero-title-frame {
  gap: 1.35rem;
  max-width: 45rem;
  margin-top: 1.25rem;
}

.about-hero-line {
  position: relative;
  width: 4.15rem;
  height: 2px;
  background: #a9772d !important;
}

.about-hero-line:last-child::after {
  position: absolute;
  content: "";
  right: -0.65rem;
  top: 50%;
  width: 0.28rem;
  height: 0.28rem;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #a9772d;
}

.about-hero-title {
  max-width: 45rem !important;
  color: #173b22 !important;
  font-size: clamp(4rem, 6.35vw, 6.35rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em;
}

.about-hero-copy {
  max-width: 39.5rem !important;
  margin-top: 1.9rem;
  color: rgba(56, 55, 48, 0.84) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(1.04rem, 1.2vw, 1.18rem) !important;
  line-height: 1.72 !important;
}

.about-guide-page .guide-hero-actions {
  gap: 1.45rem;
  margin-top: 2.05rem;
}

.about-guide-page .guide-hero .hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: clamp(13.8rem, 16vw, 16.25rem);
  min-height: 4.18rem;
  padding: 1rem 1.65rem;
  border-radius: 0.66rem;
  font-family: "Poppins", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.about-guide-page .guide-hero .hero-btn i {
  font-size: 1.18rem;
}

.about-guide-page .guide-hero .hero-btn-primary {
  background: linear-gradient(180deg, #164b25 0%, #0f3d1c 100%) !important;
  border-color: #164b25 !important;
  color: #fffaf0 !important;
  box-shadow: 0 22px 42px -28px rgba(20, 64, 31, 0.7);
}

.about-guide-page .guide-hero .hero-btn-outline {
  background: rgba(255, 252, 245, 0.58) !important;
  border: 1px solid #a9772d !important;
  color: #9d712d !important;
  box-shadow: none;
}

.about-hero-pill-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  max-width: 43rem;
  margin-top: 2.35rem;
}

.about-hero-pill {
  min-height: 4.78rem;
  padding: 0.85rem 1.15rem;
  border-radius: 0.82rem;
  border-color: rgba(169, 119, 45, 0.12);
  background: rgba(255, 252, 245, 0.78);
  box-shadow: 0 18px 34px -28px rgba(49, 40, 25, 0.42);
  color: #153921;
  font-size: 0.96rem;
  line-height: 1.35;
}

.about-hero-pill i {
  min-width: 1.7rem;
  color: #a77a32 !important;
  font-size: 1.5rem;
  text-align: center;
}

.about-hero-visual-wrap {
  position: relative;
  padding-left: 0;
}

.about-hero-image-card {
  min-height: clamp(40rem, 58vw, 56rem);
  border-radius: 1.8rem;
  box-shadow: 0 34px 70px -48px rgba(35, 27, 12, 0.4);
}

.about-hero-image-card img {
  display: block;
  filter: saturate(1.06) contrast(1.02) brightness(1.02);
  object-position: center center;
}

.about-hero-location-card {
  right: -2.9rem;
  top: 10.9rem;
  width: min(20.5rem, 48vw);
  gap: 1.3rem;
  padding: 1.8rem 1.75rem;
  border-radius: 1.35rem;
  background: rgba(255, 252, 245, 0.93);
  border-color: rgba(169, 119, 45, 0.1);
  box-shadow: 0 24px 52px -38px rgba(49, 40, 25, 0.38);
}

.about-hero-location-icon {
  width: 3.8rem;
  height: 3.8rem;
  background: linear-gradient(180deg, #174b25 0%, #0c3b19 100%);
}

.about-hero-location-icon i {
  font-size: 1.35rem;
}

.about-hero-location-card strong {
  color: #153921;
  font-size: clamp(1.14rem, 1.45vw, 1.36rem);
  line-height: 1.45;
}

.about-hero-birds {
  position: absolute;
  top: clamp(7rem, 11vh, 8.8rem);
  left: 43%;
  display: flex;
  gap: 1.25rem;
  color: rgba(115, 105, 83, 0.28);
  font-size: clamp(1.15rem, 1.9vw, 1.75rem);
  transform: rotate(-3deg);
  z-index: 1;
  pointer-events: none;
}

.about-hero-birds i:nth-child(2),
.about-hero-birds i:nth-child(4) {
  transform: translateY(-1.1rem) scale(0.86);
}

.about-hero-leaves {
  position: absolute;
  color: rgba(72, 95, 54, 0.58);
  z-index: 1;
  pointer-events: none;
}

.about-hero-leaves i {
  position: absolute;
  display: block;
  filter: drop-shadow(0 8px 14px rgba(47, 69, 38, 0.08));
}

.about-hero-leaves--top {
  left: -0.5rem;
  top: -0.75rem;
  width: 9rem;
  height: 8rem;
  transform: rotate(-25deg);
  font-size: 2.1rem;
}

.about-hero-leaves--top i:nth-child(1) { left: 0.2rem; top: 0.9rem; transform: rotate(22deg); }
.about-hero-leaves--top i:nth-child(2) { left: 3rem; top: 1.7rem; transform: rotate(68deg); }
.about-hero-leaves--top i:nth-child(3) { left: 5.25rem; top: 3.2rem; transform: rotate(118deg); }
.about-hero-leaves--top i:nth-child(4) { left: 2.35rem; top: 5rem; transform: rotate(156deg); }

.about-hero-leaves--right {
  right: 0.75rem;
  bottom: 12.5rem;
  width: 4rem;
  height: 8rem;
  color: rgba(169, 119, 45, 0.08);
  font-size: 2rem;
}

.about-hero-leaves--right i:nth-child(1) { right: 0.2rem; top: 0; transform: rotate(-18deg); }
.about-hero-leaves--right i:nth-child(2) { right: 1rem; top: 2.6rem; transform: rotate(22deg); }
.about-hero-leaves--right i:nth-child(3) { right: 0; top: 5.4rem; transform: rotate(-8deg); }

@media (max-width: 1199.98px) {
  .about-guide-page .guide-hero-shell {
    width: min(100%, calc(100% - 2rem));
  }

  .about-hero-title {
    font-size: clamp(3.4rem, 7vw, 5.3rem) !important;
  }

  .about-hero-location-card {
    right: 1rem;
  }
}

@media (max-width: 991.98px) {
  .about-guide-page .guide-hero-shell {
    padding-top: 6.5rem !important;
  }

  .about-guide-page .guide-hero-shell .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 2.25rem;
  }

  .about-hero-title {
    max-width: 42rem !important;
  }

  .about-hero-pill-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 34rem;
  }

  .about-hero-image-card {
    min-height: 34rem;
  }

  .about-hero-location-card {
    position: absolute;
    right: 1rem;
    top: 2rem;
    width: min(19rem, calc(100% - 2rem));
  }

  .about-hero-birds {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .about-guide-page .guide-hero-shell {
    width: min(100%, calc(100% - 1.25rem));
    padding-top: 5.8rem !important;
  }

  .about-hero-title {
    max-width: 100% !important;
    font-size: clamp(2.85rem, 14vw, 4.1rem) !important;
  }

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

  .about-guide-page .guide-hero-actions {
    gap: 0.8rem;
  }

  .about-guide-page .guide-hero .hero-btn {
    width: 100%;
  }

  .about-hero-pill-grid {
    grid-template-columns: 1fr 1fr;
  }

  .about-hero-pill {
    min-height: 4.2rem;
    padding: 0.75rem 0.85rem;
    font-size: 0.86rem;
  }

  .about-hero-pill i {
    font-size: 1.25rem;
  }

  .about-hero-image-card {
    min-height: 27rem;
    border-radius: 1.45rem;
  }

  .about-hero-location-card {
    position: static;
    width: 100%;
    margin-top: 1rem;
  }

  .about-hero-leaves--top {
    opacity: 0.45;
    transform: rotate(-25deg) scale(0.72);
    transform-origin: top left;
  }
}

@media (max-width: 767.98px) {
  .hero-title,
  .guide-hero-title,
  .final-cta-title,
  .guide-cinematic-cta h2 {
    font-size: clamp(2.35rem, 10vw, 3.2rem);
  }

  .value-card,
  .guide-highlight-card,
  .guide-animal-card:not(.guide-animal-card--photo),
  .guide-season-card,
  .guide-reason-card,
  .zone-secondary-card,
  .quick-stat-card,
  .route-city-card,
  .transport-mode-card,
  .base-zone-card,
  .timing-season-card,
  .comparison-focus-card,
  .cost-example-card,
  .faq-category-card,
  .hotel-tier-card,
  .hotel-city-card,
  .related-topic-card,
  .chooser-card,
  .booking-zone-help-card,
  .booking-process-card {
    padding: 1.25rem;
    border-radius: 1.25rem;
  }
}

/********** Flagship three-page bold pass **********/
.hero-shell--split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 24rem);
  gap: 2rem;
  align-items: end;
}

.hero-content--left {
  text-align: left;
}

.hero-content--left .hero-text,
.hero-content--left .hero-actions {
  margin-left: 0;
  justify-content: flex-start;
}

.hero-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-bottom: 1.15rem;
}

.hero-top-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 247, 235, 0.12);
  border: 1px solid rgba(231, 201, 140, 0.26);
  color: #fff7eb;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero-side-stack {
  display: grid;
  gap: 1rem;
  align-self: center;
}

.hero-side-panel {
  padding: 1.35rem 1.4rem;
  border-radius: 1.5rem;
}

.hero-side-panel--glass {
  background: rgba(255, 250, 242, 0.12);
  border: 1px solid rgba(231, 201, 140, 0.18);
  backdrop-filter: blur(14px);
  box-shadow: 0 28px 58px -38px rgba(0, 0, 0, 0.32);
}

.hero-side-panel small {
  display: block;
  margin-bottom: 0.6rem;
  color: rgba(247, 240, 227, 0.76);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.hero-side-panel strong {
  color: #fff7eb;
  font-family: "Merriweather", serif;
  font-size: 1.25rem;
  line-height: 1.5;
}

.hero-side-metrics {
  display: grid;
  gap: 0.9rem;
}

.hero-side-metrics div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 1rem 1.2rem;
  border-radius: 1.35rem;
  background: linear-gradient(135deg, rgba(255, 252, 245, 0.94), rgba(240, 231, 213, 0.92));
  box-shadow: 0 24px 48px -38px rgba(10, 17, 28, 0.28);
}

.hero-side-metrics span {
  color: #12253d;
  font-family: "Merriweather", serif;
  font-size: 1.55rem;
}

.hero-side-metrics small {
  color: rgba(18, 37, 61, 0.68);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: right;
}

.home-rhythm-band {
  position: relative;
  z-index: 2;
  margin-top: -2.8rem;
  padding-bottom: 2.2rem;
}

.home-rhythm-shell {
  max-width: 1200px;
}

.home-rhythm-track {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  padding: 1.15rem 1.35rem;
  border: 1px solid rgba(231, 201, 140, 0.2);
  border-radius: 999px;
  background: rgba(255, 251, 244, 0.86);
  box-shadow: 0 28px 54px -42px rgba(15, 24, 36, 0.22);
  backdrop-filter: blur(12px);
  color: #173528;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.guide-hero-stage {
  position: relative;
  min-height: 100%;
  padding-left: 2rem;
}

.guide-hero-gallery {
  position: relative;
  min-height: 35rem;
}

.guide-hero-gallery-main,
.guide-hero-gallery-secondary {
  margin: 0;
  overflow: hidden;
  border-radius: 1.7rem;
  box-shadow: 0 34px 68px -46px rgba(11, 18, 29, 0.35);
}

.guide-hero-gallery-main {
  width: 78%;
  height: 28rem;
}

.guide-hero-gallery-secondary {
  position: absolute;
  right: 0;
  bottom: 1rem;
  width: 46%;
  height: 13rem;
  border: 6px solid rgba(255, 248, 238, 0.9);
}

.guide-hero-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guide-hero-quote-card {
  position: absolute;
  left: 2rem;
  bottom: -1.3rem;
  width: min(18rem, 72%);
  padding: 1.15rem 1.2rem;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, rgba(255, 252, 245, 0.96), rgba(239, 228, 203, 0.95));
  box-shadow: 0 26px 54px -38px rgba(18, 30, 48, 0.28);
}

.guide-hero-quote-card small {
  display: block;
  margin-bottom: 0.45rem;
  color: #8c652b;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.guide-hero-quote-card strong {
  color: #12253d;
  font-family: "Merriweather", serif;
  font-size: 1.02rem;
  line-height: 1.6;
}

.guide-hero-panel--overlay {
  position: absolute;
  right: 0;
  top: 2rem;
  width: min(18rem, 48%);
  padding: 0;
}

.about-editorial-band {
  margin-top: -0.8rem;
  padding-bottom: 2rem;
}

.about-editorial-shell {
  max-width: 1160px;
}

.about-editorial-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.about-editorial-track span {
  display: grid;
  place-items: center;
  min-height: 5.2rem;
  padding: 1rem;
  border-radius: 1.25rem;
  background: linear-gradient(180deg, rgba(255, 251, 244, 0.96), rgba(238, 229, 211, 0.92));
  box-shadow: 0 22px 46px -38px rgba(15, 24, 36, 0.22);
  color: #173528;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
}

.booking-hero-stage {
  position: relative;
  padding-bottom: 1.4rem;
}

.booking-hero-sidecard--large {
  transform: rotate(-2deg);
}

.booking-hero-floating-card {
  position: absolute;
  right: -0.5rem;
  bottom: 0;
  width: min(15rem, 70%);
  padding: 1rem 1.05rem;
  border-radius: 1.2rem;
  background: linear-gradient(135deg, rgba(255, 252, 245, 0.96), rgba(239, 228, 203, 0.95));
  box-shadow: 0 24px 52px -36px rgba(18, 30, 48, 0.28);
}

.booking-hero-floating-card small {
  display: block;
  margin-bottom: 0.35rem;
  color: #8c652b;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.booking-hero-floating-card strong {
  color: #12253d;
  font-family: "Merriweather", serif;
  font-size: 1rem;
  line-height: 1.5;
}

.booking-hero-signalbar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 1.7rem;
}

.booking-hero-signalbar div {
  padding: 1rem 1rem 0.95rem;
  border-radius: 1.2rem;
  background: rgba(255, 247, 235, 0.09);
  border: 1px solid rgba(231, 201, 140, 0.16);
  backdrop-filter: blur(10px);
}

.booking-hero-signalbar strong {
  display: block;
  margin-bottom: 0.3rem;
  color: #fff7eb;
  font-size: 0.86rem;
}

.booking-hero-signalbar span {
  color: rgba(255, 247, 235, 0.74);
  font-size: 0.78rem;
  line-height: 1.55;
}

.booking-contact-strip--elevated {
  position: relative;
  z-index: 2;
  margin-top: -2.1rem;
}

.booking-contact-strip--elevated .booking-contact-strip-grid {
  padding: 0.7rem;
  border-radius: 1.55rem;
  background: rgba(255, 252, 245, 0.9);
  box-shadow: 0 30px 64px -44px rgba(15, 24, 36, 0.28);
}

.booking-main-panel--framed {
  position: relative;
}

.booking-main-panel--framed::after {
  position: absolute;
  content: "";
  left: 50%;
  top: 2rem;
  width: min(1280px, calc(100% - 2rem));
  height: calc(100% - 4rem);
  transform: translateX(-50%);
  border-radius: 2rem;
  border: 1px solid rgba(197, 161, 90, 0.12);
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.34), rgba(255, 252, 245, 0.08));
  pointer-events: none;
}

@media (max-width: 1199.98px) {
  .hero-shell--split {
    grid-template-columns: 1fr;
  }

  .hero-side-stack {
    width: min(32rem, 100%);
  }

  .guide-hero-stage {
    padding-left: 0;
  }

  .guide-hero-panel--overlay {
    position: static;
    width: 100%;
    margin-top: 1rem;
  }

  .guide-hero-gallery-main {
    width: 86%;
  }
}

@media (max-width: 991.98px) {
  .hero-content--left,
  .hero-content--left .hero-text,
  .hero-content--left .hero-actions {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
  }

  .hero-badge-row {
    justify-content: center;
  }

  .hero-side-stack {
    width: 100%;
  }

  .guide-hero-gallery {
    min-height: auto;
    padding-bottom: 2rem;
  }

  .guide-hero-gallery-main {
    width: 100%;
    height: 24rem;
  }

  .guide-hero-gallery-secondary {
    width: 42%;
    height: 11rem;
  }

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

  .booking-hero-signalbar {
    grid-template-columns: 1fr;
  }

  .booking-hero-floating-card {
    right: 0.5rem;
  }
}

@media (max-width: 767.98px) {
  #header-carousel .carousel-inner,
  #header-carousel .carousel-item,
  #header-carousel .hero-slide,
  #header-carousel .carousel-caption {
    min-height: 33rem;
  }

  .hero-shell--split {
    gap: 1rem;
    align-items: center;
  }

  .hero-side-stack {
    display: none;
  }

  .hero-badge-row {
    gap: 0.55rem;
    margin-bottom: 0.8rem;
  }

  .hero-badge-row .hero-top-badge:nth-child(n+2) {
    display: none;
  }

  .hero-top-badge {
    padding: 0.5rem 0.8rem;
    font-size: 0.7rem;
    letter-spacing: 0.11em;
  }

  #header-carousel .hero-eyebrow {
    max-width: 18rem;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.78rem;
    letter-spacing: 0.22em;
  }

  #header-carousel .hero-title {
    font-size: clamp(2.15rem, 8.5vw, 3rem);
    line-height: 0.94;
    max-width: 16rem;
    margin-left: auto;
    margin-right: auto;
  }

  #header-carousel .hero-text {
    max-width: 19rem;
    font-size: 0.98rem;
    line-height: 1.65;
    margin-left: auto;
    margin-right: auto;
  }

  #header-carousel .hero-text-secondary {
    display: none;
  }

  #header-carousel .hero-divider {
    margin-top: 0.95rem;
    margin-bottom: 1rem;
  }

  #header-carousel .hero-actions {
    margin-top: 1.1rem;
  }

  #header-carousel .hero-actions .btn {
    max-width: 19rem;
    margin-left: auto;
    margin-right: auto;
  }

  .wow {
    visibility: visible !important;
  }

  .hero-side-metrics {
    grid-template-columns: 1fr;
  }

  .home-rhythm-band {
    margin-top: -1.4rem;
  }

  .home-rhythm-track {
    border-radius: 1.25rem;
    gap: 0.6rem;
    font-size: 0.72rem;
  }

  .guide-hero-gallery-main {
    height: 18rem;
  }

  .guide-hero-gallery-secondary {
    position: static;
    width: 58%;
    margin: -3rem 0 0 auto;
    height: 8rem;
  }

  .guide-hero-quote-card {
    position: static;
    width: 100%;
    margin-top: 1rem;
  }

  .about-editorial-track {
    grid-template-columns: 1fr;
  }

  .booking-hero-stage {
    padding-bottom: 0;
  }

  .booking-hero-sidecard--large {
    transform: none;
  }

  .booking-hero-floating-card {
    position: static;
    width: 100%;
    margin-top: 1rem;
  }

  .booking-contact-strip--elevated {
    margin-top: -1rem;
  }
}

/********** Remaining internal pages bold extension **********/
.zones-guide-page .zones-guide-hero,
.zone-detail-page .zone-detail-hero,
.content-guide-page .page-guide-hero {
  overflow: visible;
}

.zones-guide-page .zones-guide-hero-shell,
.zone-detail-page .zone-detail-hero-shell,
.content-guide-page .page-guide-hero-shell {
  padding-top: clamp(8.2rem, 14vh, 10.2rem) !important;
  padding-bottom: clamp(6.4rem, 12vh, 8.4rem) !important;
}

.zones-guide-page .zones-guide-hero-shell {
  padding-top: clamp(8.9rem, 13vh, 10rem) !important;
  padding-bottom: clamp(8rem, 13vh, 9.6rem) !important;
}

.zones-guide-page .zones-hero-visual-card,
.content-guide-page .page-guide-visual-card {
  position: relative;
  transform: rotate(-2.5deg);
  border-radius: 1.95rem;
  overflow: visible;
}

.zones-guide-page .zones-hero-visual-card::before,
.content-guide-page .page-guide-visual-card::before {
  position: absolute;
  content: "";
  inset: 1rem -1rem -1rem 1rem;
  border-radius: 1.8rem;
  border: 1px solid rgba(231, 201, 140, 0.22);
  background: rgba(255, 255, 255, 0.04);
  z-index: -1;
}

.zones-guide-page .zones-hero-visual-copy,
.content-guide-page .page-guide-visual-copy {
  position: relative;
  margin-top: -3rem;
  margin-left: 1.2rem;
  margin-right: 1.2rem;
  border-radius: 1.35rem;
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.98), rgba(241, 232, 214, 0.96));
  box-shadow: 0 28px 60px -42px rgba(13, 22, 34, 0.3);
}

.zones-guide-page main > section:nth-child(2),
.zone-detail-page main > section:nth-child(2),
.content-guide-page main > section:nth-child(2) {
  position: relative;
  z-index: 4;
  margin-top: -4rem;
}

.zones-guide-page main > section:nth-child(2) .container,
.zone-detail-page main > section:nth-child(2) .container,
.content-guide-page main > section:nth-child(2) .container {
  position: relative;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  border-radius: 2rem;
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.94), rgba(243, 235, 220, 0.9));
  box-shadow: 0 36px 80px -52px rgba(14, 24, 36, 0.28);
  overflow: hidden;
}

.zones-guide-page main > section:nth-child(2) .container::before,
.zone-detail-page main > section:nth-child(2) .container::before,
.content-guide-page main > section:nth-child(2) .container::before {
  position: absolute;
  content: "";
  inset: 0;
  background:
    radial-gradient(circle at 10% 18%, rgba(197, 161, 90, 0.12), transparent 18%),
    radial-gradient(circle at 88% 24%, rgba(109, 127, 79, 0.08), transparent 20%);
  pointer-events: none;
}

.zone-detail-page .guide-hero-panel {
  padding: 1rem 0 0 2rem;
}

.zone-detail-page .guide-hero-panel-card {
  transform: rotate(2.5deg);
  padding: 2rem 1.7rem;
}

.zone-detail-page .guide-floating-note {
  margin: -1.6rem 0 0 auto;
  transform: rotate(-3deg);
}

.zone-detail-page .zone-detail-intro-media {
  padding-right: 3rem;
  padding-bottom: 3rem;
}

.zone-detail-page .zone-detail-intro-media .guide-intro-floating {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(242, 232, 211, 0.96));
  box-shadow: 0 26px 56px -40px rgba(18, 30, 48, 0.22);
}

.zone-detail-page .zone-feature-card--wide,
.zones-guide-page .zone-feature-card--wide {
  min-height: 30rem;
}

.zone-detail-page .zone-secondary-card,
.zones-guide-page .zone-simple-card,
.zones-guide-page .zone-secondary-card,
.content-guide-page .route-city-card,
.content-guide-page .transport-mode-card,
.content-guide-page .hotel-tier-card,
.content-guide-page .hotel-city-card,
.content-guide-page .faq-category-card,
.content-guide-page .related-topic-card,
.content-guide-page .chooser-card,
.content-guide-page .spec-card,
.content-guide-page .timing-season-card,
.content-guide-page .comparison-focus-card,
.content-guide-page .cost-example-card,
.content-guide-page .plan-card,
.content-guide-page .wildlife-info-card {
  overflow: hidden;
}

.zone-detail-page .zone-secondary-card::before,
.zones-guide-page .zone-simple-card::before,
.zones-guide-page .zone-secondary-card::before,
.content-guide-page .route-city-card::before,
.content-guide-page .transport-mode-card::before,
.content-guide-page .hotel-tier-card::before,
.content-guide-page .hotel-city-card::before,
.content-guide-page .faq-category-card::before,
.content-guide-page .related-topic-card::before,
.content-guide-page .chooser-card::before,
.content-guide-page .spec-card::before,
.content-guide-page .timing-season-card::before,
.content-guide-page .comparison-focus-card::before,
.content-guide-page .cost-example-card::before,
.content-guide-page .plan-card::before,
.content-guide-page .wildlife-info-card::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, rgba(231, 201, 140, 0), rgba(184, 105, 70, 0.95), rgba(231, 201, 140, 0));
}

.zone-detail-page .row > [class*="col-"]:nth-child(odd) .zone-secondary-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .route-city-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .transport-mode-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .hotel-tier-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .hotel-city-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .faq-category-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .related-topic-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .chooser-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .spec-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .timing-season-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .comparison-focus-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .cost-example-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .plan-card,
.content-guide-page .row > [class*="col-"]:nth-child(odd) .wildlife-info-card,
.zones-guide-page .row > [class*="col-"]:nth-child(odd) .zone-simple-card {
  transform: translateY(-10px);
}

.zone-detail-page .row > [class*="col-"]:nth-child(even) .zone-secondary-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .route-city-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .transport-mode-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .hotel-tier-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .hotel-city-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .faq-category-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .related-topic-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .chooser-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .spec-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .timing-season-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .comparison-focus-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .cost-example-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .plan-card,
.content-guide-page .row > [class*="col-"]:nth-child(even) .wildlife-info-card,
.zones-guide-page .row > [class*="col-"]:nth-child(even) .zone-simple-card {
  transform: translateY(10px);
}

.zones-guide-page .zone-simple-media,
.content-guide-page .plan-card img,
.content-guide-page .wildlife-info-card img {
  min-height: 16rem;
}

.zones-guide-page .pricing-chart-layout,
.content-guide-page .travel-planner-grid,
.content-guide-page .pricing-chart-layout,
.zone-detail-page .travel-planner-grid {
  gap: 2rem;
}

.zones-guide-page .final-cta-content,
.zone-detail-page .final-cta-content,
.content-guide-page .final-cta-content {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

@media (max-width: 1199.98px) {
  .zones-guide-page .zones-hero-visual-card,
  .content-guide-page .page-guide-visual-card {
    transform: none;
  }

  .zones-guide-page .zones-hero-visual-copy,
  .content-guide-page .page-guide-visual-copy {
    margin-top: -2rem;
  }
}

@media (max-width: 991.98px) {
  .zones-guide-page main > section:nth-child(2),
  .zone-detail-page main > section:nth-child(2),
  .content-guide-page main > section:nth-child(2) {
    margin-top: -2rem;
  }

  .zone-detail-page .guide-hero-panel {
    padding-left: 0;
  }

  .zone-detail-page .guide-hero-panel-card,
  .zone-detail-page .guide-floating-note,
  .content-guide-page .row > [class*="col-"] .route-city-card,
  .content-guide-page .row > [class*="col-"] .transport-mode-card,
  .content-guide-page .row > [class*="col-"] .hotel-tier-card,
  .content-guide-page .row > [class*="col-"] .hotel-city-card,
  .content-guide-page .row > [class*="col-"] .faq-category-card,
  .content-guide-page .row > [class*="col-"] .related-topic-card,
  .content-guide-page .row > [class*="col-"] .chooser-card,
  .content-guide-page .row > [class*="col-"] .spec-card,
  .content-guide-page .row > [class*="col-"] .timing-season-card,
  .content-guide-page .row > [class*="col-"] .comparison-focus-card,
  .content-guide-page .row > [class*="col-"] .cost-example-card,
  .content-guide-page .row > [class*="col-"] .plan-card,
  .content-guide-page .row > [class*="col-"] .wildlife-info-card,
  .zones-guide-page .row > [class*="col-"] .zone-simple-card,
  .zone-detail-page .row > [class*="col-"] .zone-secondary-card {
    transform: none !important;
  }
}

@media (max-width: 767.98px) {
  .zones-guide-page main > section:nth-child(2),
  .zone-detail-page main > section:nth-child(2),
  .content-guide-page main > section:nth-child(2) {
    margin-top: -1rem;
  }

  .zones-guide-page main > section:nth-child(2) .container,
  .zone-detail-page main > section:nth-child(2) .container,
  .content-guide-page main > section:nth-child(2) .container {
    border-radius: 1.3rem;
    padding-top: 1.8rem !important;
  }

  .zones-guide-page .zones-hero-visual-copy,
  .content-guide-page .page-guide-visual-copy {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }
}

.zone-page-hero-overlay {
  background: linear-gradient(180deg, rgba(23, 26, 20, 0.58) 0%, rgba(23, 26, 20, 0.76) 100%);
}

.zone-page-hero-content {
  max-width: 56rem;
  padding: 8.5rem 0 6rem;
}

.zone-page-hero-content h1,
.zone-page-hero-content p,
.zone-page-hero-content .page-label {
  color: var(--white) !important;
}

.zone-page-hero-content p {
  margin: 1rem auto 0;
  max-width: 48rem;
  line-height: 1.84;
}

.zone-page-grid {
  align-items: stretch;
}

.zone-page-card {
  position: relative;
  min-height: 100%;
  border-radius: 1.6rem;
  overflow: hidden;
  background: #163a21;
  box-shadow: 0 30px 54px -42px rgba(23, 26, 20, 0.24);
}

.zone-page-card::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(180deg, rgba(23, 26, 20, 0.08) 0%, rgba(23, 26, 20, 0.76) 100%);
}

.zone-page-card-body {
  position: relative;
  z-index: 1;
  min-height: 100%;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.zone-page-card--wide {
  min-height: 26rem;
}

.zone-page-card--wide .zone-page-card-media {
  opacity: 0.96;
}

.zone-guidance-card .pricing-list {
  grid-template-columns: 1fr;
  gap: 0.8rem;
  margin-top: 1.1rem;
}

.zone-guidance-list li {
  line-height: 1.72;
}

@media (max-width: 1199.98px) {
  .zone-feature-card {
    min-height: 22.5rem;
  }

  .pricing-hero-grid,
  .pricing-board-grid,
  .pricing-chart-layout,
  .travel-planner-grid {
    grid-template-columns: 1fr;
  }

  .pricing-hero-visual {
    justify-content: flex-start;
  }
}

@media (max-width: 991.98px) {
  .zone-summary-panel {
    grid-template-columns: 1fr;
  }

  .zone-summary-pills {
    justify-content: flex-start;
  }

  .travel-route-grid {
    grid-template-columns: 1fr 1fr;
  }

  .pricing-hero-image-card {
    width: 100%;
  }

  .pricing-hero-image-card img {
    min-height: 16rem;
  }

  .zone-page-hero-content {
    padding: 7.25rem 0 5rem;
  }
}

@media (max-width: 767.98px) {
  .zone-simple-card {
    border-radius: 1.15rem;
  }

  .zone-simple-body {
    padding: 1.05rem 1rem 1.15rem;
  }

  .zone-simple-action .btn {
    width: 100%;
  }

  .zone-summary-panel,
  .pricing-includes-card,
  .pricing-chart-card,
  .pricing-side-panel,
  .travel-access-panel,
  .zone-guidance-card,
  .zone-secondary-block {
    padding: 1.15rem;
    border-radius: 1.15rem;
  }

  .zone-feature-card,
  .zone-page-card,
  .zone-page-card--wide {
    min-height: 20.5rem;
    border-radius: 1.2rem;
  }

  .zone-feature-content,
  .zone-page-card-body {
    padding: 1.1rem;
  }

  .travel-route-grid {
    grid-template-columns: 1fr;
  }

  .pricing-chart-table,
  .pricing-chart-table thead,
  .pricing-chart-table tbody,
  .pricing-chart-table th,
  .pricing-chart-table td,
  .pricing-chart-table tr {
    display: block;
    width: 100%;
  }

  .pricing-estimate-table,
  .pricing-estimate-table thead,
  .pricing-estimate-table tbody,
  .pricing-estimate-table th,
  .pricing-estimate-table td,
  .pricing-estimate-table tr {
    display: block;
    width: 100%;
  }

  .pricing-chart-table thead {
    display: none;
  }

  .pricing-estimate-table thead {
    display: none;
  }

  .pricing-chart-table tr {
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(63, 95, 59, 0.12);
  }

  .pricing-estimate-table tr {
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(255, 253, 248, 0.08);
  }

  .pricing-chart-table tbody tr:last-child {
    border-bottom: 0;
  }

  .pricing-estimate-table tbody tr:last-child {
    border-bottom: 0;
  }

  .pricing-chart-table td {
    padding: 0.28rem 0;
    border: 0;
  }

  .pricing-estimate-table td {
    padding: 0.28rem 1rem;
    border: 0;
  }

  .pricing-table-topline {
    padding: 0.9rem 1rem 0.2rem;
  }

  .pricing-chart-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.16rem;
    color: var(--accent-olive);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .pricing-estimate-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.16rem;
    color: rgba(211, 192, 165, 0.82);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .final-cta-content {
    padding: 3.9rem 0;
  }

  .zone-page-hero-content {
    padding: 6.6rem 0 4.2rem;
  }
}

/********** About guide + booking page refresh **********/
body.about-guide-page,
body.booking-page {
  background:
    radial-gradient(circle at top left, rgba(208, 171, 110, 0.12), transparent 22%),
    linear-gradient(180deg, #f8f2e8 0%, #f4ecdf 45%, #ede0cb 100%);
}

.about-guide-page main,
.booking-page main {
  min-height: auto;
}

.guide-section {
  position: relative;
}

.guide-section:nth-of-type(even) {
  background: rgba(255, 250, 243, 0.56);
}

.guide-kicker,
.guide-mini-label,
.guide-panel-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1rem;
  color: #a85a34;
  font-family: "Poppins", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.guide-mini-label--dark {
  color: #f4d3a0;
}

.guide-section-head {
  max-width: 50rem;
}

.guide-section-head h2,
.guide-copy-block h2,
.guide-cinematic-cta h2,
.booking-form-card h2,
.booking-support-panel h3 {
  color: #14271d;
  font-family: "Merriweather", serif;
  font-size: clamp(2rem, 3.8vw, 3.6rem);
  line-height: 1.14;
}

.guide-section-head p,
.guide-copy-block p,
.guide-hero-copy,
.guide-cinematic-cta p,
.booking-form-card p,
.booking-support-panel p {
  color: rgba(20, 39, 29, 0.76);
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.85;
}

.guide-hero,
.booking-page-hero,
.guide-cinematic-cta {
  position: relative;
  overflow: hidden;
}

.guide-hero {
  background: url(../img/featured/tiger-forest.avif) center center / cover no-repeat;
}

.booking-page-hero {
  background: #071321 url(../img/featured/rajaji-riverbed-safari.avif) center 42% / cover no-repeat;
}

.guide-hero-overlay,
.booking-page-hero-overlay,
.guide-cinematic-cta-overlay {
  background:
    linear-gradient(180deg, rgba(9, 22, 16, 0.48) 0%, rgba(9, 22, 16, 0.84) 100%),
    radial-gradient(circle at top right, rgba(204, 124, 65, 0.28), transparent 26%),
    radial-gradient(circle at bottom left, rgba(119, 138, 79, 0.22), transparent 24%);
}

.guide-hero::before,
.booking-page-hero::before,
.guide-cinematic-cta::before {
  position: absolute;
  content: "";
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 140px 140px;
  opacity: 0.35;
  pointer-events: none;
}

.guide-hero-shell,
.booking-page-hero-shell {
  position: relative;
  z-index: 1;
  padding-top: clamp(4.5rem, 10vw, 7.5rem) !important;
  padding-bottom: clamp(4.5rem, 9vw, 7rem) !important;
}

.guide-hero-title {
  color: #fff7eb;
  font-family: "Merriweather", serif;
  font-size: clamp(2.65rem, 5vw, 5rem);
  line-height: 1.03;
}

.guide-hero-copy {
  max-width: 43rem;
  color: rgba(255, 247, 235, 0.9);
}

.guide-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.85rem;
}

.guide-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.85rem 1rem;
  border-radius: 999px;
  background: rgba(255, 247, 235, 0.12);
  border: 1px solid rgba(255, 247, 235, 0.18);
  color: #fff7eb;
  font-family: "Poppins", sans-serif;
  font-size: 0.84rem;
}

.guide-chip i {
  color: #f4d3a0;
}

.guide-hero-actions,
.cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.guide-hero .btn-secondary,
.booking-page-hero .btn-secondary,
.guide-cinematic-cta .btn-secondary {
  border-color: rgba(255, 247, 235, 0.38);
  color: #fff7eb;
}

.guide-hero-panel,
.booking-hero-sidecard,
.guide-map-panel,
.guide-elephant-panel,
.guide-experience-panel,
.booking-form-card,
.booking-support-panel,
.guide-responsible-panel {
  border-radius: 2rem;
  box-shadow: 0 34px 68px -40px rgba(19, 27, 18, 0.36);
}

.guide-hero-panel {
  position: relative;
  padding: 2rem 0 0 2rem;
}

.guide-hero-panel-card {
  padding: 2rem;
  border-radius: 1.75rem;
  background: linear-gradient(180deg, rgba(251, 246, 237, 0.96) 0%, rgba(236, 219, 189, 0.9) 100%);
  border: 1px solid rgba(255, 247, 235, 0.35);
}

.guide-stat-list {
  display: grid;
  gap: 1.1rem;
}

.guide-stat-item {
  display: grid;
  gap: 0.35rem;
}

.guide-stat-item strong {
  color: #173528;
  font-family: "Merriweather", serif;
  font-size: 1.65rem;
}

.guide-stat-item span {
  color: rgba(20, 39, 29, 0.72);
  font-family: "Poppins", sans-serif;
  line-height: 1.7;
}

.guide-floating-note {
  position: relative;
  z-index: 1;
  margin: -1.25rem 0 0 auto;
  max-width: 17rem;
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  padding: 1.1rem 1.15rem;
  border-radius: 1.35rem;
  background: #173528;
  color: #fff7eb;
}

.guide-floating-note strong {
  display: block;
  margin-bottom: 0.25rem;
  font-family: "Poppins", sans-serif;
  font-size: 0.9rem;
}

.guide-floating-note p {
  color: rgba(255, 247, 235, 0.78);
  font-size: 0.84rem;
  line-height: 1.65;
}

.guide-floating-note-mark {
  display: inline-grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.95rem;
  background: rgba(255, 247, 235, 0.08);
  color: #f4d3a0;
}

.guide-highlight-card,
.guide-animal-card,
.guide-zone-card,
.guide-season-card,
.guide-reason-card,
.booking-zone-help-card,
.booking-process-card {
  position: relative;
  min-height: 100%;
  padding: 1.6rem;
  border-radius: 1.6rem;
  border: 1px solid rgba(23, 53, 40, 0.08);
  background: rgba(255, 252, 245, 0.92);
  box-shadow: 0 28px 54px -42px rgba(19, 27, 18, 0.28);
}

.guide-highlight-icon,
.guide-animal-icon,
.guide-reason-card i {
  display: inline-grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #173528, #2d5a3f);
  color: #f4d3a0;
}

.guide-highlight-card h3,
.guide-animal-card h3,
.guide-zone-card h3,
.guide-season-card h3,
.guide-reason-card h3,
.booking-zone-help-card h3,
.booking-process-card h3,
.guide-route-card h3,
.guide-experience-card strong,
.guide-bird-item strong {
  color: #173528;
  font-family: "Merriweather", serif;
  font-size: 1.35rem;
}

.guide-highlight-card p,
.guide-animal-card p,
.guide-zone-card p,
.guide-season-card p,
.guide-reason-card p,
.booking-zone-help-card p,
.booking-process-card p,
.guide-route-card p,
.guide-bird-item span,
.guide-experience-card span {
  margin-bottom: 0;
  color: rgba(20, 39, 29, 0.72);
  font-family: "Poppins", sans-serif;
  line-height: 1.75;
}

.guide-intro-media {
  position: relative;
  padding: 0 2rem 2rem 0;
}

.guide-intro-media img,
.guide-elephant-media img,
.guide-birds-media-card img,
.booking-hero-sidecard-media img {
  width: 100%;
  border-radius: 1.9rem;
  object-fit: cover;
  box-shadow: 0 32px 60px -38px rgba(19, 27, 18, 0.34);
}

.guide-intro-media img {
  min-height: 33rem;
}

.guide-intro-floating {
  position: absolute;
  max-width: 15rem;
  padding: 1rem 1.1rem;
  border-radius: 1.25rem;
  background: rgba(255, 252, 245, 0.95);
  border: 1px solid rgba(23, 53, 40, 0.08);
  box-shadow: 0 22px 50px -32px rgba(19, 27, 18, 0.24);
}

.guide-intro-floating strong {
  display: block;
  margin-bottom: 0.35rem;
  color: #173528;
  font-family: "Poppins", sans-serif;
  font-size: 0.95rem;
}

.guide-intro-floating span {
  color: rgba(20, 39, 29, 0.72);
  font-family: "Poppins", sans-serif;
  font-size: 0.85rem;
  line-height: 1.6;
}

.guide-intro-floating--top {
  top: 2rem;
  right: 0;
}

.guide-intro-floating--bottom {
  left: 1.25rem;
  bottom: 0;
}

.guide-copy-block {
  max-width: 38rem;
}

.guide-copy-block--light h2,
.guide-copy-block--light p,
.guide-copy-block--light .guide-point-item span {
  color: #fff7eb;
}

.guide-bullet-list,
.guide-point-stack,
.booking-side-list {
  display: grid;
  gap: 0.85rem;
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
}

.guide-bullet-list li,
.guide-point-item,
.booking-side-list li {
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
  color: rgba(20, 39, 29, 0.82);
  font-family: "Poppins", sans-serif;
  line-height: 1.7;
}

.guide-bullet-list i,
.guide-point-item i,
.booking-side-list i {
  margin-top: 0.35rem;
  color: #b35c38;
}

.guide-history {
  background:
    radial-gradient(circle at top left, rgba(119, 138, 79, 0.08), transparent 20%),
    linear-gradient(180deg, #f7efe4 0%, #f2e6d3 100%);
}

.guide-timeline {
  position: relative;
  display: grid;
  gap: 1.4rem;
  padding-left: 1.75rem;
}

.guide-timeline::before {
  position: absolute;
  content: "";
  top: 0.5rem;
  bottom: 0.5rem;
  left: 0.3rem;
  width: 2px;
  background: linear-gradient(180deg, #b35c38 0%, #1f4a34 100%);
}

.guide-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 1.5rem;
  padding: 1.5rem 1.5rem 1.5rem 1.75rem;
  border-radius: 1.5rem;
  background: rgba(255, 252, 245, 0.88);
  border: 1px solid rgba(23, 53, 40, 0.08);
}

.guide-timeline-item::before {
  position: absolute;
  content: "";
  top: 1.95rem;
  left: -1.65rem;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  background: #b35c38;
  box-shadow: 0 0 0 6px rgba(179, 92, 56, 0.12);
}

.guide-timeline-year {
  color: #b35c38;
  font-family: "Poppins", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.guide-timeline-item h3 {
  margin-bottom: 0.5rem;
  color: #173528;
  font-family: "Merriweather", serif;
  font-size: 1.45rem;
}

.guide-timeline-item p {
  margin: 0;
  color: rgba(20, 39, 29, 0.72);
  line-height: 1.75;
}

.guide-map-panel {
  padding: 2rem;
  background:
    radial-gradient(circle at top right, rgba(179, 92, 56, 0.12), transparent 20%),
    linear-gradient(180deg, rgba(255, 251, 244, 0.96) 0%, rgba(241, 231, 211, 0.96) 100%);
}

.guide-map-copy {
  max-width: 44rem;
  margin-bottom: 2rem;
}

.guide-route-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.guide-route-card {
  padding: 1.45rem;
  border-radius: 1.5rem;
  background: rgba(255, 252, 245, 0.88);
  border: 1px solid rgba(23, 53, 40, 0.08);
}

.guide-route-icon {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: #173528;
  color: #f4d3a0;
}

.guide-route-distance {
  margin: 0.65rem 0 !important;
  color: #b35c38 !important;
  font-weight: 600;
}

.guide-masonry-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.guide-masonry-card {
  position: relative;
  overflow: hidden;
  min-height: 18rem;
  grid-column: span 4;
  border-radius: 1.75rem;
  box-shadow: 0 30px 56px -42px rgba(19, 27, 18, 0.32);
}

.guide-masonry-card--large {
  grid-column: span 7;
  grid-row: span 2;
  min-height: 37rem;
}

.guide-masonry-card--wide {
  grid-column: span 5;
}

.guide-masonry-card img,
.guide-animal-card--photo img,
.guide-zone-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guide-masonry-card::after,
.guide-animal-card--photo::after,
.guide-zone-card::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 20, 14, 0.02) 0%, rgba(7, 20, 14, 0.76) 100%);
}

.guide-masonry-card figcaption {
  position: absolute;
  left: 1.25rem;
  right: 1.25rem;
  bottom: 1.2rem;
  z-index: 1;
  color: #fff7eb;
  font-family: "Merriweather", serif;
  font-size: 1.05rem;
  line-height: 1.5;
}

.guide-animal-card {
  overflow: hidden;
}

.guide-animal-card--photo {
  padding: 0;
}

.guide-animal-card-body,
.guide-zone-card-body {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  padding: 1.35rem;
}

.guide-animal-card--photo h3,
.guide-animal-card--photo p,
.guide-zone-card h3,
.guide-zone-card p,
.guide-zone-pill {
  color: #fff7eb;
}

.guide-zone-card {
  overflow: hidden;
  padding: 0;
  min-height: 24rem;
}

.guide-zone-card--featured {
  transform: translateY(-0.3rem);
}

.guide-zone-pill,
.guide-season-tag {
  display: inline-flex;
  margin-bottom: 0.9rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: rgba(255, 247, 235, 0.18);
  border: 1px solid rgba(255, 247, 235, 0.2);
  font-family: "Poppins", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.guide-elephant-panel {
  padding: 2rem;
  background: linear-gradient(135deg, #173528 0%, #244533 45%, #7c5a3b 100%);
}

.guide-elephant-media img {
  min-height: 30rem;
}

.guide-bird-list,
.guide-experience-points,
.booking-contact-strip-grid,
.booking-trust-grid,
.booking-direct-links,
.guide-check-grid {
  display: grid;
  gap: 1rem;
}

.guide-bird-item,
.guide-experience-card,
.booking-contact-chip,
.booking-trust-item,
.booking-direct-link,
.guide-check-item {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  padding: 1rem 1.1rem;
  border-radius: 1.25rem;
  background: rgba(255, 252, 245, 0.86);
  border: 1px solid rgba(23, 53, 40, 0.08);
}

.guide-experience-card i,
.booking-contact-chip i,
.booking-trust-item i,
.booking-direct-link i,
.guide-check-item i {
  color: #b35c38;
  margin-top: 0.2rem;
}

.guide-birds-media-card img {
  min-height: 31rem;
}

.guide-copy-block--birds {
  max-width: 41rem;
}

.guide-bird-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.guide-bird-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.9rem;
  min-height: 100%;
  padding: 1.55rem 1.2rem 1.45rem;
  border-radius: 1.45rem;
}

.guide-bird-icon {
  display: inline-grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(245, 239, 220, 0.95), rgba(250, 246, 235, 0.95));
  color: #b07c2b;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.guide-bird-icon i {
  font-size: 1.3rem;
}

.guide-bird-card strong {
  font-size: 1.05rem;
  line-height: 1.28;
}

.guide-bird-card span {
  line-height: 1.7;
}

.guide-bird-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.2rem;
  align-items: center;
  margin-top: 1.3rem;
  padding: 1rem 1.15rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(197, 161, 90, 0.14);
  background: rgba(255, 252, 245, 0.94);
  box-shadow: 0 20px 42px -34px rgba(18, 30, 48, 0.16);
}

.guide-bird-strip span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #173528;
  font-family: var(--font-body);
  font-size: 0.98rem;
  font-weight: 500;
}

.guide-bird-strip i {
  color: #b07c2b;
}

.guide-birds-visual-wrap {
  position: relative;
  padding-left: 1.25rem;
}

.guide-birds-media-card--feature {
  overflow: hidden;
  border-radius: 2rem;
  box-shadow: 0 34px 68px -44px rgba(17, 28, 23, 0.24);
}

.guide-birds-media-card--feature img {
  min-height: 46rem;
  width: 100%;
  object-fit: cover;
}

.guide-birds-highlight-card {
  position: absolute;
  left: 0;
  bottom: 1.5rem;
  width: min(19rem, 48%);
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.45rem 1.5rem;
  border-radius: 1.5rem;
  background: linear-gradient(180deg, #173528 0%, #204b31 100%);
  box-shadow: 0 28px 56px -34px rgba(17, 28, 23, 0.42);
}

.guide-birds-highlight-icon {
  display: inline-grid;
  place-items: center;
  width: 3.6rem;
  height: 3.6rem;
  flex: 0 0 auto;
  border-radius: 50%;
  border: 1px solid rgba(231, 201, 140, 0.36);
  color: #f1d39a;
}

.guide-birds-highlight-card strong {
  display: block;
  margin-bottom: 0.45rem;
  color: #fff7eb;
  font-size: 1.2rem;
  line-height: 1.3;
}

.guide-birds-highlight-card p {
  color: rgba(255, 247, 235, 0.82);
  line-height: 1.65;
}

.guide-season-card {
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.96) 0%, rgba(239, 225, 202, 0.86) 100%);
}

.guide-reason-card i {
  font-size: 1rem;
}

.guide-responsible {
  background:
    radial-gradient(circle at top right, rgba(180, 92, 56, 0.16), transparent 24%),
    linear-gradient(180deg, #102117 0%, #152a1d 100%);
}

.guide-responsible-panel {
  padding: 2.2rem;
  background: rgba(255, 247, 235, 0.04);
  border: 1px solid rgba(255, 247, 235, 0.08);
}

.guide-responsible-panel h2,
.guide-responsible-panel p,
.guide-check-item span,
.guide-check-item i {
  color: #fff7eb;
}

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

.guide-check-item {
  background: rgba(255, 247, 235, 0.06);
  border-color: rgba(255, 247, 235, 0.08);
}

.guide-faq-accordion .accordion-item {
  margin-bottom: 1rem;
  border: 1px solid rgba(23, 53, 40, 0.08);
  border-radius: 1.25rem;
  overflow: hidden;
  background: rgba(255, 252, 245, 0.92);
}

.guide-faq-accordion .accordion-button {
  padding: 1.25rem 1.35rem;
  color: #173528;
  font-family: "Merriweather", serif;
  font-size: 1rem;
  background: rgba(255, 252, 245, 0.95);
  box-shadow: none;
}

.guide-faq-accordion .accordion-button:not(.collapsed) {
  color: #173528;
  background: rgba(239, 225, 202, 0.62);
}

.guide-faq-accordion .accordion-body {
  padding: 0 1.35rem 1.35rem;
  color: rgba(20, 39, 29, 0.78);
  font-family: "Poppins", sans-serif;
  line-height: 1.75;
}

.guide-cinematic-cta {
  background: url(../img/featured/rajaji-riverbed-safari.avif) center center / cover no-repeat;
}

.guide-cinematic-cta .container {
  position: relative;
  z-index: 1;
}

.guide-cinematic-cta h2,
.guide-cinematic-cta p {
  color: #fff7eb;
}

.guide-cinematic-cta .about-btn {
  background: #fff7eb !important;
  border-color: #fff7eb !important;
  color: #173528 !important;
}

.guide-cinematic-cta .about-btn:hover {
  background: #f2e7d6 !important;
  border-color: #f2e7d6 !important;
}

.booking-contact-strip {
  background: rgba(255, 250, 243, 0.9);
  border-top: 1px solid rgba(23, 53, 40, 0.08);
  border-bottom: 1px solid rgba(23, 53, 40, 0.08);
}

.booking-contact-strip-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.booking-contact-chip {
  min-height: 100%;
  color: inherit;
  text-decoration: none;
}

.booking-contact-chip strong,
.booking-direct-link span,
.booking-trust-item span {
  display: block;
  color: #173528;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.booking-contact-chip small {
  display: block;
  margin-top: 0.2rem;
  color: rgba(20, 39, 29, 0.7);
  font-size: 0.85rem;
}

.booking-hero-sidecard {
  overflow: hidden;
  background: rgba(255, 251, 244, 0.92);
}

.booking-hero-sidecard-body {
  padding: 1.35rem 1.4rem 1.5rem;
}

.booking-hero-sidecard-media img {
  min-height: 18rem;
  border-radius: 0;
  box-shadow: none;
}

.booking-side-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.25rem;
}

.booking-side-badges span {
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  background: rgba(23, 53, 40, 0.08);
  color: #173528;
  font-family: "Poppins", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
}

.booking-form-card,
.booking-support-panel {
  padding: 1.9rem;
  background: rgba(255, 252, 245, 0.94);
  border: 1px solid rgba(23, 53, 40, 0.08);
}

.booking-support-stack {
  display: grid;
  gap: 1.25rem;
}

.booking-support-panel--accent {
  background: linear-gradient(135deg, rgba(23, 53, 40, 0.96) 0%, rgba(50, 82, 61, 0.96) 100%);
}

.booking-support-panel--accent .guide-mini-label,
.booking-support-panel--accent h3,
.booking-support-panel--accent p,
.booking-support-panel--accent .booking-direct-link span,
.booking-support-panel--accent .booking-direct-link i {
  color: #fff7eb;
}

.booking-support-panel--accent .booking-direct-link {
  background: rgba(255, 247, 235, 0.08);
  border-color: rgba(255, 247, 235, 0.1);
}

.booking-form-card-head {
  max-width: 40rem;
  margin-bottom: 1.6rem;
}

.booking-enquiry-form .form-label,
.booking-form-meta,
.booking-form-status {
  font-family: "Poppins", sans-serif;
}

.booking-enquiry-form .form-label {
  margin-bottom: 0.45rem;
  color: #173528;
  font-weight: 600;
}

.booking-page .form-control {
  min-height: 3.4rem;
  border-radius: 1rem;
  border: 1px solid rgba(23, 53, 40, 0.12);
  background: rgba(255, 255, 255, 0.88);
  color: #173528;
  font-family: "Poppins", sans-serif;
}

.booking-page textarea.form-control {
  min-height: 9rem;
  padding-top: 1rem;
}

.booking-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.booking-form-meta {
  color: rgba(20, 39, 29, 0.62);
  font-size: 0.84rem;
}

.booking-form-status {
  margin-top: 0.95rem;
  color: #1f693f;
  font-size: 0.9rem;
  font-weight: 600;
}

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

.booking-trust-item {
  align-items: center;
}

.booking-direct-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.2rem;
}

.booking-direct-link {
  color: inherit;
  text-decoration: none;
}

.booking-zone-help-card,
.booking-process-card {
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.96) 0%, rgba(239, 225, 202, 0.8) 100%);
}

.booking-process-card span {
  display: inline-flex;
  margin-bottom: 0.95rem;
  color: #b35c38;
  font-family: "Poppins", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.booking-alias-page main {
  min-height: 100vh;
}

@media (max-width: 1199.98px) {
  .guide-route-grid,
  .booking-contact-strip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guide-masonry-card--large {
    grid-column: span 12;
    min-height: 28rem;
  }

  .guide-masonry-card,
  .guide-masonry-card--wide {
    grid-column: span 6;
  }
}

@media (max-width: 991.98px) {
  .guide-hero-shell,
  .booking-page-hero-shell {
    padding-top: 4.8rem !important;
    padding-bottom: 4.4rem !important;
  }

  .guide-timeline-item {
    grid-template-columns: 1fr;
  }

  .guide-check-grid,
  .booking-trust-grid,
  .booking-direct-links {
    grid-template-columns: 1fr;
  }

  .guide-intro-media {
    padding: 0 0 3rem;
  }

  .guide-intro-floating--top {
    right: 1rem;
  }

  .guide-intro-floating--bottom {
    left: 1rem;
  }
}

@media (max-width: 767.98px) {
  .guide-section-head h2,
  .guide-copy-block h2,
  .guide-cinematic-cta h2,
  .booking-form-card h2,
  .booking-support-panel h3 {
    font-size: 1.8rem;
  }

  .guide-copy-block p {
    text-align: justify;
  }

  .guide-hero-title {
    font-size: 2.2rem;
  }

  .guide-route-grid,
  .guide-check-grid,
  .booking-contact-strip-grid {
    grid-template-columns: 1fr;
  }

  .guide-hero-panel,
  .guide-elephant-panel,
  .guide-map-panel,
  .guide-experience-panel,
  .booking-form-card,
  .booking-support-panel,
  .guide-responsible-panel {
    padding: 1.25rem;
    border-radius: 1.4rem;
  }

  .guide-intro-floating {
    position: static;
    max-width: none;
    margin-top: 1rem;
  }

  .guide-intro-media img,
  .guide-elephant-media img,
  .guide-birds-media-card img {
    min-height: 20rem;
  }

  .zone-detail-page .zone-detail-intro-media {
    padding-right: 0;
    padding-left: 0;
  }

  .guide-masonry-card,
  .guide-masonry-card--wide,
  .guide-masonry-card--large {
    grid-column: span 12;
    min-height: 18rem;
  }

  .guide-floating-note {
    margin: 1rem 0 0;
    max-width: none;
  }

  .guide-timeline {
    padding-left: 1.3rem;
  }

  .guide-timeline-item::before {
    left: -1.2rem;
  }

  .guide-zone-card,
  .guide-highlight-card,
  .guide-animal-card,
  .guide-season-card,
  .guide-reason-card,
  .booking-zone-help-card,
  .booking-process-card {
    border-radius: 1.25rem;
  }

  .guide-zone-card {
    min-height: 20rem;
  }

  .booking-form-actions,
  .guide-hero-actions,
  .cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .guide-hero-actions .btn,
  .cta-actions .btn,
  .booking-form-actions .btn {
    width: 100%;
  }
}

/********** About page homepage consistency pass **********/
.about-guide-page {
  background: linear-gradient(180deg, #f7f4ef 0%, #f4f1ec 46%, #eeead6 100%);
}

.about-guide-page .guide-section:nth-of-type(even) {
  background: transparent;
}

.about-guide-page .guide-highlights,
.about-guide-page .guide-location,
.about-guide-page .guide-zones,
.about-guide-page .guide-seasons,
.about-guide-page .guide-faq {
  background: linear-gradient(180deg, rgba(246, 239, 226, 0.98) 0%, rgba(231, 222, 204, 0.92) 100%);
}

.about-guide-page .guide-history,
.about-guide-page .guide-landscape,
.about-guide-page .guide-why {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.72) 0%, rgba(244, 241, 236, 0.52) 100%);
}

.about-guide-page .guide-kicker,
.about-guide-page .guide-mini-label,
.about-guide-page .guide-panel-label {
  color: #8c652b;
  letter-spacing: 0.28em;
}

.about-guide-page .guide-section-head {
  position: relative;
  max-width: 780px;
  margin-bottom: 4rem;
  padding-bottom: 1.8rem;
}

.about-guide-page .guide-section-head::after {
  position: absolute;
  content: "";
  left: 50%;
  bottom: 0;
  width: 82px;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #e7c98c 0%, #c5a15a 100%);
}

.about-guide-page .guide-section-head h2,
.about-guide-page .guide-copy-block:not(.guide-copy-block--light) h2,
.about-guide-page .guide-map-copy h2,
.about-guide-page .guide-cinematic-cta h2 {
  color: #12253d;
  font-size: clamp(2.3rem, 4.1vw, 4.15rem);
  line-height: 1.12;
}

.about-guide-page .guide-section-head p,
.about-guide-page .guide-copy-block:not(.guide-copy-block--light) p,
.about-guide-page .guide-map-copy p,
.about-guide-page .guide-timeline-item p,
.about-guide-page .guide-cinematic-cta p {
  color: rgba(18, 37, 61, 0.78);
}

.about-guide-page .guide-hero {
  background: url(../img/featured/rajaji-safari-haridwar.avif) center center / cover no-repeat;
}

.about-guide-page .guide-hero-overlay {
  background:
    radial-gradient(circle at 18% 20%, rgba(197, 161, 90, 0.18), transparent 25%),
    radial-gradient(circle at 82% 16%, rgba(255, 255, 255, 0.08), transparent 20%),
    linear-gradient(130deg, rgba(7, 19, 33, 0.86) 0%, rgba(10, 27, 45, 0.82) 40%, rgba(14, 39, 67, 0.78) 100%);
}

.about-guide-page .guide-hero::before {
  opacity: 0.14;
}

.about-guide-page .guide-hero-shell {
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding-top: clamp(7.5rem, 12vh, 8.6rem) !important;
  padding-bottom: clamp(5.6rem, 10vh, 6.8rem) !important;
}

.about-guide-page .guide-hero-title {
  color: #173528;
  font-size: clamp(3.2rem, 6vw, 6rem);
  line-height: 0.92;
  text-shadow: none;
}

.about-guide-page .guide-hero-divider {
  margin: 1.75rem 0 1.45rem;
}

.about-guide-page .guide-hero-copy {
  max-width: 42rem;
  color: rgba(23, 53, 40, 0.82);
  font-size: clamp(1.02rem, 1.35vw, 1.18rem);
}

.about-guide-page .guide-kicker {
  color: #244d2b;
}

.about-guide-page .guide-hero {
  background: transparent;
}

.about-guide-page .guide-hero-overlay {
  background:
    radial-gradient(circle at 8% 14%, rgba(123, 150, 86, 0.12), transparent 16%),
    radial-gradient(circle at 90% 18%, rgba(197, 161, 90, 0.16), transparent 18%),
    radial-gradient(circle at 50% 50%, rgba(255, 247, 235, 0.72), transparent 34%),
    linear-gradient(180deg, #fcfaf4 0%, #f7f1e6 100%);
}

.about-guide-page .guide-hero::before {
  opacity: 0;
}

.about-hero-title-frame {
  display: grid;
  justify-items: start;
  gap: 1rem;
  max-width: 40rem;
}

.about-hero-line {
  width: 4rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #c89a54 0%, #ad7d2c 100%);
}

.about-hero-title {
  max-width: 8ch;
}

.about-hero-copy {
  margin-top: 0.5rem;
}

.about-hero-pill-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.95rem;
  margin-top: 2rem;
  max-width: 43rem;
}

.about-hero-pill {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 4.8rem;
  padding: 0.95rem 1rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: rgba(255, 252, 245, 0.94);
  box-shadow: 0 20px 40px -34px rgba(18, 30, 48, 0.16);
  color: #173528;
  font-family: var(--font-body);
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.35;
}

.about-hero-pill i {
  color: #ad7d2c;
  font-size: 1.05rem;
}

.about-hero-visual-wrap {
  position: relative;
  padding-left: 1rem;
}

.about-hero-image-card {
  position: relative;
  overflow: hidden;
  min-height: 53rem;
  border-radius: 2.35rem;
  box-shadow: 0 38px 74px -48px rgba(17, 28, 23, 0.28);
}

.about-hero-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-hero-decor {
  position: absolute;
  color: rgba(173, 125, 44, 0.26);
  font-size: 2rem;
}

.about-hero-decor--top {
  left: -1rem;
  top: 2rem;
}

.about-hero-decor--bottom {
  right: -0.35rem;
  bottom: 2rem;
}

.about-hero-location-card {
  position: absolute;
  right: -2rem;
  top: 11rem;
  width: min(18rem, 42vw);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.45rem 1.5rem;
  border-radius: 1.65rem;
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.98), rgba(244, 236, 224, 0.96));
  border: 1px solid rgba(197, 161, 90, 0.18);
  box-shadow: 0 26px 56px -40px rgba(18, 30, 48, 0.2);
}

.about-hero-location-icon {
  display: inline-grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(180deg, #1d5c2a 0%, #13451e 100%);
  color: #fff7eb;
  box-shadow: 0 18px 36px -26px rgba(15, 39, 24, 0.34);
}

.about-hero-location-icon i {
  font-size: 1.2rem;
}

.about-hero-location-card strong {
  display: block;
  color: #173528;
  font-family: var(--font-body);
  font-size: 1.28rem;
  line-height: 1.5;
}

.about-guide-page .guide-chip {
  background: rgba(7, 18, 30, 0.32);
  border-color: rgba(231, 201, 140, 0.42);
  color: var(--hero-ivory);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.about-guide-page .guide-chip i {
  color: var(--hero-gold-strong);
}

.about-guide-page .guide-hero-panel {
  padding: 1.5rem 0 0 1.6rem;
}

.about-guide-page .guide-hero-panel-card,
.about-guide-page .guide-map-panel,
.about-guide-page .guide-experience-panel {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.96) 0%, rgba(249, 245, 237, 0.96) 100%);
  border: 1px solid rgba(197, 161, 90, 0.18);
  box-shadow: 0 28px 54px -42px rgba(18, 30, 48, 0.28);
}

.about-guide-page .guide-stat-item strong,
.about-guide-page .guide-copy-block:not(.guide-copy-block--light) .guide-bullet-list li,
.about-guide-page .guide-timeline-item h3,
.about-guide-page .guide-route-card h3,
.about-guide-page .guide-route-distance,
.about-guide-page .guide-bird-item strong,
.about-guide-page .guide-experience-card strong,
.about-guide-page .guide-season-card h3,
.about-guide-page .guide-reason-card h3 {
  color: #12253d;
}

.about-guide-page .guide-stat-item span,
.about-guide-page .guide-copy-block:not(.guide-copy-block--light) .guide-bullet-list li,
.about-guide-page .guide-route-card p,
.about-guide-page .guide-bird-item span,
.about-guide-page .guide-experience-card span,
.about-guide-page .guide-season-card p,
.about-guide-page .guide-reason-card p {
  color: rgba(18, 37, 61, 0.78);
}

.about-guide-page .guide-floating-note {
  background: linear-gradient(180deg, #173453 0%, #10263e 100%);
  box-shadow: 0 24px 45px -30px rgba(18, 30, 48, 0.42);
}

.about-guide-page .guide-floating-note p,
.about-guide-page .guide-floating-note strong,
.about-guide-page .guide-copy-block--light .guide-mini-label {
  color: #f6efe2;
}

.about-guide-page .guide-highlight-card,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo),
.about-guide-page .guide-season-card,
.about-guide-page .guide-reason-card,
.about-guide-page .guide-route-card,
.about-guide-page .guide-bird-item,
.about-guide-page .guide-experience-card {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  border: 1px solid rgba(197, 161, 90, 0.18);
  box-shadow: 0 28px 54px -42px rgba(18, 30, 48, 0.28);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.about-guide-page .guide-highlight-card:hover,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo):hover,
.about-guide-page .guide-season-card:hover,
.about-guide-page .guide-reason-card:hover,
.about-guide-page .guide-route-card:hover,
.about-guide-page .guide-bird-item:hover,
.about-guide-page .guide-experience-card:hover {
  transform: translateY(-5px);
  border-color: rgba(197, 161, 90, 0.36);
  box-shadow: 0 38px 62px -42px rgba(18, 30, 48, 0.36);
}

.about-guide-page .guide-highlight-card h3,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo) h3,
.about-guide-page .guide-highlight-card p,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo) p {
  color: #12253d;
}

.about-guide-page .guide-animal-card:not(.guide-animal-card--photo) p,
.about-guide-page .guide-highlight-card p {
  color: rgba(18, 37, 61, 0.78);
}

.about-guide-page .guide-highlight-icon,
.about-guide-page .guide-animal-icon,
.about-guide-page .guide-route-icon,
.about-guide-page .guide-reason-card i {
  border-radius: 999px;
  border: 1px solid rgba(197, 161, 90, 0.36);
  background: linear-gradient(180deg, #173453 0%, #10263e 100%);
  color: #f6efe2;
  box-shadow: 0 16px 30px -24px rgba(18, 30, 48, 0.45);
}

.about-guide-page .guide-route-icon,
.about-guide-page .guide-reason-card i {
  width: 4.2rem;
  height: 4.2rem;
}

.about-guide-page .guide-intro-floating,
.about-guide-page .guide-timeline-item {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  border: 1px solid rgba(197, 161, 90, 0.18);
  box-shadow: 0 28px 54px -42px rgba(18, 30, 48, 0.24);
}

.about-guide-page .guide-intro-floating strong,
.about-guide-page .guide-intro-floating span {
  color: #12253d;
}

.about-guide-page .guide-intro-floating span {
  color: rgba(18, 37, 61, 0.76);
}

.about-guide-page .guide-timeline::before {
  background: linear-gradient(180deg, #c5a15a 0%, #173453 100%);
}

.about-guide-page .guide-timeline-item::before {
  background: #c5a15a;
  box-shadow: 0 0 0 6px rgba(197, 161, 90, 0.12);
}

.about-guide-page .guide-map-copy {
  max-width: 50rem;
}

.about-guide-page .guide-masonry-card,
.about-guide-page .guide-zone-card,
.about-guide-page .guide-animal-card--photo {
  border-radius: 1.45rem;
  box-shadow: 0 26px 52px -42px rgba(23, 26, 20, 0.18);
}

.about-guide-page .guide-zone-card::after,
.about-guide-page .guide-animal-card--photo::after,
.about-guide-page .guide-masonry-card::after {
  background: linear-gradient(180deg, rgba(23, 26, 20, 0.02) 38%, rgba(23, 26, 20, 0.74) 100%);
}

.about-guide-page .guide-zone-card--featured {
  box-shadow: 0 34px 60px -42px rgba(18, 30, 48, 0.34);
}

.about-guide-page .guide-zone-card h3,
.about-guide-page .guide-zone-card p,
.about-guide-page .guide-animal-card--photo h3,
.about-guide-page .guide-animal-card--photo p {
  color: #fff7eb;
}

.about-guide-page .guide-zone-pill,
.about-guide-page .guide-season-tag {
  background: rgba(23, 52, 83, 0.12);
  border-color: rgba(23, 52, 83, 0.08);
  color: #8c652b;
}

.about-guide-page .guide-zone-card--featured .guide-zone-pill {
  background: rgba(255, 247, 235, 0.16);
  border-color: rgba(255, 247, 235, 0.16);
  color: #fff7eb;
}

.about-guide-page .guide-zone-card-body .about-btn {
  margin-top: 0.8rem;
}

.about-guide-page .guide-zones.about-zones-showcase {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 16%, rgba(197, 161, 90, 0.12), transparent 18%),
    radial-gradient(circle at 88% 18%, rgba(23, 52, 83, 0.06), transparent 20%),
    linear-gradient(180deg, rgba(255, 251, 243, 0.98) 0%, rgba(247, 240, 226, 0.98) 100%) !important;
}

.about-guide-page .about-zones-head {
  max-width: 52rem;
}

.about-guide-page .about-zone-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}

.about-guide-page .about-zone-card {
  grid-column: span 3;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border-radius: 1.6rem;
  border: 1px solid rgba(197, 161, 90, 0.16);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(250, 245, 236, 0.98) 100%);
  box-shadow: 0 28px 60px -44px rgba(18, 30, 48, 0.2);
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.about-guide-page .about-zone-card:hover {
  transform: translateY(-0.35rem);
  border-color: rgba(197, 161, 90, 0.28);
  box-shadow: 0 34px 72px -44px rgba(18, 30, 48, 0.26);
}

.about-guide-page .about-zone-card--featured {
  grid-column: span 6;
  grid-row: span 2;
}

.about-guide-page .about-zone-media {
  position: relative;
  padding: 0.8rem 0.8rem 0;
}

.about-guide-page .about-zone-media img {
  width: 100%;
  height: 14rem;
  object-fit: cover;
  border-radius: 1.2rem;
  display: block;
}

.about-guide-page .about-zone-media--featured img {
  height: 18.75rem;
}

.about-guide-page .about-zone-badge {
  position: absolute;
  left: 1.55rem;
  bottom: -1.45rem;
  width: 3.35rem;
  height: 3.35rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 4px solid rgba(255, 251, 243, 0.98);
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  color: #fffdf7;
  box-shadow: 0 18px 36px -20px rgba(18, 30, 48, 0.34);
  z-index: 2;
}

.about-guide-page .about-zone-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 2.2rem 1.35rem 1.35rem;
}

.about-guide-page .about-zone-tag {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 0.95rem;
  padding: 0.42rem 0.82rem;
  border-radius: 999px;
  background: rgba(23, 52, 83, 0.08);
  color: #8c652b;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.about-guide-page .about-zone-card--featured .about-zone-tag {
  background: rgba(23, 52, 83, 0.12);
  color: #7a5526;
}

.about-guide-page .about-zone-card h3 {
  margin-bottom: 0.7rem;
  color: #12253d;
  font-family: "Merriweather", serif;
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.18;
}

.about-guide-page .about-zone-card--featured h3 {
  font-size: clamp(1.9rem, 2.8vw, 2.6rem);
}

.about-guide-page .about-zone-card p {
  margin-bottom: 0;
  color: rgba(18, 37, 61, 0.78);
  line-height: 1.78;
}

.about-guide-page .about-zone-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.15rem;
}

.about-guide-page .about-zone-meta span {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.78rem;
  border-radius: 999px;
  background: rgba(197, 161, 90, 0.12);
  color: #6d5232;
  font-size: 0.78rem;
  font-weight: 600;
}

.about-guide-page .about-zone-card .about-btn {
  margin-top: auto;
  align-self: flex-start;
}

.about-guide-page .guide-elephant-panel {
  background: linear-gradient(135deg, #173453 0%, #10263e 48%, #7b5a38 100%);
}

.about-guide-page .guide-copy-block--light h2,
.about-guide-page .guide-copy-block--light p,
.about-guide-page .guide-copy-block--light .guide-point-item span {
  color: #fff7eb;
}

.about-guide-page .guide-point-item i,
.about-guide-page .guide-check-item i {
  color: #e7c98c;
}

.about-guide-page .guide-elephant .guide-point-item i,
.about-guide-page .guide-responsible .guide-check-item i {
  color: #fff7eb !important;
}

.about-guide-page .guide-responsible {
  background: linear-gradient(180deg, rgba(23, 28, 56, 0.98) 0%, rgba(15, 21, 43, 0.98) 100%);
}

.about-guide-page .guide-responsible-panel {
  background: rgba(255, 253, 248, 0.03);
  border: 1px solid rgba(255, 253, 248, 0.08);
}

.about-guide-page .guide-check-item {
  background: rgba(255, 253, 248, 0.06);
  border-color: rgba(255, 253, 248, 0.08);
}

.about-guide-page .guide-faq-accordion .accordion-item {
  box-shadow: 0 20px 34px -32px rgba(18, 30, 48, 0.18);
}

.about-guide-page .guide-cinematic-cta.final-cta-band {
  margin-bottom: 0 !important;
  background: url(../img/featured/rajaji-forest-trail.avif) center 48% / cover no-repeat;
}

.about-guide-page > .site-footer-band.site-footer-band--premium {
  margin-top: 0 !important;
  padding-top: clamp(2.5rem, 4vw, 3.2rem);
}

.about-guide-page .guide-cinematic-cta .guide-mini-label--dark,
.about-guide-page .guide-cinematic-cta h2,
.about-guide-page .guide-cinematic-cta p {
  color: #fff7eb;
}

.about-guide-page .guide-cinematic-cta .btn-secondary {
  background: linear-gradient(135deg, #f6d88b 0%, #ddb35a 52%, #b7852f 100%);
  border-color: rgba(255, 236, 182, 0.9);
  color: #241703 !important;
  box-shadow: 0 16px 34px -18px rgba(197, 145, 48, 0.92), inset 0 1px 0 rgba(255, 255, 255, 0.38);
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.about-guide-page .guide-cinematic-cta .btn-secondary:hover,
.about-guide-page .guide-cinematic-cta .btn-secondary:focus {
  background: linear-gradient(135deg, #ffe3a3 0%, #e7be67 52%, #c08a31 100%);
  border-color: #ffe8b4;
  color: #1f1303 !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 38px -18px rgba(215, 164, 66, 1), inset 0 1px 0 rgba(255, 255, 255, 0.44);
}

.about-guide-page .guide-cinematic-cta .btn-secondary:focus {
  box-shadow: 0 0 0 0.2rem rgba(247, 210, 122, 0.34), 0 20px 38px -18px rgba(215, 164, 66, 1), inset 0 1px 0 rgba(255, 255, 255, 0.44);
}

@media (max-width: 991.98px) {
  .about-guide-page .guide-hero-panel {
    padding: 0;
  }

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

  .about-hero-visual-wrap {
    padding-left: 0;
  }

  .about-hero-image-card {
    min-height: 30rem;
  }

  .about-hero-location-card {
    position: static;
    width: 100%;
    margin-top: 1rem;
  }

  .about-guide-page .guide-hero-shell {
    width: min(100%, calc(100% - 1.5rem));
  }

  .guide-bird-card-grid {
    grid-template-columns: 1fr 1fr;
  }

  .guide-birds-visual-wrap {
    padding-left: 0;
  }

  .guide-birds-media-card--feature img {
    min-height: 30rem;
  }

  .guide-birds-highlight-card {
    left: 1rem;
    bottom: 1rem;
    width: min(18rem, 65%);
  }

  .about-guide-page .about-zone-card--featured {
    grid-column: span 12;
    grid-row: auto;
  }

  .about-guide-page .about-zone-card {
    grid-column: span 6;
  }
}

@media (max-width: 767.98px) {
  .about-hero-title {
    max-width: 7ch;
  }

  .about-hero-pill-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
  }

  .about-hero-pill {
    min-height: 4.25rem;
    padding: 0.85rem 0.9rem;
    font-size: 0.92rem;
  }

  .about-hero-image-card {
    min-height: 23rem;
    border-radius: 1.8rem;
  }

  .about-guide-page .about-zone-grid {
    grid-template-columns: 1fr;
  }

  .about-guide-page .about-zone-card,
  .about-guide-page .about-zone-card--featured {
    grid-column: span 1;
  }

  .about-guide-page .about-zone-media img,
  .about-guide-page .about-zone-media--featured img {
    height: 15.5rem;
  }

  .about-guide-page .about-zone-body {
    padding: 2.05rem 1.1rem 1.15rem;
  }

  .about-hero-location-card {
    gap: 0.85rem;
    padding: 1.1rem 1rem;
  }

  .about-hero-location-icon {
    width: 3.25rem;
    height: 3.25rem;
  }

  .about-hero-location-card strong {
    font-size: 1.05rem;
  }

  .about-guide-page .guide-section-head {
    margin-bottom: 3rem;
  }

  .about-guide-page .guide-hero-divider {
    margin: 1.4rem 0 1.2rem;
  }

  .guide-bird-card-grid {
    grid-template-columns: 1fr;
  }

  .guide-birds-media-card--feature img {
    min-height: 22rem;
  }

  .guide-birds-highlight-card {
    position: static;
    width: 100%;
    margin-top: 1rem;
  }

  .guide-bird-strip {
    gap: 0.75rem;
  }

  .guide-bird-strip span {
    width: 100%;
  }
}

/********** Final About hero reference-match overrides **********/
.about-guide-page {
  background: #fbf6e9;
}

.about-guide-page .guide-hero {
  background: #fbf6e9 !important;
}

.about-guide-page .guide-hero::before,
.about-guide-page .guide-hero::after {
  display: none !important;
}

.about-guide-page .guide-hero-overlay {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 252, 240, 0.92) 0%, rgba(255, 252, 240, 0.2) 32%, transparent 56%),
    radial-gradient(circle at 86% 18%, rgba(199, 172, 111, 0.14), transparent 20%),
    linear-gradient(180deg, #fff9ed 0%, #f8efd9 100%) !important;
}

.about-guide-page .guide-hero-overlay::after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: -1px;
  height: clamp(9rem, 17vw, 16rem);
  background:
    linear-gradient(180deg, rgba(251, 246, 233, 0) 0%, rgba(251, 246, 233, 0.68) 74%, rgba(251, 246, 233, 0.95) 100%),
    url("../img/featured/rajaji-forest-trail.avif") center bottom / cover no-repeat;
  opacity: 0.24;
  filter: saturate(0.85) sepia(0.12);
  pointer-events: none;
  z-index: 0;
}

.about-guide-page .guide-hero-shell {
  position: relative;
  z-index: 2;
  width: min(1360px, calc(100% - 3rem));
  margin: 0 auto;
  padding-top: clamp(2.1rem, 4vh, 3rem) !important;
  padding-bottom: clamp(3.25rem, 6vh, 4.75rem) !important;
}

.about-guide-page .guide-hero .wow {
  visibility: visible !important;
}

.about-guide-page .guide-hero-shell .row {
  --bs-gutter-x: clamp(3.5rem, 7vw, 7.25rem);
}

.about-guide-page .guide-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #385b2e !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(0.78rem, 0.9vw, 0.92rem);
  font-weight: 700;
  letter-spacing: 0.24em;
}

.about-guide-page .guide-kicker i {
  color: #4f7138;
  font-size: 0.9em;
}

.about-hero-title-frame {
  display: grid;
  justify-items: start;
  gap: 1.35rem;
  max-width: 45rem;
  margin-top: 1.25rem;
}

.about-hero-line {
  position: relative;
  width: 4.15rem;
  height: 2px;
  border-radius: 999px;
  background: #a9772d !important;
}

.about-hero-line:last-child::after {
  position: absolute;
  content: "";
  right: -0.65rem;
  top: 50%;
  width: 0.28rem;
  height: 0.28rem;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #a9772d;
}

.about-hero-title {
  max-width: 45rem !important;
  color: #173b22 !important;
  font-size: clamp(4rem, 6.35vw, 6.35rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em;
}

.about-hero-copy {
  max-width: 39.5rem !important;
  margin-top: 1.9rem;
  color: rgba(56, 55, 48, 0.84) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(1.04rem, 1.2vw, 1.18rem) !important;
  line-height: 1.72 !important;
}

.about-guide-page .guide-hero-actions {
  gap: 1.45rem;
  margin-top: 2.05rem;
}

.about-guide-page .guide-hero .hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: clamp(13.8rem, 16vw, 16.25rem);
  min-height: 4.18rem;
  padding: 1rem 1.65rem;
  border-radius: 0.66rem;
  font-family: "Poppins", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.about-guide-page .guide-hero .hero-btn i {
  font-size: 1.18rem;
}

.about-guide-page .guide-hero .hero-btn-primary {
  background: linear-gradient(180deg, #164b25 0%, #0f3d1c 100%) !important;
  border-color: #164b25 !important;
  color: #fffaf0 !important;
  box-shadow: 0 22px 42px -28px rgba(20, 64, 31, 0.7);
}

.about-guide-page .guide-hero .hero-btn-outline {
  background: rgba(255, 252, 245, 0.58) !important;
  border: 1px solid #a9772d !important;
  color: #9d712d !important;
  box-shadow: none;
}

.about-hero-pill-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  max-width: 43rem;
  margin-top: 2.35rem;
}

.about-hero-pill {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 4.78rem;
  padding: 0.85rem 1.15rem;
  border-radius: 0.82rem;
  border: 1px solid rgba(169, 119, 45, 0.12);
  background: rgba(255, 252, 245, 0.78);
  box-shadow: 0 18px 34px -28px rgba(49, 40, 25, 0.42);
  color: #153921;
  font-family: var(--font-body);
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.35;
}

.about-hero-pill i {
  min-width: 1.7rem;
  color: #a77a32 !important;
  font-size: 1.5rem;
  text-align: center;
}

.about-hero-visual-wrap {
  position: relative;
  padding-left: 0;
}

.about-hero-image-card {
  position: relative;
  overflow: hidden;
  min-height: clamp(40rem, 58vw, 56rem);
  border-radius: 1.8rem;
  box-shadow: 0 34px 70px -48px rgba(35, 27, 12, 0.4);
}

.about-hero-image-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(1.06) contrast(1.02) brightness(1.02);
}

.about-hero-location-card {
  position: absolute;
  right: -2.9rem;
  top: 10.9rem;
  width: min(20.5rem, 48vw);
  display: flex;
  align-items: center;
  gap: 1.3rem;
  padding: 1.8rem 1.75rem;
  border-radius: 1.35rem;
  background: rgba(255, 252, 245, 0.93);
  border: 1px solid rgba(169, 119, 45, 0.1);
  box-shadow: 0 24px 52px -38px rgba(49, 40, 25, 0.38);
}

.about-hero-location-icon {
  display: inline-grid;
  place-items: center;
  width: 3.8rem;
  height: 3.8rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(180deg, #174b25 0%, #0c3b19 100%);
  color: #fff7eb;
}

.about-hero-location-icon i {
  font-size: 1.35rem;
}

.about-hero-location-card strong {
  display: block;
  color: #153921;
  font-family: var(--font-body);
  font-size: clamp(1.14rem, 1.45vw, 1.36rem);
  line-height: 1.45;
}

.about-hero-birds {
  position: absolute;
  top: clamp(7rem, 11vh, 8.8rem);
  left: 43%;
  display: flex;
  gap: 1.25rem;
  color: rgba(115, 105, 83, 0.28);
  font-size: clamp(1.15rem, 1.9vw, 1.75rem);
  transform: rotate(-3deg);
  z-index: 1;
  pointer-events: none;
}

.about-hero-birds i:nth-child(2),
.about-hero-birds i:nth-child(4) {
  transform: translateY(-1.1rem) scale(0.86);
}

.about-hero-leaves {
  position: absolute;
  color: rgba(72, 95, 54, 0.58);
  z-index: 1;
  pointer-events: none;
}

.about-hero-leaves i {
  position: absolute;
  display: block;
  filter: drop-shadow(0 8px 14px rgba(47, 69, 38, 0.08));
}

.about-hero-leaves--top {
  left: -0.5rem;
  top: -0.75rem;
  width: 9rem;
  height: 8rem;
  transform: rotate(-25deg);
  font-size: 2.1rem;
}

.about-hero-leaves--top i:nth-child(1) { left: 0.2rem; top: 0.9rem; transform: rotate(22deg); }
.about-hero-leaves--top i:nth-child(2) { left: 3rem; top: 1.7rem; transform: rotate(68deg); }
.about-hero-leaves--top i:nth-child(3) { left: 5.25rem; top: 3.2rem; transform: rotate(118deg); }
.about-hero-leaves--top i:nth-child(4) { left: 2.35rem; top: 5rem; transform: rotate(156deg); }

.about-hero-leaves--right {
  right: 0.75rem;
  bottom: 12.5rem;
  width: 4rem;
  height: 8rem;
  color: rgba(169, 119, 45, 0.08);
  font-size: 2rem;
}

.about-hero-leaves--right i:nth-child(1) { right: 0.2rem; top: 0; transform: rotate(-18deg); }
.about-hero-leaves--right i:nth-child(2) { right: 1rem; top: 2.6rem; transform: rotate(22deg); }
.about-hero-leaves--right i:nth-child(3) { right: 0; top: 5.4rem; transform: rotate(-8deg); }

@media (max-width: 1199.98px) {
  .about-guide-page .guide-hero-shell {
    width: min(100%, calc(100% - 2rem));
  }

  .about-hero-title {
    font-size: clamp(3.4rem, 7vw, 5.3rem) !important;
  }

  .about-hero-location-card {
    right: 1rem;
  }
}

@media (max-width: 991.98px) {
  .about-guide-page .guide-hero-shell {
    padding-top: 6.5rem !important;
  }

  .about-guide-page .guide-hero-shell .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 2.25rem;
  }

  .about-hero-title {
    max-width: 42rem !important;
  }

  .about-hero-pill-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 34rem;
  }

  .about-hero-image-card {
    min-height: 34rem;
  }

  .about-hero-location-card {
    position: absolute;
    right: 1rem;
    top: 2rem;
    width: min(19rem, calc(100% - 2rem));
  }

  .about-hero-birds {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .about-guide-page .guide-hero-shell {
    width: min(100%, calc(100% - 1.25rem));
    padding-top: 5.8rem !important;
  }

  .about-hero-title {
    max-width: 100% !important;
    font-size: clamp(2.85rem, 14vw, 4.1rem) !important;
  }

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

  .about-guide-page .guide-hero-actions {
    gap: 0.8rem;
  }

  .about-guide-page .guide-hero .hero-btn {
    width: 100%;
  }

  .about-hero-pill-grid {
    grid-template-columns: 1fr 1fr;
  }

  .about-hero-pill {
    min-height: 4.2rem;
    padding: 0.75rem 0.85rem;
    font-size: 0.86rem;
  }

  .about-hero-pill i {
    font-size: 1.25rem;
  }

  .about-hero-image-card {
    min-height: 27rem;
    border-radius: 1.45rem;
  }

  .about-hero-location-card {
    position: static;
    width: 100%;
    margin-top: 1rem;
  }

  .about-hero-leaves--top {
    opacity: 0.45;
    transform: rotate(-25deg) scale(0.72);
    transform-origin: top left;
  }
}

/********** Final About hero proportional tuning **********/
.about-guide-page .guide-hero-shell {
  width: min(1400px, calc(100% - 2.5rem));
  padding-top: clamp(0.75rem, 2vh, 1.4rem) !important;
}

.about-guide-page .guide-hero-shell .row {
  --bs-gutter-x: clamp(2rem, 3.5vw, 3rem);
}

.about-hero-image-card {
  height: clamp(42rem, 59vw, 56rem);
  min-height: 0;
}

.about-hero-image-card img {
  height: 100%;
}

@media (min-width: 1200px) {
  .about-hero-visual-wrap {
    margin-right: -4rem;
  }
}

.about-guide-page .guide-hero .wow {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

/********** About page match homepage palette and typography **********/
.about-guide-page {
  background: var(--light) !important;
  color: var(--dark) !important;
  font-family: var(--font-body) !important;
}

.about-guide-page main {
  background: var(--light) !important;
}

.about-guide-page main > section,
.about-guide-page .guide-section,
.about-guide-page .guide-section:nth-of-type(even),
.about-guide-page .guide-highlights,
.about-guide-page .guide-location,
.about-guide-page .guide-zones,
.about-guide-page .guide-seasons,
.about-guide-page .guide-faq,
.about-guide-page .guide-history,
.about-guide-page .guide-landscape,
.about-guide-page .guide-why {
  background: var(--light) !important;
}

.about-guide-page h1,
.about-guide-page h2,
.about-guide-page h3,
.about-guide-page h4,
.about-guide-page h5,
.about-guide-page h6,
.about-guide-page .guide-hero-title,
.about-guide-page .about-hero-title,
.about-guide-page .guide-section-head h2,
.about-guide-page .guide-copy-block h2,
.about-guide-page .guide-map-copy h2,
.about-guide-page .guide-cinematic-cta h2,
.about-guide-page .guide-masonry-card figcaption {
  font-family: var(--font-display) !important;
}

.about-guide-page,
.about-guide-page p,
.about-guide-page li,
.about-guide-page span,
.about-guide-page small,
.about-guide-page strong,
.about-guide-page .guide-kicker,
.about-guide-page .guide-mini-label,
.about-guide-page .guide-panel-label,
.about-guide-page .guide-hero-copy,
.about-guide-page .about-hero-copy,
.about-guide-page .guide-hero .hero-btn,
.about-guide-page .about-hero-pill,
.about-guide-page .about-hero-location-card strong,
.about-guide-page .guide-zone-pill,
.about-guide-page .guide-season-tag,
.about-guide-page .guide-faq-accordion .accordion-button,
.about-guide-page .guide-faq-accordion .accordion-body {
  font-family: var(--font-body) !important;
}

.about-guide-page .guide-hero,
.about-guide-page .guide-hero-overlay {
  background:
    radial-gradient(circle at 12% 18%, rgba(46, 125, 50, 0.12), transparent 20%),
    radial-gradient(circle at 88% 16%, rgba(27, 94, 32, 0.11), transparent 22%),
    linear-gradient(180deg, #f5fff5 0%, var(--light) 100%) !important;
}

.about-guide-page .guide-hero-overlay::after {
  background:
    linear-gradient(180deg, rgba(232, 245, 233, 0) 0%, rgba(232, 245, 233, 0.72) 74%, var(--light) 100%),
    url("../img/featured/rajaji-forest-trail.avif") center bottom / cover no-repeat !important;
  filter: saturate(0.95) hue-rotate(8deg) !important;
  opacity: 0.2 !important;
}

.about-guide-page .guide-kicker,
.about-guide-page .guide-mini-label,
.about-guide-page .guide-panel-label,
.about-guide-page .guide-zone-pill,
.about-guide-page .guide-season-tag,
.about-guide-page .guide-route-distance {
  color: var(--accent-olive) !important;
}

.about-guide-page .guide-kicker i,
.about-guide-page .about-hero-pill i,
.about-guide-page .guide-point-item i,
.about-guide-page .guide-check-item i,
.about-guide-page .guide-experience-card i,
.about-guide-page .guide-bird-item i {
  color: var(--primary) !important;
}

.about-guide-page .guide-birds,
.about-guide-page .guide-birds .container {
  background: var(--light) !important;
}

.about-guide-page .guide-copy-block--birds h2 {
  color: var(--secondary) !important;
  font-family: var(--font-display) !important;
}

.about-guide-page .guide-copy-block--birds p,
.about-guide-page .guide-bird-card > strong + span,
.about-guide-page .guide-bird-strip span {
  color: var(--ink-soft) !important;
  font-family: var(--font-body) !important;
}

.about-guide-page .guide-bird-card,
.about-guide-page .guide-bird-strip {
  background: var(--white) !important;
  border-color: var(--border) !important;
  box-shadow: 0 24px 54px -44px rgba(13, 59, 16, 0.22) !important;
}

.about-guide-page .guide-bird-card strong,
.about-guide-page .guide-bird-strip span {
  color: var(--secondary) !important;
}

.about-guide-page .guide-bird-icon {
  background: linear-gradient(180deg, rgba(232, 245, 233, 0.95), rgba(241, 248, 241, 0.98)) !important;
  color: var(--primary) !important;
}

.about-guide-page .guide-bird-strip i {
  color: var(--primary) !important;
}

.about-guide-page .about-hero-title,
.about-guide-page .guide-section-head h2,
.about-guide-page .guide-copy-block:not(.guide-copy-block--light) h2,
.about-guide-page .guide-map-copy h2,
.about-guide-page .guide-highlight-card h3,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo) h3,
.about-guide-page .guide-route-card h3,
.about-guide-page .guide-timeline-item h3,
.about-guide-page .guide-season-card h3,
.about-guide-page .guide-reason-card h3,
.about-guide-page .guide-bird-item strong,
.about-guide-page .guide-experience-card strong,
.about-guide-page .guide-intro-floating strong,
.about-guide-page .about-hero-pill,
.about-guide-page .about-hero-location-card strong {
  color: var(--secondary) !important;
}

.about-guide-page .about-hero-copy,
.about-guide-page .guide-section-head p,
.about-guide-page .guide-copy-block:not(.guide-copy-block--light) p,
.about-guide-page .guide-map-copy p,
.about-guide-page .guide-highlight-card p,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo) p,
.about-guide-page .guide-route-card p,
.about-guide-page .guide-timeline-item p,
.about-guide-page .guide-season-card p,
.about-guide-page .guide-reason-card p,
.about-guide-page .guide-bird-item span,
.about-guide-page .guide-experience-card span,
.about-guide-page .guide-intro-floating span,
.about-guide-page .guide-bullet-list li {
  color: var(--ink-soft) !important;
}

.about-guide-page .about-hero-line,
.about-guide-page .about-hero-line:last-child::after,
.about-guide-page .guide-section-head::after,
.about-guide-page .guide-timeline-item::before {
  background: var(--primary) !important;
}

.about-guide-page .guide-timeline::before {
  background: linear-gradient(180deg, var(--primary) 0%, var(--secondary) 100%) !important;
}

.about-guide-page .guide-hero .hero-btn-primary {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
  box-shadow: 0 22px 42px -28px rgba(13, 59, 16, 0.55) !important;
}

.about-guide-page .guide-hero .hero-btn-primary:hover {
  background: var(--accent-earth) !important;
  border-color: var(--accent-earth) !important;
}

.about-guide-page .guide-hero .hero-btn-outline {
  background: rgba(255, 255, 255, 0.7) !important;
  border-color: rgba(27, 94, 32, 0.35) !important;
  color: var(--primary) !important;
}

.about-guide-page .guide-hero .hero-btn-outline:hover {
  background: rgba(27, 94, 32, 0.08) !important;
  border-color: var(--primary) !important;
  color: var(--secondary) !important;
}

.about-guide-page .about-hero-pill,
.about-guide-page .about-hero-location-card,
.about-guide-page .guide-highlight-card,
.about-guide-page .guide-animal-card:not(.guide-animal-card--photo),
.about-guide-page .guide-season-card,
.about-guide-page .guide-reason-card,
.about-guide-page .guide-route-card,
.about-guide-page .guide-bird-item,
.about-guide-page .guide-experience-card,
.about-guide-page .guide-intro-floating,
.about-guide-page .guide-timeline-item,
.about-guide-page .guide-map-panel,
.about-guide-page .guide-experience-panel,
.about-guide-page .guide-faq-accordion .accordion-item,
.about-guide-page .guide-faq-accordion .accordion-button {
  background: var(--white) !important;
  border-color: var(--border) !important;
  box-shadow: 0 24px 54px -44px rgba(13, 59, 16, 0.22) !important;
}

.about-guide-page .guide-highlight-icon,
.about-guide-page .guide-animal-icon,
.about-guide-page .guide-route-icon,
.about-guide-page .guide-reason-card i,
.about-guide-page .about-hero-location-icon {
  background: var(--primary) !important;
  border-color: rgba(27, 94, 32, 0.28) !important;
  color: var(--white) !important;
}

.about-guide-page .guide-elephant-panel,
.about-guide-page .guide-floating-note {
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%) !important;
}

.about-guide-page .guide-responsible {
  background: linear-gradient(180deg, var(--secondary) 0%, var(--dark) 100%) !important;
}

.about-guide-page .guide-masonry-card--fill {
  grid-column: span 7;
}

.about-guide-page .guide-masonry-card,
.about-guide-page .guide-zone-card,
.about-guide-page .guide-animal-card--photo {
  border-radius: 1.45rem;
  box-shadow: 0 26px 52px -42px rgba(13, 59, 16, 0.24) !important;
}

.about-guide-page .guide-zone-card::after,
.about-guide-page .guide-animal-card--photo::after,
.about-guide-page .guide-masonry-card::after {
  background: linear-gradient(180deg, rgba(8, 33, 10, 0.02) 34%, rgba(8, 33, 10, 0.78) 100%) !important;
}

@media (max-width: 1199.98px) {
  .about-guide-page .guide-masonry-card--fill {
    grid-column: span 6;
  }
}

@media (max-width: 767.98px) {
  .about-guide-page .guide-masonry-card--fill {
    grid-column: span 12;
  }
}

/********** Final sitewide homepage green/font normalization **********/
:root {
  --primary: #1b5e20;
  --secondary: #0d3b10;
  --light: #e8f5e9;
  --dark: #08210a;
  --button: #1b5e20;
  --white: #ffffff;
  --gray: #f1f8f1;
  --border: rgba(27, 94, 32, 0.2);
  --ink-soft: rgba(13, 59, 16, 0.78);
  --cream-deep: #c8e6c9;
  --shadow-soft: 0 24px 52px -42px rgba(13, 59, 16, 0.28);
  --accent-earth: #2e7d32;
  --accent-olive: #5f7952;
  --font-display: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
  --font-body: "Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

html,
body,
body.inner-page,
body.home-flagship-page {
  background: var(--light) !important;
  color: var(--dark) !important;
  font-family: var(--font-body) !important;
}

body.inner-page main,
.content-guide-page main,
.zone-detail-page main,
.zones-guide-page main,
.booking-page main,
.about-guide-page main {
  background: var(--light) !important;
}

body,
p,
li,
small,
label,
input,
textarea,
select,
button,
.btn,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .dropdown-item,
.hero-eyebrow,
.guide-kicker,
.guide-mini-label,
.guide-panel-label,
.values-eyebrow,
.about-eyebrow,
.team-eyebrow,
.contact-eyebrow,
.pricing-eyebrow,
.booking-eyebrow,
.travel-access-kicker,
.zone-summary-kicker,
.pricing-chart-kicker,
.zone-secondary-label,
.page-guide-visual-copy .zone-tag,
.plan-pill,
.hero-top-badge,
.booking-side-badges span,
.guide-zone-pill,
.guide-season-tag,
.spec-card span,
.season-recommend-card span,
.faq-category-card span,
.hotel-tier-card span,
.hotel-city-card span,
.related-topic-card span,
.chooser-card span,
.quick-stat-card span,
.cost-example-card span,
.route-mini-grid div span,
.footer-link-item,
.footer-copy,
.footer-contact-item p {
  font-family: var(--font-body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero-title,
.guide-hero-title,
.zone-detail-hero-title,
.zones-guide-title,
.booking-title,
.about-heading,
.about-hero-title,
.values-title,
.team-title,
.contact-title,
.pricing-hero-title,
.final-cta-title,
.guide-section-head h2,
.zone-section-head h2,
.guide-copy-block h2,
.page-guide-visual-copy h2,
.booking-form-card h2,
.booking-support-panel h3,
.zone-guidance-card h2,
.route-city-card--wide h3,
.section-title h1,
.section-title h3,
.footer-title {
  font-family: var(--font-display) !important;
}

body.inner-page h1,
body.inner-page h2,
body.inner-page h3,
body.inner-page h4,
body.inner-page .values-title,
body.inner-page .guide-section-head h2,
body.inner-page .zone-section-head h2,
body.inner-page .guide-copy-block:not(.guide-copy-block--light) h2,
body.inner-page .page-guide-visual-copy h2,
body.inner-page .booking-form-card h2,
body.inner-page .booking-support-panel:not(.booking-support-panel--accent) h3,
body.inner-page .zone-guidance-card h2,
body.inner-page .route-city-card--wide h3,
body.inner-page .guide-highlight-card h3,
body.inner-page .guide-route-card h3,
body.inner-page .guide-season-card h3,
body.inner-page .guide-reason-card h3,
body.inner-page .zone-secondary-card h3,
body.inner-page .quick-stat-card strong,
body.inner-page .route-city-card h3,
body.inner-page .transport-mode-card h3,
body.inner-page .base-zone-card h3,
body.inner-page .timing-season-card h3,
body.inner-page .comparison-focus-card h3,
body.inner-page .cost-example-card h3,
body.inner-page .plan-card-body h3,
body.inner-page .wildlife-info-card-body h3,
body.inner-page .season-recommend-card h3,
body.inner-page .hotel-tier-card h3,
body.inner-page .hotel-city-card h3,
body.inner-page .related-topic-card h3,
body.inner-page .chooser-card h3 {
  color: var(--secondary) !important;
}

body.inner-page p,
body.inner-page li,
body.inner-page .guide-section-head p,
body.inner-page .zone-section-head p,
body.inner-page .guide-copy-block:not(.guide-copy-block--light) p,
body.inner-page .page-guide-visual-copy p,
body.inner-page .booking-form-card p,
body.inner-page .booking-support-panel:not(.booking-support-panel--accent) p,
body.inner-page .zone-guidance-card p,
body.inner-page .route-city-card p,
body.inner-page .transport-mode-card p,
body.inner-page .base-zone-card p,
body.inner-page .timing-season-card p,
body.inner-page .comparison-focus-card p,
body.inner-page .cost-example-card p,
body.inner-page .plan-card-body p,
body.inner-page .wildlife-info-card-body p,
body.inner-page .season-recommend-card p,
body.inner-page .hotel-tier-card p,
body.inner-page .hotel-city-card p,
body.inner-page .related-topic-card p,
body.inner-page .chooser-card p,
body.inner-page .guide-highlight-card p,
body.inner-page .guide-route-card p,
body.inner-page .guide-season-card p,
body.inner-page .guide-reason-card p,
body.inner-page .zone-secondary-card p,
body.inner-page .quick-stat-card p {
  color: var(--ink-soft) !important;
}

body.inner-page .hero-eyebrow,
body.inner-page .guide-kicker,
body.inner-page .guide-mini-label,
body.inner-page .guide-panel-label,
body.inner-page .values-eyebrow,
body.inner-page .travel-access-kicker,
body.inner-page .zone-summary-kicker,
body.inner-page .pricing-chart-kicker,
body.inner-page .zone-secondary-label,
body.inner-page .booking-eyebrow,
body.inner-page .pricing-eyebrow,
body.inner-page .plan-pill,
body.inner-page .guide-zone-pill,
body.inner-page .guide-season-tag,
body.inner-page .spec-card span,
body.inner-page .quick-stat-card span,
body.inner-page .cost-example-card span {
  color: var(--accent-olive) !important;
}

.navbar-dark,
.sticky-top.navbar-dark,
.inner-page .navbar-dark,
.inner-page .sticky-top.navbar-dark,
.topbar-band,
.site-footer-band,
.copyright-band {
  background: var(--secondary) !important;
  background-image: none !important;
}

body.inner-page .page-guide-hero-overlay,
body.inner-page .zone-detail-hero-overlay,
body.inner-page .zone-page-hero-overlay,
body.inner-page .booking-page-hero-overlay,
body.inner-page .guide-hero-overlay,
body.inner-page .guide-cinematic-cta-overlay {
  background:
    linear-gradient(180deg, rgba(8, 33, 10, 0.52) 0%, rgba(8, 33, 10, 0.86) 100%),
    radial-gradient(circle at 18% 18%, rgba(46, 125, 50, 0.34), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(95, 121, 82, 0.2), transparent 24%) !important;
}

.guide-hero-overlay,
body.inner-page .guide-hero-overlay,
.zone-detail-hero-overlay,
body.inner-page.zone-detail-page .zone-detail-hero-overlay,
.zone-page-hero-overlay,
body.inner-page.zone-detail-page .zone-page-hero-overlay,
.booking-page-hero-overlay,
body.inner-page.booking-page .booking-page-hero-overlay,
.content-guide-page .page-guide-hero-overlay,
body.inner-page.content-guide-page .page-guide-hero-overlay {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.8) 54%, rgba(0, 0, 0, 0.9) 100%),
    radial-gradient(circle at 50% 14%, rgba(255, 255, 255, 0.08), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.04), transparent 22%) !important;
}



body.inner-page .page-guide-hero h1,
body.inner-page .page-guide-hero h2,
body.inner-page .page-guide-hero .guide-hero-title,
body.inner-page .zones-guide-hero h1,
body.inner-page .zones-guide-hero h2,
body.inner-page .zones-guide-title,
body.inner-page .zone-detail-hero h1,
body.inner-page .zone-detail-hero h2,
body.inner-page .zone-detail-hero-title,
body.inner-page .zone-page-hero h1,
body.inner-page .zone-page-hero h2,
body.inner-page .booking-page-hero h1,
body.inner-page .booking-page-hero h2,
body.inner-page .guide-cinematic-cta h2,
body.inner-page .guide-copy-block--light h2,
body.inner-page .guide-copy-block--light p,
body.inner-page .guide-copy-block--light li,
body.inner-page .booking-support-panel--accent h3,
body.inner-page .booking-support-panel--accent p,
body.inner-page .guide-elephant-panel h2,
body.inner-page .guide-elephant-panel p,
body.inner-page .guide-responsible h2,
body.inner-page .guide-responsible p {
  color: var(--white) !important;
}

body.inner-page .page-guide-hero p,
body.inner-page .zones-guide-hero p,
body.inner-page .zone-detail-hero p,
body.inner-page .zone-page-hero p,
body.inner-page .booking-page-hero p,
body.inner-page .guide-cinematic-cta p {
  color: rgba(255, 255, 255, 0.86) !important;
}

body.inner-page .value-card,
body.inner-page .zone-simple-card,
body.inner-page .travel-route-card,
body.inner-page .wildlife-species-card,
body.inner-page .pricing-card,
body.inner-page .guide-highlight-card,
body.inner-page .guide-animal-card:not(.guide-animal-card--photo),
body.inner-page .guide-season-card,
body.inner-page .guide-reason-card,
body.inner-page .guide-route-card,
body.inner-page .zone-secondary-card,
body.inner-page .quick-stat-card,
body.inner-page .route-city-card,
body.inner-page .transport-mode-card,
body.inner-page .base-zone-card,
body.inner-page .timing-season-card,
body.inner-page .comparison-focus-card,
body.inner-page .cost-example-card,
body.inner-page .plan-card,
body.inner-page .wildlife-info-card,
body.inner-page .spec-card,
body.inner-page .season-recommend-card,
body.inner-page .faq-category-card,
body.inner-page .hotel-tier-card,
body.inner-page .hotel-city-card,
body.inner-page .related-topic-card,
body.inner-page .chooser-card,
body.inner-page .guide-map-panel,
body.inner-page .pricing-chart-card,
body.inner-page .pricing-side-panel,
body.inner-page .travel-access-panel,
body.inner-page .zone-guidance-card,
body.inner-page .booking-form-card,
body.inner-page .booking-support-panel:not(.booking-support-panel--accent) {
  background: var(--white) !important;
  border-color: var(--border) !important;
  box-shadow: 0 24px 54px -44px rgba(13, 59, 16, 0.24) !important;
}

body.inner-page .guide-highlight-icon,
body.inner-page .guide-animal-icon,
body.inner-page .guide-route-icon,
body.inner-page .guide-reason-card i,
body.inner-page .quick-stat-card i,
body.inner-page .travel-route-card i,
body.inner-page .route-city-card i,
body.inner-page .transport-mode-card i,
body.inner-page .base-zone-card i,
body.inner-page .booking-feature-card i,
body.inner-page .booking-trust-item i,
body.inner-page .spec-card i,
body.inner-page .about-hero-location-icon {
  background: var(--primary) !important;
  border-color: rgba(27, 94, 32, 0.28) !important;
  color: var(--white) !important;
}

body.inner-page .btn-primary,
body.inner-page .btn-dark,
body.inner-page .hero-btn-primary,
body.inner-page .about-btn,
body.inner-page .contact-submit-btn,
body.inner-page .booking-submit-btn,
body.inner-page .pricing-btn,
body.inner-page .service-btn {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

body.inner-page .btn-primary:hover,
body.inner-page .btn-dark:hover,
body.inner-page .hero-btn-primary:hover,
body.inner-page .about-btn:hover,
body.inner-page .contact-submit-btn:hover,
body.inner-page .booking-submit-btn:hover,
body.inner-page .pricing-btn:hover,
body.inner-page .service-btn:hover {
  background: var(--accent-earth) !important;
  border-color: var(--accent-earth) !important;
  color: var(--white) !important;
}

body.inner-page .btn-secondary,
body.inner-page .hero-btn-outline {
  background: transparent !important;
  border-color: rgba(27, 94, 32, 0.34) !important;
  color: var(--primary) !important;
}

body.inner-page .btn-secondary:hover,
body.inner-page .hero-btn-outline:hover {
  background: rgba(27, 94, 32, 0.08) !important;
  border-color: var(--primary) !important;
  color: var(--secondary) !important;
}

body.inner-page .guide-elephant-panel,
body.inner-page .booking-support-panel--accent,
body.inner-page .zone-feature-card--dark,
body.inner-page .guide-responsible-panel,
body.inner-page .guide-floating-note {
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

body.inner-page .guide-section-head::after,
body.inner-page .section-title::before,
body.inner-page .zone-section-head::after,
body.inner-page .about-divider,
body.inner-page .guide-hero-divider,
body.inner-page .zone-detail-hero-divider,
body.inner-page .about-hero-line,
body.inner-page .about-hero-line:last-child::after,
body.inner-page .booking-title-line {
  background: var(--primary) !important;
}

/********** About wildlife cards UI polish **********/
.about-guide-page .guide-wildlife {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 12%, rgba(46, 125, 50, 0.08), transparent 24%),
    linear-gradient(180deg, var(--light) 0%, var(--gray) 100%) !important;
}

.about-guide-page .guide-wildlife .container {
  max-width: 1180px;
}

.about-guide-page .guide-wildlife .guide-section-head {
  margin-bottom: clamp(2.4rem, 4vw, 3.4rem) !important;
}

.about-guide-page .guide-animal-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.45rem);
  align-items: start;
}

.about-guide-page .guide-animal-grid > div {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  grid-column: span 4;
}

.about-guide-page .guide-wildlife .guide-animal-card {
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 1.35rem !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.about-guide-page .guide-wildlife .guide-animal-card:not(.guide-animal-card--photo) {
  padding: clamp(1.45rem, 2.2vw, 1.9rem) !important;
  min-height: clamp(14.5rem, 18vw, 17.5rem) !important;
  border: 1px solid var(--border) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(27, 94, 32, 0.07), transparent 28%),
    var(--white) !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.about-guide-page .guide-wildlife .guide-animal-card:not(.guide-animal-card--photo)::after {
  position: absolute;
  content: "";
  left: 1.7rem;
  right: 1.7rem;
  bottom: 1.2rem;
  height: 2px;
  background: linear-gradient(90deg, var(--primary), rgba(27, 94, 32, 0));
  opacity: 0.22;
}

.about-guide-page .guide-wildlife .guide-animal-icon {
  width: 3.25rem !important;
  height: 3.25rem !important;
  margin-bottom: 1.15rem !important;
  box-shadow: 0 16px 28px -22px rgba(13, 59, 16, 0.5) !important;
}

.about-guide-page .guide-wildlife .guide-animal-card h3 {
  margin-bottom: 0.65rem !important;
  color: var(--secondary) !important;
  font-size: clamp(1.1rem, 1.4vw, 1.35rem) !important;
  line-height: 1.2 !important;
}

.about-guide-page .guide-wildlife .guide-animal-card p {
  margin: 0 !important;
  color: var(--ink-soft) !important;
  font-size: clamp(0.95rem, 1.05vw, 1.04rem) !important;
  line-height: 1.75 !important;
}

.about-guide-page .guide-wildlife .guide-animal-card--photo {
  min-height: 0 !important;
  height: clamp(18rem, 23vw, 22rem) !important;
  padding: 0 !important;
  border: 1px solid rgba(27, 94, 32, 0.16) !important;
  box-shadow: 0 26px 52px -42px rgba(13, 59, 16, 0.34) !important;
}

.about-guide-page .guide-animal-grid > div:nth-child(5) .guide-animal-card--photo {
  height: clamp(22rem, 30vw, 28rem) !important;
}

.about-guide-page .guide-wildlife .guide-animal-card--photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.06) contrast(1.03) brightness(0.94);
  transition: transform 0.7s ease, filter 0.7s ease;
}

.about-guide-page .guide-wildlife .guide-animal-card--photo::after {
  background:
    linear-gradient(180deg, rgba(8, 33, 10, 0.04) 24%, rgba(8, 33, 10, 0.86) 100%) !important;
}

.about-guide-page .guide-wildlife .guide-animal-card-body {
  padding: clamp(1.2rem, 2vw, 1.55rem) !important;
}

.about-guide-page .guide-wildlife .guide-animal-card--photo h3,
.about-guide-page .guide-wildlife .guide-animal-card--photo p {
  color: var(--white) !important;
  text-shadow: 0 12px 26px rgba(0, 0, 0, 0.35);
}

.about-guide-page .guide-wildlife .guide-animal-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 34px 64px -44px rgba(13, 59, 16, 0.42) !important;
  border-color: rgba(27, 94, 32, 0.34) !important;
}

.about-guide-page .guide-wildlife .guide-animal-card--photo:hover img {
  transform: scale(1.045);
  filter: saturate(1.12) contrast(1.04) brightness(0.98);
}

@media (max-width: 991.98px) {
  .about-guide-page .guide-animal-grid > div {
    grid-column: span 6;
  }

  .about-guide-page .guide-animal-grid > div:nth-child(5) .guide-animal-card--photo {
    height: clamp(18rem, 44vw, 24rem) !important;
  }
}

@media (max-width: 575.98px) {
  .about-guide-page .guide-animal-grid > div {
    grid-column: span 12;
  }

  .about-guide-page .guide-wildlife .guide-animal-card--photo,
  .about-guide-page .guide-animal-grid > div:nth-child(5) .guide-animal-card--photo {
    height: 18rem !important;
  }
}

/********** About hero dark overlay alignment **********/
body.about-guide-page .guide-hero {
  background: #071321 url("../img/featured/about-hero-safari.avif") center 42% / cover no-repeat !important;
}

body.about-guide-page .guide-hero-overlay {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.8) 54%, rgba(0, 0, 0, 0.9) 100%),
    radial-gradient(circle at 50% 14%, rgba(255, 255, 255, 0.08), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.04), transparent 22%) !important;
}

body.about-guide-page .guide-hero-overlay::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 72%, rgba(0, 0, 0, 0.7) 100%),
    url("../img/featured/rajaji-forest-trail.avif") center bottom / cover no-repeat !important;
  filter: saturate(0.88) !important;
  opacity: 0.16 !important;
}

body.about-guide-page .about-hero-title,
body.about-guide-page .guide-hero-title {
  color: var(--white) !important;
  text-shadow: 0 12px 28px rgba(0, 0, 0, 0.32) !important;
}

body.about-guide-page .guide-kicker,
body.about-guide-page .guide-kicker i {
  color: rgba(255, 255, 255, 0.84) !important;
}

body.about-guide-page .about-hero-copy,
body.about-guide-page .guide-hero-copy {
  color: rgba(255, 255, 255, 0.88) !important;
}

body.about-guide-page .guide-hero .hero-btn-outline {
  background: rgba(255, 255, 255, 0.72) !important;
  border-color: rgba(27, 94, 32, 0.32) !important;
  color: var(--primary) !important;
}

/********** Premium shared footer refresh **********/
body .site-footer-band.site-footer-band--premium {
  position: relative;
  overflow: hidden;
  padding-top: clamp(3.6rem, 6vw, 4.8rem);
  background:
    linear-gradient(180deg, rgba(2, 5, 10, 0.92) 0%, rgba(3, 8, 14, 0.96) 52%, rgba(2, 4, 9, 0.99) 100%),
    url(../img/featured/rajaji-riverbed-safari.avif) center 38% / cover no-repeat !important;
}

body .site-footer-band.site-footer-band--premium::before {
  position: absolute;
  content: "";
  inset: 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(231, 201, 140, 0.16), transparent 22%),
    radial-gradient(circle at 86% 20%, rgba(255, 255, 255, 0.08), transparent 18%),
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: auto, auto, 150px 150px, 150px 150px;
  opacity: 0.6;
  pointer-events: none;
}

body .site-footer-band.site-footer-band--premium::after {
  position: absolute;
  content: "";
  inset: auto 0 0 0;
  height: 8rem;
  background: linear-gradient(180deg, rgba(3, 8, 14, 0) 0%, rgba(2, 4, 9, 0.74) 100%);
  pointer-events: none;
}

body .footer-shell.footer-shell--premium {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  padding-top: 0;
  padding-bottom: clamp(2.2rem, 4vw, 3.4rem);
}

.footer-topline {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2rem, 4vw, 2.8rem);
  padding-bottom: clamp(1.45rem, 2.4vw, 1.8rem);
  border-bottom: 1px solid rgba(231, 201, 140, 0.18);
}

.footer-topline-copy {
  max-width: 44rem;
}

.footer-eyebrow {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.95rem;
  color: rgba(231, 201, 140, 0.88);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.footer-hero-title {
  margin: 0;
  color: #fff8ec;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1.08;
  max-width: 14ch;
}

.footer-topline-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.9rem;
}

.footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 12.75rem;
  min-height: 3.6rem;
  padding: 0.9rem 1.45rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 700;
  transition: transform 0.25s ease, border-color 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

.footer-cta:hover {
  transform: translateY(-2px);
}

.footer-cta--primary {
  background: linear-gradient(135deg, #f1ddbc 0%, #d7b074 100%);
  border-color: rgba(231, 201, 140, 0.76);
  color: #132235 !important;
  box-shadow: 0 22px 44px -28px rgba(215, 176, 116, 0.72);
}

.footer-cta--primary:hover {
  color: #132235 !important;
}

.footer-cta--ghost {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 248, 235, 0.22);
  color: #fff8ec !important;
}

.footer-cta--ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 248, 235, 0.42);
}

body .site-footer-band--premium .footer-grid {
  --bs-gutter-x: clamp(1.2rem, 2vw, 2rem);
  --bs-gutter-y: clamp(1.2rem, 2vw, 1.6rem);
}

body .site-footer-band--premium .footer-panel {
  min-height: 100%;
  padding: clamp(1.35rem, 2vw, 1.7rem);
  border: 1px solid rgba(231, 201, 140, 0.14);
  border-radius: 1.7rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.03) 100%);
  box-shadow: 0 34px 70px -48px rgba(0, 0, 0, 0.62);
  backdrop-filter: blur(10px);
}

body .site-footer-band--premium .footer-brand-panel,
body .site-footer-band--premium .footer-column {
  padding: clamp(1.35rem, 2vw, 1.7rem);
}

.footer-brand-title {
  margin: 1.15rem 0 0;
  color: #fff8ec;
  font-family: "Merriweather", serif;
  font-size: clamp(1.4rem, 2vw, 1.8rem);
}

body .site-footer-band--premium .footer-logo {
  width: clamp(152px, 18vw, 210px);
}

body .site-footer-band--premium .footer-accent {
  margin: 1rem 0 1.15rem;
}

body .site-footer-band--premium .footer-copy {
  max-width: 32rem;
  color: rgba(255, 248, 236, 0.78) !important;
  font-size: 0.98rem;
  line-height: 1.85;
}

.footer-meta-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.footer-meta-pills span {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(231, 201, 140, 0.16);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 248, 236, 0.74);
  font-size: 0.78rem;
  font-weight: 600;
}

body .site-footer-band--premium .footer-socials {
  gap: 0.9rem;
  margin-top: 1.5rem;
}

body .site-footer-band--premium .footer-social-btn {
  width: 3.2rem;
  height: 3.2rem;
  border-color: rgba(231, 201, 140, 0.18);
  background: rgba(255, 255, 255, 0.05);
  color: #fff8ec !important;
}

body .site-footer-band--premium .footer-social-btn--wide {
  width: auto;
  min-width: 10.5rem;
  padding: 0 1.1rem;
  gap: 0.65rem;
}

body .site-footer-band--premium .footer-social-btn:hover {
  background: rgba(231, 201, 140, 0.16);
  color: #f1ddb9 !important;
}

body .site-footer-band--premium .footer-heading-wrap {
  margin-bottom: 1.2rem;
}

body .site-footer-band--premium .footer-title {
  color: #fff8ec;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

body .site-footer-band--premium .footer-title-glow {
  width: 3.6rem;
  background: linear-gradient(90deg, #e7c98c 0%, rgba(231, 201, 140, 0) 100%);
}

body .site-footer-band--premium .footer-links {
  gap: 0.4rem;
}

body .site-footer-band--premium .footer-link-item {
  gap: 0.8rem;
  padding: 0.72rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 248, 236, 0.78) !important;
}

body .site-footer-band--premium .footer-link-item:hover {
  color: #fff8ec !important;
}

body .site-footer-band--premium .footer-link-icon,
body .site-footer-band--premium .footer-contact-icon {
  width: 2.2rem;
  height: 2.2rem;
  border-color: rgba(231, 201, 140, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: #e7c98c;
  font-size: 0.76rem;
}

.footer-note-card {
  margin-top: 1.2rem;
  padding: 1rem 1.05rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(231, 201, 140, 0.18);
  background: linear-gradient(180deg, rgba(255, 248, 235, 0.12) 0%, rgba(255, 248, 235, 0.06) 100%);
}

.footer-note-card strong {
  display: block;
  margin-bottom: 0.4rem;
  color: #fff8ec;
  font-family: "Merriweather", serif;
  font-size: 1rem;
}

.footer-note-card p {
  color: rgba(255, 248, 236, 0.72);
  line-height: 1.7;
}

body .site-footer-band--premium .footer-contact-list {
  gap: 0.2rem;
  margin-top: 1rem;
}

body .site-footer-band--premium .footer-contact-item {
  padding: 0.8rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body .site-footer-band--premium .footer-contact-item p {
  color: rgba(255, 248, 236, 0.78) !important;
}

body .copyright-band.copyright-band--premium {
  position: relative;
  border-top: 1px solid rgba(231, 201, 140, 0.14);
  background: linear-gradient(180deg, #020409 0%, #05080d 100%) !important;
}

body .copyright-band.copyright-band--premium::before {
  display: none;
}

.copyright-inner--premium {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  min-height: auto;
  padding: 1.15rem 0 1.35rem;
  text-align: left;
}

body .copyright-band--premium .copyright-text {
  color: rgba(255, 248, 236, 0.76);
}

body .copyright-band--premium .copyright-text a {
  color: #fff8ec !important;
}

body .copyright-band--premium .footer-disclaimer--tiny {
  max-width: 52rem;
  color: rgba(255, 248, 236, 0.6) !important;
  text-align: right;
}

@media (max-width: 991.98px) {
  .footer-topline {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-topline-actions {
    justify-content: flex-start;
  }

  .footer-hero-title {
    max-width: 18ch;
  }

  .copyright-inner--premium {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  body .copyright-band--premium .footer-disclaimer--tiny {
    text-align: left;
  }
}

@media (max-width: 767.98px) {
  body .site-footer-band.site-footer-band--premium {
    padding-top: 3rem;
  }

  .footer-topline {
    gap: 1.35rem;
    margin-bottom: 1.7rem;
  }

  .footer-topline-actions,
  .footer-meta-pills,
  body .site-footer-band--premium .footer-socials {
    width: 100%;
  }

  .footer-cta,
  body .site-footer-band--premium .footer-social-btn--wide {
    width: 100%;
  }

  body .site-footer-band--premium .footer-panel {
    padding: 1.2rem;
    border-radius: 1.35rem;
  }

  .footer-hero-title {
    max-width: 100%;
  }
}

body.about-guide-page .about-hero-title {
  max-width: 50rem !important;
  font-size: clamp(3.35rem, 5vw, 5.25rem) !important;
  line-height: 1.02 !important;
}

/********** Header width + height tuning **********/
/* Desktop: wider pill header with a slimmer vertical profile. */
@media (min-width: 992px) {
  .topbar-band .d-inline-flex[style] {
    height: 34px !important;
  }

  .topbar-band small {
    font-size: 0.78rem !important;
  }

  .topbar-band .btn-sm-square {
    width: 26px;
    height: 26px;
    font-size: 0.76rem;
  }

  .navbar-dark,
  .sticky-top.navbar-dark,
  .inner-page .navbar-dark,
  .inner-page .sticky-top.navbar-dark {
    width: min(1520px, calc(100% - 0.75rem)) !important;
    top: 0.55rem !important;
    border-radius: 1.05rem !important;
    min-height: 64px !important;
    padding: 0.25rem clamp(1rem, 2.2vw, 2.25rem) !important;
  }

  .inner-page .navbar-dark,
  .inner-page .sticky-top.navbar-dark {
    margin: 0.55rem auto 0 !important;
  }

  .navbar-dark .navbar-brand .logo,
  .navbar-dark .logo {
    height: 54px !important;
  }

  .navbar-dark .navbar-nav {
    gap: clamp(0.2rem, 0.45vw, 0.55rem) !important;
  }

  .navbar-dark .navbar-nav .nav-link,
  .sticky-top.navbar-dark .navbar-nav .nav-link,
  .inner-page .navbar-dark .navbar-nav .nav-link {
    margin-left: 0 !important;
    padding: 0.72rem 0.38rem !important;
    font-size: clamp(0.68rem, 0.72vw, 0.8rem) !important;
    letter-spacing: 0.16em !important;
    line-height: 1.1 !important;
  }

  .navbar-dark .dropdown-menu {
    margin-top: 0.2rem !important;
  }
}

/* Mobile/tablet: make the green bar almost full-width and lower in height. */
@media (max-width: 991.98px) {
  .navbar-dark,
  .sticky-top.navbar-dark,
  .inner-page .navbar-dark,
  .inner-page .sticky-top.navbar-dark {
    width: calc(100% - 0.75rem) !important;
    min-height: 56px !important;
    margin: 0.35rem auto !important;
    padding: 0.35rem 0.75rem !important;
    border-radius: 0.95rem !important;
    border: 1px solid rgba(255, 253, 248, 0.12) !important;
  }

  .navbar-dark .navbar-brand .logo,
  .navbar-dark .logo {
    height: 44px !important;
  }

  .navbar-dark .navbar-toggler {
    padding: 0.38rem 0.58rem !important;
    min-width: 40px;
    min-height: 38px;
    border-radius: 0.72rem !important;
  }

  .navbar-dark .navbar-toggler .fa-bars {
    font-size: 0.95rem !important;
  }

  .navbar-dark .offcanvas {
    width: min(25rem, calc(100vw - 0.5rem)) !important;
  }

  .navbar-dark .offcanvas-header {
    padding: 0.9rem 1rem 0.75rem !important;
  }

  .navbar-dark .offcanvas-logo {
    height: 46px !important;
  }

  .navbar-dark .offcanvas-body {
    padding: 0.75rem 1rem 1.2rem !important;
  }

  .navbar-dark .navbar-nav .nav-link,
  .navbar-dark .navbar-nav .nav-link.show,
  .sticky-top.navbar-dark .navbar-nav .nav-link,
  .inner-page .navbar-dark .navbar-nav .nav-link {
    padding: 0.68rem 0 !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.13em !important;
    line-height: 1.15 !important;
  }
}

/********** Mobile offcanvas sidebar — consolidated & redesigned **********/
@media (max-width: 991.98px) {

  /* The drawer itself */
  .navbar-dark .offcanvas {
    width: min(22rem, calc(100vw - 1.5rem)) !important;
    max-width: 100%;
    background: #0b2a0e !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 0 !important;
    box-shadow: -24px 0 64px -24px rgba(0, 0, 0, 0.8) !important;
  }

  /* Decorative gradient overlay inside drawer */
  .navbar-dark .offcanvas::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      radial-gradient(ellipse at 0% 0%, rgba(100, 200, 110, 0.08) 0%, transparent 60%),
      radial-gradient(ellipse at 100% 100%, rgba(60, 120, 70, 0.1) 0%, transparent 50%);
  }

  /* Header row with logo + close button */
  .navbar-dark .offcanvas-header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.1rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    min-height: auto !important;
  }

  .navbar-dark .offcanvas-logo {
    height: 40px !important;
    width: auto;
  }

  /* Close button */
  .navbar-dark .offcanvas .btn-close {
    width: 2.2rem !important;
    height: 2.2rem !important;
    padding: 0 !important;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.08) !important;
    background-size: 0.78rem !important;
    filter: invert(1) brightness(2);
    opacity: 1 !important;
    box-shadow: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    transition: background-color 0.2s;
  }
  .navbar-dark .offcanvas .btn-close:hover {
    background-color: rgba(255, 255, 255, 0.16) !important;
  }

  /* Scrollable body */
  .navbar-dark .offcanvas-body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    padding: 1rem 0.9rem 1.5rem !important;
    overflow-y: auto;
  }

  /* Nav list container */
  .navbar-dark .offcanvas .navbar-nav {
    width: 100%;
    flex-direction: column;
    align-items: stretch !important;
    gap: 0.3rem !important;
  }

  /* Individual nav links */
  .navbar-dark .offcanvas .nav-link,
  .navbar-dark .offcanvas .nav-link.show,
  .navbar-dark .offcanvas .safari-nav-dropdown .dropdown-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.75rem !important;
    width: 100% !important;
    padding: 0.85rem 1rem !important;
    margin: 0 !important;
    border-radius: 0.75rem !important;
    border: none !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.925rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: background 0.18s, color 0.18s;
  }

  /* Hover & focus state */
  .navbar-dark .offcanvas .nav-link:hover,
  .navbar-dark .offcanvas .nav-link:focus {
    background: rgba(255, 255, 255, 0.07) !important;
    color: #ffffff !important;
    transform: none !important;
  }

  /* Active state */
  .navbar-dark .offcanvas .nav-link.active,
  .navbar-dark .offcanvas .nav-link.show,
  .navbar-dark .offcanvas .dropdown-toggle.show {
    background: rgba(100, 200, 110, 0.12) !important;
    color: #aee8b0 !important;
    font-weight: 600 !important;
  }

  /* Active indicator dot */
  .navbar-dark .offcanvas .nav-link.active::before,
  .navbar-dark .offcanvas .dropdown-toggle.active::before {
    content: "";
    display: inline-block !important;
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #7dd880 !important;
    box-shadow: 0 0 0 3px rgba(125, 216, 128, 0.2);
  }

  /* Hide default arrow on active non-dropdown */
  .navbar-dark .offcanvas .nav-link.active:not(.dropdown-toggle)::after {
    display: none !important;
  }

  /* Dropdown caret */
  .navbar-dark .offcanvas .dropdown-toggle::after,
  .navbar-dark .offcanvas .dropdown-toggle.active::after {
    margin-left: auto !important;
    border-top: 5px solid rgba(255, 255, 255, 0.5) !important;
    border-right: 5px solid transparent !important;
    border-left: 5px solid transparent !important;
    border-bottom: 0 !important;
    transition: transform 0.2s;
  }
  .navbar-dark .offcanvas .dropdown-toggle.show::after {
    transform: rotate(180deg);
  }

  /* Dropdown sub-menu */
  .navbar-dark .offcanvas .dropdown-menu {
    position: static !important;
    min-width: 100% !important;
    margin: 0.2rem 0 0.4rem 1.25rem !important;
    padding: 0.3rem 0 !important;
    border: none !important;
    border-left: 2px solid rgba(125, 216, 128, 0.25) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Dropdown items */
  .navbar-dark .offcanvas .dropdown-item {
    padding: 0.62rem 0.9rem !important;
    border-radius: 0.5rem !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    background: transparent !important;
    transition: background 0.15s, color 0.15s;
  }

  .navbar-dark .offcanvas .dropdown-item:hover,
  .navbar-dark .offcanvas .dropdown-item:focus {
    background: rgba(255, 255, 255, 0.07) !important;
    color: #ffffff !important;
  }

  .navbar-dark .offcanvas .dropdown-item.active {
    background: rgba(100, 200, 110, 0.12) !important;
    color: #aee8b0 !important;
  }

  /* Section separator */
  .navbar-dark .offcanvas .nav-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    margin: 0.6rem 0;
  }

  /* Backdrop */
  .offcanvas-backdrop.show {
    opacity: 0.65 !important;
    background-color: #000 !important;
  }
}

/* On very small phones: fill full width */
@media (max-width: 480px) {
  .navbar-dark .offcanvas {
    width: 100vw !important;
  }
}

.hover-lift { transition: transform 0.2s ease-in-out; } .hover-lift:hover { transform: translateY(-5px); }

/* ---- Redesigned Footer ---- */
body .site-footer-band.site-footer-band--premium {
  padding-top: clamp(3rem, 5vw, 5rem);
  padding-bottom: clamp(2rem, 3vw, 3.5rem);
}
body .footer-shell.footer-shell--premium { padding-bottom: 0; }
.footer-brand-col { max-width: 380px; }
.footer-brand-col .footer-logo { width: clamp(130px, 14vw, 180px); }
.footer-brand-col .footer-brand-title {
  font-size: 1.15rem;
  color: #fff8ec;
  margin: 0.75rem 0 0.6rem;
}
.footer-brand-col .footer-copy {
  color: rgba(255,248,236,0.65);
  font-size: 0.875rem;
  line-height: 1.8;
  margin-bottom: 1.4rem;
}
.footer-contact-strip { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.footer-contact-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(231,201,140,0.25);
  background: rgba(255,255,255,0.06);
  color: rgba(255,248,236,0.88) !important;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s;
}
.footer-contact-chip:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(231,201,140,0.5);
  color: #fff8ec !important;
}
.footer-contact-chip--wa i { color: #25d366; }
.footer-col-heading {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(231,201,140,0.9);
  margin-bottom: 1.25rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(231,201,140,0.14);
}
.footer-nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.footer-nav-list li a {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: rgba(255,248,236,0.6);
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.2s, padding-left 0.2s;
  line-height: 1.5;
}
.footer-nav-list li a::before {
  content: "\f178";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: rgba(231,201,140,0.45);
  font-size: 1.05rem;
  line-height: 1;
  flex-shrink: 0;
}
.footer-nav-list li a:hover { color: #fff8ec; padding-left: 4px; }
.footer-nav-list li a:hover::before { color: rgba(231,201,140,0.9); }
.footer-contact-block { display: flex; flex-direction: column; gap: 0.9rem; }
.footer-info-item { display: flex; gap: 0.75rem; align-items: flex-start; }
.footer-info-item i {
  color: rgba(231,201,140,0.7);
  font-size: 0.85rem;
  margin-top: 0.22rem;
  flex-shrink: 0;
  width: 1rem;
  text-align: center;
}
.footer-info-item span,
.footer-info-item a {
  color: rgba(255,248,236,0.6);
  font-size: 0.875rem;
  line-height: 1.6;
  text-decoration: none;
}
.footer-info-item a:hover { color: #fff8ec; }
.footer-book-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.7rem 1.4rem;
  background: linear-gradient(135deg, #f1ddbc, #d7b074);
  color: #132235 !important;
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: 999px;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 8px 24px -8px rgba(215,176,116,0.55);
}
.footer-book-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -8px rgba(215,176,116,0.72);
  color: #132235 !important;
}
.copyright-band--premium {
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(2, 4, 9, 0.98) !important;
}
.copyright-inner--premium { 
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.75rem; 
}
.copyright-inner--premium .copyright-text,
.copyright-inner--premium .copyright-text * {
  font-size: 0.85rem;
  color: #ffffff !important;
  margin: 0;
}
.copyright-inner--premium .copyright-text a { 
  color: #ffffff !important; 
  text-decoration: underline; 
}
.copyright-inner--premium .copyright-text a:hover { color: #ffffff !important; }
.footer-disclaimer--tiny {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.7) !important;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
/* Ensure all footer text is white */
.footer-brand-title, .footer-copy, .footer-contact-chip, .footer-col-heading, .footer-nav-list li a, .footer-info-item span, .footer-info-item a, .footer-info-item i {
  color: #ffffff !important;
}
.footer-nav-list li a::before {
  color: rgba(255, 255, 255, 0.5) !important;
}
.footer-col-heading {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.footer-contact-chip {
  border: 1px solid rgba(255, 255, 255, 0.3);
}
@media (max-width: 767.98px) {
  .copyright-inner--premium { flex-direction: column; align-items: center; text-align: center; }
}

/********** Shared final CTA refresh **********/
body.inner-page main,
body.about-guide-page main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.final-cta-band,
.guide-cinematic-cta.booking-cinematic-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: 0 !important;
  background: #07110a url("../img/featured/safari-jeep-forest.avif") center center / cover no-repeat !important;
}

.final-cta-band::before,
.final-cta-band .container::before,
.final-cta-band .container::after,
.final-cta-band .final-cta-overlay::before,
.final-cta-band .final-cta-overlay::after,
.final-cta-band .guide-cinematic-cta-overlay::before,
.final-cta-band .guide-cinematic-cta-overlay::after,
.guide-cinematic-cta.booking-cinematic-cta::before,
.guide-cinematic-cta.booking-cinematic-cta .container::before,
.guide-cinematic-cta.booking-cinematic-cta .container::after,
.guide-cinematic-cta.booking-cinematic-cta .guide-cinematic-cta-overlay::before,
.guide-cinematic-cta.booking-cinematic-cta .guide-cinematic-cta-overlay::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.final-cta-band::after,
.guide-cinematic-cta.booking-cinematic-cta::after {
  content: "" !important;
  position: absolute;
  inset: 0;
  display: block !important;
  background: rgba(0, 0, 0, 0.52) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
  z-index: 0;
}

.final-cta-band > .final-cta-overlay,
.final-cta-band > .guide-cinematic-cta-overlay,
.guide-cinematic-cta.booking-cinematic-cta > .guide-cinematic-cta-overlay {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
}

.final-cta-band > .final-cta-overlay > .container.py-5,
.final-cta-band > .guide-cinematic-cta-overlay > .container.py-5,
.guide-cinematic-cta.booking-cinematic-cta > .guide-cinematic-cta-overlay > .container.py-5 {
  position: relative;
  z-index: 1;
  padding-top: clamp(1rem, 2vw, 1.6rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.6rem) !important;
}

.final-cta-band .guide-mini-label.guide-mini-label--dark,
.guide-cinematic-cta.booking-cinematic-cta .guide-mini-label.guide-mini-label--dark {
  color: #f2deb4 !important;
}

.final-cta-band .contact-form-mark span,
.guide-cinematic-cta.booking-cinematic-cta .contact-form-mark span {
  background: linear-gradient(90deg, rgba(242, 222, 180, 0) 0%, rgba(242, 222, 180, 0.82) 50%, rgba(242, 222, 180, 0) 100%) !important;
}

.final-cta-band .contact-form-mark i,
.guide-cinematic-cta.booking-cinematic-cta .contact-form-mark i {
  color: #f2deb4 !important;
}

.final-cta-band h2,
.final-cta-band .final-cta-title,
.guide-cinematic-cta.booking-cinematic-cta h2 {
  color: #fff7eb !important;
}

.final-cta-band p,
.final-cta-band .cta-copy,
.guide-cinematic-cta.booking-cinematic-cta p {
  color: rgba(255, 247, 235, 0.88) !important;
}

.final-cta-band .cta-actions > a,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.4rem;
  padding: 0.95rem 1.7rem !important;
  border: 1px solid #f2deb4 !important;
  border-radius: var(--control-radius) !important;
  background: #f2deb4 !important;
  background-image: none !important;
  color: #111827 !important;
  text-decoration: none;
  box-shadow: none !important;
  transform: none;
  transition: transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
}

.final-cta-band .cta-actions > a[href="#booking-form"],
.final-cta-band .cta-actions > a[href*="book-rajaji-national-park-safari"],
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href="#booking-form"],
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href*="book-rajaji-national-park-safari"] {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

.final-cta-band .cta-actions > a[href*="wa.me"]:not(.cta-whatsapp-btn)::before,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href*="wa.me"]:not(.cta-whatsapp-btn)::before {
  content: "\f232";
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
}

.final-cta-band .cta-actions > a[href*="wa.me"] i,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href*="wa.me"] i {
  color: inherit !important;
  font-size: 1rem;
  line-height: 1;
}

.final-cta-band .cta-actions > a:hover,
.final-cta-band .cta-actions > a:focus,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a:hover,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a:focus {
  background: #e5cc93 !important;
  background-image: none !important;
  border-color: #e5cc93 !important;
  color: #0f172a !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}

.final-cta-band .cta-actions > a:active,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a:active {
  background: #dcc486 !important;
  border-color: #dcc486 !important;
  color: #0f172a !important;
  transform: translateY(0);
}

.final-cta-band .cta-actions > a[href="#booking-form"]:hover,
.final-cta-band .cta-actions > a[href="#booking-form"]:focus,
.final-cta-band .cta-actions > a[href*="book-rajaji-national-park-safari"]:hover,
.final-cta-band .cta-actions > a[href*="book-rajaji-national-park-safari"]:focus,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href="#booking-form"]:hover,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href="#booking-form"]:focus,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href*="book-rajaji-national-park-safari"]:hover,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href*="book-rajaji-national-park-safari"]:focus {
  background: var(--accent-earth) !important;
  border-color: var(--accent-earth) !important;
  color: var(--white) !important;
}

.final-cta-band .cta-actions > a[href="#booking-form"]:active,
.final-cta-band .cta-actions > a[href*="book-rajaji-national-park-safari"]:active,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href="#booking-form"]:active,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a[href*="book-rajaji-national-park-safari"]:active {
  background: var(--secondary) !important;
  border-color: var(--secondary) !important;
  color: var(--white) !important;
}

.final-cta-band .cta-actions > a:focus,
.final-cta-band .cta-actions > a:focus-visible,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a:focus,
.guide-cinematic-cta.booking-cinematic-cta .cta-actions > a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(242, 222, 180, 0.42) !important;
}

body .site-footer-band.site-footer-band--premium {
  margin-top: 0 !important;
}

/********** Shared public page hero reference system **********/
body:not(.home-flagship-page) .premium-zones-hero {
  background-image: url("../img/featured/about-hero-safari.avif") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(40rem, 78vh, 52rem);
  background-color: #040a12;
  background-image: var(--premium-hero-bg, url("../img/featured/about-hero-safari.avif"));
  background-position: var(--premium-hero-position, center center);
  background-size: cover;
  background-repeat: no-repeat;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-zones-overlay-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 10, 18, 0.88) 0%, rgba(4, 10, 18, 0.76) 38%, rgba(4, 10, 18, 0.6) 100%),
    linear-gradient(180deg, rgba(4, 10, 18, 0.2) 0%, rgba(4, 10, 18, 0.76) 100%) !important;
  backdrop-filter: none;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .hero-ambient-orb {
  opacity: 0.26;
  filter: blur(96px);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .zones-guide-hero-shell {
  width: min(1380px, calc(100% - 2.5rem));
  padding-top: clamp(6.35rem, 11vh, 8.3rem) !important;
  padding-bottom: clamp(4.9rem, 8vh, 6.4rem) !important;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .row {
  --bs-gutter-x: clamp(2rem, 4vw, 3.25rem);
  --bs-gutter-y: 2rem;
  min-height: clamp(34rem, 67vh, 44rem);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .hero-text-column,
body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .hero-visual-column {
  position: relative;
  z-index: 2;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-hero-content {
  max-width: 41rem;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-eyebrow {
  background: rgba(7, 14, 24, 0.46);
  border-color: rgba(242, 222, 180, 0.22);
  box-shadow: 0 16px 36px -28px rgba(0, 0, 0, 0.65);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-title {
  color: #fff8ec !important;
  text-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-description {
  max-width: 39rem;
  color: rgba(255, 248, 236, 0.88) !important;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-actions .btn {
  min-height: 3.5rem;
  padding: 0.95rem 1.7rem;
  border-radius: var(--control-radius);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .btn-premium-solid:focus,
body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .btn-premium-solid:focus-visible,
body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .btn-premium-outline:focus,
body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .btn-premium-outline:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.22rem rgba(242, 222, 180, 0.28), 0 18px 34px -22px rgba(0, 0, 0, 0.45);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  max-width: min(36rem, 100%);
  padding-top: 0;
  border-top: 0;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats .stat-item {
  min-width: 0;
  padding: 1rem 1rem 0.95rem;
  border-radius: 1rem;
  background: rgba(9, 18, 30, 0.52);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 38px -30px rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats .stat-divider {
  display: none;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats .stat-value {
  color: #fff8ec;
  font-size: clamp(1.55rem, 2.6vw, 2rem);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats .stat-label {
  color: rgba(255, 248, 236, 0.72);
  font-size: 0.76rem;
  letter-spacing: 0.13em;
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-visual-stage {
  height: clamp(34rem, 52vw, 42rem);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .visual-main-frame {
  top: 50%;
  right: 0;
  width: min(34rem, 100%);
  height: 100%;
  transform: translateY(-50%);
  border-radius: 2rem;
  border-color: rgba(255, 248, 236, 0.14);
  box-shadow: 0 34px 80px -34px rgba(0, 0, 0, 0.72);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .visual-main-image {
  filter: saturate(0.95) contrast(1.05) brightness(0.9);
  object-position: var(--premium-hero-object-position, center center);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .visual-image-overlay {
  background: linear-gradient(180deg, rgba(4, 10, 18, 0.1) 0%, rgba(4, 10, 18, 0.42) 100%);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .floating-glass-card {
  background: rgba(10, 18, 30, 0.48);
  border-color: rgba(255, 248, 236, 0.14);
  box-shadow: 0 22px 46px -28px rgba(0, 0, 0, 0.72);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .floating-glass-card:hover {
  background: rgba(14, 24, 38, 0.56);
}

body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .glass-card-sub {
  color: rgba(255, 248, 236, 0.72);
}

@media (max-width: 991.98px) {
  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero {
    min-height: auto;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .zones-guide-hero-shell {
    width: min(100%, calc(100% - 2rem));
    padding-top: 6.4rem !important;
    padding-bottom: 4.4rem !important;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .row {
    min-height: auto;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-description {
    max-width: 100%;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-visual-stage {
    height: clamp(28rem, 66vw, 36rem);
    margin-top: 0.5rem;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .visual-main-frame {
    width: min(30rem, 100%);
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .glass-card-1 {
    left: 0;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .glass-card-2 {
    left: 14%;
  }
}

@media (max-width: 767.98px) {
  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .zones-guide-hero-shell {
    width: min(100%, calc(100% - 1.25rem));
    padding-top: 5.85rem !important;
    padding-bottom: 3.8rem !important;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-title {
    font-size: clamp(2.75rem, 13vw, 4.2rem);
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-description {
    font-size: 1rem;
    line-height: 1.72;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-actions {
    gap: 0.8rem;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-actions .btn {
    width: 100%;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats .stat-item {
    padding: 0.8rem 0.7rem;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats .stat-value {
    font-size: 1.2rem;
  }

  body:not(.home-flagship-page):not(.error-page) .premium-zones-hero .premium-stats .stat-label {
    font-size: 0.68rem;
    line-height: 1.35;
  }
}

/********** Shared premium safari guide pages **********/
.premium-safari-guide-page {
  background: var(--light) !important;
  --premium-guide-bg-soft: linear-gradient(180deg, rgba(244, 241, 236, 0.42) 0%, rgba(236, 226, 207, 0.22) 100%);
  --premium-guide-bg-strong: linear-gradient(180deg, rgba(255, 252, 245, 0.88) 0%, rgba(246, 239, 226, 0.88) 100%);
  --premium-guide-card: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(246, 240, 229, 0.98) 100%);
  --premium-guide-border: rgba(197, 161, 90, 0.16);
  --premium-guide-shadow: 0 30px 62px -44px rgba(18, 30, 48, 0.26);
  --premium-guide-shadow-hover: 0 34px 76px -46px rgba(18, 30, 48, 0.34);
}

.premium-safari-guide-page > section:nth-child(2) {
  margin-top: 0 !important;
}

.premium-safari-guide-page > section:not(.premium-zones-hero):not(.final-cta-band):not(.guide-cinematic-cta):not(.zones-disclaimer-band) {
  position: relative;
  overflow: clip;
}

.premium-safari-guide-page > section:not(.premium-zones-hero):not(.final-cta-band):not(.guide-cinematic-cta):not(.zones-disclaimer-band):nth-of-type(odd) {
  background: var(--premium-guide-bg-soft) !important;
}

.premium-safari-guide-page > section:not(.premium-zones-hero):not(.final-cta-band):not(.guide-cinematic-cta):not(.zones-disclaimer-band):nth-of-type(even) {
  background: var(--premium-guide-bg-strong) !important;
}

.premium-safari-guide-page .premium-overview-band,
.premium-safari-guide-page .zone-band,
.premium-safari-guide-page .bg-lite,
.premium-safari-guide-page .editorial-image-band,
.premium-safari-guide-page .related-strip {
  background: inherit;
}

.premium-safari-guide-page .overview-ambient-glow {
  display: none !important;
}

.premium-safari-guide-page .container.py-5,
.premium-safari-guide-page .zone-shell,
.premium-safari-guide-page .faq-shell {
  max-width: 1280px;
}

.premium-safari-guide-page > section:not(.premium-zones-hero):not(.final-cta-band):not(.guide-cinematic-cta):not(.zones-disclaimer-band) > .container,
.premium-safari-guide-page > section:not(.premium-zones-hero):not(.final-cta-band):not(.guide-cinematic-cta):not(.zones-disclaimer-band) > .container-fluid > .container {
  padding-top: clamp(4rem, 6vw, 5.25rem) !important;
  padding-bottom: clamp(4rem, 6vw, 5.25rem) !important;
}

.premium-safari-guide-page .zone-section-head,
.premium-safari-guide-page .guide-section-head,
.premium-safari-guide-page .section-title,
.premium-safari-guide-page .premium-section-head {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(2.8rem, 5vw, 3.7rem) !important;
}

.premium-safari-guide-page .values-eyebrow,
.premium-safari-guide-page .travel-access-kicker,
.premium-safari-guide-page .zone-secondary-label,
.premium-safari-guide-page .premium-eyebrow-sub,
.premium-safari-guide-page .plan-pill,
.premium-safari-guide-page .guide-mini-label {
  color: #8c652b !important;
  letter-spacing: 0.22em;
}

.premium-safari-guide-page .values-title,
.premium-safari-guide-page .zone-section-head h2,
.premium-safari-guide-page .guide-section-head h2,
.premium-safari-guide-page .premium-section-title,
.premium-safari-guide-page .section-title h2,
.premium-safari-guide-page .zone-guidance-card h2,
.premium-safari-guide-page .guide-copy-block h2,
.premium-safari-guide-page .travel-access-panel h3,
.premium-safari-guide-page .route-city-card h3,
.premium-safari-guide-page .zones-text-card h3,
.premium-safari-guide-page .zones-copy-panel h2 {
  color: var(--secondary) !important;
}

.premium-safari-guide-page .section-intro,
.premium-safari-guide-page .premium-section-intro,
.premium-safari-guide-page .zone-section-head p,
.premium-safari-guide-page .guide-section-head p,
.premium-safari-guide-page .section-title p {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
  color: rgba(19, 34, 53, 0.78) !important;
}

.premium-safari-guide-page .premium-summary-pills {
  margin-bottom: 3rem;
}

.premium-safari-guide-page .premium-pill,
.premium-safari-guide-page .premium-zone-card,
.premium-safari-guide-page .zone-secondary-block,
.premium-safari-guide-page .zones-text-card,
.premium-safari-guide-page .zone-guidance-card,
.premium-safari-guide-page .travel-access-panel,
.premium-safari-guide-page .zone-secondary-card,
.premium-safari-guide-page .travel-route-card,
.premium-safari-guide-page .quick-stat-card,
.premium-safari-guide-page .route-city-card,
.premium-safari-guide-page .plan-card,
.premium-safari-guide-page .related-topic-card,
.premium-safari-guide-page .chooser-card,
.premium-safari-guide-page .comparison-focus-card,
.premium-safari-guide-page .pricing-chart-card,
.premium-safari-guide-page .pricing-side-panel,
.premium-safari-guide-page .faq-accordion .accordion-item,
.premium-safari-guide-page .zones-disclaimer-card,
.premium-safari-guide-page .guide-intro-floating {
  background: var(--premium-guide-card) !important;
  border: 1px solid var(--premium-guide-border) !important;
  box-shadow: var(--premium-guide-shadow) !important;
}

.premium-safari-guide-page .premium-zone-card,
.premium-safari-guide-page .zone-secondary-block,
.premium-safari-guide-page .zone-guidance-card,
.premium-safari-guide-page .travel-access-panel,
.premium-safari-guide-page .zone-secondary-card,
.premium-safari-guide-page .travel-route-card,
.premium-safari-guide-page .quick-stat-card,
.premium-safari-guide-page .route-city-card,
.premium-safari-guide-page .plan-card,
.premium-safari-guide-page .related-topic-card,
.premium-safari-guide-page .chooser-card,
.premium-safari-guide-page .comparison-focus-card,
.premium-safari-guide-page .pricing-chart-card,
.premium-safari-guide-page .pricing-side-panel,
.premium-safari-guide-page .premium-pill {
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
}

.premium-safari-guide-page .premium-zone-card:hover,
.premium-safari-guide-page .zone-secondary-block:hover,
.premium-safari-guide-page .zone-guidance-card:hover,
.premium-safari-guide-page .travel-access-panel:hover,
.premium-safari-guide-page .zone-secondary-card:hover,
.premium-safari-guide-page .travel-route-card:hover,
.premium-safari-guide-page .quick-stat-card:hover,
.premium-safari-guide-page .route-city-card:hover,
.premium-safari-guide-page .plan-card:hover,
.premium-safari-guide-page .related-topic-card:hover,
.premium-safari-guide-page .chooser-card:hover,
.premium-safari-guide-page .comparison-focus-card:hover,
.premium-safari-guide-page .pricing-chart-card:hover,
.premium-safari-guide-page .pricing-side-panel:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(197, 161, 90, 0.28) !important;
  box-shadow: var(--premium-guide-shadow-hover) !important;
}

.premium-safari-guide-page .row > [class*="col-"] .premium-zone-card,
.premium-safari-guide-page .row > [class*="col-"] .zone-secondary-card,
.premium-safari-guide-page .row > [class*="col-"] .travel-route-card,
.premium-safari-guide-page .row > [class*="col-"] .quick-stat-card,
.premium-safari-guide-page .row > [class*="col-"] .route-city-card,
.premium-safari-guide-page .row > [class*="col-"] .plan-card,
.premium-safari-guide-page .row > [class*="col-"] .related-topic-card,
.premium-safari-guide-page .row > [class*="col-"] .chooser-card,
.premium-safari-guide-page .row > [class*="col-"] .comparison-focus-card {
  transform: none !important;
}

.premium-safari-guide-page .premium-pill {
  color: var(--secondary);
  backdrop-filter: none;
}

.premium-safari-guide-page .premium-zone-body,
.premium-safari-guide-page .plan-card-body {
  padding: clamp(1.4rem, 2.3vw, 1.9rem);
}

.premium-safari-guide-page .premium-zone-link,
.premium-safari-guide-page .premium-zone-link i,
.premium-safari-guide-page .premium-zone-copy,
.premium-safari-guide-page .premium-section-intro {
  color: rgba(19, 34, 53, 0.82) !important;
}

.premium-safari-guide-page .premium-zone-link {
  color: var(--secondary) !important;
}

.premium-safari-guide-page .premium-zone-card:hover .premium-zone-link {
  color: var(--accent-earth) !important;
}

.premium-safari-guide-page .premium-zone-link i,
.premium-safari-guide-page .zone-link,
.premium-safari-guide-page .related-topic-card .zone-link {
  color: var(--primary) !important;
}

.premium-safari-guide-page .zone-link:hover,
.premium-safari-guide-page .related-topic-card .zone-link:hover,
.premium-safari-guide-page .premium-zone-card:hover .premium-zone-link i {
  color: var(--accent-earth) !important;
}

.premium-safari-guide-page .premium-zone-copy,
.premium-safari-guide-page .zones-text-card p,
.premium-safari-guide-page .zone-guidance-card p,
.premium-safari-guide-page .travel-access-panel p,
.premium-safari-guide-page .travel-route-card p,
.premium-safari-guide-page .zone-secondary-card p,
.premium-safari-guide-page .quick-stat-card p,
.premium-safari-guide-page .route-city-card p,
.premium-safari-guide-page .plan-card-body p,
.premium-safari-guide-page .related-topic-card p,
.premium-safari-guide-page .chooser-card p,
.premium-safari-guide-page .comparison-focus-card p {
  color: rgba(19, 34, 53, 0.74) !important;
}

.premium-safari-guide-page .guide-intro-media img,
.premium-safari-guide-page .zone-feature-media img,
.premium-safari-guide-page .premium-zone-media img,
.premium-safari-guide-page .plan-card img {
  width: 100%;
  object-fit: cover;
}

.premium-safari-guide-page .guide-intro-media img,
.premium-safari-guide-page .zone-feature-media img {
  min-height: clamp(20rem, 34vw, 28rem);
}

.premium-safari-guide-page .premium-zone-media,
.premium-safari-guide-page .plan-card img {
  min-height: clamp(15rem, 26vw, 19rem);
}

.premium-safari-guide-page .premium-zone-card-wide .premium-zone-media {
  aspect-ratio: 16 / 10;
}

.premium-safari-guide-page .zone-feature-card,
.premium-safari-guide-page .premium-zone-card,
.premium-safari-guide-page .plan-card,
.premium-safari-guide-page .guide-intro-media,
.premium-safari-guide-page .zone-secondary-block {
  overflow: hidden;
}

.premium-safari-guide-page .guide-bullet-list li,
.premium-safari-guide-page .pricing-list li,
.premium-safari-guide-page .zone-guidance-list li {
  color: rgba(19, 34, 53, 0.8);
}

.premium-safari-guide-page .guide-bullet-list i,
.premium-safari-guide-page .pricing-list i,
.premium-safari-guide-page .travel-route-icon i,
.premium-safari-guide-page .guide-highlight-icon i {
  color: var(--primary) !important;
}

.premium-safari-guide-page .faq-accordion .accordion-button {
  color: var(--secondary) !important;
  background: rgba(255, 252, 245, 0.96) !important;
  font-family: var(--font-display) !important;
}

.premium-safari-guide-page .faq-accordion .accordion-button:not(.collapsed) {
  color: var(--secondary) !important;
  background: linear-gradient(135deg, rgba(231, 222, 204, 0.88), rgba(240, 228, 206, 0.92)) !important;
}

.premium-safari-guide-page .faq-accordion .accordion-body {
  color: rgba(19, 34, 53, 0.76) !important;
}

.premium-safari-guide-page .zones-disclaimer-band {
  background: linear-gradient(180deg, rgba(250, 246, 239, 0.94) 0%, rgba(239, 231, 216, 0.94) 100%) !important;
}

.premium-safari-guide-page .zones-disclaimer-card {
  padding: 1.4rem 1.5rem;
}

@media (max-width: 991.98px) {
  .premium-safari-guide-page > section:nth-child(2) {
    margin-top: 0 !important;
  }

  .premium-safari-guide-page > section:not(.premium-zones-hero):not(.final-cta-band):not(.guide-cinematic-cta):not(.zones-disclaimer-band) > .container,
  .premium-safari-guide-page > section:not(.premium-zones-hero):not(.final-cta-band):not(.guide-cinematic-cta):not(.zones-disclaimer-band) > .container-fluid > .container {
    padding-top: clamp(3.4rem, 7vw, 4.4rem) !important;
    padding-bottom: clamp(3.4rem, 7vw, 4.4rem) !important;
  }

  .premium-safari-guide-page .premium-summary-pills {
    margin-bottom: 2.4rem;
  }
}

@media (max-width: 767.98px) {
  .premium-safari-guide-page .premium-section-title,
  .premium-safari-guide-page .values-title,
  .premium-safari-guide-page .zone-section-head h2,
  .premium-safari-guide-page .guide-section-head h2,
  .premium-safari-guide-page .section-title h2 {
    font-size: clamp(2rem, 8vw, 2.4rem);
  }

  .premium-safari-guide-page .premium-summary-pills {
    justify-content: flex-start;
    gap: 0.75rem;
    margin-bottom: 2rem;
  }

  .premium-safari-guide-page .premium-pill {
    font-size: 0.82rem;
  }

  .premium-safari-guide-page .premium-zone-link {
    font-size: 1.18rem;
  }

  .premium-safari-guide-page .premium-zone-media,
  .premium-safari-guide-page .plan-card img,
  .premium-safari-guide-page .guide-intro-media img,
  .premium-safari-guide-page .zone-feature-media img {
    min-height: 13.5rem;
  }

  .premium-safari-guide-page .zone-secondary-block,
  .premium-safari-guide-page .zone-guidance-card,
  .premium-safari-guide-page .travel-access-panel,
  .premium-safari-guide-page .zone-secondary-card,
  .premium-safari-guide-page .travel-route-card,
  .premium-safari-guide-page .quick-stat-card,
  .premium-safari-guide-page .route-city-card,
  .premium-safari-guide-page .related-topic-card,
  .premium-safari-guide-page .chooser-card,
  .premium-safari-guide-page .comparison-focus-card,
  .premium-safari-guide-page .pricing-chart-card,
  .premium-safari-guide-page .pricing-side-panel,
  .premium-safari-guide-page .zones-disclaimer-card {
    padding: 1.15rem !important;
    border-radius: 1.2rem !important;
  }
}

/********** Safari zones editorial feature **********/
.premium-safari-guide-page--zones .zone-editorial-grid {
  align-items: stretch;
}

.premium-safari-guide-page--zones .zone-editorial-media-card {
  position: relative;
  min-height: clamp(32rem, 52vw, 41rem);
  height: 100%;
  border-radius: 1.8rem;
  overflow: hidden;
  box-shadow: 0 34px 82px -42px rgba(13, 23, 37, 0.38);
}

.premium-safari-guide-page--zones .zone-editorial-media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.premium-safari-guide-page--zones .zone-editorial-media-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 18, 28, 0.1) 0%, rgba(10, 18, 28, 0.26) 42%, rgba(10, 18, 28, 0.88) 100%);
}

.premium-safari-guide-page--zones .zone-editorial-media-copy {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.7rem, 3vw, 2.4rem);
  color: #fff8ec;
}

.premium-safari-guide-page--zones .zone-editorial-pill,
.premium-safari-guide-page--zones .zone-editorial-panel-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  padding: 0.62rem 1rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.premium-safari-guide-page--zones .zone-editorial-pill {
  position: absolute;
  top: clamp(1.2rem, 2.2vw, 1.7rem);
  left: clamp(1.2rem, 2.2vw, 1.7rem);
  background: rgba(255, 248, 236, 0.14);
  border: 1px solid rgba(255, 248, 236, 0.2);
  color: #fff8ec;
  backdrop-filter: blur(10px);
}

.premium-safari-guide-page--zones .zone-editorial-pill i {
  color: #f2deb4;
}

.premium-safari-guide-page--zones .zone-editorial-media-copy h3 {
  max-width: 12ch;
  margin-bottom: 0.9rem;
  color: #ffffff !important;
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 3.6vw, 3.15rem);
  line-height: 1.04;
  text-wrap: balance;
}

.premium-safari-guide-page--zones .zone-editorial-media-copy p {
  max-width: 28rem;
  margin-bottom: 0;
  color: rgba(255, 248, 236, 0.88) !important;
  line-height: 1.75;
}

.premium-safari-guide-page--zones .zone-editorial-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 1.25rem;
  color: #f2deb4;
  font-weight: 600;
  text-decoration: none;
}

.premium-safari-guide-page--zones .zone-editorial-link:hover {
  color: #fff8ec;
}

.premium-safari-guide-page--zones .zone-editorial-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: clamp(1.7rem, 3vw, 2.35rem);
  border-radius: 1.8rem;
  background: linear-gradient(180deg, #fffaf2 0%, #f6ecdd 100%);
  border: 1px solid rgba(214, 185, 135, 0.42);
  box-shadow: 0 34px 78px -48px rgba(26, 35, 46, 0.28);
  position: relative;
}

.premium-safari-guide-page--zones .zone-editorial-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(1.7rem, 3vw, 2.35rem);
  right: clamp(1.7rem, 3vw, 2.35rem);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0.84), rgba(95, 121, 82, 0.46));
}

.premium-safari-guide-page--zones .zone-editorial-panel-head {
  max-width: 35rem;
  margin-bottom: 1.45rem;
}

.premium-safari-guide-page--zones .zone-editorial-panel-pill {
  margin-bottom: 1rem;
  background: rgba(95, 121, 82, 0.08);
  border: 1px solid rgba(95, 121, 82, 0.16);
  color: #7f5a2e;
}

.premium-safari-guide-page--zones .zone-editorial-panel-pill i {
  color: var(--primary);
}

.premium-safari-guide-page--zones .zone-editorial-panel-head h3 {
  margin-bottom: 0.8rem;
  color: var(--secondary);
  font-family: var(--font-display);
  font-size: clamp(2rem, 3vw, 2.6rem);
  line-height: 1.08;
}

.premium-safari-guide-page--zones .zone-editorial-panel-head p {
  margin-bottom: 0;
  color: rgba(19, 34, 53, 0.78) !important;
  line-height: 1.78;
}

.premium-safari-guide-page--zones .zone-editorial-detail-card {
  height: 100%;
  padding: 1.2rem 1.15rem 1.15rem;
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.52);
  border: 1px solid rgba(214, 185, 135, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.premium-safari-guide-page--zones .zone-editorial-detail-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.7rem;
  height: 2.7rem;
  margin-bottom: 0.95rem;
  border-radius: 50%;
  background: rgba(242, 222, 180, 0.52);
  color: var(--secondary);
  box-shadow: 0 14px 28px -22px rgba(25, 37, 50, 0.4);
}

.premium-safari-guide-page--zones .zone-editorial-detail-card h4 {
  margin-bottom: 0.65rem;
  color: var(--secondary);
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.2;
}

.premium-safari-guide-page--zones .zone-editorial-detail-card p {
  margin-bottom: 0;
  color: rgba(19, 34, 53, 0.74) !important;
  line-height: 1.7;
}

.premium-safari-guide-page--zones .zone-editorial-detail-grid--three-up > [class*="col-"] {
  width: 100%;
}

@media (min-width: 768px) {
  .premium-safari-guide-page--zones .zone-editorial-detail-grid--three-up > [class*="col-"] {
    width: 50%;
  }

  .premium-safari-guide-page--zones .zone-editorial-detail-grid--three-up > [class*="col-"]:last-child {
    width: 100%;
  }
}

@media (min-width: 1200px) {
  .premium-safari-guide-page--zones .zone-editorial-detail-grid--three-up > [class*="col-"] {
    width: 33.333333%;
  }

  .premium-safari-guide-page--zones .zone-editorial-detail-grid--three-up > [class*="col-"]:last-child {
    width: 33.333333%;
  }
}

@media (max-width: 991.98px) {
  .premium-safari-guide-page--zones .zone-editorial-media-card {
    min-height: 30rem;
  }

  .premium-safari-guide-page--zones .zone-editorial-panel {
    min-height: auto;
  }
}

@media (max-width: 767.98px) {
  .premium-safari-guide-page--zones .zone-editorial-media-card {
    min-height: 24rem;
    border-radius: 1.35rem;
  }

  .premium-safari-guide-page--zones .zone-editorial-media-copy,
  .premium-safari-guide-page--zones .zone-editorial-panel {
    padding: 1.2rem;
    border-radius: 1.35rem;
  }

  .premium-safari-guide-page--zones .zone-editorial-media-copy h3 {
    max-width: 100%;
    font-size: clamp(1.9rem, 8vw, 2.45rem);
  }

  .premium-safari-guide-page--zones .zone-editorial-detail-grid > [class*="col-"] {
    width: 100%;
  }
}

/********** Safari zones route chooser refinement **********/
.premium-safari-guide-page--zones #best-zone > .container {
  padding-top: clamp(2.6rem, 4vw, 3.5rem) !important;
  padding-bottom: clamp(2.8rem, 4.5vw, 3.8rem) !important;
}

.premium-safari-guide-page--zones #best-zone .zones-route-head {
  max-width: 43rem;
  margin-bottom: clamp(1.7rem, 3vw, 2.25rem) !important;
}

.premium-safari-guide-page--zones #best-zone .values-title {
  max-width: 13ch;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(1.95rem, 3vw, 2.65rem);
  line-height: 1.08;
  text-wrap: balance;
}

.premium-safari-guide-page--zones #best-zone .section-intro {
  max-width: 43rem;
  line-height: 1.72;
}

.premium-safari-guide-page--zones #best-zone .zones-route-grid {
  align-items: stretch;
}

.premium-safari-guide-page--zones #best-zone .zones-route-card {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-height: 100%;
  padding: 1.2rem 1.15rem 1.15rem !important;
  border-radius: 1.3rem;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(247, 240, 229, 0.98) 100%) !important;
  border: 1px solid rgba(197, 161, 90, 0.14) !important;
  box-shadow: 0 22px 44px -34px rgba(18, 30, 48, 0.18) !important;
}

.premium-safari-guide-page--zones #best-zone .zones-route-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 28px 54px -34px rgba(18, 30, 48, 0.24) !important;
}

.premium-safari-guide-page--zones #best-zone .zones-route-copy {
  display: grid;
  gap: 0.5rem;
}

.premium-safari-guide-page--zones #best-zone .zones-route-copy h3 {
  margin-bottom: 0;
  color: var(--secondary);
  font-family: var(--font-display);
  font-size: 1.35rem;
  line-height: 1.14;
}

.premium-safari-guide-page--zones #best-zone .zones-route-copy p {
  margin-bottom: 0;
  color: rgba(19, 34, 53, 0.74) !important;
  line-height: 1.66;
}

.premium-safari-guide-page--zones #best-zone .zones-route-link {
  display: inline-block;
  margin-top: auto;
  color: var(--primary);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
}

.premium-safari-guide-page--zones #best-zone .zones-route-link:hover {
  color: var(--accent-earth);
}

@media (max-width: 991.98px) {
  .premium-safari-guide-page--zones #best-zone .values-title {
    max-width: 100%;
  }
}

@media (max-width: 767.98px) {
  .premium-safari-guide-page--zones #best-zone > .container {
    padding-top: 2.2rem !important;
    padding-bottom: 2.5rem !important;
  }

  .premium-safari-guide-page--zones #best-zone .zones-route-head {
    margin-bottom: 1.5rem !important;
  }

  .premium-safari-guide-page--zones #best-zone .zones-route-card {
    padding: 1rem !important;
  }
}

/********** Safari zones comparison redesign **********/
.premium-safari-guide-page--zones #zone-comparison {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 251, 244, 0.94) 0%, rgba(239, 235, 222, 0.96) 100%) !important;
}

.premium-safari-guide-page--zones #zone-comparison::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.premium-safari-guide-page--zones #zone-comparison::before {
  inset: 0 auto auto 0;
  width: 17rem;
  height: 17rem;
  background:
    radial-gradient(circle at 35% 35%, rgba(95, 121, 82, 0.16), transparent 58%),
    radial-gradient(circle at 62% 22%, rgba(197, 161, 90, 0.15), transparent 46%);
  transform: translate(-18%, -24%) rotate(-14deg);
}

.premium-safari-guide-page--zones #zone-comparison > .container {
  position: relative;
  z-index: 1;
  padding-top: clamp(3.4rem, 5vw, 4.4rem) !important;
  padding-bottom: clamp(3.7rem, 5.4vw, 4.8rem) !important;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-head {
  max-width: 46rem;
  margin-bottom: clamp(2rem, 3.4vw, 2.8rem) !important;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.95rem !important;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-eyebrow::before,
.premium-safari-guide-page--zones #zone-comparison .zones-compare-eyebrow::after {
  content: "";
  display: inline-block;
  width: 1.7rem;
  height: 1px;
  background: rgba(140, 101, 43, 0.42);
}

.premium-safari-guide-page--zones #zone-comparison .values-title {
  max-width: 13ch;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(2.1rem, 3.2vw, 3rem);
  line-height: 1.08;
  text-wrap: balance;
}

.premium-safari-guide-page--zones #zone-comparison .section-intro {
  max-width: 44rem;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(19rem, 0.9fr);
  gap: clamp(1.2rem, 2.4vw, 1.8rem);
  align-items: start;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table-card,
.premium-safari-guide-page--zones #zone-comparison .zones-compare-panel {
  position: relative;
  border-radius: 1.65rem;
  border: 1px solid rgba(197, 161, 90, 0.16);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 243, 233, 0.98) 100%);
  box-shadow: 0 28px 56px -42px rgba(19, 34, 53, 0.22);
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table-card {
  padding: 1.05rem;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table-wrap {
  overflow-x: auto;
  border-radius: 1.15rem;
  border: 1px solid rgba(197, 161, 90, 0.12);
  background: rgba(255, 255, 255, 0.64);
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table th,
.premium-safari-guide-page--zones #zone-comparison .zones-compare-table td {
  padding: 1.05rem 1.1rem;
  border-bottom: 1px solid rgba(197, 161, 90, 0.12);
  vertical-align: top;
  text-align: left;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table th {
  background: rgba(246, 238, 224, 0.86);
  color: var(--secondary);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table td {
  color: rgba(19, 34, 53, 0.78);
  line-height: 1.68;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table tbody tr:last-child td {
  border-bottom: 0;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-table tbody tr.is-highlight td {
  background: linear-gradient(180deg, rgba(95, 121, 82, 0.06) 0%, rgba(95, 121, 82, 0.1) 100%);
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-th {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-th i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.88rem;
  color: #8c652b;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-zone {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-zone-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.95rem;
  height: 1.95rem;
  border-radius: 50%;
  background: rgba(63, 95, 59, 0.12);
  color: var(--primary);
  font-size: 0.82rem;
  font-weight: 700;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-zone-name {
  color: var(--secondary);
  font-family: var(--font-display);
  font-size: 1.08rem;
  line-height: 1.25;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-panel {
  overflow: hidden;
  padding: 1.5rem 1.4rem 1.6rem;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-panel-icon {
  position: absolute;
  top: 1.1rem;
  right: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(242, 222, 180, 0.52);
  color: var(--secondary);
  box-shadow: 0 18px 34px -26px rgba(23, 53, 40, 0.34);
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-panel-icon i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.1rem;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-panel-kicker {
  display: inline-block;
  margin-bottom: 0.95rem;
  color: #8c652b !important;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-panel h3 {
  max-width: 12ch;
  margin-bottom: 0.95rem;
  color: var(--secondary);
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 2.5vw, 2.35rem);
  line-height: 1.08;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-points {
  display: grid;
  gap: 0.95rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-points li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  color: rgba(19, 34, 53, 0.78);
  line-height: 1.7;
}

.premium-safari-guide-page--zones #zone-comparison .zones-compare-points i {
  margin-top: 0.18rem;
  color: var(--primary);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

@media (max-width: 991.98px) {
  .premium-safari-guide-page--zones #zone-comparison .zones-compare-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .premium-safari-guide-page--zones #zone-comparison > .container {
    padding-top: 2.8rem !important;
    padding-bottom: 3rem !important;
  }

  .premium-safari-guide-page--zones #zone-comparison .zones-compare-head {
    margin-bottom: 1.8rem !important;
  }

  .premium-safari-guide-page--zones #zone-comparison .zones-compare-table-card,
  .premium-safari-guide-page--zones #zone-comparison .zones-compare-panel {
    border-radius: 1.25rem;
  }

  .premium-safari-guide-page--zones #zone-comparison .zones-compare-table-card {
    padding: 0.8rem;
  }

  .premium-safari-guide-page--zones #zone-comparison .zones-compare-panel {
    padding: 1.2rem 1.1rem 1.3rem;
  }

}


.premium-safari-guide-page--zones #zone-disclaimer {
  background: transparent !important;
}

.premium-safari-guide-page--zones #zone-disclaimer > .container {
  padding-top: 0.9rem !important;
  padding-bottom: 0.9rem !important;
}

.premium-safari-guide-page--zones .zones-disclaimer-band--safari-zones {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.premium-safari-guide-page--zones .zones-disclaimer-card--safari-zones {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.95rem;
  padding: 1rem 1.15rem !important;
  border-radius: 1.15rem !important;
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.98) 0%, rgba(247, 241, 231, 0.98) 100%) !important;
  border: 1px solid rgba(197, 161, 90, 0.16) !important;
  box-shadow: 0 18px 40px -34px rgba(18, 30, 48, 0.16) !important;
}

.premium-safari-guide-page--zones .zones-disclaimer-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background: rgba(242, 222, 180, 0.6);
  color: var(--secondary);
  box-shadow: 0 14px 28px -24px rgba(18, 30, 48, 0.32);
}

.premium-safari-guide-page--zones .zones-disclaimer-icon i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
}

.premium-safari-guide-page--zones .zones-disclaimer-copy {
  min-width: 0;
}

.premium-safari-guide-page--zones .zones-disclaimer-card--safari-zones .travel-access-kicker {
  display: inline-block;
  margin-bottom: 0.35rem !important;
  color: #8c652b !important;
  letter-spacing: 0.16em;
}

.premium-safari-guide-page--zones .zones-disclaimer-card--safari-zones p {
  color: rgba(19, 34, 53, 0.78) !important;
  line-height: 1.65;
}

/********** Chilla route context editorial redesign **********/
.premium-safari-guide-page--detail#route-context,
.premium-safari-guide-page--detail .chilla-route-context {
  background: linear-gradient(180deg, rgba(255, 251, 244, 0.94) 0%, rgba(244, 237, 223, 0.92) 100%) !important;
}

.premium-safari-guide-page--detail .chilla-route-context > .container {
  padding-top: clamp(3.6rem, 5.4vw, 4.8rem) !important;
  padding-bottom: clamp(3.7rem, 5.5vw, 4.9rem) !important;
}

.premium-safari-guide-page--detail .chilla-route-layout {
  grid-template-columns: minmax(0, 1.52fr) minmax(0, 1fr);
  gap: clamp(1.3rem, 2.6vw, 2rem);
  align-items: stretch;
}

.premium-safari-guide-page--detail .chilla-route-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: clamp(1.75rem, 3vw, 2.45rem) !important;
  border-radius: 1.8rem !important;
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.98) 0%, rgba(247, 241, 231, 0.98) 100%) !important;
  border: 1px solid rgba(205, 177, 125, 0.22) !important;
  box-shadow: 0 30px 64px -42px rgba(19, 34, 53, 0.2) !important;
}

.premium-safari-guide-page--detail .chilla-route-kicker {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.7rem;
  margin-bottom: 1rem !important;
}

.premium-safari-guide-page--detail .chilla-route-kicker::after {
  content: "";
  width: 2.35rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0.9), rgba(197, 161, 90, 0.38));
}

.premium-safari-guide-page--detail .chilla-route-panel h2 {
  max-width: 12ch;
  margin-bottom: 0.95rem;
  color: var(--secondary) !important;
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 3.25vw, 3rem);
  line-height: 1.08;
  text-wrap: balance;
}

.premium-safari-guide-page--detail .chilla-route-panel > p {
  max-width: 38rem;
  margin-bottom: 0;
  color: rgba(19, 34, 53, 0.78) !important;
  font-size: 1.04rem;
  line-height: 1.84;
}

.premium-safari-guide-page--detail .chilla-route-grid {
  margin-top: 1.5rem !important;
  gap: 1rem;
}

.premium-safari-guide-page--detail .chilla-route-card {
  padding: 1.25rem 1.2rem 1.15rem !important;
  border-radius: 1.4rem !important;
  background: rgba(255, 249, 239, 0.95) !important;
  border: 1px solid rgba(205, 177, 125, 0.18) !important;
  box-shadow: 0 20px 38px -34px rgba(19, 34, 53, 0.14) !important;
}

.premium-safari-guide-page--detail .chilla-route-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  margin-bottom: 0.95rem;
  border-radius: 50%;
  background: rgba(242, 222, 180, 0.58) !important;
  color: var(--secondary) !important;
  box-shadow: 0 16px 30px -24px rgba(18, 30, 48, 0.28);
}

.premium-safari-guide-page--detail .chilla-route-icon-badge i {
  color: var(--primary) !important;
  font-size: 1.4rem;
  line-height: 1;
  background: transparent !important;
  display: inline-block;
}


.premium-safari-guide-page--detail .chilla-route-card h3 {
  margin-bottom: 0.65rem;
  color: var(--secondary) !important;
  font-family: var(--font-display);
  font-size: 1.38rem;
  line-height: 1.16;
}

.premium-safari-guide-page--detail .chilla-route-card h3::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  margin-top: 0.55rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0.88), rgba(197, 161, 90, 0.24));
}

.premium-safari-guide-page--detail .chilla-route-card p {
  color: rgba(19, 34, 53, 0.74) !important;
  line-height: 1.72;
}

.premium-safari-guide-page--detail .chilla-route-visual-card {
  min-height: clamp(30rem, 46vw, 38rem);
  height: 100%;
  border-radius: 1.8rem;
  box-shadow: 0 34px 72px -42px rgba(19, 34, 53, 0.32);
}

.premium-safari-guide-page--detail .chilla-route-visual-card .zone-feature-media img {
  filter: saturate(1.03) brightness(1.02) contrast(1.02);
  object-position: center 44%;
}

.premium-safari-guide-page--detail .chilla-route-visual-overlay {
  background: linear-gradient(180deg, rgba(10, 18, 28, 0.02) 0%, rgba(10, 18, 28, 0.16) 46%, rgba(10, 18, 28, 0.84) 100%) !important;
}

.premium-safari-guide-page--detail .chilla-route-visual-content {
  padding: clamp(1.5rem, 2.8vw, 2.25rem);
  justify-content: flex-end;
}

.premium-safari-guide-page--detail .chilla-route-visual-pill {
  background: rgba(255, 248, 236, 0.08) !important;
  border: 1px solid rgba(242, 222, 180, 0.54) !important;
  color: #f2deb4 !important;
}

.premium-safari-guide-page--detail .chilla-route-visual-content h3 {
  max-width: 11ch;
  margin-bottom: 0.8rem;
  color: #ffffff !important;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3vw, 2.75rem);
  line-height: 1.08;
  text-wrap: balance;
}

.premium-safari-guide-page--detail .chilla-route-visual-content p {
  max-width: 26rem;
  color: rgba(255, 248, 236, 0.9) !important;
  line-height: 1.76;
}

@media (max-width: 991.98px) {
  .premium-safari-guide-page--detail .chilla-route-layout {
    grid-template-columns: 1fr;
  }

  .premium-safari-guide-page--detail .chilla-route-visual-card {
    order: 2;
    min-height: 28rem;
  }
}

@media (max-width: 767.98px) {
  .premium-safari-guide-page--detail .chilla-route-context > .container {
    padding-top: 3rem !important;
    padding-bottom: 3.2rem !important;
  }

  .premium-safari-guide-page--detail .chilla-route-panel,
  .premium-safari-guide-page--detail .chilla-route-visual-card {
    border-radius: 1.4rem !important;
  }

  .premium-safari-guide-page--detail .chilla-route-panel {
    padding: 1.25rem !important;
  }

  .premium-safari-guide-page--detail .chilla-route-grid {
    grid-template-columns: 1fr;
  }

  .premium-safari-guide-page--detail .chilla-route-card {
    padding: 1.05rem 1rem !important;
    border-radius: 1.2rem !important;
  }

  .premium-safari-guide-page--detail .chilla-route-visual-card {
    min-height: 23rem;
  }

  .premium-safari-guide-page--detail .chilla-route-visual-content,
  .premium-safari-guide-page--detail .chilla-route-visual-card .zone-feature-content {
    padding: 1.2rem;
  }
}

@media (max-width: 767.98px) {
  .premium-safari-guide-page--zones #zone-disclaimer > .container {
    padding-top: 0.7rem !important;
    padding-bottom: 0.7rem !important;
  }

  .premium-safari-guide-page--zones .zones-disclaimer-card--safari-zones {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0.8rem;
    padding: 0.95rem 1rem !important;
  }
}


/********** Chilla wildlife editorial redesign **********/
.premium-safari-guide-page--detail .chilla-wildlife-section {
  background: linear-gradient(180deg, rgba(255, 251, 244, 0.96) 0%, rgba(249, 243, 232, 0.96) 100%) !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-section > .container {
  padding-top: clamp(3.4rem, 5.1vw, 4.6rem) !important;
  padding-bottom: clamp(3.6rem, 5.2vw, 4.8rem) !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-head {
  max-width: 48rem;
  margin-bottom: clamp(2rem, 3.5vw, 2.8rem) !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.95rem !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-eyebrow::before,
.premium-safari-guide-page--detail .chilla-wildlife-eyebrow::after {
  content: "";
  display: inline-block;
  width: 1.55rem;
  height: 1px;
  background: rgba(140, 101, 43, 0.42);
}

.premium-safari-guide-page--detail .chilla-wildlife-head::after {
  content: "";
  display: block;
  width: 3.1rem;
  height: 2px;
  margin: 1rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(197, 161, 90, 0.9), rgba(95, 121, 82, 0.38));
}

.premium-safari-guide-page--detail .chilla-wildlife-head .values-title {
  max-width: 14ch;
  margin-left: auto;
  margin-right: auto;
  color: var(--secondary) !important;
  font-size: clamp(2.1rem, 3.15vw, 2.95rem);
  line-height: 1.08;
  text-wrap: balance;
}

.premium-safari-guide-page--detail .chilla-wildlife-head .section-intro {
  max-width: 44rem;
  color: rgba(19, 34, 53, 0.78) !important;
  line-height: 1.8;
}

.premium-safari-guide-page--detail .chilla-wildlife-layout {
  align-items: stretch;
}

.premium-safari-guide-page--detail .chilla-wildlife-media-card {
  min-height: clamp(31rem, 45vw, 38rem);
  height: 100%;
  border-radius: 1.7rem;
  box-shadow: 0 34px 72px -42px rgba(19, 34, 53, 0.28);
}

.premium-safari-guide-page--detail .chilla-wildlife-media-card .zone-feature-media img {
  filter: saturate(1.03) brightness(1.03) contrast(1.02);
  object-position: center 42%;
}

.premium-safari-guide-page--detail .chilla-wildlife-media-overlay {
  background: linear-gradient(180deg, rgba(10, 18, 28, 0.04) 0%, rgba(10, 18, 28, 0.18) 46%, rgba(10, 18, 28, 0.88) 100%) !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-media-content {
  padding: clamp(1.5rem, 2.8vw, 2.2rem);
  justify-content: flex-end;
}

.premium-safari-guide-page--detail .chilla-wildlife-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255, 248, 236, 0.08) !important;
  border: 1px solid rgba(242, 222, 180, 0.56) !important;
  color: #f2deb4 !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-pill i {
  color: currentColor;
}

.premium-safari-guide-page--detail .chilla-wildlife-media-content h3 {
  max-width: 11ch;
  margin-bottom: 0.75rem;
  color: #ffffff !important;
  font-family: var(--font-display);
  font-size: clamp(2rem, 2.9vw, 2.7rem);
  line-height: 1.08;
  text-wrap: balance;
}

.premium-safari-guide-page--detail .chilla-wildlife-media-content h3::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2px;
  margin-top: 0.65rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(242, 222, 180, 0.95), rgba(95, 121, 82, 0.4));
}

.premium-safari-guide-page--detail .chilla-wildlife-media-content p {
  max-width: 25rem;
  color: rgba(255, 248, 236, 0.9) !important;
  line-height: 1.78;
}

.premium-safari-guide-page--detail .chilla-wildlife-card-grid {
  align-items: stretch;
}

.premium-safari-guide-page--detail .chilla-wildlife-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.25rem 1.2rem 1.15rem !important;
  border-radius: 1.4rem !important;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(247, 241, 231, 0.98) 100%) !important;
  border: 1px solid rgba(188, 206, 182, 0.4) !important;
  box-shadow: 0 22px 44px -34px rgba(19, 34, 53, 0.16) !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.95rem;
  border-radius: 50%;
  background: rgba(191, 214, 186, 0.52);
  color: var(--secondary);
  box-shadow: 0 16px 30px -24px rgba(18, 30, 48, 0.22);
}

.premium-safari-guide-page--detail .chilla-wildlife-card-icon i {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 1.12rem !important;
  line-height: 1 !important;
  color: currentColor;
  transform: none !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-card-icon i::before {
  display: block;
  line-height: 1 !important;
}

.premium-safari-guide-page--detail .chilla-wildlife-card h3 {
  margin-bottom: 0.62rem;
  color: var(--secondary) !important;
  font-family: var(--font-display);
  font-size: 1.38rem;
  line-height: 1.16;
}

.premium-safari-guide-page--detail .chilla-wildlife-card h3::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  margin-top: 0.52rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(95, 121, 82, 0.88), rgba(95, 121, 82, 0.24));
}

.premium-safari-guide-page--detail .chilla-wildlife-card p {
  margin-bottom: 0;
  color: rgba(19, 34, 53, 0.74) !important;
  line-height: 1.72;
}

@media (max-width: 991.98px) {
  .premium-safari-guide-page--detail .chilla-wildlife-layout {
    grid-template-columns: 1fr;
  }

  .premium-safari-guide-page--detail .chilla-wildlife-media-card {
    order: 1;
    min-height: 28rem;
  }
}

@media (max-width: 767.98px) {
  .premium-safari-guide-page--detail .chilla-wildlife-section > .container {
    padding-top: 3rem !important;
    padding-bottom: 3.2rem !important;
  }

  .premium-safari-guide-page--detail .chilla-wildlife-media-card,
  .premium-safari-guide-page--detail .chilla-wildlife-card {
    border-radius: 1.25rem !important;
  }

  .premium-safari-guide-page--detail .chilla-wildlife-media-card {
    min-height: 23rem;
  }

  .premium-safari-guide-page--detail .chilla-wildlife-media-content {
    padding: 1.2rem;
  }

  .premium-safari-guide-page--detail .chilla-wildlife-card-grid {
    gap: 1rem;
  }

  .premium-safari-guide-page--detail .chilla-wildlife-card {
    padding: 1.05rem 1rem !important;
  }
}

.premium-safari-guide-page .editorial-image-card-body h3,
.premium-safari-guide-page .editorial-image-card-body p,
.premium-safari-guide-page .editorial-image-card-body span {
  color: #ffffff !important;
}

#season-visuals .editorial-image-card-body span,
#season-visuals .editorial-image-card-body h3,
#season-visuals .editorial-image-card-body p,
#season-visuals .editorial-image-card-body li,
#season-visuals .editorial-image-card-body a,
#season-visuals .editorial-image-card .editorial-image-card-body * {
  color: #ffffff !important;
}

#season-visuals .editorial-image-card-body p {
  color: rgba(255, 255, 255, 0.9) !important;
}

#season-visuals .editorial-image-card-body span {
  color: rgba(255, 255, 255, 0.88) !important;
}

#season-visuals .editorial-image-card::after {
  background: linear-gradient(180deg, rgba(8, 12, 18, 0.18) 10%, rgba(8, 12, 18, 0.82) 100%);
}

#season-visuals .editorial-image-card h3,
#season-visuals .editorial-image-card p,
.best-time-body #season-visuals .editorial-image-card h3,
.best-time-body #season-visuals .editorial-image-card p,
.best-time-body #season-visuals .editorial-image-card span,
.best-time-body .zone-feature-card--earth .zone-feature-content h3,
.best-time-body .zone-feature-card--earth .zone-feature-content p,
.best-time-body .zone-feature-card--earth .zone-feature-content .zone-tag,
.best-time-body .zone-feature-card .zone-feature-content h3,
.best-time-body .zone-feature-card .zone-feature-content p,
.best-time-body .zone-feature-card .zone-feature-content .zone-tag,
.best-time-body #season-visuals .editorial-image-card-body h3,
.best-time-body #season-visuals .editorial-image-card-body p,
.best-time-body #season-visuals .editorial-image-card-body span {
  color: #ffffff !important;
}

.best-time-body .zone-feature-card .zone-feature-content p {
  color: rgba(255, 255, 255, 0.92) !important;
}

.best-time-body .zone-feature-card .zone-feature-content .zone-tag {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* ========================================================
   Helpful Next Steps (TNS) – Premium Redesign
   ======================================================== */

.tns-section {
  position: relative;
  background: linear-gradient(160deg, #0d1f14 0%, #112a1a 50%, #0a1a10 100%) !important;
  overflow: hidden;
}

.tns-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 10% 0%, rgba(95, 160, 82, 0.14) 0%, transparent 45%),
    radial-gradient(ellipse at 90% 100%, rgba(197, 161, 90, 0.10) 0%, transparent 40%);
  pointer-events: none;
}

.tns-head {
  max-width: 54rem;
  margin-bottom: 3rem !important;
}

.tns-eyebrow {
  color: rgba(197, 161, 90, 0.9) !important;
  letter-spacing: 0.2em;
  margin-bottom: 0.8rem !important;
}

.tns-title {
  color: #ffffff !important;
  margin-bottom: 1rem !important;
}

.tns-section .section-intro {
  color: rgba(255, 255, 255, 0.62) !important;
}

/* Grid */
.tns-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  align-items: stretch;
}

/* Individual Card */
.tns-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 27rem;
  border-radius: 1.5rem;
  overflow: hidden;
  text-decoration: none !important;
  cursor: pointer;
  background: #0a1a0d;
  border: 1px solid rgba(255, 255, 255, 0.07);
  transition: transform 0.36s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.36s ease;
  box-shadow: 0 28px 60px -40px rgba(0, 0, 0, 0.7);
}

.tns-card:hover {
  transform: translateY(-8px) scale(1.014);
  box-shadow: 0 44px 80px -36px rgba(0, 0, 0, 0.82);
  text-decoration: none !important;
}

/* Image zoom on hover */
.tns-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--tns-img);
  background-size: cover;
  background-position: center;
  transition: transform 0.56s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}

.tns-card:hover::before {
  transform: scale(1.07);
}

/* Gradient overlay — light at top so image shows, dense at bottom for text */
.tns-card-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom,
    rgba(4, 10, 6, 0.08) 0%,
    rgba(6, 14, 8, 0.22) 30%,
    rgba(6, 14, 8, 0.62) 58%,
    rgba(4, 10, 6, 0.88) 100%);
  transition: background 0.36s ease;
}

.tns-card:hover .tns-card-overlay {
  background: linear-gradient(to bottom,
    rgba(4, 10, 6, 0.12) 0%,
    rgba(6, 14, 8, 0.28) 30%,
    rgba(6, 14, 8, 0.70) 58%,
    rgba(4, 10, 6, 0.92) 100%);
}

.tns-card-overlay--cta {
  background: linear-gradient(to bottom,
    rgba(8, 36, 18, 0.12) 0%,
    rgba(10, 40, 18, 0.32) 30%,
    rgba(8, 32, 14, 0.68) 58%,
    rgba(4, 22, 10, 0.92) 100%);
}

/* Card body */
.tns-card-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 1.5rem 1.45rem 1.6rem;
}

/* Step badge row */
.tns-step-badge {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: auto;
}

.tns-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  font-family: var(--font-display);
  flex-shrink: 0;
}

.tns-step-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  background: rgba(197, 161, 90, 0.18);
  border: 1px solid rgba(197, 161, 90, 0.28);
  color: rgba(242, 220, 165, 0.9);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tns-step-pill--green {
  background: rgba(34, 197, 94, 0.18);
  border-color: rgba(34, 197, 94, 0.30);
  color: rgba(134, 239, 172, 0.92);
}

/* Card content block */
.tns-card-content {
  margin-top: 3.5rem;
}

.tns-card-title {
  color: #ffffff !important;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem) !important;
  margin-bottom: 0.55rem;
  line-height: 1.25;
}

.tns-card-copy {
  color: rgba(255, 255, 255, 0.70) !important;
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}

.tns-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: rgba(220, 190, 120, 0.92) !important;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.2s ease, gap 0.2s ease;
  text-decoration: none !important;
}

.tns-card:hover .tns-card-cta {
  color: #e8d191 !important;
  gap: 0.75em;
}

.tns-card-cta--green {
  color: rgba(134, 239, 172, 0.92) !important;
}

.tns-card:hover .tns-card-cta--green {
  color: #86efac !important;
}

/* Shimmer accent on the CTA card */
.tns-card--cta {
  border-color: rgba(34, 197, 94, 0.18);
}

.tns-card--cta:hover {
  border-color: rgba(34, 197, 94, 0.34);
  box-shadow: 0 44px 80px -36px rgba(0, 0, 0, 0.82), 0 0 0 1px rgba(34, 197, 94, 0.2);
}

/* Responsive */
@media (max-width: 1199.98px) {
  .tns-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .tns-card {
    min-height: 24rem;
  }
}

@media (max-width: 575.98px) {
  .tns-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .tns-card {
    min-height: 20rem;
  }
}

/* ========================================================
   Payment / Booking Caveats (PBC) – Premium Redesign
   ======================================================== */

.pbc-section {
  position: relative;
  padding: 5rem 0;
  overflow: hidden;
}

.pbc-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 5% 100%, rgba(95, 160, 82, 0.06) 0%, transparent 44%),
    radial-gradient(ellipse at 95% 0%, rgba(197, 161, 90, 0.06) 0%, transparent 38%);
  pointer-events: none;
}

/* Head */
.pbc-head {
  max-width: 52rem;
  margin-bottom: 3.2rem !important;
}

.pbc-eyebrow {
  color: #8c652b !important;
  letter-spacing: 0.2em;
  margin-bottom: 0.75rem !important;
}

.pbc-title {
  color: var(--secondary) !important;
  margin-bottom: 0.85rem !important;
}

.pbc-intro {
  color: rgba(19, 34, 53, 0.68) !important;
  max-width: 44rem;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Layout */
.pbc-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(22rem, 1fr);
  gap: 2rem;
  align-items: start;
}

/* Left tiles grid */
.pbc-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem;
}

.pbc-tile {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.55rem 1.4rem;
  border-radius: 1.25rem;
  background: linear-gradient(160deg, rgba(255, 253, 248, 0.98) 0%, rgba(247, 241, 231, 0.98) 100%);
  border: 1px solid rgba(197, 161, 90, 0.18);
  box-shadow: 0 18px 40px -28px rgba(19, 34, 53, 0.16);
  transition: border-color 0.28s ease, transform 0.28s ease, box-shadow 0.28s ease;
}

.pbc-tile:hover {
  border-color: rgba(197, 161, 90, 0.36);
  transform: translateY(-4px);
  box-shadow: 0 26px 50px -28px rgba(19, 34, 53, 0.22);
}

.pbc-tile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(95, 121, 82, 0.14), rgba(63, 95, 59, 0.08));
  border: 1px solid rgba(95, 121, 82, 0.18);
  color: var(--secondary);
  font-size: 1rem;
}

.pbc-tile-body strong {
  display: block;
  color: var(--secondary);
  font-size: 0.92rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
  font-family: var(--font-display);
}

.pbc-tile-body p {
  color: rgba(19, 34, 53, 0.66);
  font-size: 0.84rem;
  line-height: 1.62;
  margin: 0;
}

/* Right aside CTA panel */
.pbc-aside {
  position: sticky;
  top: 6rem;
  padding: 2rem 1.75rem 1.9rem;
  border-radius: 1.5rem;
  background: linear-gradient(160deg, rgba(255, 253, 248, 0.97) 0%, rgba(248, 242, 232, 0.97) 100%);
  border: 1px solid rgba(197, 161, 90, 0.18);
  box-shadow: 0 32px 64px -40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.pbc-aside-top {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.1rem;
}

.pbc-aside-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(95, 121, 82, 0.14), rgba(63, 95, 59, 0.08));
  border: 1px solid rgba(95, 121, 82, 0.18);
  color: var(--secondary);
  font-size: 1.1rem;
}

.pbc-aside-kicker {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8c652b;
  margin-bottom: 0.2rem;
}

.pbc-aside-title {
  color: var(--secondary) !important;
  font-size: clamp(1.3rem, 2vw, 1.65rem) !important;
  margin: 0;
  line-height: 1.15;
}

.pbc-aside-intro {
  color: rgba(19, 34, 53, 0.62);
  font-size: 0.9rem;
  margin-bottom: 1.3rem;
}

/* Advice items */
.pbc-advice-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.95rem 0;
  border-top: 1px solid rgba(197, 161, 90, 0.14);
}

.pbc-advice-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: rgba(95, 121, 82, 0.10);
  color: var(--secondary);
  font-size: 0.82rem;
  margin-top: 0.1rem;
}

.pbc-advice-item strong {
  display: block;
  color: var(--secondary);
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.pbc-advice-item p {
  color: rgba(19, 34, 53, 0.66);
  font-size: 0.85rem;
  line-height: 1.58;
  margin: 0;
}

/* WhatsApp button */
.pbc-wa-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  margin-top: 1.5rem;
  padding: 0.85rem 1.5rem;
  border-radius: 0.85rem;
  background: #25D366;
  color: #ffffff !important;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  border: none;
  transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
  box-shadow: 0 16px 36px -18px rgba(37, 211, 102, 0.45);
  text-decoration: none !important;
}

.pbc-wa-btn:hover {
  background: #1fb855;
  transform: translateY(-2px);
  box-shadow: 0 22px 44px -18px rgba(37, 211, 102, 0.6);
  color: #ffffff !important;
}

.pbc-wa-btn i {
  font-size: 1.15rem;
}

/* Responsive */
@media (max-width: 991.98px) {
  .pbc-layout {
    grid-template-columns: 1fr;
  }
  .pbc-aside {
    position: static;
  }
}

@media (max-width: 575.98px) {
  .pbc-tiles {
    grid-template-columns: 1fr;
  }
}

/* ── TNS card text: force white to beat premium-safari-guide-page overrides ── */
.premium-safari-guide-page .tns-card-title,
.tns-card .tns-card-title {
  color: #ffffff !important;
}

.premium-safari-guide-page .tns-card-copy,
.tns-card .tns-card-copy {
  color: rgba(255, 255, 255, 0.78) !important;
}

.premium-safari-guide-page .tns-card-cta,
.tns-card .tns-card-cta {
  color: rgba(255, 255, 255, 0.88) !important;
}

.premium-safari-guide-page .tns-card:hover .tns-card-cta,
.tns-card:hover .tns-card-cta {
  color: #ffffff !important;
}

.premium-safari-guide-page .tns-card-cta--green,
.tns-card .tns-card-cta--green {
  color: rgba(134, 239, 172, 0.95) !important;
}

.premium-safari-guide-page .tns-card:hover .tns-card-cta--green,
.tns-card:hover .tns-card-cta--green {
  color: #86efac !important;
}

.premium-safari-guide-page .tns-step-num,
.tns-card .tns-step-num {
  color: rgba(255, 255, 255, 0.78) !important;
}


/********** Timings guidance redesign **********/
.timings-guidance-shell {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 251, 244, 0.96) 0%, rgba(247, 241, 231, 0.96) 100%) !important;
}

.timings-guidance-shell::before {
  content: "";
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 11rem;
  height: 11rem;
  background: radial-gradient(circle, rgba(95, 121, 82, 0.08) 0%, rgba(95, 121, 82, 0) 68%);
  pointer-events: none;
}

.timings-guidance-head {
  max-width: 47rem;
  margin-bottom: 2.35rem !important;
}

.timings-guidance-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.95rem !important;
}

.timings-guidance-eyebrow::before,
.timings-guidance-eyebrow::after {
  content: "";
  display: inline-block;
  width: 1.55rem;
  height: 1px;
  background: rgba(140, 101, 43, 0.42);
}

.timings-guidance-head::before {
  content: "";
  display: inline-flex;
  width: 2.2rem;
  height: 2.2rem;
  margin-bottom: 0.7rem;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(197, 161, 90, 0.18) 0%, rgba(95, 121, 82, 0.12) 58%, transparent 60%);
  box-shadow: 0 10px 24px -18px rgba(19, 34, 53, 0.16);
}

.timings-guidance-title {
  max-width: 13ch;
  margin-left: auto;
  margin-right: auto;
}

.timings-guidance-card-grid {
  align-items: stretch;
}

.timings-guidance-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.5rem 1.4rem 1.45rem !important;
  border-radius: 1.5rem !important;
  overflow: hidden;
}

.timings-guidance-card::after {
  content: "";
  position: absolute;
  right: -0.8rem;
  bottom: -0.9rem;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(95, 121, 82, 0.08) 0%, rgba(95, 121, 82, 0) 68%);
  pointer-events: none;
}

.timings-guidance-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.95rem;
  border-radius: 50%;
  background: rgba(191, 214, 186, 0.42);
  color: var(--secondary);
  box-shadow: 0 14px 28px -24px rgba(19, 34, 53, 0.18);
}

.timings-guidance-card-icon i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.05rem;
  line-height: 1;
}

.timings-guidance-card h3 {
  font-size: clamp(1.5rem, 2vw, 1.9rem) !important;
}

.timings-guidance-link {
  margin-top: auto !important;
  padding-top: 1rem;
}

.timings-guidance-lower {
  position: relative;
  background: linear-gradient(180deg, rgba(232, 241, 228, 0.88) 0%, rgba(239, 245, 236, 0.94) 100%) !important;
}

.timings-guidance-divider {
  display: flex;
  justify-content: center;
  margin-bottom: 1.35rem;
}

.timings-guidance-divider span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(255, 252, 246, 0.96);
  border: 1px solid rgba(197, 161, 90, 0.18);
  color: #8c652b;
  box-shadow: 0 16px 34px -26px rgba(19, 34, 53, 0.18);
}

.timings-guidance-divider i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
}

.timings-guidance-layout {
  grid-template-columns: minmax(0, 1.8fr) minmax(19rem, 0.95fr);
  gap: 1.5rem;
  align-items: stretch;
}

.timings-guidance-panel {
  position: relative;
  border-radius: 1.5rem !important;
  overflow: hidden;
}

.timings-guidance-panel--primary,
.timings-guidance-panel--secondary {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(247, 241, 231, 0.98) 100%) !important;
  border: 1px solid rgba(197, 161, 90, 0.16) !important;
  box-shadow: 0 24px 52px -40px rgba(19, 34, 53, 0.18) !important;
}

.timings-guidance-panel-top {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 0.95rem;
  margin-bottom: 1rem;
}

.timings-guidance-money-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(242, 222, 180, 0.58);
  color: var(--secondary);
}

.timings-guidance-money-badge i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.05rem;
  line-height: 1;
}

.timings-guidance-panel-rule {
  width: 1px;
  align-self: stretch;
  background: linear-gradient(180deg, rgba(197, 161, 90, 0.15), rgba(95, 121, 82, 0.32), rgba(197, 161, 90, 0.15));
}

.timings-guidance-panel-kicker {
  color: #8c652b !important;
}

.timings-guidance-panel--primary .pricing-list {
  grid-template-columns: 1fr;
  gap: 0.7rem;
}

.timings-guidance-panel--secondary .travel-access-item + .travel-access-item {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(197, 161, 90, 0.14);
}

@media (max-width: 991.98px) {
  .timings-guidance-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .timings-guidance-panel-top {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .timings-guidance-panel-rule {
    display: none;
  }
}


/* ========================================================
   Wildlife Page Premium Redesign — wlp-* classes
   ======================================================== */

/* ---- wlp-stats-section (Section 1: Highlights) ---- */
.wlp-stats-section {
  background: #091017;
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}

.wlp-stats-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 15% 50%, rgba(231, 201, 140, 0.16) 0%, transparent 60%),
              radial-gradient(ellipse at 85% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 55%);
  pointer-events: none;
}

.wlp-stats-section .values-eyebrow {
  color: rgba(255, 244, 225, 0.82) !important;
}

.wlp-stats-section .section-intro {
  color: rgba(255, 255, 255, 0.84) !important;
}

.wlp-stat-tile {
  background: linear-gradient(145deg, #0d1721 0%, #091017 100%);
  border: 1px solid rgba(197, 161, 90, 0.28);
  border-radius: 1.25rem;
  padding: 2rem 1.5rem 1.75rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.32s ease,
              border-color 0.32s ease;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}

.wlp-stat-tile::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(197, 161, 90, 0.6), transparent);
  border-radius: 1.25rem 1.25rem 0 0;
}

.wlp-stat-tile:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  border-color: rgba(197, 161, 90, 0.5);
}

.wlp-stat-tile__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 1.25rem;
  margin: 0 auto 1rem;
  transition: background 0.3s ease;
}

.wlp-stat-tile:hover .wlp-stat-tile__icon {
  background: rgba(255, 255, 255, 0.14);
}

.wlp-stat-tile__num {
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(135deg, #f0d98a 0%, #c5a15a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.35rem;
  letter-spacing: -0.02em;
}

.wlp-stat-tile__label {
  font-size: 0.85rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.65rem;
}

.wlp-stat-tile__desc {
  font-size: 0.845rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.6;
  margin-bottom: 0;
}

.wlp-stats-section .wlp-stat-tile,
.wlp-stats-section .wlp-stat-tile p,
.wlp-stats-section .wlp-stat-tile span,
.wlp-stats-section .wlp-stat-tile .wlp-stat-tile__label,
.wlp-stats-section .wlp-stat-tile .wlp-stat-tile__desc,
.wlp-stats-section .wlp-stat-tile .wlp-stat-tile__icon,
.wlp-species-card .wlp-species-card__name,
.wlp-species-card .wlp-species-card__desc,
.wlp-cinematic-card .wlp-cinematic-card__title,
.wlp-cinematic-card .wlp-cinematic-card__copy,
.wlp-related-card .wlp-related-card__title,
.wlp-related-card .wlp-related-card__copy,
.wlp-related-card .wlp-related-card__cta {
  color: #ffffff !important;
}

/* ---- wlp-cinematic-card (Sections 2 & 4: Image cards) ---- */
.wlp-cinematic-card {
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
  min-height: 28rem;
  display: flex;
  align-items: flex-end;
  transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.4s ease;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.wlp-cinematic-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}

.wlp-cinematic-card:hover .wlp-cinematic-card__image {
  transform: scale(1.06);
}

.wlp-cinematic-card:hover {
  box-shadow: 0 36px 80px rgba(0, 0, 0, 0.6);
}

.wlp-cinematic-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    rgba(0, 0, 0, 0.08) 0%,
    rgba(0, 0, 0, 0.2) 30%,
    rgba(0, 0, 0, 0.72) 62%,
    rgba(0, 0, 0, 0.94) 100%);
  z-index: 1;
  transition: background 0.4s ease;
}

.wlp-cinematic-card:hover .wlp-cinematic-card__overlay {
  background: linear-gradient(to bottom,
    rgba(0, 0, 0, 0.1) 0%,
    rgba(0, 0, 0, 0.24) 30%,
    rgba(0, 0, 0, 0.78) 62%,
    rgba(0, 0, 0, 0.96) 100%);
}

.wlp-cinematic-card__body {
  position: relative;
  z-index: 2;
  padding: 2rem 1.8rem 2rem;
  width: 100%;
}

.wlp-cinematic-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.8rem;
  border-radius: 999px;
  background: rgba(197, 161, 90, 0.18);
  border: 1px solid rgba(197, 161, 90, 0.32);
  color: rgba(242, 220, 165, 0.92);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.wlp-cinematic-card__tag,
.wlp-related-card__kicker {
  box-shadow: 0 8px 22px -16px rgba(0, 0, 0, 0.6);
}

.wlp-cinematic-card__title {
  color: #ffffff !important;
  font-size: clamp(1.45rem, 2.5vw, 1.9rem) !important;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 0.8rem;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
}

.wlp-cinematic-card__copy {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 0;
}

/* ---- wlp-species-grid & wlp-species-card (Section 3) ---- */
.wlp-species-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}

.wlp-species-card {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  min-height: 22rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: transform 0.36s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.36s ease;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
  cursor: default;
}

.wlp-species-card:hover {
  transform: translateY(-6px) scale(1.015);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.52);
}

.wlp-species-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}

.wlp-species-card:hover .wlp-species-card__img {
  transform: scale(1.08);
}

.wlp-species-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom,
    rgba(0, 0, 0, 0.04) 0%,
    rgba(0, 0, 0, 0.12) 35%,
    rgba(0, 0, 0, 0.7) 62%,
    rgba(0, 0, 0, 0.92) 100%);
  transition: background 0.36s ease;
}

.wlp-species-card:hover .wlp-species-card__overlay {
  background: linear-gradient(to bottom,
    rgba(0, 0, 0, 0.08) 0%,
    rgba(0, 0, 0, 0.18) 35%,
    rgba(0, 0, 0, 0.76) 62%,
    rgba(0, 0, 0, 0.95) 100%);
}

.wlp-species-card__body {
  position: relative;
  z-index: 2;
  padding: 1.35rem 1.25rem 1.35rem;
}

.wlp-species-card__name {
  color: #ffffff !important;
  font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.45rem;
}

.wlp-species-card__desc {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.83rem;
  line-height: 1.6;
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .wlp-species-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .wlp-species-card {
    min-height: 19rem;
  }
}

@media (max-width: 575.98px) {
  .wlp-species-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .wlp-species-card {
    min-height: 16rem;
  }
}

/* ---- wlp-note-card (Section 5: Observation notes) ---- */
.wlp-note-card {
  background: #fff9f3;
  border: 1px solid rgba(197, 161, 90, 0.30);
  border-radius: 1.25rem;
  padding: 2rem 1.5rem 1.75rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.32s ease,
              border-color 0.32s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
}

.wlp-note-card::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(197, 161, 90, 0.5), transparent);
  border-radius: 0 0 1.25rem 1.25rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.wlp-note-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.12);
  border-color: rgba(197, 161, 90, 0.55);
}

.wlp-note-card:hover::before {
  opacity: 1;
}

.wlp-note-card__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #132a1e;
  color: #c5a15a;
  font-size: 1.25rem;
  margin: 0 auto 1.1rem;
  transition: transform 0.3s ease, background 0.3s ease;
}

.wlp-note-card:hover .wlp-note-card__icon-wrap {
  transform: scale(1.1);
  background: #1a3828;
}

.wlp-note-card__heading {
  font-size: 1.1rem !important;
  font-weight: 700;
  color: #132a1e !important;
  margin-bottom: 0.6rem;
}

.wlp-note-card__body {
  font-size: 0.875rem;
  color: #4a5a50 !important;
  line-height: 1.65;
  margin-bottom: 0;
}

/* ---- wlp-related-card (Section 7: Related guides) ---- */
.wlp-related-card {
  position: relative;
  min-height: 22rem;
  border-radius: 1.5rem;
  overflow: hidden;
  transition: transform 0.38s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.38s ease;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.40);
}

.wlp-related-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}

.wlp-related-card:hover {
  transform: translateY(-8px) scale(1.014);
  box-shadow: 0 38px 80px rgba(0, 0, 0, 0.58);
}

.wlp-related-card:hover .wlp-related-card__image {
  transform: scale(1.07);
}

.wlp-related-card__link {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  min-height: 22rem;
  text-decoration: none !important;
  position: relative;
  z-index: 2;
}

.wlp-related-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom,
    rgba(0, 0, 0, 0.08) 0%,
    rgba(0, 0, 0, 0.22) 32%,
    rgba(0, 0, 0, 0.68) 58%,
    rgba(0, 0, 0, 0.92) 100%);
  transition: background 0.38s ease;
}

.wlp-related-card:hover .wlp-related-card__overlay {
  background: linear-gradient(to bottom,
    rgba(0, 0, 0, 0.12) 0%,
    rgba(0, 0, 0, 0.28) 32%,
    rgba(0, 0, 0, 0.76) 58%,
    rgba(0, 0, 0, 0.96) 100%);
}

.wlp-related-card__body {
  position: relative;
  z-index: 2;
  padding: 1.8rem 1.75rem 1.9rem;
}

.wlp-related-card__kicker {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.8rem;
  border-radius: 999px;
  background: rgba(197, 161, 90, 0.18);
  border: 1px solid rgba(197, 161, 90, 0.30);
  color: rgba(242, 220, 165, 0.92);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.7rem;
}

.wlp-related-card__title {
  color: #ffffff !important;
  font-size: clamp(1.25rem, 1.9vw, 1.55rem) !important;
  font-weight: 800;
  line-height: 1.22;
  margin-bottom: 0.55rem;
}

.wlp-related-card__copy {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.88rem;
  line-height: 1.62;
  margin-bottom: 0.9rem;
}

.wlp-related-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  color: rgba(255, 245, 228, 0.92) !important;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.22s ease, gap 0.22s ease;
}

.wlp-related-card:hover .wlp-related-card__cta {
  color: #e8d191 !important;
  gap: 0.7em;
}

@media (max-width: 767.98px) {
  .wlp-cinematic-card {
    min-height: 22rem;
  }
  .wlp-related-card,
  .wlp-related-card__link {
    min-height: 18rem;
  }
}

/* ========================================================
   How To Reach (HTR) – Premium Redesign
   ======================================================== */

.htr-distances-section {
  position: relative;
  background:
    radial-gradient(circle at top left, rgba(27, 94, 32, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(232, 245, 233, 0.78) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.htr-distances-head {
  max-width: 46rem;
}

.htr-distances-section .values-eyebrow {
  color: var(--primary) !important;
}

.htr-distances-section .values-title {
  color: var(--secondary) !important;
}

.htr-distances-section .section-intro {
  color: var(--ink-soft) !important;
}

.htr-distance-board {
  position: relative;
  padding: clamp(1.4rem, 2vw, 1.9rem);
  border-radius: 1.75rem;
  border: 1px solid rgba(27, 94, 32, 0.12);
  background:
    radial-gradient(circle at top right, rgba(27, 94, 32, 0.1), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(232, 245, 233, 0.92) 100%);
  box-shadow: 0 32px 70px -46px rgba(13, 59, 16, 0.22);
  overflow: hidden;
}

.htr-distance-board::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(27, 94, 32, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(27, 94, 32, 0.035) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity: 0.4;
  pointer-events: none;
}

.htr-distance-board__head,
.htr-route-list {
  position: relative;
  z-index: 1;
}

.htr-distance-board__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.35rem 0 1.4rem;
}

.htr-distance-board__head p {
  max-width: 43rem;
  color: var(--ink-soft);
  font-size: 0.98rem;
  line-height: 1.75;
}

.htr-distance-board__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.95rem;
  border-radius: 999px;
  background: rgba(27, 94, 32, 0.08);
  border: 1px solid rgba(27, 94, 32, 0.12);
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.htr-route-list {
  display: grid;
  gap: 1rem;
}

.htr-route-tile {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(11rem, 0.9fr) minmax(0, 1.25fr);
  align-items: center;
  gap: 1.35rem;
  padding: 1.35rem 1.45rem;
  border: 1px solid rgba(27, 94, 32, 0.12);
  border-radius: 1.35rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(232, 245, 233, 0.78) 100%);
  box-shadow: 0 20px 40px -34px rgba(13, 59, 16, 0.16);
}

.htr-route-tile:last-child {
  border-bottom: none;
}

.htr-route-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.htr-city-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.95rem;
  background: linear-gradient(145deg, rgba(27, 94, 32, 0.12), rgba(232, 245, 233, 0.95));
  border: 1px solid rgba(27, 94, 32, 0.14);
  color: var(--primary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.htr-route-origin {
  min-width: 0;
}

.htr-route-eyebrow,
.htr-route-meta,
.htr-route-note-label {
  display: inline-block;
  margin-bottom: 0.42rem;
  color: rgba(13, 59, 16, 0.58);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.htr-route-path {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.htr-city-name {
  color: var(--secondary);
  font-weight: 600;
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
  line-height: 1.1;
}

.htr-route-destination {
  color: var(--dark);
  font-size: 1rem;
  font-weight: 700;
}

.htr-route-path-sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(27, 94, 32, 0.08);
  color: var(--primary);
  font-size: 0.8rem;
}

.htr-route-center {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.htr-route-distance {
  display: inline-flex;
  align-items: center;
  min-height: 3.5rem;
  padding: 0.85rem 1.15rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  box-shadow: 0 18px 34px -24px rgba(13, 59, 16, 0.38);
  color: #ffffff;
  font-size: clamp(1.05rem, 1.9vw, 1.35rem);
  font-weight: 800;
  line-height: 1.2;
}

.htr-route-right {
  color: var(--ink-soft);
  font-size: 0.97rem;
  line-height: 1.7;
}

.htr-route-right p {
  color: var(--ink-soft) !important;
  margin-bottom: 0;
}

/* Visual Cards */
.htr-visual-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 22.5rem;
  border-radius: 1.5rem;
  overflow: hidden;
  text-decoration: none !important;
  background-color: #0a1a0d;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid rgba(27, 94, 32, 0.16);
  box-shadow: 0 22px 42px -28px rgba(13, 59, 16, 0.28);
  transition: transform 0.36s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.36s ease, border-color 0.36s ease;
}

.htr-visual-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 23, 12, 0.02) 0%, rgba(7, 23, 12, 0.08) 38%, rgba(7, 23, 12, 0.3) 100%);
  transition: transform 0.56s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}

.htr-visual-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 -88px 88px -68px rgba(7, 18, 12, 0.58), inset 0 1px 0 rgba(255, 255, 255, 0.16);
  z-index: 1;
  pointer-events: none;
}

.htr-visual-card:hover {
  transform: translateY(-6px);
  border-color: rgba(251, 133, 0, 0.28);
  box-shadow: 0 28px 52px -28px rgba(13, 59, 16, 0.4);
}

.htr-visual-card:hover::before {
  transform: scale(1.05);
}

.htr-visual-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(12, 30, 18, 0.02) 0%, rgba(12, 30, 18, 0.08) 42%, rgba(12, 30, 18, 0.24) 100%);
}

.htr-visual-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding: 1.75rem;
  color: #fff;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.45);
}

.htr-visual-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
}

.htr-visual-tag {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.88rem;
  border-radius: 2rem;
  background: linear-gradient(135deg, rgba(255, 196, 86, 0.94) 0%, rgba(251, 133, 0, 0.94) 100%);
  color: #fff9ef;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  box-shadow: 0 12px 24px -18px rgba(251, 133, 0, 0.75);
}

.htr-visual-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.htr-visual-icon i,
.htr-visual-card i {
  color: #ffffff;
}

.htr-visual-body h3 {
  color: #fff !important;
  font-size: clamp(1.45rem, 2vw, 1.8rem) !important;
  margin-bottom: 0;
  line-height: 1.12;
}

.htr-visual-body p {
  color: rgba(255, 255, 255, 0.97) !important;
  font-size: 0.94rem;
  margin: 0;
  line-height: 1.65;
}

#route-visuals .htr-visual-card,
#route-visuals .htr-visual-card h3,
#route-visuals .htr-visual-card p,
#route-visuals .htr-visual-card i,
#route-visuals .htr-visual-card .htr-visual-icon {
  color: #ffffff !important;
}

/* City Cards */
.htr-city-guide-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 14%, rgba(251, 133, 0, 0.08), transparent 18%),
    radial-gradient(circle at 88% 18%, rgba(40, 127, 192, 0.05), transparent 20%),
    linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(246, 241, 231, 0.98) 100%);
}

.htr-city-guide-head {
  max-width: 50rem;
}

.htr-city-guide-section .values-eyebrow {
  color: var(--secondary) !important;
}

.htr-city-guide-section .values-title {
  color: var(--dark) !important;
}

.htr-city-guide-section .section-intro {
  color: var(--ink-soft) !important;
}

.htr-city-guide-panel {
  position: relative;
  padding: clamp(1.15rem, 2vw, 1.55rem);
  border-radius: 1.8rem;
  border: 1px solid rgba(27, 94, 32, 0.1);
  background:
    radial-gradient(circle at top right, rgba(251, 133, 0, 0.08), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(241, 248, 241, 0.78) 100%);
  box-shadow: 0 30px 60px -42px rgba(13, 59, 16, 0.18);
}

.htr-city-guide-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(27, 94, 32, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(27, 94, 32, 0.025) 1px, transparent 1px);
  background-size: 18px 18px;
  border-radius: inherit;
  pointer-events: none;
}

.htr-city-guide-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}

.htr-city-card {
  position: relative;
  overflow: hidden;
  border-radius: 1.45rem;
  border: 1px solid rgba(27, 94, 32, 0.14);
  background:
    radial-gradient(circle at top right, rgba(232, 245, 233, 0.95), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 248, 241, 0.92) 100%);
  padding: 1.85rem;
  box-shadow: 0 24px 48px -38px rgba(13, 59, 16, 0.28);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.htr-city-card:hover {
  transform: translateY(-5px);
  border-color: rgba(251, 133, 0, 0.28);
  box-shadow: 0 28px 54px -34px rgba(13, 59, 16, 0.24);
}

.htr-city-card--premium {
  border-radius: 1.55rem;
  padding: 1.85rem;
}

.htr-city-card--feature {
  background-color: #0a1a0d;
  background-image: url('../img/featured/rajaji-safari-haridwar.avif');
  background-size: cover;
  background-position: center;
  border-color: rgba(251, 133, 0, 0.2);
  box-shadow: 0 28px 56px -36px rgba(13, 59, 16, 0.52);
}

.htr-city-card--feature::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 84% 14%, rgba(251, 133, 0, 0.16), transparent 22%),
    linear-gradient(180deg, rgba(7, 23, 12, 0.18) 0%, rgba(7, 23, 12, 0.3) 34%, rgba(7, 23, 12, 0.78) 100%);
  z-index: 0;
}

.htr-city-card--feature > * {
  position: relative;
  z-index: 1;
}

.htr-city-card--wide {
  grid-column: 1 / -1;
}

.htr-city-card-head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.05rem;
}

.htr-city-medallion {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.4rem;
  height: 3.4rem;
  flex: 0 0 3.4rem;
  border-radius: 1.1rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  color: #ffffff;
  font-size: 1rem;
  box-shadow: 0 18px 32px -22px rgba(13, 59, 16, 0.34);
}

.htr-city-label {
  display: block;
  color: var(--primary);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.77rem;
  margin-bottom: 0.45rem;
}

.htr-city-card h3 {
  color: var(--dark) !important;
  margin-bottom: 0;
  font-size: clamp(1.45rem, 2.2vw, 1.85rem) !important;
  line-height: 1.18;
}

.htr-city-card p,
.htr-city-card li {
  color: var(--ink-soft);
  line-height: 1.72;
  margin-bottom: 0;
}

.htr-city-card .guide-bullet-list {
  display: grid;
  gap: 0.7rem;
  padding-left: 0;
  margin-bottom: 0;
}

.htr-city-card .guide-bullet-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  list-style: none;
}

.htr-city-card .guide-bullet-list li i {
  margin-top: 0.3rem;
  color: var(--primary);
}

.htr-city-card--feature .htr-city-label {
  color: #ffd88b !important;
}

.htr-city-card--feature .htr-city-medallion,
.htr-city-card--feature .htr-city-medallion i {
  color: #ffffff !important;
}

.htr-city-card--feature h3 {
  color: #ffffff !important;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.32);
}

.htr-city-card--feature p,
.htr-city-card--feature li {
  color: rgba(255, 255, 255, 0.94) !important;
  text-shadow: 0 3px 14px rgba(0, 0, 0, 0.28);
}

.htr-city-card--feature .htr-city-card-head,
.htr-city-card--feature .htr-city-card-head *,
.htr-city-card--feature > p,
.htr-city-card--feature > p *,
.htr-city-card--feature .htr-mini-grid,
.htr-city-card--feature .htr-mini-pill strong,
.htr-city-card--feature .htr-mini-pill span {
  color: #ffffff !important;
}

#city-routes .htr-city-card--feature,
#city-routes .htr-city-card--feature p,
#city-routes .htr-city-card--feature li,
#city-routes .htr-city-card--feature h3,
#city-routes .htr-city-card--feature span,
#city-routes .htr-city-card--feature strong,
#city-routes .htr-city-card--feature i {
  color: #ffffff !important;
}

.htr-city-card--feature .guide-bullet-list li i {
  color: #ffd88b;
}

.htr-mini-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 0.75rem;
}

.htr-mini-pill {
  background: rgba(232, 245, 233, 0.82);
  border: 1px solid rgba(27, 94, 32, 0.12);
  border-radius: 0.95rem;
  padding: 0.85rem 0.8rem;
  text-align: center;
  box-shadow: 0 18px 28px -24px rgba(13, 59, 16, 0.28);
}

.htr-mini-pill strong {
  display: block;
  color: var(--secondary);
  font-size: 0.95rem;
}

.htr-mini-pill span {
  display: block;
  color: rgba(13, 59, 16, 0.66);
  font-size: 0.8rem;
  margin-top: 0.2rem;
}

.htr-city-card--feature .htr-mini-pill {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 216, 139, 0.24);
}

.htr-city-card--feature .htr-mini-pill strong {
  color: #ffffff;
}

.htr-city-card--feature .htr-mini-pill span {
  color: rgba(255, 255, 255, 0.76);
}

/* Transport Cards */
.htr-transport-card {
  background: #0a1a0d;
  background-image: linear-gradient(to right, rgba(13, 31, 20, 0.85), rgba(13, 31, 20, 0.95)), url('../img/featured/rajaji-forest-trail.avif');
  background-size: cover;
  background-position: center;
  border-radius: 1.25rem;
  border: 1px solid rgba(197, 161, 90, 0.15);
  padding: 1.75rem;
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.htr-transport-card:hover {
  border-color: rgba(197, 161, 90, 0.4);
  box-shadow: 0 10px 30px -15px rgba(19, 34, 53, 0.1);
}

.htr-transport-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: var(--secondary);
  border: 1px solid rgba(197, 161, 90, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

@media (max-width: 991.98px) {
  .htr-city-guide-grid {
    grid-template-columns: 1fr;
  }

  .htr-city-card--wide {
    grid-column: auto;
  }

  .htr-visual-card {
    min-height: 21rem;
  }
}

@media (max-width: 575.98px) {
  .htr-visual-card {
    min-height: 20rem;
    border-radius: 1.25rem;
  }

  .htr-visual-body {
    padding: 1.2rem;
  }

  .htr-visual-top {
    gap: 0.65rem;
  }

  .htr-visual-tag {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
  }

  .htr-city-guide-panel {
    padding: 0.85rem;
    border-radius: 1.35rem;
  }

  .htr-city-card--premium {
    padding: 1.4rem;
  }

  .htr-city-card-head {
    gap: 0.85rem;
  }

  .htr-city-medallion {
    width: 3rem;
    height: 3rem;
    flex-basis: 3rem;
  }
}

.htr-transport-body h3 {
  color: #ffffff !important;
  font-size: 1.25rem !important;
  margin-bottom: 0.4rem;
}

.htr-transport-body p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

/* Disclaimer Note */
.htr-disclaimer-note {
  background: rgba(197, 161, 90, 0.08);
  border-left: 4px solid var(--secondary);
  border-radius: 0.75rem;
  padding: 1.5rem;
  display: flex;
  gap: 1.25rem;
}

.htr-disclaimer-icon {
  color: var(--secondary);
  font-size: 1.5rem;
}

.htr-disclaimer-kicker {
  display: block;
  font-weight: 700;
  color: #132a1e;
  margin-bottom: 0.25rem;
}

.htr-disclaimer-body p {
  color: rgba(19, 34, 53, 0.75);
  font-size: 0.95rem;
}

/* Base Cards */
.htr-base-card {
  background: #132a1e;
  border-radius: 1.25rem;
  border: 1px solid rgba(197, 161, 90, 0.22);
  padding: 2rem;
  text-align: center;
}

.htr-base-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.htr-base-card h3 {
  color: #fff8ec !important;
  margin-bottom: 0.75rem;
}

.htr-base-card p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.95rem;
  margin: 0;
  line-height: 1.6;
}

#best-base .htr-base-card,
#best-base .htr-base-card h3,
#best-base .htr-base-card p,
#best-base .htr-base-icon,
#best-base .htr-base-icon i {
  color: #ffffff !important;
}

/* Stay Links */
.htr-stay-panel {
  background: #132a1e;
  border-radius: 1.25rem;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.htr-stay-kicker {
  color: var(--secondary);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
}

.htr-stay-panel h3 {
  color: #fff !important;
  font-size: 1.8rem !important;
  margin-bottom: 1rem;
}

.htr-stay-panel p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0;
}

.htr-safari-zones-card {
  position: relative;
  display: block;
  border-radius: 1.25rem;
  overflow: hidden;
  text-decoration: none !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.htr-zones-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(19, 42, 30, 0.3), rgba(13, 31, 20, 0.9));
}

.htr-zones-body {
  position: relative;
  z-index: 1;
  padding: 2rem;
}

.htr-zones-body span:first-child {
  display: block;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}

.htr-zones-body h3 {
  color: #fff !important;
  margin-bottom: 0.75rem;
}

.htr-zones-body p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

.htr-zones-cta {
  display: inline-block;
  color: var(--secondary);
  font-weight: 700;
  font-size: 0.9rem;
}

/* Timing Section */
.htr-timing-section {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2rem;
}

.htr-timing-card {
  background: #0a1a0d;
  background-image: linear-gradient(135deg, rgba(13, 31, 20, 0.9) 0%, rgba(6, 14, 8, 0.95) 100%), url('../img/featured/deer-forest.avif');
  background-size: cover;
  background-position: center;
  border-radius: 1.25rem;
  border: 1px solid rgba(197, 161, 90, 0.2);
  padding: 3rem;
}

.htr-timing-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: rgba(197, 161, 90, 0.15);
  color: #8c652b;
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

.htr-timing-kicker {
  display: block;
  color: var(--secondary);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
}

.htr-timing-card h2 {
  color: #ffffff !important;
  margin-bottom: 1.5rem;
}

.htr-timing-card li {
  color: rgba(255, 255, 255, 0.75);
}

.htr-timing-aside {
  background: #132a1e;
  border-radius: 1.25rem;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.htr-timing-item {
  display: flex;
  gap: 1rem;
}

.htr-timing-item i {
  color: var(--secondary);
  font-size: 1.25rem;
  margin-top: 0.25rem;
}

@media (max-width: 991.98px) {
  .htr-timing-section {
    grid-template-columns: 1fr;
  }
  .htr-distance-board__head {
    flex-direction: column;
    padding-bottom: 1.1rem;
  }
  .htr-route-tile {
    grid-template-columns: 1fr;
    align-items: flex-start;
    gap: 1rem;
  }
  .htr-route-center {
    width: 100%;
  }
  .htr-route-distance {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 575.98px) {
  .htr-distance-board {
    padding: 1rem;
    border-radius: 1.4rem;
  }
  .htr-route-tile {
    padding: 1.1rem;
  }
  .htr-route-left {
    align-items: flex-start;
  }
  .htr-route-path {
    align-items: flex-start;
  }
  .htr-route-path-sep {
    width: 1.8rem;
    height: 1.8rem;
  }
}

/* ========================================================
   How To Reach – Page-wide section polish
   ======================================================== */

#quick-distances .htr-distance-board {
  border-color: rgba(27, 94, 32, 0.1);
  background:
    radial-gradient(circle at top right, rgba(251, 133, 0, 0.1), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(241, 248, 241, 0.78) 100%);
}

#quick-distances .htr-distance-board__kicker {
  background: rgba(255, 196, 86, 0.14);
  border-color: rgba(251, 133, 0, 0.18);
  color: var(--primary);
}

#quick-distances .htr-route-tile {
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

#quick-distances .htr-route-tile:hover {
  transform: translateY(-3px);
  border-color: rgba(251, 133, 0, 0.2);
  box-shadow: 0 26px 44px -34px rgba(13, 59, 16, 0.24);
}

#route-visuals {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 16%, rgba(251, 133, 0, 0.08), transparent 18%),
    linear-gradient(180deg, rgba(251, 248, 242, 0.98) 0%, rgba(241, 248, 241, 0.92) 100%) !important;
}

.htr-visuals-head {
  max-width: 48rem;
}

#route-visuals .values-eyebrow {
  color: var(--secondary) !important;
}

#route-visuals .values-title {
  color: var(--dark) !important;
}

#route-visuals .section-intro {
  color: var(--ink-soft) !important;
}

.htr-visuals-shell {
  position: relative;
  padding: clamp(1.05rem, 2vw, 1.45rem);
  border-radius: 1.8rem;
  border: 1px solid rgba(27, 94, 32, 0.1);
  background:
    radial-gradient(circle at top right, rgba(251, 133, 0, 0.08), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(241, 248, 241, 0.68) 100%);
  box-shadow: 0 30px 60px -42px rgba(13, 59, 16, 0.18);
}

.htr-visuals-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: linear-gradient(rgba(27, 94, 32, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(27, 94, 32, 0.025) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
}

.htr-visuals-shell .row {
  position: relative;
  z-index: 1;
}

#transport-modes {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 14%, rgba(40, 127, 192, 0.06), transparent 18%),
    linear-gradient(180deg, rgba(252, 248, 241, 0.98) 0%, rgba(245, 240, 231, 0.96) 100%) !important;
}

.htr-transport-head,
.htr-base-head,
.htr-timing-head {
  max-width: 48rem;
}

#transport-modes .values-eyebrow,
#best-base .values-eyebrow,
#timing-tips .values-eyebrow {
  color: var(--secondary) !important;
}

#transport-modes .values-title,
#best-base .values-title,
#timing-tips .values-title {
  color: var(--dark) !important;
}

#transport-modes .section-intro,
#best-base .section-intro,
#timing-tips .section-intro {
  color: var(--ink-soft) !important;
}

.htr-transport-shell,
.htr-base-board,
.htr-timing-shell {
  position: relative;
  padding: clamp(1.15rem, 2vw, 1.55rem);
  border-radius: 1.8rem;
  border: 1px solid rgba(27, 94, 32, 0.1);
  background:
    radial-gradient(circle at top right, rgba(251, 133, 0, 0.08), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(241, 248, 241, 0.78) 100%);
  box-shadow: 0 30px 60px -42px rgba(13, 59, 16, 0.18);
}

.htr-transport-shell::after,
.htr-base-board::after,
.htr-timing-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: linear-gradient(rgba(27, 94, 32, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(27, 94, 32, 0.025) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
}

.htr-transport-shell > .row,
.htr-base-board > .row,
.htr-timing-section {
  position: relative;
  z-index: 1;
}

.htr-transport-card {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  background-color: #0a1a0d;
  background-image: url('../img/featured/rajaji-forest-trail.avif');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 1.45rem;
  border-color: rgba(255, 216, 139, 0.16);
  box-shadow: 0 24px 48px -36px rgba(13, 59, 16, 0.34);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.htr-transport-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 23, 12, 0.22) 0%, rgba(7, 23, 12, 0.34) 36%, rgba(7, 23, 12, 0.74) 100%);
  z-index: 0;
}

.htr-transport-card > * {
  position: relative;
  z-index: 1;
}

.htr-transport-card:hover {
  transform: translateY(-4px);
  border-color: rgba(251, 133, 0, 0.28);
  box-shadow: 0 28px 56px -34px rgba(13, 59, 16, 0.44);
}

.htr-transport-tag {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin-bottom: 1rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 196, 86, 0.94) 0%, rgba(251, 133, 0, 0.94) 100%);
  color: #fff9ef;
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 12px 24px -18px rgba(251, 133, 0, 0.75);
}

.htr-transport-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.htr-transport-icon {
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.htr-transport-icon i {
  color: #ffffff;
}

.htr-transport-body h3 {
  color: #ffffff !important;
  font-size: 1.32rem !important;
}

.htr-transport-body p {
  color: rgba(255, 255, 255, 0.88) !important;
  line-height: 1.65;
}

.htr-transport-card,
.htr-transport-card h3,
.htr-transport-card p,
.htr-transport-card i,
.htr-transport-card .htr-transport-icon,
.htr-transport-card .htr-transport-icon i {
  color: #ffffff !important;
}

#transport-modes .htr-transport-card,
#transport-modes .htr-transport-card .htr-transport-body,
#transport-modes .htr-transport-card .htr-transport-body *,
#transport-modes .htr-transport-card .htr-transport-row,
#transport-modes .htr-transport-card .htr-transport-row * {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

.htr-disclaimer-note {
  position: relative;
  z-index: 1;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(27, 94, 32, 0.1);
  border-left: 0;
  border-radius: 1.3rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(232, 245, 233, 0.74) 100%);
  box-shadow: 0 24px 44px -38px rgba(13, 59, 16, 0.18);
}

.htr-disclaimer-icon {
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  color: #ffffff;
  font-size: 1rem;
  box-shadow: 0 16px 28px -20px rgba(13, 59, 16, 0.28);
}

.htr-disclaimer-kicker {
  color: var(--primary);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.htr-disclaimer-body p {
  color: var(--ink-soft);
  line-height: 1.7;
}

#best-base {
  position: relative;
  overflow: hidden;
}

.htr-base-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 100%;
  text-align: left;
  border-radius: 1.5rem;
  border: 1px solid rgba(27, 94, 32, 0.12);
  background:
    radial-gradient(circle at top right, rgba(251, 133, 0, 0.1), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 248, 241, 0.9) 100%);
  box-shadow: 0 24px 48px -38px rgba(13, 59, 16, 0.22);
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

.htr-base-card:hover {
  transform: translateY(-4px);
  border-color: rgba(251, 133, 0, 0.24);
  box-shadow: 0 30px 56px -40px rgba(13, 59, 16, 0.26);
}

.htr-base-label {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin-bottom: 1rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 196, 86, 0.14);
  border: 1px solid rgba(251, 133, 0, 0.18);
  color: var(--primary);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.htr-base-icon {
  width: 3.7rem;
  height: 3.7rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  color: #ffffff !important;
  box-shadow: 0 16px 30px -20px rgba(13, 59, 16, 0.28);
}

#best-base .htr-base-icon i {
  color: #ffffff !important;
}

#best-base .htr-base-card h3 {
  color: var(--dark) !important;
  font-size: clamp(1.45rem, 2vw, 1.8rem) !important;
}

#best-base .htr-base-card p {
  color: var(--ink-soft) !important;
  font-size: 0.97rem;
  line-height: 1.72;
}

#stay-links {
  position: relative;
  overflow: hidden;
}

.htr-stay-grid {
  align-items: stretch;
}

.htr-stay-panel {
  position: relative;
  overflow: hidden;
  border-radius: 1.65rem;
  border: 1px solid rgba(27, 94, 32, 0.1);
  background:
    radial-gradient(circle at top right, rgba(251, 133, 0, 0.1), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(241, 248, 241, 0.88) 100%);
  box-shadow: 0 30px 60px -42px rgba(13, 59, 16, 0.18);
}

.htr-stay-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: linear-gradient(rgba(27, 94, 32, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(27, 94, 32, 0.025) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
}

.htr-stay-panel > * {
  position: relative;
  z-index: 1;
}

.htr-stay-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.7rem;
}

.htr-stay-panel__icon {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  color: #ffffff;
  box-shadow: 0 16px 28px -20px rgba(13, 59, 16, 0.28);
}

.htr-stay-kicker {
  color: var(--primary);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.htr-stay-panel h3 {
  color: var(--dark) !important;
  font-size: clamp(1.7rem, 2.5vw, 2.1rem) !important;
}

.htr-stay-panel p {
  color: var(--ink-soft);
  line-height: 1.72;
}

.htr-stay-highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.htr-stay-pill {
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(27, 94, 32, 0.1);
  background: rgba(232, 245, 233, 0.82);
  box-shadow: 0 18px 28px -24px rgba(13, 59, 16, 0.16);
}

.htr-stay-pill strong {
  display: block;
  color: var(--secondary);
  font-size: 0.95rem;
}

.htr-stay-pill span {
  display: block;
  margin-top: 0.25rem;
  color: rgba(13, 59, 16, 0.68);
  font-size: 0.82rem;
  line-height: 1.55;
}

.htr-safari-zones-card {
  min-height: 100%;
  background: #0a1a0d url('../img/featured/rajaji-forest-trail.avif') center center / cover no-repeat;
  border-radius: 1.65rem;
  border: 1px solid rgba(27, 94, 32, 0.14);
  box-shadow: 0 28px 56px -40px rgba(13, 59, 16, 0.28);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.htr-safari-zones-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.28) 38%, rgba(0, 0, 0, 0.58) 100%);
  z-index: 0;
}

.htr-safari-zones-card:hover {
  transform: translateY(-5px);
  border-color: rgba(251, 133, 0, 0.28);
  box-shadow: 0 30px 60px -36px rgba(13, 59, 16, 0.38);
}

.htr-zones-overlay {
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.16) 42%, rgba(0, 0, 0, 0.42) 100%);
}

.htr-zones-body {
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.7rem;
  min-height: 100%;
  padding: 1.7rem;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.45);
}

.htr-zones-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.htr-zones-top > span:first-child {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 196, 86, 0.94) 0%, rgba(251, 133, 0, 0.94) 100%);
  color: #fff9ef;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.htr-zones-icon {
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  backdrop-filter: blur(8px);
}

.htr-zones-icon i {
  color: #ffffff;
}

.htr-zones-body h3 {
  color: #ffffff !important;
  font-size: clamp(1.45rem, 2vw, 1.8rem) !important;
  margin-bottom: 0;
}

.htr-zones-body p {
  color: rgba(255, 255, 255, 0.96) !important;
  line-height: 1.68;
  margin-bottom: 0.7rem;
}

.htr-zones-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #ffffff !important;
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
}

#stay-links .htr-safari-zones-card,
#stay-links .htr-safari-zones-card .htr-zones-body,
#stay-links .htr-safari-zones-card .htr-zones-body h3,
#stay-links .htr-safari-zones-card .htr-zones-body p,
#stay-links .htr-safari-zones-card .htr-zones-body span,
#stay-links .htr-safari-zones-card .htr-zones-body i {
  color: #ffffff !important;
}

#timing-tips {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 16%, rgba(251, 133, 0, 0.08), transparent 18%),
    linear-gradient(180deg, rgba(252, 248, 241, 0.98) 0%, rgba(241, 248, 241, 0.92) 100%) !important;
}

.htr-timing-card {
  position: relative;
  overflow: hidden;
  background-color: #0a1a0d;
  background-image: url('../img/featured/deer-forest.avif');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 1.6rem;
  border: 1px solid rgba(255, 216, 139, 0.16);
  box-shadow: 0 28px 56px -38px rgba(13, 59, 16, 0.36);
}

.htr-timing-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(255, 196, 86, 0.12), transparent 24%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.28) 36%, rgba(0, 0, 0, 0.68) 100%);
  z-index: 0;
}

.htr-timing-card > * {
  position: relative;
  z-index: 1;
}

.htr-timing-icon {
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(255, 196, 86, 0.94) 0%, rgba(251, 133, 0, 0.94) 100%);
  color: #ffffff;
  box-shadow: 0 18px 32px -24px rgba(251, 133, 0, 0.72);
}

.htr-timing-card .htr-timing-kicker {
  color: #ffd88b;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.htr-timing-card h2 {
  color: #ffffff !important;
  font-size: clamp(2rem, 3vw, 2.6rem);
}

.htr-timing-card .guide-bullet-list {
  display: grid;
  gap: 0.85rem;
  padding-left: 0;
  margin-bottom: 0;
}

.htr-timing-card .guide-bullet-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  list-style: none;
  color: rgba(255, 255, 255, 0.96) !important;
}

.htr-timing-card .guide-bullet-list li i {
  margin-top: 0.3rem;
  color: rgba(255, 255, 255, 0.96);
}

.htr-timing-card,
.htr-timing-card h2,
.htr-timing-card li,
.htr-timing-card i,
.htr-timing-card .htr-timing-icon,
.htr-timing-card .htr-timing-icon i {
  color: #ffffff !important;
}

#timing-tips .htr-timing-card,
#timing-tips .htr-timing-card h2,
#timing-tips .htr-timing-card p,
#timing-tips .htr-timing-card li,
#timing-tips .htr-timing-card span,
#timing-tips .htr-timing-card strong,
#timing-tips .htr-timing-card i {
  color: #ffffff !important;
}

.htr-timing-aside {
  border-radius: 1.6rem;
  border: 1px solid rgba(27, 94, 32, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 248, 241, 0.92) 100%);
  box-shadow: 0 26px 52px -40px rgba(13, 59, 16, 0.2);
}

#timing-tips .htr-timing-aside .htr-timing-kicker {
  color: var(--secondary) !important;
  font-weight: 800;
  letter-spacing: 0.12em;
}

#timing-tips .htr-timing-aside h3 {
  color: var(--dark) !important;
}

#timing-tips .htr-timing-item {
  margin-top: 1rem !important;
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(27, 94, 32, 0.1);
  background: rgba(232, 245, 233, 0.78);
}

#timing-tips .htr-timing-item i {
  width: 2.6rem;
  height: 2.6rem;
  flex: 0 0 2.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.95rem;
  margin-top: 0;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  color: #ffffff;
  font-size: 1rem;
}

#timing-tips .htr-timing-item strong {
  display: block;
  color: var(--dark) !important;
  margin-bottom: 0.2rem;
}

#timing-tips .htr-timing-item p {
  color: var(--ink-soft) !important;
  line-height: 1.65;
}

#timing-tips .btn-whatsapp {
  min-height: 3.4rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  color: #ffffff;
  border: 0;
  box-shadow: 0 18px 34px -26px rgba(13, 59, 16, 0.42);
}

#timing-tips .btn-whatsapp:hover {
  transform: translateY(-2px);
}

.htr-final-cta.final-cta-band {
  background: #07110a url("../img/featured/safari-jeep-forest.avif") center center / cover no-repeat !important;
}

.htr-final-cta.final-cta-band::after {
  background: rgba(0, 0, 0, 0.42) !important;
}

.htr-final-cta.final-cta-band > .final-cta-overlay > .container.py-5 {
  padding-top: clamp(1.4rem, 3vw, 2rem) !important;
  padding-bottom: clamp(1.4rem, 3vw, 2rem) !important;
}

.htr-final-cta-content {
  max-width: 60rem;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.htr-final-cta-content::before {
  content: none;
}

.htr-final-cta .contact-form-mark {
  margin-bottom: 1rem;
}

.htr-final-cta .final-cta-title {
  font-size: clamp(2.6rem, 5vw, 4.8rem) !important;
}

.htr-final-cta .cta-copy {
  max-width: 52rem;
  margin: 0 auto;
  line-height: 1.72;
}

.htr-final-cta .cta-actions {
  justify-content: center;
  gap: 0.9rem;
  margin-top: 1.8rem;
}

.htr-final-cta.final-cta-band .cta-actions > a {
  min-width: 0;
  border-radius: var(--control-radius) !important;
  box-shadow: none !important;
}

.htr-final-cta.final-cta-band .cta-actions > a[href="#booking-form"],
.htr-final-cta.final-cta-band .cta-actions > a[href*="book-rajaji-national-park-safari"] {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

.htr-final-cta.final-cta-band .cta-actions > a[href*="wa.me"] {
  background: #f2deb4 !important;
  border-color: #f2deb4 !important;
  color: #111827 !important;
}

.htr-final-cta.final-cta-band .cta-actions > a[href="#booking-form"]:hover,
.htr-final-cta.final-cta-band .cta-actions > a[href*="book-rajaji-national-park-safari"]:hover,
.htr-final-cta.final-cta-band .cta-actions > a[href="#booking-form"]:focus,
.htr-final-cta.final-cta-band .cta-actions > a[href*="book-rajaji-national-park-safari"]:focus {
  background: var(--accent-earth) !important;
  border-color: var(--accent-earth) !important;
  color: var(--white) !important;
}

.htr-final-cta.final-cta-band .cta-actions > a[href*="wa.me"]:hover,
.htr-final-cta.final-cta-band .cta-actions > a[href*="wa.me"]:focus {
  background: #e5cc93 !important;
  border-color: #e5cc93 !important;
  color: #0f172a !important;
}

.htr-disclaimer-band.zones-disclaimer-band {
  background: linear-gradient(180deg, rgba(252, 248, 241, 0.96) 0%, rgba(241, 248, 241, 0.92) 100%) !important;
}

.htr-page-disclaimer {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.35rem 1.45rem;
  border-radius: 1.5rem;
  border: 1px solid rgba(27, 94, 32, 0.12);
  background:
    radial-gradient(circle at top right, rgba(251, 133, 0, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(241, 248, 241, 0.82) 100%);
  box-shadow: 0 26px 50px -40px rgba(13, 59, 16, 0.18);
}

.htr-page-disclaimer__icon {
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);
  color: #ffffff;
  box-shadow: 0 16px 28px -20px rgba(13, 59, 16, 0.28);
}

.htr-page-disclaimer .travel-access-kicker {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--primary) !important;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.htr-page-disclaimer p {
  color: var(--ink-soft) !important;
  line-height: 1.75;
}

.htr-visual-card h3,
.htr-visual-card p,
.htr-visual-card i,
.htr-city-card--feature h3,
.htr-city-card--feature p,
.htr-city-card--feature li,
.htr-city-card--feature i,
.htr-transport-card h3,
.htr-transport-card p,
.htr-transport-card i,
.htr-timing-card h2,
.htr-timing-card li,
.htr-timing-card i,
.htr-safari-zones-card h3,
.htr-safari-zones-card p,
.htr-safari-zones-card i {
  color: #ffffff !important;
}

@media (max-width: 991.98px) {
  .htr-stay-highlights {
    grid-template-columns: 1fr;
  }

  .htr-transport-shell,
  .htr-base-board,
  .htr-timing-shell,
  .htr-visuals-shell {
    padding: 1rem;
    border-radius: 1.45rem;
  }

  .htr-final-cta.final-cta-band .cta-actions > a {
    min-width: 0;
  }
}

@media (max-width: 575.98px) {
  .htr-transport-row,
  .htr-page-disclaimer {
    flex-direction: column;
  }

  .htr-disclaimer-note {
    flex-direction: column;
  }

  .htr-base-card,
  .htr-stay-panel,
  .htr-safari-zones-card,
  .htr-timing-card,
  .htr-timing-aside,
  .htr-page-disclaimer,
  .htr-final-cta-content {
    border-radius: 1.3rem;
  }

  .htr-stay-panel__head,
  .htr-zones-top {
    align-items: flex-start;
  }

  .htr-zones-body,
  .htr-final-cta-content {
    padding: 1.2rem;
  }

  .htr-final-cta .cta-actions {
    gap: 0.75rem;
  }
}

/* Rajaji safari booking page refresh */
.booking-safari-page {
  background:
    radial-gradient(circle at top right, rgba(179, 92, 56, 0.08), transparent 24rem),
    radial-gradient(circle at left 30%, rgba(23, 53, 40, 0.06), transparent 28rem),
    linear-gradient(180deg, #fdf8f1 0%, #f7efe3 46%, #fcf8f1 100%);
}

.booking-safari-page .guide-section {
  padding: clamp(0.45rem, 1vw, 0.9rem) 0;
}

.booking-safari-page .guide-section-head {
  position: relative;
  margin-bottom: 0.5rem;
}

.booking-safari-page .guide-section-head::after {
  content: "";
  display: block;
  width: 4.75rem;
  height: 2px;
  margin: 1rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(179, 92, 56, 0), rgba(179, 92, 56, 0.92) 50%, rgba(23, 53, 40, 0) 100%);
}

.booking-safari-page .guide-section-head p {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

.booking-safari-page .booking-contact-strip {
  background: transparent;
  border-top: 0;
  border-bottom: 0;
}

.booking-safari-page .booking-contact-strip-shell {
  position: relative;
  padding: 1rem;
  border: 1px solid rgba(199, 154, 67, 0.14);
  border-radius: 1.8rem;
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.95) 0%, rgba(247, 239, 226, 0.96) 100%);
  box-shadow: 0 30px 70px -48px rgba(14, 29, 20, 0.42);
}

.booking-safari-page .booking-contact-strip-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at top right, rgba(199, 154, 67, 0.14), transparent 28%);
  pointer-events: none;
}

.booking-safari-page .booking-contact-strip-intro {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  padding: 0.2rem 0.25rem 1rem;
}

.booking-safari-page .booking-contact-strip-intro p {
  max-width: 36rem;
  color: rgba(20, 39, 29, 0.72);
  font-family: "Poppins", sans-serif;
  line-height: 1.7;
}

.booking-safari-page .booking-contact-strip-grid {
  position: relative;
  z-index: 1;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.booking-safari-page .booking-contact-chip {
  align-items: center;
  min-height: 100%;
  padding: 1.15rem 1.1rem;
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(23, 53, 40, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background-color 0.22s ease;
}

.booking-safari-page .booking-contact-chip:hover,
.booking-safari-page a.booking-contact-chip:focus-visible {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(179, 92, 56, 0.18);
  box-shadow: 0 20px 36px -28px rgba(14, 29, 20, 0.38);
}

.booking-safari-page .booking-contact-chip i {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  margin-top: 0;
  border-radius: 1rem;
  background: linear-gradient(135deg, #173528 0%, #32533d 100%);
  color: #fff7eb;
  box-shadow: 0 16px 30px -22px rgba(23, 53, 40, 0.7);
}

.booking-safari-page .booking-contact-chip strong {
  font-size: 0.98rem;
  letter-spacing: 0.01em;
}

.booking-safari-page .booking-contact-chip small {
  margin-top: 0.25rem;
  font-size: 0.88rem;
  line-height: 1.55;
}

.booking-safari-page .booking-main-panel {
  padding-top: clamp(1.25rem, 2.8vw, 2rem);
}

body.inner-page .booking-safari-page .booking-main-panel--framed::after {
  display: none;
}

.booking-safari-page .booking-form-card,
.booking-safari-page .booking-support-panel {
  position: relative;
  overflow: hidden;
  padding: 2.2rem;
  border-radius: 1.9rem;
  border: 1px solid rgba(23, 53, 40, 0.08);
  background: linear-gradient(180deg, rgba(255, 254, 250, 0.98) 0%, rgba(248, 241, 229, 0.94) 100%);
  box-shadow: 0 34px 64px -46px rgba(14, 29, 20, 0.4);
}

.booking-safari-page .booking-form-card::before,
.booking-safari-page .booking-support-panel::before {
  content: "";
  position: absolute;
  top: -3rem;
  right: -3rem;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(199, 154, 67, 0.16), transparent 68%);
  pointer-events: none;
}

.booking-safari-page .booking-form-card-head {
  position: relative;
  z-index: 1;
  margin-bottom: 1.8rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid rgba(23, 53, 40, 0.08);
}

.booking-safari-page .booking-form-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.15rem;
}

.booking-safari-page .booking-form-highlight,
.booking-safari-page .booking-card-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  padding: 0.58rem 0.85rem;
  border-radius: 999px;
  background: rgba(23, 53, 40, 0.06);
  color: #8b562c;
  font-family: "Poppins", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.booking-safari-page .booking-form-highlight i {
  color: #b35c38;
}

.booking-safari-page .booking-form-grid {
  position: relative;
  z-index: 1;
}

.booking-safari-page .booking-enquiry-form .form-control {
  min-height: 3.55rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(23, 53, 40, 0.12);
  background: rgba(255, 255, 255, 0.86);
  color: #173528;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.booking-safari-page .booking-enquiry-form select.form-control {
  padding-right: 2.8rem;
}

.booking-safari-page .booking-enquiry-form textarea.form-control {
  min-height: 10rem;
  resize: vertical;
}

.booking-safari-page .booking-enquiry-form .form-control::placeholder {
  color: rgba(20, 39, 29, 0.44);
}

.booking-safari-page .booking-enquiry-form .form-control:focus {
  border-color: rgba(179, 92, 56, 0.42);
  background: #ffffff;
  box-shadow: 0 0 0 0.24rem rgba(179, 92, 56, 0.12);
}

.booking-safari-page .booking-form-actions {
  justify-content: space-between;
  padding-top: 0.35rem;
}

.booking-safari-page .contact-submit-btn {
  min-height: 3.65rem;
  padding: 0.95rem 1.6rem !important;
  border-radius: 1rem !important;
  box-shadow: 0 20px 32px -24px rgba(27, 94, 32, 0.52);
}

.booking-safari-page .booking-form-meta {
  max-width: 16rem;
  line-height: 1.65;
}

.booking-safari-page .booking-support-stack {
  gap: 1.35rem;
}

.booking-safari-page .booking-support-stack--sticky {
  position: sticky;
  top: 1.5rem;
}

body.inner-page .booking-safari-page .booking-support-panel--accent {
  background: #102117 !important;
  border-color: rgba(242, 222, 180, 0.14) !important;
  box-shadow: 0 34px 62px -42px rgba(10, 23, 16, 0.68);
}

body.inner-page .booking-safari-page .booking-support-panel--accent::before {
  display: none;
}

body.inner-page .booking-safari-page .booking-support-panel--accent .guide-mini-label {
  color: rgba(242, 222, 180, 0.74) !important;
}

.booking-safari-page .booking-direct-links {
  gap: 0.9rem;
}

.booking-safari-page .booking-direct-link {
  align-items: center;
  min-height: 100%;
  padding: 1rem 1.05rem;
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid rgba(23, 53, 40, 0.08);
  transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease;
}

.booking-safari-page .booking-direct-link:hover,
.booking-safari-page .booking-direct-link:focus-visible {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(179, 92, 56, 0.18);
  box-shadow: 0 18px 34px -26px rgba(14, 29, 20, 0.34);
}

body.inner-page .booking-safari-page .booking-support-panel--accent .booking-direct-link {
  background: rgba(255, 247, 235, 0.06);
  border-color: rgba(242, 222, 180, 0.16);
}

body.inner-page .booking-safari-page .booking-support-panel--accent .booking-direct-link:hover,
body.inner-page .booking-safari-page .booking-support-panel--accent .booking-direct-link:focus-visible {
  background: rgba(255, 247, 235, 0.1);
  border-color: rgba(242, 222, 180, 0.18);
}

.booking-safari-page .booking-direct-link i {
  display: inline-grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  margin-top: 0;
  border-radius: 0.95rem;
  background: rgba(23, 53, 40, 0.08);
}

body.inner-page .booking-safari-page .booking-support-panel--accent .booking-direct-link i {
  background: rgba(255, 247, 235, 0.08);
}

.booking-safari-page .booking-side-list li {
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.56);
  border: 1px solid rgba(23, 53, 40, 0.08);
}

.booking-safari-page .booking-zone-help {
  background: linear-gradient(180deg, rgba(255, 251, 244, 0.2) 0%, rgba(247, 238, 223, 0.82) 100%);
}

.booking-safari-page .booking-why-help {
  background:
    radial-gradient(circle at top left, rgba(23, 53, 40, 0.05), transparent 25%),
    linear-gradient(180deg, rgba(255, 252, 245, 0.9) 0%, rgba(248, 240, 226, 0.95) 100%);
}

.booking-safari-page .booking-process {
  background: linear-gradient(135deg, #102117 0%, #163226 56%, #244533 100%);
}

.booking-safari-page .booking-process .guide-mini-label,
.booking-safari-page .booking-process .guide-section-head h2,
.booking-safari-page .booking-process .guide-section-head p {
  color: #fff7eb;
}

.booking-safari-page .booking-process .guide-section-head::after {
  background: linear-gradient(90deg, rgba(242, 222, 180, 0), rgba(242, 222, 180, 0.94) 50%, rgba(242, 222, 180, 0) 100%);
}

.booking-safari-page .booking-page-faq {
  background: linear-gradient(180deg, rgba(255, 250, 243, 0.86) 0%, rgba(252, 247, 239, 1) 100%);
}

.booking-safari-page .guide-reason-card,
.booking-safari-page .booking-zone-help-card,
.booking-safari-page .booking-process-card {
  overflow: hidden;
  padding: 1.75rem 1.5rem;
  border-radius: 1.55rem;
  border: 1px solid rgba(23, 53, 40, 0.08);
  background: linear-gradient(180deg, rgba(255, 254, 250, 0.98) 0%, rgba(245, 236, 219, 0.92) 100%);
  box-shadow: 0 28px 54px -40px rgba(14, 29, 20, 0.28);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.booking-safari-page .guide-reason-card::before,
.booking-safari-page .booking-zone-help-card::before,
.booking-safari-page .booking-process-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #173528 0%, #c79a43 58%, #b35c38 100%);
}

.booking-safari-page .guide-reason-card:hover,
.booking-safari-page .booking-zone-help-card:hover,
.booking-safari-page .booking-process-card:hover {
  transform: translateY(-6px);
  border-color: rgba(179, 92, 56, 0.18);
  box-shadow: 0 34px 58px -38px rgba(14, 29, 20, 0.34);
}

.booking-safari-page .guide-reason-card i {
  width: 3.35rem;
  height: 3.35rem;
  border-radius: 1.05rem;
  box-shadow: 0 18px 28px -20px rgba(23, 53, 40, 0.55);
}

.booking-safari-page .guide-reason-card--featured {
  background: linear-gradient(135deg, rgba(17, 35, 26, 0.98) 0%, rgba(31, 60, 43, 0.96) 100%);
  border-color: rgba(242, 222, 180, 0.12);
}

.booking-safari-page .guide-reason-card--featured::before {
  background: linear-gradient(90deg, rgba(242, 222, 180, 0.28) 0%, #f2deb4 52%, rgba(242, 222, 180, 0.28) 100%);
}

.booking-safari-page .guide-reason-card--featured h3,
.booking-safari-page .guide-reason-card--featured p {
  color: #fff7eb;
}

.booking-safari-page .guide-reason-card--featured i {
  background: rgba(255, 247, 235, 0.08);
  border: 1px solid rgba(242, 222, 180, 0.18);
  color: #f2deb4;
}

.booking-safari-page .guide-reason-card--featured .booking-card-tag {
  background: rgba(255, 247, 235, 0.08);
  color: #f2deb4;
}

.booking-safari-page .booking-process-card {
  min-height: 100%;
}

.booking-safari-page .booking-step-number {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1.1rem;
  border-radius: 50%;
  background: rgba(23, 53, 40, 0.08);
  color: #b35c38;
  font-family: "Poppins", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.booking-safari-page .guide-faq-accordion {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}

.booking-safari-page .guide-faq-accordion .accordion-item {
  border-radius: 1.3rem;
  box-shadow: 0 24px 46px -38px rgba(14, 29, 20, 0.3);
}

.booking-safari-page .guide-faq-accordion .accordion-button {
  padding: 1.35rem 1.45rem;
  font-size: 1.02rem;
}

.booking-safari-page .guide-faq-accordion .accordion-body {
  padding: 0 1.45rem 1.45rem;
}

.booking-safari-page .booking-cinematic-cta {
  margin-top: clamp(0.75rem, 2.4vw, 1.5rem);
}

.booking-safari-page .booking-cinematic-cta > .guide-cinematic-cta-overlay > .container.py-5 {
  max-width: 60rem;
  padding: clamp(2.3rem, 4vw, 3rem) !important;
  border-radius: 2rem;
  border: 1px solid rgba(242, 222, 180, 0.16);
  background: linear-gradient(180deg, rgba(9, 23, 15, 0.7) 0%, rgba(14, 31, 21, 0.82) 100%);
  box-shadow: 0 34px 70px -44px rgba(0, 0, 0, 0.58);
}

.booking-safari-page .booking-final-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.35rem 0 0;
}

.booking-safari-page .booking-final-points span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.95rem;
  border-radius: 999px;
  border: 1px solid rgba(242, 222, 180, 0.14);
  background: rgba(255, 247, 235, 0.08);
  color: #fff7eb;
  font-family: "Poppins", sans-serif;
  font-size: 0.88rem;
}

.booking-safari-page .booking-final-points i {
  color: #f2deb4;
}

@media (max-width: 991.98px) {
  .booking-safari-page .booking-contact-strip-intro {
    align-items: flex-start;
    flex-direction: column;
  }

  .booking-safari-page .booking-support-stack--sticky {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .booking-safari-page .booking-contact-strip-shell,
  .booking-safari-page .booking-form-card,
  .booking-safari-page .booking-support-panel,
  .booking-safari-page .booking-cinematic-cta > .guide-cinematic-cta-overlay > .container.py-5 {
    padding: 1.35rem !important;
    border-radius: 1.45rem;
  }

  .booking-safari-page .booking-form-actions {
    align-items: stretch;
  }

  .booking-safari-page .contact-submit-btn {
    width: 100%;
  }

  .booking-safari-page .booking-form-meta {
    max-width: none;
  }

  .booking-safari-page .booking-form-highlights,
  .booking-safari-page .booking-final-points {
    gap: 0.6rem;
  }
}

@media (max-width: 575.98px) {
  .booking-safari-page .booking-contact-chip,
  .booking-safari-page .booking-direct-link,
  .booking-safari-page .booking-side-list li,
  .booking-safari-page .guide-reason-card,
  .booking-safari-page .booking-zone-help-card,
  .booking-safari-page .booking-process-card {
    border-radius: 1.2rem;
  }

  .booking-safari-page .booking-form-highlight,
  .booking-safari-page .booking-card-tag,
  .booking-safari-page .booking-final-points span {
    width: 100%;
    justify-content: center;
  }
}

/* Blog refresh */
.page-guide-hero--blog {
  background-image: url(../img/featured/safari-jeep-forest.avif);
  background-size: cover;
  background-position: center 42%;
}

.page-guide-hero--blog-single {
  background-image: url(../img/featured/rajaji-forest-trail.avif);
  background-size: cover;
  background-position: center 38%;
}

.blog-index-page,
.blog-single-page {
  background:
    radial-gradient(circle at top right, rgba(197, 161, 90, 0.08), transparent 22rem),
    linear-gradient(180deg, #f7f4ef 0%, #f4f0e7 48%, #efe7d7 100%);
}

.blog-index-page .guide-chip-row {
  margin-top: 2rem;
}

.blog-hero-preview,
.blog-featured-card,
.blog-editorial-card,
.blog-empty-state,
.blog-post-hero-media,
.blog-article-shell {
  position: relative;
  overflow: hidden;
  border-radius: 1.9rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(246, 239, 227, 0.98) 100%);
  box-shadow: 0 32px 64px -46px rgba(18, 30, 48, 0.3);
}

.blog-hero-preview::before,
.blog-featured-card::before,
.blog-editorial-card::before,
.blog-empty-state::before,
.blog-article-shell::before {
  position: absolute;
  content: "";
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(231, 201, 140, 0), rgba(184, 105, 70, 0.95), rgba(231, 201, 140, 0));
}

.blog-hero-preview img,
.blog-featured-card-media img,
.blog-editorial-card-media img,
.blog-post-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-hero-preview img,
.blog-post-hero-media img {
  min-height: 22rem;
}

.blog-hero-preview-fallback,
.blog-card-image-fallback {
  display: grid;
  place-items: center;
  min-height: 100%;
  background:
    radial-gradient(circle at top right, rgba(242, 222, 180, 0.22), transparent 24%),
    linear-gradient(135deg, #173528 0%, #244533 100%);
  color: #f2deb4;
}

.blog-hero-preview-fallback {
  min-height: 22rem;
}

.blog-hero-preview-fallback i,
.blog-card-image-fallback i {
  font-size: 2rem;
}

.blog-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  margin-bottom: 1rem;
}

.blog-meta-row--hero {
  margin-bottom: 1.15rem;
}

.blog-meta-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.52rem 0.82rem;
  border-radius: 999px;
  background: rgba(23, 53, 40, 0.08);
  color: #8c652b;
  font-family: "Poppins", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.blog-meta-pill--soft {
  background: rgba(179, 92, 56, 0.08);
  color: #6c4c2f;
}

.blog-read-link,
.blog-back-link,
.blog-back-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: #173528;
  font-family: "Poppins", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  transition: gap 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.blog-read-link:hover,
.blog-back-link:hover,
.blog-back-cta:hover,
.blog-read-link:focus-visible,
.blog-back-link:focus-visible,
.blog-back-cta:focus-visible {
  color: #b35c38;
  gap: 0.8rem;
}

.blog-editorial-head {
  max-width: 48rem;
  margin-bottom: 2.6rem;
}

.blog-editorial-head h2 {
  color: #12253d;
  font-family: "Merriweather", serif;
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  line-height: 1.16;
}

.blog-editorial-head p,
.blog-empty-state p,
.blog-featured-card-body p,
.blog-editorial-card-body p,
.blog-post-excerpt {
  color: rgba(18, 37, 61, 0.76);
  font-family: "Poppins", sans-serif;
  line-height: 1.85;
}

.blog-empty-state {
  max-width: 44rem;
  padding: 2.4rem 2rem;
}

.blog-empty-state h2 {
  margin-bottom: 0.8rem;
  color: #12253d;
  font-family: "Merriweather", serif;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.blog-featured-card {
  margin-bottom: 2rem;
}

.blog-featured-card-media,
.blog-editorial-card-media {
  position: relative;
  display: block;
  overflow: hidden;
}

.blog-featured-card-media {
  height: 100%;
  min-height: 30rem;
}

.blog-editorial-card-media {
  min-height: 17rem;
}

.blog-featured-card-media::after,
.blog-editorial-card-media::after,
.blog-post-hero-media::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 18, 30, 0.04) 0%, rgba(7, 18, 30, 0.24) 100%);
  pointer-events: none;
}

.blog-featured-card-media img,
.blog-editorial-card-media img {
  transition: transform 0.42s ease;
}

.blog-featured-card:hover .blog-featured-card-media img,
.blog-editorial-card:hover .blog-editorial-card-media img,
.blog-hero-preview:hover img {
  transform: scale(1.04);
}

.blog-hero-preview-copy,
.blog-featured-card-body,
.blog-editorial-card-body {
  padding: 1.6rem;
}

.blog-featured-card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: 2.2rem;
}

.blog-hero-preview-copy h2,
.blog-featured-card-body h2,
.blog-editorial-card-body h3,
.blog-post-title {
  color: #12253d;
  font-family: "Merriweather", serif;
  line-height: 1.18;
}


.blog-hero-preview-copy h2 {
  font-size: clamp(1.55rem, 2.6vw, 2.15rem);
}

.blog-featured-card-body h2 {
  font-size: clamp(2rem, 3.2vw, 3rem);
}

.blog-editorial-card-body h3 {
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
}

.blog-hero-preview-copy p,
.blog-featured-card-body p,
.blog-editorial-card-body p {
  margin-bottom: 0;
}

.blog-featured-card-body p,
.blog-editorial-card-body p {
  margin-bottom: 1.2rem;
}

.blog-editorial-grid .col-md-6:nth-child(odd) .blog-editorial-card {
  transform: translateY(-10px);
}

.blog-editorial-grid .col-md-6:nth-child(even) .blog-editorial-card {
  transform: translateY(10px);
}

.blog-editorial-card {
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.blog-editorial-card:hover,
.blog-featured-card:hover,
.blog-hero-preview:hover {
  border-color: rgba(184, 105, 70, 0.22);
  box-shadow: 0 36px 70px -46px rgba(18, 30, 48, 0.34);
}

.blog-editorial-card:hover {
  transform: translateY(-8px) !important;
}

.blog-back-link {
  margin-bottom: 1.35rem;
  color: #fff7eb;
}

.blog-back-link:hover,
.blog-back-link:focus-visible {
  color: #f2deb4;
}

.blog-post-hero-copy {
  max-width: 52rem;
}

.blog-post-title {
  color: #fff7eb;
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  margin-bottom: 1rem;
}

.blog-post-excerpt {
  max-width: 44rem;
  margin-bottom: 0;
  color: rgba(255, 247, 235, 0.88);
  font-size: 1.05rem;
}

.blog-single-story-wrap .container {
  position: relative;
  z-index: 1;
}

.blog-post-hero-media {
  margin-bottom: 1.8rem;
}

.blog-post-hero-media img {
  aspect-ratio: 16 / 9;
}

.blog-article-shell {
  padding: clamp(1.6rem, 3vw, 2.4rem);
}

.blog-article-content {
  max-width: 46rem;
  margin: 0 auto;
  color: rgba(18, 37, 61, 0.82);
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.9;
}

.blog-article-content > *:first-child {
  margin-top: 0;
}

.blog-article-content > *:last-child {
  margin-bottom: 0;
}

.blog-article-content h2,
.blog-article-content h3,
.blog-article-content h4,
.blog-article-content h5,
.blog-article-content h6 {
  margin-top: 2.2rem;
  margin-bottom: 0.85rem;
  color: #12253d;
  font-family: "Merriweather", serif;
  line-height: 1.28;
}

.blog-article-content h2 {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.blog-article-content h3 {
  font-size: clamp(1.45rem, 2.3vw, 2rem);
}

.blog-article-content p,
.blog-article-content ul,
.blog-article-content ol,
.blog-article-content blockquote,
.blog-article-content table {
  margin-bottom: 1.15rem;
}

.blog-article-content ul,
.blog-article-content ol {
  padding-left: 1.3rem;
}

.blog-article-content li + li {
  margin-top: 0.45rem;
}

.blog-article-content a {
  color: #1b5e20;
  text-decoration-color: rgba(27, 94, 32, 0.32);
  text-underline-offset: 0.16em;
}

.blog-article-content a:hover,
.blog-article-content a:focus-visible {
  color: #b35c38;
  text-decoration-color: rgba(179, 92, 56, 0.42);
}

.blog-article-content blockquote {
  padding: 1.1rem 1.2rem 1.1rem 1.35rem;
  border-left: 4px solid rgba(179, 92, 56, 0.56);
  border-radius: 0 1rem 1rem 0;
  background: rgba(23, 53, 40, 0.04);
  color: #173528;
  font-family: "Merriweather", serif;
}

.blog-article-content img {
  width: 100%;
  height: auto;
  margin: 1.5rem 0;
  border-radius: 1.3rem;
  box-shadow: 0 28px 54px -40px rgba(18, 30, 48, 0.28);
}

.blog-article-content table {
  width: 100%;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid rgba(197, 161, 90, 0.22);
}

.blog-article-content th,
.blog-article-content td {
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(197, 161, 90, 0.16);
}

.blog-article-content th {
  background: rgba(23, 53, 40, 0.06);
  color: #12253d;
}

.blog-article-footer {
  max-width: 46rem;
  margin: 1.8rem auto 0;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(197, 161, 90, 0.18);
}

.blog-back-cta {
  padding: 0.9rem 1.1rem;
  border-radius: 999px;
  background: rgba(23, 53, 40, 0.06);
}

@media (max-width: 1199.98px) {
  .blog-featured-card-media {
    min-height: 26rem;
  }
}

@media (max-width: 991.98px) {
  .blog-featured-card-media {
    min-height: 22rem;
  }

  .blog-editorial-grid .col-md-6:nth-child(odd) .blog-editorial-card,
  .blog-editorial-grid .col-md-6:nth-child(even) .blog-editorial-card {
    transform: none;
  }
}

@media (max-width: 767.98px) {
  .blog-hero-preview,
  .blog-featured-card,
  .blog-editorial-card,
  .blog-empty-state,
  .blog-post-hero-media,
  .blog-article-shell {
    border-radius: 1.45rem;
  }

  .blog-hero-preview-copy,
  .blog-featured-card-body,
  .blog-editorial-card-body,
  .blog-article-shell {
    padding: 1.3rem;
  }

  .blog-featured-card-body {
    padding-top: 1.45rem;
  }

  .blog-featured-card-media,
  .blog-editorial-card-media,
  .blog-post-hero-media img,
  .blog-hero-preview img,
  .blog-hero-preview-fallback {
    min-height: 16rem;
  }

  .blog-post-title {
    font-size: 2.2rem;
  }

  .blog-post-excerpt {
    font-size: 1rem;
  }
}

@media (max-width: 575.98px) {
  .blog-meta-row {
    gap: 0.55rem;
  }

  .blog-meta-pill {
    width: 100%;
    justify-content: center;
  }

  .blog-back-link,
  .blog-read-link,
  .blog-back-cta {
    font-size: 0.92rem;
  }
}

/********** Typography refinement pass **********/
:root {
  --font-display: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
  --font-body: "Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --fs-h1: clamp(2.35rem, 5vw, 4.7rem);
  --fs-h2: clamp(1.95rem, 3.4vw, 3.15rem);
  --fs-h3: clamp(1.5rem, 2.25vw, 2.05rem);
  --fs-h4: clamp(1.15rem, 1.5vw, 1.38rem);
  --fs-body: clamp(1rem, 0.97rem + 0.18vw, 1.08rem);
  --fs-label: clamp(0.78rem, 0.74rem + 0.12vw, 0.88rem);
  --fs-button: clamp(0.84rem, 0.8rem + 0.15vw, 0.94rem);
  --lh-body: 1.82;
  --lh-body-compact: 1.65;
  --lh-heading-tight: 1.08;
  --lh-heading: 1.16;
  --ls-heading: -0.025em;
  --ls-label: 0.14em;
}

body {
  font-family: var(--font-body) !important;
  font-size: 16px;
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

p,
li,
small,
td,
.section-intro,
.guide-copy-block p,
.guide-hero-copy,
.hero-text,
.premium-description,
.about-text p,
.footer-copy,
.footer-info-item span,
.footer-info-item a,
.copyright-text,
.footer-disclaimer,
.footer-disclaimer--tiny,
.blog-post-excerpt,
.blog-article-content,
.blog-article-content p,
.blog-article-content li,
.blog-article-content ul,
.blog-article-content ol,
.accordion-body,
.faq-accordion .accordion-body,
.guide-faq-accordion .accordion-body,
.booking-form-meta,
.booking-form-status,
.booking-contact-strip-intro p,
.booking-support-panel p,
.quick-stat-card p,
.related-topic-card p,
.hotel-tier-card p,
.hotel-city-card p,
.faq-category-card p,
.spec-card p,
.season-recommend-card p,
.page-guide-visual-copy p {
  font-family: var(--font-body) !important;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  letter-spacing: 0.002em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero-title,
.guide-hero-title,
.about-heading,
.values-title,
.pricing-hero-title,
.final-cta-title,
.guide-section-head h2,
.guide-copy-block h2,
.page-guide-visual-copy h2,
.booking-form-card h2,
.booking-support-panel h3,
.zone-guidance-card h2,
.route-city-card h3,
.transport-mode-card h3,
.base-zone-card h3,
.timing-season-card h3,
.comparison-focus-card h3,
.cost-example-card h3,
.plan-card-body h3,
.wildlife-info-card-body h3,
.season-recommend-card h3,
.faq-category-card h3,
.hotel-tier-card h3,
.hotel-city-card h3,
.related-topic-card h3,
.chooser-card h3,
.guide-route-card h3,
.travel-route-card h3,
.premium-title,
.blog-post-title,
.blog-editorial-head h2,
.blog-empty-state h2,
.blog-hero-preview-copy h2,
.blog-featured-card-body h2,
.blog-editorial-card-body h3,
.blog-article-content h2,
.blog-article-content h3,
.blog-article-content h4,
.blog-article-content h5,
.blog-article-content h6,
.footer-brand-title,
.footer-col-heading,
.footer-book-btn,
.quick-stat-card strong,
.spec-card strong,
.accordion-button,
.faq-accordion .accordion-button,
.guide-faq-accordion .accordion-button {
  font-family: var(--font-display) !important;
  letter-spacing: var(--ls-heading);
  text-wrap: balance;
}

h1,
.hero-title,
.guide-hero-title,
.about-heading,
.premium-title,
.blog-post-title {
  line-height: var(--lh-heading-tight);
}

h2,
h3,
h4,
h5,
h6,
.values-title,
.guide-section-head h2,
.guide-copy-block h2,
.page-guide-visual-copy h2,
.booking-form-card h2,
.booking-support-panel h3,
.zone-guidance-card h2,
.route-city-card h3,
.transport-mode-card h3,
.base-zone-card h3,
.timing-season-card h3,
.comparison-focus-card h3,
.cost-example-card h3,
.plan-card-body h3,
.wildlife-info-card-body h3,
.season-recommend-card h3,
.faq-category-card h3,
.hotel-tier-card h3,
.hotel-city-card h3,
.related-topic-card h3,
.chooser-card h3,
.guide-route-card h3,
.travel-route-card h3,
.blog-editorial-head h2,
.blog-empty-state h2,
.blog-hero-preview-copy h2,
.blog-featured-card-body h2,
.blog-editorial-card-body h3,
.blog-article-content h2,
.blog-article-content h3,
.blog-article-content h4,
.blog-article-content h5,
.blog-article-content h6,
.footer-brand-title,
.quick-stat-card strong,
.spec-card strong {
  line-height: var(--lh-heading);
}

h5,
h6 {
  font-weight: 700 !important;
}

.btn,
button,
[type="button"],
[type="submit"],
[type="reset"],
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .dropdown-item,
.hero-eyebrow,
.about-eyebrow,
.team-eyebrow,
.values-eyebrow,
.contact-eyebrow,
.section-title h5,
.guide-mini-label,
.guide-panel-label,
.travel-access-kicker,
.zone-summary-kicker,
.pricing-chart-kicker,
.zone-secondary-label,
.page-guide-visual-copy .zone-tag,
.plan-pill,
.hero-top-badge,
.blog-meta-pill,
.footer-col-heading,
.footer-book-btn,
.breadcrumb,
.breadcrumb-item,
.booking-enquiry-form .form-label,
.form-label,
label,
th,
.pricing-chart-table th,
#pricing-details .charges-detail-table thead th {
  font-family: var(--font-display) !important;
}

.btn,
button,
[type="button"],
[type="submit"],
[type="reset"],
.footer-book-btn {
  font-family: var(--font-display) !important;
  font-size: var(--fs-button) !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em;
}

.navbar-dark .navbar-nav .nav-link {
  font-family: var(--font-display) !important;
  font-size: clamp(0.84rem, 0.8rem + 0.14vw, 0.95rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em;
  line-height: 1.2;
}

.navbar-dark .dropdown-item {
  font-family: var(--font-display) !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  line-height: 1.55;
}

.hero-eyebrow,
.about-eyebrow,
.team-eyebrow,
.values-eyebrow,
.contact-eyebrow,
.section-title h5,
.guide-mini-label,
.guide-panel-label,
.travel-access-kicker,
.zone-summary-kicker,
.pricing-chart-kicker,
.zone-secondary-label,
.page-guide-visual-copy .zone-tag,
.plan-pill,
.hero-top-badge,
.blog-meta-pill,
.footer-col-heading {
  font-family: var(--font-display) !important;
  font-size: var(--fs-label) !important;
  font-weight: 800 !important;
  letter-spacing: var(--ls-label);
  line-height: 1.4;
}

.footer-brand-title {
  margin: 0.75rem 0 0.6rem;
  font-size: clamp(1.2rem, 1.1rem + 0.55vw, 1.55rem);
  font-weight: 800 !important;
}

.footer-col-heading {
  font-weight: 800 !important;
}

.footer-nav-list li a,
.footer-info-item span,
.footer-info-item a,
.copyright-text,
.footer-disclaimer,
.footer-disclaimer--tiny {
  font-family: var(--font-body) !important;
}

.footer-nav-list li a,
.footer-info-item span,
.footer-info-item a {
  font-size: 0.95rem;
  line-height: 1.65;
}

.footer-copy {
  font-size: clamp(0.95rem, 0.92rem + 0.08vw, 1rem) !important;
  line-height: 1.82 !important;
}

.breadcrumb,
.breadcrumb-item,
.breadcrumb-item a {
  font-family: var(--font-display) !important;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.breadcrumb-item + .breadcrumb-item::before {
  font-family: var(--font-display);
  font-weight: 700;
}

.form-label,
.booking-enquiry-form .form-label,
label {
  font-family: var(--font-display) !important;
  font-size: 0.95rem;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  line-height: 1.45;
}

input,
textarea,
select,
option,
.form-control,
.contact .form-control,
.booking-page .form-control,
.booking-enquiry-form .form-control {
  font-family: var(--font-body) !important;
  font-size: var(--fs-body) !important;
  font-weight: 500;
  line-height: 1.5;
}

input::placeholder,
textarea::placeholder,
select::placeholder,
.form-control::placeholder {
  font-family: var(--font-body) !important;
}

.accordion-button,
.faq-accordion .accordion-button,
.guide-faq-accordion .accordion-button {
  font-family: var(--font-display) !important;
  font-size: clamp(1.08rem, 1rem + 0.34vw, 1.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.45;
}

.accordion-body,
.faq-accordion .accordion-body,
.guide-faq-accordion .accordion-body {
  font-family: var(--font-body) !important;
  font-size: var(--fs-body) !important;
  line-height: var(--lh-body);
}

table,
td {
  font-family: var(--font-body) !important;
}

th,
.pricing-chart-table th,
#pricing-details .charges-detail-table thead th {
  font-family: var(--font-display) !important;
  font-size: 0.88rem;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  line-height: 1.45;
}

td,
.pricing-chart-table td,
#pricing-details .charges-detail-table td,
.blog-article-content th,
.blog-article-content td {
  font-size: 0.98rem;
  line-height: var(--lh-body-compact);
}

.blog-post-excerpt {
  font-size: clamp(1.05rem, 1rem + 0.2vw, 1.18rem);
  line-height: 1.8;
}

.blog-article-content {
  max-width: 48rem;
  font-size: 1.03rem;
  line-height: 1.86;
}

.blog-article-content blockquote {
  font-family: var(--font-body) !important;
  font-size: clamp(1.05rem, 1rem + 0.2vw, 1.16rem);
  font-style: italic;
  line-height: 1.78;
}

@media (max-width: 767.98px) {
  :root {
    --fs-h1: clamp(2.2rem, 10vw, 3.1rem);
    --fs-h2: clamp(1.85rem, 7.6vw, 2.35rem);
    --fs-h3: clamp(1.38rem, 5.8vw, 1.7rem);
    --fs-h4: clamp(1.08rem, 4.6vw, 1.28rem);
    --fs-body: clamp(0.99rem, 4vw, 1.02rem);
    --fs-label: clamp(0.78rem, 3.3vw, 0.84rem);
    --fs-button: clamp(0.84rem, 3.6vw, 0.9rem);
  }

  body {
    font-size: 15.5px;
  }

  .navbar-dark .navbar-nav .nav-link,
  .navbar-dark .dropdown-item {
    letter-spacing: 0.08em;
  }

  .footer-nav-list li a,
  .footer-info-item span,
  .footer-info-item a,
  .breadcrumb,
  .breadcrumb-item,
  .breadcrumb-item a {
    font-size: 0.92rem;
  }

  .blog-article-content {
    font-size: 1rem;
    line-height: 1.8;
  }
}

/********** City safari landing pages **********/
.city-safari-page .city-guide-hero {
  min-height: auto;
}

.city-safari-page .city-guide-hero .hero-ambient-orb {
  display: none;
}

.city-safari-page .city-guide-hero .zones-guide-hero-shell {
  padding-top: clamp(6.2rem, 11vh, 8rem) !important;
  padding-bottom: clamp(4.25rem, 8vh, 5.75rem) !important;
}

.city-safari-page .city-guide-hero .row {
  min-height: auto;
  align-items: flex-end;
}

.city-safari-page .city-guide-hero .premium-hero-content {
  max-width: 40rem;
}

.city-safari-page .city-guide-hero .premium-title {
  font-size: clamp(2.75rem, 5vw, 4.3rem);
  line-height: 1.02;
}

.city-safari-page .city-guide-hero .premium-description {
  max-width: 37rem;
  font-size: clamp(1.02rem, 1.45vw, 1.16rem);
}

.city-hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.75rem;
}

.city-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.78rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 248, 236, 0.16);
  background: rgba(7, 14, 24, 0.44);
  color: rgba(255, 248, 236, 0.9);
  font-size: 0.95rem;
  line-height: 1.4;
  box-shadow: 0 18px 36px -28px rgba(0, 0, 0, 0.5);
}

.city-hero-pill i {
  color: #f0d8a0;
}

.city-safari-page .city-hero-stage {
  height: clamp(31rem, 48vw, 38rem);
}

.city-safari-page .city-hero-frame {
  width: min(33rem, 100%);
  height: calc(100% - 3.6rem);
  right: 0;
  border-radius: 1.8rem;
}

.city-hero-sidecard {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: min(21rem, 82%);
  padding: 1.3rem 1.35rem 1.25rem;
  border-radius: 1.4rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.96) 0%, rgba(249, 245, 237, 0.95) 100%);
  box-shadow: 0 28px 56px -34px rgba(10, 18, 30, 0.52);
}

.city-hero-sidecard__kicker,
.city-zone-kicker,
.city-link-kicker {
  display: inline-flex;
  color: #8c652b;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.city-hero-sidecard__title {
  margin: 0.45rem 0 0.9rem;
  color: var(--secondary);
  font-family: "Nunito", sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.25;
}

.city-hero-note-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.city-hero-note-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: rgba(18, 37, 61, 0.82);
  line-height: 1.7;
}

.city-hero-note-list i {
  margin-top: 0.3rem;
  color: #8c652b;
}

.city-summary-head {
  max-width: 48rem;
}

.city-summary-card {
  padding: 1.55rem;
}

.city-summary-card span {
  margin-top: 0;
  margin-bottom: 0.55rem;
}

.city-summary-card strong {
  margin-bottom: 0.7rem;
  font-family: "Nunito", sans-serif;
  font-size: 1.35rem;
  line-height: 1.25;
}

.city-summary-card p {
  line-height: 1.78;
}

.city-section-copy {
  max-width: 22rem;
}

.city-section-copy p:last-child {
  margin-bottom: 0;
}

.city-zone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.city-zone-card {
  padding: 1.45rem;
  border-radius: 1.5rem;
}

.city-zone-card h3 {
  margin: 0.55rem 0 0.75rem;
  color: var(--secondary) !important;
  font-size: clamp(1.35rem, 2vw, 1.65rem) !important;
  line-height: 1.2;
}

.city-zone-card p {
  color: rgba(18, 37, 61, 0.8);
  line-height: 1.76;
}

.city-zone-note {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(23, 52, 83, 0.08);
  color: #8c652b !important;
  font-weight: 600;
  line-height: 1.65 !important;
}

.city-plan-board {
  padding: 1.2rem;
}

.city-plan-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1rem;
}

.city-plan-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1.25rem 1.3rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(27, 94, 32, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(232, 245, 233, 0.78) 100%);
  box-shadow: 0 20px 40px -34px rgba(13, 59, 16, 0.16);
}

.city-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #173453 0%, #10263e 100%);
  color: #fff8ec;
  font-family: "Nunito", sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  box-shadow: 0 18px 34px -24px rgba(18, 30, 48, 0.42);
}

.city-plan-step h3 {
  margin: 0 0 0.35rem;
  color: var(--secondary);
  font-size: 1.18rem;
}

.city-plan-step p {
  margin: 0;
  color: rgba(18, 37, 61, 0.78);
  line-height: 1.75;
}

.city-link-list {
  display: grid;
  gap: 1rem;
}

.city-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.35rem 1.45rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(197, 161, 90, 0.18);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(249, 245, 237, 0.98) 100%);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 24px 44px -34px rgba(18, 30, 48, 0.18);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.city-link-row h3 {
  margin: 0.2rem 0 0.3rem;
  color: var(--secondary);
  font-size: 1.25rem;
  line-height: 1.25;
}

.city-link-row p {
  margin: 0;
  color: rgba(18, 37, 61, 0.78);
  line-height: 1.72;
}

.city-link-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.85rem;
  height: 2.85rem;
  flex-shrink: 0;
  border-radius: 999px;
  background: rgba(23, 52, 83, 0.06);
  color: var(--secondary);
  transition: transform 0.28s ease, background 0.28s ease;
}

.city-link-row:hover {
  transform: translateY(-4px);
  border-color: rgba(197, 161, 90, 0.3);
  box-shadow: 0 28px 54px -34px rgba(18, 30, 48, 0.22);
}

.city-link-row:hover .city-link-arrow {
  transform: translateX(3px);
  background: rgba(23, 52, 83, 0.1);
}

@media (max-width: 991.98px) {
  .city-section-copy {
    max-width: none;
  }

  .city-zone-grid {
    grid-template-columns: 1fr;
  }

  .city-safari-page .city-hero-stage {
    height: auto;
    padding-bottom: 0.5rem;
  }

  .city-safari-page .city-hero-frame {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: 26rem;
    transform: none;
  }

  .city-hero-sidecard {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    margin-top: -2rem;
  }
}

@media (max-width: 767.98px) {
  .city-safari-page .city-guide-hero .zones-guide-hero-shell {
    padding-top: 6.6rem !important;
  }

  .city-hero-pill {
    width: 100%;
  }

  .city-plan-step {
    grid-template-columns: 1fr;
  }

  .city-step-number {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 0.9rem;
  }

  .city-link-row {
    align-items: flex-start;
  }
}

@media (max-width: 575.98px) {
  .city-summary-card,
  .city-zone-card,
  .city-link-row {
    padding: 1.2rem;
  }

  .city-link-row {
    gap: 0.9rem;
  }

  .city-link-arrow {
    width: 2.45rem;
    height: 2.45rem;
  }

  .city-safari-page .city-hero-frame {
    height: 22rem;
  }
}
