body {
  font-family: "Inter", sans-serif;
  overflow-x: clip !important;
}
@keyframes goldPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.4);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(212, 175, 55, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
  }
}
.gold-glow {
  animation: goldPulse 2.5s infinite;
}
/* custom staggered fade + up (like framer) */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 0.8s cubic-bezier(0.2, 0.9, 0.3, 1) forwards;
}
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.delay-1 {
  animation-delay: 0.15s;
}
.delay-2 {
  animation-delay: 0.3s;
}
.delay-3 {
  animation-delay: 0.45s;
}
.delay-4 {
  animation-delay: 0.6s;
}
.delay-5 {
  animation-delay: 0.75s;
}

@keyframes softFadeUp {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-card {
  opacity: 0; /* hidden until animation plays */
  animation: softFadeUp 0.7s cubic-bezier(0.15, 0.85, 0.35, 1) forwards;
}
.delay-1 {
  animation-delay: 0.1s;
}
.delay-2 {
  animation-delay: 0.25s;
}
.delay-3 {
  animation-delay: 0.4s;
}
.delay-4 {
  animation-delay: 0.55s;
}
.gold-underline {
  background: linear-gradient(90deg, #d4af37 0%, rgba(212, 175, 55, 0.2) 80%);
  height: 2px;
  width: 60px;
  transition: width 0.3s ease;
}
.group:hover .gold-underline {
  width: 100px;
}

.offerings .group {
  background-color: #ffffff08;
  padding: 40px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.offerings .group h3 {
  text-align: center;
}

/* landing page */

.gold-underline {
  position: relative;
  display: inline-block;
}
.gold-underline::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d4af37;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.group:hover .gold-underline::after {
  transform: scaleX(1);
}
/* optional overlay to keep text readable */
.hero-overlay {
  background: linear-gradient(
    89deg,
    rgba(0, 0, 0, 0.65) 0%,
    rgba(0, 0, 0, 0.3) 70%,
    rgba(0, 0, 0, 0.1) 100%
  );
}

.hero-text {
  font-family: "Playfair Display", serif;
}

.gold-underline {
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-weight: 600;
  letter-spacing: 2px;
  font-size: 0.9rem;
  color: #d4af37;
}
.gold-underline::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d4af37;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.gold-underline:hover::after {
  transform: scaleX(1);
}
/* card styling */
.service-card {
  background: #111;
  border: 1px solid #222;
  border-radius: 0; /* sharp edges as per minimal luxury */
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.service-card:hover {
  border-color: #D4AF37/40;
  box-shadow: 0 10px 25px -5px rgba(212, 175, 55, 0.15);
}
/* optional image placeholder styling */
.card-image {
  width: 100%;
  height: 220px;
  background-color: #2a2a2a;
  background-size: cover;
  background-position: center;
  position: relative;
}
.card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0.1) 50%
  );
}
/* custom pagination bullets (gold) */
.swiper-pagination-bullet {
  background: #fff;
  opacity: 0.4;
}
.swiper-pagination-bullet-active {
  background: #d4af37 !important;
  opacity: 1;
}

.mySwiper {
  position: relative;
}
.mySwiper .joint {
  position: absolute;
  top: 0;
  right: 0;
}
/* Pull arrows out of Swiper's default absolute flow */
.swiper-button-next,
.swiper-button-prev {
  margin-top: 0 !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white !important;
  transition:
    border-color 0.3s ease,
    color 0.3s ease;
  flex-shrink: 0;
}
.swiper-button-next svg,
.swiper-button-prev svg {
  width: 20px !important;
  height: 20px !important;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  border-color: #d4af37;
  color: #d4af37 !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 13px !important;
  font-weight: 700;
}

.text-gold {
  color: #d4af37;
}

.border-gold {
  border-color: #d4af37;
}

.bg-gold {
  background-color: #d4af37;
}

/* Swiper pagination styling */
.swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.3);
  opacity: 1;
  width: 10px;
  height: 10px;
  margin: 0 6px !important;
}

.swiper-pagination-bullet-active {
  background: #d4af37 !important;
  transform: scale(1.2);
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.5);
}

/* Custom navigation buttons */
.swiper-button-next,
.swiper-button-prev {
  color: #d4af37;
  background: rgba(0, 0, 0, 0.5);
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 1px solid rgba(212, 175, 55, 0.3);
  transition: all 0.3s ease;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 18px;
  font-weight: bold;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: rgba(212, 175, 55, 0.15);
  border-color: #d4af37;
  transform: scale(1.1);
}

.swiper-button-next {
  right: 10px;
}

.swiper-button-prev {
  left: 10px;
}

