@import url('https://fonts.googleapis.com/css2?family=Cormorant+Upright:wght@400;500;600;700&display=swap');
/* ==========================================================================
   Jannah Express â€” Public Visual UI Reconstruction Stylesheet
   Native high-fidelity implementation of the public WordPress theme.
   ========================================================================== */

:root {
  /* Clean White Luxury Palette (Based on Logo Green) */
  --je-bg-dark: #FFFFFF;             /* Was dark, now crisp white */
  --je-bg-primary: #F8FAFC;          /* Light gray for subtle contrast */
  --je-bg-header: #001F21;
  --je-bg-surface: #FFFFFF;          /* Elevated surface */
  --je-bg-surface-elevated: #FFFFFF;
  --je-bg-card: #FFFFFF;             
  --je-bg-card-elevated: #FFFFFF;
  --je-bg-light: #F1F5F9;            

  /* Authentic Brand Accents (Extracted from Actual Logo) */
  --je-brand-green: #58BF48;         /* Logo primary leaf green */
  --je-brand-green-hover: #4CA83E;
  --je-brand-teal: #007375;          /* Logo secondary deep teal */
  --je-brand-teal-hover: #005F61;
  --je-accent: #58BF48;
  --je-accent-hover: #4CA83E;
  --je-accent-glow: rgba(88, 191, 72, 0.25);

  /* Typography Colors - Switched for Light Mode */
  --je-text-title: #0F172A;          /* Deep Slate for Headings */
  --je-text-primary: #1E293B;        /* Primary Body */
  --je-text-secondary: #475569;      /* Secondary Body */
  --je-text-body: #334155;
  --je-text-muted: #64748B;
  --je-text-dark: #000000;
  
  /* Reverse text colors for components that sit on green or dark images */
  --je-text-on-dark: #FFFFFF;

  /* Borders & Dividers */
  --je-border-subtle: #E2E8F0;
  --je-border-accent: rgba(89, 192, 72, 0.35);
  --je-border-light: #CBD5E1;

  /* Layout & Geometry */
  --je-container-width: 1280px;
  --je-radius-sm: 6px;
  --je-radius-md: 10px;
  --je-radius-lg: 16px;
  --je-radius-pill: 9999px;

  /* Transitions */
  --je-transition-fast: 0.18s ease;
  --je-transition-smooth: 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

html {
  background-color: var(--je-bg-dark) !important;
  overflow-x: hidden !important;
  margin: 0;
  padding: 0;
}

body,
body.public-site {
  background-color: var(--je-bg-dark) !important;
  color: var(--je-text-body) !important;
  font-family: 'DM Sans', sans-serif !important;
  overflow-x: hidden !important;
  margin: 0;
  padding: 0;
  zoom: 0.95;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif;
  color: var(--je-text-title);
  letter-spacing: -0.01em;
}


/* Container bounds matching source Elementor max-width: 1300px */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con-boxed > .e-con-inner,
.je-container { width: 100% !important;
  max-width: var(--je-container-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box;
}

/* ==========================================================================
   GLOBAL LUXURY DESIGN PRIMITIVES
   ========================================================================== */
.je-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(0, 115, 117, 0.15);
  border: 1px solid rgba(89, 192, 73, 0.3);
  border-radius: var(--je-radius-pill);
  color: var(--je-brand-green);
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.je-badge--gold {
  background: var(--je-accent-gold-soft);
  border-color: var(--je-border-gold);
  color: var(--je-accent-gold);
}

.je-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 30px;
  background: linear-gradient(135deg, var(--je-brand-teal) 0%, var(--je-brand-green) 100%);
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: 0.03em;
  border-radius: var(--je-radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 18px rgba(0, 115, 117, 0.35);
  cursor: pointer;
  text-decoration: none !important;
  transition: all var(--je-transition-smooth);
}

.je-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(89, 192, 73, 0.45);
  background: linear-gradient(135deg, #008F91 0%, #48AA39 100%);
  color: #FFFFFF !important;
}

.je-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 28px;
  background: rgba(0, 43, 43, 0.6);
  backdrop-filter: blur(8px);
  color: var(--je-text-primary) !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: var(--je-radius-pill);
  border: 1px solid rgba(0, 115, 117, 0.4);
  cursor: pointer;
  text-decoration: none !important;
  transition: all var(--je-transition-smooth);
}

.je-btn-secondary:hover {
  background: rgba(0, 115, 117, 0.25);
  border-color: var(--je-brand-green);
  color: var(--je-brand-green) !important;
  transform: translateY(-2px);
}

.je-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--je-brand-green);
  font-family: 'DM Sans', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all var(--je-transition-fast);
}

.je-btn-ghost:hover {
  color: #FFFFFF;
  gap: 12px;
}

/* Luxury Card Primitive */
.je-card-luxury {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-accent);
  border-radius: var(--je-radius-lg);
  padding: 32px 28px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  transition: all var(--je-transition-smooth);
  position: relative;
  overflow: hidden;
}

.je-card-luxury::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--je-brand-teal), transparent);
  opacity: 0.7;
}

.je-card-luxury:hover {
  transform: translateY(-4px);
  border-color: rgba(89, 192, 73, 0.45);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 115, 117, 0.2);
}

/* Editorial Subpage Hero Banner Primitive */
.je-subpage-hero {
  position: relative;
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 90px 20px;
  overflow: hidden;
}

.je-subpage-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 31, 33, 0.75) 0%, rgba(0, 31, 33, 0.94) 100%),
              radial-gradient(ellipse at 50% 30%, rgba(0, 115, 117, 0.28) 0%, transparent 70%);
  pointer-events: none;
}

.je-subpage-hero__content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  text-align: center;
  margin: 0 auto;
}

.je-subpage-hero__title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif;
  font-size: 46px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.15;
  margin-top: 14px;
  margin-bottom: 16px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
  .je-subpage-hero__title {
    font-size: 32px;
  }
}

.je-subpage-hero__subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 16.5px;
  color: var(--je-text-secondary);
  line-height: 1.6;
  max-width: 720px;
  margin: 0 auto 26px;
}

.je-breadcrumbs,
.je-subpage-hero__badge {
  display: none !important;
}

