/* Photo header: the light panel sits at the bottom of the photo so the pond shows above it. */
.land-hero { position: relative; isolation: isolate; z-index: 2; width: 100%; min-height: 640px; display: grid; align-items: end; background: #566442; }
.land-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; z-index: -1; }
.land-hero-inner { width: 100%; max-width: 1440px; margin: auto auto 0; padding: 32px 40px 36px; }
.land-hero-panel { width: min(100%, 660px); margin: auto; padding: 34px 46px; text-align: center; background: rgb(251 248 241 / .8); border-radius: 32px; border: 1px solid #e6dbc1; outline: 1px solid #bca46b; outline-offset: -12px; box-shadow: 0 16px 52px #26392126; }
.hero-kicker { font-family: var(--label), Georgia, serif; font-size: calc(1.15rem + 3pt); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--emerald); margin-bottom: 14px; }
.land-hero h1 { font-size: clamp(3.3rem, 6vw, 5.8rem); line-height: 1.06; margin: 0; text-wrap: balance; color: var(--emerald); }
.land-hero .event-date { font-size: 1.8rem; font-weight: 500; margin-top: 18px; }
.land-hero .event-place { font-size: .94rem; margin: 6px auto 0; white-space: nowrap; }
@media (max-width: 700px) {
  .land-hero { min-height: 780px; }
  .land-hero-photo { object-position: 51% 50%; }
  .land-hero-inner { padding: 240px 14px 24px; margin: 0; }
  .land-hero-panel { width: 100%; margin: 0; padding: 30px 18px; }
  .land-hero h1 { font-size: clamp(3rem, 12.5vw, 4.3rem); }
  .hero-kicker { font-size: calc(.95rem + 3pt); letter-spacing: .12em; }
  .land-hero .event-date { font-size: 1.5rem; margin-top: 14px; }
  .land-hero .event-place { font-size: clamp(.7rem, 3.3vw, .84rem); }
}