/* Testimonial card styling */
.testimonial-card {
  background: linear-gradient(145deg, #111111 0%, #1a1a1a 100%);
  border: 1px solid rgba(212, 175, 55, 0.1);
  border-radius: 0;
  padding: 40px 35px;
  height: 100%;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.testimonial-card::before {
  content: '"';
  position: absolute;
  top: -20px;
  right: 20px;
  font-family: "Playfair Display", serif;
  font-size: 150px;
  line-height: 1;
  color: rgba(212, 175, 55, 0.05);
  pointer-events: none;
}

.testimonial-card:hover {
  border-color: rgba(212, 175, 55, 0.3);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5);
  transform: translateY(-5px);
}

.testimonial-card:hover .gold-underline {
  width: 80px;
}

/* Star rating */
.stars {
  color: #d4af37;
  font-size: 1.25rem;
  letter-spacing: 2px;
  margin-bottom: 1.5rem;
}

/* Gold underline animation */
.gold-underline {
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #d4af37 0%, rgba(212, 175, 55, 0.1) 100%);
  margin: 20px 0 15px;
  transition: width 0.4s ease;
}

/* Client designation */
.client-designation {
  font-size: 0.7rem;
  letter-spacing: 2px;
  color: #d4af37;
  opacity: 0.8;
  text-transform: uppercase;
  margin-top: 5px;
}

/* Quote icon */
.quote-icon {
  color: #d4af37;
  font-size: 3rem;
  line-height: 1;
  opacity: 0.2;
  margin-bottom: 10px;
}

/* Animation delays */
.delay-1 {
  animation-delay: 0.1s;
}
.delay-2 {
  animation-delay: 0.2s;
}
.delay-3 {
  animation-delay: 0.3s;
}

/* Fade up animation */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-up {
  animation: fadeUp 0.8s cubic-bezier(0.2, 0.9, 0.3, 1) forwards;
}

/* External nav buttons (outside swiper container) must be static */
.service-prev,
.service-next,
.elite-prev,
.elite-next {
  position: static !important;
  margin-top: 0 !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(212, 175, 55, 0.3) !important;
  border-radius: 50% !important;
  color: #d4af37 !important;
  background: rgba(0, 0, 0, 0.5) !important;
  cursor: pointer;
  transition: all 0.3s ease !important;
  flex-shrink: 0;
}

.service-prev:hover,
.service-next:hover,
.elite-prev:hover,
.elite-next:hover {
  background: rgba(212, 175, 55, 0.15) !important;
  border-color: #d4af37 !important;
}

.service-prev::after,
.service-next::after,
.elite-prev::after,
.elite-next::after {
  font-size: 14px !important;
  font-weight: 700 !important;
}

.why-choose-section .feature-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  text-align: center;
}
.swiper.elite img {
  height: 400px !important;
  height: 100%;
}

/* about section */
.est-badge {
  display: inline-block;
  background-color: #d4af371a;
  font-family: "Jost", sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #c9a84c;
  border: 1px solid #c9a84c44;
  padding: 4px 10px;
  border-radius: 2px;
}

/* ── Decorative vertical line ── */
.v-rule {
  width: 1px;
  background: linear-gradient(to bottom, transparent, #c9a84c66, transparent);
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
}

/* ── Stat card ── */
.stat-card {
  background: #c9a84c;
  position: absolute;
  bottom: -2rem;
  left: -1.5rem;
  padding: 1.4rem 2rem;
  z-index: 10;
}
.stat-card .num {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
.stat-card .label {
  font-family: "Jost", sans-serif;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  margin-top: 4px;
}

/* ── Image frame ── */
.img-frame {
  position: relative;
}

.img-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.88) saturate(0.85);
  transition: filter 0.5s;
}
.img-frame:hover img {
  filter: brightness(0.95) saturate(0.95);
}

/* ── Divider dots ── */
.dot-rule {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2rem;
}
.dot-rule span {
  width: 4px;
  height: 4px;
  background: #c9a84c;
  border-radius: 50%;
  display: inline-block;
}
.dot-rule hr {
  flex: 1;
  border: none;
  border-top: 1px solid #c9a84c33;
}

/* ── Parallax grain overlay ── */
.grain::after {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 100;
  opacity: 0.4;
}

.values-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      #0e0e0e 0%,
      rgba(14, 14, 14, 0.55) 30%,
      rgba(14, 14, 14, 0.55) 70%,
      #0e0e0e 100%
    ),
    linear-gradient(
      to right,
      #0e0e0e 0%,
      transparent 18%,
      transparent 82%,
      #0e0e0e 100%
    ),
    url("./assets/image/lambo.png") center/cover no-repeat;
  filter: brightness(0.4) saturate(0.5);
  z-index: 0;
}

/* ── Gold underline on heading ── */
.heading-rule {
  width: 52px;
  height: 2px;
  background: #c9a84c;
  margin: 12px auto 0;
}

/* ── Value card ── */
.val-card {
  background: rgba(14, 14, 14, 0.6);
  border: 1px solid rgba(201, 168, 76, 0.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: 3rem 3.8rem;
  position: relative;
  transition:
    border-color 0.35s,
    transform 0.35s;
  overflow: hidden;
  text-align: center;
}
.val-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(201, 168, 76, 0.06) 0%,
    transparent 55%
  );
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.35s;
}
.val-card:hover::after {
  opacity: 1;
}
.val-card:hover {
  border-color: rgba(201, 168, 76, 0.5);
  transform: translateY(-5px);
}

/* Vertical divider between cards */
.card-divider {
  width: 1px;
  align-self: stretch;
  background: linear-gradient(
    to bottom,
    transparent 5%,
    rgba(201, 168, 76, 0.4) 50%,
    transparent 95%
  );
  flex-shrink: 0;
}

