:root{
  --gold: #CDA351;
  --gold-light: #E8C887;
  --teal-deep: #0F332D;
  --sea: #79B9A0;
  --coral: #E8714F;
  --sand: #F6EFE3;
}

html{ scroll-behavior: smooth; }
body{ background-color: var(--sand); font-family: 'Sora', sans-serif; }
.font-display{ font-family: 'Fraunces', serif; }
[x-cloak]{ display: none !important; }

/* Pinstripe / horizon divider */
.horizon{ display:block; width:100%; height:auto; }
.horizon path{ stroke: var(--gold); }

/* Hero backdrop palm pattern */
.palm-field{
  position:absolute; inset:0;
  background-image: radial-gradient(ellipse at 80% 20%, rgba(205,163,81,0.10), transparent 60%);
  pointer-events:none;
}

/* Shine sweep across car silhouette */
@keyframes sweep{
  0%   { transform: translateX(-60%) skewX(-12deg); opacity:0; }
  15%  { opacity:.9; }
  45%  { opacity:.9; }
  60%  { transform: translateX(160%) skewX(-12deg); opacity:0; }
  100% { transform: translateX(160%) skewX(-12deg); opacity:0; }
}
.shine{
  animation: sweep 6s ease-in-out infinite;
  animation-delay: 1s;
}

/* Soft floating animation for droplets */
@keyframes drift{
  0%,100%{ transform: translateY(0px); }
  50%{ transform: translateY(-10px); }
}
.drift{ animation: drift 6s ease-in-out infinite; }
.drift-slow{ animation: drift 9s ease-in-out infinite; }

/* Eyebrow label style */
.eyebrow{
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 600;
  color: var(--gold);
}

/* Card hover lift */
.lift{ transition: transform .35s ease, box-shadow .35s ease; }
.lift:hover{ transform: translateY(-6px); box-shadow: 0 24px 48px -24px rgba(15,51,45,0.45); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .shine, .drift, .drift-slow{ animation: none; }
}

/* Custom focus ring */
:focus-visible{ outline: 2px solid var(--gold); outline-offset: 2px; }

/* Pricing table grid lines */
.price-cell{ border-top: 1px solid rgba(15,51,45,0.08); }