.je-breadcrumbs {
  display: none !important;
  align-items: center;
  gap: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12.5px;
  color: var(--je-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

.je-breadcrumbs a {
  color: var(--je-text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.je-breadcrumbs a:hover {
  color: var(--je-brand-green);
}

.je-breadcrumbs span.current {
  color: var(--je-brand-green);
  font-weight: 600;
}

/* ==========================================================================
   HEADER & NAVIGATION — LUXURY RECONSTRUCTION (GLOBAL)
   ========================================================================== */
.je-site-header {
  background-color: rgba(0, 43, 43, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
  border-bottom: 1px solid rgba(0, 115, 117, 0.25);
  transition: all 0.3s ease;
}

.je-site-header.scrolled {
  background-color: rgba(0, 31, 33, 0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6), 0 1px 0 rgba(0, 115, 117, 0.4);
  border-bottom: 1px solid rgba(0, 115, 117, 0.35);
}

.je-header-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
}

.je-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  padding-bottom: 14px;
  gap: 24px;
  transition: padding 0.3s ease;
}

.je-site-header.scrolled .je-header-inner {
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Site Logo */
.je-header-logo-col {
  flex: 0 0 auto;
}

.ata-site-logo-img {
  max-height: 48px;
  width: auto;
  display: block;
  transition: transform 0.25s ease;
}

.ata-site-logo-img:hover {
  transform: scale(1.02);
}

.je-header-nav-col {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}

/* ==========================================
   DESKTOP NAVIGATION (>= 1025px)
   ========================================== */
@media (min-width: 1025px) {
  .elementskit-navbar-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 28px !important;
  }

  .elementskit-navbar-nav > .nav-item {
    position: relative;
    display: inline-flex;
    align-items: center;
  }

  .ekit-menu-nav-link,
  .elementskit-navbar-nav > li > a {
    color: #F1F5F9 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.2px !important;
    text-transform: capitalize !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    padding: 10px 0 !important;
    background: transparent !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s ease;
  }

  .ekit-menu-nav-link:hover,
  .elementskit-navbar-nav > li > a:hover,
  .elementskit-navbar-nav > li.active > a,
  .elementskit-navbar-nav > li.active > .ekit-menu-nav-link {
    color: var(--je-brand-green, #58BF48) !important;
  }

  .elementskit-submenu-indicator {
    font-size: 11px;
    margin-left: 2px;
    color: currentColor;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Desktop Dropdown Submenu */
  .elementskit-dropdown-has {
    position: relative;
  }

  .elementskit-dropdown-has:hover .elementskit-submenu-indicator,
  .elementskit-dropdown-has:focus-within .elementskit-submenu-indicator {
    transform: rotate(180deg);
  }

  .elementskit-dropdown,
  .elementskit-submenu-panel {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    min-width: 250px;
    width: max-content;
    background: rgba(0, 31, 33, 0.98) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(88, 191, 72, 0.25) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(0, 115, 117, 0.2) !important;
    padding: 8px 0 !important;
    list-style: none !important;
    margin: 0;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Force every single item in the dropdown to be full-width in vertical serial order */
  .elementskit-dropdown > li,
  .elementskit-submenu-panel > li,
  .elementskit-dropdown .nav-item,
  .elementskit-submenu-panel .nav-item {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* Invisible hover bridge: covers the gap so mouse movement never loses hover */
  .elementskit-dropdown::before,
  .elementskit-submenu-panel::before {
    content: '';
    position: absolute;
    top: -16px;
    left: 0;
    right: 0;
    height: 16px;
    background: transparent;
  }

  .elementskit-dropdown-has:hover .elementskit-dropdown,
  .elementskit-dropdown-has:hover .elementskit-submenu-panel,
  .elementskit-dropdown-has:focus-within .elementskit-dropdown,
  .elementskit-dropdown-has:focus-within .elementskit-submenu-panel {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    display: flex !important;
  }

  .dropdown-item,
  .elementskit-dropdown li a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 11px 22px !important;
    color: #CBD5E1 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-left: 3px solid transparent;
  }

  .dropdown-item:hover,
  .elementskit-dropdown li a:hover,
  .elementskit-dropdown li.active > a,
  .elementskit-dropdown li.active > .dropdown-item {
    background-color: rgba(88, 191, 72, 0.12) !important;
    color: var(--je-brand-green, #58BF48) !important;
    padding-left: 24px !important;
    border-left-color: var(--je-brand-green, #58BF48);
  }

  .elementskit-menu-hamburger {
    display: none !important;
  }

  .elementskit-nav-identity-panel,
  .elementskit-nav-mobile-footer,
  .elementskit-menu-overlay {
    display: none !important;
  }
}

/* ==========================================
   HEADER CTA (DESKTOP)
   ========================================== */
.je-header-cta-col {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.je-header-book-btn,
.elementor-element-371475b .elementor-button {
  background: var(--je-brand-green, #58BF48) !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  text-transform: capitalize !important;
  padding: 10px 22px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 115, 117, 0.4) !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px;
}

.je-header-book-btn:hover,
.elementor-element-371475b .elementor-button:hover {
  background: var(--je-accent-hover, #009396) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(88, 191, 72, 0.45) !important;
}

/* ==========================================
   MOBILE & TABLET NAVIGATION (<= 1024px)
   ========================================== */
@media (max-width: 1024px) {
  /* Prevent desktop CTA from crowding or wrapping on mobile */
  .je-header-cta-col {
    display: none !important;
  }

  .je-header-inner {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .ata-site-logo-img {
    max-height: 40px;
  }

  .je-header-nav-col {
    justify-content: flex-end;
  }

  /* Hamburger Toggle Button */
  .elementskit-menu-hamburger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    color: #FFFFFF;
    font-size: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
  }

  .elementskit-menu-hamburger:hover,
  .elementskit-menu-hamburger:active {
    background: rgba(88, 191, 72, 0.2);
    border-color: var(--je-brand-green, #58BF48);
    color: var(--je-brand-green, #58BF48);
  }

  /* Offcanvas Drawer */
  .elementskit-menu-container {
    position: fixed !important;
    top: 0 !important;
    right: -340px !important;
    left: auto !important;
    width: 320px !important;
    max-width: 86vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #002224 !important;
    z-index: 10001 !important;
    padding: 22px 20px !important;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.7) !important;
    border-left: 1px solid rgba(0, 115, 117, 0.35) !important;
    transition: right 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  .elementskit-menu-container.active {
    right: 0 !important;
  }

  /* Identity Panel (Logo & Close Button) */
  .elementskit-nav-identity-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding-bottom: 16px !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid rgba(0, 115, 117, 0.3) !important;
    flex-shrink: 0 !important;
  }

  .elementskit-site-title {
    display: flex;
    align-items: center;
  }

  .elementskit-site-title img {
    max-height: 34px;
    width: auto;
  }

  .elementskit-menu-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    font-size: 17px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
  }

  .elementskit-menu-close:hover,
  .elementskit-menu-close:active {
    background: rgba(239, 68, 68, 0.25) !important;
    border-color: #EF4444 !important;
    color: #EF4444 !important;
  }

  /* Mobile Nav Links */
  .elementskit-navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
  }

  .elementskit-navbar-nav > li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    list-style: none !important;
  }

  .ekit-menu-nav-link,
  .elementskit-navbar-nav > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    color: #F1F5F9 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    text-transform: capitalize !important;
    transition: all 0.2s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .ekit-menu-nav-link:hover,
  .elementskit-navbar-nav > li > a:hover,
  .elementskit-navbar-nav > li.active > a,
  .elementskit-navbar-nav > li.active > .ekit-menu-nav-link {
    background: rgba(88, 191, 72, 0.12) !important;
    color: var(--je-brand-green, #58BF48) !important;
  }

  /* Mobile Dropdown Submenu (Accordion) */
  .elementskit-dropdown-has .elementskit-submenu-indicator {
    font-size: 13px !important;
    transition: transform 0.25s ease !important;
    margin-left: auto;
  }

  .elementskit-dropdown-has.ekit-dropdown-open > .ekit-menu-dropdown-toggle .elementskit-submenu-indicator {
    transform: rotate(180deg) !important;
    color: var(--je-brand-green, #58BF48) !important;
  }

  .elementskit-dropdown,
  .elementskit-submenu-panel {
    display: none !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: rgba(0, 18, 19, 0.6) !important;
    border: 1px solid rgba(0, 115, 117, 0.25) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 4px 0 !important;
    margin: 4px 0 8px 12px !important;
    min-width: calc(100% - 12px) !important;
    box-sizing: border-box !important;
    list-style: none !important;
  }

  .elementskit-dropdown-has.ekit-dropdown-open > .elementskit-dropdown,
  .elementskit-dropdown-has.ekit-dropdown-open > .elementskit-submenu-panel {
    display: block !important;
  }

  .dropdown-item,
  .elementskit-dropdown li a {
    display: block !important;
    padding: 10px 14px !important;
    color: #CBD5E1 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
  }

  .dropdown-item:hover,
  .elementskit-dropdown li a:hover,
  .elementskit-dropdown li.active > a,
  .elementskit-dropdown li.active > .dropdown-item {
    background: rgba(88, 191, 72, 0.12) !important;
    color: var(--je-brand-green, #58BF48) !important;
    padding-left: 18px !important;
  }

  /* Mobile Drawer Footer */
  .elementskit-nav-mobile-footer {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: auto !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(0, 115, 117, 0.25) !important;
    flex-shrink: 0 !important;
    width: 100% !important;
  }

  .je-drawer-book-btn {
    background: linear-gradient(135deg, var(--je-brand-teal, #007375) 0%, #009396 100%) !important;
    color: #FFFFFF !important;
    padding: 12px !important;
    border-radius: 10px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 14px rgba(0, 115, 117, 0.4) !important;
    transition: all 0.2s ease !important;
  }

  .je-drawer-book-btn:hover {
    background: linear-gradient(135deg, #00878a 0%, var(--je-brand-green, #58BF48) 100%) !important;
  }

  .je-drawer-phone-link {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(88, 191, 72, 0.3) !important;
    color: #FFFFFF !important;
    padding: 11px !important;
    border-radius: 10px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: all 0.2s ease !important;
  }

  .je-drawer-phone-link i {
    color: var(--je-brand-green, #58BF48) !important;
  }

  .je-drawer-phone-link:hover {
    background: rgba(88, 191, 72, 0.15) !important;
    border-color: var(--je-brand-green, #58BF48) !important;
  }

  /* Backdrop Overlay */
  .elementskit-menu-overlay {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 15, 16, 0.75) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 10000 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
  }

  .elementskit-menu-overlay.active {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* ==========================================================================
   HERO SECTION
   ========================================================================= */
.je-hero-section {
  position: relative;
  background-image: url('../images/bd-remove.png');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 640px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
}

.je-hero-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 10, 10, 0.75) 0%, rgba(0, 20, 20, 0.85) 100%);
  z-index: 1;
}

.je-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
}

.je-hero-main-title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.8);
}

/* ==========================================================================
   SERVICES GRID (SECTION 2)
   ========================================================================= */
.je-section-services {
  padding: 60px 0 40px 0;
  background: #040401;
}

.je-services-flex-container {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  margin-top: 30px;
  width: 100% !important;
}

.je-services-flex-container > .elementor-column,
.je-services-flex-container .je-service-col {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

@media (max-width: 1023px) {
  .je-services-flex-container {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .je-services-flex-container {
    grid-template-columns: 1fr !important;
  }
}

.je-service-card-wrap {
  background: var(--je-bg-surface);
  border: 1px solid var(--je-border-subtle);
  border-radius: 12px;
  padding: 26px 18px;
  text-align: center;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

.je-service-card-wrap:hover {
  border-color: var(--je-accent);
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 115, 117, 0.2);
}

.je-service-icon img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin-bottom: 14px;
  filter: drop-shadow(0 4px 8px rgba(0, 115, 117, 0.3));
}

.je-service-title a {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.je-service-desc a {
  font-size: 13px !important;
  color: var(--je-text-muted) !important;
  text-decoration: none !important;
  line-height: 1.5 !important;
  display: block;
  margin-top: 6px;
}

/* ==========================================================================
   PARTNER SECTION & BANNER (SECTION 3)
   ========================================================================= */
.je-section-partner {
  padding: 50px 0;
  background: #002325;
  background: linear-gradient(180deg, #040401 0%, #002325 100%);
  text-align: center;
}

/* ==========================================================================
   FLEET SECTION (SECTIONS 4, 5, 6)
   ========================================================================= */
.je-section-fleet-intro {
  padding-top: 40px;
  background: var(--je-bg-dark);
}

.je-fleet-row-section {
  padding: 20px 0 40px 0;
  background: var(--je-bg-dark);
}

.je-fleet-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 18px !important;
  width: 100% !important;
}

.je-fleet-grid > .elementor-column,
.je-fleet-grid .je-fleet-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

@media (max-width: 1200px) {
  .je-fleet-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .je-fleet-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 500px) {
  .je-fleet-grid {
    grid-template-columns: 1fr !important;
  }
}

.je-fleet-card-wrap {
  background: var(--je-bg-surface);
  border: 1px solid var(--je-border-subtle);
  border-radius: 14px;
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.3s ease;
  height: 100%;
  box-sizing: border-box;
}

.je-fleet-card-wrap:hover {
  border-color: var(--je-accent);
  box-shadow: 0 10px 25px rgba(0, 115, 117, 0.25);
  transform: translateY(-3px);
}

.je-fleet-title h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 12px;
  min-height: 24px;
}

.je-fleet-image img {
  max-width: 100%;
  height: 120px;
  object-fit: contain;
  margin-bottom: 16px;
}

.je-fleet-specs ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px 0;
  width: 100%;
}

.je-fleet-specs li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
  color: var(--je-text-muted);
  margin-bottom: 6px;
}

.je-fleet-specs i {
  color: #00d2d4;
  font-size: 12px;
}

.je-fleet-btn .elementor-button {
  background: var(--je-accent) !important;
  color: #FFFFFF !important;
  border-radius: 100px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 18px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: inline-block;
}

.je-fleet-btn .elementor-button:hover {
  background: var(--je-accent-hover) !important;
  box-shadow: 0 4px 12px var(--je-accent-glow) !important;
}

/* ==========================================================================
   WHY CHOOSE SECTION (SECTION 7)
   ========================================================================= */
.je-section-why-choose {
  padding: 70px 0;
  background: #040401;
}

.je-features-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
}

.je-features-grid > .elementor-column,
.je-features-grid .je-feature-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

@media (max-width: 1023px) {
  .je-features-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .je-features-grid {
    grid-template-columns: 1fr !important;
  }
}

.je-feature-card-wrap {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: 14px;
  padding: 28px 22px;
  text-align: center;
  transition: all 0.3s ease;
  height: 100%;
  box-sizing: border-box;
}

.je-feature-card-wrap:hover {
  border-color: var(--je-accent);
  box-shadow: 0 10px 25px rgba(0, 115, 117, 0.2);
  transform: translateY(-3px);
}

.je-feature-box img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  margin-bottom: 16px;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.5));
}

.elementor-image-box-title {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin-bottom: 10px;
}

.elementor-image-box-description {
  font-size: 14px !important;
  color: var(--je-text-muted) !important;
  line-height: 1.6 !important;
  margin: 0;
}

/* ==========================================================================
   CTA BANNER (SECTION 8)
   ========================================================================= */
.je-section-cta-banner {
  background: linear-gradient(135deg, #002B2B 0%, #001A1A 100%);
  border-top: 1px solid var(--je-border-accent);
  border-bottom: 1px solid var(--je-border-accent);
}

.je-cta-btn {
  background: var(--je-accent) !important;
  color: #FFFFFF !important;
  border-radius: 100px !important;
  padding: 14px 34px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  display: inline-block;
  box-shadow: 0 4px 18px var(--je-accent-glow) !important;
  transition: all 0.25s ease;
}

.je-cta-btn:hover {
  background: var(--je-accent-hover) !important;
  transform: translateY(-2px);
}

/* ==========================================================================
   FAQ SECTION (SECTION 9)
   ========================================================================= */
.je-section-faq {
  background: var(--je-bg-dark);
  padding: 60px 0;
}

.je-faq-card {
  background: var(--je-bg-card) !important;
  border: 1px solid var(--je-border-subtle) !important;
  border-radius: 10px !important;
  margin-bottom: 12px !important;
  overflow: hidden;
  transition: border-color 0.2s ease;
}

.je-faq-card.active {
  border-color: var(--je-accent) !important;
}

.je-faq-toggle {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px !important;
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background: transparent;
}

.je-faq-card.active .je-faq-toggle {
  color: #00d2d4 !important;
}

.ekit-accordion-icon i {
  color: #00d2d4;
  font-size: 14px;
}

.elementskit-card-body {
  padding: 0 22px 20px 22px;
  color: var(--je-text-muted);
  font-size: 14.5px;
  line-height: 1.7;
}

/* ==========================================================================
   TESTIMONIALS (SECTION 10)
   ========================================================================= */
.je-section-testimonials {
  background: #040401;
  padding: 60px 0;
}

.je-testimonial-card {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: 14px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  box-sizing: border-box;
}

.je-testimonial-rating {
  color: #F59E0B;
  font-size: 14px;
  margin-bottom: 14px;
}

.je-testimonial-content p {
  font-size: 14.5px;
  line-height: 1.7;
  color: #D1D5DB;
  font-style: italic;
  margin-bottom: 20px;
}

.je-testimonial-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.je-testimonial-avatar i {
  font-size: 34px;
  color: var(--je-accent);
}

.je-testimonial-name {
  font-size: 16px !important;
  font-weight: 700 !important;
  margin: 0;
}

.je-testimonial-role {
  font-size: 12px;
  color: var(--je-text-muted);
}

/* ==========================================================================
   HIT THE ROAD CTA (SECTION 11)
   ========================================================================= */
.je-section-hit-road {
  background: linear-gradient(135deg, #002325 0%, #040401 100%);
  padding: 60px 0;
  border-top: 1px solid rgba(0, 115, 117, 0.25);
  border-bottom: none !important;
}

/* ==========================================================================
   AIRPORTS WE COVER (SECTION 12)
   ========================================================================= */
.je-section-airports-covered {
  background: var(--je-bg-dark);
  padding: 50px 0;
}

.je-airports-logo-bar img {
  height: 48px !important;
  max-height: 48px !important;
  width: auto !important;
  object-fit: contain !important;
  display: inline-block;
}

/* ==========================================================================
   FOOTER RECONSTRUCTION
   ========================================================================= */
.je-footer-root {
  background-color: #001F21 !important;
  padding-bottom: 30px;
  margin: 0 !important;
  border-radius: 0 !important;
}

.je-footer-curved-banner {
  border-radius: 0 !important;
  background-image: none !important;
  background-color: #001F21 !important;
  padding: 60px 20px 20px 20px;
  box-shadow: none !important;
  margin: 0 !important;
}

.elementor-82 .elementor-element.elementor-element-488a6bf,
.je-footer-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  max-width: 1340px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
}

@media (min-width: 1025px) {
  .elementor-82 .elementor-element.elementor-element-27acac2,
  .je-footer-about-col {
    flex: 0 0 335px !important;
    width: 335px !important;
    max-width: 335px !important;
    padding: 10px 10px 10px 40px !important;
    box-sizing: border-box !important;
  }

  .elementor-82 .elementor-element.elementor-element-4617258,
  .je-footer-links-col {
    flex: 0 0 295px !important;
    width: 295px !important;
    max-width: 295px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .elementor-82 .elementor-element.elementor-element-318ae90,
  .elementor-82 .elementor-element.elementor-element-37994f1,
  .je-footer-airports-col {
    flex: 0 0 335px !important;
    width: 335px !important;
    max-width: 335px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .elementor-82 .elementor-element.elementor-element-be743ec,
  .elementor-82 .elementor-element.elementor-element-ce0291e,
  .je-footer-contact-col {
    flex: 0 0 335px !important;
    width: 335px !important;
    max-width: 335px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }
}

.elementor-82 .elementor-element.elementor-element-773df48,
.elementor-82 .elementor-element.elementor-element-085f967,
.je-footer-copyright-bar {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 1340px !important;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-82 .elementor-element.elementor-element-27acac2,
  .elementor-82 .elementor-element.elementor-element-4617258,
  .elementor-82 .elementor-element.elementor-element-318ae90,
  .elementor-82 .elementor-element.elementor-element-37994f1,
  .elementor-82 .elementor-element.elementor-element-be743ec,
  .elementor-82 .elementor-element.elementor-element-ce0291e,
  .je-footer-col {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    padding: 15px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 767px) {
  .elementor-82 .elementor-element.elementor-element-488a6bf {
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-82 .elementor-element.elementor-element-27acac2,
  .elementor-82 .elementor-element.elementor-element-4617258,
  .elementor-82 .elementor-element.elementor-element-318ae90,
  .elementor-82 .elementor-element.elementor-element-37994f1,
  .elementor-82 .elementor-element.elementor-element-be743ec,
  .elementor-82 .elementor-element.elementor-element-ce0291e,
  .je-footer-col {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 15px !important;
    box-sizing: border-box !important;
  }

  .elementor-82 .elementor-element.elementor-element-162dac9 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-82 .elementor-element.elementor-element-085f967 {
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 15px !important;
    box-sizing: border-box !important;
  }

  .elementor-82 .elementor-element.elementor-element-542d185 {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  .elementor-82 .elementor-element.elementor-element-542d185 .elementor-heading-title {
    text-align: center !important;
  }

  .elementor-82 .elementor-element.elementor-element-30f33a7 {
    margin: 15px 0 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }
}

.je-footer-col h4 {
  font-size: 20px !important;
  font-weight: 700 !important;
  margin-bottom: 20px;
  color: #FFFFFF;
}

.je-footer-about-col p {
  font-size: 13.5px;
  color: var(--je-text-body);
  line-height: 1.7;
  margin-top: 16px;
  margin-bottom: 20px;
}

.ekit_social_media {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 12px;
}

.ekit_social_media li a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  text-decoration: none;
  transition: all 0.2s ease;
}

.ekit_social_media li a:hover {
  background: var(--je-accent);
  color: #FFFFFF;
  transform: translateY(-2px);
}

.je-footer-link-list,
.je-footer-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.je-footer-link-list li,
.je-footer-contact-list li {
  margin-bottom: 12px;
}

.je-footer-link-list a,
.je-footer-contact-list a {
  color: var(--je-text-body);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
}

.je-footer-link-list a:hover,
.je-footer-contact-list a:hover {
  color: #00d2d4;
}

.je-footer-link-list i,
.je-footer-contact-list i {
  margin-top: 3px;
  color: var(--je-accent);
}

.je-footer-copyright-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 40px;
  padding-top: 24px;
  text-align: center;
  max-width: var(--je-container-width);
  margin-left: auto;
  margin-right: auto;
}

.je-footer-copyright-bar p {
  font-size: 13px;
  color: var(--je-text-muted);
  margin: 0;
}

/* ==========================================================================
    HERO DUAL BOOKING FORMS (Stage 2B)
    Two booking forms side-by-side over the airplane hero, per reference:
    LEFT = Airport/Non Airport, RIGHT = Hourly. Transparent dark bordered panels
    with a thin white border and subtle radius; the airplane shows through.
    Reference @~1024px: panel ~431px, gap ~48px, outer margin ~45px.
    ========================================================================== */
 .je-hero-dual-booking {
   position: relative;
   z-index: 2;
   width: 100%;
   max-width: 1000px;          /* ~ 2Ã—431 + 48 gap + margins at reference scale */
   margin: 0 auto;
   padding: 0 45px;
   display: flex;
   gap: 48px;
   align-items: stretch;
   justify-content: center;
   box-sizing: border-box;
 }
 
 .je-booking-panel {
   flex: 1 1 0;
   min-width: 100%;               /* allow equal shrink, no overflow */
   max-width: 431px;
   background: rgba(0, 12, 12, 0.45);   /* dark translucent â€” airplane visible */
   border: 1px solid rgba(255, 255, 255, 0.55);
   border-radius: 6px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
   padding: 10px;
   box-sizing: border-box;
   display: flex;
   flex-direction: column;
 }
 
 .je-booking-embed {
   width: 100%;
   height: 620px;              /* fits Journey step; SPA scrolls internally if taller */
   border: none;
   display: block;
   background: transparent;
   color-scheme: normal;       /* keep transparent bg so hero shows through */
 }
 
 /* Wider desktop: allow the composition to scale up but keep two equal columns
    and the reference proportions. */
 @media (min-width: 1280px) {
   .je-hero-dual-booking {
     max-width: 1120px;
     gap: 56px;
   }
   .je-booking-panel { max-width: 500px; }
   .je-booking-embed { height: 640px; }
 }
 
 @media (min-width: 1440px) {
   .je-hero-dual-booking {
     max-width: 1200px;
     gap: 60px;
   }
   .je-booking-panel { max-width: 540px; }
 }
 
 /* Tablet: keep two columns while usable, tighten gap/margins. */
 @media (max-width: 1024px) and (min-width: 769px) {
   .je-hero-dual-booking {
     max-width: 960px;
     gap: 32px;
     padding: 0 24px;
   }
   .je-booking-embed { height: 640px; }
 }
 
 /* Mobile: stack â€” Airport form first, Hourly second, full width, no overflow. */
 @media (max-width: 768px) {
   .je-hero-dual-booking {
     flex-direction: column;
     gap: 24px;
     max-width: 520px;
     padding: 0 16px;
   }
   .je-booking-panel {
     max-width: 100%;
     width: 100%;
   }
   .je-booking-embed { height: 720px; }
 }
 
 /* ==========================================================================
    NATIVE HERO DUAL BOOKING FORMS
    Screenshot-faithful local UI. Scoped to the hero booking component only.
    ========================================================================== */
 .je-hero-dual-booking .je-booking-panel {
   min-height: 0;
   padding: 14px 16px 16px;
   background: rgba(10, 18, 18, 0.58);
   border: 1px solid rgba(255, 255, 255, 0.68);
   border-radius: 4px;
   box-shadow: 0 8px 22px rgba(0, 0, 0, 0.24);
   overflow: hidden;
 }
 
 .je-hero-dual-booking .je-booking-panel-title {
   margin: 0 0 14px;
   color: #fff;
   font-family: 'DM Sans', sans-serif;
   font-size: 15px;
   font-weight: 700;
   line-height: 1.3;
   text-align: center;
 }
 
 .je-hero-dual-booking .je-booking-tabs {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 14px;
   margin-bottom: 16px;
 }
 
 .je-hero-dual-booking .je-booking-tab,
 .je-hero-dual-booking .je-booking-primary,
 .je-hero-dual-booking .je-booking-secondary {
   min-height: 34px;
   border: 1px solid #007375;
   border-radius: 2px;
   padding: 7px 10px;
   color: #fff;
   font-family: 'DM Sans', sans-serif;
   font-size: 11px;
   font-weight: 600;
   line-height: 1.15;
   cursor: pointer;
   transition: background-color .18s ease, color .18s ease, border-color .18s ease;
 }
 
 .je-hero-dual-booking .je-booking-tab {
   background: rgba(0, 0, 0, 0.12);
 }
 
 .je-hero-dual-booking .je-booking-tab:hover,
 .je-hero-dual-booking .je-booking-tab:focus-visible,
 .je-hero-dual-booking .je-booking-tab.is-active {
   background: #007375;
   border-color: #007375;
   color: #fff;
 }
 
 .je-hero-dual-booking .je-native-booking-form {
   min-width: 100%;
 }
 
 .je-hero-dual-booking .je-booking-field-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 9px 10px;
 }
 
 .je-hero-dual-booking .je-booking-field--wide {
   grid-column: 1 / -1;
 }
 
 .je-hero-dual-booking .je-booking-field {
   display: block;
   min-width: 100%;
 }
 
 .je-hero-dual-booking .je-booking-field input,
 .je-hero-dual-booking .je-booking-field select {
   display: block;
   width: 100%;
   height: 37px;
   box-sizing: border-box;
   border: 1px solid rgba(0, 0, 0, 0.16);
   border-radius: 3px;
   padding: 8px 10px;
   background: rgba(255, 255, 255, 0.96);
   color: #303030;
   font-family: 'DM Sans', sans-serif;
   font-size: 11px;
   font-weight: 400;
   line-height: 1.2;
   outline: none;
 }
 
 .je-hero-dual-booking .je-booking-field input::placeholder {
   color: #777;
   opacity: 1;
 }
 
 .je-hero-dual-booking .je-booking-field input:focus,
 .je-hero-dual-booking .je-booking-field select:focus {
   border-color: #007375;
   box-shadow: 0 0 0 2px rgba(0, 115, 117, 0.28);
 }
 
 .je-hero-dual-booking .je-booking-field select {
   appearance: auto;
   cursor: pointer;
 }
 
 .je-hero-dual-booking .je-booking-price-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   min-height: 37px;
   margin-top: 12px;
   border-radius: 3px;
   padding: 8px 10px;
   background: rgba(255, 255, 255, 0.96);
   color: #007375;
   font-family: 'DM Sans', sans-serif;
   font-size: 12px;
   line-height: 1.2;
 }
 
 .je-hero-dual-booking .je-booking-price-row strong {
   font-weight: 700;
   color: #004242 !important;
 }
 
 .je-hero-dual-booking .je-booking-actions {
   display: flex;
   justify-content: flex-end;
   gap: 8px;
   margin-top: 12px;
 }
 
 .je-hero-dual-booking .je-booking-actions--split {
   justify-content: stretch;
 }
 
 .je-hero-dual-booking .je-booking-actions--split > * {
   flex: 1 1 0;
 }
 
 .je-hero-dual-booking .je-booking-primary {
   background: #007375;
 }
 
 .je-hero-dual-booking .je-booking-secondary {
   background: rgba(0, 0, 0, 0.14);
 }
 
 .je-hero-dual-booking .je-booking-primary:hover,
 .je-hero-dual-booking .je-booking-primary:focus-visible,
 .je-hero-dual-booking .je-booking-secondary:hover,
 .je-hero-dual-booking .je-booking-secondary:focus-visible {
   border-color: #00a3a3;
   background: #00a3a3;
 }
 
 .je-hero-dual-booking .je-booking-via-fields {
   margin-top: 9px;
 }
 
 .je-hero-dual-booking .je-booking-local-note {
   margin: 10px 0 0;
   color: rgba(255, 255, 255, 0.72);
   font-family: 'DM Sans', sans-serif;
   font-size: 10px;
   line-height: 1.4;
   text-align: center;
 }
 
 .je-hero-dual-booking .je-booking-confirmation {
   min-height: 285px;
   box-sizing: border-box;
   border: 1px solid rgba(0, 115, 117, 0.35);
   border-radius: 4px;
   padding: 22px 18px;
   background: rgba(222, 255, 235, 0.95);
   color: #195b38;
   text-align: center;
 }
 
 .je-hero-dual-booking .je-booking-confirmation-mark {
   display: block;
   margin-bottom: 7px;
   color: #2e9d61;
   font-size: 28px;
   line-height: 1;
 }
 
 .je-hero-dual-booking .je-booking-confirmation h4 {
   margin: 0 0 8px;
   color: #195b38;
   font-family: 'DM Sans', sans-serif;
   font-size: 16px;
   font-weight: 700;
 }
 
 .je-hero-dual-booking .je-booking-confirmation p {
   margin: 7px 0;
   color: #367453;
   font-family: 'DM Sans', sans-serif;
   font-size: 11px;
   line-height: 1.45;
 }
 
 .je-hero-dual-booking .je-booking-reference {
   margin: 12px 0;
   border-radius: 3px;
   padding: 9px;
   background: rgba(255, 255, 255, 0.82);
 }
 
 .je-hero-dual-booking .je-booking-reference small,
 .je-hero-dual-booking .je-booking-reference strong {
   display: block;
 }
 
 .je-hero-dual-booking .je-booking-reference small {
   color: #5a8b70;
   font-size: 10px;
 }
 
 .je-hero-dual-booking .je-booking-reference strong {
   margin-top: 3px;
   color: #244c34;
   font-size: 13px;
 }
 
 @media (min-width: 1280px) {
   .je-hero-dual-booking .je-booking-panel-title {
     font-size: 16px;
   }
   .je-hero-dual-booking .je-booking-field input,
   .je-hero-dual-booking .je-booking-field select {
     height: 39px;
     font-size: 12px;
   }
 }
 
 @media (max-width: 768px) {
   .je-hero-dual-booking .je-booking-panel {
     padding: 14px 14px 16px;
   }
   .je-hero-dual-booking .je-booking-field-grid {
     gap: 9px;
   }
 }
 
 @media (max-width: 420px) {
   .je-hero-dual-booking .je-booking-tabs {
     gap: 7px;
   }
   .je-hero-dual-booking .je-booking-tab,
   .je-hero-dual-booking .je-booking-primary,
   .je-hero-dual-booking .je-booking-secondary {
     padding-left: 6px;
     padding-right: 6px;
     font-size: 10px;
   }
 }
 
 /* Native form panels must size to their local form contents. This overrides the
    legacy iframe-era flex sizing that allowed the outer panel to collapse while
    children overflowed at mobile widths. */
 .je-hero-dual-booking .je-booking-panel {
   flex: 0 1 auto !important;
   height: auto !important;
   min-height: 0 !important;
   align-self: stretch !important;
 }
 .je-hero-dual-booking .je-native-booking-form,
 .je-hero-dual-booking .je-booking-step {
   height: auto !important;
   min-height: 0 !important;
 }
 
 /* Equal desktop columns: panels must fill the available hero composition rather
    than shrink to their intrinsic form-content width. Mobile overrides retain
    full-width stacked panels. */
 .je-hero-dual-booking .je-booking-panel {
   flex: 1 1 0 !important;
   width: 100%;
 }
 @media (max-width: 768px) {
   .je-hero-dual-booking .je-booking-panel {
     flex: 0 1 auto !important;
     width: 100%;
   }
 }
 
 /* ==========================================================================


/* ==========================================================================
   GLOBAL FRONTEND SCROLL TO TOP BUTTON
   ========================================================================== */
.je-scroll-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 44px;
  height: 44px;
  background-color: var(--je-accent);
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 999;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}

.je-scroll-to-top.is-visible {
  opacity: 1;
  visibility: visible;
}

.je-scroll-to-top:hover {
  background-color: var(--je-accent-hover);
  transform: translateY(-3px);
}

.je-scroll-to-top i {
  font-size: 16px !important;
}


/* ==========================================================================
   STAGE 9: COMPLETE SUBPAGES EXECUTIVE LUXURY RECONSTRUCTION & COLOR HARMONY
   Enforcing the 3 Solid Color System across all subpages:
   - Base 1: #002B2B (Signature Deep Teal)
   - Base 2: #004242 (Rich Petrol Teal / Contrast Section)
   - Base 3: #001F1F (Deep Luxury Card & Module Surface)
   - Accent 1: #3FA844 (Vibrant Brand Green for CTAs & Badges)
   - Accent 2: #00E5E8 (Luminous Cyan for Highlights, Icons & Key Metrics)
   - Typography: #FFFFFF (Headings) & #B2CCCC / #E2E8F0 (High-Legibility Body)
   ========================================================================== */

/* 1. Global Visibility & Typography Fixes for All Subpages */
.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Purge any garish text strokes or dark text across all subpages */
.page-id-8989,
.page-id-23686,
.page-id-5751,
.page-id-3193,
.page-id-13807,
.page-id-13766,
.page-id-13686,
.page-id-34628,
.page-id-3,
.page-id-12,
.blog {
  background-color: #002B2B !important;
  color: #B2CCCC !important;
}

.page-id-8989 *,
.page-id-23686 *,
.page-id-5751 *,
.page-id-3193 *,
.page-id-13807 *,
.page-id-13766 *,
.page-id-13686 *,
.page-id-14543 *,
.page-id-34628 *,
.page-id-3 *,
.page-id-12 * {
  -webkit-text-stroke: 0px transparent !important;
  stroke: none !important;
}

/* Global Heading & Typography Rules for Subpages */
.page-id-8989 .elementor-heading-title,
.page-id-23686 .elementor-heading-title,
.page-id-5751 .elementor-heading-title,
.page-id-3193 .elementor-heading-title,
.page-id-13807 .elementor-heading-title,
.page-id-13766 .elementor-heading-title,
.page-id-13686 .elementor-heading-title,
.page-id-14543 .elementor-heading-title,
.page-id-34628 .elementor-heading-title,
.page-id-3 .elementor-heading-title,
.page-id-12 .elementor-heading-title,
.page-id-8989 h1, .page-id-8989 h2, .page-id-8989 h3, .page-id-8989 h4,
.page-id-23686 h1, .page-id-23686 h2, .page-id-23686 h3, .page-id-23686 h4,
.page-id-5751 h1, .page-id-5751 h2, .page-id-5751 h3, .page-id-5751 h4,
.page-id-3193 h1, .page-id-3193 h2, .page-id-3193 h3, .page-id-3193 h4,
.page-id-13807 h1, .page-id-13807 h2, .page-id-13807 h3, .page-id-13807 h4,
.page-id-13766 h1, .page-id-13766 h2, .page-id-13766 h3, .page-id-13766 h4,
.page-id-13686 h1, .page-id-13686 h2, .page-id-13686 h3, .page-id-13686 h4,
.page-id-14543 h1, .page-id-14543 h2, .page-id-14543 h3, .page-id-14543 h4,
.page-id-34628 h1, .page-id-34628 h2, .page-id-34628 h3, .page-id-34628 h4,
.page-id-3 h1, .page-id-3 h2, .page-id-3 h3, .page-id-3 h4,
.page-id-12 h1, .page-id-12 h2, .page-id-12 h3, .page-id-12 h4 {
  color: #FFFFFF !important;
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  letter-spacing: normal !important;
  text-shadow: none !important;
}

/* Global Subpage Paragraphs & Content Typography */
.page-id-8989 p, .page-id-8989 li,
.page-id-23686 p, .page-id-23686 li,
.page-id-5751 p, .page-id-5751 li,
.page-id-3193 p, .page-id-3193 li,
.page-id-13807 p, .page-id-13807 li,
.page-id-13766 p, .page-id-13766 li,
.page-id-13686 p, .page-id-13686 li,
.page-id-14543 p, .page-id-14543 li,
.page-id-34628 p, .page-id-34628 li,
.page-id-3 p, .page-id-3 li,
.page-id-12 p, .page-id-12 li {
  font-family: 'DM Sans', sans-serif !important;
  color: #B2CCCC !important;
  line-height: 1.75 !important;
}

/* Subpage Hero Banners (Top Header Sections) */
.page-id-8989 .elementor-top-section:first-of-type,
.page-id-23686 .elementor-top-section:first-of-type,
.page-id-5751 .elementor-top-section:first-of-type,
.page-id-5751 .elementor-element-1a9f680,
.page-id-3193 .elementor-element-de92ff2,
.page-id-13807 .elementor-top-section:first-of-type,
.page-id-13766 .elementor-top-section:first-of-type,
.page-id-13686 .elementor-top-section:first-of-type,
.page-id-34628 .elementor-top-section:first-of-type,
.page-id-3 .elementor-element-246da7b5,
.page-id-12 .elementor-element-64ae3e5 {
  background: #002B2B !important;
  border-bottom: 1px solid rgba(0, 229, 232, 0.12) !important;
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.page-id-8989 .elementor-top-section:first-of-type h1,
.page-id-8989 .elementor-top-section:first-of-type .elementor-heading-title,
.page-id-23686 .elementor-top-section:first-of-type h1,
.page-id-23686 .elementor-top-section:first-of-type .elementor-heading-title,
.page-id-5751 .elementor-element-1a9f680 h1,
.page-id-5751 .elementor-element-1a9f680 .elementor-heading-title,
.page-id-3193 .elementor-element-de92ff2 h1,
.page-id-3193 .elementor-element-de92ff2 .elementor-heading-title,
.page-id-13807 .elementor-top-section:first-of-type h1,
.page-id-13766 .elementor-top-section:first-of-type h1,
.page-id-13686 .elementor-top-section:first-of-type h1,
.page-id-3 .elementor-element-cc10a4a .elementor-heading-title,
.page-id-12 .elementor-element-64ae3e5 h1 {
  font-family: 'Cormorant Upright', Georgia, serif !important;
  font-size: 46px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  text-align: center !important;
  margin: 0 auto !important;
}

/* ==========================================================================
   2. FLEET / VEHICLES PAGE (/vehicles - .elementor-8989)
   ========================================================================== */
.elementor-8989 .elementor-top-section {
  background-color: #002B2B !important;
}

/* Vehicle Showcase Card Container */
.elementor-8989 .elementor-element-4ff843a,
.elementor-8989 .elementor-element-a3eb321,
.elementor-8989 .elementor-element-4367142,
.elementor-8989 .elementor-element-392379a {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.16) !important;
  border-radius: 14px !important;
  padding: 30px 24px !important;
  margin-bottom: 30px !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-8989 .elementor-element-4ff843a:hover,
.elementor-8989 .elementor-element-a3eb321:hover,
.elementor-8989 .elementor-element-4367142:hover,
.elementor-8989 .elementor-element-392379a:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(63, 168, 68, 0.45) !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.5) !important;
}

/* Vehicle Image */
.elementor-8989 .elementor-widget-image img {
  filter: drop-shadow(0 15px 25px rgba(0, 0, 0, 0.55)) !important;
  transition: transform 0.35s ease !important;
}

.elementor-8989 .elementor-element-4ff843a:hover .elementor-widget-image img,
.elementor-8989 .elementor-element-a3eb321:hover .elementor-widget-image img,
.elementor-8989 .elementor-element-4367142:hover .elementor-widget-image img,
.elementor-8989 .elementor-element-392379a:hover .elementor-widget-image img {
  transform: scale(1.03) !important;
}

/* Vehicle Category Badge (e.g., Luxury Saloon, First Class, Luxury Van, Luxury SUV) */
.elementor-8989 .elementor-element-3b6920f .elementor-heading-title,
.elementor-8989 .elementor-element-3d207f9 .elementor-heading-title,
.elementor-8989 .elementor-element-924d2b8 .elementor-heading-title,
.elementor-8989 .elementor-element-f837d5a .elementor-heading-title {
  color: #00E5E8 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-top: 10px !important;
}

/* Vehicle Title (e.g. MERCEDES-BENZ E-CLASS) */
.elementor-8989 .elementor-element-8bead2a .elementor-heading-title,
.elementor-8989 .elementor-element-eef0146 .elementor-heading-title,
.elementor-8989 .elementor-element-308739a .elementor-heading-title,
.elementor-8989 .elementor-element-3d3314e .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Cormorant Upright', Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  margin: 6px 0 12px !important;
}

/* Vehicle Description */
.elementor-8989 .elementor-element-451e5e0 .elementor-heading-title,
.elementor-8989 .elementor-element-40ea46a .elementor-heading-title,
.elementor-8989 .elementor-element-11685d6 .elementor-heading-title,
.elementor-8989 .elementor-element-6287512 .elementor-heading-title {
  color: #94A3B8 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  margin-bottom: 20px !important;
}

/* Vehicle Spec Icons Grid */
.elementor-8989 .elementor-widget-icon .elementor-icon {
  background: rgba(0, 229, 232, 0.1) !important;
  color: #00E5E8 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 8px !important;
  border: 1px solid rgba(0, 229, 232, 0.2) !important;
  transition: all 0.2s ease !important;
}

.elementor-8989 .elementor-inner-column:hover .elementor-widget-icon .elementor-icon {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  border-color: #3FA844 !important;
}

.elementor-8989 .elementor-widget-icon i {
  font-size: 18px !important;
}

/* Vehicle Spec Labels */
.elementor-8989 .elementor-element-318eefc .elementor-heading-title,
.elementor-8989 .elementor-element-d3fa965 .elementor-heading-title,
.elementor-8989 .elementor-element-15e8ce1 .elementor-heading-title,
.elementor-8989 .elementor-element-6d601b0 .elementor-heading-title,
.elementor-8989 .elementor-element-cbaebc9 .elementor-heading-title,
.elementor-8989 .elementor-element-0e9e4f5 .elementor-heading-title,
.elementor-8989 .elementor-element-33b6805 .elementor-heading-title,
.elementor-8989 .elementor-element-c689e40 .elementor-heading-title,
.elementor-8989 .elementor-element-86d7560 .elementor-heading-title,
.elementor-8989 .elementor-element-268e64c .elementor-heading-title,
.elementor-8989 .elementor-element-6f345eb .elementor-heading-title,
.elementor-8989 .elementor-element-2e6bbf4 .elementor-heading-title,
.elementor-8989 .elementor-element-c6ca024 .elementor-heading-title,
.elementor-8989 .elementor-element-59d8708 .elementor-heading-title,
.elementor-8989 .elementor-element-20e9816 .elementor-heading-title,
.elementor-8989 .elementor-element-45ccd1b .elementor-heading-title,
.elementor-8989 .elementor-element-d298b58 .elementor-heading-title,
.elementor-8989 .elementor-element-ff22dc1 .elementor-heading-title,
.elementor-8989 .elementor-element-f784751 .elementor-heading-title,
.elementor-8989 .elementor-element-196d325 .elementor-heading-title,
.elementor-8989 .elementor-element-ee02fba .elementor-heading-title,
.elementor-8989 .elementor-element-2376941 .elementor-heading-title,
.elementor-8989 .elementor-element-8c38ccf .elementor-heading-title,
.elementor-8989 .elementor-element-249156b .elementor-heading-title,
.elementor-8989 .elementor-element-b142059 .elementor-heading-title,
.elementor-8989 .elementor-element-80b5958 .elementor-heading-title,
.elementor-8989 .elementor-element-74960ee .elementor-heading-title,
.elementor-8989 .elementor-element-e97fd19 .elementor-heading-title {
  color: #CBD5E1 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  text-align: center !important;
  line-height: 1.4 !important;
}

/* Pricing Rates */
.elementor-8989 .elementor-element-314ca8d .elementor-heading-title,
.elementor-8989 .elementor-element-db95080 .elementor-heading-title,
.elementor-8989 .elementor-element-4318d18 .elementor-heading-title,
.elementor-8989 .elementor-element-c972e19 .elementor-heading-title,
.elementor-8989 .elementor-element-ceff2b6 .elementor-heading-title {
  color: #00E5E8 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

.elementor-8989 .elementor-element-963e639 .elementor-heading-title,
.elementor-8989 .elementor-element-36a51d0 .elementor-heading-title,
.elementor-8989 .elementor-element-ebf91b1 .elementor-heading-title,
.elementor-8989 .elementor-element-bf58797 .elementor-heading-title {
  color: #94A3B8 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
}

/* View Details Buttons */
.elementor-8989 .elementor-widget-button .elementor-button {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 10px 22px !important;
  box-shadow: 0 4px 14px rgba(63, 168, 68, 0.3) !important;
  transition: all 0.25s ease !important;
  border: none !important;
}

.elementor-8989 .elementor-widget-button .elementor-button:hover {
  background: #359139 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(63, 168, 68, 0.45) !important;
}

/* Booking Phone Call Links */
.elementor-8989 .elementor-element-f949c86 a,
.elementor-8989 .elementor-element-7e4c819 a,
.elementor-8989 .elementor-element-ad23306 a,
.elementor-8989 .elementor-element-022c382 a {
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  transition: color 0.2s ease !important;
}

.elementor-8989 .elementor-element-f949c86 a:hover,
.elementor-8989 .elementor-element-7e4c819 a:hover,
.elementor-8989 .elementor-element-ad23306 a:hover,
.elementor-8989 .elementor-element-022c382 a:hover {
  color: #00E5E8 !important;
}

/* Bottom Call to Action Section */
.elementor-8989 .elementor-element-10ac8561 {
  background: #004242 !important;
  border: 1px solid rgba(0, 229, 232, 0.15) !important;
  border-radius: 16px !important;
  padding: 50px 30px !important;
  margin-top: 40px !important;
  margin-bottom: 50px !important;
  text-align: center !important;
}

.elementor-8989 .elementor-element-74b3830a p {
  color: #FFFFFF !important;
  font-family: 'Cormorant Upright', Georgia, serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

.elementor-8989 .elementor-element-2d98262f a {
  color: #B2CCCC !important;
  font-size: 16px !important;
}

.elementor-8989 .elementor-element-a9c94fe .elementor-button {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 13px 34px !important;
  box-shadow: 0 4px 18px rgba(63, 168, 68, 0.35) !important;
}

.elementor-8989 .elementor-element-a9c94fe .elementor-button:hover {
  background: #359139 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(63, 168, 68, 0.5) !important;
}

/* ==========================================================================
   3. CORPORATE SERVICES PAGE (/corporate - .elementor-23686)
   ========================================================================== */
.elementor-23686 .elementor-top-section {
  background-color: #002B2B !important;
}

/* Left Sidebar Menu Card */
.elementor-23686 .elementor-element-f04bf44 {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.15) !important;
  border-radius: 14px !important;
  padding: 26px 20px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

.elementor-23686 .elementor-element-f04bf44 .elementor-icon-list-item a {
  background: rgba(0, 43, 43, 0.5) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-radius: 8px !important;
  padding: 12px 18px !important;
  margin-bottom: 8px !important;
  color: #FFFFFF !important;
  font-weight: 500 !important;
  font-size: 14.5px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: all 0.25s ease !important;
}

.elementor-23686 .elementor-element-f04bf44 .elementor-icon-list-item a:hover {
  background: #004242 !important;
  border-color: #3FA844 !important;
  color: #00E5E8 !important;
  transform: translateX(4px) !important;
}

/* Need Help Emergency Box */
.elementor-23686 .elementor-element-59fe84b {
  background: linear-gradient(145deg, #001F1F 0%, #003838 100%) !important;
  border: 1px solid rgba(0, 229, 232, 0.2) !important;
  border-radius: 14px !important;
  padding: 30px 22px !important;
  text-align: center !important;
  margin-top: 24px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

.elementor-23686 .elementor-element-59fe84b .elementor-heading-title {
  color: #FFFFFF !important;
  font-size: 24px !important;
}

.elementor-23686 .elementor-element-59fe84b p {
  color: #B2CCCC !important;
  font-size: 14px !important;
}

.elementor-23686 .elementor-element-59fe84b .elementor-button {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  box-shadow: 0 4px 16px rgba(63, 168, 68, 0.35) !important;
}

/* Main Content Area */
.elementor-23686 .elementor-element-31096db .elementor-heading-title {
  font-size: 38px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  -webkit-text-stroke: 0px transparent !important;
  margin-bottom: 20px !important;
}

.elementor-23686 .elementor-element-698d28a p,
.elementor-23686 .elementor-element-773df40 p {
  color: #B2CCCC !important;
  font-size: 15.5px !important;
  line-height: 1.8 !important;
}

.elementor-23686 .elementor-element-317bfb2 img {
  border-radius: 14px !important;
  border: 1px solid rgba(0, 229, 232, 0.15) !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35) !important;
}

/* 4 Feature Service Cards */
.elementor-23686 .elementor-element-4447477,
.elementor-23686 .elementor-element-a0100d8,
.elementor-23686 .elementor-element-9577717,
.elementor-23686 .elementor-element-0599a0f {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.14) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  transition: all 0.25s ease !important;
}

.elementor-23686 .elementor-element-4447477:hover,
.elementor-23686 .elementor-element-a0100d8:hover,
.elementor-23686 .elementor-element-9577717:hover,
.elementor-23686 .elementor-element-0599a0f:hover {
  transform: translateY(-3px) !important;
  border-color: #3FA844 !important;
}

.elementor-23686 .elementor-widget-icon-box .elementor-icon-box-title {
  color: #FFFFFF !important;
  font-family: 'Cormorant Upright', Georgia, serif !important;
  font-size: 22px !important;
  margin-bottom: 8px !important;
}

.elementor-23686 .elementor-widget-icon-box .elementor-icon-box-description {
  color: #94A3B8 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.elementor-23686 .elementor-widget-icon-box .elementor-icon {
  color: #3FA844 !important;
  font-size: 26px !important;
}

/* FAQ Accordions on Corporate Page */
.elementor-23686 .elementor-accordion-item {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.12) !important;
  border-radius: 10px !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
}

.elementor-23686 .elementor-tab-title {
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15.5px !important;
  padding: 18px 22px !important;
  background: transparent !important;
  border: none !important;
}

.elementor-23686 .elementor-tab-title .elementor-accordion-icon {
  color: #3FA844 !important;
}

.elementor-23686 .elementor-tab-content {
  color: #B2CCCC !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  padding: 0 22px 20px !important;
  border: none !important;
}

/* ==========================================================================
   4. SERVICES OVERVIEW PAGE (/service - .elementor-5751)
   ========================================================================== */
.elementor-5751 section.elementor-top-section {
  background-color: #002B2B !important;
}

/* Category Cards Row */
.elementor-5751 .elementor-element-843f94b .elementor-inner-column {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.15) !important;
  border-radius: 12px !important;
  padding: 24px 16px !important;
  margin: 8px !important;
  text-align: center !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-5751 .elementor-element-843f94b .elementor-inner-column:hover {
  transform: translateY(-4px) !important;
  border-color: #3FA844 !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4) !important;
}

.elementor-5751 .elementor-element-843f94b img {
  width: 60px !important;
  height: 60px !important;
  margin: 0 auto 14px !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.9 !important;
}

.elementor-5751 .elementor-element-843f94b .elementor-heading-title a {
  color: #FFFFFF !important;
  font-family: 'Cormorant Upright', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  transition: color 0.2s ease !important;
}

.elementor-5751 .elementor-element-843f94b .elementor-inner-column:hover .elementor-heading-title a {
  color: #00E5E8 !important;
}

.elementor-5751 .elementor-element-843f94b p {
  color: #94A3B8 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Vehicle Fleet 10-Card Grid */
.elementor-5751 .elementor-element-c16478a .elementor-inner-column,
.elementor-5751 .elementor-element-f626b41 .elementor-inner-column {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.14) !important;
  border-radius: 14px !important;
  padding: 24px 18px !important;
  margin: 10px !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35) !important;
  transition: all 0.3s ease !important;
  text-align: center !important;
}

.elementor-5751 .elementor-element-c16478a .elementor-inner-column:hover,
.elementor-5751 .elementor-element-f626b41 .elementor-inner-column:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(63, 168, 68, 0.45) !important;
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.45) !important;
}

.elementor-5751 h3.elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Cormorant Upright', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

.elementor-5751 .elementor-icon-list-items {
  text-align: left !important;
  padding: 0 8px !important;
  margin: 14px 0 !important;
}

.elementor-5751 .elementor-icon-list-item {
  color: #CBD5E1 !important;
  font-size: 13px !important;
  margin-bottom: 6px !important;
}

.elementor-5751 .elementor-icon-list-icon i {
  color: #00E5E8 !important;
  font-size: 11px !important;
}

.elementor-5751 .elementor-align-center .elementor-button {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  padding: 10px 22px !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  box-shadow: 0 4px 14px rgba(63, 168, 68, 0.3) !important;
  border: none !important;
  transition: all 0.25s ease !important;
}

.elementor-5751 .elementor-align-center .elementor-button:hover {
  background: #359139 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(63, 168, 68, 0.45) !important;
}

/* Testimonial Box on Service Page - Override glaring white background */
.elementor-5751 .elementor-element-533b4b3 {
  background-color: #004242 !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.elementor-5751 .elementskit-single-testimonial-slider {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.16) !important;
  border-radius: 14px !important;
  padding: 28px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
  color: #FFFFFF !important;
}

.elementor-5751 .elementskit-stars svg {
  fill: #FFB800 !important;
}

.elementor-5751 .elementskit-commentor-content p {
  color: #E2E8F0 !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  font-style: italic !important;
}

.elementor-5751 .elementskit-author-name {
  color: #00E5E8 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  display: block !important;
}

.elementor-5751 .elementskit-author-des {
  color: #94A3B8 !important;
  font-size: 13px !important;
}

/* ==========================================================================
   5. CONTACT US PAGE (/contact-us - .elementor-3193)
   ========================================================================== */
.elementor-3193 .elementor-element-de92ff2 {
  background-color: #002B2B !important;
}

.elementor-3193 .elementor-element-f96dc6b {
  background-color: #002B2B !important;
  padding: 30px 0 60px !important;
}

/* Left Contact Details Box */
.elementor-3193 .elementor-element-17d4ae4 {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.16) !important;
  border-radius: 14px !important;
  padding: 36px 30px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.elementor-3193 .elementor-element-242d245 .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Cormorant Upright', Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

.elementor-3193 .elementor-element-02d9515 p {
  color: #00E5E8 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-bottom: 24px !important;
}

.elementor-3193 .elementor-icon-list-item a {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  color: #FFFFFF !important;
  font-size: 14.5px !important;
  padding: 10px 0 !important;
  transition: color 0.2s ease !important;
}

.elementor-3193 .elementor-icon-list-item a:hover {
  color: #00E5E8 !important;
}

.elementor-3193 .elementor-icon-list-icon svg path {
  fill: #3FA844 !important;
}

/* Social Media Pill Icons */
.elementor-3193 .ekit_social_media li a {
  background: rgba(0, 229, 232, 0.1) !important;
  border: 1px solid rgba(0, 229, 232, 0.25) !important;
  color: #FFFFFF !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.25s ease !important;
  margin-right: 8px !important;
}

.elementor-3193 .ekit_social_media li a:hover {
  background: #3FA844 !important;
  border-color: #3FA844 !important;
  transform: translateY(-3px) !important;
}

/* Right Form Box */
.elementor-3193 .contact-us-form {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.16) !important;
  border-radius: 14px !important;
  padding: 36px 30px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.elementor-3193 .contact-us-form label {
  color: #CBD5E1 !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  margin-bottom: 6px !important;
  display: inline-block !important;
}

.elementor-3193 .contact-us-form input.form-control,
.elementor-3193 .contact-us-form textarea.form-control {
  background: #002B2B !important;
  border: 1px solid rgba(0, 229, 232, 0.2) !important;
  border-radius: 8px !important;
  color: #FFFFFF !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  width: 100% !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}

.elementor-3193 .contact-us-form input.form-control:focus,
.elementor-3193 .contact-us-form textarea.form-control:focus {
  border-color: #3FA844 !important;
  box-shadow: 0 0 12px rgba(63, 168, 68, 0.35) !important;
}

.elementor-3193 .contact-us-form input.form-control::placeholder,
.elementor-3193 .contact-us-form textarea.form-control::placeholder {
  color: #64748B !important;
}

.elementor-3193 .form-btn input.btn-default {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 36px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(63, 168, 68, 0.35) !important;
  transition: all 0.25s ease !important;
  width: 100% !important;
}

.elementor-3193 .form-btn input.btn-default:hover {
  background: #359139 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(63, 168, 68, 0.5) !important;
}

/* Google Map Container */
.elementor-3193 .elementor-element-4e587c1 {
  background-color: #002B2B !important;
  padding: 0 0 60px !important;
}

.elementor-3193 .elementor-element-0d58e8a .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Cormorant Upright', Georgia, serif !important;
  font-size: 32px !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}

.elementor-3193 .elementor-custom-embed {
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 229, 232, 0.2) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

.elementor-3193 .elementor-custom-embed iframe {
  width: 100% !important;
  min-height: 420px !important;
  display: block !important;
}

/* ==========================================================================
   6. WEDDINGS, EVENTS, TOURS & COVERAGE PAGES
   ========================================================================== */
.page-id-13807 section.elementor-top-section,
.page-id-13766 section.elementor-top-section,
.page-id-13686 section.elementor-top-section {
  background-color: #002B2B !important;
}

/* Alternating background contrast */
.page-id-13807 section.elementor-top-section:nth-of-type(even),
.page-id-13766 section.elementor-top-section:nth-of-type(even),
.page-id-13686 section.elementor-top-section:nth-of-type(even) {
  background-color: #004242 !important;
}

/* Page 14543 - Coverage Directory Dark Theme (#001F21) matching authoritative footer */
body.page-id-14543,
.page-id-14543,
.elementor-page-14543,
.elementor-14543,
.page-id-14543 section.elementor-top-section,
.page-id-14543 section.elementor-top-section:nth-of-type(even),
.page-id-14543 .elementor-element-e004052,
.page-id-14543 section.elementor-element-e004052,
.page-id-14543 .elementor-element-e004052 section.elementor-inner-section,
.page-id-14543 .elementor-element-e004052 .elementor-inner-section,
.page-id-14543 .elementor-element-e004052 .elementor-container,
.page-id-14543 .elementor-element-e004052 .elementor-column,
.page-id-14543 .elementor-element-e004052 .elementor-widget-wrap {
  background-color: #001F21 !important;
  background: #001F21 !important;
}

/* Feature & Service Card surfaces */
.page-id-13807 .elementor-widget-icon-box,
.page-id-13766 .elementor-widget-icon-box,
.page-id-13686 .elementor-widget-icon-box,
.page-id-14543 .elementor-widget-icon-box,
.page-id-13807 .elementor-widget-image-box,
.page-id-13766 .elementor-widget-image-box,
.page-id-13686 .elementor-widget-image-box {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.14) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.25s ease !important;
}

.page-id-13807 .elementor-widget-icon-box:hover,
.page-id-13766 .elementor-widget-icon-box:hover,
.page-id-13686 .elementor-widget-icon-box:hover,
.page-id-14543 .elementor-widget-icon-box:hover {
  transform: translateY(-3px) !important;
  border-color: #3FA844 !important;
}

/* Wedding & Tour Accordion / Tabs */
.page-id-13807 .elementor-accordion-item,
.page-id-13766 .elementor-accordion-item,
.page-id-13686 .elementor-accordion-item {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.12) !important;
  border-radius: 10px !important;
  margin-bottom: 10px !important;
}

.page-id-13807 .elementor-tab-title,
.page-id-13766 .elementor-tab-title,
.page-id-13686 .elementor-tab-title {
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  background: transparent !important;
  border: none !important;
  padding: 16px 20px !important;
}

.page-id-13807 .elementor-tab-content,
.page-id-13766 .elementor-tab-content,
.page-id-13686 .elementor-tab-content {
  color: #B2CCCC !important;
  line-height: 1.7 !important;
  padding: 0 20px 18px !important;
  border: none !important;
}

/* Subpage Call to Action Buttons */
.page-id-13807 .elementor-button,
.page-id-13766 .elementor-button,
.page-id-13686 .elementor-button,
.page-id-14543 .elementor-button,
.page-id-34628 .elementor-button {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 15px rgba(63, 168, 68, 0.3) !important;
  transition: all 0.25s ease !important;
}

.page-id-13807 .elementor-button:hover,
.page-id-13766 .elementor-button:hover,
.page-id-13686 .elementor-button:hover,
.page-id-14543 .elementor-button:hover,
.page-id-34628 .elementor-button:hover {
  background: #359139 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(63, 168, 68, 0.45) !important;
}

/* ==========================================================================
   7. PRIVACY POLICY & TERMS PAGES (.page-id-3, .page-id-12)
   ========================================================================== */
.page-id-3 .elementor-element-246da7b5,
.page-id-12 .elementor-element-64ae3e5 {
  background-color: #002B2B !important;
}

.page-id-3 .elementor-element-95990ce,
.page-id-12 .elementor-element-6e93ca9 {
  background: #001F1F !important;
  border: 1px solid rgba(0, 229, 232, 0.15) !important;
  border-radius: 14px !important;
  padding: 40px 36px !important;
  margin-top: 30px !important;
  margin-bottom: 50px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

.page-id-3 h2.elementor-heading-title,
.page-id-12 h2.elementor-heading-title {
  color: #00E5E8 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid rgba(0, 229, 232, 0.1) !important;
  padding-bottom: 8px !important;
}

.page-id-3 .elementor-widget-text-editor,
.page-id-12 .elementor-widget-text-editor {
  color: #B2CCCC !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.page-id-3 a, .page-id-12 a {
  color: #00E5E8 !important;
  text-decoration: underline !important;
}

.page-id-3 a:hover, .page-id-12 a:hover {
  color: #3FA844 !important;
}


/* ==========================================================================
   AUTOCOMPLETE DROPDOWN & STRIPE ELEMENTS (Executive Luxury Styling)
   ========================================================================== */

/* Dropdown relative anchor wrapper */
.je-ac-wrapper {
  position: relative !important;
  width: 100% !important;
}

/* Autocomplete suggestions dropdown: absolute, floating under input, never sticky */
.je-ac-list {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  left: 0 !important;
  width: 100% !important;
  max-height: 240px !important;
  overflow-y: auto !important;
  background: #0A1616 !important;
  border: 1px solid rgba(0, 115, 117, 0.45) !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.75) !important;
  z-index: 99999 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  box-sizing: border-box !important;
}

.je-ac-list::-webkit-scrollbar {
  width: 6px;
}
.je-ac-list::-webkit-scrollbar-track {
  background: #061010;
}
.je-ac-list::-webkit-scrollbar-thumb {
  background: #007375;
  border-radius: 3px;
}

.je-ac-item {
  padding: 10px 14px !important;
  cursor: pointer !important;
  color: #E2E8F0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  transition: all 0.15s ease !important;
}

.je-ac-item:last-child {
  border-bottom: none !important;
}

.je-ac-item:hover,
.je-ac-item.is-highlighted {
  background-color: rgba(0, 115, 117, 0.3) !important;
  color: #00fff2 !important;
}

.je-ac-pin {
  color: #00fff2 !important;
  margin-right: 10px !important;
  font-size: 13px !important;
  flex-shrink: 0 !important;
}

.je-ac-text {
  flex-grow: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.je-ac-pc {
  font-size: 11px !important;
  color: #bc9355 !important;
  margin-left: 8px !important;
  font-weight: 600 !important;
  flex-shrink: 0 !important;
}

.je-ac-empty {
  padding: 12px !important;
  color: #9CA3AF !important;
  font-size: 12px !important;
  font-style: italic !important;
  text-align: center !important;
}

/* Stripe Elements Inline Card Box */
.je-stripe-card-wrapper {
  margin: 12px 0 !important;
  padding: 12px 14px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(0, 115, 117, 0.35) !important;
  border-radius: 4px !important;
}

.je-stripe-card-wrapper.StripeElement--focus {
  border-color: #007375 !important;
  box-shadow: 0 0 0 2px rgba(0, 115, 117, 0.28) !important;
}

.je-stripe-card-wrapper.StripeElement--invalid {
  border-color: #EF4444 !important;
}

.je-stripe-errors {
  color: #EF4444 !important;
  font-size: 12px !important;
  margin-top: 6px !important;
  font-family: 'DM Sans', sans-serif !important;
  min-height: 18px !important;
}

/* Live Route Summary Box & Leaflet Map */
.je-route-summary-box {
  margin-top: 10px !important;
  padding: 8px 12px !important;
  background: rgba(0, 35, 37, 0.85) !important;
  border: 1px solid rgba(0, 229, 232, 0.3) !important;
  border-radius: 4px !important;
}

.je-route-summary-content {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.je-route-badge {
  background: #007375 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.je-route-metrics {
  color: #00fff2 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
}

.je-route-map-toggle {
  background: transparent !important;
  border: 1px solid rgba(0, 255, 242, 0.4) !important;
  color: #00fff2 !important;
  font-size: 11px !important;
  padding: 4px 8px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  transition: all 0.2s ease !important;
}

.je-route-map-toggle:hover {
  background: rgba(0, 255, 242, 0.15) !important;
}

.je-route-map-embed {
  height: 200px !important;
  width: 100% !important;
  margin-top: 10px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  overflow: hidden !important;
}

/* ==========================================================================
   HOMEPAGE SECTION POLISH & HIGH-CONTRAST TYPOGRAPHY
   ========================================================================== */

/* Section 3: London Postcode Areas / Partner Notice */
.je-section-partner {
  background-color: #041010 !important;
  padding: 44px 0 !important;
}

.je-section-partner .elementor-heading-title,
.je-section-partner h2,
.je-section-partner h3 {
  color: #FFFFFF !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(26px, 3.2vw, 36px) !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 14px !important;
}

.je-section-partner .je-trust-points {
  text-align: center !important;
  margin: 18px 0 !important;
}

.je-section-partner .je-trust-points p {
  color: #E2E8F0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  margin: 8px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.je-trust-check {
  color: #3FA844 !important;
  font-size: 15px !important;
}

.je-congestion-wrapper {
  display: flex !important;
  justify-content: center !important;
  margin-top: 18px !important;
}

.je-congestion-notice-box {
  background: rgba(0, 115, 117, 0.2) !important;
  border: 1px solid rgba(0, 210, 212, 0.35) !important;
  border-radius: 8px !important;
  padding: 12px 24px !important;
  color: #E2E8F0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Headings for Sections 4, 7, 9 */
.je-section-fleet-intro h2,
.je-section-why-choose h2,
.je-section-faq h2 {
  color: #FFFFFF !important;
}

/* Section 8: CTA Banner (How to Book Your Airport Taxi in 60 Seconds) */
.je-section-cta-banner {
  background: linear-gradient(135deg, #002B2B 0%, #001A1A 100%) !important;
  border-top: 1px solid rgba(0, 115, 117, 0.3) !important;
  border-bottom: 1px solid rgba(0, 115, 117, 0.3) !important;
  padding: 44px 0 !important;
}

.je-section-cta-banner .elementor-heading-title,
.je-section-cta-banner h2 {
  color: #FFFFFF !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(26px, 3.2vw, 38px) !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 12px !important;
}

.je-section-cta-banner p {
  color: rgba(255, 255, 255, 0.82) !important;
  font-family: 'DM Sans', sans-serif !important;
  text-align: center !important;
  font-size: 15px !important;
  max-width: 650px !important;
  margin: 0 auto 22px auto !important;
}

.je-cta-btn {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  border-radius: 30px !important;
  padding: 12px 32px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.2s ease !important;
}

.je-cta-btn:hover {
  background: #348E38 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(63, 168, 68, 0.4) !important;
}

/* ==========================================================================
   SECTION 10: TESTIMONIALS CAROUSEL & CARDS
   ========================================================================== */
.je-section-testimonials {
  background: #020B0B !important;
  padding: 60px 0 !important;
  position: relative !important;
}

.je-testimonials-badge {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(0, 115, 117, 0.12) !important;
  border: 1px solid rgba(88, 191, 72, 0.35) !important;
  color: #58BF48 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 4px 14px !important;
  border-radius: 20px !important;
  margin-bottom: 12px !important;
}

.je-testimonials-main-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  text-align: center !important;
  margin-bottom: 12px !important;
}

.je-testimonials-subtitle {
  color: rgba(255, 255, 255, 0.75) !important;
  text-align: center !important;
  font-size: 15px !important;
  max-width: 680px !important;
  margin: 0 auto 36px auto !important;
}

.je-testimonials-carousel-container {
  position: relative !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 54px !important;
  box-sizing: border-box !important;
}

.je-testimonials-carousel-viewport {
  overflow: hidden !important;
  width: 100% !important;
  border-radius: 16px !important;
  cursor: grab;
}

.je-testimonials-track {
  display: flex !important;
  gap: 24px !important;
  transition: transform 0.45s cubic-bezier(0.25, 1, 0.5, 1) !important;
  will-change: transform !important;
  align-items: stretch !important;
}

.je-carousel-slide {
  flex: 0 0 calc((100% - 48px) / 3) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

@media (max-width: 1024px) {
  .je-carousel-slide {
    flex: 0 0 calc((100% - 24px) / 2) !important;
  }
}

@media (max-width: 680px) {
  .je-testimonials-carousel-container {
    padding: 0 40px !important;
  }
  .je-carousel-slide {
    flex: 0 0 100% !important;
  }
}

.je-carousel-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  background: #FFFFFF !important;
  border: 2px solid #007375 !important;
  color: #007375 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  outline: none !important;
  box-shadow: 0 4px 14px rgba(0, 115, 117, 0.15) !important;
  box-sizing: border-box !important;
  padding: 0 !important;
}

.je-carousel-prev { left: 4px !important; }
.je-carousel-next { right: 4px !important; }

.je-carousel-arrow:hover {
  background: #007375 !important;
  color: #FFFFFF !important;
  border-color: #007375 !important;
  box-shadow: 0 6px 18px rgba(0, 115, 117, 0.3) !important;
  transform: translateY(-50%) scale(1.08) !important;
}

.je-carousel-arrow:active {
  transform: translateY(-50%) scale(0.96) !important;
}

.je-carousel-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 34px !important;
}

.je-carousel-dot {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  border: 2px solid #007375 !important;
  opacity: 0.65 !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  outline: none !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
  box-sizing: border-box !important;
}

.je-carousel-dot:hover {
  opacity: 1 !important;
  background: rgba(0, 115, 117, 0.18) !important;
  border-color: #007375 !important;
  transform: scale(1.2) !important;
}

.je-carousel-dot.active {
  width: 32px !important;
  height: 12px !important;
  border-radius: 6px !important;
  background: #007375 !important;
  border: 2px solid #007375 !important;
  opacity: 1 !important;
  box-shadow: 0 2px 8px rgba(0, 115, 117, 0.35) !important;
  transform: scale(1) !important;
}

.je-testimonial-card {
  background: rgba(0, 30, 30, 0.65) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(0, 150, 153, 0.22) !important;
  border-radius: 14px !important;
  padding: 24px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
  transition: transform 0.25s ease, border-color 0.25s ease !important;
}

.je-testimonial-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0, 115, 117, 0.6) !important;
}

/* Autocomplete extra highlight sync */
.je-ac-item.is-active {
  background-color: rgba(0, 115, 117, 0.45) !important;
  border-left: 3px solid #3FA844 !important;
  color: #FFFFFF !important;
}

/* ==========================================================================
   SECTION 11: HIT THE ROAD CTA
   ========================================================================== */
.je-section-hit-road {
  background: #001f1f !important;
  padding: 60px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Eliminate Elementor dark overlay that masked the section content */
.je-section-hit-road::before,
.elementor-element-5ed9ed0a::before,
.elementor-element-5ed9ed0a > .e-con-inner::before {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.je-hit-road-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 48px !important;
}

.je-hit-road-content {
  flex: 1 1 55% !important;
  max-width: 620px !important;
}

.je-hit-road-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 16px !important;
  background: rgba(0, 115, 117, 0.35) !important;
  border: 1px solid rgba(0, 210, 212, 0.6) !important;
  border-radius: 9999px !important;
  color: #00e5e8 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 16px !important;
}

.je-hit-road-title {
  font-family: 'Cormorant Garamond', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(34px, 3.8vw, 48px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.18 !important;
  margin: 0 0 16px 0 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5) !important;
}

.je-hit-road-title-accent {
  color: #00e5e8 !important;
}

.je-hit-road-desc {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  color: #E2E8F0 !important;
  line-height: 1.7 !important;
  margin: 0 0 24px 0 !important;
}

.je-hit-road-perks {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
}

.je-hit-road-perk-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
}

