.shell { width: min(1180px, calc(100% - 48px)); }

.hero { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(42px, 6vw, 78px); align-items: center; padding: 80px 0 82px; }
.hero-content { min-width: 0; }
.hero-photo { position: relative; justify-self: end; width: clamp(280px, 22vw, 340px); aspect-ratio: .72; margin: 0; overflow: hidden; border-radius: 120px 120px 16px 16px; background: #ded7cb; }
.hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% center; }

.media-frame { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.media-frame img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }

/* Tier 1: Re:mind */
.gallery-remind { grid-template-columns: 1fr 1fr; grid-template-rows: 470px 300px; gap: 14px; }
.gallery-remind .remind-primary { grid-column: 1 / -1; }
.gallery-remind .remind-primary img, .gallery-remind .remind-form img, .gallery-remind .remind-report img { object-fit: contain; }

/* Tier 2: Reflector */
.reflector-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 420px 285px; gap: 14px; }
.reflector-gallery .reflector-chat { grid-column: 1 / -1; }
.reflector-gallery img { object-fit: contain; }

/* Tier 3: compact product cards */
.dabida-gallery { grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); }
.dabida-gallery .media-frame { height: 270px; }
.dabida-gallery .media-frame:first-child img { object-fit: cover; object-position: center 8%; transform: scale(1.045); }
.dabida-gallery .media-frame:last-child img { object-fit: contain; object-position: center; transform: none; }

.ukha-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 142px 142px; gap: 10px; }
.ukha-gallery .ukha-wide { grid-column: 1 / -1; }
.ukha-gallery img { object-fit: cover; }
.ukha-gallery .ukha-wide img { object-position: center 47%; }
.ukha-gallery .media-frame:nth-child(2) img { object-position: center 55%; }
.ukha-gallery .media-frame:nth-child(3) img { object-position: center 42%; }

/* Research figures stay complete but use the available card width. */
.research-card { display: flex; flex-direction: column; padding: 14px; }
.research-placeholder { width: 100%; aspect-ratio: 1.35; margin-bottom: 20px; border-radius: 12px; }
.research-placeholder img { object-fit: contain; }
.research-card .strong-link { margin-top: auto; }

/* Recognition remains supporting proof while making the people and awards legible. */
.bottom-grid { grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: 46px; }
.recognition-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.recognition-gallery figure { height: 340px; margin: 0; overflow: hidden; border-radius: 12px; background: #ded7cb; }
.recognition-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.recognition-gallery figure:nth-child(1) img { object-position: 52% center; }
.recognition-gallery figure:nth-child(2) img { object-position: center 38%; transform: scale(1.05); }
.recognition-gallery figure:nth-child(3) img { object-position: 50% 42%; transform: scale(1.15); }

@media (max-width: 1024px) {
  .hero { grid-template-columns: minmax(0, 1fr) 290px; gap: 34px; }
  .hero-photo { width: 290px; }
  .gallery-remind { grid-template-columns: 1fr 1fr; grid-template-rows: 400px 270px; }
  .reflector-gallery { grid-template-rows: 355px 245px; }
  .recognition-gallery figure { height: 300px; }
  .bottom-grid { grid-template-columns: minmax(0, 1.45fr) minmax(240px, .55fr); gap: 32px; }
}

@media (max-width: 900px) {
  .shell { width: min(100% - 32px, 1180px); }
  .hero { grid-template-columns: minmax(0, 1fr) 230px; gap: 30px; padding: 70px 0; }
  .hero-photo { width: 230px; }
  .gallery-remind { grid-template-columns: 1fr 1fr; grid-template-rows: 350px 240px; }
  .reflector-gallery { grid-template-rows: 310px 215px; }
  .bottom-grid { grid-template-columns: 1fr; }
  .recognition-gallery figure { height: 360px; }
}

@media (max-width: 620px) {
  .hero { grid-template-columns: 1fr; }
  .hero-photo { justify-self: start; width: min(100%, 300px); border-radius: 100px 100px 14px 14px; }
  .gallery-remind, .reflector-gallery, .ukha-gallery { grid-template-columns: 1fr; grid-template-rows: none; }
  .gallery-remind .remind-primary, .reflector-gallery .reflector-chat, .ukha-gallery .ukha-wide { grid-column: auto; grid-row: auto; }
  .gallery-remind .remind-primary, .gallery-remind .remind-form, .gallery-remind .remind-report, .reflector-gallery .media-frame, .ukha-gallery .media-frame { aspect-ratio: 16 / 10; }
  .reflector-gallery .reflector-chat { aspect-ratio: 4 / 3; }
  .dabida-gallery { grid-template-columns: minmax(0, 2.7fr) minmax(90px, 1fr); }
  .dabida-gallery .media-frame { height: 220px; }
  .recognition-gallery { grid-template-columns: 1fr; }
  .recognition-gallery figure { height: min(460px, 125vw); }
}
