* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  overscroll-behavior: contain;
}
:root {
  --primary-color: #f07c00;
  --secondary-color: #09246e;
  --lightblue: #F4F7FE;
  --lightorange: #FFF1E2;
  --white: #ffffff;
  --black: #000000;
  --black99: #00000099;
  --red: #de1c1c;
  --SourceSans: "Source Sans 3", sans-serif;
  --PlayfairDisplay: "Playfair Display";
  --font-source-sans-pro: "Source Sans Pro", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
/* ===============================
   Source Sans Pro Font
   =============================== */
@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/source-sans-pro/SourceSansPro-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/source-sans-pro/SourceSansPro-Semibold.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/source-sans-pro/SourceSansPro-Bold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/source-sans-pro/SourceSansPro-Black.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* ===============================
Common Styles
================================ */
a {
  margin-bottom: 0;
  text-decoration: none;
  font-family: var(--SourceSans);
  font-weight: 400;
}
button {
  font-family: var(--font-source-sans-pro);
  font-weight: 500;
}
p {
  font-size: 1.04rem;
  font-family: var(--SourceSans);
  font-weight: 400 !important;
}
li {
  font-family: var(--SourceSans);
  font-weight: 400;
}
.title-section {
  text-align: center;
  padding: 0 20px 40px;
  overflow: hidden;
}

.title-section .subtitle {
  display: block;
  font-size: 1.1rem;
  font-weight: 500;
  font-family: var(--SourceSans);
  line-height: 2rem;
  letter-spacing: 7px;
  color: #979797;
  text-transform: uppercase;
}

.title-section .maintitle {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--PlayfairDisplay);
  color: #09246e;
  font-size: clamp(1.5rem, 4vw, 2.8rem);
  font-weight: 500;
  line-height: normal;
  letter-spacing: 2px;
  text-transform: capitalize;
  margin: 0;
  white-space: nowrap;
}

.white-texted .subtitle,
.white-texted .maintitle {
  color: var(--white);
}

.title-section .maintitle::before,
.title-section .maintitle::after {
  content: "";
  height: 1px;
  background-color: #106096;
  flex-grow: 1;
  display: block;
}

.white-texted .maintitle::before,
.white-texted .maintitle::after {
  background-color: #ffffff70;
}

.title-section .maintitle::before {
  margin-right: 15px;
}

.title-section .maintitle::after {
  margin-left: 15px;
}

.main-btn .fa-plane {
  transform: rotate(-45deg) translateX(0px);
  transition: all 0.4s ease-in-out;
}
.main-btn .plane-icon:hover .fa-plane {
  transform: rotate(-45deg) translateX(4px);
}

.default-button,
.white-button {
  background-color: var(--primary-color);
  color: var(--white);
  border: none;
  padding: 12px 24px;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.3s;
  white-space: nowrap;
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: capitalize;
}
.white-button {
  background-color: var(--white);
  color: var(--primary-color);
}
/* ===============================
   Common Video CSS
================================ */
.video-bg-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.custom-video-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity 1s ease;
}

.custom-video-bg.is-loaded {
  opacity: 1;
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(2deg, rgba(0, 0, 0, 0.68) 17.11%, rgba(102, 102, 102, 0) 108.96%);
  z-index: 1;
}

/* ===============================
   Base Navbar
================================ */
.navbar {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  padding: 8px 0;
  transition: 0.3s ease;
}

.nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
}
.display-only {
  display: block;
}
.mobile-only {
  display: none;
}
.nav-container .logo {
  position: relative;
  display: inline-block;
}
.navbar a.default-button.display-only.nav-cta {
    padding: 8px 15px;
}
/*.nav-container .logo img {
  height: 77px;
  transition: opacity 0.25s ease;
  will-change: opacity;
}*/
/* ===============================
   Navigation
================================ */
.nav-menu {
  display: flex;
  align-items: center;
}

.nav-links {
  display: flex;
  gap: 40px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.nav-links a {
  color: var(--white);
  font-weight: 400;
  text-decoration: none;
  position: relative;
  font-size: 1.125rem;
}

.nav-links a.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 28px;
  height: 2px;
  background: var(--white);
}

/* CTA */
.nav-cta {
  white-space: nowrap;
}

/* ===============================
   Scroll State
================================ */
.navbar.scrolled .logo-white {
  opacity: 0;
  transform: translateY(-4px);
}

.navbar.scrolled .logo-black {
  opacity: 1;
  transform: translateY(0);
}
.navbar.scrolled {
  background: var(--white);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.navbar.scrolled .nav-links a {
  color: #333;
}

.navbar.scrolled .nav-links a.active::after {
  background: #333;
}

/* ===============================
   Hamburger → Close Animation
================================ */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  width: 32px;
  height: 24px;
  position: relative;
}

.hamburger span {
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--white);
  left: 0;
  transition: 0.3s ease;
}

.navbar.scrolled .hamburger span {
  background: var(--black);
}

.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2) {
  top: 11px;
}
.hamburger span:nth-child(3) {
  bottom: 0;
}

/* Active (X) */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg);
  top: 11px;
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg);
  bottom: 11px;
}

/* ===============================
   Mobile Drawer
================================ */

.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 900;
}

.nav-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* ===============================
   Homepage Banner Section
================================ */
.hero-section{
  position:relative;
  width:100%;
  height:100vh;
  min-height:600px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:14px;
  background:#000;
}

.hero-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}

/* same overlay effect you had */
.hero-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(2deg,#000 17.11%,rgba(102,102,102,0) 108.96%);
  z-index:1;
}

.hero-content{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:1100px;
  margin:0 auto 7.6rem auto;
}
.subtitle-normal {
    font-size: 20px;
    font-style: italic;
}
.hero-subtitle {
    font-size: 1.3rem;
    font-weight: 300;
    line-height: 1.5;
    color: var(--white);
    width: 100%;
    margin: 0 auto 0;
    display: flex;
    flex-direction: column;
}
.hero-title{
  font-size:clamp(2rem,6vw,4rem);
  font-family:var(--PlayfairDisplay);
  font-weight:500;
  color:var(--primary-color);
  margin-bottom:16px;
  line-height:normal;
  letter-spacing:2px;
  text-transform:capitalize;
}

.hero-subtitle{
  font-size:1.5rem;
  font-weight:300;
  line-height:1.5;
  color:var(--white);
  width:100%;
  margin:0 auto 0;
  display:flex;
  flex-direction:column;
}

.subtitle-normal{font-size:18px;}
.subtitle-big{font-size:20px;font-style: italic;}
/* ===============================
   Booking Widget Container
================================ */
.cf7-hidden {
  display: none !important;
}
/* remove CF7 spacing */
.wpcf7 form {
  margin: 0;
}
.wpcf7 form p {
  margin: 0;
  padding: 0;
}

.wpcf7-not-valid-tip {
  font-size: 12px;
}

/* One row layout like reference */
.bw-cta-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin-top:22px;
}
.divider {
    width: 1px;
    height: 45px;
    background: #0000002e;
    margin: 0 5px;
}

/* Fields */
.bw-field {
  flex: 1;
  min-width: auto;
  position: relative;
  padding-right: 20px;
}
.bw-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  margin: 0 0 6px 0;
  font-family: var(--SourceSans);
}
.bw-input {
  width: 100%;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  height: 26px;
  font-size: 16px;
  color: var(--black);
  font-family: var(--SourceSans);
}

/* pointer like JetSetGo */
#departure_city,
#arrival_city,
#travellers {
  cursor: pointer;
}
.awesomplete ul li {
  cursor: pointer;
}

/* remove native select arrow */
.bw-select select,
select.bw-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

/* down angle icon */
.bw-has-arrow .bw-arrow {
  position: absolute;
  right: 6px;
  top: 5px;
  width: 10px;
  height: 10px;
  pointer-events: none;
}
.bw-has-arrow .bw-arrow:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-right: 2px solid #777;
  border-bottom: 2px solid #777;
  transform: rotate(45deg);
}