/* ── Animated gold ring icon ── */
.ring-wrap {
  width: 48px;
  height: 48px;
  position: relative;
  margin: 0 auto 1.8rem;
}
.ring-wrap svg {
  width: 48px;
  height: 48px;
}
.pulse-ring {
  position: absolute;
  inset: -8px;
  border: 1px solid rgba(201, 168, 76, 0.35);
  border-radius: 50%;
  animation: pulse-ring 2.6s ease-out infinite;
}
@keyframes pulse-ring {
  0% {
    transform: scale(0.82);
    opacity: 0.9;
  }
  70% {
    transform: scale(1.4);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/* bottom accent bar */
.accent-bar {
  width: 32px;
  height: 1px;
  background: #c9a84c;
  opacity: 0.5;
  margin: 2rem auto 0;
}

/* ── Image frame with corner accents ── */
.img-frame {
  position: relative;
  overflow: hidden;
}
.about .img-frame img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 400px;
  object-fit: cover;
  object-position: center top;
  filter: brightness(0.92) saturate(0.85);
  transition:
    filter 0.6s,
    transform 0.6s;
}
.img-frame:hover img {
  filter: brightness(1) saturate(0.95);
  transform: scale(1.03);
}

/* Corner bracket decorations */
.corner-tl,
.corner-br {
  position: absolute;
  width: 28px;
  height: 28px;
  pointer-events: none;
  z-index: 2;
}
.corner-tl {
  top: 10px;
  left: 10px;
  border-top: 1.5px solid #c9a84c;
  border-left: 1.5px solid #c9a84c;
}
.corner-br {
  bottom: 10px;
  right: 10px;
  border-bottom: 1.5px solid #c9a84c;
  border-right: 1.5px solid #c9a84c;
}

/* ── Feature list items ── */
.feat-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  transition: transform 0.25s;
}
.feat-item:last-child {
  border-bottom: none;
}
.feat-item:hover {
  transform: translateX(4px);
}

/* Gold check circle */
.check-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-top: 1px;
}

/* ── Heading underline rule ── */
.heading-rule {
  width: 48px;
  height: 2px;
  background: #c9a84c;
  margin-top: 10px;
  margin-bottom: 20px;
}

/* Section background */
.section-bg {
  background:
    radial-gradient(
      ellipse at 10% 50%,
      rgba(201, 168, 76, 0.04) 0%,
      transparent 55%
    ),
    #161616;
}

/* ── Feature card ── */
.feat-card {
  padding: 2rem 1.6rem 2rem;
  border: 1px solid rgba(201, 168, 76, 0.12);
  background: rgba(255, 255, 255, 0.02);
  position: relative;
  overflow: hidden;
  transition:
    border-color 0.35s,
    transform 0.35s,
    background 0.35s;
}
.feat-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(201, 168, 76, 0.06) 0%,
    transparent 60%
  );
  opacity: 0;
  transition: opacity 0.35s;
  pointer-events: none;
}
.feat-card:hover::before {
  opacity: 1;
}
.feat-card:hover {
  border-color: rgba(201, 168, 76, 0.45);
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.035);
}

/* Bottom accent bar on hover */
.feat-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #c9a84c;
  transition: width 0.4s ease;
}
.feat-card:hover::after {
  width: 100%;
}

/* ── Icon wrapper ── */
.icon-wrap {
  width: 46px;
  height: 46px;
  position: relative;
  margin-bottom: 1.4rem;
}
.icon-wrap svg {
  width: 46px;
  height: 46px;
}

/* Pulse ring for icons */
.pulse-ring {
  position: absolute;
  inset: -7px;
  border: 1px solid rgba(201, 168, 76, 0.28);
  border-radius: 50%;
  animation: pulse-ring 2.8s ease-out infinite;
}
@keyframes pulse-ring {
  0% {
    transform: scale(0.8);
    opacity: 0.8;
  }
  70% {
    transform: scale(1.35);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/* ── Section divider ── */
.gold-divider {
  display: flex;
  align-items: center;
  gap: 12px;
}
.gold-divider hr {
  flex: 1;
  border: none;
  border-top: 1px solid rgba(201, 168, 76, 0.2);
}
.gold-divider span {
  width: 5px;
  height: 5px;
  background: #c9a84c;
  border-radius: 50%;
  display: inline-block;
}

/* ── Commitment section ── */
.commitment-bg {
  position: relative;
}

/* Car image with mask */
.car-img-wrap {
  position: relative;
}
.car-img-wrap img {
  position: absolute;
  right: 0;
  transform: translate(10px, 10px);
  object-fit: contain;
  object-position: right bottom;
  filter: brightness(0.9) saturate(0.7);
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 30%, transparent 100%);
  -webkit-mask-image: linear-gradient(
    to left,
    rgba(0, 0, 0, 1) 30%,
    transparent 100%
  );
}

/* ── Quote styling ── */
.quote-text {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.15rem;
  font-weight: 400;
  font-style: italic;
  color: #d4d4d4;
  line-height: 1.7;
}

/* ── Buttons ── */
.btn-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #c9a84c;
  color: #0e0e0e;
  font-family: "Jost", sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 13px 24px;
  border: 1px solid #c9a84c;
  transition:
    background 0.3s,
    color 0.3s;
}
.btn-gold:hover {
  background: transparent;
  color: #c9a84c;
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #c9a84c;
  font-family: "Jost", sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 13px 24px;
  border: 1px solid #c9a84c;
  transition:
    background 0.3s,
    color 0.3s;
}
.btn-ghost:hover {
  background: #c9a84c;
  color: #0e0e0e;
}

/* fleet page */
/* ── Car card ── */
.car-card {
  background: #1c1c1c;
  border: 1px solid rgba(255, 255, 255, 0.07);
  position: relative;
  overflow: hidden;
  transition:
    border-color 0.35s,
    transform 0.35s;
  display: flex;
  flex-direction: column;
}
.car-card:hover {
  border-color: rgba(201, 168, 76, 0.4);
  transform: translateY(-5px);
}

