/* Inner pages extend the approved Trip N TREK design system without altering the home-page layout. */
.inner-page .main-nav {
  position: absolute
}

.inner-page .nav-link.active:after {
  width: 100%
}

.inner-hero {
  min-height: 610px;
  padding: 210px 0 90px;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-image: var(--inner-hero-image);
  background-size: cover;
  background-position: center
}

.inner-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(247, 245, 238, .98) 0%, rgba(247, 245, 238, .94) 42%, rgba(247, 245, 238, .55) 68%, rgba(8, 35, 28, .42) 100%)
}

.inner-hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
  pointer-events: none
}

.inner-hero-orb-a {
  width: 380px;
  height: 380px;
  right: 8%;
  top: 20%;
  border: 1px solid rgba(205, 232, 75, .45)
}

.inner-hero-orb-b {
  width: 230px;
  height: 230px;
  right: 14%;
  top: 34%;
  border: 1px dashed rgba(15, 77, 61, .35)
}

.inner-breadcrumb {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 20px;
  font-size: .88rem;
  font-weight: 700;
  color: var(--muted)
}

.inner-breadcrumb a {
  color: var(--green)
}

.inner-breadcrumb i {
  font-size: .65rem
}

.inner-eyebrow {
  margin-bottom: 20px
}

.inner-hero h1 {
  font-size: clamp(3.2rem, 6vw, 6.5rem);
  max-width: 900px;
  letter-spacing: -.045em;
  margin-bottom: 22px
}

.inner-hero p {
  max-width: 800px;
  font-size: 1.18rem;
  color: #4e5e58;
  margin-bottom: 30px
}

.inner-hero-card {
  margin-left: auto;
  max-width: 330px;
  background: rgba(15, 77, 61, .92);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .25);
  padding: 30px;
  border-radius: 28px;
  color: #fff;
  box-shadow: var(--shadow)
}

.inner-hero-card>span {
  display: block;
  color: var(--lime);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 700
}

.inner-hero-card strong {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 1.75rem;
  line-height: 1.2;
  margin: 12px 0 24px
}

.inner-hero-card div {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: #d8e7e1;
  font-size: .9rem
}

.inner-hero-card i {
  color: var(--lime)
}

.inner-stat-band {
  position: relative;
  z-index: 5;
  margin-top: -1px;
  background: var(--green-3);
  color: #fff
}

.inner-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr)
}

.inner-stat-grid>div {
  padding: 26px 30px;
  border-right: 1px solid rgba(255, 255, 255, .12);
  display: flex;
  align-items: center;
  gap: 18px
}

.inner-stat-grid>div:last-child {
  border-right: 0
}

.inner-stat-grid strong {
  font-family: 'Playfair Display', serif;
  color: var(--lime);
  font-size: 2rem
}

.inner-stat-grid span {
  font-size: .95rem;
  color: #d5e1dd
}

.inner-intro h2 {
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  margin: 14px 0 22px
}

.inner-intro p {
  color: var(--muted);
  font-size: 1.06rem
}

.inner-image-composition {
  position: relative;
  padding: 0 34px 34px 0
}

.inner-main-image {
  width: 100%;
  height: 560px;
  object-fit: cover;
  border-radius: 34px;
  box-shadow: var(--shadow)
}

.inner-image-composition:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 72%;
  height: 72%;
  border-radius: 34px;
  background: var(--cream);
  z-index: -1
}

.inner-image-badge {
  position: absolute;
  right: 0;
  bottom: 70px;
  display: flex;
  align-items: center;
  gap: 13px;
  background: #fff;
  padding: 18px 22px;
  border-radius: 20px;
  box-shadow: 0 18px 48px rgba(15, 77, 61, .18)
}

.inner-image-badge>i {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--green);
  color: var(--lime);
  font-size: 1.25rem
}

.inner-image-badge span {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.25
}

.inner-image-badge strong {
  color: var(--ink);
  font-size: 1rem
}

.inner-check-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;
  margin: 28px 0
}

.inner-check-list span {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  font-weight: 600
}

.inner-check-list i {
  color: var(--green);
  font-size: 1.1rem;
  margin-top: .15rem
}

.inner-features {
  position: relative;
  overflow: hidden
}

.inner-features:before {
  content: "";
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: rgba(205, 232, 75, .16);
  top: -260px;
  right: -180px
}

.inner-feature-card {
  height: 100%;
  min-height: 300px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 34px;
  position: relative;
  overflow: hidden;
  transition: .35s ease;
  box-shadow: 0 12px 34px rgba(16, 49, 40, .06)
}

.inner-feature-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow);
  border-color: rgba(15, 77, 61, .2)
}

.inner-feature-card>i {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 19px;
  background: var(--green);
  color: var(--lime);
  font-size: 1.35rem;
  margin-bottom: 26px
}

.inner-feature-number {
  position: absolute;
  right: 24px;
  top: 18px;
  font-family: 'Playfair Display', serif;
  font-size: 3rem;
  color: rgba(15, 77, 61, .08);
  font-weight: 700
}

.inner-feature-card h3 {
  font-size: 1.55rem
}

.inner-feature-card p {
  color: var(--muted);
  margin: 0
}

.inner-process {
  background: var(--green-3);
  position: relative;
  overflow: hidden
}

.inner-process:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(205, 232, 75, .07), transparent 50%)
}

.inner-process .section-heading h2 {
  color: #fff
}

.inner-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  position: relative
}

.inner-process-card {
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 26px;
  padding: 30px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  min-height: 260px
}

.inner-process-card>span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--green-3);
  font-weight: 800;
  margin-bottom: 28px
}

.inner-process-card h3 {
  color: #fff;
  font-size: 1.55rem
}

.inner-process-card p {
  color: #cbd9d4;
  margin: 0;
  font-size: .96rem
}

.detail-panel {
  height: 100%;
  border-radius: 32px;
  padding: 50px;
  overflow: hidden
}

.detail-panel h2 {
  font-size: clamp(2.2rem, 3vw, 3.5rem);
  margin: 15px 0 28px
}

.detail-panel ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 14px
}

.detail-panel li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600
}

.detail-panel li i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%
}

.detail-panel-green {
  background: var(--green);
  color: #fff
}

.detail-panel-green h2 {
  color: #fff
}

.detail-panel-green li i {
  background: rgba(205, 232, 75, .16);
  color: var(--lime)
}

.detail-panel-cream {
  background: var(--cream);
  border: 1px solid var(--line)
}

.detail-panel-cream li i {
  background: #fff;
  color: var(--green);
  font-size: .8rem
}

.detail-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .88rem
}

.detail-note i {
  color: var(--green);
  margin-top: .2rem
}

.inner-faq .accordion-item {
  border: 1px solid var(--line);
  border-radius: 18px !important;
  margin-bottom: 14px;
  overflow: hidden
}

.inner-faq .accordion-button {
  padding: 22px 24px;
  font-weight: 700
}

.inner-faq .accordion-body {
  padding: 0 24px 24px;
  color: var(--muted)
}

.inner-cta .cta-inner {
  align-items: center
}

.inner-cta .cta-inner p {
  color: #cbd9d4;
  max-width: 700px;
  margin: 12px 0 0
}

.inner-enquiry-section {
  background: #fff
}

.inner-form-card {
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 34px;
  box-shadow: 0 18px 50px rgba(16, 49, 40, .08)
}

.inner-form-card label {
  display: block;
  font-size: .86rem;
  font-weight: 700;
  margin-bottom: 7px;
  color: #41504b
}

.inner-form-card textarea.form-control {
  min-height: 120px
}

.enquiry-contact-mini {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 26px
}

.enquiry-contact-mini span {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  color: var(--green)
}

.enquiry-contact-mini i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--cream)
}

.booking-page-section {
  background: #fff
}

.booking-help-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--green);
  color: #fff;
  border-radius: 22px;
  padding: 20px 24px;
  margin-top: 28px;
  max-width: 390px
}

.booking-help-card>i {
  font-size: 1.5rem;
  color: var(--lime)
}

.booking-help-card span,
.booking-help-card a {
  display: block
}

.booking-help-card span {
  font-size: .82rem;
  color: #d4e1dc
}

.booking-help-card a {
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700
}

.fleet-detail-section {
  background: #fff
}

.fleet-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.fleet-detail-grid .fleet-card {
  height: 100%
}

.fleet-detail-grid .fleet-image-wrap img {
  height: 220px;
  object-fit: cover;
  width: 100%
}

.fleet-detail-grid .fleet-content {
  padding: 22px
}

.fleet-detail-grid .fleet-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px
}

.fleet-detail-grid .btn {
  padding: .75rem .85rem;
  font-size: .86rem
}

.contact-page-section {
  background: var(--cream)
}

.contact-info-panel {
  height: 100%;
  border-radius: 32px;
  background: var(--green-3);
  padding: 42px;
  color: #fff
}

.contact-info-panel h2 {
  color: #fff;
  margin: 14px 0 30px
}

.contact-info-panel>a {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fff;
  padding: 17px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12)
}

.contact-info-panel>a>i {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: rgba(205, 232, 75, .13);
  color: var(--lime);
  font-size: 1.15rem
}

.contact-info-panel small,
.contact-info-panel span {
  display: block
}

.contact-info-panel small {
  color: #aebfba;
  font-size: .75rem;
  margin-bottom: 2px
}

.contact-hours {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 26px
}

.contact-hours>i {
  color: var(--lime);
  font-size: 1.3rem
}

.policy-section {
  background: var(--cream)
}

.policy-intro {
  background: var(--green);
  color: #fff;
  border-radius: 28px;
  padding: 36px;
  margin-bottom: 28px
}

.policy-intro p {
  font-size: 1.12rem;
  margin: 12px 0 0;
  color: #e5efeb
}

.policy-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 38px;
  margin-bottom: 22px
}

.policy-card h2 {
  font-size: 2rem;
  margin-bottom: 16px
}

.policy-card p {
  color: var(--muted);
  margin-bottom: 12px
}

.policy-card p:last-child {
  margin-bottom: 0
}

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 92px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #25d366;
  color: #fff;
  font-size: 1.65rem;
  z-index: 995;
  box-shadow: 0 14px 32px rgba(37, 211, 102, .3);
  animation: whatsappPulse 2.4s infinite
}

.whatsapp-float:hover {
  color: #fff;
  transform: translateY(-4px)
}

@keyframes whatsappPulse {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, .28), 0 14px 32px rgba(37, 211, 102, .3)
  }

  50% {
    box-shadow: 0 0 0 12px rgba(37, 211, 102, 0), 0 14px 32px rgba(37, 211, 102, .3)
  }
}

.service-card {
  position: relative
}

.service-card .stretched-link:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 4px
}