.je-hit-road-perk-item i {
  color: #3FA844 !important;
  font-size: 15px !important;
}

.je-hit-road-actions {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.je-hit-road-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 13px 26px !important;
  border-radius: 30px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.je-hit-road-btn-phone {
  background: #3FA844 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 15px rgba(63, 168, 68, 0.35) !important;
}

.je-hit-road-btn-phone:hover {
  background: #348E38 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(63, 168, 68, 0.45) !important;
}

.je-hit-road-btn-book {
  background: rgba(0, 115, 117, 0.5) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(0, 210, 212, 0.6) !important;
  box-shadow: 0 4px 15px rgba(0, 115, 117, 0.3) !important;
}

.je-hit-road-btn-book:hover {
  background: rgba(0, 115, 117, 0.85) !important;
  color: #FFFFFF !important;
  border-color: #00e5e8 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 210, 212, 0.4) !important;
}

.je-hit-road-visual {
  flex: 1 1 40% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

.je-hit-road-car-wrap {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.je-hit-road-car-img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  filter: drop-shadow(0 15px 25px rgba(0, 0, 0, 0.6)) !important;
}

.je-hit-road-floating-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 18px !important;
  background: rgba(0, 31, 33, 0.9) !important;
  border: 1px solid rgba(0, 210, 212, 0.4) !important;
  border-radius: 9999px !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  margin-top: 14px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

.je-hit-road-floating-tag i {
  color: #3FA844 !important;
}

/* ==========================================================================
   GLOBAL FOOTER LUXURY STYLES
   ========================================================================== */

body.home .je-footer-root,
body.elementor-page-6725 .je-footer-root {
  background-color: #001F21 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.elementor-82 .elementor-element.elementor-element-7db7812,
.elementor-82 .elementor-element.elementor-element-7db7812:not(.elementor-motion-effects-element-type-background),
.elementor-82 .elementor-element.elementor-element-7db7812 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.je-footer-curved-banner {
  border-radius: 0 !important;
  background-color: #001F21 !important;
  background-image: none !important;
  box-shadow: none !important;
  padding: 60px 35px 28px 35px !important;
  position: relative !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}



/* 4-Column Footer Content Grid */

.elementor-82 .elementor-element.elementor-element-488a6bf,

.je-footer-grid {

  display: grid !important;

  grid-template-columns: 1.35fr 0.85fr 1.3fr 1.3fr !important;

  gap: 36px !important;

  max-width: 1320px !important;

  margin: 0 auto !important;

  padding: 0 !important;

  align-items: start !important;

}



.je-footer-col,

.elementor-82 .elementor-element.elementor-element-27acac2,

.elementor-82 .elementor-element.elementor-element-4617258,

.elementor-82 .elementor-element.elementor-element-37994f1,

.elementor-82 .elementor-element.elementor-element-ce0291e {

  display: flex !important;

  flex-direction: column !important;

  box-sizing: border-box !important;

  padding: 0 !important;

  margin: 0 !important;

  width: 100% !important;

  max-width: 100% !important;

}



/* Standard Widget Headings */

.je-footer-widget-header {

  margin-bottom: 20px !important;

}



.je-footer-heading,

.elementor-82 .elementor-element.elementor-element-1ce25e4 .elementor-heading-title,

.elementor-82 .elementor-element.elementor-element-8696304 .elementor-heading-title,

.elementor-82 .elementor-element.elementor-element-427d1c6 .elementor-heading-title {

  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;

  font-size: 19px !important;

  font-weight: 700 !important;

  color: #FFFFFF !important;

  margin: 0 0 8px 0 !important;

  line-height: 1.2 !important;

  letter-spacing: 0.3px !important;

  text-transform: none !important;

}



.je-footer-heading-bar {

  width: 32px !important;

  height: 3px !important;

  background: linear-gradient(90deg, var(--je-brand-green), var(--je-brand-teal)) !important;

  border-radius: 2px !important;

  transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease !important;

}



.je-footer-col:hover .je-footer-heading-bar {

  width: 52px !important;

  box-shadow: 0 0 12px rgba(0, 229, 232, 0.6) !important;

}



/* --------------------------------------------------------------------------

   Column 1: Brand Logo, Mission & TfL Accreditation

   -------------------------------------------------------------------------- */

.je-footer-logo-wrap {

  margin-bottom: 18px !important;

}



.je-footer-logo {

  max-width: 215px !important;

  height: auto !important;

  display: block !important;

  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3)) !important;

}



.je-footer-bio {

  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;

  font-size: 14px !important;

  line-height: 1.65 !important;

  color: #B2CCCC !important;

  margin: 0 0 20px 0 !important;

  font-weight: 400 !important;

  text-transform: none !important;

}



.je-footer-tfl-card {

  background: rgba(0, 18, 18, 0.65) !important;

  border: 1px solid rgba(63, 168, 68, 0.35) !important;

  border-radius: 12px !important;

  padding: 12px 14px !important;

  display: flex !important;

  align-items: center !important;

  gap: 12px !important;

  backdrop-filter: blur(8px) !important;

  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;

  transition: border-color 0.25s ease, transform 0.25s ease !important;

}



.je-footer-tfl-card:hover {

  border-color: rgba(63, 168, 68, 0.65) !important;

  transform: translateY(-2px) !important;

}



.je-footer-tfl-icon {

  width: 38px !important;

  height: 38px !important;

  border-radius: 9px !important;

  background: rgba(63, 168, 68, 0.15) !important;

  color: var(--je-brand-green) !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  font-size: 17px !important;

  flex-shrink: 0 !important;

}



.je-footer-tfl-info {

  display: flex !important;

  flex-direction: column !important;

}



.je-footer-tfl-title {

  font-family: 'DM Sans', sans-serif !important;

  font-size: 12px !important;

  font-weight: 700 !important;

  color: #FFFFFF !important;

  letter-spacing: 0.4px !important;

  line-height: 1.3 !important;

  text-transform: uppercase !important;

}



.je-footer-tfl-licence {

  font-family: 'DM Sans', sans-serif !important;

  font-size: 12px !important;

  color: var(--je-brand-green) !important;

  margin-top: 2px !important;

  font-weight: 500 !important;

}



.je-footer-tfl-licence strong {

  color: #86EFAC !important;

  font-weight: 700 !important;

}



.je-footer-tfl-assoc {

  font-family: 'DM Sans', sans-serif !important;

  font-size: 11px !important;

  color: #7D9B9B !important;

  margin-top: 2px !important;

}



/* --------------------------------------------------------------------------

   Column 2: Useful Links

   -------------------------------------------------------------------------- */

.je-footer-nav-list {

  list-style: none !important;

  padding: 0 !important;

  margin: 0 !important;

  display: flex !important;

  flex-direction: column !important;

  gap: 12px !important;

}



.je-footer-nav-list li {

  margin: 0 !important;

  padding: 0 !important;

}



.je-footer-nav-list li a {

  display: inline-flex !important;

  align-items: center !important;

  gap: 9px !important;

  color: #BFD6D6 !important;

  text-decoration: none !important;

  font-family: 'DM Sans', sans-serif !important;

  font-size: 14.5px !important;

  font-weight: 500 !important;

  line-height: 1.4 !important;

  text-transform: none !important;

  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;

  padding: 3px 0 !important;

}



.je-footer-nav-list li a i {

  font-size: 10px !important;

  color: var(--je-brand-teal) !important;



.je-footer-nav-list li a:hover i {

  color: var(--je-brand-green) !important;

  transform: translateX(3px) scale(1.15) !important;

}



/* --------------------------------------------------------------------------

   Column 3: Airports We Cover Grid

   -------------------------------------------------------------------------- */

.je-footer-airports-grid {

  list-style: none !important;

  padding: 0 !important;

  margin: 0 !important;

  display: grid !important;

  grid-template-columns: 1fr 1fr !important;

  gap: 8px 10px !important;

}



.je-footer-airports-grid li {

  margin: 0 !important;

  padding: 0 !important;

}



.je-footer-airports-grid li a {

  display: flex !important;

  align-items: center !important;

  justify-content: space-between !important;

  padding: 8px 10px !important;

  background: rgba(0, 18, 18, 0.5) !important;

  border: 1px solid rgba(255, 255, 255, 0.08) !important;

  border-radius: 8px !important;

  color: #D6E6E6 !important;

  text-decoration: none !important;

  font-family: 'DM Sans', sans-serif !important;

  font-size: 12.5px !important;

  font-weight: 500 !important;

  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;

  text-transform: none !important;

}



.je-airport-left {

  display: flex !important;

  align-items: center !important;

  gap: 7px !important;

  overflow: hidden !important;

}



.je-airport-left i {

  font-size: 10.5px !important;

  color: var(--je-brand-teal) !important;

  flex-shrink: 0 !important;

  transition: transform 0.22s ease !important;

}



.je-airport-name {

  white-space: nowrap !important;

  overflow: hidden !important;

  text-overflow: ellipsis !important;

}



.je-airport-iata {

  font-size: 9.5px !important;

  font-weight: 700 !important;

  background: #003638 !important;

  color: var(--je-brand-teal) !important;

  border: 1px solid rgba(0, 229, 232, 0.45) !important;

  padding: 2px 6px !important;

  border-radius: 4px !important;

  letter-spacing: 0.5px !important;

  flex-shrink: 0 !important;

  transition: all 0.22s ease !important;

}



.je-footer-airports-grid li a:hover {

  background: rgba(0, 229, 232, 0.12) !important;

  border-color: rgba(0, 229, 232, 0.35) !important;

  color: #FFFFFF !important;

  transform: translateY(-2px) !important;

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;

}



  align-items: center !important;

  justify-content: center !important;

  font-size: 14px !important;

  flex-shrink: 0 !important;

  margin-top: 2px !important;

}



.je-contact-details {

  display: flex !important;

  flex-direction: column !important;

}



.je-contact-subtitle {

  font-family: 'DM Sans', sans-serif !important;

  font-size: 11px !important;

  font-weight: 700 !important;

  text-transform: uppercase !important;

  letter-spacing: 0.6px !important;

  color: #7D9B9B !important;

  line-height: 1.2 !important;

}



.je-contact-value {

  font-family: 'DM Sans', sans-serif !important;

  font-size: 13.5px !important;

  color: #FFFFFF !important;

  font-weight: 500 !important;

  line-height: 1.45 !important;

  text-decoration: none !important;

  margin-top: 3px !important;

  text-transform: none !important;

}



.je-phone-link {

  font-size: 15px !important;

  font-weight: 700 !important;

  color: var(--je-brand-teal) !important;

  letter-spacing: 0.3px !important;

  transition: color 0.2s ease !important;

}



.je-phone-link:hover {

  color: var(--je-brand-green) !important;

  text-decoration: underline !important;

}



.je-contact-note {

  font-family: 'DM Sans', sans-serif !important;

  font-size: 11.5px !important;

  color: #8FA7A7 !important;

  margin-top: 2px !important;

}



.je-email-link {

  color: #FFFFFF !important;

  transition: color 0.2s ease !important;

}



.je-email-link:hover {

  color: var(--je-brand-teal) !important;

  text-decoration: underline !important;

}



.je-footer-dispatch-badge {

  display: inline-flex !important;

  align-items: center !important;

  gap: 8px !important;

  background: #022c22 !important;

  border: 1px solid #15803d !important;

  border-radius: 20px !important;

  padding: 6px 13px !important;

  font-family: 'DM Sans', sans-serif !important;

  font-size: 12px !important;

  color: #86EFAC !important;

  font-weight: 600 !important;

  margin-top: 4px !important;

  width: fit-content !important;

  box-shadow: 0 0 12px rgba(34, 197, 94, 0.12) !important;

  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;

}



.je-footer-dispatch-badge:hover {

  box-shadow: 0 0 20px rgba(34, 197, 94, 0.22) !important;

  border-color: #22C55E !important;

}



.je-pulse-indicator {

  width: 7px !important;

  height: 7px !important;

  transition: color 0.2s ease !important;

}



.je-email-link:hover {

  color: var(--je-brand-teal) !important;

  text-decoration: underline !important;

}



.je-footer-dispatch-badge {

  display: inline-flex !important;

  align-items: center !important;

  gap: 8px !important;

  background: #022c22 !important;

  border: 1px solid #15803d !important;

  border-radius: 20px !important;

  padding: 6px 13px !important;

  font-family: 'DM Sans', sans-serif !important;

  font-size: 12px !important;

  color: #86EFAC !important;

  font-weight: 600 !important;

  margin-top: 4px !important;

  width: fit-content !important;

  box-shadow: 0 0 12px rgba(34, 197, 94, 0.12) !important;

  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;

}



.je-footer-dispatch-badge:hover {

  box-shadow: 0 0 20px rgba(34, 197, 94, 0.22) !important;

  border-color: #22C55E !important;

}



.je-pulse-indicator {

  width: 7px !important;

  height: 7px !important;

  border-radius: 50% !important;

  background: #22C55E !important;

  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7) !important;

  animation: je-footer-pulse 2s infinite !important;

  flex-shrink: 0 !important;

}




