.page-mainpage-grid{ display:flex; gap:30px; align-items:stretch; }
.page-mainpage__content{ flex:1 1 60%; }
.page-mainpage__image{ flex:0 0 40%; display:flex; align-items:center; justify-content:center; }
.page-side-image{ width:100%; max-width:560px; }
.page-side-image__img{ width:100%; height:auto; display:block; border-radius:6px; object-fit:cover; }

@media (max-width: 768px){
  .page-mainpage-grid{ flex-direction:column; gap:18px; }
  .page-mainpage__image, .page-mainpage__content{ flex-basis:100%; }
  .page-side-image{ max-width:100%; }
}
