/* Propuesta 2: composición de campaña con el banner original. */
.landing-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #0b0b0a;
  color: #fff;
}

.hero-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-height: 460px;
  padding-block: 26px;
}

.hero-copy {
  grid-column: 1;
  position: relative;
  z-index: 2;
  padding-right: 44px;
  pointer-events: none;
}

.hero-copy > * { pointer-events: auto; }

.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  color: #b9cdb2;
  font-size: 10px;
}

.landing-hero h1 {
  font-size: clamp(92px, 8.2vw, 118px);
  letter-spacing: -.03em;
  line-height: .82;
}

.landing-hero h1 em { color: var(--mint); }

.hero-copy > p {
  max-width: 360px;
  margin-top: 14px;
  color: #d3d8d1;
  font-size: 14px;
  line-height: 1.6;
}

.hero-price {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-top: 14px;
}

.hero-price strong {
  font-size: 27px;
  font-weight: 800;
  letter-spacing: -.055em;
}

.hero-price > span {
  border-left: 1px solid #697264;
  padding-left: 17px;
  color: #d3d8d1;
  font-size: 10px;
  line-height: 1.5;
}

.hero-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 14px;
}

.hero-actions .button {
  justify-content: space-between;
  min-width: 266px;
  background: var(--mint);
  color: var(--deep);
}

.hero-actions .button:hover { background: #caf5b6; }

.hero-catalog {
  padding: 3px 0;
  border-bottom: 1px solid #7c8776;
  color: #e6ede6;
  font-size: 11px;
}

.hero-catalog span { margin-left: 15px; }

.hero-visual {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 50%;
  display: block;
  overflow: hidden;
  background: #0b0b0a;
}

.hero-visual > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #0b0b0a, rgba(11,11,10,.55) 12%, transparent 32%);
}

@media (min-width: 1800px) {
  .hero-layout { min-height: 610px; }
}

@media (min-width: 601px) and (max-width: 1050px) {
  .hero-layout { min-height: 505px; padding-block: 32px; }
  .hero-copy { padding-right: 26px; }
  .landing-hero h1 { font-size: clamp(78px, 10vw, 104px); }
  .hero-copy > p { font-size: 12px; max-width: 280px; }
  .hero-eyebrow { font-size: 8px; gap: 7px; letter-spacing: .1em; }
  .hero-actions .button { min-width: 0; width: 100%; font-size: 12px; }
  .hero-price strong { font-size: 24px; }
  .hero-price { gap: 12px; }
  .hero-price > span { padding-left: 12px; }
  .hero-visual > img { object-position: 88% center; }
}

@media (max-width: 600px) {
  .hero-layout { display: block; min-height: 0; padding-block: 25px 26px; }
  .hero-copy { padding: 0; }
  .hero-eyebrow { font-size: 8px; letter-spacing: .06em; gap: 6px; margin-bottom: 18px; }
  .landing-hero h1 { width: 50%; font-size: clamp(69px, 20vw, 100px); line-height: .88; }
  .hero-copy > p { max-width: 52%; margin-top: 18px; font-size: 11px; line-height: 1.7; }
  .hero-price { margin-top: 20px; }
  .hero-price strong { font-size: 26px; }
  .hero-price > span { font-size: 10px; }
  .hero-actions { margin-top: 17px; gap: 10px; }
  .hero-actions .button { width: 100%; min-width: 0; min-height: 48px; font-size: 12px; }
  .hero-catalog { align-self: center; font-size: 10px; }
  .hero-visual > img { object-position: 83% center; }
  .hero-visual::after {
    background:
      linear-gradient(0deg, #0b0b0a 0%, rgba(11,11,10,.96) 18%, rgba(11,11,10,.5) 36%, transparent 67%),
      linear-gradient(90deg, #0b0b0a, rgba(11,11,10,.1) 22%, transparent 45%);
  }
}

@media (max-width: 360px) {
  .hero-layout { padding-block: 22px; }
  .landing-hero h1 { font-size: 67px; }
  .hero-eyebrow { font-size: 7px; gap: 5px; }
  .hero-copy > p { font-size: 10px; }
  .hero-price strong { font-size: 24px; }
  .hero-actions .button { font-size: 11px; }
}