/* Image container */
.car-img {
  width: 100%;
  height: 175px;
  overflow: hidden;
  position: relative;
  background: #141414;
}
.car-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.88) saturate(0.75);
  transition:
    transform 0.55s ease,
    filter 0.4s;
}
.car-card:hover .car-img img {
  transform: scale(1.06);
  filter: brightness(0.95) saturate(0.85);
}

/* Badge */
.badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #d4af37;
  color: #fff;
  font-family: "Public Sans", sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  padding: 5px 14px;
  z-index: 2;
}

/* Card body */
.card-body {
  padding: 1.1rem 1.2rem 1.2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Specs row */
.spec-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: "Jost", sans-serif;
  font-size: 0.878rem;
  color: #888;
}
.spec-item svg {
  flex-shrink: 0;
}

/* View details button */
.btn-view {
  font-family: "Jost", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background-color: #c9a84c;
  border: 1px solid rgba(201, 168, 76, 0.4);
  padding: 12px 18px;
  transition:
    background 0.3s,
    color 0.3s,
    border-color 0.3s;
  white-space: nowrap;
  color: #fff;
}
.btn-view:hover {
  background: #c9a84c;
  color: #0e0e0e;
  border-color: #c9a84c;
}

/* Circle icon button */
.btn-circle {
  width: 46px;
  height: 47px;
  border: 1px solid rgba(201, 168, 76, 0.35);
  /* border-radius: 50%; */
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition:
    background 0.3s,
    border-color 0.3s;
}
.btn-circle:hover {
  background: rgba(201, 168, 76, 0.15);
  border-color: #c9a84c;
}

/* ── CTA card ── */
.cta-card {
  background: linear-gradient(135deg, #1a1a1a 0%, #141414 100%);
  border: 1px solid rgba(201, 168, 76, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2.5rem 1.8rem;
  min-height: 320px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.35s;
}
.cta-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 50% 100%,
    rgba(201, 168, 76, 0.08) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.cta-card:hover {
  border-color: rgba(201, 168, 76, 0.5);
}

/* Nav arrows */
.nav-arrow {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(201, 168, 76, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background 0.3s,
    border-color 0.3s;
}
.nav-arrow:hover {
  background: #c9a84c;
  border-color: #c9a84c;
}
.nav-arrow:hover svg path {
  stroke: #0e0e0e;
}

/* Divider under heading */
.heading-rule {
  width: 44px;
  height: 1.5px;
  background: #c9a84c;
  margin-top: 8px;
}

.why-choose-section.standard,
.why-choose-section.standard.top-righter {
  position: relative;
}

.why-choose-section.standard::after {
  background-image: url(./assets/image/excellence-image.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  content: "";
  top: 0;
  width: 100%;
  height: 100%;
  transform: translateX(25%);
}
.why-choose-section.standard.top-righter::after {
  transform: translateX(55%);
}
/* ── Gold CTA card ── */
.cta-card {
  background: linear-gradient(
    130deg,
    #c9a84c 0%,
    #b8922e 40%,
    #d4a83a 70%,
    #c9a84c 100%
  );
  background-size: 200% 200%;
  animation: shimmer 6s ease infinite;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  padding: 4rem 2.5rem;
  text-align: center;
}

@keyframes shimmer {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Subtle noise texture overlay */
.cta-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
  pointer-events: none;
  border-radius: inherit;
}

/* Radial light bloom top-center */
.cta-card::after {
  content: "";
  position: absolute;
  top: -40%;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 180px;
  background: radial-gradient(
    ellipse,
    rgba(255, 255, 255, 0.18) 0%,
    transparent 70%
  );
  pointer-events: none;
}

/* ── Buttons ── */
.btn-white {
  font-family: "Jost", sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9a6e1a;
  background: #ffffff;
  border: 2px solid #ffffff;
  padding: 13px 32px;
  border-radius: 6px;
  transition:
    background 0.3s,
    color 0.3s,
    transform 0.2s;
  cursor: pointer;
}
.btn-white:hover {
  background: transparent;
  color: #ffffff;
  transform: translateY(-2px);
}

.btn-outline {
  font-family: "Jost", sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffffff;
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.55);
  padding: 13px 32px;
  border-radius: 6px;
  transition:
    background 0.3s,
    border-color 0.3s,
    transform 0.2s;
  cursor: pointer;
}
.btn-outline:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: #ffffff;
  transform: translateY(-2px);
}

/* Decorative corner marks inside card */
.corner-tl,
.corner-br {
  position: absolute;
  width: 22px;
  height: 22px;
  pointer-events: none;
  opacity: 0.35;
  z-index: 2;
}
.corner-tl {
  top: 18px;
  left: 18px;
  border-top: 1.5px solid #fff;
  border-left: 1.5px solid #fff;
  border-radius: 2px 0 0 0;
}
.corner-br {
  bottom: 18px;
  right: 18px;
  border-bottom: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  border-radius: 0 0 2px 0;
}

/* service page */
/* ── Service Card ── */
.service-card {
  background: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.07);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    border-color 0.35s,
    transform 0.35s;
}
.service-card:hover {
  border-color: rgba(201, 168, 76, 0.45);
  transform: translateY(-5px);
}

/* Hover shimmer overlay */
.service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(201, 168, 76, 0.05) 0%,
    transparent 55%
  );
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
  z-index: 1;
}
.service-card:hover::before {
  opacity: 1;
}

/* Bottom gold sweep on hover */
.service-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 0;
  background: #c9a84c;
  transition: width 0.45s ease;
}
.service-card:hover::after {
  width: 100%;
}

