.hoffest {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  max-width: 1150px;
  margin: clamp(1rem, 4vw, 4rem) auto;
  width: calc(100% - 2rem);
  border-radius: 1.25rem;
  overflow: hidden;
  background: #f5e9d7;
  color: #342018;
  box-shadow: 0 12px 32px #34201820;
  scroll-margin-top: 8rem;
}
.hoffest__copy { padding: clamp(1.4rem, 5vw, 3.5rem); }
.hoffest__label {
  color: #812d30;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .82rem;
}
.hoffest h2 {
  margin: .45rem 0 .7rem;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.06;
  color: #682529;
}
.hoffest__time { font-weight: 750; font-size: 1.12rem; }
.hoffest__program {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  padding: 0;
  margin: 1.1rem 0;
  list-style: none;
}
.hoffest__program li {
  padding: .24rem .7rem;
  border: 1px solid #cbb69d;
  border-radius: 1rem;
  background: #fff8ee;
}
.hoffest__shop { margin: 1rem 0; }
.hoffest__photo { position: relative; min-height: 15rem; background: #d0b69b; }
.hoffest__photo img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 53% center;
}
@media (max-width: 700px) {
  .hoffest { grid-template-columns: 1fr; }
  .hoffest__photo { min-height: clamp(10rem, 46vw, 16rem); }
}
