/* Real-event records are supplementary context, not evidence of a specific result. */
.home-page .photo-records {
  order: 45;
  background: #fffdfa;
}

.photo-records .section-intro {
  max-width: 810px;
  margin-bottom: clamp(28px, 3.5vw, 48px);
}

.photo-records__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(14px, 1.7vw, 24px);
}

.photo-record {
  grid-column: span 2;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--line);
  background: #faf9f5;
}

.photo-record:nth-child(n+4) {
  grid-column: span 3;
}

.photo-record:nth-child(n+4) .photo-record__image {
  aspect-ratio: 16 / 10;
}

.photo-record .photo-record__image--group {
  aspect-ratio: 1593 / 987;
}

.photo-record__image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #d9deda;
}

.photo-record__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-record__image--workshop {
  background: #e7e9e4;
}

.photo-record__image--workshop img {
  object-fit: contain;
}

.photo-record:nth-child(3) img,
.photo-record:nth-child(4) img {
  object-position: 50% 30%;
}

.photo-record figcaption {
  min-height: 96px;
  padding: 16px 17px 18px;
}

.photo-record figcaption span {
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
}

.photo-record figcaption p {
  margin: 8px 0 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.55;
}

@media (max-width: 1080px) {
  .photo-records__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .photo-record,
  .photo-record:nth-child(n+4) { grid-column: span 1; }
  .photo-record:last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .home-page .home-hero { display: flex; flex-direction: column; }
  .home-page .home-hero__inner { order: 1; }
  .home-page .home-hero__media {
    display: block;
    position: relative;
    order: 2;
    z-index: 0;
    inset: auto;
    width: 100%;
    height: min(60vw, 520px);
    min-height: 320px;
  }
  .home-page .home-hero__media::before { display: none; }
  .home-page .home-hero__media img { object-position: center 42%; }
}

@media (max-width: 700px) {
  .home-page .home-hero__media { height: 72vw; min-height: 0; }
  .photo-records__grid { gap: 12px; }
  .photo-record figcaption { min-height: 0; padding: 13px; }
  .photo-record figcaption p { font-size: 12px; }
}

@media (max-width: 520px) {
  .photo-records__grid { grid-template-columns: 1fr; }
  .photo-record__image { aspect-ratio: 16 / 10; }
  .photo-record__image--workshop { aspect-ratio: 4 / 3; }
}
