.hero {
  background-image: url('https://apex-authentic-automotive-ad9rg4a3i-apex-authentic-automotive.vercel.app/hero-automotive.png');
}

.vehicle-photo {
  background-image: linear-gradient(180deg, transparent 45%, rgba(3,14,24,.15)), url('https://apex-authentic-automotive-ad9rg4a3i-apex-authentic-automotive.vercel.app/hero-automotive.png');
}

.socials a svg {
  width: 18px;
  height: 18px;
  display: block;
}

.sms-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  grid-column: 1 / -1;
  padding: 12px !important;
  background: #f7f9fb !important;
  border: 1px solid #dce4eb !important;
  border-radius: 8px;
  color: #526473 !important;
  font-size: 11px !important;
  line-height: 1.45;
}

.sms-consent input { width: 17px !important; height: 17px; margin: 1px 0 0 !important; flex: 0 0 17px; }
.sms-consent a { color: #066bc8; }

@media (max-width: 900px) {
  .menu-btn {
    width: 44px;
    height: 44px;
    padding: 11px;
    place-content: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 10px;
    cursor: pointer;
  }

  .menu-btn span {
    width: 21px;
    transition: transform .2s ease, opacity .2s ease;
  }

  .menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  .mobile-nav {
    top: 76px;
    min-height: calc(100vh - 76px);
    padding: 26px max(24px, calc((100% - 560px) / 2)) 40px;
    background: linear-gradient(165deg, #05080d 0%, #071726 72%, #0a3155 100%);
    border-top: 2px solid #087cf0;
    box-shadow: 0 24px 50px rgba(0,0,0,.35);
    overflow-y: auto;
  }

  .mobile-nav.open { display: grid; align-content: start; gap: 7px; }

  .mobile-nav a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 55px;
    padding: 0 15px;
    color: #f7faff;
    border-bottom: 1px solid rgba(255,255,255,.11);
    border-radius: 8px;
    font: 700 17px 'Manrope', sans-serif;
    letter-spacing: -.2px;
    transition: background .18s ease, color .18s ease, transform .18s ease;
  }

  .mobile-nav a:not(.button)::after {
    content: '>';
    margin-left: auto;
    color: #4aa3ff;
    font-size: 17px;
  }

  .mobile-nav a:hover {
    background: rgba(8,124,240,.12);
    color: #fff;
    transform: translateX(3px);
  }

  .mobile-nav .employee-portal-link {
    margin-top: 18px;
    border: 1px solid rgba(74,163,255,.65);
    background: rgba(8,124,240,.12);
    color: #fff;
  }

  .mobile-nav .button {
    min-height: 56px;
    margin-top: 5px;
    justify-content: center;
    border: 0;
    background: linear-gradient(135deg, #d7a34a, #efc878);
    color: #061521;
    box-shadow: 0 12px 26px rgba(215,163,74,.2);
  }
}

@media (max-width: 640px) {
  .mobile-nav { top: 66px; min-height: calc(100vh - 66px); padding-left: 20px; padding-right: 20px; }
}

.footer-hours { display:block; color:#99a9b3; font-size:12px; line-height:1.7; }
.appointment-only { display:block; margin:8px 0; color:#efc878; font-size:12px; font-weight:700; }
.hero { background-color:#071726; background-position:center; background-size:cover; }
.trust-check { display:inline-grid; place-items:center; width:19px; height:19px; margin-right:7px; border-radius:50%; background:#087cf0; color:#fff; font-size:12px; font-weight:900; box-shadow:0 0 16px rgba(8,124,240,.45); }
@media (max-width:900px) { .footer-top > div:last-child { display:block; } }

.reviews {
  position: relative;
  overflow: hidden;
}

.reviews::before {
  content: '';
  position: absolute;
  width: 360px;
  height: 360px;
  left: 50%;
  top: 95px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8,124,240,.10), transparent 68%);
  pointer-events: none;
}

.reviews > .eyebrow,
.reviews > h2,
.review-grid,
.trust-row {
  position: relative;
  z-index: 1;
}

.review-grid blockquote {
  position: relative;
  border: 1px solid rgba(8,124,240,.18);
  background: linear-gradient(155deg,#fff 65%,#f4f9ff);
  box-shadow: 0 18px 42px rgba(7,23,38,.10);
  animation: review-enter .75s cubic-bezier(.2,.75,.25,1) both, review-float 6s ease-in-out infinite 1s;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.review-grid blockquote:nth-child(2) {
  animation-delay: .16s, 1.5s;
}

.review-grid blockquote:nth-child(3) {
  animation-delay: .32s, 2s;
}

.review-grid blockquote:hover {
  transform: translateY(-9px) scale(1.015);
  border-color: rgba(8,124,240,.55);
  box-shadow: 0 25px 55px rgba(7,65,125,.18);
}

.review-grid blockquote::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(105deg,transparent 35%,rgba(255,255,255,.68) 48%,transparent 61%);
  transform: translateX(-130%);
  animation: review-shine 7s ease-in-out infinite;
  pointer-events: none;
}

.review-grid blockquote > div {
  color: #d7a34a;
  font-size: 19px;
  letter-spacing: 5px;
  text-shadow: 0 0 16px rgba(215,163,74,.28);
  animation: star-pulse 2.4s ease-in-out infinite;
}

.review-grid blockquote > p {
  font-size: 16px;
  color: #172c3b;
}

.review-grid blockquote footer {
  background: transparent;
  color: #10202c;
  padding: 0;
}

.review-grid blockquote footer > span {
  border: 2px solid rgba(8,124,240,.18);
  background: #eef6ff;
  color: #087cf0;
}

.review-grid blockquote footer b {
  color: #10202c;
}

.review-grid blockquote footer small {
  color: #64717a;
}

.trust-row {
  border: 1px solid rgba(8,124,240,.16);
  border-radius: 14px;
  padding: 28px 20px;
  background: linear-gradient(90deg,#f8fbff,#fffaf0,#f8fbff);
  box-shadow: 0 12px 30px rgba(7,23,38,.07);
}

@keyframes review-enter {
  from { opacity: 0; transform: translateY(34px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes review-float {
  0%,100% { translate: 0 0; }
  50% { translate: 0 -5px; }
}

@keyframes review-shine {
  0%,65% { transform: translateX(-130%); }
  82%,100% { transform: translateX(130%); }
}

@keyframes star-pulse {
  0%,100% { opacity: .82; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
  .review-grid blockquote,
  .review-grid blockquote::after,
  .review-grid blockquote > div {
    animation: none;
  }
}