/* 拾光伴学品牌图片：作为图文内容展示，不标注为某一家本地门店的实景。 */
.editorial-photo { min-width: 0; margin: 0; }
.editorial-photo[id], #photo-story-title { scroll-margin-top: 94px; }
.editorial-photo .photo-frame {
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
  aspect-ratio: 16 / 10;
  background: #f2e7da;
  box-shadow: 0 16px 35px rgba(53, 37, 30, .12);
}
.editorial-photo .photo-frame img,
.prose .editorial-photo .photo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
}
.editorial-photo figcaption {
  margin-top: 9px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.editorial-photo figcaption a { color: var(--amber-deep); text-decoration: underline; }
.photo-source,
.prose .photo-source {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.photo-story-section { background: #fffaf3; }
.photo-story-layout {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(26px, 5vw, 70px);
}
.photo-story-copy h2 {
  margin: 14px 0 18px;
  font-size: clamp(28px, 3.5vw, 42px);
  line-height: 1.22;
}
.photo-story-copy > p:not(.kicker) {
  margin-bottom: 24px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.8;
}
.photo-story-feature .photo-frame { aspect-ratio: 2.25 / 1; }
.photo-story-feature img { object-position: 65% center; }
.photo-story-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 26px;
}
.photo-story-pair .photo-frame { aspect-ratio: 16 / 9; }
.photo-story-pair img { object-position: center 42%; }

.prose .photo-banner,
.prose .photo-steps-banner,
.prose .photo-system-banner,
.prose .photo-team-banner { margin: 26px 0 20px; }
.photo-banner .photo-frame { aspect-ratio: 2.4 / 1; }
.photo-banner img { object-position: left center; transform: scale(1.1); transform-origin: left center; }
.photo-grid-three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 0;
}
.photo-grid-three .photo-frame { aspect-ratio: 4 / 3; border-radius: 14px; }
.photo-grid-three img { object-position: center center; }
.photo-crop-promo img { transform: scale(1.38); transform-origin: left center; }
.photo-steps-banner .photo-frame { aspect-ratio: 2.55 / 1; }
.photo-steps-banner img { object-position: center 30%; }
.photo-system-banner .photo-frame { aspect-ratio: 2.6 / 1; }
.photo-system-banner img { object-position: right center; }
.photo-team-banner .photo-frame { aspect-ratio: 2.35 / 1; }
.photo-team-banner img { object-position: center 58%; }

@media (max-width: 860px) {
  .photo-story-layout { grid-template-columns: 1fr; gap: 22px; }
  .photo-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .photo-story-pair, .photo-grid-three { grid-template-columns: 1fr; gap: 20px; }
  .photo-story-feature .photo-frame { aspect-ratio: 16 / 10; }
  .photo-story-pair .photo-frame { aspect-ratio: 4 / 3; }
  .photo-banner .photo-frame { aspect-ratio: 16 / 9; }
  .photo-steps-banner .photo-frame { aspect-ratio: 16 / 9; }
  .photo-system-banner .photo-frame { aspect-ratio: 16 / 9; }
  .photo-team-banner .photo-frame { aspect-ratio: 16 / 9; }
}