@keyframes je-footer-pulse {

  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }

  70% { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0); }

  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }

}



/* --------------------------------------------------------------------------

   Sub-Footer Bottom Row: Copyright & Social Media

   -------------------------------------------------------------------------- */

.elementor-82 .elementor-element.elementor-element-085f967,

.je-footer-bottom-row {

  margin-top: 48px !important;

  padding-top: 24px !important;

  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;

  display: flex !important;

  align-items: center !important;

  justify-content: space-between !important;

  flex-wrap: wrap !important;

  gap: 16px !important;

  max-width: 1320px !important;

  margin-left: auto !important;

  margin-right: auto !important;

}



.je-footer-copyright {

  font-family: 'DM Sans', sans-serif !important;

  font-size: 13.5px !important;

  color: #8FA7A7 !important;

  line-height: 1.5 !important;

  text-transform: none !important;

}



.je-footer-copyright strong {

  color: #D6E6E6 !important;

  font-weight: 600 !important;

}



.je-footer-social-wrap {

  display: flex !important;

  align-items: center !important;

  gap: 12px !important;

  margin-right: 56px !important; /* Clearance for fixed scroll-to-top button */

}



.je-footer-social-icons {

  display: flex !important;

  gap: 10px !important;

  list-style: none !important;

  margin: 0 !important;

  padding: 0 !important;

}



.je-footer-social-icons li {

  margin: 0 !important;

  padding: 0 !important;

}



.je-social-btn {

  width: 40px !important;

  height: 40px !important;

  border-radius: 50% !important;

  background: rgba(255, 255, 255, 0.06) !important;

  border: 1px solid rgba(255, 255, 255, 0.14) !important;

  color: rgba(255, 255, 255, 0.85) !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  font-size: 15px !important;

  text-decoration: none !important;

  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;

}



.je-social-btn:hover {

  transform: translateY(-4px) scale(1.1) !important;

  color: #FFFFFF !important;

}



.je-yt:hover { background: #FF0000 !important; border-color: #FF0000 !important; box-shadow: 0 8px 22px rgba(255, 0, 0, 0.45) !important; }

.je-fb:hover { background: #1877F2 !important; border-color: #1877F2 !important; box-shadow: 0 8px 22px rgba(24, 119, 242, 0.45) !important; }

.je-tw:hover { background: #111111 !important; border-color: rgba(255, 255, 255, 0.6) !important; box-shadow: 0 8px 22px rgba(255, 255, 255, 0.25) !important; }

.je-li:hover { background: #0A66C2 !important; border-color: #0A66C2 !important; box-shadow: 0 8px 22px rgba(10, 102, 194, 0.45) !important; }

.je-ig:hover { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important; border-color: transparent !important; box-shadow: 0 8px 22px rgba(220, 39, 67, 0.45) !important; }



/* Responsive Layout */

@media (max-width: 1080px) {

  .elementor-82 .elementor-element.elementor-element-488a6bf,

  .je-footer-grid {

    grid-template-columns: 1fr 1fr !important;

    gap: 36px 28px !important;

  }

  .je-footer-curved-banner {

    padding: 50px 24px 25px 24px !important;

    border-radius: 36px 36px 0 0 !important;

  }

}



@media (max-width: 640px) {

  .elementor-82 .elementor-element.elementor-element-488a6bf,

  .je-footer-grid {

    grid-template-columns: 1fr !important;

    gap: 32px !important;

  }

  .je-footer-airports-grid {

    grid-template-columns: 1fr 1fr !important;

  }

  .je-footer-curved-banner {

    padding: 40px 18px 20px 18px !important;

    border-radius: 28px 28px 0 0 !important;

  }

  .elementor-82 .elementor-element.elementor-element-085f967,

  .je-footer-bottom-row {

    flex-direction: column !important;

    text-align: center !important;

    gap: 14px !important;

  }

  .je-footer-social-wrap {

    justify-content: center !important;

    margin-right: 0 !important;

  }

}



@media (max-width: 380px) {

  .je-footer-airports-grid {

    grid-template-columns: 1fr !important;

  }

}

/* ==========================================================================
   SERVICE & FEATURE LUXURY CARDS
   ========================================================================== */
.je-services-flex-container {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  margin: 30px 0 !important;
}

@media (max-width: 1024px) {
  .je-services-flex-container {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .je-services-flex-container {
    grid-template-columns: 1fr !important;
  }
}

.je-service-card-luxury {
  background-color: rgba(255, 255, 255, 0.03);
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 32px 24px 28px;
  text-align: left;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
}

.je-service-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(6, 12, 7, 0.85) 0%, rgba(0, 115, 115, 0.65) 100%);
  z-index: 1;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.je-service-card-luxury:hover {
  transform: translateY(-6px);
  border-color: rgba(89, 192, 72, 0.4);
  box-shadow: 0 20px 50px -15px rgba(89, 192, 72, 0.2);
}

.je-service-card-luxury:hover .je-service-card-overlay {
  background: linear-gradient(135deg, rgba(6, 12, 7, 0.75) 0%, rgba(0, 115, 115, 0.5) 100%);
}

.je-service-card-link {
  position: relative;
  z-index: 2;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  gap: 0;
}

.je-service-icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.je-service-card-luxury:hover .je-service-icon-wrap {
  background: #59C048;
  border-color: #59C048;
  transform: none;
  box-shadow: 0 4px 14px rgba(89, 192, 72, 0.4);
}

.je-service-fa-icon {
  font-size: 20px;
  color: #59C048;
  transition: color 0.3s ease;
}

.je-service-card-luxury:hover .je-service-fa-icon {
  color: #FFFFFF;
}

.je-service-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.je-service-title-text {
  font-family: 'Inter', 'DM Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 8px 0;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.je-service-subtitle-text {
  font-family: 'Inter', 'DM Sans', sans-serif;
  font-size: 14px;
  color: #94A3B8;
  line-height: 1.6;
  margin: 0 0 18px 0;
  flex: 1;
}

.je-service-explore-link {
  font-family: 'Inter', 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #59C048;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  transition: all 0.25s ease;
}

.je-service-card-luxury:hover .je-service-explore-link {
  gap: 10px;
  color: #FFFFFF;
}

/* Feature Cards 3x3 Grid */
.je-features-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}

@media (max-width: 900px) {
  .je-features-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .je-features-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   SUBPAGE LUXURY PRIMITIVES & DESIGN SYSTEM
   ========================================================================== */

/* Subpage Hero */
.je-subpage-hero {
  position: relative;
  width: 100%;
  padding: 120px 24px 80px 24px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(89, 192, 73, 0.2);
}

.je-subpage-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 31, 33, 0.82) 0%, rgba(0, 43, 43, 0.92) 60%, rgba(0, 31, 33, 0.98) 100%);
  z-index: 1;
}

.je-subpage-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1040px;
  margin: 0 auto;
}

.je-subpage-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--je-accent-gold);
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  padding: 6px 16px;
  border-radius: var(--je-radius-full);
  margin-bottom: 20px;
}

.je-subpage-hero__title {
  font-family: 'Cormorant Upright', 'Cormorant Garamond', serif !important;
  font-size: 48px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  color: #FFFFFF !important;
  margin: 0 0 18px 0 !important;
  letter-spacing: -0.02em !important;
}

@media (max-width: 768px) {
  .je-subpage-hero {
    padding: 100px 18px 60px 18px;
  }
  .je-subpage-hero__title {
    font-size: 34px !important;
  }
}

.je-subpage-hero__sub {
  font-family: 'DM Sans', sans-serif;
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--je-text-secondary);
  max-width: 820px;
  margin: 0 auto 30px auto;
}

.je-subpage-hero__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Breadcrumbs */
.je-breadcrumbs {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--je-text-muted);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.je-breadcrumbs a {
  color: var(--je-brand-green);
  text-decoration: none;
  transition: color var(--je-transition-fast);
}

.je-breadcrumbs a:hover {
  color: #FFFFFF;
}

.je-breadcrumbs .separator {
  color: rgba(255, 255, 255, 0.3);
}

/* Luxury Cards */
.je-card-luxury {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: var(--je-radius-md);
  padding: 36px 32px;
  transition: all var(--je-transition-smooth);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  position: relative;
}

.je-card-luxury:hover {
  border-color: rgba(89, 192, 73, 0.4);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.5);
}

/* Buttons */
.je-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--je-brand-green), #48a83b);
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: var(--je-radius-full);
  text-decoration: none !important;
  letter-spacing: 0.03em;
  border: none;
  cursor: pointer;
  transition: all var(--je-transition-smooth);
  box-shadow: 0 6px 20px rgba(89, 192, 73, 0.35);
}

.je-btn-primary:hover {
  background: linear-gradient(135deg, #64d154, var(--je-brand-green));
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(89, 192, 73, 0.5);
  color: #FFFFFF !important;
}

.je-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 30px;
  border-radius: var(--je-radius-full);
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: all var(--je-transition-smooth);
}

.je-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--je-brand-green);
  color: #FFFFFF !important;
  transform: translateY(-2px);
}

.je-btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--je-accent-gold), #b89324);
  color: #001F21 !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: var(--je-radius-full);
  text-decoration: none !important;
  letter-spacing: 0.03em;
  border: none;
  cursor: pointer;
  transition: all var(--je-transition-smooth);
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
}

.je-btn-gold:hover {
  background: linear-gradient(135deg, #e5c358, var(--je-accent-gold));
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(212, 175, 55, 0.5);
  color: #001F21 !important;
}

/* Section styling */
.je-section-luxury {
  padding: 90px 24px;
  background-color: var(--je-bg-dark);
}

.je-section-luxury--alt {
  background-color: var(--je-bg-primary);
}

.je-container-luxury {
  max-width: 1240px;
  margin: 0 auto;
}

.je-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.je-section-header .je-eyebrow {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--je-brand-green);
  margin-bottom: 10px;
}

.je-section-header h2 {
  font-family: 'Cormorant Upright', 'Cormorant Garamond', serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: var(--je-text-title, #0F172A) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.2 !important;
}

.je-section-dark .je-section-header h2,
.je-editorial-section-dark .je-section-header h2,
.je-service-cta-dark .je-section-header h2,
.je-subpage-hero .je-section-header h2 {
  color: #FFFFFF !important;
}

@media (max-width: 768px) {
  .je-section-header h2 {
    font-size: 30px !important;
  }
}

.je-section-header p {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: var(--je-text-secondary, #475569);
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.7;
}

.je-section-dark .je-section-header p,
.je-editorial-section-dark .je-section-header p,
.je-service-cta-dark .je-section-header p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Editorial Split */
.je-editorial-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  margin: 50px 0;
}

@media (max-width: 900px) {
  .je-editorial-split {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

.je-editorial-text h3 {
  font-family: 'Cormorant Upright', 'Cormorant Garamond', serif !important;
  font-size: 32px !important;
  font-weight: 600 !important;
  color: var(--je-text-title, #0F172A) !important;
  margin: 0 0 18px 0 !important;
  line-height: 1.25 !important;
}

.je-editorial-section-dark .je-editorial-text h3,
.je-section-dark .je-editorial-text h3 {
  color: #FFFFFF !important;
}

.je-editorial-text p {
  font-family: 'DM Sans', sans-serif;
  font-size: 15.5px;
  color: var(--je-text-secondary, #475569);
  line-height: 1.8;
  margin-bottom: 20px;
}

.je-editorial-section-dark .je-editorial-text p,
.je-section-dark .je-editorial-text p {
  color: rgba(255, 255, 255, 0.88) !important;
}

.je-editorial-bullets {
  list-style: none;
  padding: 0;
  margin: 24px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.je-editorial-bullets li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: var(--je-text-secondary, #334155);
  font-weight: 500;
  line-height: 1.5;
}

.je-editorial-section-dark .je-editorial-bullets li,
.je-section-dark .je-editorial-bullets li {
  color: #FFFFFF !important;
}

.je-editorial-bullets li i {
  color: var(--je-brand-green, #59C049);
  font-size: 16px;
  flex-shrink: 0;
}

.je-editorial-media {
  border-radius: var(--je-radius-md);
  overflow: hidden;
  border: 1px solid var(--je-border-subtle);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  position: relative;
}

.je-editorial-media img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.je-editorial-media:hover img {
  transform: scale(1.03);
}

/* FAQ Accordion Luxury */
.je-faq-grid-luxury {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

@media (max-width: 800px) {
  .je-faq-grid-luxury {
    grid-template-columns: 1fr;
  }
}

.je-faq-item-luxury {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: var(--je-radius-md);
  overflow: hidden;
  transition: border-color var(--je-transition-fast);
}

.je-faq-item-luxury:hover {
  border-color: rgba(89, 192, 73, 0.35);
}

.je-faq-btn-luxury {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: transparent;
  color: #FFFFFF;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 20px 24px;
  border: none;
  text-align: left;
  cursor: pointer;
  gap: 16px;
  transition: background-color var(--je-transition-fast);
}

.je-faq-btn-luxury:hover {
  background: rgba(255, 255, 255, 0.03);
}

.je-faq-icon-luxury {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(89, 192, 73, 0.12);
  color: var(--je-brand-green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: transform 0.3s ease;
}

.je-faq-answer-luxury {
  padding: 0 24px 22px 24px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: var(--je-text-secondary);
  line-height: 1.7;
}

/* Post Items Luxury */
.je-post-card-luxury {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: var(--je-radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all var(--je-transition-smooth);
}

.je-post-card-luxury:hover {
  transform: translateY(-5px);
  border-color: var(--je-brand-green);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
}

/* Contact Form Luxury */
.je-contact-input {
  width: 100%;
  background: var(--je-bg-dark) !important;
  border: 1px solid var(--je-border-subtle) !important;
  border-radius: var(--je-radius-sm) !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  padding: 14px 18px !important;
  transition: all var(--je-transition-fast) !important;
  box-sizing: border-box !important;
}

.je-contact-input:focus {
  outline: none !important;
  border-color: var(--je-brand-green) !important;
  box-shadow: 0 0 0 3px rgba(89, 192, 73, 0.2) !important;
  background: var(--je-bg-surface) !important;
}

.je-contact-label {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--je-text-secondary);
  margin-bottom: 8px;
}

/* ==========================================================================
   LUXURY PAGE PRIMITIVES â€” SHARED ACROSS ALL PUBLIC SUBPAGES
   Applied to: airport-taxi, corporate, weddings, tours, event, service,
               contact-us, fleet, vehicles, coverage, book-now, airports
   ========================================================================== */

/* --- Section wrapper --- */
.je-section-luxury {
  padding: 80px 0;
  background: var(--je-bg-dark);
  position: relative;
}

.je-section-luxury--alt {
  background: #010F10;
}

.je-section-luxury--dark {
  background: var(--je-bg-primary);
}

/* --- Container --- */
.je-container-luxury {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .je-section-luxury { padding: 56px 0; }
  .je-container-luxury { padding-left: 20px; padding-right: 20px; }
}

/* --- Section header (eyebrow + heading + intro) --- */
.je-section-header {
  text-align: center;
  max-width: 740px;
  margin: 0 auto 56px;
}

.je-section-header h2 {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif;
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.18;
  letter-spacing: -0.02em;
  margin: 12px 0 18px;
}

.je-section-header p {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: var(--je-text-body);
  line-height: 1.75;
  max-width: 620px;
  margin: 0 auto;
}

/* --- Eyebrow label --- */
.je-eyebrow {
  display: inline-block;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--je-brand-green);
  padding: 5px 14px;
  border: 1px solid rgba(89, 192, 73, 0.28);
  border-radius: var(--je-radius-pill);
  background: rgba(89, 192, 73, 0.08);
}

/* --- Subpage hero inner layout --- */
.je-subpage-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
  padding: 0 24px;
}

.je-subpage-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border: 1px solid rgba(89, 192, 73, 0.32);
  background: rgba(89, 192, 73, 0.1);
  border-radius: var(--je-radius-pill);
  color: var(--je-brand-green);
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.je-subpage-hero__title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif;
  font-size: clamp(34px, 4.5vw, 58px);
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0 0 20px;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.65);
}

.je-subpage-hero__sub {
  font-family: 'DM Sans', sans-serif;
  font-size: 17px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.7;
  max-width: 680px;
  margin: 0 auto 32px;
}

.je-subpage-hero__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

@media (max-width: 600px) {
  .je-subpage-hero__title { font-size: 32px; }
  .je-subpage-hero__sub { font-size: 15px; }
  .je-subpage-hero__cta { flex-direction: column; gap: 10px; }
  .je-subpage-hero__cta .je-btn-primary,
  .je-subpage-hero__cta .je-btn-secondary { width: 100%; justify-content: center; }
}

/* --- Breadcrumb separator styling --- */
.je-breadcrumbs .separator {
  color: rgba(255, 255, 255, 0.3);
  font-size: 11px;
}

/* --- Luxury feature card (icon-left layout) --- */
.je-feature-card-luxury {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: var(--je-radius-md);
  padding: 26px 24px;
  transition: all var(--je-transition-smooth);
  position: relative;
  overflow: hidden;
}

.je-feature-card-luxury::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 115, 117, 0.05) 0%, transparent 60%);
  opacity: 0;
  transition: opacity var(--je-transition-smooth);
  pointer-events: none;
}

.je-feature-card-luxury:hover {
  border-color: var(--je-brand-green);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.05);
}

.je-feature-card-luxury:hover::before { opacity: 1; }

.je-feature-icon-box {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: var(--je-radius-sm);
  background: rgba(0, 115, 117, 0.15);
  border: 1px solid rgba(89, 192, 73, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--je-brand-green);
  flex-shrink: 0;
  transition: background var(--je-transition-fast);
}

.je-feature-card-luxury:hover .je-feature-icon-box {
  background: rgba(89, 192, 73, 0.2);
  border-color: rgba(89, 192, 73, 0.5);
}

.je-feature-fa-icon {
  font-size: 20px;
}

.je-feature-content { flex: 1; }

.je-feature-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--je-text-title) !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.01em !important;
}

.je-feature-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--je-text-body);
  line-height: 1.65;
  margin: 0;
}

