* {

  box-sizing: border-box;

}



html {

  scroll-behavior: smooth;

}



body {

  margin: 0;

  font-family: Georgia, "Times New Roman", serif;

  background: #050505;

  color: #ffffff;

  line-height: 1.6;

}



img {

  max-width: 100%;

  display: block;

}



a {

  text-decoration: none;

}



.container {

  width: min(1180px, 92%);

  margin: 0 auto;

}



.narrow {

  width: min(820px, 92%);

  margin: 0 auto;

}



.topbar {

  position: sticky;

  top: 0;

  z-index: 1000;

  background: rgba(5, 5, 5, 0.97);

  border-bottom: 1px solid rgba(212, 175, 55, 0.18);

  backdrop-filter: blur(8px);

}



.nav {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

  padding: 18px 0;

}



.brand {

  display: flex;

  align-items: center;

}



.logo {

  width: 190px;

  max-width: 100%;

  height: auto;

}



.menu {

  display: flex;

  gap: 28px;

  align-items: center;

}



.menu a {

  color: #d8c27a;

  font-size: 1rem;

  transition: 0.2s ease;

}



.menu a:hover {

  color: #ffffff;

}



.header-phone {

  color: #d4af37;

  font-size: 0.98rem;

  white-space: nowrap;

}



.hero {

  position: relative;

  overflow: hidden;

  background:

    radial-gradient(circle at 78% 18%, rgba(212, 175, 55, 0.16), transparent 22%),

    linear-gradient(180deg, #080808 0%, #0d0d0d 100%);

  padding: 72px 0 34px;

}



.hero-grid {

  display: grid;

  grid-template-columns: 1.05fr 0.95fr;

  gap: 34px;

  align-items: center;

}



.hero-text h1 {

  margin: 0 0 18px;

  font-size: clamp(2.6rem, 5vw, 4.75rem);

  line-height: 1.04;

  color: #f3e7c3;

  font-weight: normal;

}



.eyebrow {

  color: #d4af37;

  font-size: 0.88rem;

  letter-spacing: 2px;

  margin-bottom: 14px;

}



.hero-sub {

  font-size: 1.45rem;

  color: #e3c66a;

  margin: 0 0 24px;

}



.hero-trust {

  margin-top: 18px;

  color: #d4af37;

  font-size: 0.95rem;

}



.hero-buttons {

  display: flex;

  gap: 16px;

  flex-wrap: wrap;

}



.btn {

  display: inline-block;

  padding: 14px 26px;

  border: 1px solid #d4af37;

  font-size: 1rem;

  transition: all 0.2s ease;

}



.btn:hover {

  transform: translateY(-1px);

}



.btn-gold {

  background: #cda349;

  color: #111111;

  font-weight: bold;

}



.btn-outline {

  background: rgba(0, 0, 0, 0.35);

  color: #ffffff;

}



.hero-image-wrap {

  display: flex;

  justify-content: flex-end;

  align-items: center;

}



.hero-portrait {

  width: 100%;

  max-width: 430px;

  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.32);

}



.gold-swoosh {

  width: min(1180px, 92%);

  height: 2px;

  margin: 34px auto 0;

  background: linear-gradient(

    90deg,

    transparent 0%,

    #9f7425 8%,

    #d4af37 30%,

    #b5852f 55%,

    transparent 100%

  );

  position: relative;

}



.gold-swoosh::after {

  content: "";

  position: absolute;

  left: 8%;

  right: 0;

  top: 12px;

  height: 1px;

  background: linear-gradient(

    90deg,

    transparent 0%,

    rgba(212, 175, 55, 0.75) 24%,

    transparent 100%

  );

}



.section {

  padding: 78px 0;

}



.section h2 {

  margin: 0 0 16px;

  font-size: clamp(2rem, 4vw, 3.05rem);

  text-align: center;

  color: #f0dc9f;

  font-weight: normal;

}



.section p {

  color: #ddd7ca;

  font-size: 1.08rem;

  text-align: center;

}



