:root {
  --fc-black: #08090a;
  --fc-charcoal: #101214;
  --fc-charcoal-2: #17191c;
  --fc-panel: #1b1d20;
  --fc-gold: #c9a96e;
  --fc-gold-light: #e3cfaa;
  --fc-ivory: #f5f1e9;
  --fc-white: #ffffff;
  --fc-text: #202124;
  --fc-muted: #74777c;
  --fc-line: rgba(201,169,110,.28);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Segoe UI",Arial,sans-serif;
  color: var(--fc-text);
  background: #fff;
  letter-spacing: .005em;
}

a {
  text-decoration: none;
}

.text-gold {
  color: var(--fc-gold)!important;
}

.bg-navy {
  background: var(--fc-black)!important;
}

.bg-cream {
  background: var(--fc-ivory)!important;
}

/* Navigation */

.navbar {
  background: rgba(8,9,10,.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: .85rem 0;
  transition: .25s ease;
}

.navbar-brand {
  font-weight: 700;
  letter-spacing: .18em;
  font-size: 1rem;
  color: #fff!important;
}

.brand-sub {
  font-size: .59rem;
  letter-spacing: .34em;
  color: var(--fc-gold);
  display: block;
  margin-top: .2rem;
  font-weight: 500;
}

.navbar .nav-link {
  color: rgba(255,255,255,.78)!important;
  font-size: .82rem;
  letter-spacing: .055em;
  text-transform: uppercase;
  font-weight: 500;
  padding: .75rem .65rem!important;
}

.navbar .nav-link:hover, .navbar .nav-link.active {
  color: #fff!important;
}

.btn {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .76rem;
  font-weight: 700;
  padding: .78rem 1.25rem;
}

.btn-lg {
  font-size: .8rem;
  padding: 1rem 1.55rem;
}

.btn-gold {
  background: var(--fc-gold);
  border-color: var(--fc-gold);
  color: #111;
}

.btn-gold:hover {
  background: var(--fc-gold-light);
  border-color: var(--fc-gold-light);
  color: #111;
}

.btn-outline-gold {
  border-color: rgba(201,169,110,.75);
  color: var(--fc-gold-light);
}

.btn-outline-gold:hover {
  background: var(--fc-gold);
  border-color: var(--fc-gold);
  color: #111;
}

/* Premium homepage hero */

.hero {
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: flex-end;
  background: linear-gradient(90deg,rgba(4,5,6,.93) 0%,rgba(4,5,6,.74) 35%,rgba(4,5,6,.3) 64%,rgba(4,5,6,.1) 100%),linear-gradient(0deg,rgba(4,5,6,.82) 0%,transparent 46%),url('../../assets/img/photo-1692876292380-d9ad8c0f2f84.jpg') 67% center/cover no-repeat;
  color: #fff;
  padding-top: 7rem;
}

.hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 40%,transparent 0,transparent 25%,rgba(0,0,0,.2) 70%);
  pointer-events: none;
}

.hero:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--fc-gold),transparent);
  opacity: .55;
}

.hero .container {
  position: relative;
  z-index: 2;
  padding-bottom: 7rem!important;
}

.eyebrow {
  letter-spacing: .29em;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 600;
  color: var(--fc-gold-light);
}

.hero h1, .section-title, .premium-panel h2, .page-hero h1 {
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400;
  letter-spacing: -.035em;
}

.hero h1 {
  font-size: clamp(3.25rem,7vw,7.1rem);
  line-height: .91;
  max-width: 900px;
  margin: 0;
}

.hero .lead {
  max-width: 680px;
  font-size: 1.06rem;
  line-height: 1.75;
  color: rgba(255,255,255,.78);
  font-weight: 300;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 2rem;
}

.hero-meta {
  position: absolute;
  right: 0;
  bottom: 7rem;
  border-left: 1px solid rgba(201,169,110,.55);
  padding-left: 1.35rem;
  color: rgba(255,255,255,.72);
  font-size: .8rem;
  line-height: 1.8;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Booking strip */

.booking-ribbon {
  background: var(--fc-black);
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.booking-ribbon .inner {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr auto;
  align-items: center;
  min-height: 92px;
}

.booking-ribbon .item {
  padding: 0 1.5rem;
  border-right: 1px solid rgba(255,255,255,.1);
}

.booking-ribbon .item:first-child {
  padding-left: 0;
}

.booking-ribbon .item:last-child {
  border-right: 0;
  padding-right: 0;
}

.booking-ribbon .label {
  display: block;
  color: var(--fc-gold);
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}

.booking-ribbon strong {
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.2rem;
  font-weight: 400;
}

.trust-strip {
  background: #0d0f10;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.05);
  border-bottom: 1px solid rgba(255,255,255,.05);
}

.trust-item {
  padding: 1.35rem 1rem;
  border-right: 1px solid rgba(255,255,255,.08);
  font-size: .76rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}

.trust-item:last-child {
  border-right: 0;
}

.trust-item i {
  color: var(--fc-gold);
  font-size: 1rem;
}

/* General sections */

.section-pad {
  padding: 7rem 0;
}

.section-kicker {
  color: #96794a;
  text-transform: uppercase;
  letter-spacing: .25em;
  font-weight: 600;
  font-size: .66rem;
  margin-bottom: .8rem;
}

.section-title {
  font-size: clamp(2.55rem,5vw,4.8rem);
  line-height: .98;
  color: #111;
}

.section-intro {
  max-width: 630px;
  color: var(--fc-muted);
  line-height: 1.8;
}

.travel-card, .service-card, .vehicle-card, .contact-card {
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  height: 100%;
  background: #fff;
}

.travel-card {
  position: relative;
  background: #0d0f10;
  color: #fff;
  min-height: 510px;
}

.travel-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.7) contrast(1.03);
  transition: transform .7s ease,filter .7s ease;
}

