.farm-page { --farm-space: clamp(3rem, 7vw, 6rem); }
.farm-site nav [aria-current="page"] { text-decoration: underline; }
.farm-hero { min-height: clamp(27rem, 63svh, 45rem); }
.farm-hero-media { position: absolute; inset: 0; z-index: -2; }
.farm-hero .hero-image { object-position: 62% 44%; }
.farm-hero::after {
  background: linear-gradient(82deg, #102216ed, #102216a6 38%, #10221638 63%, #1022160d);
}
.farm-hero h1 { max-width: none; }
.farm-hero .hero-inner > p:not(.eyebrow) { margin-bottom: 0; font-size: clamp(1.05rem, 2.3vw, 1.4rem); }
.farm-hero .button { margin-top: 1.35rem; }

.farm-about {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 1.5rem clamp(1.5rem, 6vw, 6rem);
  padding-block: var(--farm-space);
}
.farm-about .eyebrow, .farm-history .eyebrow, .farm-archive .eyebrow { color: var(--moss); }
.farm-about p:not(.eyebrow) { max-width: 60ch; margin-block-start: 0; font-size: 1.1rem; }
.farm-about .text-link + .text-link { margin-inline-start: 1.4rem; }
.farm-facts {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 1rem 0 0;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid #202c2430;
}
.farm-facts dt { color: var(--moss); font-size: .88rem; }
.farm-facts dd {
  margin: .35rem 0 0;
  color: var(--forest);
  font-size: clamp(1.35rem, 4vw, 3rem);
  font-weight: 730;
  letter-spacing: -.05em;
}

.farm-history { padding-block: var(--farm-space); background: var(--sand); }
.farm-history > .wrap {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 2.5rem clamp(2rem, 7vw, 7rem);
}
.farm-history header p:not(.eyebrow) { max-width: 35ch; }
.farm-timeline {
  margin: 0;
  padding: 0;
  list-style: none;
  border-inline-start: 1px solid #536a51aa;
}
.farm-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 3.6rem minmax(0, 1fr);
  align-items: baseline;
  gap: .4rem 1rem;
  padding: 0 0 1.7rem clamp(1rem, 3vw, 2rem);
}
.farm-timeline li:last-child { padding-block-end: 0; }
.farm-timeline li::before {
  position: absolute;
  inset: .42em auto auto -.32rem;
  width: .64rem;
  height: .64rem;
  border: 1px solid var(--forest);
  border-radius: 50%;
  background: var(--sand);
  content: "";
}
.farm-timeline time {
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  color: var(--forest);
}
.farm-timeline h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); }
.farm-timeline p { margin: .32rem 0 0; }
.farm-timeline-photo { margin: 1rem 0 0; }
.farm-timeline-photo img { width: 100%; height: auto; }

.farm-archive { padding-block: var(--farm-space) clamp(1rem, 3vw, 2rem); }
.farm-photos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.6vw, 2rem);
  margin-block-start: 2rem;
}
.farm-photos figure { margin: 0; }
.farm-photos img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: var(--sand);
}
.farm-photos figcaption, .farm-timeline-photo figcaption { margin-block-start: .5rem; color: var(--moss); font-size: .9rem; }

@media (min-width: 900px) {
  .farm-history header { position: sticky; top: calc(var(--header-height, 6rem) + 2rem); }
}
@media (max-width: 720px) {
  .farm-hero { min-height: auto; }
  .farm-hero-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    z-index: auto;
  }
  .farm-hero .hero-image {
    position: absolute;
    inset: 50% auto auto -25%;
    width: 135%;
    max-width: none;
    height: auto;
    aspect-ratio: auto;
    transform: translateY(-46%);
  }
  .farm-about, .farm-history > .wrap { grid-template-columns: 1fr; }
  .farm-facts { gap: .75rem; }
  .farm-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
  .farm-timeline li { grid-template-columns: 1fr; }
  .farm-photos { grid-template-columns: 1fr; }
}

@media (forced-colors: none) {
  .farm-about .ink-mark::after { bottom: -.02em; }
  .farm-ink-area::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20' preserveAspectRatio='none'%3E%3Cpath fill='%23aa8046' d='M2 14C40 7 77 4 119 6c41 1 77 4 119-2-38 10-79 7-119 6-43-1-80 3-115 8-3 0-4-3-2-4Z'/%3E%3C/svg%3E");
  }
  .farm-about .farm-ink-sowing::after {
    bottom: -.13em;
    height: .28em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 26' preserveAspectRatio='none'%3E%3Cpath d='M3 9c54-7 105-5 152-2 36 2 58 1 75-2 8-1 9 5 3 8-19 9-91 6-123 5-37-1-68 0-91 3' fill='none' stroke='%23aa8046' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E");
  }
  .farm-ink-team::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20' preserveAspectRatio='none'%3E%3Cpath fill='%23aa8046' d='M2 9c44 5 87 6 125 3 39-3 75-10 111-10-39 3-73 12-112 14-42 3-85 1-124-4-2-1-2-2 0-3Z'/%3E%3C/svg%3E");
  }
}