@media(max-width:1199.98px) {
  .inner-hero {
    min-height: 560px
  }

  .inner-process-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .fleet-detail-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media(max-width:991.98px) {
  .inner-page .main-nav {
    top: 0
  }

  .inner-hero {
    min-height: auto;
    padding: 175px 0 80px;
    background-position: center
  }

  .inner-hero-overlay {
    background: linear-gradient(90deg, rgba(247, 245, 238, .98), rgba(247, 245, 238, .88))
  }

  .inner-stat-grid>div {
    padding: 22px 18px
  }

  .inner-main-image {
    height: 480px
  }

  .fleet-detail-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:767.98px) {
  .inner-hero {
    padding: 145px 0 65px
  }

  .inner-hero h1 {
    font-size: clamp(2.75rem, 13vw, 4.3rem)
  }

  .inner-hero p {
    font-size: 1rem
  }

  .inner-stat-grid {
    grid-template-columns: 1fr
  }

  .inner-stat-grid>div {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    justify-content: center;
    text-align: center
  }

  .inner-stat-grid>div:last-child {
    border-bottom: 0
  }

  .inner-image-composition {
    padding: 0 18px 18px 0
  }

  .inner-main-image {
    height: 400px
  }

  .inner-image-badge {
    right: 0;
    bottom: 38px
  }

  .inner-check-list {
    grid-template-columns: 1fr
  }

  .inner-process-grid {
    grid-template-columns: 1fr
  }

  .inner-process-card {
    min-height: auto
  }

  .detail-panel {
    padding: 34px
  }

  .fleet-detail-grid {
    grid-template-columns: 1fr
  }

  .inner-form-card {
    padding: 24px
  }

  .inner-feature-card {
    min-height: auto
  }

  .inner-cta .cta-inner {
    gap: 24px
  }

  .inner-cta .btn {
    width: 100%
  }
}

@media(max-width:575.98px) {
  .inner-hero {
    padding-top: 132px
  }

  .inner-hero .btn {
    width: 100%
  }

  .inner-main-image {
    height: 340px
  }

  .inner-image-badge {
    position: relative;
    right: auto;
    bottom: auto;
    margin: -35px 16px 0
  }

  .detail-panel {
    padding: 28px
  }

  .contact-info-panel {
    padding: 30px
  }

  .whatsapp-float {
    width: 52px;
    height: 52px;
    right: 16px;
    bottom: 82px
  }

  .fleet-detail-grid .fleet-actions {
    grid-template-columns: 1fr
  }
}

/* Consolidated services, packages and booking experience */
#service-directory,
.service-detail-section,
.package-detail-section,
#vehicle-fleet {
  scroll-margin-top: 120px
}

.hub-hero .inner-hero-overlay,
.package-collection-hero .inner-hero-overlay,
.taxi-hero .inner-hero-overlay {
  background: linear-gradient(90deg, rgba(247, 245, 238, .98) 0%, rgba(247, 245, 238, .93) 48%, rgba(247, 245, 238, .52) 72%, rgba(8, 35, 28, .44) 100%)
}

.service-directory-wrap,
.package-directory-wrap {
  position: relative;
  z-index: 12;
  margin-top: -38px
}

.service-directory,
.package-directory {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 24px 60px rgba(16, 49, 40, .13)
}

.service-directory-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px
}

.service-directory-heading span {
  font-family: 'Playfair Display', serif;
  font-size: 1.75rem;
  font-weight: 700
}

.service-directory-heading small {
  color: var(--muted)
}

.service-directory-links,
.package-directory-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}

.service-directory-links a,
.package-directory-links a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 15px;
  color: var(--ink);
  font-weight: 700;
  font-size: .84rem;
  background: var(--cream);
  transition: .25s
}

.service-directory-links a:hover,
.package-directory-links a:hover {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
  transform: translateY(-2px)
}

.service-directory-links i,
.package-directory-links i {
  color: var(--green)
}

.service-directory-links a:hover i,
.package-directory-links a:hover i {
  color: var(--lime)
}

.services-overview-intro h2 {
  margin: 14px 0 20px
}

.services-overview-intro p {
  color: var(--muted)
}

.service-benefit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px
}

.service-benefit-grid>div {
  display: grid;
  grid-template-columns: 54px 1fr;
  column-gap: 14px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 22px
}

.service-benefit-grid i {
  grid-row: 1/3;
  width: 54px;
  height: 54px;
  border-radius: 17px;
  background: var(--green);
  color: var(--lime);
  display: grid;
  place-items: center
}

.service-benefit-grid strong {
  font-size: 1rem
}

.service-benefit-grid span {
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.45
}

.service-detail-list {
  overflow: hidden
}

.service-detail-section {
  position: relative;
  background: #fff
}

.service-detail-alt {
  background: var(--cream)
}

.service-detail-image {
  position: relative;
  padding: 0 24px 24px 0
}

.service-detail-image:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 78%;
  height: 78%;
  border-radius: 32px;
  background: var(--green);
  z-index: 0
}

.service-detail-alt .service-detail-image:after {
  background: var(--lime)
}

.service-detail-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: 32px;
  box-shadow: var(--shadow)
}

.service-detail-index {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 26px;
  width: 74px;
  height: 74px;
  border-radius: 22px;
  background: #fff;
  display: grid;
  place-items: center;
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--green);
  box-shadow: 0 16px 40px rgba(16, 49, 40, .18)
}

.service-detail-icon {
  position: absolute;
  z-index: 2;
  left: 28px;
  bottom: 0;
  width: 68px;
  height: 68px;
  border-radius: 20px;
  background: var(--green);
  color: var(--lime);
  display: grid;
  place-items: center;
  font-size: 1.45rem;
  box-shadow: 0 16px 38px rgba(16, 49, 40, .25)
}

.service-detail-section h2 {
  font-size: clamp(2.45rem, 4vw, 4.2rem);
  margin: 14px 0 18px
}

.service-lead {
  font-size: 1.08rem;
  color: var(--muted)
}

.service-mini-features {
  display: grid;
  gap: 12px;
  margin: 25px 0
}

.service-mini-features>div {
  display: flex;
  align-items: flex-start;
  gap: 13px
}

.service-mini-features>div>i {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: rgba(15, 77, 61, .1);
  color: var(--green);
  display: grid;
  place-items: center
}

.service-mini-features span {
  display: flex;
  flex-direction: column;
  color: var(--muted);
  font-size: .9rem
}

.service-mini-features strong {
  color: var(--ink);
  font-size: 1rem
}

.service-includes-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px
}

.service-includes-row span {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: .9rem;
  font-weight: 700
}

.service-includes-row i {
  color: var(--green)
}

.package-directory-wrap {
  padding-bottom: 70px;
  background: var(--cream)
}

.package-directory {
  display: grid;
  grid-template-columns: minmax(280px, .75fr) 1.5fr;
  gap: 34px;
  align-items: center
}

.package-directory h2 {
  font-size: 2.15rem;
  margin: 8px 0
}

.package-directory p {
  color: var(--muted);
  margin: 0
}

.package-intro-strip {
  background: var(--green-3);
  padding: 34px 0
}

.package-intro-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px
}

.package-intro-grid>div {
  display: grid;
  grid-template-columns: 46px 1fr;
  column-gap: 12px;
  color: #fff
}

.package-intro-grid i {
  grid-row: 1/3;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: rgba(205, 232, 75, .14);
  color: var(--lime);
  display: grid;
  place-items: center
}

.package-intro-grid strong {
  font-size: .94rem
}

.package-intro-grid span {
  color: #b9cbc5;
  font-size: .78rem;
  line-height: 1.3
}

.package-detail-list {
  overflow: hidden
}

.package-detail-section {
  background: #fff
}

.package-detail-alt {
  background: var(--cream)
}

.package-detail-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0 18px 52px rgba(16, 49, 40, .08)
}

.package-detail-alt .package-detail-card {
  background: #fff
}

.package-detail-image {
  position: relative;
  height: 100%;
  min-height: 560px;
  overflow: hidden
}

.package-detail-image img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: transform .55s
}

.package-detail-card:hover .package-detail-image img {
  transform: scale(1.035)
}

.package-detail-image:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(5, 30, 24, .76) 100%)
}

.package-theme-badge {
  position: absolute;
  z-index: 2;
  top: 22px;
  left: 22px;
  background: rgba(255, 255, 255, .94);
  color: var(--green);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 800;
  font-size: .78rem
}

.package-image-book {
  position: absolute;
  z-index: 3;
  left: 22px;
  right: 22px;
  bottom: 22px;
  border: 0;
  border-radius: 999px;
  background: var(--lime);
  color: var(--green-3);
  font-weight: 800;
  padding: 14px 18px;
  transition: .25s
}

.package-image-book:hover {
  background: #fff;
  transform: translateY(-2px)
}

.package-detail-content {
  position: relative;
  padding: 48px
}

.package-number {
  position: absolute;
  right: 34px;
  top: 22px;
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 4rem;
  color: rgba(15, 77, 61, .07)
}

.package-detail-content h2 {
  font-size: clamp(2.35rem, 3.7vw, 3.8rem);
  margin: 14px 0 16px;
  padding-right: 70px
}

.package-summary {
  color: var(--muted);
  font-size: 1.02rem
}

.package-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 26px 0
}

.package-meta-grid>div {
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 8px
}

.package-meta-grid small {
  display: block;
  color: var(--muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 800;
  margin-bottom: 6px
}

.package-meta-grid strong {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  font-size: .9rem
}

.package-meta-grid i {
  color: var(--green)
}

.package-meta-grid .package-route {
  grid-column: 1/-1
}

.package-price {
  color: var(--green) !important;
  font-size: 1.08rem !important
}

.package-highlights h3 {
  font-size: 1.2rem;
  margin-bottom: 12px
}

.package-highlights>div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px
}

.package-highlights span {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: .88rem;
  font-weight: 700
}

.package-highlights i {
  color: var(--green)
}

.package-inclusion-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px
}

.package-inclusion-icons span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(15, 77, 61, .08);
  color: var(--green);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 800
}

.package-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: .77rem
}

.package-note i {
  color: var(--green);
  margin-top: 4px
}

.taxi-trust-strip {
  background: var(--green-3);
  color: #fff;
  padding: 26px 0
}

.taxi-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px
}

.taxi-trust-grid>div {
  display: flex;
  align-items: center;
  gap: 12px
}

.taxi-trust-grid>div>i {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(205, 232, 75, .13);
  color: var(--lime);
  display: grid;
  place-items: center
}

.taxi-trust-grid span {
  font-size: .84rem;
  color: #bdd0ca
}

.taxi-trust-grid strong {
  display: block;
  color: #fff;
  font-size: .95rem
}

.taxi-intro-section h2 {
  margin: 14px 0 18px
}

.taxi-intro-section p {
  color: var(--muted)
}

.taxi-booking-preview {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  min-height: 390px;
  box-shadow: var(--shadow)
}

.taxi-booking-preview img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.taxi-booking-preview:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 41, 33, .86), rgba(7, 41, 33, .08))
}

.taxi-booking-preview>div {
  position: relative;
  z-index: 2;
  color: #fff;
  padding: 50px;
  max-width: 430px
}

.taxi-booking-preview span {
  color: var(--lime);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .75rem
}

.taxi-booking-preview h3 {
  color: #fff;
  font-size: 2.25rem;
  margin: 12px 0 24px
}

.fleet-filter-bar {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 34px
}

