.farm-story {
  padding: 7rem clamp(1.5rem, 7vw, 7rem);
  background: var(--paper);
}

.farm-story-copy {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(340px, 1.15fr);
  gap: 1rem 7vw;
  align-items: end;
  margin-bottom: 3rem;
}

.farm-story-copy .eyebrow,
.farm-story-copy h2 { grid-column: 1; }
.farm-story-copy > p:last-child { grid-column: 2; grid-row: 1 / span 2; font-size: 1.12rem; max-width: 620px; margin: 0; }

.farm-gallery {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-template-rows: repeat(2, 260px);
  gap: .8rem;
}

.farm-gallery figure { margin: 0; position: relative; overflow: hidden; background: #222; }
.farm-gallery .farm-main { grid-row: 1 / span 2; }
.farm-gallery figure:last-child { grid-column: 2 / span 2; }
.farm-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .4s ease; }
.farm-gallery figure:hover img { transform: scale(1.025); }
.farm-gallery figcaption { position: absolute; left: .8rem; bottom: .8rem; background: rgba(18,20,15,.82); color: white; padding: .45rem .65rem; font-size: .74rem; font-weight: 700; }

@media (max-width: 850px) {
  .farm-story-copy { display: block; }
  .farm-story-copy > p:last-child { margin-top: 1.25rem; }
  .farm-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 320px 220px 220px; }
  .farm-gallery .farm-main { grid-column: 1 / -1; grid-row: 1; }
  .farm-gallery figure:last-child { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .farm-story { padding-top: 5rem; padding-bottom: 5rem; }
  .farm-gallery { display: block; }
  .farm-gallery figure { height: 260px; margin-top: .75rem; }
}
