.features-block__title {
     margin: 0 0 22px;
     color: #555558;
 }

 .features-block__grid {
     display: grid;
     grid-template-columns: repeat(3, minmax(240px, 1fr));
     gap: 24px;
     padding: 0;
     margin: 0;
 }

 .features-block__item {
     list-style: none;
     min-width: 0;
 }

 .features-block__item::before {
     content: none;
 }

 .features-block__item--hidden {
     display: none;
 }

 .features-block__media {
     background: #f3f3f3;
     aspect-ratio: 16 / 10;
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
     border-radius: 0;
     margin-bottom: 14px;
 }

 .features-block__image {
     width: 100%;
     height: 100%;
     object-fit: contain;
     display: block;
 }

 .features-block__image--cover {
     object-fit: cover;
 }

 .features-block__item-title {
     margin: 0 0 8px;
     min-height: 53px;
     color: #555558;
 }

 .features-block__item-text {
     margin: 0;
     color: #555558;
 }

 .features-block__footer {
     margin-top: 16px;
     display: flex;
     justify-content: center;
 }

 .features-block__button {
     min-width: 360px;
     border: 0;
     border-radius: 0;
     background: black;
     color: #fff;
     text-transform: uppercase;
     line-height: 1;
     letter-spacing: 0.04em;
     padding: 20px 28px;
     cursor: pointer;
     transition: background-color 0.2s ease;
 }

 .features-block__button:hover {
     background: #202020;
 }

 .features-block__button[hidden] {
     display: none;
 }

 @media (max-width: 1200px) {
     .features-block__button {
         min-width: 270px;
     }
 }

 @media (max-width: 860px) {
     .features-block__grid {
         grid-template-columns: repeat(2, minmax(220px, 1fr));
     }
 }

 @media (max-width: 580px) {
     .features-block {
         margin: 24px auto;
     }

     .features-block__grid {
         grid-template-columns: 1fr;
     }
 }