.fleet-filter-bar button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 999px;
  padding: 10px 17px;
  font-weight: 800;
  font-size: .82rem;
  transition: .25s
}

.fleet-filter-bar button:hover,
.fleet-filter-bar button.active {
  background: var(--green);
  border-color: var(--green);
  color: #fff
}

.taxi-fleet-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.taxi-vehicle-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 12px 34px rgba(16, 49, 40, .07);
  transition: .3s
}

.taxi-vehicle-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--shadow)
}

.taxi-vehicle-card.is-hidden {
  display: none
}

.taxi-vehicle-image {
  position: relative;
  height: 220px;
  background: #fff;
  overflow: hidden
}

.taxi-vehicle-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s
}

.taxi-vehicle-card:hover img {
  transform: scale(1.04)
}

.taxi-vehicle-type {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(255, 255, 255, .94);
  color: var(--green);
  padding: 7px 11px;
  border-radius: 999px;
  font-weight: 800;
  font-size: .72rem
}

.taxi-image-book {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  border: 0;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  padding: 11px 14px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(15, 77, 61, .25);
  opacity: 1;
  transform: none;
  transition: .3s
}

.taxi-vehicle-card:hover .taxi-image-book,
.taxi-image-book:focus-visible {
  opacity: 1;
  transform: translateY(-2px)
}

.taxi-image-book:hover {
  background: var(--lime);
  color: var(--green-3)
}

.taxi-vehicle-content {
  padding: 20px
}

.taxi-vehicle-content h3 {
  font-size: 1.25rem;
  margin-bottom: 14px
}

.taxi-vehicle-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px
}

.taxi-vehicle-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--cream);
  border-radius: 999px;
  padding: 6px 9px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 700
}

.taxi-vehicle-meta i {
  color: var(--green)
}

.taxi-use-cases article {
  height: 100%;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 30px;
  background: #fff
}

.taxi-use-cases article>i {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: var(--green);
  color: var(--lime);
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  margin-bottom: 22px
}

.taxi-use-cases h3 {
  font-size: 1.45rem
}

.taxi-use-cases p {
  color: var(--muted);
  margin: 0;
  font-size: .9rem
}

.booking-float {
  position: fixed;
  right: 0;
  top: 56%;
  z-index: 996;
  border: 0;
  border-radius: 18px 0 0 18px;
  background: #ff6800;
  color: #fff;
  padding: 12px 12px 12px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-weight: 800;
  box-shadow: 0 16px 38px rgba(255, 104, 0, .34);
  transition: .25s
}

.booking-float:hover {
  background: var(--green);
  padding-right: 16px
}

.booking-float-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .18);
  display: grid;
  place-items: center
}

.booking-float>span:last-child {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  letter-spacing: .04em;
  font-size: .82rem
}

.instant-booking-modal .modal-dialog {
  max-width: 520px
}

.instant-booking-modal .modal-content {
  border: 0;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .28);
  position: relative
}

.instant-modal-close {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 5
}

.instant-modal-header {
  padding: 30px 30px 16px
}

.instant-modal-kicker {
  display: inline-flex;
  color: #ff6800;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .7rem;
  font-weight: 800;
  margin-bottom: 5px
}

.instant-modal-header h2 {
  font-family: 'DM Sans', sans-serif;
  font-size: 1.55rem;
  font-weight: 800;
  margin: 0 36px 8px 0
}

.instant-modal-header p {
  color: var(--muted);
  font-size: .92rem;
  margin-bottom: 12px
}

.instant-trust-points {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  font-size: .69rem;
  color: #4f5c58
}

.instant-trust-points span {
  display: flex;
  align-items: center;
  gap: 3px
}

.instant-trust-points i {
  color: #319261;
  font-weight: 800
}

.instant-booking-modal .modal-body {
  padding: 0 30px 30px
}

.instant-booking-form {
  display: grid;
  gap: 12px
}

.instant-field {
  position: relative
}

.instant-field>i {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  color: #8c9491
}

.instant-field .form-control,
.instant-field .form-select {
  min-height: 50px;
  border: 1px solid #d9dddb;
  border-radius: 8px;
  padding-left: 43px;
  font-size: .9rem;
  box-shadow: none
}

.instant-field .form-control:focus,
.instant-field .form-select:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(15, 77, 61, .09)
}

.instant-field-textarea>i {
  top: 17px;
  transform: none
}

.instant-field textarea.form-control {
  padding-top: 13px;
  min-height: 72px
}

.instant-date-label {
  font-weight: 700;
  font-size: .82rem;
  margin-bottom: -6px;
  color: #555f5b
}

.instant-submit {
  border: 0;
  border-radius: 999px;
  background: #ff6800;
  color: #fff;
  min-height: 56px;
  font-weight: 800;
  margin-top: 2px;
  transition: .25s
}

.instant-submit:hover {
  background: var(--green);
  transform: translateY(-2px)
}

@media(max-width:1199.98px) {
  .taxi-fleet-grid {
    grid-template-columns: repeat(3, 1fr)
  }

  .service-detail-image img {
    height: 470px
  }

  .package-detail-image {
    min-height: 590px
  }
}

@media(max-width:991.98px) {

  #service-directory,
  .service-detail-section,
  .package-detail-section,
  #vehicle-fleet {
    scroll-margin-top: 88px
  }

  .service-directory-wrap,
  .package-directory-wrap {
    margin-top: 0
  }

  .service-directory,
  .package-directory {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    box-shadow: none
  }

  .package-directory {
    grid-template-columns: 1fr
  }

  .package-intro-grid,
  .taxi-trust-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .service-detail-image img {
    height: 430px
  }

  .package-detail-image {
    min-height: 420px
  }

  .taxi-fleet-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .taxi-image-book {
    opacity: 1;
    transform: none
  }

  .booking-float {
    top: auto;
    right: 82px;
    bottom: 20px;
    border-radius: 999px;
    flex-direction: row;
    padding: 8px 15px 8px 8px
  }

  .booking-float:hover {
    padding-right: 15px
  }

  .booking-float-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%
  }

  .booking-float>span:last-child {
    writing-mode: horizontal-tb;
    transform: none
  }

  .whatsapp-float {
    bottom: 20px
  }

  .back-to-top {
    display: none !important
  }
}

@media(max-width:767.98px) {
  .service-directory-heading {
    display: block
  }

  .service-directory-heading small {
    display: block;
    margin-top: 4px
  }

  .service-benefit-grid {
    grid-template-columns: 1fr
  }

  .service-detail-image {
    padding: 0 14px 14px 0
  }

  .service-detail-image img {
    height: 350px
  }

  .service-detail-index {
    right: 0;
    width: 60px;
    height: 60px
  }

  .service-includes-row {
    grid-template-columns: 1fr
  }

  .package-intro-grid,
  .taxi-trust-grid {
    grid-template-columns: 1fr 1fr
  }

  .package-detail-content {
    padding: 32px 24px
  }

  .package-detail-content h2 {
    padding-right: 0
  }

  .package-number {
    font-size: 3rem;
    right: 20px
  }

  .package-meta-grid,
  .package-highlights>div {
    grid-template-columns: 1fr
  }

  .package-meta-grid .package-route {
    grid-column: auto
  }

  .taxi-fleet-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px
  }

  .taxi-vehicle-image {
    height: 180px
  }

  .taxi-vehicle-content {
    padding: 16px
  }

  .taxi-vehicle-content h3 {
    font-size: 1.05rem
  }

  .taxi-booking-preview>div {
    padding: 34px
  }

  .taxi-booking-preview h3 {
    font-size: 1.9rem
  }
}

@media(max-width:575.98px) {

  .service-directory,
  .package-directory {
    padding: 24px 18px
  }

  .service-directory-links,
  .package-directory-links {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 5px
  }

  .service-directory-links a,
  .package-directory-links a {
    white-space: nowrap
  }

  .package-intro-grid,
  .taxi-trust-grid {
    grid-template-columns: 1fr
  }

  .package-detail-image {
    min-height: 340px
  }

  .taxi-fleet-grid {
    grid-template-columns: 1fr
  }

  .taxi-vehicle-image {
    height: 230px
  }

  .booking-float {
    right: 76px;
    bottom: 16px
  }

  .whatsapp-float {
    right: 14px;
    bottom: 16px
  }

  .instant-booking-modal .modal-dialog {
    margin: 12px
  }

  .instant-modal-header {
    padding: 26px 20px 12px
  }

  .instant-booking-modal .modal-body {
    padding: 0 20px 22px
  }

  .instant-trust-points {
    gap: 5px
  }

  .service-detail-section,
  .package-detail-section {
    padding: 75px 0
  }
}

/* Compact inner-page refinement: the approved home page remains untouched. */
.inner-page .inner-hero.inner-title-hero {
  min-height: 340px;
  padding: 155px 0 72px;
  display: flex;
  align-items: flex-end;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative;
}

.inner-page .inner-title-hero .inner-hero-overlay {
  background: linear-gradient(90deg, rgba(7, 41, 33, .86) 0%, rgba(7, 41, 33, .62) 48%, rgba(7, 41, 33, .28) 100%);
}

.inner-page .inner-title-content {
  max-width: 960px;
  position: relative;
  z-index: 2
}

.inner-page .inner-title-content h1 {
  color: #fff;
  font-size: clamp(2.25rem, 4.8vw, 2.6rem);
  line-height: 1.06;
  letter-spacing: -.035em;
  margin: 0;
  text-shadow: 0 8px 28px rgba(0, 0, 0, .25);
}

.inner-page .section-space {
  padding-top: 30px;
  padding-bottom: 30px
}

.inner-page .section-heading {
  margin-bottom: 36px
}

.inner-page .section-heading h2 {
  font-size: clamp(2rem, 3.3vw, 2.35rem)
}

.inner-page .inner-stat-grid>div {
  padding: 20px 24px
}

.inner-page .inner-stat-grid strong {
  font-size: 1.65rem
}

.inner-page .inner-intro h2 {
  font-size: clamp(2rem, 3.4vw, 2.35rem);
  margin: 10px 0 16px
}

.inner-page .inner-intro p {
  font-size: .98rem;
  line-height: 1.75
}

.inner-page .inner-main-image {
  height: 450px;
  border-radius: 26px
}

.inner-page .inner-image-composition {
  padding: 0 26px 26px 0
}

.inner-page .inner-image-composition:after {
  border-radius: 26px
}

.inner-page .inner-image-badge {
  bottom: 48px;
  padding: 14px 17px;
  border-radius: 16px
}

.inner-page .inner-image-badge>i {
  width: 42px;
  height: 42px;
  border-radius: 13px
}

.inner-page .inner-check-list {
  margin: 22px 0;
  gap: 10px 16px
}

.inner-page .inner-feature-card {
  min-height: 190px;
  padding: 26px;
  border-radius: 22px
}

.inner-page .inner-feature-card>i {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  margin-bottom: 20px
}

.inner-page .inner-feature-card h3 {
  font-size: 1.6rem
}

.inner-page .inner-feature-card p {
  font-size: 1.1rem;
  line-height: 1.65
}

