/* New York pumpkin patches — harvest poster */
:root {
  --pp-black: #17140f;
  --pp-brown: #4b2615;
  --pp-orange: #e64f12;
  --pp-gold: #f3b51b;
  --pp-green: #235b32;
  --pp-cream: #fff8e8;
  --pp-paper: #f3eee1;
  --pp-white: #ffffff;
  --pp-line: #c7bda9;
  --pp-muted: #665c50;
}

body.pumpkin-patches-page {
  background: var(--pp-paper);
  color: var(--pp-black);
}

.pumpkin-patches-page main {
  padding: 0;
}

.pumpkin-patches-page .site-header {
  background: rgba(243, 238, 225, .97);
  border-bottom-color: #b8aa91;
}

.pumpkin-kicker {
  margin: 0 0 .55rem;
  color: var(--pp-orange);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .145em;
  text-transform: uppercase;
}

/* Full-width harvest hero */
.pumpkin-hero {
  background: var(--pp-black);
}

.pumpkin-hero-image {
  position: relative;
  height: clamp(25rem, 51vw, 43rem);
  overflow: hidden;
  border-bottom: 10px solid var(--pp-gold);
}

.pumpkin-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(23, 20, 15, .46));
  pointer-events: none;
}

.pumpkin-hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pumpkin-title-band {
  position: relative;
  background: var(--pp-orange);
  color: #fff;
}

.pumpkin-title-band::before,
.pumpkin-title-band::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: max(1.25rem, calc((100vw - 82rem) / 2));
  background: var(--pp-black);
}

.pumpkin-title-band::before { left: 0; }
.pumpkin-title-band::after { right: 0; }

.pumpkin-title-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(17rem, .5fr);
  gap: 2rem clamp(2rem, 6vw, 6rem);
  align-items: end;
  max-width: 82rem;
  padding-block: clamp(2rem, 4vw, 3.4rem);
}

.pumpkin-crumb {
  margin: 0 0 1.2rem;
  color: #ffe5cb;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.pumpkin-crumb a {
  color: #fff;
  text-decoration: none;
}

.pumpkin-crumb a:hover {
  text-decoration: underline;
}

.pumpkin-title-band .pumpkin-kicker {
  color: var(--pp-black);
}

.pumpkin-title-band h1 {
  max-width: 13ch;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 6.4vw, 6.5rem);
  line-height: .88;
  letter-spacing: -.05em;
}

.pumpkin-hero-summary {
  padding: 1.15rem 0 0 1.25rem;
  border-top: 5px solid var(--pp-black);
  border-left: 1px solid rgba(255, 255, 255, .45);
}

.pumpkin-hero-summary strong {
  display: block;
  margin-bottom: .45rem;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pumpkin-hero-summary p {
  margin: 0;
  color: #fff3e7;
  font-size: .9rem;
  line-height: 1.55;
}

/* Sibling directories */
.harvest-nav {
  background: var(--pp-black);
  border-bottom: 4px solid var(--pp-green);
}

.harvest-nav-inner {
  display: flex;
  flex-wrap: wrap;
  max-width: 82rem;
}

.harvest-nav-inner > span,
.harvest-nav-inner a {
  display: flex;
  align-items: center;
  min-height: 3.6rem;
  padding: .7rem 1rem;
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.harvest-nav-inner > span {
  padding-left: 0;
  color: var(--pp-gold);
}

.harvest-nav-inner a {
  border-left: 1px solid rgba(255, 255, 255, .19);
  color: #fff;
  text-decoration: none;
}

.harvest-nav-inner a:hover,
.harvest-nav-inner a:focus-visible {
  background: var(--pp-orange);
  color: #fff;
}

/* Practical planning strip */
.harvest-brief {
  display: grid;
  grid-template-columns: 1.15fr repeat(3, 1fr);
  max-width: 82rem;
  padding-block: clamp(3rem, 6vw, 5rem);
}

.harvest-brief > div {
  padding: 0 clamp(1.25rem, 3vw, 2.1rem);
}

.harvest-brief > div:first-child {
  padding-left: 0;
}

.harvest-brief > div + div {
  border-left: 1px solid var(--pp-line);
}

.harvest-brief-title h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--pp-brown);
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  line-height: 1.08;
}

.harvest-fact strong {
  display: block;
  margin-bottom: .65rem;
  color: var(--pp-green);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.harvest-fact p {
  margin: 0;
  color: var(--pp-muted);
  font-size: .9rem;
  line-height: 1.65;
}

/* Directory accordion */
.pumpkin-directory-section {
  max-width: 82rem;
  padding-bottom: clamp(4rem, 7vw, 6.5rem);
}

.pumpkin-directory-head {
  display: grid;
  grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
  gap: 2rem 5rem;
  align-items: end;
  margin-bottom: 1.6rem;
  padding: 1.5rem;
  background: var(--pp-green);
  border-bottom: 8px solid var(--pp-gold);
  color: #fff;
}

.pumpkin-directory-head .pumpkin-kicker {
  color: var(--pp-gold);
}

.pumpkin-directory-head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  line-height: 1;
}

.pumpkin-directory-head > p {
  max-width: 44rem;
  margin: 0;
  color: #e7f0e8;
  line-height: 1.7;
}

.pumpkin-patches-page .directory {
  max-width: none;
}

.pumpkin-patches-page .farm {
  margin-bottom: .68rem;
  background: #fff;
  border: 1px solid #c6baa4;
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
}

.pumpkin-patches-page .farm::before {
  width: 8px;
  background: var(--pp-gold);
}

.pumpkin-patches-page .farm:nth-child(even)::before {
  background: var(--pp-green);
}