/* --- Editorial split (image + text 2-col) --- */
.je-editorial-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  margin-top: 0;
}

.je-editorial-split--reverse {
  grid-template-columns: 1fr 1fr;
}

.je-editorial-split--reverse .je-editorial-media {
  order: -1;
}

@media (max-width: 900px) {
  .je-editorial-split {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .je-editorial-split--reverse .je-editorial-media {
    order: 0;
  }
}

/* --- Stats / metrics bar --- */
.je-stats-bar {
  display: block;
  width: 100%;
  max-width: 100%;
  gap: 0;
  background: var(--je-brand-green);
  border: none;
  border-radius: 0;
  overflow: hidden;
  margin: 0;
}

.je-stat-item {
  padding: 32px 20px;
  text-align: center;
  border-right: 1px solid var(--je-border-subtle);
  transition: background var(--je-transition-fast);
}

.je-stat-item:last-child { border-right: none; }

.je-stat-item:hover { background: rgba(255, 255, 255, 0.03); }

.je-stat-value {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif;
  font-size: 42px;
  font-weight: 700;
  color: var(--je-brand-green);
  line-height: 1;
  display: block;
}

.je-stat-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--je-text-muted);
  margin-top: 6px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

@media (max-width: 800px) {
  .je-stats-bar { grid-template-columns: repeat(2, 1fr); }
  .je-stat-item:nth-child(2) { border-right: none; }
  .je-stat-item:nth-child(3) { border-top: 1px solid var(--je-border-subtle); }
  .je-stat-item:nth-child(4) { border-top: 1px solid var(--je-border-subtle); border-right: none; }
}

@media (max-width: 480px) {
  .je-stats-bar { grid-template-columns: 1fr 1fr; }
}

/* --- Trust bar (small horizontal badges) --- */
.je-trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  padding: 28px 0;
  border-top: 1px solid var(--je-border-subtle);
  border-bottom: 1px solid var(--je-border-subtle);
  margin: 48px 0;
}

.je-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(0, 115, 117, 0.1);
  border: 1px solid rgba(89, 192, 73, 0.2);
  border-radius: var(--je-radius-pill);
  color: var(--je-text-secondary);
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
}

.je-trust-pill i {
  color: var(--je-brand-green);
  font-size: 15px;
}

/* --- Airport hub card (used on airports index + subpages) --- */
.je-airport-card {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: var(--je-radius-md);
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: all var(--je-transition-smooth);
  text-decoration: none !important;
  height: 100%;
}

.je-airport-card:hover {
  border-color: var(--je-brand-teal);
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45);
}

.je-airport-card__icon {
  width: 48px;
  height: 48px;
  background: rgba(0, 115, 117, 0.15);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--je-brand-green);
}

.je-airport-card__name {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
}

.je-airport-card__code {
  font-size: 12px;
  color: var(--je-brand-green);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.je-airport-card__desc {
  font-size: 13.5px;
  color: var(--je-text-muted);
  line-height: 1.6;
}

.je-airport-card__link {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--je-brand-green);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  text-decoration: none;
}

/* --- Fleet card luxury (vehicles page) --- */
.je-fleet-card-luxury {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: var(--je-radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all var(--je-transition-smooth);
}

.je-fleet-card-luxury:hover {
  border-color: rgba(0, 115, 117, 0.5);
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
}

.je-fleet-card-luxury__image {
  position: relative;
  background: var(--je-bg-primary);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
}

.je-fleet-card-luxury__image img {
  width: 100%;
  max-height: 150px;
  object-fit: contain;
  transition: transform 0.5s ease;
}

.je-fleet-card-luxury:hover .je-fleet-card-luxury__image img {
  transform: scale(1.04);
}

.je-fleet-card-luxury__body {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
  border-top: 1px solid var(--je-border-subtle);
}

.je-fleet-card-luxury__name {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 14px;
}

.je-fleet-card-luxury__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.je-spec-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(0, 115, 117, 0.12);
  border: 1px solid rgba(0, 115, 117, 0.25);
  border-radius: var(--je-radius-pill);
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: var(--je-text-secondary);
}

.je-spec-tag i {
  color: var(--je-brand-green);
  font-size: 11px;
}

.je-fleet-card-luxury__cta {
  margin-top: auto;
}

/* --- Section divider (thin accent line) --- */
.je-divider {
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, var(--je-brand-teal), var(--je-brand-green));
  border: none;
  margin: 0 auto 28px;
  border-radius: 1px;
}

.je-divider--left {
  margin-left: 0;
}

/* --- Contact page specifics --- */
.je-contact-subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--je-brand-green);
  margin-bottom: 4px;
  display: block;
}

.je-contact-note {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--je-text-muted);
  margin-top: 4px;
}

.je-contact-form-wrap {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: var(--je-radius-lg);
  padding: 36px 32px;
}

@media (max-width: 640px) {
  .je-contact-form-wrap { padding: 24px 18px; }
}

.je-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

@media (max-width: 600px) {
  .je-form-row { grid-template-columns: 1fr; }
}

.je-form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}

/* --- Congestion / info notice box (homepage) --- */
.je-congestion-wrapper {
  padding: 0 20px;
  margin-top: 20px;
}

.je-congestion-notice-box {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: rgba(0, 115, 117, 0.1);
  border: 1px solid rgba(0, 115, 117, 0.35);
  border-radius: var(--je-radius-md);
  padding: 16px 20px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--je-text-body);
  max-width: 680px;
  margin: 0 auto;
}

.je-congestion-notice-box i {
  font-size: 18px;
  margin-top: 1px;
  flex-shrink: 0;
}

/* --- Trust reviews block --- */
.je-trust-reviews-wrap {
  background: var(--je-bg-primary);
  border-top: 1px solid var(--je-border-subtle);
  border-bottom: 1px solid var(--je-border-subtle);
  padding: 48px 0;
}

/* --- Book now / payment screens --- */
.je-booking-page-wrap {
  padding: 60px 0;
  min-height: 60vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.je-payment-status-card {
  background: var(--je-bg-card);
  border: 1px solid var(--je-border-subtle);
  border-radius: var(--je-radius-lg);
  padding: 48px 40px;
  text-align: center;
  max-width: 540px;
  width: 100%;
}

.je-payment-status-card--success {
  border-color: rgba(89, 192, 73, 0.4);
}

.je-payment-status-card--cancel {
  border-color: rgba(239, 68, 68, 0.3);
}

.je-payment-status-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin: 0 auto 24px;
}

.je-payment-status-icon--success {
  background: rgba(89, 192, 73, 0.15);
  color: var(--je-brand-green);
  border: 2px solid rgba(89, 192, 73, 0.4);
}

.je-payment-status-icon--cancel {
  background: rgba(239, 68, 68, 0.1);
  color: #F87171;
  border: 2px solid rgba(239, 68, 68, 0.3);
}

/* --- CTA banner luxury variant (homepage section 8) --- */
.je-cta-luxury-banner {
  background: linear-gradient(135deg, #012628 0%, #001A1A 60%, #011E1F 100%);
  border-top: 1px solid rgba(0, 115, 117, 0.3);
  border-bottom: 1px solid rgba(0, 115, 117, 0.3);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.je-cta-luxury-banner::before {
  content: '';
  position: absolute;
  top: -40%;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 115, 117, 0.14) 0%, transparent 70%);
  pointer-events: none;
}

/* --- Blog / legal doc page --- */
.je-prose-page {
  max-width: 780px;
  margin: 0 auto;
  padding: 60px 24px;
}

.je-prose-page h1 {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif;
  font-size: clamp(30px, 3.5vw, 44px);
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.15;
  margin-bottom: 24px;
}

.je-prose-page h2 {
  font-size: 24px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 40px 0 16px;
}

.je-prose-page h3 {
  font-size: 19px;
  font-weight: 600;
  color: var(--je-text-secondary);
  margin: 28px 0 12px;
}

.je-prose-page p,
.je-prose-page li {
  font-family: 'DM Sans', sans-serif;
  font-size: 15.5px;
  line-height: 1.8;
  color: var(--je-text-body);
  margin-bottom: 16px;
}

.je-prose-page a {
  color: var(--je-brand-green);
  text-decoration: underline;
}

.je-prose-page a:hover {
  color: #FFFFFF;
}

/* --- Accordion transitions (FAQ luxury) --- */
.je-faq-answer-luxury {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.36s cubic-bezier(0.16, 1, 0.3, 1),
              padding 0.3s ease,
              opacity 0.25s ease;
  opacity: 0;
  padding: 0 24px;
}

.je-faq-answer-luxury.is-open {
  max-height: 600px;
  opacity: 1;
  padding-bottom: 22px;
}

.je-faq-icon-luxury.is-open {
  transform: rotate(45deg);
}

/* --- Service page gallery strip --- */
.je-gallery-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 48px;
}

.je-gallery-strip img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--je-radius-sm);
  transition: transform 0.4s ease;
}

.je-gallery-strip img:hover { transform: scale(1.03); }

@media (max-width: 768px) {
  .je-gallery-strip { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .je-gallery-strip { grid-template-columns: 1fr; }
}

/* --- Scroll-to-top button --- */
.je-scroll-to-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--je-brand-teal);
  color: #FFFFFF;
  border: none;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: all 0.28s ease;
  z-index: 9990;
}

.je-scroll-to-top.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.je-scroll-to-top:hover {
  background: var(--je-brand-green);
  transform: translateY(-2px);
}

/* --- Micro-animations: scroll reveal base --- */
@media (prefers-reduced-motion: no-preference) {
  .je-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s ease, transform 0.55s ease;
  }

  .je-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .je-reveal { opacity: 1; transform: none; }
}

/* --- Luxury FAQ / accordion (homepage two-column) --- */
.je-faq-accordion-wrap {
  margin-top: 0;
}

.je-faq-columns-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}

@media (max-width: 860px) {
  .je-faq-columns-grid {
    grid-template-columns: 1fr;
  }
}

.je-faq-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  background: rgba(0, 115, 117, 0.12);
  border: 1px solid rgba(0, 115, 117, 0.3);
  border-radius: var(--je-radius-pill);
  color: var(--je-brand-green);
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.je-faq-main-title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.15 !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.02em !important;
}

.je-faq-subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 15.5px;
  color: var(--je-text-body);
  line-height: 1.7;
  max-width: 620px;
  margin: 0 auto;
}

.je-faq-column { display: flex; flex-direction: column; gap: 14px; }

.je-faq-card {
  background: var(--je-bg-card) !important;
  border: 1px solid var(--je-border-subtle) !important;
  border-radius: var(--je-radius-md) !important;
  overflow: hidden;
  transition: border-color 0.22s ease;
}

.je-faq-card.active,
.je-faq-card:focus-within {
  border-color: rgba(89, 192, 73, 0.4) !important;
}

.je-faq-toggle {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 18px 22px !important;
  color: #FFFFFF !important;
  background: transparent;
  border: none;
  text-align: left;
  font-family: 'DM Sans', sans-serif;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  cursor: pointer;
  gap: 12px;
  transition: color var(--je-transition-fast);
}

.je-faq-toggle:hover,
.je-faq-card.active .je-faq-toggle {
  color: var(--je-brand-green) !important;
}

.je-faq-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.je-faq-list li {
  font-size: 14.5px;
  color: var(--je-text-body);
  padding-left: 18px;
  position: relative;
}

.je-faq-list li::before {
  content: 'â†’';
  position: absolute;
  left: 0;
  color: var(--je-brand-green);
}

.je-faq-concierge-card {
  margin-top: 48px;
  background: linear-gradient(135deg, var(--je-bg-surface) 0%, var(--je-bg-card) 100%);
  border: 1px solid rgba(0, 115, 117, 0.35);
  border-radius: var(--je-radius-lg);
  padding: 32px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: wrap;
}

.je-faq-concierge-content {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex: 1;
  min-width: 240px;
}

.je-faq-concierge-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: rgba(0, 115, 117, 0.2);
  border: 1px solid rgba(89, 192, 73, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--je-brand-green);
  flex-shrink: 0;
}

.je-faq-concierge-text h4 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 0 0 6px !important;
}

.je-faq-concierge-text p {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--je-text-muted);
  line-height: 1.6;
  margin: 0;
}

.je-faq-concierge-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.je-faq-btn-call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--je-radius-pill);
  color: #FFFFFF;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--je-transition-fast);
  background: rgba(255, 255, 255, 0.06);
}

.je-faq-btn-call:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #FFFFFF;
}

.je-faq-btn-book {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: var(--je-radius-pill);
  background: linear-gradient(135deg, var(--je-brand-teal) 0%, var(--je-brand-green) 100%);
  color: #FFFFFF;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--je-transition-smooth);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.je-faq-btn-book:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 115, 117, 0.4);
}

/* --- Testimonials carousel (homepage section 10) --- */
.je-testimonials-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.3);
  border-radius: var(--je-radius-pill);
  color: #F59E0B;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.je-testimonials-main-title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  line-height: 1.15 !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.02em !important;
}

.je-testimonials-subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 15.5px;
  color: var(--je-text-body);
  line-height: 1.7;
  max-width: 640px;
  margin: 0 auto;
}

.je-testimonials-carousel-container {
  position: relative;
  margin-top: 48px;
}

.je-testimonials-carousel-viewport {
  overflow: hidden;
  border-radius: var(--je-radius-md);
}

.je-testimonials-track {
  display: flex;
  transition: transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
}

.je-carousel-slide {
  flex: 0 0 33.333%;
  padding: 0 10px;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .je-carousel-slide { flex: 0 0 50%; }
}

@media (max-width: 640px) {
  .je-carousel-slide { flex: 0 0 100%; }
}

.je-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  background: #FFFFFF;
  border: 2px solid var(--je-brand-teal, #007375);
  color: var(--je-brand-teal, #007375);
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--je-transition-fast);
  box-shadow: 0 4px 14px rgba(0, 115, 117, 0.15);
  box-sizing: border-box;
  padding: 0;
}

.je-carousel-arrow:hover {
  background: var(--je-brand-teal, #007375);
  border-color: var(--je-brand-teal, #007375);
  color: #FFFFFF;
  box-shadow: 0 6px 18px rgba(0, 115, 117, 0.3);
  transform: translateY(-50%) scale(1.08);
}

.je-carousel-prev { left: 4px; }
.je-carousel-next { right: 4px; }

@media (max-width: 768px) {
  .je-carousel-prev { left: 0; }
  .je-carousel-next { right: 0; }
  .je-testimonials-carousel-container { padding: 0 54px; }
}

/* Testimonial card (component) */
.je-testimonial-quote-icon {
  color: rgba(89, 192, 73, 0.25);
  font-size: 28px;
  margin-bottom: 12px;
}

.je-testimonial-initials {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--je-brand-teal), var(--je-brand-green));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: #FFFFFF;
  flex-shrink: 0;
}

/* --- Trust reviews component --- */
.je-trust-reviews-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 28px;
}

.je-trust-reviews-header {
  text-align: center;
  margin-bottom: 36px;
}

/* --- Coverage map section --- */
.je-coverage-map-wrap {
  border-radius: var(--je-radius-md);
  overflow: hidden;
  border: 1px solid var(--je-border-subtle);
  height: 420px;
}

.je-coverage-map-wrap iframe,
.je-coverage-map-wrap .leaflet-container {
  width: 100%;
  height: 100%;
  display: block;
}

/* --- Gradient accent bar --- */
.je-accent-line {
  width: 48px;
  height: 3px;
  background: linear-gradient(90deg, var(--je-brand-teal), var(--je-brand-green));
  border-radius: 2px;
  margin: 0 auto 20px;
}

.je-accent-line--left { margin-left: 0; }