.inner-page .inner-process-grid {
  gap: 16px
}

.inner-page .inner-process-card {
  min-height: 220px;
  padding: 24px;
  border-radius: 22px
}

.inner-page .inner-process-card>span {
  width: 44px;
  height: 44px;
  margin-bottom: 20px
}

.inner-page .inner-process-card h3 {
  font-size: 1.3rem
}

.inner-page .inner-process-card p {
  font-size: .88rem
}

.inner-page .detail-panel {
  padding: 38px;
  border-radius: 26px
}

.inner-page .detail-panel h2 {
    font-size: clamp(1.9rem, 2.7vw, 1.8rem);
    margin: 10px 0 22px;
}

.inner-page .inner-form-card {
  padding: 28px;
  border-radius: 24px
}

.inner-page .policy-intro {
  padding: 28px;
  border-radius: 22px
}

.inner-page .policy-card {
  padding: 30px;
  border-radius: 22px;
  margin-bottom: 16px
}

.inner-page .policy-card h2 {
  font-size: 1.7rem
}

.inner-page .service-directory-wrap,
.inner-page .package-directory-wrap {
  margin-top: -14px;
  position: relative;
  z-index: 5
}

.inner-page .service-directory,
.inner-page .package-directory {
  padding: 24px 28px;
  border-radius: 22px
}

.inner-page .services-overview-intro {
  padding-top: 62px
}

.inner-page .service-detail-section,
.inner-page .package-detail-section {
  padding-top: 68px;
  padding-bottom: 68px
}

.inner-page .service-detail-image img {
  height: 420px;
  border-radius: 24px
}

.inner-page .service-detail-section h2 {
  font-size: clamp(2rem, 3vw, 3.15rem)
}

.inner-page .service-mini-features>div {
  padding: 5px 0
}

.inner-page .package-detail-card {
  border-radius: 24px
}

.inner-page .package-detail-content {
  padding: 38px
}

.inner-page .package-detail-content h2 {
  font-size: clamp(1.9rem, 2.8vw, 1.9rem)
}

.inner-page .package-detail-image {
  min-height: 510px
}

.inner-page .taxi-vehicle-card {
  border-radius: 20px
}

.inner-page .taxi-vehicle-image {
  height: 195px
}

.inner-page .taxi-vehicle-content {
  padding: 17px
}

.inner-page .taxi-use-cases article {
  padding: 24px;
  border-radius: 22px
}

.inner-page .contact-info-panel {
  padding: 34px;
  border-radius: 26px
}

@media(max-width:991.98px) {
  .inner-page .inner-hero.inner-title-hero {
    min-height: 285px;
    padding: 130px 0 56px;
    background-position: center !important
  }

  .inner-page .section-space {
    padding-top: 64px;
    padding-bottom: 64px
  }

  .inner-page .inner-main-image {
    height: 400px
  }

  .inner-page .inner-process-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .inner-page .package-detail-image {
    min-height: 390px
  }

  .inner-page .service-directory-wrap,
  .inner-page .package-directory-wrap {
    margin-top: 0
  }
}

@media(max-width:767.98px) {
  .inner-page .inner-hero.inner-title-hero {
    min-height: 235px;
    padding: 112px 0 42px
  }

  .inner-page .inner-title-content h1 {
    font-size: 2.35rem
  }

  .inner-page .section-space {
    padding-top: 52px;
    padding-bottom: 52px
  }

  .inner-page .section-heading {
    margin-bottom: 28px
  }

  .inner-page .inner-main-image {
    height: 330px;
    border-radius: 22px
  }

  .inner-page .inner-image-badge {
    right: 4px;
    bottom: 36px
  }

  .inner-page .inner-feature-card {
    min-height: auto;
    padding: 22px
  }

  .inner-page .inner-process-card {
    min-height: auto;
    padding: 22px
  }

  .inner-page .detail-panel {
    padding: 28px
  }

  .inner-page .package-detail-content {
    padding: 28px 22px
  }

  .inner-page .service-detail-section,
  .inner-page .package-detail-section {
    padding-top: 52px;
    padding-bottom: 52px
  }
}

@media(max-width:575.98px) {
  .inner-page .inner-hero.inner-title-hero {
    min-height: 210px;
    padding: 100px 0 34px;
    background-position: center !important
  }

  .inner-page .inner-title-content h1 {
    font-size: 2rem
  }

  .inner-page .inner-stat-grid {
    grid-template-columns: 1fr
  }

  .inner-page .inner-stat-grid>div {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    padding: 16px 18px
  }

  .inner-page .inner-stat-grid>div:last-child {
    border-bottom: 0
  }

  .inner-page .inner-process-grid {
    grid-template-columns: 1fr
  }

  .inner-page .inner-check-list {
    grid-template-columns: 1fr
  }

  .inner-page .inner-main-image {
    height: 285px
  }
}


/* 2026 visual and responsive enhancement */
.inner-page .inner-hero.inner-title-hero {
  min-height: 390px;
  padding: 160px 0 64px;
  align-items: flex-end;
  background-attachment: scroll
}

.inner-page .inner-title-content {
  max-width: 900px
}

.inner-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: rgba(255, 255, 255, .78);
  font-size: .82rem;
  font-weight: 600;
  margin-bottom: 16px
}

.inner-breadcrumb a {
  color: #fff;
  text-decoration: none
}

.inner-breadcrumb a:hover {
  color: var(--accent)
}

.inner-breadcrumb>i {
  font-size: .65rem
}

.inner-title-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .24);
  backdrop-filter: blur(10px);
  color: #fff;
  font-size: 1.35rem;
  margin-bottom: 16px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .16)
}

.inner-title-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px
}

.inner-title-actions .btn {
  min-height: 48px;
  padding: 11px 21px;
  border-radius: 999px;
  font-size: .88rem
}

.btn-hero-outline {
  border: 1px solid rgba(255, 255, 255, .55);
  color: #fff;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(8px)
}

.btn-hero-outline:hover {
  background: #fff;
  color: var(--green);
  border-color: #fff
}

.service-detail-image img,
.inner-main-image,
.package-detail-image img {
  object-fit: cover;
  width: 100%
}

.call-float,
.whatsapp-float {
  position: fixed;
  bottom: 15px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff !important;
  font-size: 1.45rem;
  z-index: 995;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .2);
  transition: transform .25s ease, box-shadow .25s ease;
  text-decoration: none
}

.call-float {
  left: 24px;
  background: #0f4d3d
}

.whatsapp-float {
  right: 24px;
  background: #25d366;
  animation: none
}

.call-float:hover,
.whatsapp-float:hover {
  transform: translateY(-6px) scale(1.04);
  box-shadow: 0 22px 45px rgba(0, 0, 0, .26)
}

.call-float small,
.whatsapp-float small {
  position: absolute;
  white-space: nowrap;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  color: #1e2b27;
  padding: 7px 10px;
  border-radius: 8px;
  font-size: .7rem;
  font-weight: 800;
  opacity: 0;
  pointer-events: none;
  transition: .25s;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .14)
}

.call-float small {
  left: 70px
}

.whatsapp-float small {
  right: 70px
}

.call-float:hover small,
.whatsapp-float:hover small {
  opacity: 1
}

.float-ripple {
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  border: 2px solid currentColor;
  opacity: .42;
  animation: floatRipple 2s ease-out infinite
}

.call-float i,
.whatsapp-float i {
  animation: floatIconBounce 2.3s ease-in-out infinite;
  position: relative;
  z-index: 2
}

@keyframes floatRipple {
  0% {
    transform: scale(.85);
    opacity: .45
  }

  75%,
  100% {
    transform: scale(1.55);
    opacity: 0
  }
}

@keyframes floatIconBounce {

  0%,
  100% {
    transform: rotate(0) scale(1)
  }

  10% {
    transform: rotate(-10deg) scale(1.08)
  }

  20% {
    transform: rotate(10deg) scale(1.08)
  }

  30% {
    transform: rotate(0) scale(1)
  }
}

@media(max-width:1199.98px) {
  .inner-page .inner-hero.inner-title-hero {
    min-height: 360px
  }

  .service-mega-menu .mega-menu-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }
}

@media(max-width:991.98px) {
  .inner-page .inner-hero.inner-title-hero {
    min-height: 330px;
    padding: 132px 0 52px;
    background-position: center !important
  }

  .inner-title-icon {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    margin-bottom: 12px
  }

  .inner-title-actions {
    margin-top: 20px
  }

  .service-mega-menu .mega-menu-grid {
    grid-template-columns: 1fr 1fr
  }

  .service-detail-image img {
    height: 390px
  }

  .call-float,
  .whatsapp-float {
    bottom: 20px;
    width: 54px;
    height: 54px
  }

  .call-float {
    left: 16px
  }

  .whatsapp-float {
    right: 16px
  }

  .call-float small,
  .whatsapp-float small {
    display: none
  }

  .booking-float {
    right: 82px
  }
}

@media(max-width:767.98px) {
  .inner-page .inner-hero.inner-title-hero {
    min-height: 310px;
    padding: 118px 0 40px
  }

  .inner-breadcrumb {
    font-size: .76rem;
    margin-bottom: 12px
  }

  .inner-page .inner-title-content h1 {
    font-size: clamp(2rem, 10vw, 3rem)
  }

  .inner-title-actions {
    gap: 9px
  }

  .inner-title-actions .btn {
    min-height: 44px;
    padding: 9px 15px;
    font-size: .78rem
  }

  .service-detail-image img {
    height: 315px
  }

  .package-detail-image {
    min-height: 320px
  }

  .package-detail-image img {
    position: absolute;
    inset: 0;
    height: 100%
  }

  .service-directory-links,
  .package-directory-links {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
    scroll-snap-type: x proximity;
    padding-bottom: 8px
  }

  .service-directory-links a,
  .package-directory-links a {
    min-width: max-content;
    scroll-snap-align: start
  }

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

  .taxi-vehicle-image {
    height: 170px
  }
}

@media(max-width:575.98px) {
  .inner-page .inner-hero.inner-title-hero {
    min-height: 300px;
    padding: 108px 0 34px
  }

  .inner-title-icon {
    width: 44px;
    height: 44px;
    font-size: 1.05rem;
    border-radius: 13px
  }

  .inner-title-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%
  }

  .inner-title-actions .btn {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px
  }

  .service-mega-menu .mega-menu-grid {
    grid-template-columns: 1fr
  }

  .service-detail-image img {
    height: 270px
  }

  .inner-page .inner-main-image {
    height: 270px
  }

  .taxi-fleet-grid {
    grid-template-columns: 1fr
  }

  .taxi-vehicle-image {
    height: 220px
  }

  .package-detail-image {
    min-height: 280px
  }

  .call-float,
  .whatsapp-float {
    width: 50px;
    height: 50px;
    bottom: 14px
  }

  .call-float {
    left: 12px
  }

  .whatsapp-float {
    right: 12px
  }

  .booking-float {
    right: 70px;
    bottom: 14px
  }
}

