
  .ice-feature-gallery {
    --ice-bg: #fbfaf8;
    --ice-ink: #ffffff;
    --ice-shadow: 0 18px 42px rgba(18, 16, 12, 0.12);
    --ice-shadow-hover: 0 28px 62px rgba(18, 16, 12, 0.18);

    background: var(--ice-bg);
    padding: clamp(34px, 5vw, 72px) 20px;
  }

  .ice-feature-gallery__inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(22px, 2.6vw, 34px);
    align-items: start;
  }

  .ice-feature-gallery__column {
    display: grid;
    gap: clamp(22px, 2.6vw, 34px);
  }

  .ice-feature-card {
    position: relative;
    display: block;
    overflow: hidden;
    isolation: isolate;
    border-radius: 10px;
    background: #070707;
    box-shadow: var(--ice-shadow);
  }

  .ice-feature-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, 0.58) 100%),
      radial-gradient(circle at 50% 80%, rgba(255, 255, 255, 0.18), transparent 34%);
    pointer-events: none;
  }

  .ice-feature-card__media {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform 700ms ease, filter 700ms ease;
  }

  .ice-feature-card__label {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    color: var(--ice-ink);
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: 0;
    text-align: center;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.6);
  }

  .ice-feature-card--portrait {
    aspect-ratio: 3 / 4;
  }

  .ice-feature-card--wide {
    aspect-ratio: 16 / 9;
  }

  .ice-feature-card--landscape {
    aspect-ratio: 4 / 3;
  }

  .ice-feature-card:hover {
    box-shadow: var(--ice-shadow-hover);
  }

  .ice-feature-card:hover .ice-feature-card__media {
    transform: scale(1.055);
    filter: saturate(1.06) contrast(1.04);
  }

  @media (prefers-reduced-motion: reduce) {
    .ice-feature-card__media {
      transition: none;
    }
  }

  @media (max-width: 900px) {
    .ice-feature-gallery {
      padding: 30px 16px;
    }

    .ice-feature-gallery__inner {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .ice-feature-gallery__column {
      gap: 22px;
    }

    .ice-feature-card__label {
      left: 18px;
      right: 18px;
      bottom: 18px;
      font-size: clamp(18px, 5.6vw, 26px);
    }
  }
