/* The offer images are portraits: show their natural composition, not a narrow slice. */
.session-row {
  grid-template-columns: 48px minmax(0, 1fr) minmax(125px, .55fr) 150px 34px;
  gap: clamp(16px, 2.2vw, 30px);
  min-height: 222px;
  padding: 22px 0;
}
.session-row h3 { min-width: 0; font-size: clamp(30px, 3.5vw, 49px); line-height: 1.15; }
.session-thumb {
  width: 150px;
  height: auto;
  aspect-ratio: 0.72;
  border-radius: 10px;
  background: #222;
}
.session-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; transition: transform .5s ease; }
.session-row:hover .session-thumb img { transform: scale(1.025); }
.session-row:nth-child(2) .session-thumb img { object-position: center 40%; }
.session-row:nth-child(3) .session-thumb img { object-position: center 43%; }
.session-row:nth-child(4) .session-thumb img { object-position: center 36%; }
.session-row:nth-child(5) .session-thumb img { object-position: center 43%; }
@media (max-width: 1000px) and (min-width: 761px) {
  .session-row { grid-template-columns: 36px minmax(0,1fr) minmax(90px,.5fr) 125px 28px; gap: 18px; min-height: 190px; }
  .session-thumb { width: 125px; }
}
@media (max-width: 760px) {
  .session-row { grid-template-columns: 22px minmax(0,1fr) clamp(88px, 27vw, 125px) 20px; gap: 10px; min-height: 0; padding: 20px 0; }
  .session-row h3 { font-size: clamp(20px, 6vw, 30px); line-height: 1.12; overflow-wrap: normal; }
  .session-thumb { width: 100%; height: auto; aspect-ratio: 0.72; border-radius: 8px; }
}
@media (prefers-reduced-motion: reduce) { .session-thumb img { transition: none; } .session-row:hover .session-thumb img { transform: none; } }