@media(max-width:380px) {
  .inner-title-actions {
    grid-template-columns: 1fr
  }

  .booking-float>span:last-child {
    display: none
  }

  .booking-float {
    right: 66px;
    padding: 7px
  }

  .booking-float-icon {
    width: 36px;
    height: 36px
  }
}

@media(prefers-reduced-motion:reduce) {

  .float-ripple,
  .call-float i,
  .whatsapp-float i {
    animation: none !important
  }
}

/* Modern Book Taxi page and interactive fleet */
.taxi-title-hero {
  background-position: center 58% !important
}

.taxi-title-hero .inner-hero-overlay {
  background: linear-gradient(90deg, rgba(8, 42, 33, .88), rgba(8, 42, 33, .68) 48%, rgba(8, 42, 33, .38))
}

.taxi-modern-intro {
  overflow: hidden
}

.taxi-intro-shell {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  align-items: center;
  gap: 70px
}

.taxi-intro-copy h2 {
  font-size: clamp(2.5rem, 4vw, 4.4rem);
  margin: 14px 0 20px
}

.taxi-intro-copy>p {
  color: var(--muted);
  font-size: 1.04rem
}

.taxi-intro-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 26px
}

.taxi-intro-points span {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: .86rem;
  font-weight: 700
}

.taxi-intro-points i {
  color: var(--green);
  font-size: 1.05rem
}

.taxi-intro-visual {
  position: relative;
  min-height: 470px;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: var(--shadow)
}

.taxi-intro-visual>img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s ease
}

.taxi-intro-visual:hover>img {
  transform: scale(1.045)
}

.taxi-intro-visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 36, 28, .88), rgba(6, 36, 28, .05) 75%)
}

.taxi-visual-card {
  position: absolute;
  left: 38px;
  bottom: 38px;
  z-index: 2;
  max-width: 390px;
  color: #fff
}

.taxi-visual-card>span {
  color: var(--lime);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .72rem;
  font-weight: 800
}

.taxi-visual-card h3 {
  color: #fff;
  font-size: 2.25rem;
  margin: 10px 0 22px
}

.taxi-visual-badge {
  position: absolute;
  right: 24px;
  top: 24px;
  z-index: 3;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, .94);
  color: var(--green);
  box-shadow: 0 15px 35px rgba(0, 0, 0, .16);
  animation: taxiBadgeFloat 3s ease-in-out infinite
}

.taxi-visual-badge strong {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  line-height: 1
}

.taxi-visual-badge span {
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
  margin-top: 5px
}

@keyframes taxiBadgeFloat {
  50% {
    transform: translateY(-8px)
  }
}

.modern-fleet-catalogue {
  position: relative;
  overflow: hidden
}

.modern-fleet-catalogue:before {
  content: "";
  position: absolute;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(15, 77, 61, .09);
  border-radius: 50%;
  right: -180px;
  top: 80px
}

.fleet-search-panel {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr) auto;
  gap: 14px;
  align-items: end;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 18px 50px rgba(20, 57, 47, .09);
  margin-bottom: 22px
}

.fleet-search-panel label {
  display: block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 800;
  color: var(--green);
  margin: 0 0 8px 4px
}

.fleet-search-input {
  height: 52px;
  display: flex;
  align-items: center;
  border: 1px solid #dbe3df;
  border-radius: 15px;
  background: #fafbf9;
  overflow: hidden;
  transition: .25s
}

.fleet-search-input:focus-within {
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(15, 77, 61, .08);
  background: #fff
}

.fleet-search-input>i {
  margin-left: 16px;
  color: var(--green)
}

.fleet-search-input input {
  min-width: 0;
  flex: 1;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 0 12px;
  font-size: .88rem
}

.fleet-search-input button {
  height: 100%;
  border: 0;
  background: var(--green);
  color: #fff;
  padding: 0 20px;
  font-weight: 800;
  font-size: .82rem
}

.fleet-select-field select {
  width: 100%;
  height: 52px;
  border: 1px solid #dbe3df;
  border-radius: 15px;
  background: #fafbf9;
  padding: 0 38px 0 14px;
  color: var(--ink);
  font-size: .84rem;
  outline: none
}

.fleet-select-field select:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(15, 77, 61, .08)
}

.fleet-reset {
  height: 52px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--cream);
  color: var(--green);
  font-weight: 800;
  padding: 0 17px;
  white-space: nowrap
}

.fleet-reset:hover {
  background: var(--green);
  color: #fff
}

.fleet-category-chips {
  margin: 26px 0 18px
}

.fleet-results-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  color: var(--muted);
  font-size: .8rem;
  margin-bottom: 24px
}

.fleet-results-bar>span:first-child {
  font-weight: 800;
  color: var(--green);
  font-size: .9rem
}

.fleet-results-bar i {
  color: var(--green);
  margin-right: 5px
}

.modern-taxi-grid {
  gap: 22px
}

.modern-vehicle-card {
  position: relative;
  will-change: transform, opacity;
  transition: transform .35s ease, box-shadow .35s ease, opacity .25s ease, border-color .25s ease
}

.modern-vehicle-card.search-match {
  border-color: var(--lime);
  box-shadow: 0 0 0 4px rgba(205, 232, 75, .24), 0 22px 55px rgba(15, 77, 61, .15);
  animation: fleetMatchPulse 1.1s ease
}

.modern-vehicle-card.search-dim {
  opacity: .28;
  filter: saturate(.5)
}

@keyframes fleetMatchPulse {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-8px)
  }
}

.vehicle-availability {
  position: absolute;
  right: 13px;
  top: 13px;
  background: rgba(8, 42, 33, .88);
  color: #fff;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: .62rem;
  font-weight: 800
}

.vehicle-availability i {
  font-size: .45rem;
  color: var(--lime);
  margin-right: 4px
}

.vehicle-card-heading {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: flex-start
}

.vehicle-card-heading>span {
  font-family: 'Playfair Display', serif;
  color: #dfe7e3;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1
}

.vehicle-card-footer {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px
}

.vehicle-quick-view,
.vehicle-card-book {
  border: 0;
  background: none;
  font-size: .73rem;
  font-weight: 800
}

.vehicle-quick-view {
  color: var(--muted)
}

.vehicle-quick-view:hover {
  color: var(--green)
}

.vehicle-card-book {
  background: #0f4d3d;
  color: white;
}

.vehicle-card-book:hover {
  color: #bbd739
}

.fleet-empty-state {
  text-align: center;
  background: #fff;
  border: 1px dashed #bdcbc5;
  border-radius: 28px;
  padding: 60px 25px
}

.fleet-empty-state i {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  background: var(--cream);
  color: var(--green);
  display: grid;
  place-items: center;
  font-size: 1.8rem;
  margin: 0 auto 18px
}

.fleet-empty-state h3 {
  font-size: 1.7rem
}

.fleet-empty-state p {
  color: var(--muted)
}

@media(max-width:1399.98px) {
  .fleet-search-panel {
    grid-template-columns: 1.65fr repeat(3, 1fr) auto
  }

  .fleet-search-input button {
    padding: 0 14px
  }
}

@media(max-width:1199.98px) {
  .taxi-intro-shell {
    gap: 42px
  }

  .fleet-search-panel {
    grid-template-columns: 2fr 1fr 1fr
  }

  .fleet-search-main {
    grid-column: span 2
  }

  .fleet-reset {
    width: 100%
  }
}

@media(max-width:991.98px) {
  .taxi-intro-shell {
    grid-template-columns: 1fr
  }

  .taxi-intro-visual {
    min-height: 420px
  }

  .fleet-search-panel {
    grid-template-columns: 1fr 1fr
  }

  .fleet-search-main {
    grid-column: 1/-1
  }

  .fleet-reset {
    align-self: end
  }

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

@media(max-width:767.98px) {
  .taxi-title-hero {
    background-position: center !important
  }

  .taxi-intro-points {
    grid-template-columns: 1fr
  }

  .taxi-intro-visual {
    min-height: 390px;
    border-radius: 25px
  }

  .taxi-visual-card {
    left: 24px;
    right: 24px;
    bottom: 26px
  }

  .taxi-visual-card h3 {
    font-size: 1.9rem
  }

  .taxi-visual-badge {
    width: 88px;
    height: 88px;
    right: 16px;
    top: 16px
  }

  .fleet-search-panel {
    grid-template-columns: 1fr;
    padding: 17px;
    border-radius: 21px
  }

  .fleet-search-main {
    grid-column: auto
  }

  .fleet-search-input button {
    padding: 0 18px
  }

  .fleet-category-chips {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 8px
  }

  .fleet-category-chips button {
    white-space: nowrap
  }

  .fleet-results-bar {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px
  }

  .modern-taxi-grid {
    gap: 15px
  }

  .vehicle-card-footer {
    align-items: flex-start;
    flex-direction: column
  }

  .vehicle-card-book {
    padding: 0
  }
}

@media(max-width:575.98px) {
  .taxi-intro-copy h2 {
    font-size: 2.25rem
  }

  .taxi-intro-visual {
    min-height: 355px
  }

  .taxi-visual-card h3 {
    font-size: 1.65rem;
    max-width: 260px
  }

  .taxi-visual-card .btn {
    font-size: .75rem;
    padding: 10px 14px
  }

  .modern-taxi-grid {
    grid-template-columns: 1fr
  }

  .modern-vehicle-card .taxi-vehicle-image {
    height: 235px
  }

  .fleet-search-input button {
    font-size: 0;
    width: 50px;
    padding: 0
  }

  .fleet-search-input button:after {
    content: "\f002";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: .9rem
  }

  .fleet-search-panel label {
    font-size: .68rem
  }
}

@media(prefers-reduced-motion:reduce) {

  .taxi-visual-badge,
  .modern-vehicle-card.search-match {
    animation: none !important
  }
}

/* Dedicated Special Packages page */
.special-title-hero {
  background-position: center 48% !important
}

.special-title-hero .inner-hero-overlay {
  background: linear-gradient(90deg, rgba(7, 39, 31, .9), rgba(7, 39, 31, .64), rgba(7, 39, 31, .35))
}

.special-page-intro h2 {
  font-size: clamp(2.5rem, 4vw, 4.3rem);
  margin: 14px 0 20px
}

.special-page-intro p {
  color: var(--muted)
}

.special-page-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 230px 230px;
  gap: 14px;
  position: relative
}

.special-page-collage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 25px
}

.special-page-collage img:first-child {
  grid-row: 1/3
}

.special-page-collage>span {
  position: absolute;
  right: 20px;
  bottom: 20px;
  background: rgba(15, 77, 61, .94);
  color: #dce9e4;
  padding: 16px 20px;
  border-radius: 16px;
  font-size: .75rem;
  box-shadow: var(--shadow)
}

.special-page-collage>span strong {
  display: block;
  color: var(--lime);
  font-size: .92rem;
  margin-bottom: 3px
}

.special-detail-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 32px;
  overflow: hidden;
  margin-bottom: 34px;
  box-shadow: 0 18px 55px rgba(15, 77, 61, .08)
}

.special-detail-reverse {
  grid-template-columns: 1.1fr .9fr
}

.special-detail-reverse .special-detail-image {
  order: 2
}