/* CTA */
.bw-cta {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 14px;
}
.bw-btn {
  border: 0;
  background: #f57c00;
  color: #fff;
  height: 40px;
  padding: 0 18px;
  border-radius: 22px;
  font-weight: 600;
  font-family: var(--SourceSans);
  cursor: pointer;
}
.bw-btn-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f57c00;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* One way hide return */
.ticket-booking-search-banner.oneway .return-date-field,
.ticket-booking-search-banner.oneway .return-divider {
  display: none;
}

/* Awesomplete dropdown scroll */
.awesomplete {
  width: 100%;
}
.awesomplete ul {
  max-height: 260px;
  overflow-y: auto;
  overflow-x: hidden;
}
/* Placeholder color */
.bw-input::placeholder {
  color: #333333 !important;
  opacity: 1; /* important for Firefox */
}

/* For older browsers */
.bw-input::-webkit-input-placeholder {
  color: #333333 !important;
}
.bw-input::-moz-placeholder {
  color: #333333 !important;
}
.bw-input:-ms-input-placeholder {
  color: #333333 !important;
}

/* Select text color */
select.bw-input {
  color: #333333 !important;
}

/* Disabled default "Travellers" option */
select.bw-input option:first-child {
  color: #333333;
}
.ticket-booking-search-banner {
  position: relative;
  padding-bottom: 7rem;
}
input.custom-form-control {
  border: none;
  color: var(--black);
  padding: 8px 18px;
  height: 48px;
  border-radius: 8px;
}
input.custom-form-control:focus {
  color: var(--black);
  border-color: none;
  box-shadow: none;
}
input.custom-form-control::placeholder {
  color: var(--black);
}
.booking-widget {
  transform: translateY(-50%);
  width: 100%;
  background: #F4F7FE;
  border-radius: 20px;
  padding: 25px 30px;
  position: absolute;
  left: 0;
  right: 0;
  max-width: 90%;
  margin: 0 auto;
  z-index: 20;
}

.widget-tabs {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}
.booking-widget .tab-btn {
  background: transparent;
  border: none;
  padding: 8px 18px;
  border-radius: 20px;
  color: #555;
  font-family: var(--SourceSans);
  font-weight: 400;
  cursor: pointer;
  transition: 0.3s;
  border: 1px solid #555;
}
.booking-widget .tab-btn.active,
.booking-widget .tab-btn:hover {
    background: #09246e;
    color: #ffffff;
    border: 1px solid #09246e;

}
.aboutus-counter-box-one .description p {
    font-size: 22px;
    max-width: 800px;
    display: block;
    margin: 0 auto;
}
.booking-form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.575rem;
  flex-wrap: wrap;
}
@media (max-width: 900px) {
  .booking-widget {
    bottom: 0;
  }
}

.input-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 140px;
  padding: 6px 14px;
  border-radius: 8px;
}
.input-group label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #888;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.small-group {
  flex: 0.7;
}

/*CUSTOM DROPDOWN*/
.custom-select {
  position: relative;
  cursor: pointer;
  user-select: none;
}
.select-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.1rem;
  font-weight: 400;
  font-family: var(--SourceSans);
  padding: 5px 0;
}
.select-trigger .arrow {
  font-size: 0.8rem;
  color: #999;
  transition: transform 0.3s;
}

.options-list {
  position: absolute;
  top: 110%;
  left: -10px;
  width: 115%;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  padding: 10px;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.options-list .option {
  padding: 10px;
  border-radius: 8px;
  color: #333;
  font-size: 0.95rem;
  transition: 0.2s;
}
.options-list .option:hover {
  background-color: #f0f8ff;
  color: #00509d;
}

/*Open State*/
.custom-select.open .options-list {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.custom-select.open .arrow {
  transform: rotate(180deg);
}
/*he Container (The White Widget)*/
.booking-widget-item {
  padding: 12px 18px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  min-width: max-content;
  cursor: pointer;
  transition: background-color 0.2s;
  position: relative;
}

.date-trigger {
  font-size: 1.1rem;
  font-weight: 400;
  font-family: var(--SourceSans);
  color: var(--black);
  user-select: none;
  display: flex;
  align-items: center;
  gap: 10px;
}

.date-trigger.has-value {
  color: #333;
}

.calendar-icon {
  color: #ff8c00;
  font-size: 18px;
}

.flatpickr-calendar {
  font-family: "Arial", sans-serif;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
.date-input {
  border: none;
  font-size: 1rem;
  color: #333;
  font-weight: 600;
  outline: none;
}
.button-group {
  display: flex;
  gap: 10px;
  align-items: center;
}

.clear-btn {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: none;
  background: var(--primary-color);
  color: var(--white);
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
}
.clear-btn:hover {
  color: var(--white);
}
/* ===============================
   FLEET SLIDER BASE
================================ */
.fleet-slider-component {
  padding: 3rem 0;
}
.fleet-slider-component .dynamic-cta-btn {
  font-family: var(--SourceSans);
  font-weight: 400;
}
.fleet-slider-component .swiper {
  width: 100%;
  height: 450px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.fleet-slider-component .swiper-slide {
  position: relative;
  overflow: hidden;
}

/* Background Image */
.fleet-slider-component .slide-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* Gradient Overlay for Text Readability */
.fleet-slider-component .slide-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
  z-index: 1;
}

/* Slide Content (Text) */
.fleet-slider-component .slide-content {
  position: absolute;
  bottom: 40px;
  left: 40px;
  z-index: 2;
  color: var(--white);
}

/* Blue Pill Tag (e.g., Light Jet) */
.fleet-slider-component .jet-tag {
  background-color: var(--secondary-color);
  color: var(--white);
  padding: 6px 16px;
  border-radius: 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: var(--SourceSans);
  line-height: normal;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 15px;
}

/* Aircraft Title */
.fleet-slider-component .slide-title {
  font-size: 1.6rem;
  font-weight: 500;
  font-family: var(--SourceSans);
  margin: 0;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* --- 2. The Controls Bar (Bottom) --- */
.fleet-slider-component .controls-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px; /* Spacing between image and controls */
  padding: 0 10px;
}

/* Left Side: Navigation & Pagination */
.fleet-slider-component .nav-group {
  display: flex;
  align-items: center;
  gap: 20px;
  color: #666;
}

.fleet-slider-component .nav-btn {
  cursor: pointer;
  font-size: 1.4rem;
  color: #555;
  transition:
    color 0.3s,
    transform 0.2s;
}

.fleet-slider-component .nav-btn:hover {
  color: #ff8c00; /* Orange Hover */
  transform: scale(1.1);
}

.fleet-slider-component .nav-btn .disabled {
  opacity: 0.3;
  cursor: default;
  transform: none;
}
.cta-btn-container .disabled {
  background: var(--lightorange);
  color: var(--primary-color);
  cursor: not-allowed;
}
.fleet-slider-component .custom-pagination {
  font-size: 2.5rem;
  color: var(--primary-color);
  width: max-content;
  font-family: var(--SourceSans);
  font-weight: 600;
  text-align: center;
  display: flex;
  align-items: center;
}
.dynamic-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
#cta-icon-span {
  display: none;
}
.dynamic-cta.coming-soon-mode {
  cursor: not-allowed;
  background: var(--lightorange);
  color: var(--primary-color);
}
.dynamic-cta.coming-soon-mode #cta-icon-span {
  display: block !important;
}
.dynamic-cta.coming-soon-mode i {
  animation: pulse 1.5s infinite;
  color: inherit;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.16);
  }
  100% {
    transform: scale(1);
  }
}
.custom-pagination span.swiper-pagination-total {
  color: #666;
  font-size: 1.5rem;
  position: relative;
  top: 0.3rem;
}
.nibe-features-section {
  padding: 3rem 0 6rem;
}
.nibe-features-section .contentwrap {
  font-size: 1.125rem;
  text-align: center;
  margin: 0.4rem 0 3.2rem;
  color: var(--black);
}
.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.feature-card {
  background-color: var(--lightorange);
  border-radius: 12px;
  padding: 30px 25px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: transform 0.3s ease;
  height: 100%;
  box-sizing: border-box;
}

