/* A continuous photographic studio fills the opening banner. */
.home-preferred .bridal-hero {
  height: clamp(520px, 68svh, 680px);
  min-height: 0;
  background: #c7b8a3 url('/assets/hero-promesse-studio-v1.png') center top / 100% 110% no-repeat;
}
.home-preferred .bridal-hero .preferred-hero-image {
  inset: 0 0 0 auto;
  width: auto;
  height: 100%;
  max-width: none;
  max-height: none;
  min-height: 0;
  object-fit: contain;
  object-position: right center;
  /* Blend only the empty studio edge; the model and clothing stay intact. */
  mask-image: linear-gradient(to right, transparent, black 26%);
  -webkit-mask-image: linear-gradient(to right, transparent, black 26%);
}
.home-preferred .bridal-hero .hero-copy {
  width: 52%;
  z-index: 1;
}
.home-preferred .bridal-hero .eyebrow,
.home-preferred .bridal-hero .hero-description {
  color: var(--ink);
}
@media (max-width: 760px) {
  .home-preferred .bridal-hero {
    height: clamp(500px, 72svh, 600px);
    align-items: center;
  }
  .home-preferred .bridal-hero .preferred-hero-image {
    right: -20%;
    width: auto;
    height: 100%;
  }
  .home-preferred .bridal-hero .hero-copy {
    width: 48%;
    padding: 30px 8px 30px 20px;
  }
  .home-preferred .bridal-hero h1 {
    font-size: clamp(25px, 6.4vw, 30px);
    line-height: 1.15;
  }
  .home-preferred .bridal-hero .hero-description {
    font-size: 12px;
    line-height: 1.7;
  }
  .home-preferred .bridal-hero .hero-copy .button {
    width: 100%;
    padding: 12px 8px;
    font-size: 9px;
  }
}
@media (max-width: 360px) {
  .home-preferred .bridal-hero .hero-copy { padding-left: 16px; }
  .home-preferred .bridal-hero h1 { font-size: 23px; }
}