.special-detail-image {
  position: relative;
  min-height: 540px;
  overflow: hidden
}

.special-detail-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease
}

.special-detail-card:hover .special-detail-image img {
  transform: scale(1.04)
}

.special-detail-image:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(7, 39, 31, .52))
}

.special-detail-image>span {
  position: absolute;
  z-index: 2;
  left: 24px;
  bottom: 20px;
  color: #fff;
  font-family: 'Playfair Display', serif;
  font-size: 4rem;
  font-weight: 700;
  opacity: .8
}

.special-detail-content {
  padding: 52px
}

.special-detail-content h2 {
  font-size: clamp(2.25rem, 3vw, 3.5rem);
  margin: 12px 0 16px
}

.special-detail-content>p {
  color: var(--muted)
}

.special-package-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 24px 0
}

.special-package-meta>span,
.special-route {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--cream);
  border-radius: 16px;
  padding: 14px
}

.special-package-meta i,
.special-route>i {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--green);
  color: var(--lime);
  display: grid;
  place-items: center
}

.special-package-meta small,
.special-route small {
  display: block;
  color: var(--muted);
  font-size: .66rem;
  text-transform: uppercase;
  letter-spacing: .08em
}

.special-package-meta strong {
  font-size: .88rem
}

.special-route {
  margin-bottom: 24px
}

.special-route span {
  font-size: .85rem;
  font-weight: 700
}

.special-detail-content h3 {
  font-size: 1.25rem;
  margin-bottom: 14px
}

.special-highlights {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px
}

.special-highlights span {
  font-size: .82rem;
  font-weight: 700
}

.special-highlights i {
  color: var(--green);
  margin-right: 7px
}

@media(max-width:991.98px) {

  .special-detail-card,
  .special-detail-reverse {
    grid-template-columns: 1fr
  }

  .special-detail-reverse .special-detail-image {
    order: 0
  }

  .special-detail-image {
    min-height: 400px
  }

  .special-detail-content {
    padding: 38px
  }
}

@media(max-width:767.98px) {
  .special-page-collage {
    grid-template-rows: 180px 180px
  }

  .special-detail-image {
    min-height: 330px
  }

  .special-detail-content {
    padding: 28px 22px
  }

  .special-package-meta,
  .special-highlights {
    grid-template-columns: 1fr
  }
}

@media(max-width:575.98px) {
  .special-page-collage {
    grid-template-columns: 1fr;
    grid-template-rows: 240px 170px
  }

  .special-page-collage img:first-child {
    grid-row: auto
  }

  .special-page-collage img:nth-child(3) {
    display: none
  }

  .special-page-collage>span {
    right: 12px;
    bottom: 12px
  }

  .special-detail-image {
    min-height: 280px
  }

  .special-detail-image>span {
    font-size: 3rem
  }
}

/* 2026 compact enquiry modal and unified modern inner-page title banner */
.instant-booking-modal .modal-dialog {
  max-width: 510px;
  padding: 12px
}

.instant-booking-modal .modal-content {
  border-radius: 26px;
  background: linear-gradient(145deg, #fff, #fbfcfa)
}

.instant-modal-header {
  padding: 24px 26px 12px;
  border-bottom: 1px solid rgba(15, 77, 61, .08)
}

.instant-modal-header h2 {
  font-size: 1.75rem;
  margin-bottom: 5px
}

.instant-modal-header p {
  font-size: .82rem;
  margin-bottom: 8px
}

.instant-trust-points {
  font-size: .64rem
}

.instant-booking-modal .modal-body {
  padding: 18px 26px 24px
}

.instant-booking-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px
}

.instant-booking-grid .instant-full {
  grid-column: 1/-1
}

.instant-field .form-control,
.instant-field .form-select {
  min-height: 46px;
  border-radius: 12px;
  padding-left: 40px;
  font-size: .84rem;
  background: #fff
}

.instant-field>i {
  left: 14px
}

.instant-field textarea.form-control {
  min-height: 62px;
  padding-top: 12px
}

.instant-submit {
  min-height: 48px;
  margin-top: 0
}

.inner-page .inner-hero.inner-title-hero {
  min-height: 270px;
  padding: 60px 0 48px;
  background-image: url('../assets/images/hero/hero.jpg') !important;
  background-position: center 50% !important;
  isolation: isolate
}

.inner-page .inner-title-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(5, 38, 29, .94) 0%, rgba(7, 52, 40, .82) 43%, rgba(7, 52, 40, .42) 72%, rgba(7, 52, 40, .22) 100%);
  z-index: 0
}

.inner-page .inner-title-hero:after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(205, 232, 75, .22);
  border-radius: 50%;
  right: 7%;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 0 0 75px rgba(255, 255, 255, .035), 0 0 0 150px rgba(255, 255, 255, .018);
  z-index: 0
}

.inner-page .inner-title-hero .inner-hero-overlay {
  background: linear-gradient(180deg, rgba(2, 18, 14, .12), rgba(2, 18, 14, .3));
  z-index: 0
}

.inner-page .inner-title-content {
  max-width: 820px;
  padding: 12px 32px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .045));
  backdrop-filter: blur(10px);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .18)
}

.inner-page .inner-title-content h1 {
  color: #fff;
  font-size: clamp(2.7rem, 5vw, 2.9rem);
  line-height: 1.02;
  letter-spacing: -.035em;
  margin: 0
}

.inner-page .inner-breadcrumb {
  color: rgba(255, 255, 255, .74);
  margin-bottom: 14px
}

.inner-page .inner-breadcrumb a {
  color: #fff
}

.inner-page .inner-title-icon {
  position: absolute;
  right: 28px;
  top: 28px;
  margin: 0;
  background: var(--lime);
  color: var(--green);
  border: 0
}

.inner-page .inner-title-actions {
  margin-top: 20px
}

.inner-page .inner-title-actions .btn-hero-outline {
  border-color: rgba(255, 255, 255, .62);
  color: #fff
}

.inner-page .inner-title-actions .btn-hero-outline:hover {
  background: #fff;
  color: var(--green)
}

@media(max-width:991.98px) {
  .inner-page .inner-hero.inner-title-hero {
    min-height: 340px;
    padding: 122px 0 40px
  }

  .inner-page .inner-title-hero:after {
    width: 300px;
    height: 300px;
    right: -80px
  }

  .inner-page .inner-title-content {
    max-width: 720px
  }
}

@media(max-width:767.98px) {
  .instant-booking-modal .modal-dialog {
    margin: 8px;
    max-width: none;
    padding: 0
  }

  .instant-modal-header {
    padding: 20px 18px 10px
  }

  .instant-booking-modal .modal-body {
    padding: 14px 18px 18px
  }

  .instant-booking-grid {
    grid-template-columns: 1fr
  }

  .instant-booking-grid .instant-full {
    grid-column: auto
  }

  .instant-modal-header h2 {
    font-size: 1.18rem
  }

  .instant-trust-points span:nth-child(3) {
    display: none
  }

  .inner-page .inner-hero.inner-title-hero {
    min-height: 315px;
    padding: 106px 0 30px
  }

  .inner-page .inner-title-content {
    padding: 24px 20px;
    border-radius: 20px
  }

  .inner-page .inner-title-content h1 {
    font-size: clamp(2.2rem, 10vw, 3.2rem);
    padding-right: 50px
  }

  .inner-page .inner-title-icon {
    width: 44px;
    height: 44px;
    right: 18px;
    top: 20px
  }

  .inner-page .inner-title-actions {
    display: flex;
    flex-wrap: wrap
  }

  .inner-page .inner-title-actions .btn {
    width: auto;
    flex: 1 1 180px
  }

  .inner-page .inner-title-hero:after {
    display: none
  }
}

@media(max-width:420px) {

  .instant-modal-kicker,
  .instant-modal-header p {
    display: none
  }

  .instant-modal-header {
    padding-top: 18px
  }

  .instant-trust-points {
    margin-top: 8px
  }

  .instant-field .form-control,
  .instant-field .form-select {
    min-height: 43px
  }

  .inner-page .inner-title-actions {
    display: grid;
    grid-template-columns: 1fr
  }

  .inner-page .inner-title-actions .btn {
    width: 100%
  }
}

/* Requested final refinements */
.contact-card-link {
  color: inherit;
  text-decoration: none;
  font-weight: 700
}

.contact-card-link:hover {
  color: var(--primary-color)
}

.contact-address-line {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-top: 18px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .1)
}

.contact-address-line i {
  margin-top: 4px
}

.contact-address-line small {
  display: block;
  opacity: .75;
  margin-bottom: 2px
}

.contact-map-wrap {
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 20px 60px rgba(12, 45, 36, .12);
  min-height: 420px
}

.contact-map-wrap iframe {
  width: 100%;
  height: 420px;
  border: 0;
  display: block
}

.modern-vehicle-card .taxi-vehicle-content {
  text-align: center
}

.modern-vehicle-card .vehicle-card-heading {
  justify-content: center;
  position: relative
}

.modern-vehicle-card .vehicle-card-heading>span {
  position: absolute;
  right: 0
}

.modern-vehicle-card .taxi-vehicle-meta {
  justify-content: center
}

.modern-vehicle-card .vehicle-card-footer {
  justify-content: center
}

.modern-vehicle-card .vehicle-card-book {
  max-width: 230px;
  border-radius: 999px
}

.package-directory-centered {
  text-align: center;
  display: block !important
}

.package-directory-centered>div:first-child {
  max-width: 760px;
  margin: 0 auto 24px
}

.package-directory-centered .package-directory-links {
  justify-content: center
}

.special-package-content h3 a,
.destination-card-link {
  color: inherit;
  text-decoration: none
}

.special-package-content h3 a:hover,
.destination-card-link:hover {
  color: var(--primary-color)
}

.fleet-actions {
  justify-content: center
}

.fleet-actions .book-vehicle {
  min-width: 150px
}

