.hf-editorial-gallery {
    padding: 40px;
    background: #efefef;
  }
  
  .hf-editorial-gallery__grid {
    display: grid;
    grid-template-columns: 1.15fr 1.15fr 1.15fr 0.9fr;
    grid-template-rows: 270px 270px;
    gap: 20px;
  }
  
  .hf-editorial-gallery__card {
    position: relative;
    overflow: hidden;
    background: #111;
  }
  
  .hf-editorial-gallery__card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.72);
    transition: transform .6s ease, filter .4s ease;
  }
  
  .hf-editorial-gallery__card:hover img {
    transform: scale(1.05);
    filter: brightness(0.85);
  }
  
  .hf-editorial-gallery__indicator {
    position: absolute;
    left: 28px;
    bottom: 28px;
    width: 5px;
    height: 5px;
    background: #fff;
    border-radius: 50%;
  }
  
  /* Layout */
  
  .hf-editorial-gallery__card--hero {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
  
  .hf-editorial-gallery__card--vertical {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }
  
  .hf-editorial-gallery__card--narrow {
    grid-column: 4 / 5;
    grid-row: 1 / 2;
  }
  
  .hf-editorial-gallery__card--square-left {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  
  .hf-editorial-gallery__card--square-center {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
  
  .hf-editorial-gallery__card--square-right {
    grid-column: 4 / 5;
    grid-row: 2 / 3;
  }

  /* Пропорциональное масштабирование на десктопе */
  @media (min-width: 1121px) {
    .hf-editorial-gallery__grid {
      grid-template-rows: auto auto;
    }

    .hf-editorial-gallery__card {
      min-height: 0;
    }

    .hf-editorial-gallery__card--hero {
      aspect-ratio: 2.11 / 1;
    }

    .hf-editorial-gallery__card--vertical {
      aspect-ratio: 0.9 / 1.89;
    }

    .hf-editorial-gallery__card--narrow {
      aspect-ratio: 0.77 / 1;
    }

    .hf-editorial-gallery__card--square-left,
    .hf-editorial-gallery__card--square-center {
      aspect-ratio: 0.98 / 1;
    }

    .hf-editorial-gallery__card--square-right {
      aspect-ratio: 0.767 / 1;
    }
  }