/* --- Trust check points (homepage Section 3) --- */
.je-trust-points .elementor-widget-container p {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: var(--je-text-secondary);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.je-trust-check {
  color: var(--je-brand-green) !important;
}

/* --- No-js and motion preferences --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* --- Utility: visually hidden (accessibility) --- */
.je-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* --- Mobile responsive final sweep --- */
@media (max-width: 767px) {
  .je-stats-bar { grid-template-columns: 1fr 1fr; }
  .je-faq-concierge-card { flex-direction: column; text-align: center; }
  .je-faq-concierge-content { flex-direction: column; align-items: center; text-align: center; }
  .je-faq-concierge-actions { justify-content: center; }
}

@media (max-width: 480px) {
  .je-fleet-card-luxury__name { font-size: 18px; }
  .je-payment-status-card { padding: 32px 20px; }
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SITE FOOTER (GLOBAL)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.je-site-footer {
    background: #001F21 !important;
    background-color: #001F21 !important;
    color: #E2E8F0 !important;
    position: relative;
    overflow: hidden;
    font-family: 'DM Sans', sans-serif;
    border-radius: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.je-footer-curved-banner {
    position: relative;
    background: #001F21 !important;
    background-color: #001F21 !important;
    background-image: none !important;
    padding: 60px 24px 40px;
    border-top: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.je-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 40px;
    max-width: 1440px;
    margin: 0 auto;
}

.je-footer-logo-wrap {
    margin-bottom: 24px;
}

.je-footer-logo {
    max-height: 55px;
    width: auto;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
}

.je-footer-bio {
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    margin-bottom: 24px !important;
    color: #E2E8F0 !important;
}

.je-footer-tfl-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(0, 15, 16, 0.6) !important;
    border: 1px solid rgba(88, 191, 72, 0.35) !important;
    padding: 16px;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.je-footer-tfl-icon {
    width: 48px;
    height: 48px;
    background: rgba(88, 191, 72, 0.15) !important;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #58BF48 !important;
    font-size: 20px;
    flex-shrink: 0;
}

.je-footer-tfl-info {
    display: flex;
    flex-direction: column;
}

.je-footer-tfl-title {
    font-size: 12px !important;
    color: #FFFFFF !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
    font-weight: 700 !important;
}

.je-footer-tfl-licence {
    font-size: 14px !important;
    color: #86EFAC !important;
    font-weight: 600 !important;
}

.je-footer-tfl-licence strong {
    color: #FFFFFF !important;
}

.je-footer-tfl-assoc {
    font-size: 11.5px !important;
    color: #94A3B8 !important;
    margin-top: 2px;
}

/* Footer Headings */
.je-footer-widget-header {
    margin-bottom: 24px;
}

.je-footer-heading {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin: 0 0 12px;
    letter-spacing: 0.2px;
}

.je-footer-heading-bar {
    width: 40px;
    height: 3px;
    background: linear-gradient(90deg, #58BF48, #00E5E8) !important;
    border-radius: 2px;
}

/* Footer Lists */
.je-footer-nav-list,
.je-footer-services-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.je-footer-nav-list li,
.je-footer-services-list li {
    margin-bottom: 14px;
}

.je-footer-nav-list a,
.je-footer-services-list a {
    color: #F8FAFC !important;
    text-decoration: none;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.je-footer-nav-list a i,
.je-footer-services-list a i {
    font-size: 10px;
    color: #58BF48 !important;
    transition: transform 0.3s ease;
}

.je-footer-nav-list a:hover,
.je-footer-services-list a:hover {
    color: #86EFAC !important;
}

.je-footer-nav-list a:hover i,
.je-footer-services-list a:hover i {
    transform: translateX(4px);
    color: #86EFAC !important;
}

/* Airports Grid */
.je-footer-airports-grid {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 10px !important;
}

.je-footer-airports-grid li {
    margin: 0 !important;
    padding: 0 !important;
}

.je-footer-airports-grid li a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 10px !important;
    background: rgba(0, 15, 16, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 6px !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    transition: all 0.22s ease !important;
}

.je-footer-airports-grid li a:hover {
    background: rgba(88, 191, 72, 0.18) !important;
    border-color: #58BF48 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

.je-airport-left {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.je-airport-left i {
    font-size: 11px !important;
    color: #58BF48 !important;
}

.je-airport-name {
    color: #FFFFFF !important;
}

.je-airport-iata {
    font-size: 9.5px !important;
    font-weight: 700 !important;
    background: rgba(88, 191, 72, 0.15) !important;
    color: #86EFAC !important;
    border: 1px solid rgba(88, 191, 72, 0.4) !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
}

/* Footer Contact */
.je-footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
}

.je-contact-icon-box {
    width: 44px;
    height: 44px;
    background: rgba(88, 191, 72, 0.15) !important;
    border: 1px solid rgba(88, 191, 72, 0.35) !important;
    border-radius: 8px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #58BF48 !important;
    font-size: 18px;
    flex-shrink: 0;
}

.je-contact-details {
    display: flex;
    flex-direction: column;
}

.je-contact-subtitle {
    font-size: 11.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #94A3B8 !important;
    margin-bottom: 4px;
    font-weight: 700 !important;
}

.je-contact-value {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

.je-contact-value:hover {
    color: #86EFAC !important;
}

.je-phone-link {
    color: #58BF48 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.je-phone-link:hover {
    color: #86EFAC !important;
}

.je-email-link {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

.je-email-link:hover {
    color: #86EFAC !important;
}

.je-contact-note {
    font-size: 11.5px !important;
    color: #94A3B8 !important;
    margin-top: 3px;
}

/* Dispatch Badge */
.je-footer-dispatch-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(88, 191, 72, 0.12) !important;
    border: 1px solid rgba(88, 191, 72, 0.4) !important;
    padding: 8px 16px;
    border-radius: 30px;
    color: #86EFAC !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.je-pulse-indicator {
    width: 8px;
    height: 8px;
    background-color: #22C55E !important;
    border-radius: 50%;
    position: relative;
}

.je-pulse-indicator::after {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    background-color: #22C55E;
    border-radius: 50%;
    animation: pulse 2s infinite;
    opacity: 0.5;
}

@keyframes pulse {
    0% { transform: scale(0.5); opacity: 0.8; }
    100% { transform: scale(2.5); opacity: 0; }
}

/* Footer Bottom Row */
.je-footer-bottom-row {
    max-width: 1440px;
    margin: 40px auto 0;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.je-footer-copyright {
    font-size: 14px !important;
    color: #94A3B8 !important;
}

.je-footer-copyright strong {
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

.je-footer-social-icons {
    display: flex;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.je-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #FFFFFF !important;
    text-decoration: none;
    transition: all 0.3s ease;
}

.je-social-btn:hover {
    background: #58BF48 !important;
    border-color: #58BF48 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* Responsive Footer */
@media (max-width: 1024px) {
    .je-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .je-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    
    .je-footer-bottom-row {
        flex-direction: column;
        text-align: center;
        justify-content: center;
    }
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SUBPAGE SHARED HERO (AIRPORTS, TOURS, BLOG)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.je-subpage-hero {
    position: relative;
    padding: 180px 24px 100px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: left;
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
}

.je-subpage-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Layered treatment: left-to-right gradient for text readability, top-to-bottom for nav visibility and bottom fade */
    background: linear-gradient(90deg, rgba(0, 31, 33, 0.95) 0%, rgba(0, 43, 43, 0.85) 45%, rgba(0, 43, 43, 0.2) 100%),
                linear-gradient(180deg, rgba(0, 31, 33, 0.8) 0%, transparent 20%, rgba(0, 31, 33, 0.95) 100%);
    z-index: 1;
}

.je-subpage-hero__inner {
    position: relative;
    z-index: 2;
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Breadcrumbs */
.je-breadcrumbs {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #e2e8f0;
    margin: 0 auto 24px auto;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.je-breadcrumbs a {
    color: var(--je-gold-accent);
    text-decoration: none;
    transition: color 0.3s ease;
}

.je-breadcrumbs a:hover {
    color: #ffffff;
}

.je-breadcrumbs .separator {
    color: #64748b;
}

/* Subpage Hero Content */
.je-subpage-hero__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: var(--je-gold-accent);
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid rgba(212, 175, 55, 0.3);
    padding: 6px 16px;
    border-radius: 30px;
    margin: 0 auto 20px auto;
}

.je-subpage-hero__title {
    font-family: 'Cormorant Upright', Georgia, serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 auto 20px auto;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
    max-width: 800px;
    text-align: center;
}

.je-subpage-hero__sub {
    font-size: 18px;
    line-height: 1.6;
    color: #f8fafc;
    max-width: 650px;
    margin: 0 auto 32px auto;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
    text-align: center;
}

.je-subpage-hero__cta {
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    flex-wrap: wrap;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   BUTTON SYSTEM REFINEMENT
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.je-btn-primary {
    background: linear-gradient(135deg, var(--je-brand-teal) 0%, var(--je-brand-green) 100%);
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 30px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    border: none;
}

.je-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(89, 192, 73, 0.4);
    color: #ffffff;
}

.je-btn-secondary {
    background: rgba(0, 0, 0, 0.25);
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 30px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.je-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.6);
    color: #ffffff;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   RESPONSIVE TWEAKS FOR SUBPAGES
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media (max-width: 768px) {
    .je-subpage-hero {
        padding: 140px 20px 80px;
    }
    .je-subpage-hero__title {
        font-size: 40px;
    }
    .je-subpage-hero__sub {
        font-size: 16px;
    }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   CONTACT US FORM LUXURY REFINEMENT
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.je-contact-form {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    padding: 32px;
}

.je-contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 24px;
}

.je-form-group {
    display: flex;
    flex-direction: column;
}

.je-form-group-full {
    grid-column: 1 / -1;
}

.je-contact-input {
    width: 100%;
    background: rgba(0, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    padding: 14px 18px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    height: 48px;
}

textarea.je-contact-input {
    min-height: 140px;
    height: auto;
    resize: vertical;
}

.je-contact-input:focus {
    outline: none !important;
    border-color: var(--je-brand-green) !important;
    box-shadow: 0 0 0 2px rgba(89, 192, 73, 0.2) !important;
    background: rgba(0, 0, 0, 0.3) !important;
}

.je-btn-full {
    width: 100%;
    justify-content: center;
    padding: 16px 24px;
    font-size: 16px;
    cursor: pointer;
}

.je-contact-trust-badges {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    color: #94a3b8;
    flex-wrap: wrap;
}

.je-contact-trust-badges i {
    margin-right: 6px;
}

.je-contact-trust-badges .fa-lock { color: var(--je-brand-green); }
.je-contact-trust-badges .fa-shield-alt { color: var(--je-gold-accent); }
.je-contact-trust-badges .fa-bolt { color: var(--je-brand-teal); }
.je-contact-trust-badges .separator { color: #475569; }

@media (max-width: 768px) {
    .je-contact-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .je-contact-form {
        padding: 24px 16px;
    }
    .je-contact-trust-badges {
        gap: 8px;
        font-size: 12px;
    }
    .je-contact-trust-badges .separator {
        display: none;
    }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   LEGAL DOCUMENTATION REFINEMENT
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.je-legal-container {
    max-width: 1060px !important;
    margin: 0 auto;
}

.je-legal-article {
    padding: 60px 80px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

.je-legal-section-header {
    margin-top: 50px !important;
    margin-bottom: 24px !important;
    border-bottom: 1px solid rgba(89, 192, 73, 0.2) !important;
    padding-bottom: 16px !important;
}

/* First section doesn't need top margin */
.je-legal-article > .je-legal-section-header:first-of-type,
.je-legal-article > div:first-child > .je-legal-section-header {
    margin-top: 0 !important;
}

.je-legal-h2 {
    font-family: 'Cormorant Upright', 'Cormorant Garamond', Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

.je-legal-body {
    color: #CBD5E1 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

.je-legal-body p {
    margin-top: 0;
    margin-bottom: 1.25rem;
}

.je-legal-body p:last-child {
    margin-bottom: 0;
}

/* Lists styling */
.je-legal-body ul, 
.je-legal-body ol {
    margin-top: 0;
    margin-bottom: 1.25rem;
    padding-left: 24px;
}

.je-legal-body li {
    margin-bottom: 12px;
    padding-left: 8px;
    position: relative;
}

.je-legal-body strong {
    color: #FFFFFF;
    font-weight: 700;
}

.je-legal-body a {
    color: var(--je-gold-accent);
    text-decoration: underline;
    text-decoration-color: rgba(212, 175, 55, 0.4);
    transition: all 0.2s ease;
}

.je-legal-body a:hover {
    color: #FFFFFF;
    text-decoration-color: var(--je-gold-accent);
}

@media (max-width: 992px) {
    .je-legal-article {
        padding: 50px 40px !important;
    }
}

@media (max-width: 768px) {
    .je-legal-article {
        padding: 40px 20px !important;
        border-radius: 8px !important;
    }
    .je-legal-section-header {
        margin-top: 40px !important;
        margin-bottom: 20px !important;
        padding-bottom: 12px !important;
    }
    .je-legal-h2 {
        font-size: 26px !important;
    }
    .je-legal-body {
        font-size: 15px !important;
    }
    .je-legal-body ul, 
    .je-legal-body ol {
        padding-left: 16px;
    }
}

/* ==========================================================================
   HOMEPAGE STRUCTURAL REDESIGN (Trust & Stats)
   ========================================================================== */

/* Trust Bar — Dark Premium Glassmorphism (Matching Airport Visuals) */
.je-trust-bar,
body.home .je-trust-bar {
    display: block !important;
    background: linear-gradient(180deg, rgba(3, 24, 26, 0.85) 0%, rgba(1, 14, 16, 0.95) 100%) !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    padding: 24px 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-bottom: 1px solid rgba(88, 191, 72, 0.3) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.12), inset 0 0 24px rgba(0, 115, 117, 0.18) !important;
    position: relative;
    z-index: 20;
}

.je-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    align-items: center;
}

.je-trust-item,
body.home .je-trust-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 10px 24px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.je-trust-item:last-child,
body.home .je-trust-item:last-child {
    border-right: none !important;
}

.je-trust-item:hover,
body.home .je-trust-item:hover {
    background: rgba(88, 191, 72, 0.05) !important;
    box-shadow: none !important;
}

.je-trust-icon,
body.home .je-trust-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    background: rgba(0, 35, 38, 0.75) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(88, 191, 72, 0.35) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #58BF48 !important;
    flex-shrink: 0 !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.je-trust-icon svg {
    width: 22px !important;
    height: 22px !important;
    color: #58BF48 !important;
    filter: none !important;
    transition: all 0.35s ease !important;
}

.je-trust-item:hover .je-trust-icon,
body.home .je-trust-item:hover .je-trust-icon {
    background: #007375 !important;
    border-color: #58BF48 !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45), 0 2px 6px rgba(88, 191, 72, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-2px) scale(1.04) !important;
}

.je-trust-item:hover .je-trust-icon svg,
body.home .je-trust-item:hover .je-trust-icon svg {
    color: #FFFFFF !important;
    filter: none !important;
}

.je-trust-title,
body.home .je-trust-title {
    color: #FFFFFF !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) !important;
    transition: color 0.3s ease !important;
}

.je-trust-item:hover .je-trust-title,
body.home .je-trust-item:hover .je-trust-title {
    color: #58BF48 !important;
    text-shadow: none !important;
}

.je-trust-desc,
body.home .je-trust-desc {
    color: #CBD5E1 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    margin-top: 3px !important;
    letter-spacing: 0.01em !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) !important;
}

/* Stats Bar */
.je-stats-bar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    background-color: var(--je-brand-green) !important;
    padding: 60px 0 !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    position: relative;
    z-index: 20;
}

.je-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    text-align: center;
}

.je-stats-item {
    padding: 0 16px;
    border-right: 1px solid rgba(255,255,255,0.25);
}

.je-stats-item:last-child {
    border-right: none;
}

.je-stats-number {
    font-size: 48px;
    font-weight: 900;
    color: #FFFFFF;
    margin-bottom: 8px;
    line-height: 1;
    letter-spacing: -0.02em;
}

.je-stats-label {
    color: rgba(255,255,255,0.95);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Services Header Reformat */
.je-section-services {
    padding: 100px 0;
    background-color: var(--je-bg-primary);
}

.je-section-header {
    text-align: center;
    margin-bottom: 60px;
}

.je-section-title {
    font-size: 42px;
    font-weight: 800;
    color: var(--je-text-title);
    margin-bottom: 20px;
    letter-spacing: -0.01em;
}

.je-section-desc {
    font-size: 18px;
    color: var(--je-text-secondary);
    max-width: 768px;
    margin: 0 auto;
    line-height: 1.6;
}

@media (max-width: 992px) {
    .je-trust-grid, .je-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .je-trust-item:nth-child(2) {
        border-right: none !important;
    }
    .je-stats-item:nth-child(2) {
        border-right: none;
    }
    .je-trust-item:nth-child(n+3) {
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
        padding-top: 16px !important;
        margin-top: 8px !important;
    }
    .je-stats-item:nth-child(n+3) {
        border-top: 1px solid rgba(255,255,255,0.25);
        padding-top: 20px;
        margin-top: 10px;
    }
}

@media (max-width: 576px) {
    .je-trust-grid {
        grid-template-columns: 1fr;
    }
    .je-trust-item {
        border-right: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
        padding: 14px 16px !important;
    }
    .je-trust-item:first-child {
        border-top: none !important;
    }
}

@media (max-width: 768px) {
    .je-section-services {
        padding: 60px 0;
    }
    .je-section-title {
        font-size: 32px;
    }
}

/* Clean Services Cards */
.je-services-flex-container {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    padding: 20px 0;
}

.je-service-col {
    width: 100% !important;
}

.je-service-card-clean {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--je-bg-card);
    border: 1px solid var(--je-border-subtle);
    border-radius: var(--je-radius-lg);
    padding: 32px 24px;
    text-align: center;
    transition: all var(--je-transition-smooth);
    text-decoration: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.je-service-card-clean:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    border-color: var(--je-border-accent);
}

.je-service-icon-clean {
    width: 64px;
    height: 64px;
    margin: 0 auto 24px;
    border-radius: 50%;
    background: var(--je-bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--je-brand-green);
    font-size: 24px;
    transition: all var(--je-transition-smooth);
}

.je-service-card-clean:hover .je-service-icon-clean {
    background: var(--je-brand-green);
    color: #FFFFFF;
    box-shadow: 0 8px 16px var(--je-accent-glow);
}

.je-service-title-clean {
    font-size: 18px;
    font-weight: 700;
    color: #0F172A !important;
    margin: 0 0 12px 0;
    font-family: 'DM Sans', sans-serif;
}

.je-service-desc-clean {
    font-size: 14px;
    color: #475569 !important;
    line-height: 1.5;
    margin: 0 0 20px 0;
    flex-grow: 1;
}

.je-service-link-clean {
    font-size: 14px;
    font-weight: 700;
    color: var(--je-brand-green);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: gap var(--je-transition-fast);
}

.je-service-card-clean:hover .je-service-link-clean {
    gap: 12px;
}

@media (max-width: 1200px) {
    .je-services-flex-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .je-services-flex-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .je-services-flex-container {
        grid-template-columns: 1fr;
    }
}

/* Typography Utilities */
.je-section-eyebrow {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--je-brand-green);
    font-weight: 800;
}

.je-phone-link {
    color: var(--je-brand-green);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
    transition: all var(--je-transition-fast);
}

.je-phone-link:hover {
    color: var(--je-text-title);
    text-decoration-color: var(--je-text-title);
}

/* Feature Cards overriding dark background */
.je-section-why-choose {
    background-color: var(--je-bg-surface);
    padding: 80px 0;
}


/* ==========================================================================
   HOMEPAGE VISUAL CALIBRATION & BRAND TOKENS (PASS 1)
   Scoped to body.home so no airport/other pages or booking logic is touched
   ========================================================================== */

body.home {
  /* Exact Inspected Logo Colors */
  --homepage-brand-primary: #58BF48;         /* Logo primary leaf green */
  --homepage-brand-primary-hover: #4CA83E;
  --homepage-brand-secondary: #007375;       /* Logo secondary deep teal */
  --homepage-brand-secondary-hover: #005F61;
  
  /* Structural Surfaces */
  --homepage-surface-dark: #002B2B;          /* Authentic executive dark teal */
  --homepage-surface-dark-deep: #001F21;     /* Deeper structural dark */
  --homepage-surface-light: #FFFFFF;         /* Crisp white surface */
  --homepage-surface-muted: #F8FAFC;         /* Soft light surface */
  
  /* Typography Scale Colors */
  --homepage-text-primary: #0F172A;          /* Slate 900 for Light BG Headings */
  --homepage-text-body: #334155;             /* Slate 700 for Light BG Body */
  --homepage-text-secondary: #475569;        /* Slate 600 for Light BG Subtitles */
  --homepage-text-muted: #64748B;            /* Slate 500 for Metadata */
  
  --homepage-text-on-dark-primary: #FFFFFF;  /* White on Dark */
  --homepage-text-on-dark-body: #CBD5E1;     /* Light Slate on Dark */
  --homepage-text-on-dark-muted: #94A3B8;    /* Muted Slate on Dark */
  
  /* Borders */
  --homepage-border-subtle: #E2E8F0;
  --homepage-border-dark: rgba(0, 115, 117, 0.3);
}

/* 1. Global Header Calibration is handled comprehensively in the Global Header section */



/* 2. Hero Section Typography & Subtitle (Fix 3) */
body.home .je-hero-heading h1 {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(34px, 4.2vw, 52px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.15 !important;
  margin-bottom: 14px !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 4px 20px rgba(0,0,0,0.7) !important;
}

body.home .je-hero-heading p,
body.home .je-hero-subtitle,
.je-hero-subtitle {
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: clamp(11.5px, 1.15vw, 15px) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  line-height: 1.6 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 auto !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.85) !important;
  white-space: nowrap !important;
}

/* 3. Global Section Headings Scale Recalibration (Fix 1) */
body.home .je-section-title,
body.home .je-fleet-heading,
body.home .je-testimonials-main-title,
body.home .je-faq-main-title,
body.home .je-hit-road-title,
body.home .je-airports-covered-title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: clamp(34px, 3.2vw, 46px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
  margin-bottom: 14px !important;
}

/* Headings on Light Sections */
body.home .je-fleet-heading,
body.home .je-section-why-choose .je-section-title,
body.home .je-section-testimonials .je-testimonials-main-title,
body.home .je-section-faq .je-faq-main-title {
  color: #0F172A !important;
}

/* Headings on Dark Sections */
body.home .je-section-services .je-section-title,
body.home .je-section-hit-road .je-hit-road-title,
body.home .je-section-airports-covered .elementor-heading-title,
body.home .trust-reviews-component h2 {
  color: #FFFFFF !important;
}

/* 4. Global Section Descriptions Recalibration (Fix 1, Fix 6) */
body.home .je-section-desc,
body.home .je-fleet-subheading,
body.home .je-testimonials-subtitle,
body.home .je-faq-subtitle,
body.home .je-hit-road-desc {
  font-family: 'DM Sans', sans-serif !important;
  font-size: clamp(15.5px, 1.1vw, 17px) !important;
  line-height: 1.75 !important;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Descriptions on Light Sections */
body.home .je-fleet-subheading,
body.home .je-section-fleet-intro .je-section-desc,
body.home .je-section-why-choose .je-section-desc,
body.home .je-section-testimonials .je-testimonials-subtitle,
body.home .je-section-faq .je-faq-subtitle {
  color: #334155 !important;
}

body.home .je-faq-subtitle {
  margin-bottom: 48px !important;
}

/* Descriptions on Dark Sections */
body.home .je-section-services .je-section-desc,
body.home .je-section-hit-road .je-hit-road-desc,
body.home .trust-reviews-component p {
  color: #CBD5E1 !important;
}

/* 5. Section Badges / Eyebrows Recalibration */
body.home .je-badge,
body.home .je-section-eyebrow,
body.home .je-fleet-badge,
body.home .je-faq-badge,
body.home .je-testimonials-badge,
body.home .je-hit-road-badge,
body.home .je-airports-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #58BF48 !important;
  background: rgba(0, 115, 117, 0.15) !important;
  border: 1px solid rgba(88, 191, 72, 0.3) !important;
  border-radius: 9999px !important;
  padding: 6px 16px !important;
  margin-bottom: 12px !important;
}

body.home .je-section-services {
  background: linear-gradient(180deg, #001B1D 0%, #002224 50%, #00181A 100%) !important;
  padding: 90px 0 !important;
  border-top: 1px solid rgba(0, 115, 117, 0.2) !important;
  border-bottom: 1px solid rgba(0, 115, 117, 0.2) !important;
}

body.home .je-section-services .je-container {
  max-width: 1540px !important;
  width: 95% !important;
}

body.home .je-section-partner {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  padding: 60px 0 !important;
}

body.home .je-section-partner .elementor-heading-title {
  color: #0F172A !important;
}

body.home .je-trust-points p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15.5px !important;
  color: #334155 !important;
  line-height: 1.6 !important;
}

body.home .je-trust-check {
  color: #58BF48 !important;
}

body.home .je-section-fleet-intro {
  background: #FFFFFF !important;
  padding-top: 70px !important;
}

body.home .je-section-fleet-intro .elementor-heading-title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(34px, 3.2vw, 46px) !important;
  font-weight: 700 !important;
  color: #0F172A !important;
}

body.home .je-fleet-section {
  background: #FFFFFF !important;
  padding-top: 70px !important;
  padding-bottom: 80px !important;
}

body.home .je-section-why-choose {
  background: #F8FAFC !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: none !important;
  padding: 85px 0 !important;
}

body.home .je-section-cta-banner {
  background: #002B2B !important;
  padding: 70px 0 !important;
}

body.home .je-section-cta-banner .elementor-heading-title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(32px, 3.2vw, 44px) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

body.home .je-section-cta-banner p {
  font-size: 16px !important;
  color: #CBD5E1 !important;
  line-height: 1.7 !important;
}

body.home .je-cta-btn {
  background: linear-gradient(135deg, #007375 0%, #58BF48 100%) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  border-radius: 9999px !important;
  padding: 12px 30px !important;
  box-shadow: 0 4px 15px rgba(88, 191, 72, 0.25) !important;
}

body.home .je-section-faq {
  background: #FFFFFF !important;
  padding: 85px 0 !important;
}

body.home .je-section-testimonials {
  background: #FFFFFF !important;
  background-image: none !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  padding: 85px 0 !important;
}

body.home .je-section-hit-road {
  background: #001F21 !important;
  border-top: 1px solid rgba(0, 115, 117, 0.25) !important;
  border-bottom: none !important;
  padding: 85px 0 !important;
}

body.home .je-section-airports-covered {
  background: #0B0F12 !important;
  border-top: none !important;
  padding: 60px 0 !important;
}

/* 7. Fleet Specifications Readability (Fix 7) */
body.home .je-fleet-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.06) !important;
  border-radius: 16px !important;
}

body.home .je-car-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  letter-spacing: -0.2px !important;
  min-height: 2.8rem !important;
}

body.home .je-car-specs {
  background: #F8FAFC !important;
  border: 1px solid #F1F5F9 !important;
  border-radius: 10px !important;
  padding: 12px 10px !important;
  gap: 8px !important;
}

body.home .je-spec-item {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
}

body.home .je-spec-icon {
  color: #007375 !important;
  background: rgba(0, 115, 117, 0.12) !important;
}

body.home .je-car-book-btn {
  background: linear-gradient(135deg, #007375 0%, #58BF48 100%) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  border-radius: 9999px !important;
  padding: 11px 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-shadow: 0 4px 12px rgba(88, 191, 72, 0.2) !important;
  transition: all 0.25s ease !important;
}

body.home .je-car-book-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(88, 191, 72, 0.35) !important;
}

/* 8. Feature Cards Readability (Why Choose Us) (Fix 8) */
body.home .je-feature-card-luxury {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 14px !important;
  padding: 24px 22px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.3s ease !important;
}

body.home .je-feature-card-luxury:hover {
  border-color: #58BF48 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 25px rgba(0, 43, 43, 0.08) !important;
}

body.home .je-feature-icon-box {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 10px !important;
  background: rgba(0, 115, 117, 0.12) !important;
  border: 1px solid rgba(88, 191, 72, 0.25) !important;
  color: #58BF48 !important;
  font-size: 20px !important;
}

body.home .je-feature-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 17.5px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 0 0 8px !important;
  line-height: 1.35 !important;
}

body.home .je-feature-desc {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #334155 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* 9. FAQ Readability & Contrast Calibration (Fix 9) */
body.home .je-faq-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.02) !important;
  transition: border-color 0.22s ease, box-shadow 0.22s ease !important;
}

body.home .je-faq-card.active {
  border-color: rgba(88, 191, 72, 0.45) !important;
  box-shadow: 0 6px 18px rgba(0, 43, 43, 0.06) !important;
}

body.home .je-faq-toggle {
  color: #0F172A !important;
  background: transparent !important;
  padding: 18px 22px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  text-decoration: none !important;
  width: 100% !important;
  transition: color 0.2s ease !important;
}

body.home .je-faq-toggle:hover,
body.home .je-faq-card.active .je-faq-toggle {
  color: #007375 !important;
}

body.home .ekit-accordion-title-inner {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  color: inherit !important;
  line-height: 1.4 !important;
}

body.home .je-faq-num {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #007375 !important;
  margin-right: 10px !important;
}

body.home .je-faq-chevron {
  color: #007375 !important;
  font-size: 15px !important;
  transition: transform 0.25s ease, color 0.25s ease !important;
}

body.home .je-faq-card.active .je-faq-chevron {
  transform: rotate(180deg) !important;
  color: #58BF48 !important;
}

body.home .je-faq-answer-text,
body.home .je-faq-answer-text p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15.5px !important;
  color: #334155 !important;
  line-height: 1.7 !important;
}

body.home .je-faq-list li {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #334155 !important;
  line-height: 1.65 !important;
}

body.home .je-faq-list li::before {
  color: #58BF48 !important;
}

body.home .je-faq-concierge-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05) !important;
  padding: 32px 36px !important;
  margin-top: 48px !important;
}

body.home .je-faq-concierge-icon {
  width: 52px !important;
  height: 52px !important;
  background: rgba(0, 115, 117, 0.12) !important;
  border: 1px solid rgba(88, 191, 72, 0.3) !important;
  border-radius: 12px !important;
  color: #58BF48 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
}

body.home .je-faq-concierge-text h4 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 0 0 6px 0 !important;
}

body.home .je-faq-concierge-text p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #475569 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

body.home .je-faq-btn-call {
  background: transparent !important;
  border: 1.5px solid #007375 !important;
  color: #007375 !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  border-radius: 9999px !important;
  padding: 10px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
}

body.home .je-faq-btn-call:hover {
  background: #007375 !important;
  color: #FFFFFF !important;
}

body.home .je-faq-btn-book {
  background: linear-gradient(135deg, #007375 0%, #58BF48 100%) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  border-radius: 9999px !important;
  padding: 10px 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 15px rgba(88, 191, 72, 0.25) !important;
  transition: all 0.25s ease !important;
}

body.home .je-faq-btn-book:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(88, 191, 72, 0.4) !important;
}

/* 10. Testimonials Readability (Section 10 Carousel) (Fix 10) */
body.home .je-testimonial-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05) !important;
  border-radius: 16px !important;
  padding: 28px 24px !important;
}

body.home .je-testimonial-name {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 0 0 3px 0 !important;
}

body.home .je-testimonial-role {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13.5px !important;
  color: #64748B !important;
}

body.home .je-testimonial-content p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  color: #334155 !important;
  font-style: italic !important;
}

body.home .je-testimonial-rating i {
  color: #F59E0B !important;
  font-size: 14px !important;
}

body.home .je-testimonial-badge {
  color: #58BF48 !important;
  background: rgba(0, 115, 117, 0.12) !important;
  border: 1px solid rgba(88, 191, 72, 0.25) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
}

