.factory-gallery { padding: 88px 0; background: #ece8df; scroll-margin-top: 90px; }
.factory-gallery__heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 38px; }
.factory-gallery h2 { font-family: var(--serif); font-size: clamp(32px, 3.8vw, 52px); font-weight: 400; line-height: 1.2; margin: 16px 0 0; }
.factory-gallery__intro { max-width: 28em; color: var(--ink-soft); font-size: 14px; line-height: 1.85; margin: 0; }
.factory-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.factory-gallery figure { margin: 0; min-width: 0; }
.factory-gallery__photo { display: block; background: #d8d5cd; }
.factory-gallery__photo:focus-visible { outline: 3px solid var(--copper); outline-offset: 5px; }
.factory-gallery img { display: block; width: 100%; height: auto; }
.factory-gallery figcaption { padding: 18px 0 0; border-bottom: 1px solid var(--line); }
.factory-gallery figcaption strong { display: block; font-size: 18px; line-height: 1.5; font-weight: 500; }
.factory-gallery figcaption p { color: var(--ink-soft); font-size: 13px; line-height: 1.8; margin: 8px 0 22px; }
.factory-gallery__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 32px; }
.factory-gallery__footer p { color: var(--ink-soft); font-size: 12px; line-height: 1.8; margin: 0; }
.factory-gallery__footer a { font-size: 13px; text-underline-offset: 5px; }
@media (max-width: 800px) {
  .factory-gallery { padding: 60px 0; }
  .factory-gallery__heading { display: block; }
  .factory-gallery__intro { margin-top: 22px; max-width: 42em; }
  .factory-gallery__grid { gap: 28px 22px; }
}
@media (max-width: 560px) {
  .factory-gallery__grid { grid-template-columns: 1fr; }
  .factory-gallery h2 { font-size: 34px; }
}