.pumpkin-patches-page .farm:hover {
  box-shadow: 6px 6px 0 rgba(75, 38, 21, .13);
}

.pumpkin-patches-page .farm.is-open {
  transform: none;
  border-color: var(--pp-brown);
  box-shadow: 7px 7px 0 var(--pp-brown);
}

.pumpkin-patches-page .farm.is-open::before {
  background: var(--pp-orange);
}

.pumpkin-patches-page .farm-trigger {
  min-height: 78px;
  padding: 1rem 1.2rem 1rem 1.55rem;
}

.pumpkin-patches-page .farm-name {
  color: var(--pp-brown);
  font-size: 1.12rem;
  font-weight: 800;
}

.pumpkin-patches-page .farm-town {
  padding: .34rem .65rem;
  background: var(--pp-black);
  color: #fff;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.pumpkin-patches-page .farm.is-open .farm-trigger {
  background: var(--pp-cream);
}

.pumpkin-patches-page .farm-panel {
  visibility: hidden;
  transition: grid-template-rows .32s var(--ease), visibility .32s;
}

.pumpkin-patches-page .farm.is-open .farm-panel {
  visibility: visible;
}

.pumpkin-patches-page .farm-body {
  padding: 1.2rem 1.45rem 1.55rem;
  border-top-color: var(--pp-line);
}

.pumpkin-patches-page .farm-body > p {
  max-width: 55rem;
}

.pumpkin-patches-page .farm-meta {
  margin-top: 1.2rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--pp-line);
}

.pumpkin-patches-page .farm-meta dt {
  color: var(--pp-orange);
  font-weight: 800;
}

.pumpkin-patches-page .farm-meta a {
  color: var(--pp-green);
  font-weight: 800;
}

/* Bottom guide */
.pumpkin-guide {
  padding-block: clamp(3.5rem, 7vw, 6rem);
  background: var(--pp-brown);
  border-top: 10px solid var(--pp-orange);
  color: #fff;
}

.pumpkin-guide-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 2.5rem clamp(3rem, 8vw, 8rem);
  max-width: 82rem;
}

.pumpkin-guide .pumpkin-kicker {
  color: var(--pp-gold);
}

.pumpkin-guide h2 {
  max-width: 13ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  line-height: 1.03;
}

.pumpkin-guide-copy p {
  color: #f5e8db;
  line-height: 1.78;
}

.pumpkin-guide-copy a {
  color: var(--pp-gold);
  font-weight: 800;
}

.pumpkin-guide-links {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid rgba(255, 255, 255, .35);
}

.pumpkin-guide-links a {
  min-height: 7.5rem;
  padding: 1.2rem;
  color: #f5e8db;
  text-decoration: none;
}

.pumpkin-guide-links a + a {
  border-left: 1px solid rgba(255, 255, 255, .35);
}

.pumpkin-guide-links a:hover,
.pumpkin-guide-links a:focus-visible {
  background: var(--pp-orange);
  color: #fff;
}

.pumpkin-guide-links span {
  display: block;
  margin-bottom: .4rem;
  color: var(--pp-gold);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pumpkin-patches-page .finder-band {
  max-width: 82rem;
  padding-block: 4rem;
}

.pumpkin-patches-page .finder-band h2 {
  color: var(--pp-brown);
}

.pumpkin-patches-page .site-footer {
  border-top-color: var(--pp-line);
}

@media (max-width: 950px) {
  .harvest-brief {
    grid-template-columns: 1fr 1fr;
    gap: 2rem 0;
  }

  .harvest-brief-title {
    grid-row: 1 / span 2;
  }

  .harvest-brief > div:nth-child(3) {
    border-left: 1px solid var(--pp-line);
  }
}

@media (max-width: 760px) {
  .pumpkin-hero-image {
    height: 24rem;
  }

  .pumpkin-title-band::before,
  .pumpkin-title-band::after {
    display: none;
  }

  .pumpkin-title-grid,
  .pumpkin-directory-head,
  .pumpkin-guide-grid {
    grid-template-columns: 1fr;
  }

  .pumpkin-title-grid {
    gap: 1.6rem;
  }

  .pumpkin-title-band h1 {
    max-width: 11ch;
  }

  .harvest-nav-inner > span {
    width: 100%;
    min-height: auto;
    padding: .8rem 0 .45rem;
  }

  .harvest-nav-inner a {
    min-height: 2.9rem;
    padding: .6rem .75rem;
    border-top: 1px solid rgba(255, 255, 255, .19);
    border-left: 0;
  }

  .harvest-brief {
    grid-template-columns: 1fr;
  }

  .harvest-brief-title {
    grid-row: auto;
  }

  .harvest-brief > div,
  .harvest-brief > div:first-child {
    padding: 0 0 1.6rem;
  }

  .harvest-brief > div + div,
  .harvest-brief > div:nth-child(3) {
    padding-top: 1.4rem;
    border-top: 1px solid var(--pp-line);
    border-left: 0;
  }

  .pumpkin-guide-links {
    grid-template-columns: 1fr;
  }

  .pumpkin-guide-links a + a {
    border-top: 1px solid rgba(255, 255, 255, .35);
    border-left: 0;
  }
}

@media (max-width: 540px) {
  .pumpkin-hero-image {
    height: 20rem;
  }

  .pumpkin-patches-page .farm-trigger {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .45rem .75rem;
  }

  .pumpkin-patches-page .farm-town {
    grid-column: 1;
    justify-self: start;
  }

  .pumpkin-patches-page .chev {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pumpkin-patches-page .farm-panel,
  .harvest-nav-inner a,
  .pumpkin-guide-links a {
    transition: none;
  }
}
