.hero {
  position: relative;
  min-height: calc(100vh - var(--alto-nav, 77px));
  min-height: calc(100svh - var(--alto-nav, 77px));
  background: linear-gradient(135deg, #f7ecf5 0%, #e7cde3 45%, #cfa9d3 100%);
  overflow: hidden;
  display: flex;
  align-items: center;
}
.hero::before, .hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: .55;
  pointer-events: none;
}
.hero::before { width: 480px; height: 480px; background: #c77aa0; top: -120px; left: -140px; }
.hero::after { width: 560px; height: 560px; background: #a782c3; bottom: -200px; right: -160px; }

.hero-marca {
  position: absolute;
  left: 50%; top: 42%;
  transform: translate(-50%, -50%);
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: clamp(6rem, 24vw, 24rem);
  line-height: 1;
  color: rgba(255, 255, 255, .5);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}

.hero-contenido {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: center;
  padding-top: 1.5rem; padding-bottom: 2rem;
}

.hero-modelos {
  display: flex; justify-content: center; align-items: flex-end;
  gap: clamp(.5rem, 3vw, 3rem);
  height: calc(100svh - var(--alto-nav, 77px) - 260px);
  min-height: 380px;
  max-height: 760px;
  width: 100%;
}
.hero-modelos img {
  height: 100%;
  width: auto;
  max-width: 48%;
  object-fit: contain;
  object-position: bottom;
  filter: drop-shadow(0 20px 25px rgba(70, 61, 65, .22));
}

.hero-texto-centro { text-align: center; margin-top: 1.2rem; }
.hero h1 {
  font-size: clamp(1.7rem, 3.2vw, 2.6rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--kf-carbon);
  margin: 0 0 1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.hero h1 em { font-style: normal; color: var(--kf-morado); }

@media (max-width: 575.98px) {
    .hero-modelos { height: min(60svh, calc((100vw - 2.5rem) / 0.94)); min-height: 0; gap: .5rem; }
  .hero-modelos img { max-width: none; }
}
.hero-sello {
  display: inline-flex; align-items: center; gap: .65rem;
  margin-bottom: 1rem; padding: .6rem 1.3rem;
  background: rgba(255, 255, 255, .85);
  border: 1px solid rgba(142, 90, 155, .25); border-radius: 50px;
  box-shadow: 0 10px 24px rgba(58, 50, 55, .12);
  font-family: "Josefin Sans", sans-serif;
  font-size: clamp(.95rem, 1.6vw, 1.2rem); font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--kf-carbon);
}
.hero-sello b { color: var(--kf-morado); font-weight: 700; }
.hero-sello i { width: 5px; height: 5px; border-radius: 50%; background: var(--kf-morado); display: inline-block; }
@media (max-width: 575.98px) { .hero-sello { font-size: .78rem; letter-spacing: .05em; padding: .5rem .9rem; gap: .45rem; } }