.feature-card:hover {
  transform: translateY(-5px);
}

.icon-wrap {
  color: var(--primary-color);
  font-size: 2.5rem;
  margin-bottom: 20px;
}

.feature-card h3 {
  color: var(--black);
  font-size: 1.375rem;
  font-weight: 500;
  text-transform: capitalize;
  margin: 0 0 15px 0;
  letter-spacing: 0.5px;
}

.feature-card p {
  color: var(--black);
  font-size: 1.125rem;
  line-height: 1.6;
  margin: 0;
}
/* ===============================
   Experiemce Container
================================ */
.experience-section {
  padding: 5rem 0 3rem;
}
.experience-section .video-wrapper {
  position: relative;
  width: 100%;
  height: 420px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  background: #000;
}

.experience-section .experience-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}

.experience-section .experience-media.visible {
  opacity: 1;
}
.experience-section .experience-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  align-items: center;
}
.experience-section .tabs-wrapper {
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
.experience-section .tab-btn {
  border: none;
  padding: 12px 25px;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: var(--SourceSans);
  text-transform: capitalize;
  line-height: normal;
}
.experience-section .tab-btn.active {
  background-color: var(--secondary-color);
  color: var(--white);
}
.experience-section .tab-btn:not(.active) {
  background-color: #F4F7FE;
  color: var(--black99);
}
.experience-section .tab-btn:hover:not(.active) {
  background-color: #F4F7FE;
}
.experience-section .text-content {
  transition: opacity 0.3s ease;
}
.experience-section .text-content p {
  line-height: 2rem;
  color: var(--black);
  margin-bottom: 30px;
  font-size: 1.125rem;
}
.experience-section .features-list {
  list-style: none;
  padding: 0;
  margin-bottom: 40px;
}
.experience-section .features-list li {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  color: var(--black);
  font-weight: 400;
  font-size: 1.125rem;
}
.experience-section .features-list li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: var(--primary-color);
  border-radius: 50%;
  margin-right: 15px;
}
.experience-section .image-col img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: opacity 0.3s ease;
}
/* Visibility helpers */
.desktop-only {
  display: block;
}
.mobile-only {
  display: none;
}

@media (max-width: 991px) {
  .desktop-only {
    display: none;
  }
  .mobile-only {
    display: block;
  }
}

/* ===============================
   Accordion
================================ */
.accordion-item {
  border-bottom: 1px solid #e5e5e5;
}

.accordion-header {
  width: 100%;
  background: none;
  border: none;
  padding: 16px 0;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  position: relative;
}

.accordion-header::after {
  content: "+";
  position: absolute;
  right: 0;
  font-size: 20px;
  transition: transform 0.3s;
}

.accordion-header.active::after {
  content: "–";
}

.accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.accordion-body.open {
  max-height: 500px;
}

/* Accordion content */
.accordion-body p {
  line-height: 1.7;
  margin-bottom: 16px;
}

.accordion-body ul {
  list-style: none;
  padding: 0;
}

.accordion-body li {
  margin-bottom: 10px;
  font-size: 14px;
}

.accordion-body li::before {
  content: "•";
  color: var(--primary-color);
  margin-right: 8px;
}
/* Counter section Homepage */
.aboutus-expert-section {
  margin: 0 0 3rem !important;
}

.aboutus-banner .content-layer {
  justify-content: flex-end;
}
.expert-section {
  position: relative;
  padding: 4rem 0;
  margin: 3rem 0;
  overflow: hidden;
  min-height: 500px;
  height: 94vh;
}
.expert-section .title-section {
  padding: 0 20px 40px;
}
.expert-section .video-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.expert-section .custom-video-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.expert-section .video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(2deg, rgba(0, 0, 0, 0.68) 17.11%, rgba(102, 102, 102, 0) 108.96%);
  z-index: 2;
}
.expert-section .content-layer {
  position: relative;
  text-align: center;
  flex-direction: column;
  display: flex;
  justify-content: center;
  height: 100%;
  z-index: 3;
  gap: 0rem;
}
.expert-section .description {
  width: 100%;
  margin: 0 auto;
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 400;
}
.expert-section .stat-card {
  position: relative;
}
.expert-section .stat-card::after {
  content: "";
  height: 100%;
  width: 2px;
  background-color: #ffffff4d;
  position: absolute;
  right: 0;
  top: 0;
}
@media (min-width: 992px) {
  .row > div:not(:last-child) .stat-card::after {
    display: block;
  }

  .row > div:last-child .stat-card::after {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .row > div:nth-child(2n) .stat-card::after {
    display: none;
  }
}
@media (max-width: 767px) {
  .expert-section .stat-card::after {
    display: none;
  }
  .nibe-service-content .nibe-service-title {
    font-size: 24px;
  }
}

.expert-section .stat-card .counter, .expert-section-list .stat-card .counter {
  font-size: clamp(2.375rem, 7vw, 4.275rem);
  font-weight: 700;
  color: var(--primary-color);
  font-family: var(--SourceSans);
}

.expert-section .stat-card p {
  margin-top: 8px;
  font-size: 1.25rem;
  color: var(--white);
  font-weight: 500 !important;
}

/* Curated Section Homepage */
.curated-section {
  background: var(--white);
  padding: 3rem 0;
}
.experience-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.experience-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.experience-overlay {
  position: absolute;
  bottom: 0;
  padding: 0 2rem 2rem;
  color: var(--white);
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  justify-content: space-between;
  width: 100%;
  background: linear-gradient(2deg, rgba(0, 0, 0, 0.8) 16.77%, rgba(102, 102, 102, 0) 42.66%);
  height: 100%;
}

#experienceTitle {
  font-weight: 600;
  font-family: var(--SourceSans);
  letter-spacing: 0.08rem;
  font-size: 1.625rem;
}
#experienceDesc {
  margin: 10px 0 18px;
  font-size: 1.125rem;
}
.curated-section .tab-box {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--lightorange);
  border-radius: 12px;
}
.curated-section .tab-list {
  background: #ffe9cf;
  border-radius: 16px;
  padding: 20px;
}

.curated-section .tab-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 10px 30px;
  cursor: pointer;
  position: relative;
  flex: 1 1 auto;
}

.curated-section .tab-item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(0, 0, 0, 0.08);
}
.curated-section .tab-number {
  font-size: 1.05rem;
  transition: all 0.3s ease;
  display: block;
  color: var(--black);
}
.curated-section .tab-icon {
  color: var(--primary-color);
  opacity: 0;
  transform: scale(0.5) rotate(180deg);
  transition:
    transform 0.3s ease-in-out,
    opacity 0.3s ease-in-out;
  display: none;
}
.curated-section .tab-item.active .tab-number {
  opacity: 0;
  width: 0;
  display: none;
}

.curated-section .tab-item.active .tab-icon {
  opacity: 1;
  transform: scale(1.1) rotate(180deg);
  display: block;
}

.curated-section .tab-item.active .tab-text {
  color: var(--primary-color);
  font-weight: 500;
}