@media(max-width:767.98px) {

  .contact-map-wrap,
  .contact-map-wrap iframe {
    height: 320px;
    min-height: 320px
  }


 .inner-title-actions a,  .inner-title-actions button{
         opacity: 3.0498 !important;
         transform: none !important;
 }











  .package-directory-centered .package-directory-links {
    display: flex;
    justify-content: center
  }

  .modern-vehicle-card .vehicle-card-heading>span {
    position: static;
    margin-left: 8px
  }
      .inner-page .inner-title-actions .btn {
        width: max-content;
    }
        .inner-page .inner-title-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
        .inner-page .inner-title-content h1 {
        font-size: clamp(2.2rem, 3vw, 3.0rem);
        padding-right: 50px;
    }
       .inner-process-card{
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .inner-process-card span{
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 15px;
    }

    .inner-process-card h3,
    .inner-process-card p{
        text-align: center;
    }
    .inner-page .detail-panel h2 {
    font-size: clamp(1.6rem, 2.7vw, 2.8rem);
    margin: 10px 0 22px;
}
.inner-page .section-heading h2 {
    font-size: clamp(1.6rem, 3.3vw, 2.35rem);
}
.inner-page .inner-feature-card h3 {
    font-size: 1.4rem;
}

.package-directory h2 {
    font-size: 1.65rem;
    margin: 8px 0;
}

.inner-page .package-detail-content h2 {
    font-size: clamp(1.5rem, 2.8vw, 2.9rem);
}

    .inner-page .inner-title-content h1 {
        font-size: clamp(1.5rem, 3vw, 3.0rem);
        padding-right: 50px;
    }
    
    .inner-page .service-detail-section h2 {
    font-size: clamp(1.6rem, 3vw, 3.15rem);
}
}


@media (max-width: 768px){

    .package-directory-links{
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

      .package-directory-links a {
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        text-align: center !important;
        justify-content: center !important;
        align-items: center !important;
        display: flex !important;
        font-size: 11px !important;
        padding: 12px 7px !important;
        line-height: 1.4 !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
    }

    .package-directory-links a i{
        flex-shrink: 0 !important;
    }
.inner-page .service-directory, .inner-page .package-directory {
    padding: 19px 0px;
    border-radius: 22px;
}
}



@media (max-width: 768px){

    .service-directory-links{
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .service-directory-links a{
        display: flex !important;
        align-items: center !important;
       
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 12px 10px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
       
        white-space: normal !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
    }

    .service-directory-links a i{
        flex-shrink: 0 !important;
        font-size: 14px !important;
    }

}



/* Package grid and detailed itinerary pages */
.package-grid-intro{padding-bottom:28px}
.package-filter-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;padding:16px 18px;background:#fff;border:1px solid rgba(15,77,61,.12);border-radius:18px;box-shadow:0 12px 35px rgba(22,49,41,.07)}
.package-search-box{position:relative;flex:1;max-width:520px}
.package-search-box i{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#17664f}
.package-search-box input{width:100%;height:48px;border:1px solid #dfe7e3;border-radius:13px;padding:0 18px 0 46px;font:inherit;outline:none}
.package-search-box input:focus{border-color:#17664f;box-shadow:0 0 0 4px rgba(23,102,79,.08)}
.package-filter-row>span{font-size:.92rem;color:#60706b;font-weight:700}
.package-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.package-image-grid-special{max-width:1180px;margin:auto}
.package-image-card{background:#fff;border:1px solid rgba(15,77,61,.12);border-radius:26px;overflow:hidden;box-shadow:0 16px 44px rgba(22,49,41,.08);transition:transform .35s ease,box-shadow .35s ease}
.package-image-card:hover{transform:translateY(-8px);box-shadow:0 24px 58px rgba(22,49,41,.14)}
.package-image-card[hidden]{display:none!important}
.package-image-card-media{position:relative;display:block;height:285px;overflow:hidden}
.package-image-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,34,27,.48),transparent 48%)}
.package-image-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.package-image-card:hover .package-image-card-media img{transform:scale(1.06)}
.package-image-card-theme{position:absolute;z-index:2;left:18px;top:18px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.92);color:#17664f;font-size:.78rem;font-weight:800}
.package-image-card-index{position:absolute;z-index:2;right:18px;bottom:12px;color:rgba(255,255,255,.92);font-family:"Playfair Display",serif;font-size:2.2rem;font-weight:700}
.package-image-card-body{padding:24px}
.package-image-card-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.86rem;color:#65726e}
.package-image-card-meta span{display:flex;align-items:center;gap:7px}
.package-image-card-meta strong{color:#17664f;font-size:1rem}
.package-image-card h2{font-size:1.55rem;line-height:1.2;margin:15px 0 10px}
.package-image-card h2 a{color:#11241e;text-decoration:none}
.package-image-card p{font-size:.95rem;line-height:1.7;color:#6a7772;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.package-image-card-route{display:flex;gap:10px;align-items:flex-start;padding:13px 0 18px;border-top:1px solid #edf1ef;color:#52645e;font-size:.86rem}
.package-image-card-route i{color:#17664f;margin-top:3px}
.package-read-more{width:100%;justify-content:center}
.package-empty-state{text-align:center;padding:55px;border:1px dashed #bfd0ca;border-radius:24px;background:#f7faf8}
.package-empty-state i{font-size:2rem;color:#17664f}

.package-overview-section{background:#fbfaf5}
.package-overview-card{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);background:#fff;border:1px solid rgba(15,77,61,.12);border-radius:30px;overflow:hidden;box-shadow:0 22px 65px rgba(22,49,41,.10)}
.package-overview-image{position:relative;min-height:570px}
.package-overview-image img{width:100%;height:100%;object-fit:cover}
.package-overview-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,34,27,.45),transparent 55%)}
.package-overview-image>span{position:absolute;z-index:2;left:24px;top:24px;padding:10px 15px;background:#fff;border-radius:999px;color:#17664f;font-size:.82rem;font-weight:800}
.package-overview-content{padding:48px}
.package-overview-content h2{font-size:clamp(2.2rem,4vw,2.5rem);margin:10px 0 16px}
.package-overview-content>p{font-size:1.05rem;line-height:1.85;color:#68766f}
.package-overview-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0}
.package-overview-meta>div{padding:17px 18px;background:#f6f4ed;border:1px solid #e0ded4;border-radius:16px}
.package-overview-meta .wide{grid-column:1/-1}
.package-overview-meta small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#748079;font-size:.7rem;font-weight:800;margin-bottom:8px}
.package-overview-meta strong{display:flex;align-items:center;gap:9px;color:#173c31}
.package-overview-content h3{font-size:1.3rem;margin-bottom:15px}
.package-highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.package-highlight-grid span{display:flex;gap:9px;align-items:flex-start;font-size:.93rem;font-weight:600}
.package-highlight-grid i{color:#17664f;margin-top:2px}

.itinerary-section{background:#f4f6f2}
.itinerary-timeline{position:relative;max-width:970px;margin:45px auto 0}
.itinerary-timeline:before{content:"";position:absolute;left:52px;top:0;bottom:0;width:2px;background:linear-gradient(#cfe937,#17664f)}
.itinerary-day{position:relative;display:grid;grid-template-columns:106px 1fr;gap:28px;margin-bottom:25px}
.itinerary-day-number{position:relative;z-index:2;width:82px;height:82px;border-radius:24px;background:#17664f;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(23,102,79,.24)}
.itinerary-day-number span{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em}
.itinerary-day-number strong{font-size:1.7rem;line-height:1}
.itinerary-day-body{background:#fff;border:1px solid rgba(15,77,61,.11);border-radius:22px;padding:27px 30px;box-shadow:0 12px 35px rgba(22,49,41,.06)}
.itinerary-place{display:inline-block;color:#17664f;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem}
.itinerary-day-body h3{font-size:1.55rem;margin:6px 0 10px}
.itinerary-day-body p{color:#64716c;line-height:1.8;margin-bottom:16px}
.itinerary-suggestion{display:flex;gap:11px;padding:13px 15px;background:#f7f8ee;border-radius:13px;color:#53605b;font-size:.9rem}
.itinerary-suggestion i{color:#8da500;font-size:1.05rem;margin-top:2px}
.recommendation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.recommendation-grid>div{display:flex;align-items:center;gap:15px;padding:16px 18px;border:1px solid rgba(15,77,61,.12);border-radius:15px;background:#fff}
.recommendation-grid span{color:#b2c52d;font-family:"Playfair Display",serif;font-size:1.25rem;font-weight:700}
.recommendation-grid strong{font-size:.95rem}

@media(max-width:1199.98px){
 .package-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .package-overview-content{padding:38px}
}
@media(max-width:991.98px){
 .package-overview-card{grid-template-columns:1fr}
 .package-overview-image{min-height:420px}
}
@media(max-width:767.98px){
 .package-filter-row{align-items:stretch;flex-direction:column}
 .package-search-box{max-width:none}
 .package-image-grid{grid-template-columns:1fr;gap:20px}
 .package-image-card-media{height:245px}
 .package-overview-content{padding:26px 22px}
 .package-overview-image{min-height:320px}
 .package-overview-meta,.package-highlight-grid{grid-template-columns:1fr}
 .package-overview-meta .wide{grid-column:auto}
 .itinerary-timeline:before{left:34px}
 .itinerary-day{grid-template-columns:70px 1fr;gap:14px}
 .itinerary-day-number{width:68px;height:68px;border-radius:19px}
 .itinerary-day-body{padding:22px 18px}
 .recommendation-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
 .itinerary-timeline:before{display:none}
 .itinerary-day{grid-template-columns:1fr}
 .itinerary-day-number{width:64px;height:64px}
 .package-image-card-body{padding:20px}
}


/* =====================================================
   INDIVIDUAL SERVICE DETAIL PAGES
===================================================== */
.service-page-hero .inner-title-content{max-width:860px}.service-hero-summary{max-width:760px;color:rgba(255,255,255,.88);font-size:18px;line-height:1.75;margin:16px 0 0}.service-page-main{background:linear-gradient(180deg,#f6faf8 0,#fff 420px)}.service-content-card{background:#fff;border:1px solid #e5eee9;border-radius:26px;padding:24px;box-shadow:0 18px 55px rgba(20,66,50,.08);margin-bottom:42px}.service-feature-image{height:390px;border-radius:20px;overflow:hidden;position:relative;margin-bottom:30px}.service-feature-image img{width:100%;height:100%;object-fit:cover}.service-image-badge{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);padding:10px 15px;border-radius:50px;color:#185c45;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.16)}.service-image-badge i{width:34px;height:34px;display:grid;place-items:center;background:#e6f4ed;border-radius:50%}.service-content-card h2,.service-info-section h2,.service-process-block h2,.service-faq-block h2{font-size:clamp(28px,3vw,42px);margin-bottom:16px;color:#17382e}.service-content-card p{font-size:16px;line-height:1.85;color:#5e6e68}.service-info-section,.service-process-block,.service-faq-block{margin-bottom:44px}.service-feature-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-feature-cards article{display:flex;gap:16px;background:#fff;border:1px solid #e2ece7;padding:22px;border-radius:18px;box-shadow:0 10px 28px rgba(20,66,50,.06)}.service-feature-cards article>i{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:14px;background:#e7f5ee;color:#1f7659;font-size:20px}.service-feature-cards h3{font-size:18px;margin:0 0 7px}.service-feature-cards p{margin:0;color:#697771;line-height:1.65}.service-two-column-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:44px}.service-list-box{background:#174f3e;color:#fff;padding:30px;border-radius:22px}.service-list-box.soft{background:#eef7f2;color:#17382e}.list-box-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.14);font-size:22px;margin-bottom:18px}.service-list-box.soft .list-box-icon{background:#dcede4}.service-list-box h3{font-size:24px;margin-bottom:18px}.service-list-box ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.service-list-box li{display:flex;gap:10px;line-height:1.5}.service-process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-process-grid article{background:#fff;border:1px solid #e2ece7;border-radius:18px;padding:24px}.service-process-grid article>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f39a34;color:#fff;font-weight:800;margin-bottom:16px}.service-process-grid h3{font-size:19px}.service-process-grid p{margin:0;color:#697771}.service-faq-block .accordion-item{border:1px solid #e1ebe6;border-radius:14px!important;overflow:hidden;margin-bottom:12px}.service-faq-block .accordion-button{font-weight:700;color:#17382e;padding:19px 20px}.service-faq-block .accordion-button:not(.collapsed){background:#edf7f2;color:#1b6a50;box-shadow:none}.service-sidebar-sticky{position:sticky;top:110px}.service-enquiry-card,.all-services-card{background:#fff;border:1px solid #e1ebe6;border-radius:24px;padding:26px;box-shadow:0 16px 45px rgba(19,62,47,.09)}.service-enquiry-card{margin-bottom:22px}.sidebar-kicker{display:inline-block;color:#ef8e24;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:7px}.service-enquiry-card h3{font-size:27px;color:#17382e;margin-bottom:8px}.service-enquiry-card>p{color:#697771;line-height:1.6}.service-enquiry-form{display:grid;gap:14px;margin-top:20px}.service-enquiry-form label{display:block;font-size:13px;font-weight:700;color:#344b43;margin-bottom:6px}.service-enquiry-form input,.service-enquiry-form textarea{width:100%;border:1px solid #dce7e1;background:#f8fbf9;border-radius:11px;padding:12px 13px;outline:0}.service-enquiry-form input:focus,.service-enquiry-form textarea:focus{border-color:#26785b;background:#fff;box-shadow:0 0 0 3px rgba(38,120,91,.09)}.form-row-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar-contact-strip{display:grid;gap:10px;margin-top:18px}.sidebar-contact-strip a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:13px;background:#f0f7f3;color:#17382e}.sidebar-contact-strip a>i{width:38px;height:38px;display:grid;place-items:center;background:#1f6b51;color:#fff;border-radius:50%}.sidebar-contact-strip small,.sidebar-contact-strip strong{display:block}.sidebar-contact-strip small{font-size:11px;color:#728179}.all-services-card h4{font-size:22px;color:#17382e;margin-bottom:14px}.all-services-card nav{display:grid}.all-services-card nav a{display:grid;grid-template-columns:34px 1fr 16px;align-items:center;gap:9px;padding:11px 8px;border-bottom:1px solid #edf2ef;color:#4f6159;font-size:14px}.all-services-card nav a>i:first-child{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#edf7f2;color:#217256}.all-services-card nav a.active{color:#176149;font-weight:800}.all-services-card nav a.active>i:first-child{background:#176149;color:#fff}
@media(max-width:991.98px){.service-sidebar-sticky{position:static}.service-feature-image{height:320px}.service-feature-cards,.service-two-column-info,.service-process-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.service-content-card{padding:16px;border-radius:18px}.service-feature-image{height:230px;border-radius:14px}.service-feature-cards,.service-two-column-info,.service-process-grid{grid-template-columns:1fr}.form-row-two{grid-template-columns:1fr}.service-enquiry-card,.all-services-card{padding:20px;border-radius:18px}.service-hero-summary{font-size:16px}}

/* =====================================================
   SERVICES PAGE - IMAGE GRID
===================================================== */
.services-grid-section {
    background: #f7faf8;
}

.services-grid-section .section-heading {
    max-width: 760px;
    margin-bottom: 42px;
}

.all-services-image-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.all-service-card {
    min-width: 0;
    height: 100%;
    background: #fff;
    border: 1px solid rgba(25, 92, 70, .12);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(21, 63, 50, .08);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.all-service-card:hover {
    transform: translateY(-8px);
    border-color: rgba(25, 92, 70, .32);
    box-shadow: 0 22px 48px rgba(21, 63, 50, .15);
}

.all-service-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.all-service-card-image {
    position: relative;
    height: 245px;
    overflow: hidden;
    background: #dfeae5;
}

.all-service-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}

.all-service-card:hover .all-service-card-image img {
    transform: scale(1.07);
}

.all-service-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 35, 27, .02) 30%, rgba(7, 35, 27, .7) 100%);
}

.all-service-card-number {
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    min-width: 44px;
    height: 34px;
    padding: 0 10px;
    border-radius: 50px;
    background: rgba(255, 255, 255, .92);
    color: #195c46;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
}

.all-service-card-icon {
    position: absolute;
    left: 20px;
    bottom: 18px;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: #fff;
    color: #1c7255;
    font-size: 21px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}

.all-service-card-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px 24px 25px;
}

.all-service-card-content h3 {
    margin: 0 0 10px;
    color: #18382e;
    font-size: 21px;
    line-height: 1.3;
}

.all-service-card-content p {
    margin: 0 0 20px;
    color: #66756f;
    font-size: 14px;
    line-height: 1.75;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.all-service-card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid #edf2ef;
    color: #1c7255;
    font-size: 14px;
    font-weight: 750;
}

.all-service-card-action i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #edf7f2;
    transition: transform .3s ease, background .3s ease, color .3s ease;
}

.all-service-card:hover .all-service-card-action i {
    transform: rotate(45deg);
    background: #1c7255;
    color: #fff;
}

.services-help-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    padding: 38px 42px;
    border-radius: 26px;
    background: linear-gradient(135deg, #173f33, #1f7056);
    color: #fff;
    box-shadow: 0 20px 55px rgba(20, 74, 56, .2);
}

.services-help-icon {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: rgba(255, 255, 255, .13);
    font-size: 30px;
}

.services-help-inner .eyebrow { color: #f5b541; }
.services-help-inner h2 { margin: 3px 0 8px; color: #fff; font-size: 29px; }
.services-help-inner p { margin: 0; color: rgba(255, 255, 255, .78); }

@media (max-width: 1199.98px) {
    .all-services-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .all-services-image-grid { grid-template-columns: 1fr; gap: 20px; }
    .all-service-card-image { height: 220px; }
    .services-help-inner { grid-template-columns: 1fr; padding: 30px 24px; text-align: center; }
    .services-help-icon { margin: 0 auto; }
    .services-help-inner .btn { width: 100%; }
}

/* Service-specific enquiry fields: Flight Booking and Hotel Booking */
.service-enquiry-form select{width:100%;border:1px solid #dce7e1;background:#f8fbf9;border-radius:11px;padding:12px 38px 12px 13px;outline:0;color:#344b43;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#26785b 50%),linear-gradient(135deg,#26785b 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.service-enquiry-form select:focus{border-color:#26785b;background-color:#fff;box-shadow:0 0 0 3px rgba(38,120,91,.09)}.service-special-fields{display:grid;gap:14px;padding:15px;border:1px solid #dfece5;border-radius:15px;background:linear-gradient(145deg,#f3faf6,#fff)}.special-fields-title{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:800;color:#175f49}.special-fields-title i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#dff1e8;color:#176149;font-size:17px}.option-radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.option-radio{position:relative;margin:0!important;cursor:pointer}.option-radio input{position:absolute;opacity:0;pointer-events:none}.option-radio span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 10px;border:1px solid #d7e6de;border-radius:10px;background:#fff;color:#4a5e55;font-size:13px;font-weight:700;transition:.25s ease}.option-radio input:checked+span{border-color:#1f7054;background:#1f7054;color:#fff;box-shadow:0 7px 18px rgba(31,112,84,.18)}.option-radio input:focus-visible+span{outline:3px solid rgba(38,120,91,.18);outline-offset:2px}@media(max-width:420px){.option-radio-grid{grid-template-columns:1fr}.form-row-two{grid-template-columns:1fr}}

/* Trekking page - scoped styles */
.trekking-page .trekking-hero .inner-hero-overlay {
  background: linear-gradient(90deg, rgba(7, 34, 27, .88) 0%, rgba(8, 43, 33, .74) 47%, rgba(8, 35, 28, .34) 100%)
}

.trekking-page .trekking-hero .inner-title-content {
  max-width: 920px
}

.trekking-page .trekking-hero .inner-breadcrumb,
.trekking-page .trekking-hero .inner-breadcrumb a,
.trekking-page .trekking-hero h1,
.trekking-page .trekking-hero-copy {
  color: #fff
}

.trekking-page .trekking-hero .inner-breadcrumb i,
.trekking-page .trekking-hero .inner-title-icon {
  color: var(--lime)
}

.trekking-page .trekking-hero-copy {
  max-width: 780px;
  margin: 0 0 30px;
  font-size: 1.08rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, .82)
}

.trekking-intro {
  padding-bottom: 42px
}

.trekking-intro .section-heading {
  max-width: 820px;
  margin-inline: auto
}

.trekking-intro .section-heading p {
  max-width: 760px;
  margin-inline: auto
}

.trek-route-section {
  padding: 30px 0;
  position: relative;
  overflow: hidden
}

.trek-route-section+.trek-route-section {
  border-top: 1px solid rgba(15, 77, 61, .08)
}

.trek-route-alt {
  background: linear-gradient(135deg, #f5f8f4 0%, #fbfaf5 100%)
}

.trek-route-image {
  position: relative;
  min-height: 470px;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(15, 77, 61, .16)
}

.trek-route-image:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 31, 24, 0) 48%, rgba(5, 31, 24, .42) 100%);
  pointer-events: none
}

.trek-route-image img {
  width: 100%;
  height: 470px;
  object-fit: cover;
  transition: transform .7s ease
}

.trek-route-section:hover .trek-route-image img {
  transform: scale(1.035)
}

.trek-route-number {
  position: absolute;
  z-index: 2;
  left: 24px;
  bottom: 24px;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(255, 255, 255, .94);
  color: var(--green);
  font-family: 'Playfair Display', serif;
  font-size: 1.45rem;
  font-weight: 700;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .16)
}

.trek-route-content {
  max-width: 620px
}

.trek-route-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(15, 77, 61, .08);
  color: var(--green);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase
}

.trek-route-kicker i {
  color: #e6a522
}

.trek-route-content h2 {
  margin-bottom: 20px;
  font-size: clamp(2.25rem, 4vw, 2.65rem);
  line-height: 1.08
}

.trek-route-content p {
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.82
}

.trek-highlight-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px 18px;
  margin: 28px 0 30px
}

.trek-highlight-grid span {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #344d44;
  font-size: .93rem;
  font-weight: 650
}

.trek-highlight-grid i {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--green)
}

.trekking-cta {
  margin-top: 35px
}

@media (max-width: 991.98px) {
  .trek-route-section {
    padding: 56px 0
  }

  .trek-route-image,
  .trek-route-image img {
    min-height: 390px;
    height: 390px
  }

  .trek-route-content {
    max-width: none
  }
}

@media (max-width: 575.98px) {
  .trekking-page .trekking-hero-copy {
    font-size: .98rem
  }

  .trek-route-section {
    padding: 42px 0
  }

  .trek-route-image,
  .trek-route-image img {
    min-height: 300px;
    height: 300px;
    border-radius: 24px
  }

  .trek-route-number {
    left: 18px;
    bottom: 18px;
    width: 52px;
    height: 52px;
    border-radius: 15px;
    font-size: 1.2rem
  }

  .trek-route-content h2 {
    font-size: 2rem
  }

  .trek-highlight-grid {
    grid-template-columns: 1fr;
    gap: 11px
  }
}
