.signboard {
  position: relative;
  display: block;
  width: 100%;
  min-height: 120px;
  border: none;
  background: transparent;
  padding: 0;
  color: inherit;
  text-align: center;
  appearance: none;
  -webkit-appearance: none;
}

.signboard--hero {
  min-height: 144px;
}

.signboard--clickable {
  cursor: pointer;
}

.signboard--clickable:focus-visible {
  outline: 2px solid rgba(255, 220, 141, 0.32);
  outline-offset: 2px;
}

.signboard__board {
  position: relative;
  width: 100%;
  aspect-ratio: 720 / 720;
}

.signboard__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
  pointer-events: none;
}

.signboard__title {
  position: absolute;
  inset: 22% 15% 23%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.38);
  line-height: 1.18;
  word-break: break-word;
  text-wrap: balance;
}

.signboard--hall .signboard__title {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 2px;
  color: #fff0c7;
}

.signboard--hero .signboard__title {
  font-size: 24px;
}

.signboard__ribbon {
  margin: -2px auto 0;
  width: min(92%, 300px);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 240, 205, 0.14);
  background: rgba(12, 10, 10, 0.56);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  color: #f8dfab;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.38);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.signboard--hero .signboard__ribbon {
  width: min(96%, 320px);
  font-size: 11px;
}

.signboard--clickable:active {
  transform: translateY(1px);
}