.curated-section .tab-text {
  font-weight: 400;
  font-family: var(--SourceSans);
  letter-spacing: 0.033rem;
  font-size: 1.125rem;
  color: var(--black);
}
#experienceImage,
.experience-overlay {
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

/* .fade-out {
  opacity: 0;
  transform: scale(0.98);
} */
/* RESPONSIVE */
@media (max-width: 768px) {
    .visionary-grid-container {
    flex-direction: column;
  }

  .leader-left-col {
    flex: none;
  }

  .leader-img {
    max-height: 340px;
  }

  .blue-content-card {
    padding: 40px 30px;
  }

  .experience-img {
    height: 320px;
  }

  .curated-section .tab-box {
    padding: 20px;
  }
}

/* Timeline Section Homepage */
.timeline-section {
  padding: 3rem 0;
}
.timeline-section .cabin-image-container {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.timeline-section .cabin-image-container img {
  width: 100%;
  max-width: 740px;
  height: auto;
}
.timeline-flex {
  display: flex;
  gap: 3rem;
}
.timeline-flex .timeline-image-column:last-child {
  flex: 1 1 39%;
}
.timeline-flex .timeline-image img {
  width: 100%;
  max-width: 740px;
}

.timeline-section .timeline-wrapper {
  position: relative;
  padding-left: 10px;
}

.timeline-section .timeline-line-bg {
  position: absolute;
  left: 3rem;
  top: 4.25rem;
  bottom: 4.25rem;
  width: 1px;
  border-left: 2px dashed var(--lightorange);
  z-index: 0;
}

.timeline-section .traveling-plane {
  position: absolute;
  left: 10px;
  top: 8.7%;
  display: flex;
  width: 4.825rem;
  height: 4.825rem;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background: var(--primary-color);
  border-radius: 50%;
  z-index: 1;
  transform-origin: center;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: transform;
}
.timeline-section .step-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 11.1rem;
  margin-bottom: 20px;
  z-index: 2;
}

.timeline-section .step-item:last-child {
  margin-bottom: 0;
}

.timeline-section .step-icon {
  background-color: var(--primary-color);
  border-radius: 50%;
  color: var(--white);
  font-family: var(--SourceSans);
  flex-shrink: 0;
  margin-right: 25px;
  width: 4.825rem;
  height: 4.825rem;
  padding: 0.77556rem 0.66475rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.10794rem;
  font-size: 2.1rem;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.105rem;
  text-transform: uppercase;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.timeline-section .step-icon .fa-plane {
  transform: rotate(90deg);
  font-size: 1.3rem;
  line-height: normal;
}

.timeline-section .step-content h3 {
  font-family: var(--SourceSans);
  font-weight: 500;
  font-size: 1.4rem;
  text-transform: capitalize;
  margin-bottom: 8px;
  color: var(--black);
  letter-spacing: 0.5px;
}

.timeline-section .step-content p {
  color: var(--black);
  font-size: 1.125rem;
  max-width: 360px;
  width: 100%;
  margin: 0;
}

.timeline-section .traveling-plane i {
  transform: rotate(90deg);
  font-size: 1.6rem;
}
.step-item.active .step-icon {
  opacity: 0;
  transform: scale(0.8);
}

/* Smooth fade */
.step-icon {
  transition: all 0.4s ease;
}
@media (max-width: 991px) {
  .timeline-wrapper {
    margin-top: 40px;
    padding-left: 0;
  }
}

/* --- SKY EXPERIENCE --- */
.sky-experience-wrapper {
  background: none !important;
  position: relative;
  overflow: hidden;
}
/* Take off with us */
.take-off-with-us {
  background: url("../images/fleetlist/details/take-off-with-us-bg.webp") no-repeat center center / cover !important;
  min-height: 590px;
  height: 60vh !important;
  position: relative;
}
.take-off-with-us::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(2deg, rgba(0, 0, 0, 0.68) 17.11%, rgba(102, 102, 102, 0) 108.96%);
  z-index: 1;
}

/* Perfect Sky Banner */
.perfect-sky-wrapper {
    position: relative;
    min-height: 600px;
    height: 92vh !important;
    background: url(/wp-content/uploads/2026/03/business-team-on-private-jet-2026-01-08-22-30-04-utc.jpg) !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: bottom !important;
    margin: 0px !important;
}
/* Black Overlay */
.perfect-sky-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(2deg, rgba(0, 0, 0, 0.68) 17.11%, rgba(102, 102, 102, 0) 108.96%);
    z-index: 1;
}
.perfect-sky-wrapper > * {
    position: relative;
    z-index: 2;
}
.common-banner-section {
  background: none;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  color: var(--white);
  height: 90vh;
  margin: 3rem 0 0;
}
.common-banner-content {
  padding-bottom: 4rem;
  position: relative;
  z-index: 2;
}

.common-banner-section .sky-sub {
  text-transform: uppercase;
  letter-spacing: 5px;
  font-size: 0.9rem;
  margin-bottom: 5px;
  font-weight: 400;
}
.sky-desc {
  font-size: 1.25rem;
  width: 100%;
  margin: 0 auto 40px;
}

/* Buttons Group */
.sky-actions {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
}

.luxury-cta-section {
  background-color: var(--secondary-color);
  padding: 7rem 0;
  position: relative;
  margin: 2rem 0 5rem;
}
.luxury-cta-section::before {
  content: "";
  background: url("../images/Home/white-commercial-airplane.webp") no-repeat;
  background-size: contain;
  background-position: right top;
  height: 100%;
  width: 100%;
  right: 0;
  top: 0;
  position: absolute;
  animation: float 4s ease-in-out infinite;
}
.luxury-cta-section .title-section {
  padding: 0;
  overflow: visible;
  text-align: start;
}
.luxury-cta-section .title-section .maintitle {
  display: block;
  font-size: 3.1rem;
  margin-bottom: 2rem;
}
.luxury-cta-section .title-section .maintitle::before,
.luxury-cta-section .title-section .maintitle::after {
  display: none;
}
.banner-content {
  color: var(--white);
}
.banner-content p {
  font-size: 1.12rem;
  line-height: 1.7;
  margin-bottom: 24px;
}
.luxury-cta-section .main-btn {
  display: flex;
  gap: 0.6rem;
  align-items: center;
}
.luxury-cta-section .default-button,
.luxury-cta-section .clear-btn {
  background-color: var(--white);
  color: var(--primary-color);
}
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
/* ===============================
   Footer Style
================================ */
.site-footer {
  /*background: url(../images/footer-bg.png) no-repeat;
  background-size: 100% 100%;
  background-position: center top; */
  padding: 40px 0;
  background-color: #F4F7FE;
}
.footer-powered {
    text-align: left;
    padding: 15px 0;
    font-size: 15px;
    color: #000000;
    border-top: 1px solid rgb(123 119 119 / 10%);
    margin-top: 20px;
}

.footer-powered a {
    color: #f07c00;
    text-decoration: none;
}
.footer-powered a:hover {
    color: #000000;
}

/* MAIN GRID */
.footer-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
  align-items: start;
}
.footer-title {
  font-size: clamp(32px, 7vw, 4.022rem);
  font-weight: 500;
  margin: 10px 0;
  color: black;
  letter-spacing: 0px;
  line-height: normal;
  text-transform: capitalize;
}

.footer-subtitle {
  margin-bottom: 26px;
  font-size: 1.125rem;
  line-height: 2rem;
}
.footer-cta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0px;
  padding-top: 6rem;
}