.travel-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,rgba(4,5,6,.95),rgba(4,5,6,.2) 64%,rgba(4,5,6,.08));
}

.travel-card:hover img {
  transform: scale(1.035);
  filter: saturate(.95);
}

.travel-card .card-body {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.25rem;
}

.travel-card .card-body p {
  color: rgba(255,255,255,.7);
  line-height: 1.7;
}

.travel-card h3 {
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400!important;
  font-size: 2rem!important;
}

.card-label {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: var(--fc-gold-light);
  font-weight: 600;
}

.service-card {
  padding: 2.1rem!important;
  border-top: 1px solid #ded8cd;
  background: transparent;
}

.service-card i {
  font-size: 1.45rem!important;
}

.service-card h3 {
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.45rem!important;
  font-weight: 400!important;
}

.service-card p {
  color: var(--fc-muted);
  line-height: 1.75;
  margin-bottom: 0;
}

.executive-showcase {
  background: var(--fc-black);
  color: #fff;
}

.executive-showcase .image-wrap {
  min-height: 690px;
  background: url('../../assets/img/fleet-2.jpg') center/cover no-repeat;
  position: relative;
}

.executive-showcase .image-wrap:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,transparent 55%,rgba(8,9,10,.95));
}

.executive-copy {
  padding: 5rem 5vw;
}

.executive-copy h2 {
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(3rem,5vw,5.2rem);
  line-height: .98;
  font-weight: 400;
}

.executive-copy p {
  color: rgba(255,255,255,.68);
  line-height: 1.85;
  max-width: 560px;
}

.premium-panel {
  background: linear-gradient(90deg,rgba(7,8,9,.96),rgba(7,8,9,.55)),url('../../assets/img/range-rover-front.png') center/cover no-repeat;
  color: #fff;
  border-radius: 0;
  min-height: 610px;
  display: flex;
  align-items: end;
  overflow: hidden;
}

.premium-panel .content {
  padding: 4.5rem;
  max-width: 760px;
}

.premium-panel h2 {
  font-size: clamp(3rem,6vw,5.5rem)!important;
}

.premium-panel p {
  color: rgba(255,255,255,.72);
  line-height: 1.8;
}

.airport-grid .airport {
  border: 1px solid #d9d3c8;
  border-radius: 0;
  padding: 1.6rem;
  background: transparent;
  transition: .25s ease;
}

.airport-grid .airport:hover {
  background: #fff;
}

.airport-code {
  font-family: Georgia,"Times New Roman",serif;
  font-size: 2.3rem;
  font-weight: 400;
  color: #111;
  margin-bottom: .25rem;
}

.step-num {
  width: auto;
  height: auto;
  border-radius: 0;
  display: block;
  background: none;
  color: var(--fc-gold);
  font-family: Georgia,"Times New Roman",serif;
  font-size: 2.4rem;
  font-weight: 400;
  border-bottom: 1px solid #dcd6ca;
  padding-bottom: 1rem;
}

.step-num + h3 {
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400!important;
}

.step-num ~ p {
  color: var(--fc-muted);
  line-height: 1.7;
}

.cta-band {
  background: var(--fc-black);
  color: #fff;
  border-radius: 0;
  padding: 4rem;
}

.cta-band h2 {
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400!important;
  font-size: clamp(2.2rem,4vw,3.5rem);
}

.footer {
  background: #070809;
  color: #94979b;
  border-top: 1px solid rgba(255,255,255,.07);
}

.footer h4, .footer h6 {
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400!important;
}

.footer a {
  color: #aaaeb2;
}

.footer a:hover {
  color: var(--fc-gold-light);
}

.whatsapp-float {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #1d9f52;
  color: white;
  font-size: 1.45rem;
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
  z-index: 1040;
}

.mobile-action {
  display: none;
}

/* Internal pages */