/* ── Image ── */
.card-img {
  width: 100%;
  height: 190px;
  overflow: hidden;
  position: relative;
  background: #141414;
  flex-shrink: 0;
}
.card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.85) saturate(0.75);
  transition:
    transform 0.55s ease,
    filter 0.4s;
}
.service-card:hover .card-img img {
  transform: scale(1.06);
  filter: brightness(0.95) saturate(0.9);
}

/* ── Card body ── */
.card-body {
  padding: 1.5rem 1.4rem 1.6rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}

/* ── Feature list ── */
.feat-row {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: "Jost", sans-serif;
  font-size: 0.9rem;
  color: #fff;
  margin-bottom: 5px;
}
.feat-row:last-of-type {
  margin-bottom: 0;
}

/* Check icon */
.check-svg {
  flex-shrink: 0;
}

/* ── Divider ── */
.card-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.07);
  margin: 1rem 0;
}

/* ── Buttons ── */
.btn-text {
  font-family: "Jost", sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition:
    gap 0.25s,
    opacity 0.25s;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.btn-text:hover {
  gap: 8px;
  opacity: 0.8;
}

.btn-gold-sm {
  font-family: "Jost", sans-serif;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: #c9a84c;
  color: #0e0e0e;
  border: 1px solid #c9a84c;
  padding: 7px 16px;
  transition:
    background 0.3s,
    color 0.3s;
  cursor: pointer;
}
.btn-gold-sm:hover {
  background: transparent;
  color: #c9a84c;
}

/* ── Section eyebrow ── */
.eyebrow {
  font-family: "Jost", sans-serif;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c9a84c;
}

.banner-section {
  background: #d4af370d;
  position: relative;
  overflow: hidden;
}

/* ── Buttons ── */
.btn-gold {
  font-family: "Jost", sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: #d4af37;
  color: #fff;
  border: 2px solid #d4af37;
  padding: 13px 32px;
  cursor: pointer;
  transition:
    background 0.3s,
    color 0.3s,
    transform 0.2s;
}
.btn-gold:hover {
  background: transparent;
  color: #c9a84c;
  transform: translateY(-2px);
}

.btn-outline {
  font-family: "Jost", sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: transparent;
  /* color: #d4af37; */
  border: 2px solid #d4af37;
  padding: 13px 32px;
  cursor: pointer;
  transition:
    border-color 0.3s,
    background 0.3s,
    color 0.3s,
    transform 0.2s;
}
.btn-outline:hover {
  border-color: #c9a84c;
  /* color: #c9a84c; */
  transform: translateY(-2px);
}

.section-bg {
  background:
    radial-gradient(
      ellipse at 50% 0%,
      rgba(201, 168, 76, 0.05) 0%,
      transparent 55%
    ),
    #111111;
  position: relative;
}

/* Outer frame border — matches reference's faint rect outline */
.section-frame {
  position: relative;
}

/* ── Heading underline ── */
.heading-underline {
  display: inline-block;
  position: relative;
}
.heading-underline::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
  width: 56px;
  height: 2px;
  background: #c9a84c;
}

/* ── Feature card ── */
.feat-card {
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 2rem 1.8rem 2.2rem;
  position: relative;
  overflow: hidden;
  transition:
    border-color 0.35s,
    transform 0.35s,
    background 0.35s;
}
.feat-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(201, 168, 76, 0.07) 0%,
    transparent 55%
  );
  opacity: 0;
  transition: opacity 0.35s;
  pointer-events: none;
}
.feat-card:hover::before {
  opacity: 1;
}
.feat-card:hover {
  border-color: rgba(201, 168, 76, 0.42);
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.05);
}

/* Gold bottom sweep on hover */
.feat-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 0;
  background: #c9a84c;
  transition: width 0.45s ease;
}
.feat-card:hover::after {
  width: 100%;
}

/* ── Icon wrap ── */
.icon-box {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  position: relative;
  transition:
    border-color 0.3s,
    background 0.3s;
}
.feat-card:hover .icon-box {
  border-color: #c9a84c;
  background: rgba(201, 168, 76, 0.08);
}

/* Pulse ring on icon */
.icon-box::before {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(201, 168, 76, 0.2);
  animation: pulse-box 2.8s ease-out infinite;
}
@keyframes pulse-box {
  0% {
    opacity: 0.8;
    transform: scale(0.88);
  }
  70% {
    opacity: 0;
    transform: scale(1.25);
  }
  100% {
    opacity: 0;
  }
}

/* Vertical divider between cards (desktop) */
.v-divider {
  width: 1px;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(201, 168, 76, 0.2),
    transparent
  );
  align-self: stretch;
  flex-shrink: 0;
}

/* ── Vehicle Card ── */
.vehicle-card {
  background: #191919;
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  transition:
    border-color 0.35s,
    transform 0.35s;
}
.vehicle-card:hover {
  border-color: rgba(201, 168, 76, 0.5);
  transform: translateY(-5px);
}

/* Shimmer overlay */
.vehicle-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(201, 168, 76, 0.05) 0%,
    transparent 50%
  );
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
  z-index: 1;
}
.vehicle-card:hover::before {
  opacity: 1;
}

/* ── Image ── */
.vehicle-img {
  width: 100%;
  height: 280px;
  overflow: hidden;
  position: relative;
  background: #141414;
  flex-shrink: 0;
}
.vehicle-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.9) saturate(0.78);
  transition:
    transform 0.6s ease,
    filter 0.4s;
  display: block;
}
.vehicle-card:hover .vehicle-img img {
  transform: scale(1.05);
  filter: brightness(1) saturate(0.9);
}

