.hero-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.hero-card { position: relative; aspect-ratio: 3/4; border-radius: 12px; overflow: hidden; }
.hero-card a { display: block; width: 100%; height: 100%; text-decoration: none; }
.hero-card img { width: 100%; height: 100%; object-fit: cover; }
.hero-card .hero-top {
  position: absolute; top: 0; left: 0; right: 0;
  padding: 24px 24px 0;
}
.hero-card .hero-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 30px; font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 16px; line-height: 1.2;
}
.hero-card .hero-subtitle {
  font-family: 'Open Sans', sans-serif;
  font-size: 18px; font-weight: 600;
  color: #1a1a1a;
  width: 75%; line-height: 1.2;
  margin: 0;
}
.hero-card .hero-bottom {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 0 24px 24px;
}
.hero-card .hero-cta {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px; font-weight: 600;
  color: #fff; background: #800020;
  padding: 10px 24px; border-radius: 4px;
  text-transform: uppercase; letter-spacing: 0.5px;
  border: none;
  transition: background 0.3s ease;
}
.hero-card:hover .hero-cta { background: #5c0017; }

@media (min-width: 769px) {
  .hero-splide { display: none; }
  .hero-row { display: grid; }
}

@media (max-width: 768px) {
  .hero-row { display: none; }
  .hero-splide { display: block; overflow: hidden; }
  .hero-splide .hero-card { aspect-ratio: 3/4; border-radius: 10px; }
  .hero-splide .splide__track { overflow: visible; }
  .hero-splide .hero-title { font-size: 22px; }
  .hero-splide .hero-subtitle { font-size: 14px; }
  .hero-splide .hero-top { padding: 16px 16px 0; }
  .hero-splide .hero-bottom { padding: 0 16px 16px; }
  .hero-splide .hero-cta { font-size: 11px; padding: 8px 16px; }
}