.footer-col h3 {
  margin-bottom: 16px;
  font-family: var(--SourceSans);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: var(--black);
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col li {
  margin-bottom: 10px;
}

.footer-col a {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: normal;
  text-decoration: none;
  font-family: var(--SourceSans);
  transition: color 0.3s ease-in-out;
}
.footer-links a {
    color: #212529;
}
.footer-col a:hover {
  color: var(--primary-color);
  opacity: 1;
}

/* BOTTOM */
.footer-bottom {
  margin-top: 60px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.footer-bottom a {
  color: var(--black);
  text-decoration: none;
  font-family: var(--SourceSans);
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .footer-main {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .footer-links {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 576px) {
  .footer-links {
    gap: 10px;
    padding-top: 0;
  }
  .footer-left {
    text-align: center;
  }
  .footer-left .button-group {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .footer-bottom {
    gap: 8px;
    text-align: center;
  }
}

/* ===============================
   Testimonial Section
================================ */
.testimonial-section {
  position: relative;
  padding: 2rem 0 6rem;
  margin: 2rem 0;
  overflow: hidden;
}
.testimonial-bg {
  position: absolute;
  inset: 0;
  background: url("../images/Home/testimonial-bg.png") center/cover no-repeat;
  z-index: 0;
}
.testimonial-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  z-index: 1;
}
.testimonial-swiper {
  flex: 1;
  text-align: center;
}
.testimonial-swiper .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.testimonial-arrow {
  font-size: 1.4rem;
  cursor: pointer;
  color: var(--primary-color);
  transition: 0.3s;
  user-select: none;
}

.testimonial-arrow.disabled {
  color: #bdbdbd;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.4;
  transform: scale(0.95);
}

.testimonial-arrow:not(.disabled):hover {
  opacity: 0.7;
}
.testimonial-quote {
  width: 92px;
  margin-bottom: 30px;
}
.testimonial-text {
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.8;
  max-width: 94%;
  margin-bottom: 24px;
  color: var(--black);
  width: 100%;
}
.testimonial-author {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--secondary-color);
}

.testimonial-arrow:hover {
  color: var(--primary-color);
}
.testimonial-container .swiper {
  width: 100%;
  overflow: hidden;
}

.testimonial-container .swiper-wrapper {
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .testimonial-section {
    padding: 70px 0;
  }
}

/* ===============================
   About Us Page
================================ */
.aboutus-expert-section {
  height: 100vh;
}
.mission-vision-wrapper {
  padding: 3rem 0;
}
.mission-vision-wrapper .second-desc {
  font-size: 1.1rem;
  text-align: center;
  line-height: 1.6;
}
.aboutus-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.mission-vision-wrapper .nibe-card {
  display: flex;
  width: 100%;
  max-width: 39.8125rem;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.125rem;
}
.nibe-card {
  border-radius: 1.25rem;
  border: none;
  transition: transform 0.3s ease;
  padding: 2rem;
}
.peach-card {
  background-color: #FFF1E2;
}

.blue-card {
  background-color: var(--lightblue);
}
.icon-wrapper {
  font-size: 40px;
  color: var(--primary-color);
}
.card-title-heading {
  color: var(--black);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 600;
  line-height: 2.125rem;
  letter-spacing: 0.05rem;
}

.card-desc {
  color: var(--black);
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2rem;
  margin-bottom: 0;
}
.person-group {
  margin-bottom: 20px;
}

.person-role {
  font-size: 1.125rem;
  color: var(--black);
  margin-bottom: 8px;
  font-weight: 300;
}
#dynamic-cta-btn.is-coming-soon{background:#f3dfc8;color:#e77c00;pointer-events:none;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
#dynamic-cta-btn.is-coming-soon.is-visible{opacity:1;transform:translateY(0)}
.chaterline-flex .peach-card {
    background-color: #f4f7fe;
}
.chaterline-flex .icon-wrapper {
    color: var(--secondary-color);
}
.contact-row a {
    color: var(--secondary-color);
}
.contact-row a:hover {
    color: #000000;
}
.contact-row {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--secondary-color);
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 5px;
}
.bw-cta-row .fa-plane {
  transform: rotate(-45deg) translateX(0px);
  transition: all 0.4s ease-in-out;
}
.bw-cta-row:hover .fa-plane {
  transform: rotate(-45deg) translateX(4px);
}
.contact-row i {
  font-size: 1.1rem;
}

.contact-row span {
  color: var(--secondary-color);
  word-break: break-all;
  font-weight: 400;
  font-family: var(--SourceSans);
  font-size: 1.125rem;
}
/* --- SECTION WRAPPER --- */
.visionary-section {
  padding: 4rem 0;
  margin: 0 auto;
}

.visionary-grid-container + .visionary-grid-container {
  margin-top: 28px;
}

/* ROW LAYOUT */
.visionary-grid-container {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

/* IMAGE COLUMN */
.leader-left-col {
  flex: 0 0 320px;
}

/* IMAGE BOX */
.leader-img {
  width: 100%;
  /*height: 100%;
  max-height: 420px;*/
  border-radius: 20px;
  overflow: hidden;
}

/* IMAGE */
.leader-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* BLUE CARD */
.blue-content-card {
  background-color: #FFF1E2;
  border-radius: 20px;
  padding: 30px 50px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 440px;
}

/* QUOTE AREA */
.leader-quote {
  flex: 0;
}

/* QUOTE TEXT */
.quote-text {
  position: relative;
  font-family: var(--SourceSans);
  color: var(--black);
  margin: 0;
  padding-left: 0px;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.35;
}

.quote-text p {
  margin: 0;
}

/* QUOTE SYMBOL */
.quote-text {
  position: relative;
}

.quote-title {
  margin: 0;
  font-size: 25px;
  line-height: 25px;
  font-weight: 700;
  display: inline;
}

.quote-title::before {
  content: "“";
  font-size: 46px;
  color: var(--secondary-color);
  margin-right: 8px;
  position: relative;
  top: 10px;
}

.quote-title::after {
  content: "”";
  font-size: 46px;
  color: var(--secondary-color);
  margin-left: 6px;
  position: relative;
  top: 10px;
}

/* TEXT */
.visionary-section p {
  font-size: 18px;
  line-height: 32px;
}

.quote-desc {
  color: var(--black);
  margin: 18px 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8rem;
}

/* AUTHOR */
.author-info {
  margin-top: 20px;
}

.author-name {
  font-family: var(--SourceSans);
  margin: 0 0 0.1rem;
  color: var(--black);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.08rem;
  text-transform: uppercase;
}

.author-role {
  color: var(--black);
  font-size: 1rem;
  font-weight: 400;
  line-height: 2rem;
  font-family: var(--SourceSans);
}
/* contact us page */
.contactus-banner-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(2deg, rgba(0, 0, 0, 0.68) 17.11%, rgba(102, 102, 102, 0) 108.96%);
    z-index: 1;
}
.contactus-banner-wrapper {
    background-image: url("../images/Home/sky-experience-banner-2.webp");
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
    height: 90vh;
}
.contactus-banner-wrapper {
  margin: 0 0 3rem;
}
.contactus-chaterline {
  padding: 3rem 0;
}
.contactus-chaterline .title-section p {
  font-size: 1.25rem;
  padding-top: 2rem;
  color: var(--black);
}
.chaterline-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4rem;
}

/* Service Page */
/* ===============================
   SERVICES SECTION
=================================*/
.services-banner-wrapper {
    background-image: url("/wp-content/uploads/2026/03/services-hero.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 90vh;
    margin: 0 0 3rem;
}
.services-banner-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(2deg, rgba(0, 0, 0, 0.68) 17.11%, rgba(102, 102, 102, 0) 108.96%);
    z-index: 1;
}
.nibe-services-section {
  padding: 50px 0 0px;
}

.nibe-service-row {
  display: flex;
  align-items: center;
  gap: 60px;
  margin-bottom: 30px;
}

.nibe-service-row.reverse {
  flex-direction: row-reverse;
}

.nibe-service-media {
  flex: 1;
}

.nibe-service-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 20px;
  display: block;
}

.nibe-service-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nibe-service-title {
  font-size: 36px;
  margin-bottom: 20px;
  text-transform: capitalize;
}

.nibe-service-desc {
  margin-bottom: 30px;
  line-height: 1.7;
}

.main-btn.button-group {
  display: flex;
  align-items: center;
  gap: 15px;
}

/* Remove bottom margin on last block */
.nibe-service-row:last-child {
  margin-bottom: 0;
}
.services-hero {
  position: relative;
  height: 93vh;
  min-height: 700px;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition:
    opacity 0.8s ease-in-out,
    transform 6s ease-out;
  z-index: 0;
}

#bg-current {
  z-index: 1;
}
#bg-next {
  z-index: 2;
  opacity: 0;
}

.services-hero .service-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.1) 100%);
  z-index: 3;
}

