.hero-image {
  background-image: url("brackenfields-action.png");
  background-position: center 52%;
}

.about-photo {
  margin: 38px 0 0;
  overflow: hidden;
}

.about-photo img {
  width: 100%;
  max-height: 570px;
  object-fit: cover;
  object-position: center 35%;
}

.instagram-section {
  padding: clamp(85px, 10vw, 140px) clamp(24px, 5vw, 80px);
  background: var(--paper);
}

.instagram-heading {
  max-width: 1500px;
  margin: 0 auto 45px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(35px, 8vw, 120px);
  align-items: end;
}

.instagram-heading h2 { margin-bottom: 0; }
.instagram-heading > div:last-child > p { color: var(--muted); max-width: 640px; }

.instagram-link {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--green);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid var(--gold);
  padding: 5px 0 8px;
}

.instagram-link svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.instagram-link b { font-size: 1rem; color: var(--gold); }

.instagram-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  max-width: 1500px;
  margin: auto;
  text-decoration: none;
}

.instagram-grid figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: var(--green);
  aspect-ratio: 1;
}

.instagram-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s, opacity .4s; }
.instagram-grid figure::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(0,25,17,.78)); }
.instagram-grid figcaption { position: absolute; z-index: 2; left: 20px; bottom: 16px; color: #fff; font: 600 .72rem var(--sans); text-transform: uppercase; letter-spacing: .12em; }
.instagram-grid:hover img { opacity: .86; }
.instagram-grid figure:hover img { transform: scale(1.04); opacity: 1; }
.instagram-note { max-width: 1500px; margin: 14px auto 0; color: var(--muted); font-size: .72rem; }
.instagram-note a { color: inherit; text-decoration-color: rgba(7,59,42,.28); text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }
.instagram-note a:hover,.instagram-note a:focus-visible { color: var(--green); text-decoration-color: var(--gold); }
.footer-instagram { color: var(--gold); text-decoration: none; font-weight: 600; }

@media (max-width: 1000px) {
  .instagram-heading { grid-template-columns: 1fr; gap: 35px; }
  .instagram-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
  .hero-image { background-position: 58% center; }
  .about-photo img { max-height: 500px; }
  .instagram-section { padding: 80px 16px; }
  .instagram-grid { grid-template-columns: 1fr; gap: 7px; }
  .instagram-grid figure { aspect-ratio: 16 / 10; }
  .instagram-grid figcaption { left: 12px; bottom: 10px; font-size: .61rem; }
  footer .footer-instagram { width: 100%; }
}