.section-intro {

  background: linear-gradient(180deg, #0a0a0a 0%, #111111 100%);

  border-top: 1px solid rgba(212, 175, 55, 0.08);

  border-bottom: 1px solid rgba(212, 175, 55, 0.08);

}



.section-services {

  background: #0a0a0a;

}



.services-grid {

  margin-top: 38px;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 22px;

}



.service-card {

  background: #0d0d0d;

  border: 1px solid rgba(212, 175, 55, 0.22);

  padding: 32px 24px;

  text-align: center;

}



.service-icon {

  color: #d4af37;

  font-size: 2rem;

  margin-bottom: 12px;

}



.service-card h3 {

  color: #efcf79;

  margin: 0 0 12px;

  font-size: 1.55rem;

  font-weight: normal;

}



.service-card p {

  margin: 0;

  color: #d7d1c5;

  font-size: 1rem;

}



.section-excellence {

  background: linear-gradient(180deg, #0b0b0b 0%, #090909 100%);

  border-top: 1px solid rgba(212, 175, 55, 0.08);

  border-bottom: 1px solid rgba(212, 175, 55, 0.08);

}



.excellence-grid {

  display: grid;

  grid-template-columns: 1fr 0.95fr;

  gap: 34px;

  align-items: center;

}



.excellence-text h2 {

  text-align: left;

  margin-bottom: 20px;

}



.check-list {

  list-style: none;

  padding: 0;

  margin: 0 0 28px;

}



.check-list li {

  position: relative;

  padding-left: 30px;

  margin-bottom: 14px;

  color: #e0d8cb;

  font-size: 1.05rem;

}



.check-list li::before {

  content: "✓";

  position: absolute;

  left: 0;

  top: 0;

  color: #d4af37;

  font-weight: bold;

}



.fleet-wrap {

  display: flex;

  justify-content: flex-end;

}



.fleet-image {

  width: 100%;

  max-width: 500px;

}



.section-booking {

  background: #070707;

  border-top: 1px solid rgba(212, 175, 55, 0.08);

  border-bottom: 1px solid rgba(212, 175, 55, 0.08);

}



.booking-grid {

  display: grid;

  grid-template-columns: 0.9fr 1.1fr;

  gap: 30px;

  align-items: start;

}



.booking-copy h2,

.booking-copy p {

  text-align: left;

}



.booking-points {

  display: grid;

  gap: 12px;

  margin-top: 26px;

}



.booking-points div {

  padding: 14px 16px;

  border: 1px solid rgba(212, 175, 55, 0.18);

  color: #ead9aa;

  background: #101010;

}



.booking-form-wrap {

  background: #0d0d0d;

  border: 1px solid rgba(212, 175, 55, 0.22);

  padding: 26px;

}



.booking-form {

  display: grid;

  gap: 14px;

}



.booking-form input,

.booking-form select,

.booking-form textarea {

  width: 100%;

  padding: 15px 14px;

  background: #101010;

  border: 1px solid #2f2a20;

  color: #ffffff;

  font-size: 1rem;

  font-family: Arial, sans-serif;

}



.booking-form textarea {

  min-height: 130px;

  resize: vertical;

}



.form-btn {

  justify-self: start;

  min-width: 230px;

  cursor: pointer;

}



.footer {

  background: #040404;

  border-top: 1px solid rgba(212, 175, 55, 0.12);

  padding: 40px 0 44px;

  text-align: center;

}



.footer-inner {

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 14px;

}



.footer-logo {

  width: 190px;

  max-width: 100%;

}



.footer-contact p {

  margin: 4px 0;

  color: #ddd5c5;

}



.tribute {

  margin-top: 8px;

  color: #d4af37;

  font-size: 1.15rem;

}



@media (max-width: 980px) {

  .hero-grid,

  .excellence-grid,

  .services-grid,

  .booking-grid {

    grid-template-columns: 1fr;

  }



  .hero-text,

  .booking-copy h2,

  .booking-copy p {

    text-align: center;

  }



  .hero-buttons {

    justify-content: center;

  }



  .hero-image-wrap,

  .fleet-wrap {

    justify-content: center;

  }



  .excellence-text h2 {

    text-align: center;

  }



  .form-btn {

    justify-self: center;

  }

}



@media (max-width: 760px) {

  .nav {

    flex-direction: column;

    align-items: center;

  }



  .menu {

    flex-wrap: wrap;

    justify-content: center;

    gap: 14px 18px;

  }



  .header-phone {

    text-align: center;

  }



  .hero {

    padding-top: 52px;

  }



  .hero-sub {

    font-size: 1.15rem;

  }



  .hero-buttons {

    flex-direction: column;

  }



  .btn {

    width: 100%;

    text-align: center;

  }



  .booking-form-wrap {

    padding: 20px;

  }

}

/* Mobile polish upgrades */



a {

  color: gold;

  text-decoration: none;

}



nav {

  margin-bottom: 10px;

}



button {

  border-radius: 6px;

}