.services-hero .service-hero-content {
  z-index: 10;
  color: var(--white);
  max-width: 680px;
  width: 100%;
  opacity: 1;
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: end;
  position: relative;
  margin-top: 11rem;
  transform: translateY(10px);
}

.services-hero .service-hero-content.fade-out {
  opacity: 0;
  transform: translateY(20px);
}

.services-hero .service-hero-title {
  font-family: var(--PlayfairDisplay);
  font-size: 3.8rem;
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  letter-spacing: 0.20938rem;
  text-transform: uppercase;
}

.services-hero .service-hero-desc {
  font-size: 1.2rem;
  line-height: 1.6;
  margin-bottom: 2.5rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.9);
}

.service-tabs-hero .tabs-wrapper {
  position: relative;
  z-index: 10;
  width: 100%;

  display: flex;
  align-items: flex-end;
}

.service-tabs-hero .tab-card {
  flex: 1;
  background-color: #106096;
  color: var(--white);
  padding: 1.2rem 1.2rem;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.service-tabs-hero .tab-card:first-child {
  border-radius: 20px 0 0 20px;
}

.service-tabs-hero .tab-card:last-child {
  border-right: none;
  border-radius: 0 20px 20px 0;
}
.service-tabs-hero {
  position: absolute;
  width: 100%;
  bottom: 0;
}
.service-feature-card {
  padding-top: 7rem;
}
.service-tabs-hero .tab-card.active {
  background-color: #cfe9f8;
  color: #106096;
  height: 220px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.1);
  margin-bottom: 0;
}

.service-tabs-hero .tab-card:not(.active):hover {
  background-color: #1572b8;
}

.service-tabs-hero .tab-title {
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 15px;
  font-family: var(--SourceSans);
}

.service-tabs-hero .tab-card.active .tab-title {
  font-size: 1.1rem;
}
.service-tabs-hero .tab-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}
.service-tabs-hero .tab-card.active .tab-icon {
  transform: scale(1.2);
}

/* ===============================
   Fleet List Page
================================ */
.fleet-list-banner-wrapper {
    background-image: url(/wp-content/uploads/2026/03/fleet-banner-top.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 90vh;
    margin: 0 0 3rem;
}
.fleet-list-banner-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(2deg, rgba(0, 0, 0, 0.68) 17.11%, rgba(102, 102, 102, 0) 108.96%);
    z-index: 1; 
}
.fleet-bg-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(2deg, rgb(0 0 0 / 28%) 17.11%, rgba(102, 102, 102, 0) 108.96%);
    z-index: 1;
}
.fleet-list-banner-wrapper .common-banner-content {
    padding-bottom: 8rem;
}
.fleet-list-banner {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  background:
    linear-gradient(1deg, #00000099 -57.48%, #00000099 143.28%),
    url("../images/fleetlist/fleet-list-hero-bg.webp") no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 0 5rem;
  margin: 0 0 3rem;
}
.fleet-list-banner .content-layer {
  justify-content: flex-end;
}
.fleet-showcase-section {
  padding: 2.5rem 0;
  background-color: var(--white);
}

.fleet-showcase-section .fleet-filters-bar {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 4.6rem;
  flex-wrap: wrap;
}

.fleet-showcase-section .custom-dropdown {
  position: relative;
  width: max-content;
}

.fleet-showcase-section .dropdown-btn {
  width: 100%;
  background-color: #09246e;
  border: none;
  padding: 10px 20px;
  border-radius: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--SourceSans);
  font-weight: 500;
  color: #ffffff;
  cursor: pointer;
  transition: 0.3s;
  gap: 1rem;
}
.fleet-showcase-section .fa-chevron-down {
  font-size: 0.8rem;
  line-height: normal;
  color: #ffffff;
}

.fleet-showcase-section .dropdown-btn:hover {
  background-color: #09246ecf;
}

.fleet-showcase-section .dropdown-menu-custom {
  position: absolute;
  top: 110%;
  left: 0;
  width: 100%;
  background: var(--white);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  padding: 10px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 100;
}

.fleet-showcase-section .custom-dropdown.active .dropdown-menu-custom {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.fleet-showcase-section .dropdown-item {
  padding: 8px 20px;
  cursor: pointer;
  font-size: 0.9rem;
  transition: 0.2s;
}
.fleet-showcase-section .dropdown-item:hover {
  background-color: #f0f0f0;
  color: var(--primary-orange);
}

.fleet-showcase-section .jet-card-row {
  display: flex;
  align-items: center;
  margin-bottom: 80px;
  gap: 50px;
  animation: fadeIn 0.5s ease;
}
.fleet-showcase-section .jet-card-row:last-child {
  margin-bottom: 0;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fleet-showcase-section .jet-card-row:nth-child(even) {
  flex-direction: row-reverse;
}

.jet-image-col,
.fleet-showcase-section .jet-content-col {
  flex: 1;
}

.fleet-showcase-section .jet-img {
  width: 100%;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  display: block;
}
.fleet-showcase-section .jet-header-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.fleet-showcase-section .jet-code {
  color: var(--black99);
  text-transform: uppercase;
  font-size: 1.025rem;
  font-weight: 400;
  line-height: normal;
}
.fleet-showcase-section .jet-type-pill {
  color: var(--secondary-color);
  text-transform: uppercase;
  font-family: var(--SourceSans);
  display: flex;
  font-size: 0.85rem;
  padding: 0.3rem 0.8rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  border-radius: 1.5625rem;
  border: 1.5px solid #106096;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.fleet-showcase-section .jet-desc {
  font-size: 1.125rem;
  font-style: normal;
  line-height: 2rem;
  margin-bottom: 0.94rem;
}
.fleet-showcase-section .coming-soon-pill {
  background-color: var(--lightorange);
  color: var(--primary-color);
  display: inline-flex;
  gap: 0.4rem;
  margin: 0;
  align-items: center;
  font-size: 1rem;
}
.fleet-showcase-section .jet-title {
  font-size: clamp(1.35rem, 1.5vw, 1.8rem);
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.08rem;
  text-transform: capitalize;
  margin: 0.6rem 0 0;
}
.fleet-showcase-section .spec-item {
  display: flex;
  gap: 8px;
  margin-bottom: 0.9rem;
  font-size: 1.125rem;
  line-height: 1.3rem;
  font-family: var(--SourceSans);
  font-weight: 400;
}
.fleet-showcase-section .spec-item strong {
  font-weight: 600;
}
.fleet-showcase-section .spec-icon {
  color: var(--primary-color);
  width: 20px;
}
.fleet-showcase-section .spec-icon i {
  font-size: 1.1rem;
}
.fleet-showcase-section .jet-features {
  list-style: none;
  padding: 0;
  margin-bottom: 30px;
}
.fleet-showcase-section .jet-features li {
  font-size: 1.125rem;
  font-family: var(--SourceSans);
  font-style: normal;
  font-weight: 400;
  line-height: 2rem;
  display: flex;
  align-items: center;
  gap: 0.611rem;
}
.fleet-showcase-section .jet-features li::before {
  content: "";
  color: var(--primary-color);
  margin-right: 8px;
  width: 0.775rem;
  height: 0.775rem;
  display: block;
  background: var(--primary-color);
  border-radius: 50px;
  position: relative;
  left: 4px;
}

/*==================== Elite Membership ================ */
.elite-intro {
    padding: 3rem 0 4rem;
}
.elite-section-membership {
    padding: 5rem 0 0rem;
}
.elite-membership-banner-wrapper {
    background-image:url("/wp-content/uploads/2026/03/fleet-elite.jpeg");
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center right;
    height:100vh !important;
    margin:0 0 3rem;
    position:relative;
}
.elite-membership-banner-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(2deg, #00000087 17.11%, rgba(102, 102, 102, 0) 108.96%);
    z-index: 1;
}
#em-membership {
    padding: 5rem 0 0;
}
#em-fleet {
    padding: 5rem 0px;
    background-color: #f4f7fe;
}
#em-faq {
    padding-bottom: 5rem;
}
#em-membership .blue-card {
    background-color: #ffffff;
}
.features-grid-multiplayer {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}
.features-grid-multiplayer h3 {
    font-size: 20px;
    line-height: 26px;
}
section#em-hybrid .features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}
.features-text1 {
    padding-bottom: 25px;
}
.actuals-billing-box {
    padding: 30px;
    border-radius: 20px;
    border: 1px solid #dddddd73;
    box-shadow: 0 0 20px #dddddda1;
}
.em-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.em-reveal.em-visible { opacity: 1; transform: none; }
.em-reveal.em-d1 { transition-delay: 0.1s; }
.em-reveal.em-d2 { transition-delay: 0.2s; }
.em-reveal.em-d3 { transition-delay: 0.3s; }
.em-reveal.em-d4 { transition-delay: 0.4s; }

