.home-advantages {
  background: var(--color-bg);
}

.home-advantages__heading {
  position: relative;
  max-width: 760px;
  margin: 0 auto clamp(34px, 4vw, 56px);
  padding-bottom: 22px;
  text-align: center;
}

.home-advantages__heading h2 {
  margin-bottom: 14px;
  color: var(--color-primary);
  font-size: var(--font-size-heading-2);
}

.home-advantages__heading p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-body);
  line-height: 1.8;
}

.home-advantages__rule {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 72px;
  height: 2px;
  background: var(--color-accent);
  transform: translateX(-50%);
}

.home-advantages__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  min-height: clamp(600px, 50vw, 680px);
  overflow: hidden;
  background: var(--color-bg-dark);
}

.home-advantages__card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--color-bg-dark);
  isolation: isolate;
  outline: none;
}

.home-advantages__media,
.home-advantages__shade {
  position: absolute;
  inset: 0;
}

.home-advantages__media {
  z-index: -2;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1.01);
  transition: transform 600ms ease;
}

.home-advantages__card:nth-child(1) .home-advantages__media {
  background-position: center 42%;
}

.home-advantages__card:nth-child(2) .home-advantages__media {
  background-position: center 38%;
}

.home-advantages__card:nth-child(3) .home-advantages__media,
.home-advantages__card:nth-child(4) .home-advantages__media {
  background-position: center;
}

.home-advantages__shade {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(var(--brand-aubergine-rgb), 0.08) 20%, rgba(var(--brand-aubergine-rgb), 0.72) 100%),
    rgba(var(--brand-aubergine-rgb), 0.16);
  transition: background-color 350ms ease;
}

.home-advantages__content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: clamp(28px, 3vw, 44px);
  color: var(--color-text-inverse);
}

.home-advantages__content h3 {
  margin: 0;
  color: inherit;
  font-size: clamp(21px, 1.9vw, 28px);
  font-weight: 600;
  line-height: 1.35;
}

.home-advantages__accent {
  display: block;
  width: 42px;
  height: 2px;
  margin: 16px 0 0;
  background: var(--color-accent);
  transform: scaleX(0.58);
  transform-origin: left center;
  transition: transform 350ms ease;
}

.home-advantages__content p {
  max-width: 52ch;
  max-height: 0;
  margin: 0;
  overflow: hidden;
  color: var(--color-text-inverse);
  font-size: var(--font-size-body);
  line-height: 1.8;
  opacity: 0;
  transform: translateY(18px);
  transition:
    max-height 450ms ease,
    margin-top 350ms ease,
    opacity 300ms ease,
    transform 350ms ease;
}

.home-advantages__card:hover .home-advantages__media,
.home-advantages__card:focus .home-advantages__media,
.home-advantages__card:focus-visible .home-advantages__media {
  transform: scale(1.055);
}

.home-advantages__card:hover .home-advantages__shade,
.home-advantages__card:focus .home-advantages__shade,
.home-advantages__card:focus-visible .home-advantages__shade {
  background-color: rgba(var(--brand-aubergine-rgb), 0.42);
}

.home-advantages__card:hover .home-advantages__accent,
.home-advantages__card:focus .home-advantages__accent,
.home-advantages__card:focus-visible .home-advantages__accent {
  transform: scaleX(1);
}

.home-advantages__card:hover .home-advantages__content p,
.home-advantages__card:focus .home-advantages__content p,
.home-advantages__card:focus-visible .home-advantages__content p {
  max-height: 210px;
  margin-top: 16px;
  opacity: 1;
  transform: translateY(0);
}

.home-advantages__card:focus-visible {
  z-index: 2;
  outline: 3px solid var(--color-focus);
  outline-offset: -3px;
}

@media (max-width: 991px) {
  .home-advantages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(320px, 42vw));
    min-height: 0;
    height: auto;
  }
}

@media (max-width: 575px) {
  .home-advantages__heading {
    margin-bottom: 30px;
    padding-bottom: 18px;
  }

  .home-advantages__grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .home-advantages__card {
    grid-column: auto;
    grid-row: auto;
    min-height: clamp(350px, 108vw, 430px);
  }

  .home-advantages__content {
    padding: 26px 24px;
  }

  .home-advantages__content h3 {
    font-size: 21px;
  }

  .home-advantages__accent {
    transform: scaleX(1);
  }

  .home-advantages__content p {
    max-height: 180px;
    margin-top: 14px;
    opacity: 1;
    transform: none;
  }

  .home-advantages__card:nth-child(3) .home-advantages__media,
  .home-advantages__card:nth-child(4) .home-advantages__media {
    background-position: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-advantages__media,
  .home-advantages__shade,
  .home-advantages__accent,
  .home-advantages__content p {
    transition: none;
  }
}

/* Full copy determines card height; the closed state slides the text out of view. */
.home-advantages__grid {
  grid-template-rows: repeat(2, minmax(min-content, 1fr));
}

.home-advantages__card {
  display: flex;
  align-items: flex-end;
}

.home-advantages__content {
  position: relative;
  width: 100%;
  transition: transform 450ms ease;
}

.home-advantages__content p,
.home-advantages__card:hover .home-advantages__content p,
.home-advantages__card:focus .home-advantages__content p,
.home-advantages__card:focus-visible .home-advantages__content p {
  max-height: none;
  margin-top: 16px;
  opacity: 1;
  transform: none;
}

@media (min-width: 576px) {
  .home-advantages--measured .home-advantages__content {
    transform: translateY(var(--advantage-copy-offset, 0px));
  }

  .home-advantages--measured .home-advantages__content p {
    opacity: 0;
  }

  .home-advantages--measured .home-advantages__card:hover .home-advantages__content,
  .home-advantages--measured .home-advantages__card:focus .home-advantages__content,
  .home-advantages--measured .home-advantages__card:focus-visible .home-advantages__content {
    transform: none;
  }

  .home-advantages--measured .home-advantages__card:hover .home-advantages__content p,
  .home-advantages--measured .home-advantages__card:focus .home-advantages__content p,
  .home-advantages--measured .home-advantages__card:focus-visible .home-advantages__content p {
    opacity: 1;
  }
}

@media (max-width: 575px) {
  .home-advantages__grid { grid-template-rows: none; }
  .home-advantages__card { min-height: 350px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-advantages__content { transition: none; }
}
