/**
 * @file
 * Homepage Hero styles.
 *
 * Desktop: Figma .Hero/Text band (Homepage 29701:77326).
 * Mobile ≤768: Figma .Hero/Text (Homepage 29701:77329) — title overlays
 * the clear lower area of the mobile art (not below the image).
 */

.layout-container {

  .homepage-hero {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    /* DONI-870: intentional — crops absolutely-positioned decorative children. */
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    aspect-ratio: 1440 / 317;
    padding: 40px 0 40px 50%;
  }

  .homepage-hero__media {
    position: absolute;
    inset: 0;
    /* DONI-870: intentional — crops absolutely-positioned decorative children. */
    overflow: hidden;
    pointer-events: none;
  }

  .homepage-hero__media:has(dotlottie-player.homepage-hero__bg--desktop) {
    width: min(2200px, calc(100vw + 760px));
    left: calc(-1 * max(400px, (100% - 100vw) / 2));
  }

  .homepage-hero__bg {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }

  .homepage-hero__bg--mobile {
    display: none;
  }

  .homepage-hero__title {
    position: relative;
    max-width: 515px;
    margin: 0;
    color: #010101;
    font-family: var(--font-tilt-neon);
    font-size: 32px;
    font-weight: var(--font-weight-normal);
    letter-spacing: 0.64px;
    line-height: 1.19;
  }

  /* Tablet: keep desktop layout, ease title so it stays on the clear half. */
  @media (max-width: 1024px) and (min-width: 769px) {

    .homepage-hero {
      padding: 32px 24px 32px 48%;
    }

    .homepage-hero__title {
      font-size: 28px;
    }
  }


  @media (max-width: 768px) {

    .homepage-hero {
      display: block;
      aspect-ratio: auto;
      max-height: none;
      padding: 0;
      text-align: center;
    }

    .homepage-hero__media {
      position: relative;
      inset: auto;
    }

    .homepage-hero__media:has(dotlottie-player.homepage-hero__bg--desktop) {
      width: auto;
      left: unset;
    }

    .homepage-hero__bg--desktop {
      display: none;
    }

    .homepage-hero__bg--mobile {
      position: static;
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
      object-position: top center;
    }

    .homepage-hero__media:not(:has(.homepage-hero__bg--mobile)) .homepage-hero__bg--desktop {
      position: static;
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
    }

    .homepage-hero__title {
      position: absolute;
      right: 0;
      left: 0;
      z-index: 1;
      max-width: none;
      width: auto;
      padding: 0 31px;
      font-size: 24px;
      letter-spacing: 0.48px;
      text-align: center;
      bottom: 17%;
    }
  }

  @media (max-width: 520px) {
    .homepage-hero__media {
      height: 78vw !important;
    }
  }

  @media (min-width: 521px) and (max-width: 768px) {
    .homepage-hero__media {
      height: 74vw !important;
    }
  }
}

@media (min-width: 768px) {
  .home-hero-section .homepage-hero__title {
    margin-left: -70px;
  }
}

@media (min-width: 1025px) {
  .home-hero-section .homepage-hero__title {
    margin-left: -100px;
  }
}
