.sustainability-spotlight__image {
  object-position: 68% 48%;
  transform: scale(1.2);
  transform-origin: 70% 50%;
}

.structure-factory-image {
  object-position: 80% center;
}

.telecom-internal-image {
  object-position: 76% center;
}

.energy-internal-image {
  object-position: center center;
}

@media (max-width: 767px) {
  .sustainability-spotlight__image {
    object-position: 60% 50%;
    transform: scale(1.28);
    transform-origin: 62% 50%;
  }

  .structure-factory-image {
    object-position: 88% center;
  }

  .telecom-internal-image {
    object-position: 76% center;
  }

  .energy-internal-image {
    object-position: center center;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .sustainability-spotlight__image {
    object-position: 65% 50%;
    transform: scale(1.22);
    transform-origin: 68% 50%;
  }
}

/* Encuadre editorial independiente para cada escena del slider principal. */
.hero-slide-image--1 {
  object-position: 74% 20% !important;
}

.hero-slide-image--2 {
  object-position: 52% 8% !important;
}

.hero-slide-image--3 {
  object-position: 66% 22% !important;
}

.hero-slide-image--4 {
  object-position: 70% 14% !important;
}

@media (max-width: 767px) {
  .hero-slide-image--1 {
    object-position: 78% center !important;
  }

  .hero-slide-image--2 {
    object-position: 40% center !important;
  }

  .hero-slide-image--3 {
    object-position: 60% center !important;
  }

  .hero-slide-image--4 {
    object-position: 74% center !important;
  }
}

/* CTA comerciales: un mismo sistema visual con acento por línea de negocio. */
.cta-premium {
  --cta-accent: #f26522;
  --cta-accent-secondary: #b01b69;
  --cta-glow: rgba(34, 164, 213, 0.3);
  border-bottom-color: var(--cta-accent);
}

.cta-premium::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 4;
  height: 4px;
  background: linear-gradient(90deg, var(--cta-accent), var(--cta-accent-secondary), var(--cta-accent));
  background-size: 220% 100%;
  animation: cjBrandLine 7s linear infinite;
}

.cta-premium--general.cta-animated-gradient {
  background: linear-gradient(112deg, #041a2b, #0b3b60 38%, #34245d 72%, #071f34) 0 0 / 260% 260%;
}

.cta-premium--telecom {
  --cta-accent: #22a4d5;
  --cta-accent-secondary: #5367c8;
  --cta-glow: rgba(34, 164, 213, 0.42);
}

.cta-premium--telecom.cta-animated-gradient {
  background: linear-gradient(112deg, #041a2b, #075074 44%, #173a68 70%, #071f34) 0 0 / 260% 260%;
}

.cta-premium--energia {
  --cta-accent: #39a96b;
  --cta-accent-secondary: #8fcf53;
  --cta-glow: rgba(57, 169, 107, 0.4);
}

.cta-premium--energia.cta-animated-gradient {
  background: linear-gradient(112deg, #041d27, #07573f 44%, #123f4d 72%, #061f31) 0 0 / 260% 260%;
}

.cta-premium--construccion {
  --cta-accent: #f26522;
  --cta-accent-secondary: #ffb51b;
  --cta-glow: rgba(255, 181, 27, 0.38);
}

.cta-premium--construccion.cta-animated-gradient {
  background: linear-gradient(112deg, #071e30, #17445e 42%, #714322 72%, #071f34) 0 0 / 260% 260%;
}

.cta-premium--metalmecanica {
  --cta-accent: #a8b0b9;
  --cta-accent-secondary: #22a4d5;
  --cta-glow: rgba(168, 176, 185, 0.36);
}

.cta-premium--metalmecanica.cta-animated-gradient {
  background: linear-gradient(112deg, #061b2b, #263746 46%, #163f59 72%, #071f34) 0 0 / 260% 260%;
}

.cta-premium .cta-light-sweep {
  background: radial-gradient(circle at 82% 52%, var(--cta-glow), transparent 31%),
    radial-gradient(circle at 68% 110%, rgba(176, 27, 105, 0.2), transparent 35%);
}

.cta-premium .cta-logo-glow {
  background: radial-gradient(circle, var(--cta-glow), rgba(107, 53, 159, 0.16) 44%, transparent 72%);
}

.cta-premium .cta-orbit--outer {
  border-color: var(--cta-accent);
  opacity: 0.38;
}

.cta-premium .cta-contact-button {
  display: inline-flex !important;
  min-height: 56px;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--cta-accent), var(--cta-accent-secondary)) !important;
  padding-inline: clamp(1.5rem, 3vw, 2.5rem);
  line-height: 1.2;
  text-align: center;
  white-space: normal;
  box-shadow: 0 18px 38px -18px var(--cta-accent) !important;
  transition: transform 300ms cubic-bezier(.22, 1, .36, 1), filter 300ms ease, box-shadow 300ms ease !important;
}

.cta-premium .cta-contact-button:hover {
  filter: brightness(1.08) saturate(1.08);
  transform: translateY(-3px);
  box-shadow: 0 22px 44px -17px var(--cta-accent) !important;
}

.cta-premium--telecom .cta-contact-button,
.cta-premium--metalmecanica .cta-contact-button {
  color: #041b2b !important;
}

.cta-premium .cta-contact-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

@media (max-width: 767px) {
  .cta-premium {
    min-height: 500px;
    padding-block: 4.25rem;
  }

  .cta-premium .cta-contact-button {
    width: 100%;
    min-height: 54px;
    padding: 0.95rem 1.2rem;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
  }

  .cta-premium .cta-giant-brand {
    opacity: 0.34;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-premium::before {
    animation: none;
  }
}