.page-hero {
  min-height: 74vh;
  display: flex;
  align-items: end;
  background: linear-gradient(90deg,rgba(5,6,7,.93),rgba(5,6,7,.38)),linear-gradient(0deg,rgba(5,6,7,.75),transparent 55%),url('../../assets/img/photo-1506377585622-bedcbb027afc.jpg') 65% center/cover no-repeat;
  color: #fff;
  padding: 9rem 0 5.5rem;
}

.page-hero h1 {
  font-size: clamp(3.4rem,7vw,6.8rem);
  line-height: .93;
}

.page-hero p {
  max-width: 680px;
  color: rgba(255,255,255,.74);
  line-height: 1.8;
}

.form-shell {
  background: #fff;
  border-radius: 0;
  padding: 2.5rem;
  box-shadow: 0 20px 60px rgba(11,16,22,.09);
  border-top: 3px solid var(--fc-gold);
}

.form-label {
  font-weight: 600;
  font-size: .85rem;
}

.form-control, .form-select {
  border-radius: 0;
  padding: .8rem .9rem;
  border-color: #d9d9d9;
}

.form-control:focus, .form-select:focus {
  box-shadow: 0 0 0 .2rem rgba(201,169,110,.18);
  border-color: var(--fc-gold);
}

.choice-card {
  cursor: pointer;
  border: 1px solid #ddd7cc;
  border-radius: 0;
  padding: 1.4rem;
  height: 100%;
  transition: .2s ease;
}

.choice-card.active {
  border-color: var(--fc-gold);
  box-shadow: inset 0 -3px 0 var(--fc-gold);
}

.small-note {
  font-size: .88rem;
  color: var(--fc-muted);
}

.vehicle-card img {
  height: 330px;
  width: 100%;
  object-fit: cover;
}

.vehicle-card .card-body {
  padding: 1.75rem 0;
}

.vehicle-card h3 {
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400!important;
}

@media (max-width:991.98px) {
  .hero {
    min-height: 92vh;
    background-position: 72% center;
    align-items: end;
  }
}

@media (max-width:991.98px) {
  .hero .container {
    padding-bottom: 4.5rem!important;
  }
}

@media (max-width:991.98px) {
  .hero h1 {
    font-size: clamp(3rem,12vw,5rem);
  }
}

@media (max-width:991.98px) {
  .hero-meta {
    display: none;
  }
}

@media (max-width:991.98px) {
  .navbar .btn {
    margin-top: .5rem;
  }
}

@media (max-width:991.98px) {
  .navbar-collapse {
    background: rgba(8,9,10,.98);
    margin: .85rem -12px -14px;
    padding: 1rem 12px 1.35rem;
  }
}

@media (max-width:991.98px) {
  .booking-ribbon .inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:991.98px) {
  .booking-ribbon .item {
    padding: 1rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
}

@media (max-width:991.98px) {
  .trust-item {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
}

@media (max-width:991.98px) {
  .section-pad {
    padding: 5rem 0;
  }
}

@media (max-width:991.98px) {
  .travel-card {
    min-height: 450px;
  }
}

@media (max-width:991.98px) {
  .executive-showcase .image-wrap {
    min-height: 450px;
  }
}

@media (max-width:991.98px) {
  .executive-showcase .image-wrap:after {
    background: linear-gradient(0deg,rgba(8,9,10,.95),transparent 50%);
  }
}

@media (max-width:991.98px) {
  .executive-copy {
    padding: 4rem 1.5rem;
  }
}

@media (max-width:991.98px) {
  .premium-panel {
    min-height: 520px;
  }
}

@media (max-width:991.98px) {
  .premium-panel .content {
    padding: 2.25rem;
  }
}

@media (max-width:991.98px) {
  .mobile-action {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: #090a0b;
    border-top: 1px solid rgba(255,255,255,.12);
    z-index: 1035;
    padding: .45rem;
    gap: .4rem;
  }
}

@media (max-width:991.98px) {
  .mobile-action .btn {
    flex: 1;
    font-size: .68rem;
    padding: .75rem .35rem;
  }
}

@media (max-width:991.98px) {
  .whatsapp-float {
    bottom: 4.9rem;
  }
}

@media (max-width:991.98px) {
  .footer {
    padding-bottom: 4.5rem;
  }
}

@media (max-width:575.98px) {
  .booking-ribbon .inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width:575.98px) {
  .booking-ribbon .item {
    border-right: 0;
    padding-left: 0;
  }
}

@media (max-width:575.98px) {
  .hero .lead {
    font-size: .98rem;
  }
}

@media (max-width:575.98px) {
  .cta-band {
    padding: 2.4rem 1.5rem;
  }
}

/* Make hero buttons clickable */

.hero {
  position: relative;
}

.hero::before, .hero::after {
  pointer-events: none;
}

.hero > .container {
  position: relative;
  z-index: 2;
}

.hero-actions {
  position: relative;
  z-index: 3;
}

.hero-actions a {
  position: relative;
  z-index: 4;
  pointer-events: auto;
}

