/* ============================================================
   SESAM — Restaurant (dunkler Block mit Video-Rundgang)
   ============================================================ */
.resto {
  background: var(--char);
  color: var(--on-char);
  overflow: clip;
}
.sec-head--onchar .sec-head__lead { color: var(--on-char-mut); }

.resto__video {
  position: relative;
  margin-top: var(--space-6);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lift);
}
.resto__video video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.resto__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: var(--space-8);
  margin-top: var(--space-8);
  align-items: start;
}
.resto__story {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  font-size: var(--text-lead);
  line-height: 1.55;
  color: var(--on-char);
  max-width: 58ch;
  text-wrap: pretty;
}
.resto__story p + p { color: var(--on-char-mut); font-size: calc(var(--text-lead) * 0.88); }

.resto__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.resto__fact {
  background: var(--char-2);
  border-radius: var(--radius);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: 0.4em;
}
.resto__fact dt {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--on-char-mut);
}
.resto__fact dd {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1;
  color: var(--on-char);
}

.resto__deco-tomato { width: clamp(80px, 9vw, 150px); right: -2%; bottom: 6%; rotate: 14deg; }

@media (max-width: 900px) {
  .resto__grid { grid-template-columns: 1fr; gap: var(--space-5); }
}
@media (max-width: 560px) {
  .resto__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