/* ── Card body ── */
.card-body {
  padding: 1.6rem 1.8rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}

/* ── Spec badge (A3 B2 style) ── */
.spec-badge {
  font-family: "Jost", sans-serif;
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  white-space: nowrap;
}

/* ── Select Vehicle button ── */
.btn-select {
  font-family: "Jost", sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c9a84c;
  background: transparent;
  border: 1px solid rgba(201, 168, 76, 0.45);
  padding: 13px 24px;
  width: 100%;
  cursor: pointer;
  transition:
    background 0.3s,
    color 0.3s,
    border-color 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.btn-select:hover {
  background: #c9a84c;
  color: #0e0e0e;
  border-color: #c9a84c;
}
.btn-select svg {
  transition: transform 0.25s;
}
.btn-select:hover svg {
  transform: translateX(3px);
}

/* Heading underline */
.heading-underline {
  position: relative;
  display: inline-block;
}
.heading-underline::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
  width: 52px;
  height: 2px;
  background: #c9a84c;
}

/* ── Section split background ── */
.section-wrap {
  background: #111111;
  position: relative;
}

/* Left panel subtle tint */
.left-panel {
  background:
    radial-gradient(
      ellipse at 0% 50%,
      rgba(201, 168, 76, 0.05) 0%,
      transparent 60%
    ),
    #111111;
}

/* Right panel — quote card */
.quote-panel {
  background: #191919;
  border: 1px solid rgba(201, 168, 76, 0.18);
  position: relative;
  overflow: hidden;
}
.quote-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(201, 168, 76, 0.06) 0%,
    transparent 55%
  );
  pointer-events: none;
}

/* Giant decorative quote mark */
.big-quote {
  font-family: "Cormorant Garamond", serif;
  font-size: 9rem;
  line-height: 1;
  color: rgba(201, 168, 76, 0.12);
  position: absolute;
  top: -1rem;
  left: 1.5rem;
  pointer-events: none;
  user-select: none;
  font-weight: 700;
}

/* ── Feature row ── */
.feat-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  transition: transform 0.25s;
}
.feat-row:first-child {
  padding-top: 0;
}
.feat-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.feat-row:hover {
  transform: translateX(5px);
}

/* Icon circle */
.feat-icon {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(201, 168, 76, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition:
    border-color 0.3s,
    background 0.3s;
}
.feat-row:hover .feat-icon {
  border-color: #c9a84c;
  background: rgba(201, 168, 76, 0.08);
}
/* Pulse ring */
.feat-icon::after {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(201, 168, 76, 0.18);
  border-radius: 50%;
  animation: pulse-ring 3s ease-out infinite;
}
@keyframes pulse-ring {
  0% {
    transform: scale(0.85);
    opacity: 0.7;
  }
  70% {
    transform: scale(1.3);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/* ── Testimonial avatar ring ── */
.avatar-ring {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid rgba(201, 168, 76, 0.5);
  overflow: hidden;
  flex-shrink: 0;
}
.avatar-ring img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(20%);
}

/* Stars */
.star {
  color: #c9a84c;
  font-size: 0.85rem;
}

/* Left accent bar */
.left-accent {
  width: 3px;
  background: linear-gradient(to bottom, #c9a84c, rgba(201, 168, 76, 0.2));
  border-radius: 2px;
  flex-shrink: 0;
}

/* Heading underline */
.heading-rule {
  width: 44px;
  height: 2px;
  background: #c9a84c;
  margin-top: 10px;
}

/* service detail */

/* ── Gallery images ── */
.gallery-main {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.88) saturate(0.8);
  transition:
    transform 0.6s,
    filter 0.4s;
  display: block;
}
.gallery-main:hover img {
  transform: scale(1.04);
  filter: brightness(0.95) saturate(0.9);
}

.gallery-thumb {
  overflow: hidden;
  height: 100%;
  position: relative;
}
.gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.85) saturate(0.75);
  transition:
    transform 0.5s,
    filter 0.4s;
  display: block;
}
.gallery-thumb:hover img {
  transform: scale(1.06);
  filter: brightness(0.95) saturate(0.9);
}

/* ── Spec row ── */
.spec-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(255, 255, 255, 0.02);
  transition:
    border-color 0.3s,
    background 0.3s;
  cursor: default;
}
.spec-row:hover {
  border-color: rgba(201, 168, 76, 0.35);
  background: rgba(201, 168, 76, 0.04);
}

/* Spec icon box */
.spec-icon {
  width: 36px;
  height: 36px;
  background: rgba(201, 168, 76, 0.1);
  border: 1px solid rgba(201, 168, 76, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.3s;
}
.spec-row:hover .spec-icon {
  background: rgba(201, 168, 76, 0.18);
}

/* ── Comfort list ── */
.comfort-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-family: "Jost", sans-serif;
  font-size: 0.72rem;
  color: #bbb;
  transition:
    color 0.25s,
    transform 0.25s;
}
.comfort-item:last-child {
  border-bottom: none;
}
.comfort-item:hover {
  color: #e2c16a;
  transform: translateX(3px);
}

/* Gold accent bar next to heading */
.section-eyebrow {
  width: 28px;
  height: 2px;
  background: #c9a84c;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  flex-shrink: 0;
}

/* Divider */
.gold-hr {
  border: none;
  border-top: 1px solid rgba(201, 168, 76, 0.15);
  margin: 1.2rem 0;
}

