.hero--restaurant {
  position: relative;
}

.hero__inner--restaurant {
  align-items: center;
  gap: var(--space-10);
}

.hero__content {
  max-width: 36rem;
}

.hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.hero__cta-group {
  flex-wrap: wrap;
}

.hero__media {
  align-self: stretch;
  display: flex;
  align-items: center;
}

.hero__image-frame--restaurant {
  min-height: 320px;
}

.hero__image-frame--ambiance,
.hero__image-frame--portrait {
  min-height: 280px;
}

.ambiance-grid {
  align-items: center;
}

.ambiance-highlights {
  margin-top: var(--space-6);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.philosophy-grid {
  align-items: flex-start;
  gap: var(--space-10);
}

.philosophy-points {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.maitre-maison-grid {
  gap: var(--space-10);
}

.maitre-maison-grid__visual {
  order: 2;
}

.maitre-maison-grid__content {
  order: 1;
}

.cuisine-grid {
  align-items: stretch;
}

.moments-grid {
  align-items: flex-start;
  gap: var(--space-10);
}

.moments-list {
  margin-top: var(--space-4);
  display: grid;
  gap: var(--space-3);
}

.moments-list li {
  padding-left: var(--space-4);
  position: relative;
}

.moments-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #ffffff, var(--color-accent));
}

.section--closing {
  border-top: 1px solid var(--color-border-subtle);
}

.closing-cta-group {
  flex-wrap: wrap;
}

@media (max-width: 960px) {
  .hero__inner--restaurant {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero__media {
    order: -1;
  }

  .maitre-maison-grid__visual {
    order: -1;
  }

  .philosophy-points,
  .ambiance-highlights {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .hero__image-frame--restaurant,
  .hero__image-frame--ambiance,
  .hero__image-frame--portrait {
    min-height: 220px;
  }

  .moments-list li {
    padding-left: var(--space-3);
  }
}
