/* hero-decor.css — два декоративных агента в hero (left + right). Минимальный чистый вариант. */

.hero.hero--luxury {
  position: relative;
  overflow: hidden;
  /* секция всегда не меньше высоты как на эталонном скрине */
  min-height: 720px !important;
}

.hero.hero--luxury .container.hero-luxury,
.hero.hero--luxury .hero-luxury__copy {
  position: relative;
  z-index: 1;
}

/* lead — компактнее, ВЫСОТА ЖЁСТКО ЗАФИКСИРОВАНА (агенты не плавают) */
.hero.hero--luxury .hero-luxury__lead,
body .hero.hero--luxury .hero-luxury__lead {
  min-height: 150px !important;
  height: 150px !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  max-width: 100% !important;
  overflow: hidden;
}

/* симметричные паддинги — текст шире */
@media (min-width: 1100px) {
  .hero.hero--luxury .container.hero-luxury {
    padding-right: clamp(320px, 24%, 420px);
    padding-left:  clamp(320px, 24%, 420px);
  }
}
@media (min-width: 1500px) {
  .hero.hero--luxury .container.hero-luxury {
    padding-right: clamp(380px, 24%, 480px);
    padding-left:  clamp(380px, 24%, 480px);
  }
}
@media (max-width: 1099px) and (min-width: 760px) {
  .hero.hero--luxury .container.hero-luxury {
    padding-right: clamp(220px, 24%, 280px);
    padding-left:  clamp(220px, 24%, 280px);
  }
}

/* H1 — компактнее */
body .hero.hero--luxury .hero-luxury h1,
body .hero.hero--luxury .hero-title-lockup {
  font-size: clamp(40px, 4.8vw, 64px) !important;
  line-height: 1.05 !important;
  max-width: 100% !important;
}

.hero-decor-agent {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: flex-end;
  pointer-events: none;
  z-index: 0;
  width: 50%;
  max-width: 560px;
  opacity: 0;
}

.hero-decor-agent--right,
.hero-decor-agent:not(.hero-decor-agent--left) {
  right: 0;
  justify-content: flex-end;
  animation: heroDecorInRight 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) 0.3s forwards;
}
.hero-decor-agent--right::before,
.hero-decor-agent:not(.hero-decor-agent--left)::before {
  display: none;
}

.hero-decor-agent--left {
  left: 0;
  justify-content: flex-start;
  animation: heroDecorInLeft 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) 0.5s forwards;
}
.hero-decor-agent--left::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 60% at 40% 50%,
    rgba(74,130,200,0.18) 0%, rgba(74,130,200,0.06) 45%, transparent 75%);
  filter: blur(2px);
  z-index: -1;
}

.hero-decor-agent img {
  display: block;
  height: auto;
  max-height: 680px;
  width: auto;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,0.55));
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 70%, rgba(0,0,0,0.55) 88%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 0%, #000 70%, rgba(0,0,0,0.55) 88%, transparent 100%);
}

@keyframes heroDecorInRight {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 0.95; transform: translateX(0); }
}
@keyframes heroDecorInLeft {
  from { opacity: 0; transform: translateX(-20px); }
  to   { opacity: 0.95; transform: translateX(0); }
}

@media (min-width: 1500px) {
  .hero-decor-agent--right,
  .hero-decor-agent:not(.hero-decor-agent--left) { right: 4vw; }
  .hero-decor-agent--left { left: 4vw; }
  .hero-decor-agent img { max-height: 740px; }
}

@media (max-width: 1099px) and (min-width: 760px) {
  .hero-decor-agent { width: 36%; max-width: 320px; opacity: 0; }
  .hero-decor-agent--right,
  .hero-decor-agent:not(.hero-decor-agent--left) {
    animation: heroDecorInDimRight 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) 0.3s forwards;
  }
  .hero-decor-agent--left {
    animation: heroDecorInDimLeft 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) 0.5s forwards;
  }
  .hero-decor-agent img { height: 80%; max-height: 480px; }
  @keyframes heroDecorInDimRight {
    from { opacity: 0; transform: translateX(20px); }
    to   { opacity: 0.5; transform: translateX(0); }
  }
  @keyframes heroDecorInDimLeft {
    from { opacity: 0; transform: translateX(-20px); }
    to   { opacity: 0.5; transform: translateX(0); }
  }
}

@media (max-width: 759px) {
  .hero-decor-agent { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-decor-agent { animation: none !important; opacity: 0.95; transform: none; }
}