.card-sideline {
  background: #00000094;
  padding: 20px 30px;
}

/* ── Outer wrapper border ── */
.section-frame {
  /* border: 1px solid rgba(201, 168, 76, 0.15); */
  background: #131313;
  position: relative;
  overflow: hidden;
}

/* ── Left panel ── */
.left-panel {
  background:
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.55) 0%,
      rgba(0, 0, 0, 0.2) 50%,
      rgba(0, 0, 0, 0.75) 100%
    ),
    #111;
  position: relative;
}

/* ── Car image with overlay ── */
.car-img-wrap-enquiry {
  position: relative;
  overflow: hidden;
  height: 180px;
}
.car-img-wrap-enquiry img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.75) saturate(0.7);
  transition:
    transform 0.6s,
    filter 0.4s;
  display: block;
}
.car-img-wrap:hover img {
  transform: scale(1.04);
  filter: brightness(0.88) saturate(0.85);
}
/* Caption overlay */
.car-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 100%);
  padding: 18px 16px 12px;
}

/* ── Mini feature cards ── */
.mini-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 14px 16px;
  flex: 1;
  transition:
    border-color 0.3s,
    background 0.3s;
}
.mini-card:hover {
  border-color: rgba(201, 168, 76, 0.4);
  background: rgba(201, 168, 76, 0.04);
}

/* ── Right panel: Form ── */
.form-panel {
  background: #1a1a1a;
  border-left: 1px solid rgba(201, 168, 76, 0.12);
}

/* Form inputs */
.form-input {
  width: 100%;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.09);
  color: #e0e0e0;
  font-family: "Jost", sans-serif;
  font-size: 0.78rem;
  padding: 11px 14px;
  outline: none;
  transition: border-color 0.3s;
  appearance: none;
  -webkit-appearance: none;
}
.form-input::placeholder {
  color: #555;
}
.form-input:focus {
  border-color: rgba(201, 168, 76, 0.55);
}

/* Select arrow */
.select-wrap {
  position: relative;
}
.select-wrap::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #c9a84c;
  pointer-events: none;
}
.form-select {
  width: 100%;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.09);
  color: #e0e0e0;
  font-family: "Jost", sans-serif;
  font-size: 0.78rem;
  padding: 11px 36px 11px 14px;
  outline: none;
  transition: border-color 0.3s;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.form-select:focus {
  border-color: rgba(201, 168, 76, 0.55);
}
.form-select option {
  background: #1a1a1a;
}

/* Input with icon */
.input-icon-wrap {
  position: relative;
}
.input-icon-wrap .icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.input-icon-wrap .form-input {
  padding-left: 34px;
}

/* Label */
.form-label {
  font-family: "Jost", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #888;
  margin-bottom: 6px;
  display: block;
}

/* Textarea */
.form-textarea {
  width: 100%;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.09);
  color: #e0e0e0;
  font-family: "Jost", sans-serif;
  font-size: 0.78rem;
  padding: 11px 14px;
  outline: none;
  resize: none;
  height: 90px;
  transition: border-color 0.3s;
}
.form-textarea::placeholder {
  color: #555;
}
.form-textarea:focus {
  border-color: rgba(201, 168, 76, 0.55);
}

/* Submit button */
.btn-submit {
  width: 100%;
  background: #d4af37;
  color: #fff;
  font-family: "Public Sans", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 15px 24px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition:
    background 0.3s,
    transform 0.2s;
}
.btn-submit:hover {
  background: #d4af37d2;
  transform: translateY(-1px);
}
.btn-submit svg {
  transition: transform 0.25s;
}
.btn-submit:hover svg {
  transform: translateX(4px);
}

/* Form section heading */
.form-heading {
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.02em;
}

/* ── Left card ── */
.form-card {
  background: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 2.4rem 2.2rem;
  position: relative;
  overflow: hidden;
}
.form-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 0% 0%,
    rgba(201, 168, 76, 0.05) 0%,
    transparent 55%
  );
  pointer-events: none;
}

/* ── Form elements ── */
.form-label {
  font-family: "Jost", sans-serif;
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #777;
  display: block;
  margin-bottom: 7px;
}
.form-input {
  width: 100%;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.09);
  color: #e2e2e2;
  font-family: "Jost", sans-serif;
  font-size: 0.78rem;
  padding: 11px 14px;
  outline: none;
  transition: border-color 0.3s;
}
.form-input::placeholder {
  color: #444;
}
.form-input:focus {
  border-color: rgba(201, 168, 76, 0.6);
}

.select-wrap {
  position: relative;
}
.select-wrap::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #c9a84c;
  pointer-events: none;
}
.form-select {
  width: 100%;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.09);
  color: #e2e2e2;
  font-family: "Jost", sans-serif;
  font-size: 0.78rem;
  padding: 11px 36px 11px 14px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color 0.3s;
}
.form-select:focus {
  border-color: rgba(201, 168, 76, 0.6);
}
.form-select option {
  background: #1a1a1a;
}

.form-textarea {
  width: 100%;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.09);
  color: #e2e2e2;
  font-family: "Jost", sans-serif;
  font-size: 0.78rem;
  padding: 11px 14px;
  outline: none;
  resize: none;
  height: 110px;
  transition: border-color 0.3s;
}
.form-textarea::placeholder {
  color: #444;
}
.form-textarea:focus {
  border-color: rgba(201, 168, 76, 0.6);
}

