.food-chapter > .chapter { max-width: 1600px; padding: 100px 64px; }
.food-topline { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 42px; }
.food-topline .food-heading { min-width: 0; margin: 0; }
.food-roll-toggle {
  flex-shrink: 0;
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid #c4b39b;
  background: transparent;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .04em;
  color: #8c7860;
}

.food-ribbons {
  --food-gap: 22px;
  display: grid;
  gap: 24px;
  min-width: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
}
.food-reel { --food-height: 228px; min-width: 0; overflow: hidden; }
.food-reel:nth-child(2) { --food-height: 186px; }
.food-track {
  --food-travel: 0px;
  --food-duration: 150s;
  --food-delay: 0s;
  display: flex;
  gap: var(--food-gap);
  width: max-content;
  animation: food-pan var(--food-duration) linear var(--food-delay) infinite;
  animation-play-state: paused;
  will-change: transform;
}
.food-reel:nth-child(2) .food-track { animation-direction: reverse; }
.food-ribbons.is-ready:not(.is-paused) .food-track { animation-play-state: running; }
.food-cycle { display: flex; align-items: flex-start; gap: var(--food-gap); flex-shrink: 0; }
.food-photo {
  flex-shrink: 0;
  margin: 0;
  padding: 6px;
  background: #fcfaf5;
  border: 1px solid #dfd5c5;
}
.food-photo img {
  width: auto;
  height: var(--food-height);
  max-width: none;
  object-fit: contain;
  cursor: default;
}
.food-chapter .wish-area { margin-top: 56px; }

@keyframes food-pan {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(var(--food-travel), 0, 0); }
}

@media (max-width: 1100px) {
  .food-chapter > .chapter { padding: 86px 40px; }
  .food-reel { --food-height: 210px; }
  .food-reel:nth-child(2) { --food-height: 172px; }
  .food-ribbons { --food-gap: 18px; gap: 20px; }
}

@media (max-width: 760px) {
  .food-chapter > .chapter { padding: 76px 24px; }
  .food-topline { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 28px; }
  .food-roll-toggle { font-size: 11px; }
  .food-reel { --food-height: 174px; }
  .food-reel:nth-child(2) { --food-height: 146px; }
  .food-ribbons { --food-gap: 14px; gap: 16px; }
  .food-photo { padding: 4px; }
  .food-chapter .wish-area { margin-top: 36px; }
}
