/* Campaign photographs match the established About page photo cards. */
.home-gallery {
  /* Scoped fallbacks also support the older production token set. */
  --gallery-paper: var(--paper, #F5EEE0);
  --gallery-offset: color-mix(in srgb, var(--burgundy-700) 12%, var(--gallery-paper));
  --gallery-caption-size: var(--text-lg, 1.125rem);
  --gallery-heading-size: var(--display-4, clamp(28px, 4vw, 48px));
  --gallery-leading: var(--leading-body, 1.6);
  --gallery-heading-leading: .98;
  --gallery-tracking: -.045em;
  --gallery-width: 1280px;
  --gallery-mobile-width: 520px;
  --gallery-rule: 1px;
  --gallery-focus: 2px;
}
.home-gallery {
  background: var(--gallery-paper);
  color: var(--burgundy-700);
  padding: var(--space-16) 0 var(--space-20);
  scroll-margin-top: var(--space-32);
}

.home-gallery > .container {
  max-width: var(--gallery-width);
}

.home-gallery .home-gallery__heading {
  margin: 0 0 var(--space-12);
  color: var(--burgundy-700);
  font-family: var(--font-display);
  font-size: var(--gallery-heading-size);
  font-weight: 900;
  line-height: var(--gallery-heading-leading);
  letter-spacing: var(--gallery-tracking);
  text-transform: none;
}

.home-gallery__photos {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: start;
  gap: var(--space-12) var(--space-12);
  padding: var(--space-3) var(--space-3) var(--space-4);
}

.home-gallery .home-gallery__card {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: var(--white, #fff);
  color: var(--ink, #1A1614);
  border: 0;
  border-top: var(--space-2) solid var(--burgundy-700);
  box-shadow: var(--space-2) var(--space-2) 0 var(--gallery-offset);
  text-decoration: none;
}

.home-gallery__card:nth-child(2) { margin-top: var(--space-16); }
.home-gallery__card:nth-child(3) { width: 94%; }
.home-gallery__card:nth-child(4) { margin-top: var(--space-6); }
.home-gallery__card:nth-child(even) { border-top-color: var(--green-pine); }
.home-gallery__card img { display: block; width: 100%; height: auto; }

.home-gallery__card figcaption {
  padding: var(--space-4) var(--space-5);
  font-family: var(--font-body);
  font-size: var(--gallery-caption-size);
  line-height: var(--gallery-leading);
}
.home-gallery .home-gallery__name {
  color: var(--burgundy-700);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .15em;
  text-decoration-thickness: var(--gallery-rule);
}
.home-gallery .home-gallery__name:hover { color: var(--green-pine); }
.home-gallery__name:focus-visible { outline: var(--gallery-focus) solid var(--green-pine); outline-offset: var(--space-1); }

@media (min-width: 761px) and (max-width: 1000px) {
  .home-gallery__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
  .home-gallery__card figcaption { padding-inline: var(--space-5); }
  .home-gallery__card:nth-child(3) { width: 100%; margin-top: 0; }
}

@media (max-width: 760px) {
  .home-gallery { padding: var(--space-10) 0 var(--space-12); }
  .home-gallery .home-gallery__heading { margin-bottom: var(--space-8); }
  .home-gallery__photos { grid-template-columns: minmax(0, 1fr); gap: var(--space-10); max-width: var(--gallery-mobile-width); margin: auto; padding-inline: var(--space-2); }
  .home-gallery .home-gallery__card { margin-top: 0; width: 100%; padding: 0; box-shadow: var(--space-1) var(--space-1) 0 var(--gallery-offset); }
  .home-gallery__card figcaption { padding: var(--space-3) var(--space-4); }
}

@media print {
  .home-gallery__card { transform: none; box-shadow: none; break-inside: avoid; }
}