.btn-send {
  background: #c9a84c;
  color: #0e0e0e;
  font-family: "Jost", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 13px 28px;
  border: 1px solid #c9a84c;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition:
    background 0.3s,
    color 0.3s,
    transform 0.2s;
}
.btn-send:hover {
  background: transparent;
  color: #c9a84c;
  transform: translateY(-2px);
}

/* ── Gold Contact Info card ── */
.contact-card {
  background: linear-gradient(135deg, #c9a84c 0%, #b58d2a 55%, #c9a030 100%);
  background-size: 200% 200%;
  animation: shimmer 7s ease infinite;
  padding: 1.8rem 2rem 2rem;
  position: relative;
  overflow: hidden;
}
@keyframes shimmer {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.contact-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
  pointer-events: none;
}
.contact-card::after {
  content: "";
  position: absolute;
  top: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 160px;
  background: radial-gradient(
    ellipse,
    rgba(255, 255, 255, 0.14) 0%,
    transparent 70%
  );
  pointer-events: none;
}

/* Contact rows */
.contact-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}
.contact-row:first-child {
  padding-top: 0;
}
.contact-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.contact-icon {
  width: 32px;
  height: 32px;
  background: rgba(0, 0, 0, 0.14);
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── Business Hours card ── */
.hours-card {
  background: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 1.6rem 1.8rem;
  position: relative;
  overflow: hidden;
}
.hours-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 50% 110%,
    rgba(201, 168, 76, 0.06) 0%,
    transparent 60%
  );
  pointer-events: none;
}

.hours-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.hours-row:last-of-type {
  border-bottom: none;
}

/* Priority badge */
.priority-badge {
  background: rgba(201, 168, 76, 0.1);
  border: 1px solid rgba(201, 168, 76, 0.28);
  padding: 11px 13px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 1.1rem;
}

.map-outer {
  position: relative;
  width: 100%;
  height: 420px;
  overflow: hidden;
  border-top: 1px solid rgba(201, 168, 76, 0.15);
  border-bottom: 1px solid rgba(201, 168, 76, 0.15);
}

/* Dark + desaturate filter over the iframe */
.map-outer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

/* Left + right edge fade */
.map-outer::after {
  content: "";
  position: absolute;
  inset: 0;
  /* background:
    linear-gradient(
      to right,
      #111111 0%,
      transparent 8%,
      transparent 92%,
      #111111 100%
    ),
    linear-gradient(
      to bottom,
      #111111 0%,
      transparent 10%,
      transparent 90%,
      #111111 100%
    ); */
  z-index: 3;
  pointer-events: none;
}

/* The actual iframe — dark filter applied */
.map-iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: invert(1) hue-rotate(180deg) brightness(0.88) saturate(0.3)
    contrast(1.1);
}

/* ── Custom pin overlay ── */
.map-pin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -80%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
  animation: pin-float 3s ease-in-out infinite;
}

@keyframes pin-float {
  0%,
  100% {
    transform: translate(-50%, -80%);
  }
  50% {
    transform: translate(-50%, -87%);
  }
}

/* Gold pin dot */
.pin-dot {
  width: 18px;
  height: 18px;
  background: #c9a84c;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow:
    0 0 0 4px rgba(201, 168, 76, 0.35),
    0 4px 16px rgba(201, 168, 76, 0.5);
  position: relative;
  z-index: 2;
}

/* Pulsing ring around pin */
.pin-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(201, 168, 76, 0.6);
  animation: pulse-pin 2s ease-out infinite;
}
@keyframes pulse-pin {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.9;
  }
  100% {
    transform: translate(-50%, -50%) scale(3.2);
    opacity: 0;
  }
}

/* Pin tail */
.pin-tail {
  width: 2px;
  height: 12px;
  background: linear-gradient(to bottom, #c9a84c, transparent);
  margin-top: -1px;
}

/* Label bubble */
.pin-label {
  background: #ffffff;
  color: #111111;
  font-family: "Jost", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 5px 12px;
  border-radius: 20px;
  margin-top: 8px;
  white-space: nowrap;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  gap: 6px;
}
.pin-label::before {
  content: "";
  width: 7px;
  height: 7px;
  background: #c9a84c;
  border-radius: 50%;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .mySwiper .fit-container {
    display: flex;
    width: calc(100% - 25%);
    flex-direction: column;
  }
  .testimonial-card {
    padding: 30px 15px;
  }
  .val-card {
    padding: 3rem 0.8rem;
  }
} /* Make sure this brace exists */
/* Calendar box */
.flatpickr-calendar {
  background: #0a0a0a;
  border-radius: 18px;
  border: 1px solid rgba(212, 175, 55, 0.2);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8);
  padding: 10px;
}

/* Month title */
.flatpickr-months {
  color: #fff;
  font-weight: 600;
}

/* Days */
.flatpickr-day {
  color: #fff;
  border-radius: 10px;
}

/* Hover + selected */
.flatpickr-day:hover {
  background: rgba(212, 175, 55, 0.2);
}

.flatpickr-day.selected {
  background: #d4af37;
  color: #000;
  font-weight: bold;
}

/* Today */
.flatpickr-day.today {
  border: 1px solid #d4af37;
}

/* Time picker */
.flatpickr-time {
  background: #0a0a0a;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.flatpickr-time input {
  color: #fff;
  font-weight: 500;
}

/* Input field */
.form-input {
  background: #111;
  border: 1px solid rgba(212, 175, 55, 0.2);
  color: #fff;
  border-radius: 12px;
  padding: 12px;
}

.form-input:focus {
  border-color: #d4af37;
  box-shadow: 0 0 0 1px #d4af37;
}