/* Rate box inside fleet/tier cards */
.em-rate-row {
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid rgba(0,0,0,0.09);
}
.em-rate-label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--black99);
    margin-bottom: 4px;
}
.em-rate-amount {
    font-family: var(--PlayfairDisplay);
    font-size: 1.9rem;
    font-weight: 700;
    font-style: italic;
    color: var(--primary-color);
    line-height: 1.1;
}
.em-rate-gst {
    font-size: 11px;
    color: var(--black99);
    margin: 3px 0 0;
}

/* Tier-specific */
.em-tier-bg-num {
    font-family: var(--PlayfairDisplay);
    font-size: 100px;
    font-weight: 700;
    font-style: italic;
    color: rgba(240,124,0,0.06);
    line-height: 1;
    position: absolute;
    top: 8px; right: 16px;
    pointer-events: none;
    user-select: none;
}
.em-best-badge {
    position: absolute;
    top: 20px; right: 20px;
    background: var(--primary-color);
    color: var(--white);
    font-family: var(--SourceSans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 25px;
}
.em-tier-rate-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}
.em-tier-rate-row:last-child { border-bottom: none; }
.em-aircraft-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--black99);
}
.em-saving-pill {
    display: inline-block;
    background: var(--primary-color);
    color: var(--white);
    font-family: var(--SourceSans);
    font-size: 12px;
    font-weight: 600;
    padding: 7px 16px;
    border-radius: 25px;
    margin: 14px 0 10px;
}
.em-billing-note {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--black99);
}
.bottom-card-text {
    padding: 20px 0px 0px;
}
/* Savings table */
.em-table-wrap {
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid rgba(16,96,150,0.15);
}
.em-table { width: 100%; border-collapse: collapse; }
.em-table thead tr { background: var(--lightblue); }
.em-table th {
    padding: 16px 24px;
    font-family: var(--SourceSans);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--secondary-color);
    text-align: left;
    border-bottom: 1px solid rgba(16,96,150,0.15);
}
.em-table td {
    padding: 18px 24px;
    font-family: var(--SourceSans);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.em-table tr:last-child td { border-bottom: none; }
.em-table tr:hover td { background: #F4F7FE; }
.em-td-jet  {font-size: 1.15rem; font-weight: 700; font-style: italic; color: var(--black); }
.em-td-save {font-weight: 700;}

/* Actuals 0% box */
.em-zero-box {
    background: var(--lightorange);
    border-radius: 12px;
    padding: 48px 32px;
    text-align: center;
}
.em-zero-num {
    font-family: var(--PlayfairDisplay);
    font-size: clamp(80px, 10vw, 110px);
    font-weight: 700;
    font-style: italic;
    color: var(--primary-color);
    line-height: 1;
}
.em-zero-label {
    display: block;
    font-family: var(--SourceSans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--black99);
    margin-top: 8px;
}
.em-zero-sub {
    font-family: var(--PlayfairDisplay);
    font-size: 1.1rem;
    font-style: italic;
    font-weight: 600;
    color: var(--black);
    margin-top: 12px;
    line-height: 1.5;
}
.footer-address {
    font-weight: 400;
}
p.second-desc {
    text-align: center;
}
.leader-quote p {
    text-align: center;
}
/* FAQ */
.em-faq-wrap { max-width: 820px; margin: 0 auto; }
.em-faq-item { border-bottom: 1px solid #e5e5e5; }
.em-faq-item:first-child { border-top: 1px solid #e5e5e5; }
.em-faq-btn {
    width: 100%; background: none; border: none;
    padding: 18px 0;
    font-family: var(--SourceSans);
    font-size: 20px; font-weight: 700;
    text-align: left; cursor: pointer;
    display: flex; justify-content: space-between;
    align-items: center; gap: 16px;
    color: var(--black); transition: color 0.3s;
}
.em-faq-btn:hover,
.em-faq-btn.em-open { color: var(--primary-color); }
.em-faq-btn::after { content: "+"; font-size: 22px; color: var(--primary-color); flex-shrink: 0; }
.em-faq-btn.em-open::after { content: "–"; }
.em-faq-body { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.em-faq-body.em-show { max-height: 400px; }
.em-faq-body p { line-height: 1.7; padding-bottom: 18px; }

/* Actuals two-col */

.em-actuals-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}
.actuals-billing-box {
    border: 1px solid #dddddd73;
    border-radius: 12px;
    padding: 48px 32px;
}

/* ================= Ferry Leg Page ================= */
.ferryleg-btn {
    justify-content: center;
    gap: 10px;
}
.ferry-leg-wrapper-bg {
  position: relative;
  width: 100%;
  height: 90vh;
  min-height: 600px;
  background:
    linear-gradient(2deg, rgba(0, 0, 0, 0.68) 17.11%, rgba(102, 102, 102, 0) 108.96%),
    url("../images/ferryleg/ferry-leg-banner.webp") no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 6rem 0 3rem;
  margin: 0 0 3rem;
}

.fly-exclusive-section {
  background-color: var(--lightblue);
  padding: 5rem 0 4rem;
  margin: 2.5rem 0 0;
}

.fly-swiper {
  padding: 10px 10px 40px !important;
  overflow: hidden;
}

.fly-slide {
  height: auto;
}
.fly-exclusive-section .swiper-wrapper {
  height: auto;
}

.fly-card {
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.fly-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.fly-card-img-box {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.fly-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fly-date-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: var(--white);
  color: var(--secondary-color);
  padding: 9px 10px;
  border-radius: 20px;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  font-family: var(--SourceSans);
}

.fly-card-body {
  padding: 1.5rem 1.3rem 1.2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.fly-route-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

.fly-city {
  color: var(--black);
  width: 35%;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 600;
  line-height: 2.125rem;
  letter-spacing: 0.06rem;
}
.fly-city.dest {
  text-align: right;
}

.fly-route-icon {
  flex: 1;
  display: flex;
  align-items: center;
  position: relative;
  height: 2px;
  background: var(--lightorange);
  margin: 0 10px;
}

.fly-plane-circle {
  width: 42px;
  height: 42px;
  background-color: var(--secondary-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: 1.09rem;
  position: absolute;
  z-index: 2;
}
.fly-info-grid {
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.9rem;
}

.fly-info-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.98rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  color: var(--black);
}

.fly-info-icon {
  color: var(--primary-color);
  text-align: center;
  width: 1.0625rem;
  font-size: 1.025rem;
  margin-right: 0.1rem;
}
.fa-plane-up.fly-info-icon {
  transform: rotate(45deg);
}

.fly-price-row {
  display: flex;
  align-items: flex-end;
  margin-bottom: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.fly-price-old {
  color: var(--red);
  font-family: var(--SourceSans);
  margin-bottom: 0;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.045rem;
  text-decoration-line: line-through;
  text-transform: capitalize;
}

.fly-price-new {
  color: var(--black);
  font-size: 1.5rem;
  font-weight: 600;
  font-family: var(--SourceSans);
  line-height: 2.125rem;
  letter-spacing: 0.06rem;
}

.fly-controls-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 10px;
}
.booknow-btn {
  padding: 10px 20px;
}
.fly-nav-btn {
  background: none;
  border: none;
  font-size: 1.4rem;
  color: var(--primary-color);
  cursor: pointer;
  display: flex;
  align-items: center;
}

.fly-nav-btn.swiper-button-disabled {
  cursor: default;
  color: var(--black99);
  transform: none;
  pointer-events: none;
}

.fly-pagination {
  font-size: 1.5rem;
  font-weight: 600;
  font-family: var(--SourceSans);
  color: #00000099;
  width: auto !important;
  position: static !important;
}
.fly-pagination span.aset {
  font-size: 1.5rem;
  font-weight: 600;
  color: #00000099;
  font-family: var(--SourceSans);
}
.fly-pagination .swiper-pagination-current {
  color: var(--primary-color);
  font-size: 2.1rem;
  font-weight: 600;
  font-family: var(--SourceSans);
}
@media (max-width: 992px) {
  .fly-info-grid {
    flex-wrap: wrap;
    gap: 15px;
  }
}
/* ================= Fleet Details Page ================= */
/* --- WRAPPER --- */
.fleet-detail-wrapper {
  position: relative;
  height: 62rem;
  min-height: 600px;
  /* max-height: 900px; */
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #111;
  /* overflow: hidden; */
}
.fleet-bg-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 19%;
  z-index: 1;
}
.fleet-content-container {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-top: 7rem;
}

.fleet-breadcrumb {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
}

.fleet-breadcrumb a {
  text-decoration: none;
  transition: 0.3s;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  padding: 0 0.5rem;
}
.fleet-breadcrumb a:first-child {
  padding-left: 0;
}

.fleet-breadcrumb a:hover {
  color: var(--white);
}

.fleet-breadcrumb span {
  color: var(--white);
  font-size: 0.9rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5rem;
  font-family: var(--SourceSans);
  padding-left: 0.6rem;
}

/* --- CENTER TEXT --- */
.fleet-text-center {
  text-align: center;
  color: var(--white);
  padding-bottom: 60px;
}

.fleet-detail-title {
  color: var(--white);
  text-align: center;
  font-family: var(--PlayfairDisplay);
  font-size: 3.8rem;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.20313rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
}

.fleet-detail-subtitle {
  margin-bottom: 30px;
  opacity: 0.9;
  font-size: 1.25rem;
  font-style: normal;
  line-height: 1.875rem;
}
.fleet-specs-container {
  position: absolute;
  bottom: -6rem;
  left: 0;
  width: 100%;
  z-index: 10;
}
.fleet-specs-bar {
  background-color: #F4F7FE;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  padding: 40px 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  /* box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.15); */
}

.fleet-specs-bar .spec-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  padding: 0 15px;
  border-right: 1px solid #eee;
  transition: transform 0.3s ease;
  cursor: default;
}

.fleet-specs-bar .spec-item.no-border {
  border-right: none;
}
.fleet-specs-bar .spec-item:hover {
  transform: translateY(-5px);
}

.fleet-specs-bar .spec-item:hover .spec-icon {
  transform: scale(1.1) translateX(9px);
}
.jet-specs .spec-icon {
  font-size: 1.8rem;
  color: var(--primary-color);
  transition: transform 0.3s ease;
}
.spec-text {
  display: flex;
  flex-direction: column;
}

.spec-label {
  color: var(--black);
  font-size: 1rem;
  font-style: normal;
  font-family: var(--SourceSans);
  font-weight: 400;
  line-height: 2rem;
}

.spec-value {
  color: var(--black);
  font-family: var(--SourceSans);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.875rem;
}
@media (max-width: 992px) {
  .fleet-specs-bar {
    flex-wrap: wrap;
    gap: 30px;
  }
  .fleet-specs-bar .spec-item {
    flex: 1 1 45%;
    border-right: none;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    flex-direction: row;
    align-items: center;
  }
}

@media (max-width: 576px) {
  .fleet-detail-wrapper {
    height: auto;
    min-height: 80vh;
  }

  .fleet-content-container {
    padding-bottom: 50px;
  }

  .fleet-specs-bar {
    flex-direction: column;
    gap: 20px;
    padding: 30px 20px;
  }

  .fleet-specs-bar .spec-item {
    width: 100%;
    border-bottom: 1px solid #f0f0f0;
    padding: 10px 0;
    flex-direction: row;
    align-items: center;
  }

  .fleet-specs-bar .spec-item:last-child {
    border-bottom: none;
  }

  .fleet-detail-title {
    font-size: 2.5rem;
  }
  .fleet-text-center {
    padding-bottom: 30px;
  }
}
/* ================= Fast focused Travel section ================= */
.row.fft-center {
    align-items: center;
}
.fft-counter-wrap {
  display: flex;
  justify-content: space-around;
  background: var(--lightorange);
  padding: 2rem 0;
  border-radius: 1.125rem;
}
.fft-counter-wrap .counter {
  font-size: 3.25rem;
  font-weight: 600;
  color: var(--primary-color);
}
.fft-counter-box p {
  font-size: 1rem;
  line-height: normal;
  margin-bottom: 0;
}
.fft-image img {
  width: 100%;
  height: 100%;
}
.fft-content-text {
  font-size: 1.125rem;
  line-height: 2rem;
}
/* ================= Safety Flight Section ================= */
.how-we-operate-banner {
  background: var(--lightblue);
  padding: 4rem 0;
  margin: 4rem 0;
}
.how-we-operate-banner .grid-inner {
  border-radius: 1.025rem;
  display: flex;
  padding: 0.975rem 1.6rem;
  align-items: center;
  gap: 0.825rem;
  background: var(--white);
}
.tick-content {
  margin-bottom: 0;
}
.how-we-operate-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

/* ================= Premier Experience Page ================= */
.premier-experience-section {
  padding: 4rem 0;
}

.premier-experience-section .image-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  grid-template-rows: repeat(3, 300px); /* Fixed row height helps alignment */
  gap: 18px;
}

.premier-experience-section .grid-item {
  position: relative;
  overflow: hidden;
  border-radius: 0; /* Reset default */
}

/* Specific Grid Placements */
.premier-experience-section .item-1 {
  grid-row: 1 / 3;
  border-top-left-radius: 2rem;
}
.premier-experience-section .item-2 {
  grid-column: 2 / 4;
  border-top-right-radius: 2rem;
}
.premier-experience-section .item-4 {
  grid-column: 2 / 3;
}
.premier-experience-section .item-5 {
  grid-column: 3 / 4;
  grid-row: 2 / 4;
  border-bottom-right-radius: 2rem;
}
.premier-experience-section .item-6 {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
  border-bottom-left-radius: 2rem;
}

.premier-experience-section .grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.premier-experience-section .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  padding: 30px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 10;
}

.premier-experience-section .overlay h3 {
  color: white;
  transform: translateY(20px);
  transition: transform 0.4s ease;
  font-size: 1.5rem;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.premier-experience-section .overlay p {
  color: rgba(255, 255, 255, 0.9);
  transform: translateY(20px);
  transition: transform 0.4s ease 0.1s;
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 0;
}

.mobile-info-btn,
.mobile-close-btn {
  display: none;
  border: none;
  cursor: pointer;
  z-index: 20;
  transition: all 0.3s ease;
}

@media (hover: hover) {
  .premier-experience-section .grid-item:hover img {
    transform: scale(1.05);
  }
  .premier-experience-section .grid-item:hover .overlay {
    opacity: 1;
  }
  .premier-experience-section .grid-item:hover .overlay h3,
  .premier-experience-section .grid-item:hover .overlay p {
    transform: translateY(0);
  }
}
/* High Performance */
.high-performance-section {
  background: #d9d9d9;
  padding: 4rem 0;
  margin: 4rem 0 0;
}
.fleet-details-testimonial {
  margin: 0 0 4rem;
}
