
:root{--bg:#000;--fg:#f5f5f5;--muted:#c9c9c9;--gold:#c9a227;--card:#0a0a0a;--accent:#e6c25a;}*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:24px}
.topbar{position:sticky;top:0;background:rgba(0,0,0,.92);backdrop-filter:blur(6px);z-index:99;border-bottom:1px solid #111}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px}
.logo img{height:64px;width:auto;display:block;border-radius:8px;object-fit:contain}
.brand h1{font-family:'Montserrat',sans-serif;text-transform:uppercase;font-weight:800;font-size:22px;letter-spacing:1.5px;margin:0}
nav ul{display:flex;gap:18px;list-style:none;padding:0;margin:0;align-items:center}
.btn{display:inline-block;padding:12px 16px;border-radius:12px;border:1px solid #333;background:#111;color:#fff;transition:.2s}
.btn:hover{transform:translateY(-1px)}.btn.gold{background:linear-gradient(135deg,var(--gold),var(--accent));color:#111;border:none;font-weight:700}
.btn.ghost{background:transparent;border:1px solid #333}
.hero{min-height:70vh;display:grid;place-items:center;background:url('hero-cadillacs.jpg') center/cover no-repeat;position:relative;isolation:isolate}
.hero.small{min-height:40vh}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.85));z-index:-1}
.hero .card{background:rgba(0,0,0,.6);border:1px solid #222;border-radius:20px;padding:24px;max-width:800px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.hero h2{font-size:38px;margin:0 0 8px 0}.hero p{color:var(--muted);margin:0 0 16px 0;font-size:18px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--card);border:1px solid #1b1b1b;border-radius:16px;padding:18px}.card h3{margin:4px 0 8px 0}
footer{margin-top:40px;border-top:1px solid #111;background:#050505}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.footer-grid h4{margin-top:0}
table.rate{width:100%;border-collapse:collapse}.rate th,.rate td{border-bottom:1px solid #222;padding:12px;text-align:left}
.mobile-toggle{display:none}
@media (max-width:900px){.grid{grid-template-columns:1fr}nav ul{display:none;position:absolute;top:64px;right:12px;background:#0a0a0a;border:1px solid #222;border-radius:12px;padding:12px;flex-direction:column;min-width:220px}nav ul.show{display:flex}.mobile-toggle{display:block}.hero h2{font-size:28px}}
.slider{position:relative;overflow:hidden;border-radius:16px;border:1px solid #1b1b1b;background:#0a0a0a}
.slider-track{display:flex;transition:transform .35s ease;will-change:transform}
.slide{min-width:100%;user-select:none}
.slide img{display:block;width:100%;height:auto}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);border:1px solid #333;border-radius:999px;padding:10px 12px;cursor:pointer}
.slider-arrow:hover{background:rgba(0,0,0,.7)}.slider-arrow.left{left:10px}.slider-arrow.right{right:10px}
.slider-dots{display:flex;gap:8px;justify-content:center;margin-top:10px}
.slider-dots button{width:8px;height:8px;border-radius:999px;border:1px solid #555;background:#222;cursor:pointer}
.slider-dots button.active{background:#e6c25a;border-color:#e6c25a}
/* --- Testimonials polish --- */
.section-muted { padding: 56px 0; }

.testi {
  background: #111;                    /* slightly brighter than #101010 */
  border: 1px solid #222;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}

.testi-name { font-weight: 800; color: #f0f0f0; }
.testi-date { color: #b3b3b3; }

.stars {
  color: #f0c54a;                      /* richer gold */
  letter-spacing: 2px;
  font-size: 18px;                     /* bigger stars */
  margin-top: 8px;
}

/* Make arrows easier to see/click */
.slider-arrow {
  background: rgba(0,0,0,.75);
  border: 1px solid #444;
  padding: 10px 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
}
.slider-arrow:hover { background: rgba(0,0,0,.9); }

/* Larger, clearer dots */
.slider-dots button {
  width: 10px; height: 10px;
  border-radius: 999px;
  border: 1px solid #777;
  background: #2a2a2a;
}
.slider-dots button.active {
  background: #e6c25a; border-color: #e6c25a;
}
/* Fix for testimonial stars */
.testi .stars {
  display: inline-block;
  color: #f0c54a;   /* gold color */
  font-size: 18px;
  letter-spacing: 2px;
  margin: 8px 0;
}
/* --- Testimonials arrow positioning & spacing --- */
#review-slider { position: relative; }

#review-slider .slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;                       /* sit above the track, but outside the card */
  background: rgba(0,0,0,.75);
  border: 1px solid #444;
  padding: 10px 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
}
#review-slider .slider-arrow.left  { left: -16px; }   /* push outside the card */
#review-slider .slider-arrow.right { right: -16px; }  /* push outside the card */

@media (max-width: 640px){
  /* Keep arrows visible on small screens, but not overlapping text */
  #review-slider .slider-arrow.left  { left: 6px; }
  #review-slider .slider-arrow.right { right: 6px; }
}

/* A bit more breathing room inside each testimonial card */
.card.testi { padding: 22px 22px 20px; }

/* Make sure the gold stars are scoped to the testimonial content only */
.card.testi .stars {
  display: inline-block;
  color: #f0c54a;
  font-size: 18px;
  letter-spacing: 2px;
  margin: 8px 0;
}
/* --- Reviews: badge + slider two-column layout --- */
.testi-grid {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 28px;
  align-items: start;
}
@media (max-width: 900px){
  .testi-grid { grid-template-columns: 1fr; }
}

/* Left badge card */
.rating-card {
  background: #111;
  border: 1px solid #222;
  border-radius: 14px;
  padding: 22px;
  color: #fff;
  text-align: left;
}
.rating-title {
  font-weight: 800;
  letter-spacing: .06em;
  margin-bottom: 4px;
}
.big-stars {
  color: #f0c54a;
  font-size: 28px;
  letter-spacing: 6px;
  line-height: 1;
  margin: 4px 0 6px;
}
.rating-sub { color: #cfcfcf; margin-bottom: 12px; }
.rating-google { margin: 6px 0 14px; }
.rating-cta .btn { width: 100%; }

/* Make sure testimonial stars stay neat */
.card.testi .stars {
  display: inline-block;
  color: #f0c54a;
  font-size: 18px;
  letter-spacing: 2px;
  margin: 8px 0;
}

/* Keep arrows outside card for clarity (from earlier polish) */
#review-slider { position: relative; }
#review-slider .slider-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 2; background: rgba(0,0,0,.75); border: 1px solid #444;
  padding: 10px 14px; box-shadow: 0 4px 20px rgba(0,0,0,.35);
}
#review-slider .slider-arrow.left { left: -16px; }
#review-slider .slider-arrow.right { right: -16px; }
@media (max-width: 640px){
  #review-slider .slider-arrow.left { left: 6px; }
  #review-slider .slider-arrow.right { right: 6px; }
}

/* Minimal slider layout safeguards */
.slider { position: relative; overflow: hidden; }
.slider-track { display: flex; transition: transform .4s ease; will-change: transform; }
.slide { min-width: 100%; }
.slider-dots { display:flex; gap:8px; justify-content:center; margin-top:10px; }
.slider-dots button { width:8px; height:8px; border-radius:999px; border:1px solid #777; background:#2a2a2a; }
.slider-dots button.active { background:#e6c25a; border-color:#e6c25a; }
/* Testimonials grid layout */
.testi-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: start;
}

.rating-card {
  background: #111;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  color: #fff;
}

.rating-title {
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
}

.big-stars {
  font-size: 28px;
  color: #f0c54a;
  margin: 8px 0;
}

.rating-sub {
  font-size: 14px;
  margin-bottom: 16px;
}

.rating-google {
  margin: 12px 0;
}

.rating-cta {
  margin-top: 14px;
}

/* Make it mobile-friendly */
@media (max-width: 768px) {
  .testi-grid {
    grid-template-columns: 1fr;
  }
}


