/* Keep the chapter strip above the map section’s extended cream backdrop. */
.place-band { z-index: 1; }
/* The woodland pause follows the bedrooms; the cream information chapter
   scrolls over it. The gallery and booking keep their dark-green ending. */
.inside-band.inside-band-editorial:not(.booking-band) { background: #1b211d; color: #f0ebde; }
.inside-band.inside-band-editorial:not(.booking-band) .band-number,
.inside-band.inside-band-editorial:not(.booking-band) .band-title { color: #f0ebde; }
.inside-band.inside-band-editorial:not(.booking-band) .band-context { color: rgba(240, 235, 222, .72); }
.inside-band.inside-band-editorial:not(.booking-band) .band-dot { color: rgba(240, 235, 222, .56); }
.outside-gallery-sequence,
.outside-gallery-sequence .gallery-filmstrip,
.site-footer { background: #1b211d; color: #f0ebde; }
.site-footer .site-footer-book { color: #f0ebde; border-bottom-color: rgba(240, 235, 222, .45); }
.outside-gallery-sequence .gallery-filmstrip-card:focus-visible { outline-color: #f0ebde; }

.woodland-handoff {
  position: relative;
  grid-column: 1 / -1;
  background: var(--bg-primary);
}
.woodland-handoff-stage {
  position: relative;
  height: 70svh;
  overflow: hidden;
  isolation: isolate;
  background: #1b211d;
}
.woodland-handoff-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 18% 48%, #424e3e 0%, transparent 48%),
    radial-gradient(ellipse at 85% 70%, #111914 0%, transparent 50%),
    radial-gradient(ellipse at 60% 28%, #343c35 0%, transparent 46%),
    #1b211d;
}
.woodland-handoff-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #1b211d;
  opacity: var(--chapter-green, 0);
  pointer-events: none;
}
.woodland-field {
  position: absolute;
  z-index: -1;
  inset: -2%;
  width: 104%;
  height: 104%;
  pointer-events: none;
  filter: blur(10px);
}
.woodland-handoff .outside-statement {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 64px var(--desktop-gutter, 26px);
  background: transparent;
  pointer-events: none;
}
.woodland-handoff .outside-statement h2 {
  width: 100%;
  max-width: 1200px;
  margin: 0;
  color: var(--bg-primary);
  opacity: 1;
  transform: none;
}
.woodland-scroll-space { display: none; }
.information-chapter {
  position: relative;
  z-index: 3;
  background: var(--bg-primary);
}
.information-chapter > .inside-band.information-band.inside-band-editorial { margin: 0; }
.woodland-motion-ready .woodland-handoff-stage {
  position: sticky;
  top: 0;
  height: 100svh;
  background: var(--bg-primary);
}
.woodland-motion-ready .woodland-handoff-stage::before { display: none; }
.woodland-motion-ready .woodland-scroll-space { display: block; height: 140svh; pointer-events: none; }
.woodland-motion-ready .information-chapter { margin-top: calc(-100svh - var(--pause-peek-offset, 0px)); }

/* The gallery follows after a short breath, then covers the pinned cup.
   Its overlap cancels the reserved cover space rather than exposing a pause. */
.hunt-cup {
  position: sticky;
  top: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0 0 32px;
  box-sizing: border-box;
  background: var(--bg-primary);
}
.hunt-gallery-handoff {
  position: relative;
  --gallery-cover-space: 100svh;
  background: var(--bg-primary);
}
.gallery-cream-pause { height: calc(var(--gallery-cover-space) + 32px); }
.hunt-gallery-handoff + .outside-gallery-sequence {
  position: relative;
  z-index: 2;
  margin-top: -100svh;
}
.hunt-gallery-handoff + .outside-gallery-sequence .gallery-filmstrip { padding-top: 60px; }
.hunt-gallery-handoff ~ .site-footer { position: relative; z-index: 2; }
@media (max-width: 899px) {
  .hunt-cup { top: 66px; }
  .hunt-cup-media { width: min(52%, 40svh); }
}
@media (min-width: 900px) {
  /* Explicit rows keep the existing overlapping Design composition intact. */
  .woodland-handoff { grid-row: 11; }
  .information-chapter { grid-row: 12; }
  .arrival-pin-sequence { grid-row: 13; }
  .place-chapter { grid-row: 14; }
  .hunt-gallery-handoff { grid-row: 15; }
  .outside-gallery-sequence { grid-row: 16; }
  .site-footer { grid-row: 17; }
}
@media (min-width: 900px) and (max-width: 1199px) {
  .roman-corbridge-copy { width: min(48vw, 490px); }
  .hunt-cup {
    width: min(48vw, 490px);
    margin-left: var(--desktop-gutter);
  }
  .hunt-cup-media { width: min(23vw, 230px); }
  .hunt-cup figcaption { margin-top: -12px; font-size: 12px; }
  .hunt-cup-description { max-width: 340px; margin-top: 10px; font-size: 14px; line-height: 1.6; }
  .hunt-cup :is(figcaption, .hunt-cup-description) { align-self: center; text-align: center; }
}
@media (min-width: 1200px) {
  /* Keep the cup within the same left-hand measure as the Roman copy,
     rather than centring the whole object across the page. */
  .hunt-cup {
    width: min(820px, calc(100% - (2 * var(--desktop-gutter))));
    margin-left: var(--desktop-gutter);
    margin-right: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .woodland-handoff-stage::after { display: none; }
  .hunt-cup { position: relative; top: auto; }
}

.hunt-cup-pair { display: block; }
@media (max-width: 899px) {
  /* Keep the sticky cup in a real containing box to avoid mobile paint seams. */
  .hunt-cup-pair { padding-bottom: calc(var(--gallery-cover-space) + 32px); }
  .gallery-cream-pause { display: none; }
  .hunt-cup { transform: translateZ(0); backface-visibility: hidden; }
}
@media (min-width: 600px) and (max-width: 899px) {
  .hunt-cup-artwork { width: min(432px, calc(100% - 2 * var(--gutter-mobile, 24px))); margin-inline: auto; }
  .hunt-cup-media { width: min(52%, 331px); }
}
@media (min-width: 900px) {
  .gallery-cream-pause { height: calc(var(--gallery-cover-space) + 64px); }
  .hunt-gallery-handoff + .outside-gallery-sequence .gallery-filmstrip { padding-top: 120px; }
  .hunt-cup-pair {
    position: sticky;
    top: 80px;
    display: grid;
    grid-template-columns: minmax(0, var(--hunt-artwork-size, 432px)) minmax(0, 1fr);
    align-items: start;
    gap: 80px;
    margin: 32px var(--desktop-gutter) 0;
    padding-bottom: 32px;
    background: var(--bg-primary);
  }
  .hunt-cup-pair .hunt-cup-artwork { display: block; margin: 0; }
  .hunt-cup-pair .hunt-cup-artwork img {
    width: min(100%, var(--hunt-artwork-size, 400px));
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
  }
  .hunt-cup-pair .hunt-cup-artwork figcaption {
    width: min(100%, var(--hunt-artwork-size, 400px));
    padding-top: 12px;
    font: 400 12px/1.5 var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: center;
  }
  .hunt-cup-artwork-title { display: block; }
  .hunt-cup-artwork-credit { display: block; margin-top: 6px; opacity: .65; }
  .hunt-cup-pair .hunt-cup {
    grid-row: 1;
    grid-column: 2;
    position: static;
    width: var(--hunt-media-size, 331px);
    margin: var(--hunt-cup-drop, 250px) 0 0;
    padding: 0;
  }
  .hunt-cup-pair .hunt-cup-description { width: calc(var(--hunt-media-size, 331px) * .85); max-width: none; }
  .hunt-cup-pair .hunt-cup > figcaption { display: none; }
}
@media (min-width: 900px) and (prefers-reduced-motion: reduce) {
  .hunt-cup-pair { position: relative; top: auto; }
}