body.home .je-carousel-arrow {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  background: transparent !important;
  border: 2px solid var(--je-brand-green) !important;
  color: var(--je-brand-green) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.home .je-carousel-arrow:hover {
  background: var(--je-brand-green) !important;
  border-color: var(--je-brand-green) !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 18px rgba(0, 115, 117, 0.3) !important;
  transform: translateY(-50%) scale(1.08) !important;
}

body.home .je-carousel-dot {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  border: 2px solid #007375 !important;
  opacity: 0.65 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
}

body.home .je-carousel-dot:hover {
  opacity: 1 !important;
  background: rgba(0, 115, 117, 0.18) !important;
  border-color: #007375 !important;
  transform: scale(1.2) !important;
}

body.home .je-carousel-dot.active {
  width: 32px !important;
  height: 12px !important;
  border-radius: 6px !important;
  background: #007375 !important;
  border: 2px solid #007375 !important;
  opacity: 1 !important;
  box-shadow: 0 2px 8px rgba(0, 115, 117, 0.35) !important;
}

/* 11. Hit The Road Section Readability */
body.home .je-hit-road-title-accent {
  color: #58BF48 !important;
}

body.home .je-hit-road-perk-item {
  font-size: 15px !important;
  color: #F1F5F9 !important;
}

body.home .je-hit-road-perk-item i {
  color: #58BF48 !important;
}

body.home .je-hit-road-btn-phone {
  background: rgba(0, 43, 46, 0.6) !important;
  border: 1.5px solid #58BF48 !important;
  color: #FFFFFF !important;
  font-size: 15px !important;
  box-shadow: 0 0 18px rgba(88, 191, 72, 0.42), inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

body.home .je-hit-road-btn-book {
  background: rgba(0, 31, 33, 0.5) !important;
  border: 1.5px solid rgba(0, 210, 212, 0.55) !important;
  color: #FFFFFF !important;
  font-size: 15px !important;
  box-shadow: 0 0 16px rgba(0, 115, 117, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

body.home .je-phone-link {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700 !important;
  color: #007375 !important;
  letter-spacing: 0.5px !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

body.home .je-phone-link:hover {
  color: #58BF48 !important;
}

body.home .je-congestion-notice-box {
  background: rgba(0, 115, 117, 0.08) !important;
  border: 1px solid rgba(0, 115, 117, 0.25) !important;
  color: #334155 !important;
  font-size: 14.5px !important;
}

body.home .je-congestion-notice-box span,
body.home .je-congestion-notice-box strong {
  color: #0F172A !important;
}

/* Fix Bootstrap collapse visibility hiding FAQ answer text */
body.home .elementskit-card-body,
body.home .elementskit-card-body.collapse,
body.home .elementskit-card-body.show,
body.home .je-faq-answer-text,
body.home .je-faq-answer-text * {
  visibility: visible !important;
}

body.home .elementskit-card-body {
  padding: 0 24px 22px 24px !important;
  background: #FFFFFF !important;
}

body.home .je-faq-answer-text strong {
  color: #0F172A !important;
  font-weight: 700 !important;
}

body.home .je-faq-btn-book {
  background: #007375 !important;
  background-image: linear-gradient(135deg, #007375 0%, #58BF48 100%) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  border-radius: 9999px !important;
  padding: 10px 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 15px rgba(88, 191, 72, 0.25) !important;
  border: none !important;
}

body.home .je-faq-btn-book * {
  color: #FFFFFF !important;
}

/* 12. Responsive Typography Safety (Fix 12) */
@media (max-width: 1024px) {
  body.home .je-hero-section {
    padding-top: 105px !important;
  }
  
  body.home .je-section-title,
  body.home .je-fleet-heading,
  body.home .je-testimonials-main-title,
  body.home .je-faq-main-title,
  body.home .je-hit-road-title {
    font-size: clamp(30px, 3.8vw, 38px) !important;
  }
}

@media (max-width: 768px) {
  body.home .je-hero-section {
    padding-top: 110px !important;
  }
  
  body.home .je-section-title,
  body.home .je-fleet-heading,
  body.home .je-testimonials-main-title,
  body.home .je-faq-main-title,
  body.home .je-hit-road-title {
    font-size: clamp(26px, 5.5vw, 32px) !important;
    line-height: 1.25 !important;
  }
  
  body.home .je-section-desc,
  body.home .je-fleet-subheading,
  body.home .je-testimonials-subtitle,
  body.home .je-faq-subtitle,
  body.home .je-hit-road-desc {
    font-size: 15px !important;
    line-height: 1.65 !important;
    padding: 0 10px !important;
  }
  
  body.home .je-faq-toggle {
    font-size: 15.5px !important;
    padding: 16px 18px !important;
  }
  
  body.home .je-feature-title {
    font-size: 16.5px !important;
  }
}

/* ==========================================================================
   HOMEPAGE PASS 2: COMPACT FAQ HELP BAR & UNIFIED AIRPORT CARDS
   ========================================================================== */

/* 1. Compact Secondary FAQ Help Bar */
body.home .je-faq-support-compact {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
  padding: 16px 24px !important;
  margin-top: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

body.home .je-faq-support-compact .je-faq-concierge-content {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex: 1 !important;
}

body.home .je-faq-support-compact .je-faq-concierge-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  background: rgba(0, 115, 117, 0.1) !important;
  border: 1px solid rgba(88, 191, 72, 0.25) !important;
  color: #007375 !important;
  font-size: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

body.home .je-faq-support-compact .je-faq-concierge-text h4 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

body.home .je-faq-support-compact .je-faq-concierge-text p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13.5px !important;
  color: #64748B !important;
  margin: 2px 0 0 0 !important;
  line-height: 1.4 !important;
}

body.home .je-faq-support-compact .je-faq-concierge-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}

body.home .je-faq-support-compact .je-faq-btn-call {
  background: #FFFFFF !important;
  border: 1px solid #D1D5DB !important;
  color: #1E293B !important;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 0 12px !important;
  height: 31px !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

body.home .je-faq-support-compact .je-faq-btn-call i {
  font-size: 11px !important;
  color: #1E293B !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
}

body.home .je-faq-support-compact .je-faq-btn-call:hover {
  background: #F8FAFC !important;
  border-color: #007375 !important;
  color: #007375 !important;
}

body.home .je-faq-support-compact .je-faq-btn-call:hover i {
  color: #007375 !important;
}

body.home .je-faq-support-compact .je-faq-btn-book {
  background: #007375 !important;
  background-image: none !important;
  border: 1px solid #007375 !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 0 14px !important;
  height: 31px !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body.home .je-faq-support-compact .je-faq-btn-book i {
  font-size: 11px !important;
  line-height: 1 !important;
}

body.home .je-faq-support-compact .je-faq-btn-book:hover {
  background: #005a5c !important;
  border-color: #005a5c !important;
}

/* ==========================================================================
   2. AIRPORTS WE COVER - 6 DESTINATION CARDS IN ONE SINGLE LINE (NO GRID)
   ========================================================================== */
body.home .je-section-airports-covered,
.elementor-element.elementor-element-beb4065 {
  background: #080D0E !important;
  border-top: 1px solid rgba(0, 115, 117, 0.25) !important;
  padding: 80px 16px !important;
  --padding-top: 80px !important;
  --padding-bottom: 80px !important;
  --padding-left: 16px !important;
  --padding-right: 16px !important;
}

body.home .je-airports-covered-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(30px, 3.5vw, 44px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 8px 0 0 0 !important;
}

/* Explicit ONE SINGLE LINE layout across all 6 cards (No Grid) */
.je-airports-grid-unified,
body.home .je-airports-grid-unified {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-top: 36px !important;
  width: 100% !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 4px 2px 20px 2px !important;
}

/* Luxury Frosted Glassmorphism Airport Card */
.je-airport-card-unified,
body.home .je-airport-card-unified {
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 380px !important;
  height: 380px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: rgba(3, 24, 26, 0.45) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(88, 191, 72, 0.35) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
  text-decoration: none !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.3), inset 0 0 20px rgba(0, 115, 117, 0.25) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, box-shadow 0.35s ease !important;
  padding: 0 !important;
}

.je-airport-card-unified:hover,
body.home .je-airport-card-unified:hover {
  transform: translateY(-8px) scale(1.025) !important;
  border-color: #58BF48 !important;
  box-shadow: 0 20px 45px -8px rgba(0, 0, 0, 0.75), 0 0 12px rgba(88, 191, 72, 0.2), inset 0 1px 2px rgba(255, 255, 255, 0.4) !important;
}

/* High Fidelity Visual Photography */
.je-airport-card-img,
body.home .je-airport-card-img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 1 !important;
  display: block !important;
  opacity: 0.92 !important;
  filter: brightness(0.92) contrast(1.1) !important;
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease, opacity 0.5s ease !important;
}

.je-airport-card-unified:hover .je-airport-card-img,
body.home .je-airport-card-unified:hover .je-airport-card-img {
  transform: scale(1.1) !important;
  opacity: 1 !important;
  filter: brightness(1.02) contrast(1.12) !important;
}

/* Dynamic Glass Sheen & Readability Vignette */
.je-airport-card-overlay,
body.home .je-airport-card-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(2, 20, 22, 0.15) 30%, rgba(0, 15, 17, 0.55) 65%, rgba(1, 10, 12, 0.92) 100%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  transition: background 0.4s ease !important;
}

.je-airport-card-unified:hover .je-airport-card-overlay,
body.home .je-airport-card-unified:hover .je-airport-card-overlay {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(2, 24, 26, 0.08) 30%, rgba(0, 15, 17, 0.45) 65%, rgba(1, 10, 12, 0.94) 100%) !important;
}

/* Frosted Floating Plane Badge */
.je-airport-card-icon-badge,
body.home .je-airport-card-icon-badge {
  position: relative !important;
  z-index: 3 !important;
  width: 46px !important;
  height: 46px !important;
  margin-top: 22px !important;
  border-radius: 50% !important;
  background: rgba(0, 35, 38, 0.72) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1.5px solid rgba(88, 191, 72, 0.5) !important;
  border-top: 1.5px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), inset 0 1px 2px rgba(255, 255, 255, 0.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #58BF48 !important;
  font-size: 17px !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.je-airport-card-unified:hover .je-airport-card-icon-badge,
body.home .je-airport-card-unified:hover .je-airport-card-icon-badge {
  background: #007375 !important;
  border-color: #58BF48 !important;
  color: #FFFFFF !important;
  transform: scale(1.14) rotate(-8deg) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 2px 6px rgba(88, 191, 72, 0.25) !important;
}

/* Frosted Bottom Typography Plinth */
.je-airport-card-content,
body.home .je-airport-card-content {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 16px 8px 24px 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: linear-gradient(180deg, rgba(0, 28, 30, 0.5) 0%, rgba(0, 20, 22, 0.85) 45%, rgba(0, 12, 14, 0.96) 100%) !important;
  backdrop-filter: blur(14px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(180%) !important;
  border-top: 1px solid rgba(88, 191, 72, 0.28) !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.35) !important;
}

.je-airport-card-name,
body.home .je-airport-card-name {
  font-family: 'Cormorant Upright', 'Cormorant Garamond', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 0 0 3px 0 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9) !important;
  white-space: nowrap !important;
}

.je-airport-card-sub,
body.home .je-airport-card-sub {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: 0.02em !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8) !important;
}

.je-airport-code,
.je-airport-card-code,
body.home .je-airport-code,
body.home .je-airport-card-code {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #58BF48 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  background: rgba(88, 191, 72, 0.12) !important;
  border: 1px solid rgba(88, 191, 72, 0.45) !important;
  border-radius: 6px !important;
  padding: 3px 12px !important;
  text-shadow: 0 0 8px rgba(88, 191, 72, 0.4) !important;
  transition: all 0.3s ease !important;
}

.je-airport-card-unified:hover .je-airport-card-code,
body.home .je-airport-card-unified:hover .je-airport-card-code {
  color: #FFFFFF !important;
  background: #58BF48 !important;
  border-color: #58BF48 !important;
  box-shadow: 0 0 14px rgba(88, 191, 72, 0.6) !important;
  letter-spacing: 2.2px !important;
}

/* 3. Section Spacing & Flow Normalization */
body.home .je-section-why-choose {
  margin-bottom: 0 !important;
}

body.home .je-section-faq {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}

body.home .je-section-testimonials {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}

/* 4. Responsive Rules: Keep 6 Cards in ONE Single Line on all viewports via horizontal swipe track */
@media (max-width: 1200px) {
  .je-airports-grid-unified,
  body.home .je-airports-grid-unified {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 14px !important;
    padding: 10px 8px 24px 8px !important;
    justify-content: flex-start !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(88, 191, 72, 0.4) transparent !important;
  }

  .je-airports-grid-unified::-webkit-scrollbar,
  body.home .je-airports-grid-unified::-webkit-scrollbar {
    height: 6px !important;
  }

  .je-airports-grid-unified::-webkit-scrollbar-track,
  body.home .je-airports-grid-unified::-webkit-scrollbar-track {
    background: rgba(0, 30, 32, 0.3) !important;
    border-radius: 3px !important;
  }

  .je-airports-grid-unified::-webkit-scrollbar-thumb,
  body.home .je-airports-grid-unified::-webkit-scrollbar-thumb {
    background: rgba(88, 191, 72, 0.5) !important;
    border-radius: 3px !important;
  }

  .je-airport-card-unified,
  body.home .je-airport-card-unified {
    flex: 0 0 205px !important;
    min-width: 205px !important;
    height: 360px !important;
    min-height: 360px !important;
    scroll-snap-align: start !important;
  }

  body.home .je-faq-support-compact {
    flex-direction: column !important;
    text-align: center !important;
    padding: 18px !important;
    gap: 14px !important;
  }
  
  body.home .je-faq-support-compact .je-faq-concierge-content {
    flex-direction: column !important;
    text-align: center !important;
  }
  
  body.home .je-faq-support-compact .je-faq-concierge-actions {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 580px) {
  body.home .je-faq-support-compact .je-faq-concierge-actions {
    flex-direction: column !important;
    width: 100% !important;
  }
  
  body.home .je-faq-support-compact .je-faq-btn-call,
  body.home .je-faq-support-compact .je-faq-btn-book {
    width: 100% !important;
    justify-content: center !important;
  }
}
/* ==========================================================================
   AUTHORITATIVE GLOBAL FOOTER NORMALIZE — DARK HEADER COLOR (#001F21)
   Guarantees exact header color match, zero gap, zero rounded corners, 
   and 100% crystal-clear readable text across all devices and templates.
   ========================================================================== */
body .je-site-footer,
body.home .je-site-footer,
body .je-footer-root,
body.home .je-footer-root,
body .je-footer-curved-banner,
body.home .je-footer-curved-banner,
footer#colophon {
  background-color: #001F21 !important;
  background: #001F21 !important;
  background-image: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Ensure the section above the footer has no border-bottom */
body .je-section-hit-road,
body.home .je-section-hit-road,
.je-section-hit-road,
main#content,
.site-main {
  border-bottom: none !important;
}

body .je-site-footer,
body.home .je-site-footer {
  border-top: 1px solid #58BF48 !important;
}

body .je-footer-root,
body.home .je-footer-root,
body .je-footer-curved-banner,
body.home .je-footer-curved-banner {
  border-top: none !important;
  border-bottom: none !important;
}

body .je-footer-heading,
body.home .je-footer-heading,
body .je-footer-col h3,
body .je-footer-col h4 {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

body .je-footer-heading-bar,
body.home .je-footer-heading-bar {
  background: linear-gradient(90deg, #58BF48, #00E5E8) !important;
}

body .je-footer-bio,
body.home .je-footer-bio {
  color: #E2E8F0 !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
}

/* TfL Card */
body .je-footer-tfl-card,
body.home .je-footer-tfl-card {
  background: rgba(0, 15, 16, 0.6) !important;
  border: 1px solid rgba(88, 191, 72, 0.35) !important;
  border-radius: 8px !important;
}

body .je-footer-tfl-title,
body.home .je-footer-tfl-title {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

body .je-footer-tfl-licence,
body.home .je-footer-tfl-licence {
  color: #86EFAC !important;
  font-weight: 600 !important;
}

body .je-footer-tfl-licence strong,
body.home .je-footer-tfl-licence strong {
  color: #FFFFFF !important;
}

body .je-footer-tfl-assoc,
body.home .je-footer-tfl-assoc {
  color: #94A3B8 !important;
}

/* Useful Links */
body .je-footer-nav-list li a,
body.home .je-footer-nav-list li a {
  color: #F8FAFC !important;
  font-size: 14.5px !important;
}

body .je-footer-nav-list li a:hover,
body.home .je-footer-nav-list li a:hover {
  color: #86EFAC !important;
}

body .je-footer-nav-list li a i,
body.home .je-footer-nav-list li a i {
  color: #58BF48 !important;
}

/* Airports Grid */
body .je-footer-airports-grid li a,
body.home .je-footer-airports-grid li a {
  background: rgba(0, 15, 16, 0.5) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
}

body .je-footer-airports-grid li a:hover,
body.home .je-footer-airports-grid li a:hover {
  background: rgba(88, 191, 72, 0.18) !important;
  border-color: #58BF48 !important;
  color: #FFFFFF !important;
}

body .je-footer-airports-grid .je-airport-left i,
body.home .je-footer-airports-grid .je-airport-left i {
  color: #58BF48 !important;
}

body .je-footer-airports-grid .je-airport-name,
body.home .je-footer-airports-grid .je-airport-name {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

body .je-footer-airports-grid .je-airport-iata,
body.home .je-footer-airports-grid .je-airport-iata {
  background: rgba(88, 191, 72, 0.15) !important;
  color: #86EFAC !important;
  border: 1px solid rgba(88, 191, 72, 0.4) !important;
}

/* Contact Info */
body .je-contact-icon-box,
body.home .je-contact-icon-box {
  background: rgba(88, 191, 72, 0.15) !important;
  border: 1px solid rgba(88, 191, 72, 0.35) !important;
  color: #58BF48 !important;
}

body .je-contact-subtitle,
body.home .je-contact-subtitle {
  color: #94A3B8 !important;
  font-weight: 700 !important;
}

body .je-contact-value,
body.home .je-contact-value {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

body .je-phone-link,
body.home .je-phone-link {
  color: #58BF48 !important;
  font-weight: 700 !important;
  font-size: 18px !important;
}

body .je-phone-link:hover,
body.home .je-phone-link:hover {
  color: #86EFAC !important;
}

body .je-email-link,
body.home .je-email-link {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

body .je-email-link:hover,
body.home .je-email-link:hover {
  color: #86EFAC !important;
}

body .je-contact-note,
body.home .je-contact-note {
  color: #94A3B8 !important;
}

body .je-footer-dispatch-badge,
body.home .je-footer-dispatch-badge {
  background: rgba(88, 191, 72, 0.12) !important;
  border: 1px solid rgba(88, 191, 72, 0.4) !important;
  color: #86EFAC !important;
}

/* Copyright & Social */
body .je-footer-bottom-row,
body.home .je-footer-bottom-row {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body .je-footer-copyright,
body.home .je-footer-copyright {
  color: #94A3B8 !important;
}

body .je-footer-copyright strong,
body.home .je-footer-copyright strong {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

body .je-social-btn,
body.home .je-social-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #FFFFFF !important;
}

body .je-social-btn:hover,
body.home .je-social-btn:hover {
  background: #58BF48 !important;
  border-color: #58BF48 !important;
  color: #FFFFFF !important;
}

/* ==========================================================================
   GLOBAL ZOOM LEVEL (95% OUT OF 100%)
   ========================================================================== */
body,
body.public-site,
body.home {
  zoom: 0.95 !important;
}

/* ==========================================================================
   STATS BAR FULL-WIDTH FLUSH NORMALIZATION (NO ROUNDED CORNERS, NO GAPS)
   ========================================================================== */
body .je-stats-bar,
body.home .je-stats-bar,
.je-stats-bar {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  background-color: #58BF48 !important;
  padding: 60px 0 !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 20 !important;
}

body.home .je-section-why-choose {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

body.home .je-section-airports-covered {
  border-top: none !important;
  margin-top: 0 !important;
}

/* ==========================================================================
   SUPPORT BAR CALL BUTTON CALIBRATION (IMAGE 2 TARGET VISUALS)
   ========================================================================== */
body .je-faq-btn-call,
body.home .je-faq-btn-call,
body.home .je-faq-support-compact .je-faq-btn-call {
  background: #FFFFFF !important;
  border: 1px solid #D1D5DB !important;
  color: #1E293B !important;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 0 12px !important;
  height: 31px !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

body .je-faq-btn-call i,
body.home .je-faq-btn-call i,
body.home .je-faq-support-compact .je-faq-btn-call i {
  font-size: 11px !important;
  color: #1E293B !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
}

body .je-faq-btn-call:hover,
body.home .je-faq-btn-call:hover,
body.home .je-faq-support-compact .je-faq-btn-call:hover {
  background: #F8FAFC !important;
  border-color: #007375 !important;
  color: #007375 !important;
}

body .je-faq-btn-call:hover i,
body.home .je-faq-btn-call:hover i,
body.home .je-faq-support-compact .je-faq-btn-call:hover i {
  color: #007375 !important;
}

/* ==========================================================================
   HIT THE ROAD CTA (SECTION 11) - PHOTOGRAPHIC WITH DEEP DARK TEAL COLOR OVERLAY
   ========================================================================== */
body .je-section-hit-road,
body.home .je-section-hit-road,
.je-section-hit-road,
.elementor-element.elementor-element-5ed9ed0a {
  background-color: #001012 !important;
  padding: 85px 0 !important;
  position: relative !important;
  overflow: hidden !important;
  border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-bottom: 1px solid rgba(88, 191, 72, 0.25) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.65) !important;
}

/* Sharp Panoramic Background Night Image Layer (Subdued, Deep & Moody) */
.je-hit-road-bg-img,
body.home .je-hit-road-bg-img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 60% !important;
  z-index: 1 !important;
  opacity: 0.50 !important;
  filter: brightness(0.65) contrast(1.2) saturate(110%) !important;
  pointer-events: none !important;
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease !important;
}

.je-section-hit-road:hover .je-hit-road-bg-img {
  transform: scale(1.02) !important;
  opacity: 0.58 !important;
}

/* Deep Translucent Dark Teal Color Overlay - Crisp & Rich without Dense Blur */
.je-hit-road-glass-overlay,
body.home .je-hit-road-glass-overlay,
.je-hit-road-color-overlay,
body.home .je-hit-road-color-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: linear-gradient(
    180deg,
    rgba(0, 14, 16, 0.95) 0%,
    rgba(0, 19, 21, 0.92) 50%,
    rgba(0, 11, 13, 0.97) 100%
  ) !important;
  box-shadow: inset 0 0 120px rgba(0, 0, 0, 0.65) !important;
  pointer-events: none !important;
}

/* Contents Layer Above Background & Glass Overlay */
.je-hit-road-container,
body.home .je-hit-road-container {
  position: relative !important;
  z-index: 3 !important;
}

/* Eyebrow Badge: Frosted Glass with Emerald Border & Glow (Matching Airport / Trust Pill Effect) */
body .je-hit-road-badge,
body.home .je-hit-road-badge,
body.home .je-section-hit-road .je-hit-road-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 18px !important;
  background: rgba(0, 35, 38, 0.75) !important;
  border: 1.5px solid rgba(88, 191, 72, 0.6) !important;
  border-top: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 9999px !important;
  color: #58BF48 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 20px !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45), 0 0 16px rgba(88, 191, 72, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  text-shadow: 0 0 8px rgba(88, 191, 72, 0.4) !important;
}

body .je-hit-road-badge i,
body.home .je-hit-road-badge i {
  color: #58BF48 !important;
  font-size: 13px !important;
}

/* Main Heading */
body .je-hit-road-title,
body.home .je-hit-road-title,
body.home .je-section-hit-road .je-hit-road-title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(34px, 3.4vw, 46px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 16px 0 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.8) !important;
}

body .je-hit-road-title-accent,
body.home .je-hit-road-title-accent {
  color: #58BF48 !important;
  display: inline-block !important;
  text-shadow: 0 0 18px rgba(88, 191, 72, 0.5) !important;
}

/* Description */
body .je-hit-road-desc,
body.home .je-hit-road-desc,
body.home .je-section-hit-road .je-hit-road-desc {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #CBD5E1 !important;
  margin: 0 0 24px 0 !important;
  max-width: 580px !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}

/* Perks List */
body .je-hit-road-perks,
body.home .je-hit-road-perks {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  flex-wrap: wrap !important;
  margin: 0 0 32px 0 !important;
}

body .je-hit-road-perk-item,
body.home .je-hit-road-perk-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}

body .je-hit-road-perk-item i,
body.home .je-hit-road-perk-item i {
  color: #58BF48 !important;
  font-size: 16px !important;
  filter: drop-shadow(0 0 6px rgba(88, 191, 72, 0.5)) !important;
}

/* Action Buttons Container */
body .je-hit-road-actions,
body.home .je-hit-road-actions {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

/* Call Dispatch Button: Glassmorphic with Vibrant Green Border & Glowing Halo */
body .je-hit-road-btn-phone,
body.home .je-hit-road-btn-phone {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 13px 26px !important;
  border-radius: 9999px !important;
  background: rgba(0, 43, 46, 0.72) !important;
  border: 1.5px solid #58BF48 !important;
  border-top: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 18px rgba(88, 191, 72, 0.45), inset 0 1px 2px rgba(255, 255, 255, 0.25) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body .je-hit-road-btn-phone i,
body.home .je-hit-road-btn-phone i {
  color: #FFFFFF !important;
  font-size: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.25s ease !important;
}

body .je-hit-road-btn-phone:hover,
body.home .je-hit-road-btn-phone:hover {
  background: #58BF48 !important;
  color: #FFFFFF !important;
  border-color: #58BF48 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.5), 0 0 32px rgba(88, 191, 72, 0.75) !important;
}

body .je-hit-road-btn-phone:hover i,
body.home .je-hit-road-btn-phone:hover i {
  transform: scale(1.12) rotate(-8deg) !important;
}

/* Book Online Button: Glassmorphic with Teal Outline & Halo (Matching Image 2) */
body .je-hit-road-btn-book,
body.home .je-hit-road-btn-book {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 13px 26px !important;
  border-radius: 9999px !important;
  background: rgba(0, 31, 33, 0.65) !important;
  border: 1.5px solid rgba(0, 210, 212, 0.55) !important;
  border-top: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 16px rgba(0, 115, 117, 0.35), inset 0 1px 2px rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body .je-hit-road-btn-book i,
body.home .je-hit-road-btn-book i {
  color: #FFFFFF !important;
  font-size: 14px !important;
  transition: transform 0.25s ease !important;
}

body .je-hit-road-btn-book:hover,
body.home .je-hit-road-btn-book:hover {
  background: rgba(0, 115, 117, 0.88) !important;
  border-color: #00fff2 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.5), 0 0 28px rgba(0, 210, 212, 0.6) !important;
}

body .je-hit-road-btn-book:hover i,
body.home .je-hit-road-btn-book:hover i {
  transform: translateX(3px) !important;
}

/* Vehicle Visual Layering */
.je-hit-road-visual,
body.home .je-hit-road-visual {
  position: relative !important;
  z-index: 2 !important;
}

.je-hit-road-car-wrap,
body.home .je-hit-road-car-wrap {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Ambient Emerald & Teal Lighting Under Mercedes */
.je-hit-road-car-glow,
body.home .je-hit-road-car-glow {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -40%) !important;
  width: 120% !important;
  height: 90% !important;
  background: radial-gradient(ellipse at center, rgba(88, 191, 72, 0.24) 0%, rgba(0, 115, 117, 0.32) 40%, transparent 70%) !important;
  filter: blur(32px) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.je-hit-road-car-img,
body.home .je-hit-road-car-img {
  position: relative !important;
  z-index: 2 !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.75)) !important;
}

/* Floating Tag: Glassmorphic Pill Badge Under Mercedes */
body .je-hit-road-floating-tag,
body.home .je-hit-road-floating-tag {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 20px !important;
  background: rgba(0, 35, 38, 0.78) !important;
  border: 1.5px solid rgba(88, 191, 72, 0.6) !important;
  border-top: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 9999px !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-top: 14px !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), 0 0 16px rgba(88, 191, 72, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body .je-hit-road-floating-tag:hover,
body.home .je-hit-road-floating-tag:hover {
  background: #007375 !important;
  border-color: #58BF48 !important;
  transform: translateY(-2px) scale(1.04) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5), 0 0 24px rgba(88, 191, 72, 0.6) !important;
}

body .je-hit-road-floating-tag i,
body.home .je-hit-road-floating-tag i {
  color: #58BF48 !important;
  font-size: 14px !important;
  filter: drop-shadow(0 0 6px rgba(88, 191, 72, 0.5)) !important;
}

/* ==========================================================================
   HIGHLIGHTED PHRASE STYLING ("the absolute lowest fare in the UK")
   ========================================================================== */
.je-highlight-phrase {
  display: inline !important;
  background: rgba(88, 191, 72, 0.2) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  margin: 0 2px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(88, 191, 72, 0.6) !important;
  box-shadow: 0 0 12px rgba(88, 191, 72, 0.28) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  box-decoration-break: clone !important;
  -webkit-box-decoration-break: clone !important;
}

/* Explicit Dark Background Class & Scoped Selectors (Services, Hit The Road, Hero, Dark BG) */
.je-highlight-phrase-dark,
.je-section-services .je-highlight-phrase,
body.home .je-section-services .je-highlight-phrase,
.je-section-hit-road .je-highlight-phrase,
body.home .je-section-hit-road .je-highlight-phrase,
.novaride-dark .je-section-services .je-highlight-phrase,
.novaride-dark .je-section-hit-road .je-highlight-phrase {
  color: #FFFFFF !important;
  background: rgba(88, 191, 72, 0.22) !important;
  border: 1px solid rgba(88, 191, 72, 0.65) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85) !important;
}

/* Explicit Light Background Class & Scoped Selectors (Why Choose Jannah Express) */
.je-highlight-phrase-light,
.je-section-why-choose .je-highlight-phrase,
body.home .je-section-why-choose .je-highlight-phrase {
  background: rgba(88, 191, 72, 0.14) !important;
  color: #047857 !important;
  border-color: rgba(88, 191, 72, 0.5) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
  text-shadow: none !important;
}

/* ==========================================================================
   LONDON AIRPORT CHAUFFEUR PARTNER - TEAL COLOR OVERLAY (NO DENSE BLUR)
   ========================================================================== */
.je-section-partner,
body.home .je-section-partner,
.je-section-postcode-banner,
body.home .je-section-postcode-banner {
  position: relative !important;
  overflow: hidden !important;
  padding: 70px 24px 85px !important;
  min-height: 520px !important;
  background-color: #011d1f !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-bottom: 1px solid rgba(88, 191, 72, 0.3) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45) !important;
  box-sizing: border-box !important;
}

/* Sharp Panoramic Background Image (Maserati at Tower Bridge) */
.je-partner-bg,
body.home .je-partner-bg,
.je-postcode-banner-bg,
body.home .je-postcode-banner-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 38% !important;
  z-index: 1 !important;
  opacity: 0.88 !important;
  filter: brightness(0.95) contrast(1.1) saturate(108%) !important;
  pointer-events: none !important;
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease !important;
}

.je-section-partner:hover .je-partner-bg,
.je-section-postcode-banner:hover .je-postcode-banner-bg {
  transform: scale(1.02) !important;
  opacity: 0.94 !important;
}

/* Translucent Dark Teal Color Overlay - Crisp & Sharp without Dense Blur */
.je-partner-color-overlay,
body.home .je-partner-color-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2 !important;
  background: linear-gradient(
    180deg,
    rgba(0, 28, 30, 0.88) 0%,
    rgba(0, 34, 37, 0.85) 50%,
    rgba(0, 26, 28, 0.90) 100%
  ) !important;
  pointer-events: none !important;
}

/* Main Container */
.je-partner-container,
body.home .je-partner-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 1240px !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

/* 1. Centered Top Header */
.je-partner-top-header,
body.home .je-partner-top-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  margin-bottom: 34px !important;
}

/* Booking Phone Text */
.je-partner-callout,
body.home .je-partner-callout {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(26px, 3.2vw, 38px) !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

/* Circled Phone Number Badge - Clean & Crisp (No Spreading Glow/Drop Shadow) */
.je-partner-phone-ring,
body.home .je-partner-phone-ring {
  display: inline-block !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', -apple-system, sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(24px, 2.9vw, 36px) !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  padding: 3px 22px !important;
  border: 2px solid #58BF48 !important;
  border-radius: 9999px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: all 0.25s ease !important;
}

.je-partner-phone-ring:hover,
body.home .je-partner-phone-ring:hover {
  background: #58BF48 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
  transform: translateY(-1px) !important;
}

/* Thin White Outline Congestion Fee Capsule - Strictly One Single Line */
.je-partner-fee-capsule,
body.home .je-partner-fee-capsule {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 28px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.85) !important;
  border-radius: 9999px !important;
  background: rgba(0, 20, 22, 0.35) !important;
  color: #FFFFFF !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: clamp(12px, 1.1vw, 14.5px) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  width: auto !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* 2. Main Content Grid - Centered in the Middle */
.je-partner-grid,
body.home .je-partner-grid {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  text-align: center !important;
}

.je-partner-content-col,
body.home .je-partner-content-col {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

/* Main Heading - One Single Line */
.je-partner-title,
body.home .je-partner-title {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: clamp(22px, 2.85vw, 42px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  margin: 0 auto 20px auto !important;
  max-width: 100% !important;
  width: auto !important;
  white-space: nowrap !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6) !important;
}

/* Body Paragraph - Centered in Few Clean Lines */
.je-partner-desc,
body.home .je-partner-desc {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: clamp(14px, 1.2vw, 15.5px) !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.94) !important;
  text-align: center !important;
  margin: 0 auto 28px auto !important;
  max-width: 900px !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* 3 Uppercase Checkmarks - Centered Block with Left-Aligned Checks */
.je-partner-checklist,
body.home .je-partner-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 13px !important;
  text-align: left !important;
}

.je-partner-checklist li,
body.home .je-partner-checklist li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
}

.je-partner-check-icon,
body.home .je-partner-check-icon {
  color: #FFFFFF !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  filter: none !important;
}

.je-partner-check-text,
body.home .je-partner-check-text {
  font-family: 'DM Sans', sans-serif !important;
  font-size: clamp(13px, 1.15vw, 15px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) !important;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 991px) {
  .je-section-partner,
  body.home .je-section-partner,
  .je-section-postcode-banner,
  body.home .je-section-postcode-banner {
    padding: 60px 20px 70px !important;
  }
}

@media (max-width: 767px) {
  .je-partner-title,
  body.home .je-partner-title {
    white-space: normal !important;
    font-size: clamp(24px, 5.5vw, 32px) !important;
  }
}

@media (max-width: 640px) {
  .je-partner-fee-capsule,
  body.home .je-partner-fee-capsule {
    padding: 8px 18px !important;
    border-radius: 20px !important;
    font-size: 13px !important;
  }
  .je-partner-callout,
  body.home .je-partner-callout {
    flex-direction: column !important;
    gap: 8px !important;
  }
}

/* --- Jannah Express Airport Location Autocomplete - Brand Green Selected State --- */
.je-ac-list {
  background: #ffffff !important;
  border: 1.5px solid #58BF48 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2), 0 3px 10px rgba(0, 0, 0, 0.08) !important;
}

.je-ac-item {
  background: #ffffff !important;
  color: #111827 !important;
  border-left: 4px solid transparent !important;
  border-bottom: 1px solid #f1f5f9 !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

.je-ac-item .je-ac-name {
  color: #111827 !important;
}

/* Selected / Active / Hovered state with Logo Green (#58BF48) */
.je-ac-item:hover,
.je-ac-item.is-active,
.je-ac-item[aria-selected="true"] {
  background: #58BF48 !important;
  border-left-color: #206017 !important;
  color: #ffffff !important;
}

.je-ac-item:hover .je-ac-text,
.je-ac-item.is-active .je-ac-text,
.je-ac-item[aria-selected="true"] .je-ac-text,
.je-ac-item:hover .je-ac-name,
.je-ac-item.is-active .je-ac-name,
.je-ac-item[aria-selected="true"] .je-ac-name {
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) !important;
}

.je-ac-item:hover .je-ac-iata,
.je-ac-item.is-active .je-ac-iata,
.je-ac-item[aria-selected="true"] .je-ac-iata {
  background: #ffffff !important;
  color: #1a5613 !important;
  border-color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
}

.je-ac-item:hover .je-ac-pc,
.je-ac-item.is-active .je-ac-pc,
.je-ac-item[aria-selected="true"] .je-ac-pc {
  background: #ffffff !important;
  color: #1a5613 !important;
  border-color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
}

/* --- Estimated Fare price text: darkened teal matching the brand palette --- */
.je-hero-dual-booking .je-booking-price-row strong,
.je-booking-price-row strong,
.je-booking-price-row [data-live-price] {
  color: #004242 !important;
}

/* ==========================================================================
   MASTER GLOBAL MOBILE RESPONSIVENESS & UNIVERSAL DEVICE SYSTEM
   Guarantees flawless rendering and zero horizontal overflow on any device
   from 320px ultra-compact phones (iPhone SE, Galaxy Fold) up to 4K displays.
   ========================================================================== */

/* 1. Global Viewport Anti-Blowout & Base Resets */
html,
body,
body.home,
body.public-site {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  box-sizing: border-box !important;
}

*,
*::before,
*::after {
  box-sizing: border-box !important;
}

/* Prevent image / media overflow */
img,
svg,
video,
canvas,
iframe {
  max-width: 100% !important;
  height: auto;
}

/* Ensure all major Elementor and layout wrappers respect viewport */
.site-main,
.je-site-header,
.je-site-footer,
.elementor,
.elementor-element,
.e-con,
.e-con-boxed,
.e-con-full,
.e-con-inner,
.je-container,
.container,
.container-fluid {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* 2. Hero Section Typography & Layout */
.je-hero-heading {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

.je-hero-heading h1 {
  font-size: clamp(26px, 5.5vw, 52px) !important;
  line-height: 1.18 !important;
  word-break: break-word !important;
}

.je-hero-subtitle {
  font-size: clamp(11.5px, 2.8vw, 15px) !important;
  white-space: normal !important;
  text-wrap: balance !important;
  word-break: break-word !important;
  max-width: 860px !important;
  line-height: 1.55 !important;
  padding: 0 8px !important;
}

/* 3. Hero Dual Booking Form Responsive Architecture */
.je-hero-dual-booking {
  width: 100% !important;
  max-width: 1140px !important;
  box-sizing: border-box !important;
}

.je-booking-panel {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.je-booking-tabs {
  width: 100% !important;
  box-sizing: border-box !important;
}

.je-booking-tab {
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.je-booking-field {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.je-booking-field input,
.je-booking-field select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-size: 14px !important; /* Prevents auto-zoom on iOS */
  min-height: 44px !important;
}

.je-booking-field-row {
  display: flex !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.je-booking-field-row .je-booking-field {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

/* Autocomplete list touch responsiveness */
.je-ac-list {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  max-height: 280px !important;
  -webkit-overflow-scrolling: touch !important;
  z-index: 999999 !important;
}

.je-ac-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.je-ac-item .je-ac-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  word-break: break-word !important;
  line-height: 1.35 !important;
}

.je-ac-item .je-ac-iata,
.je-ac-item .je-ac-pc {
  flex-shrink: 0 !important;
}

/* ==========================================================================
   BREAKPOINT 1: LARGE TABLETS & SMALL LAPTOPS (<= 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
  /* Hero Dual Booking Stack */
  .je-hero-dual-booking {
    flex-direction: column !important;
    align-items: center !important;
    max-width: 580px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    gap: 28px !important;
  }

  .je-hero-dual-booking .je-booking-panel {
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Services Grid: 3 columns */
  .je-services-flex-container {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
  }

  /* Airports We Cover: 3 columns x 2 rows */
  .je-airports-grid-unified,
  body.home .je-airports-grid-unified {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    overflow-x: visible !important;
    padding: 0 !important;
    margin-top: 24px !important;
  }

  .je-airport-card-unified,
  body.home .je-airport-card-unified {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 320px !important;
    min-height: 320px !important;
  }

  /* Fleet Grid: 3 columns */
  .je-fleet-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
  }

  /* Hit The Road Section: Stacked Content & Visual */
  .je-hit-road-container,
  body.home .je-hit-road-container {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 48px 24px !important;
    gap: 36px !important;
  }

  .je-hit-road-content,
  body.home .je-hit-road-content {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .je-hit-road-desc,
  body.home .je-hit-road-desc {
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .je-hit-road-perks,
  body.home .je-hit-road-perks {
    justify-content: center !important;
  }

  .je-hit-road-actions,
  body.home .je-hit-road-actions {
    justify-content: center !important;
  }

  .je-hit-road-visual,
  body.home .je-hit-road-visual {
    flex: 1 1 100% !important;
    max-width: 480px !important;
    width: 100% !important;
  }

  /* Partner Banner */
  .je-section-partner,
  body.home .je-section-partner {
    padding: 50px 20px 60px !important;
  }

  .je-partner-grid,
  body.home .je-partner-grid {
    max-width: 100% !important;
    width: 100% !important;
  }

  .je-partner-content-col,
  body.home .je-partner-content-col {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   BREAKPOINT 2: TABLETS & MOBILE LANDSCAPE (<= 768px)
   ========================================================================== */
@media (max-width: 768px) {
  /* Global containers horizontal padding */
  .je-container,
  .je-hero-inner,
  .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Trust Bar: 2x2 Clean Grid */
  .je-trust-grid,
  body.home .je-trust-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .je-trust-item,
  body.home .je-trust-item {
    border-right: none !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    gap: 12px !important;
  }

  .je-trust-icon,
  body.home .je-trust-icon {
    width: 42px !important;
    height: 42px !important;
    font-size: 18px !important;
  }

  .je-trust-title {
    font-size: 14px !important;
  }

  .je-trust-desc {
    font-size: 12px !important;
  }

  /* Stats Bar: 2x2 Clean Grid */
  .je-stats-grid,
  body.home .je-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .je-stats-item {
    padding: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;
  }

  /* Services Grid: 2 columns */
  .je-services-flex-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  .je-service-card-clean,
  .je-service-card-wrap {
    padding: 24px 16px !important;
  }

  /* Fleet Grid: 2 columns */
  .je-fleet-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  /* Airports We Cover: 2 columns x 3 rows */
  .je-airports-grid-unified,
  body.home .je-airports-grid-unified {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .je-airport-card-unified,
  body.home .je-airport-card-unified {
    height: 270px !important;
    min-height: 270px !important;
    border-radius: 14px !important;
  }

  .je-airport-card-name {
    font-size: 18px !important;
  }

  /* Partner Banner */
  .je-partner-callout,
  body.home .je-partner-callout {
    font-size: 15px !important;
    text-align: center !important;
  }

  .je-partner-fee-capsule,
  body.home .je-partner-fee-capsule {
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    padding: 8px 16px !important;
  }

  .je-partner-title,
  body.home .je-partner-title {
    font-size: clamp(22px, 5.2vw, 30px) !important;
    text-align: center !important;
  }

  .je-partner-desc,
  body.home .je-partner-desc {
    font-size: 14px !important;
    text-align: center !important;
  }

  .je-partner-checklist,
  body.home .je-partner-checklist {
    align-items: center !important;
  }

  /* Testimonials Carousel */
  .je-testimonials-carousel-container {
    padding: 0 44px !important;
  }

  .je-carousel-slide {
    flex: 0 0 100% !important;
  }

  .je-carousel-arrow {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    font-size: 13px !important;
  }

  .je-carousel-prev { left: 0 !important; }
  .je-carousel-next { right: 0 !important; }

  /* FAQ Accordion: 1 column */
  .je-faq-columns-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .je-faq-concierge-card {
    flex-direction: column !important;
    text-align: center !important;
    padding: 24px 20px !important;
    gap: 20px !important;
  }

  .je-faq-concierge-content {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
  }

  .je-faq-concierge-actions {
    justify-content: center !important;
    width: 100% !important;
  }

  .je-faq-btn-call,
  .je-faq-btn-book {
    flex: 1 1 140px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Hit The Road Section */
  .je-hit-road-title,
  body.home .je-hit-road-title {
    font-size: clamp(26px, 6vw, 36px) !important;
  }

  .je-hit-road-actions,
  body.home .je-hit-road-actions {
    width: 100% !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .je-hit-road-btn,
  body.home .je-hit-road-btn {
    width: 100% !important;
    max-width: 360px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Footer */
  .je-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* ==========================================================================
   BREAKPOINT 3: STANDARD SMARTPHONES (<= 540px)
   ========================================================================== */
@media (max-width: 540px) {
  /* General Spacing */
  .je-hero-heading h1 {
    font-size: 26px !important;
  }

  .je-hero-subtitle {
    font-size: 11.5px !important;
    letter-spacing: 0.8px !important;
  }

  /* Booking panel compact padding */
  .je-hero-dual-booking .je-booking-panel {
    padding: 14px 12px !important;
  }

  .je-booking-panel-title {
    font-size: 14px !important;
    padding: 12px 14px !important;
  }

  .je-booking-tabs {
    padding: 12px 0 0 !important;
    gap: 4px !important;
  }

  .je-booking-tab {
    padding: 9px 4px !important;
    font-size: 11px !important;
  }

  .je-native-booking-form {
    padding: 14px 0 0 !important;
  }

  .je-booking-field-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .je-booking-field input,
  .je-booking-field select {
    height: 44px !important;
    font-size: 13.5px !important;
  }

  /* Action buttons: stacked with full width */
  .je-booking-actions--split {
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .je-booking-actions--split > * {
    width: 100% !important;
    min-height: 44px !important;
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Services Grid: 1 column on <= 480px */
  .je-services-flex-container {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Fleet Grid: 1 column on <= 520px */
  .je-fleet-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Feature Grid (Why Choose): 1 column */
  .je-features-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Airports We Cover: 2 columns */
  .je-airports-grid-unified,
  body.home .je-airports-grid-unified {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }

  .je-airport-card-unified,
  body.home .je-airport-card-unified {
    height: 230px !important;
    min-height: 230px !important;
  }

  .je-airport-card-name {
    font-size: 15px !important;
  }

  .je-airport-card-sub {
    font-size: 10.5px !important;
  }

  .je-airport-card-code {
    font-size: 10px !important;
    padding: 1px 7px !important;
  }

  /* Testimonials Carousel on small mobile */
  .je-testimonials-carousel-container {
    padding: 0 36px !important;
  }

  .je-carousel-arrow {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    font-size: 11px !important;
  }
}

/* ==========================================================================
   BREAKPOINT 4: ULTRA-NARROW DEVICES & FOLDABLE OUTER SCREENS (<= 380px)
   e.g. iPhone SE 1st Gen, Galaxy Z Fold Cover Display (320px - 375px)
   ========================================================================== */
@media (max-width: 380px) {
  /* Container protection */
  .je-container,
  .je-hero-inner,
  .e-con-inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .je-hero-heading h1 {
    font-size: 22px !important;
  }

  .je-hero-subtitle {
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
  }

  /* Trust Bar: 1 column */
  .je-trust-grid,
  body.home .je-trust-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  /* Stats Bar: 1 column */
  .je-stats-grid,
  body.home .je-stats-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  /* Date & Time fields stack vertically on ultra-narrow */
  .je-booking-field-row {
    flex-direction: column !important;
    gap: 8px !important;
  }

  .je-booking-field-row .je-booking-field {
    width: 100% !important;
    flex: none !important;
  }

  /* Booking panel padding */
  .je-hero-dual-booking .je-booking-panel {
    padding: 10px 8px !important;
    border-radius: 8px !important;
  }

  .je-booking-tabs {
    gap: 2px !important;
  }

  .je-booking-tab {
    padding: 8px 2px !important;
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }

  /* Airports We Cover: 1 column on ultra-compact */
  .je-airports-grid-unified,
  body.home .je-airports-grid-unified {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .je-airport-card-unified,
  body.home .je-airport-card-unified {
    height: 190px !important;
    min-height: 190px !important;
  }

  /* Section 11 Hit The Road */
  .je-hit-road-container,
  body.home .je-hit-road-container {
    padding: 36px 12px !important;
  }

  .je-hit-road-btn,
  body.home .je-hit-road-btn {
    font-size: 13px !important;
    padding: 11px 14px !important;
  }

  .je-hit-road-perks,
  body.home .je-hit-road-perks {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: center !important;
  }

  /* Scroll to top button */
  .je-scroll-to-top {
    bottom: 16px !important;
    right: 16px !important;
    width: 38px !important;
    height: 38px !important;
  }
}

/* ==========================================================================
   GENERIC & SUBPAGE COMPONENTS (ADDED FOR HOMOGENIZATION)
   ========================================================================= */
.je-section-luxury {
  padding: 80px 0;
  background: var(--je-bg-dark);
}
.je-section-luxury--alt {
  background: var(--je-bg-surface);
}
.je-container, .je-container-luxury {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
}

.je-card-luxury {
  background: var(--je-bg-surface);
  border: 1px solid var(--je-border-subtle);
  border-radius: 12px;
  padding: 32px;
  box-sizing: border-box;
  transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.je-card-luxury:hover {
  border-color: var(--je-accent);
  box-shadow: 0 10px 25px rgba(0, 115, 117, 0.15);
}

/* Legal Pages Typography */
.je-legal-h2 {
  font-family: 'Cormorant Upright', 'Cormorant Upright', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--je-text-title) !important;
  margin: 32px 0 16px !important;
  border-bottom: 1px solid var(--je-border-subtle);
  padding-bottom: 10px;
}
.je-legal-body p, .je-legal-body ul, .je-legal-body li {
  font-size: 15px !important;
  color: var(--je-text-body) !important;
  line-height: 1.7 !important;
  margin-bottom: 14px !important;
}
.je-legal-body a {
  color: var(--je-brand-green);
  text-decoration: underline;
}
.je-legal-body strong, .je-legal-body b {
  color: var(--je-text-title);
  font-weight: 700;
}
.je-legal-container {
  max-width: 900px !important;
  margin: 0 auto;
}

/* ==========================================================================
   ACCESSIBILITY & SCREEN READER UTILITIES (Visually Hidden)
   ========================================================================= */
.screen-reader-text,
.skip-link:not(:focus),
.elementor-screen-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link:focus {
  position: fixed !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 999999 !important;
  background: var(--je-brand-teal, #007375) !important;
  color: #FFFFFF !important;
  padding: 10px 18px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}




/* COVERAGE PAGES CSS EXTRACTED FROM INLINE */
/* Scoped Coverage Page Styling - High Contrast & Cohesive Rhythm */
.je-cov-page {
    background-color: #001a1c;
    color: #d1dcdd;
    font-family: 'DM Sans', sans-serif;
    line-height: 1.8;
    overflow-x: hidden;
}

/* Text Gradient & Highlights (Brand Logo Palette: #00FFF2 Cyan & #58BF48 Emerald) */
.je-text-gradient {
    background: linear-gradient(135deg, #00FFF2 0%, #58BF48 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.je-text-gradient-gold {
    background: linear-gradient(135deg, #FFE17D 0%, #D4AF37 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.je-cov-highlight {
    color: #00fff2;
    font-weight: 600;
    text-shadow: 0 0 12px rgba(0, 255, 242, 0.3);
}

.je-cov-highlight-green {
    color: #58bf48;
    font-weight: 600;
    text-shadow: 0 0 12px rgba(88, 191, 72, 0.3);
}

.je-cov-mark {
    background: rgba(0, 255, 242, 0.12);
    color: #00fff2;
    padding: 2px 8px;
    border-radius: 4px;
    border-left: 3px solid #58bf48;
    font-weight: 600;
    display: inline;
}

/* Hero Section with London Skyline & Deep Overlay */
.je-cov-hero {
    position: relative;
    background: linear-gradient(180deg, rgba(0, 18, 20, 0.88) 0%, rgba(1, 26, 23, 0.9) 65%, rgba(0, 24, 26, 0.98) 100%),
                url('../images/bespoke/coverage_london_skyline.webp') center/cover no-repeat;
    padding: 85px 20px 65px;
    border-bottom: 1px solid rgba(0, 255, 242, 0.2);
}

.je-cov-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

.je-cov-container--narrow {
    max-width: 920px;
}

.je-cov-hero__inner {
    text-align: center;
}

.je-cov-breadcrumbs {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #8fa5a7;
    margin-bottom: 18px;
}

.je-cov-breadcrumbs a {
    color: #00fff2;
    text-decoration: none;
    transition: color 0.2s;
}

.je-cov-breadcrumbs a:hover {
    color: #ffffff;
}

.je-cov-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 7px 20px;
    background: linear-gradient(135deg, rgba(0, 255, 242, 0.1) 0%, rgba(88, 191, 72, 0.12) 100%);
    border: 1px solid rgba(0, 255, 242, 0.35);
    border-radius: 50px;
    font-family: 'Cormorant Upright', serif;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: #00fff2;
    text-transform: uppercase;
    margin-bottom: 16px;
    box-shadow: 0 0 20px rgba(0, 255, 242, 0.15);
}

.je-cov-hero__title {
    font-family: 'Cormorant Upright', serif;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    margin: 0 auto 14px;
    max-width: 980px;
    letter-spacing: -0.5px;
}

.je-cov-hero__subtitle {
    font-family: 'Cormorant Upright', serif;
    font-size: clamp(13px, 1.6vw, 15px);
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #00fff2;
    margin: 0 auto 30px;
    max-width: 920px;
}

/* Glassmorphism Booking Container */
.je-cov-hero__booking {
    text-align: left;
    margin-top: 28px;
    background: rgba(0, 32, 28, 0.65);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(0, 255, 242, 0.22);
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* Section Rhythm & Typography */
.je-cov-section {
    padding: 80px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    position: relative;
}

.je-cov-section--alt {
    background-color: #001f21;
}

/* Dedicated Background Overlay Sections */
.je-cov-section--fleet-bg {
    position: relative;
    background: linear-gradient(180deg, rgba(0, 22, 24, 0.92) 0%, rgba(2, 33, 29, 0.88) 50%, rgba(0, 24, 26, 0.96) 100%),
                url('../images/bespoke/services_canary_wharf_fleet.webp') center/cover no-repeat fixed;
    border-top: 1px solid rgba(0, 255, 242, 0.15);
    border-bottom: 1px solid rgba(0, 255, 242, 0.15);
}

.je-cov-section--why-bg {
    position: relative;
    background: linear-gradient(180deg, rgba(0, 20, 22, 0.93) 0%, rgba(1, 32, 27, 0.9) 50%, rgba(0, 22, 24, 0.96) 100%),
                url('../images/bespoke/corporate_executive_rear.webp') center/cover no-repeat fixed;
    border-top: 1px solid rgba(88, 191, 72, 0.2);
    border-bottom: 1px solid rgba(88, 191, 72, 0.2);
}

.je-cov-heading-h2 {
    font-family: 'Cormorant Upright', serif;
    font-size: clamp(24px, 2.8vw, 34px);
    font-weight: 700;
    line-height: 1.3;
    color: #ffffff;
    margin-bottom: 18px;
}

.je-cov-heading-h3 {
    font-family: 'Cormorant Upright', serif;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 600;
    line-height: 1.4;
    color: #00fff2;
    margin-top: 20px;
    margin-bottom: 12px;
}

.je-cov-lead {
    font-size: 17px;
    line-height: 1.85;
    color: #e0e8e8;
    margin-bottom: 20px;
}

.je-cov-p {
    font-size: 15.5px;
    line-height: 1.8;
    color: #cfd8dc;
    margin-bottom: 18px;
}

.je-cov-p strong, .je-cov-p b {
    color: #ffffff;
    font-weight: 600;
}

/* Glassmorphism Cards & Grid Containers */
.je-cov-card {
    background: rgba(0, 38, 34, 0.65);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(0, 255, 242, 0.18);
    border-radius: 16px;
    padding: 34px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.je-cov-card:hover {
    border-color: rgba(0, 255, 242, 0.45);
    transform: translateY(-4px);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.45), 0 0 20px rgba(0, 255, 242, 0.15), inset 0 1px 0 rgba(0, 255, 242, 0.25);
}

.je-cov-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.je-cov-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

/* Visual Split Card with Image & Glass */
.je-cov-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    align-items: center;
    background: rgba(0, 38, 34, 0.65);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(0, 255, 242, 0.2);
    border-radius: 18px;
    padding: 36px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.je-cov-split__image-wrap {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(0, 255, 242, 0.25);
}

.je-cov-split__image {
    width: 100%;
    height: 100%;
    min-height: 290px;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.je-cov-split:hover .je-cov-split__image {
    transform: scale(1.03);
}

.je-cov-split__badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(0, 24, 26, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid #00fff2;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    color: #ffffff;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(0, 255, 242, 0.25);
}

/* Luxury Fleet Grid Cards (Glassmorphic) */
.je-cov-fleet-card {
    background: rgba(0, 38, 34, 0.65);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(0, 255, 242, 0.18);
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.je-cov-fleet-card:hover {
    border-color: #00fff2;
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45), 0 0 25px rgba(0, 255, 242, 0.2), inset 0 1px 0 rgba(0, 255, 242, 0.3);
}

.je-cov-fleet-card__img-wrap {
    position: relative;
    height: 185px;
    background: radial-gradient(ellipse at 50% 70%, rgba(0, 60, 54, 0.65) 0%, rgba(0, 20, 22, 0.95) 75%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
    overflow: hidden;
}

.je-cov-fleet-card__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transition: transform 0.3s ease;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.5));
}

.je-cov-fleet-card:hover .je-cov-fleet-card__img {
    transform: scale(1.06);
}

.je-cov-fleet-card__tag {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0, 24, 26, 0.88);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 255, 242, 0.4);
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    color: #00fff2;
    text-transform: uppercase;
    box-shadow: 0 2px 10px rgba(0, 255, 242, 0.2);
}

.je-cov-fleet-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.je-cov-fleet-card__title {
    font-family: 'Cormorant Upright', serif;
    font-size: 17px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 8px;
}

.je-cov-fleet-card__meta {
    display: flex;
    gap: 14px;
    font-size: 13px;
    color: #00fff2;
    margin-bottom: 12px;
}

.je-cov-fleet-card__desc {
    font-size: 13.5px;
    color: #cfd8dc;
    line-height: 1.55;
    margin: 0 0 16px;
    flex-grow: 1;
}

/* Airport Destination Cards with Logos & Imagery (Glassmorphic) */
.je-cov-airport-card {
    background: rgba(0, 38, 34, 0.65);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(0, 255, 242, 0.18);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.je-cov-airport-card:hover {
    border-color: #00fff2;
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45), 0 0 25px rgba(0, 255, 242, 0.22), inset 0 1px 0 rgba(0, 255, 242, 0.3);
}

.je-cov-airport-card__thumb {
    position: relative;
    height: 145px;
    overflow: hidden;
    background: #00181a;
}

.je-cov-airport-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.je-cov-airport-card:hover .je-cov-airport-card__img {
    transform: scale(1.06);
}

.je-cov-airport-card__logo-wrap {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(255, 255, 255, 0.95);
    padding: 3px 8px;
    border-radius: 4px;
    height: 26px;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.je-cov-airport-card__logo {
    height: 20px;
    width: auto;
    object-fit: contain;
}

.je-cov-airport-card__body {
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.je-cov-airport-card__name {
    font-family: 'Cormorant Upright', serif;
    font-size: 15.5px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.je-cov-airport-card__action {
    color: #00fff2;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}

/* Feature Checkmark List (Glassmorphic) */
.je-cov-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
    margin: 30px 0;
}

.je-cov-feature-item {
    background: rgba(0, 38, 34, 0.65);
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
    border: 1px solid rgba(0, 255, 242, 0.16);
    border-radius: 12px;
    padding: 20px 22px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: all 0.25s ease;
}

.je-cov-feature-item:hover {
    border-color: rgba(88, 191, 72, 0.5);
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(88, 191, 72, 0.15), inset 0 1px 0 rgba(88, 191, 72, 0.25);
}

.je-cov-feature-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, rgba(88, 191, 72, 0.25) 0%, rgba(0, 255, 242, 0.25) 100%);
    color: #58BF48;
    border: 1px solid rgba(88, 191, 72, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 0 12px rgba(88, 191, 72, 0.25);
}

.je-cov-feature-text h4 {
    font-family: 'Cormorant Upright', serif;
    font-size: 15.5px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 4px 0;
}

.je-cov-feature-text p {
    font-size: 13.5px;
    color: #cfd8dc;
    line-height: 1.55;
    margin: 0;
}

/* Postcode Tag Pills (Glassmorphic) */
.je-cov-postcode-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.je-cov-postcode-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: rgba(0, 38, 34, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(0, 255, 242, 0.2);
    border-radius: 6px;
    color: #00fff2;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.je-cov-postcode-pill:hover {
    background: linear-gradient(135deg, rgba(0, 255, 242, 0.2) 0%, rgba(88, 191, 72, 0.25) 100%);
    border-color: #00fff2;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 255, 242, 0.25);
}

/* FAQ Accordion Styling (Glassmorphic) */
.je-cov-faq-list {
    margin-top: 28px;
}

.je-cov-faq-item {
    background: rgba(0, 38, 34, 0.65);
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
    border: 1px solid rgba(0, 255, 242, 0.16);
    border-radius: 12px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    transition: border-color 0.2s ease;
}

.je-cov-faq-item:hover {
    border-color: rgba(0, 255, 242, 0.35);
}

.je-cov-faq-btn {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 22px;
    color: #ffffff;
    font-family: 'Cormorant Upright', serif;
    font-size: 16.5px;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.je-cov-faq-icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(0, 255, 242, 0.1);
    color: #00fff2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: transform 0.2s ease;
}

.je-cov-faq-item.is-open .je-cov-faq-icon {
    transform: rotate(45deg);
    background: #00fff2;
    color: #002325;
}

.je-cov-faq-answer {
    padding: 0 22px 20px;
    color: #cfd8dc;
    font-size: 14.5px;
    line-height: 1.7;
    display: none;
}

.je-cov-faq-item.is-open .je-cov-faq-answer {
    display: block;
}

/* Pre-booking Banner (Deep Image Overlay + Glass) */
.je-cov-cta-card {
    background: linear-gradient(135deg, rgba(0, 48, 42, 0.88) 0%, rgba(0, 28, 25, 0.94) 100%),
                url('../images/bespoke/london_mayfair_chauffeur_hero.webp') center/cover no-repeat;
    border: 1px solid rgba(0, 255, 242, 0.3);
    border-radius: 20px;
    padding: 55px 35px;
    text-align: center;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5), 0 0 35px rgba(0, 255, 242, 0.12);
    position: relative;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.je-cov-cta-btns {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin-top: 28px;
    flex-wrap: wrap;
}

.je-cov-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #58BF48 0%, #469a39 100%);
    color: #ffffff;
    font-family: 'Cormorant Upright', serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 14px 36px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 6px 20px rgba(88, 191, 72, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.je-cov-btn-primary:hover {
    background: linear-gradient(135deg, #4ca83e 0%, #3e8832 100%);
    transform: translateY(-2px);
    color: #ffffff;
    box-shadow: 0 10px 28px rgba(88, 191, 72, 0.6);
}

.je-cov-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(0, 255, 242, 0.08);
    color: #00fff2;
    border: 2px solid #00fff2;
    font-family: 'Cormorant Upright', serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 12px 32px;
    border-radius: 50px;
    text-decoration: none;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.25s ease;
    box-shadow: 0 6px 20px rgba(0, 255, 242, 0.2);
}

.je-cov-btn-secondary:hover {
    background: #00fff2;
    color: #002325;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 255, 242, 0.45);
}

@media (max-width: 991px) {
    .je-cov-split {
        grid-template-columns: 1fr;
    }
    .je-cov-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .je-cov-grid-2, .je-cov-grid-3 {
        grid-template-columns: 1fr;
    }
    .je-cov-hero {
        padding: 45px 14px 35px;
    }
    .je-cov-section {
        padding: 45px 0;
    }
    .je-cov-card {
        padding: 24px 18px;
    }
}
