.vehicles-intro { padding-block: clamp(3.5rem, 7vw, 6rem); background: #f1f4f5; }
.vehicles-intro-inner { max-width: var(--content); }
.vehicles-intro .eyebrow { margin-bottom: .8rem; }
.vehicles-intro h1 { max-width: 20ch; margin-bottom: .75rem; color: #101d2a; font-family: var(--sans); font-size: clamp(2.5rem, 5vw, 4.2rem); font-weight: 800; letter-spacing: -.055em; }
.vehicles-intro p { max-width: 45rem; margin-bottom: 0; font-size: .96rem; }
.vehicle-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.vehicle-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.vehicle-card:hover, .vehicle-card:focus-within { transform: translateY(-4px); border-color: #b6c8ce; box-shadow: 0 8px 18px rgb(6 43 66 / 8%); }
.vehicle-card .photo-frame { min-height: 10rem; border-radius: .9rem .9rem 0 0; }
.vehicle-card-copy { padding: .8rem .9rem 1rem; }
.vehicle-label { display: block; margin-bottom: .2rem; color: #a56d00; font-size: .61rem; font-weight: 800; letter-spacing: .13em; }
.vehicle-card h2 { margin-bottom: .25rem; color: #101d2a; font-family: var(--sans); font-size: 1.15rem; font-weight: 750; letter-spacing: -.025em; }
.vehicle-card p { min-height: 3.2em; margin-bottom: .5rem; font-size: .76rem; line-height: 1.5; }
.vehicle-card .text-link { gap: .35rem; font-size: .72rem; }
.vehicle-card .text-link::after { content: "→"; font-size: .9rem; }
.vehicle-cta { padding-block: clamp(3rem, 6vw, 5rem); background: #f1f4f5; text-align: center; }
.vehicle-cta .eyebrow { justify-content: center; margin-bottom: .55rem; }
.vehicle-cta h2 { margin-bottom: .6rem; color: #101d2a; font-family: var(--sans); font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 800; letter-spacing: -.045em; }
.vehicle-cta p { max-width: 42rem; margin: 0 auto 1.1rem; }
.vehicle-cta .button { color: var(--white); background: var(--navy); border-color: var(--navy); }
.vehicle-cta .button:hover { background: var(--navy-light); }
.vehicle-cta .vehicle-note { margin-top: 1.4rem; margin-bottom: 0; font-size: .73rem; }
@media (max-width: 900px) { .vehicle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
  .vehicle-grid { grid-template-columns: 1fr; gap: .8rem; }
  .vehicle-card { display: grid; grid-template-columns: 40% 1fr; align-items: stretch; }
  .vehicle-card .photo-frame { min-height: 100%; height: 100%; border-radius: .9rem 0 0 .9rem; }
  .vehicle-card-copy { padding: .8rem; }
  .vehicle-card p { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { .vehicle-card:hover, .vehicle-card:focus-within { transform: none; } }

/* Keep the complete vehicle visible at the generated landscape ratio. */
.vehicle-card .photo-frame { min-height: 0; height: auto; aspect-ratio: 4 / 3; }
@media (max-width: 520px) {
  .vehicle-card { display: block; }
  .vehicle-card .photo-frame { border-radius: .9rem .9rem 0 0; }
}

.vehicles-intro { position:relative; display:flex; align-items:center; min-height:clamp(500px,72vh,780px); padding:5rem 0; background:linear-gradient(90deg,rgba(3,22,33,.86) 0%,rgba(3,22,33,.68) 40%,rgba(3,22,33,.12) 75%),url('/assets/images/vehicles/hero-hill-country.webp?v=1794062230') center center / cover no-repeat; }
.vehicles-intro .vehicles-intro-inner { position:relative; width:min(var(--content),calc(100% - var(--gutter) * 2)); }
.vehicles-intro h1 { color:#fff; max-width:680px; text-shadow:0 2px 16px #0003; }
.vehicles-intro p { color:#f0f5f7; max-width:600px; }
.vehicles-intro .eyebrow { color:#f6d04b; }
@media(max-width:700px) { .vehicles-intro { min-height:650px; align-items:flex-start; padding:3.5rem 0; background-position:66% center; background-image:linear-gradient(180deg,rgba(3,22,33,.88),rgba(3,22,33,.65) 48%,rgba(3,22,33,.15)),url('/assets/images/vehicles/hero-hill-country.webp?v=1794062230'); }.vehicles-intro h1 { font-size:clamp(2.4rem,9vw,3.7rem); }.vehicles-intro p { font-size:1rem; } }
