/* This page only: legacy greeting layout, with the existing V2 typography. */
.message-detail .page-masthead h1 {
  font-size: clamp(1.75rem, 2.6vw, 2.4rem);
}
@media (max-width: 767px) {
  .message-detail .page-masthead h1 {
    font-size: 2rem;
  }
}
.message-detail #letter-2 {
  margin-top: 2rem;
}
.message-detail .letter .letter-section {
  display: block;
  margin: var(--pc-section-gap) auto 0;
  padding: 0;
  border: 0;
  max-width: 850px;
}
.message-detail .letter .letter-section h2 {
  max-width: none;
  margin: 0 0 35px;
  text-align: center;
  letter-spacing: 1px;
  color: #333;
}
.message-detail .letter-legacy-content {
  --letter-overhang: min(60px, 1.25rem);
  position: relative;
}
.message-detail .letter .letter-body {
  box-sizing: border-box;
  max-width: none;
  padding: 1rem;
  border: 1px solid #555;
  background: #fff;
}
.message-detail .letter-body p:last-child {
  margin-bottom: 0;
}
.message-detail .letter-legacy-illustration {
  position: absolute;
  top: 0;
  left: calc(-1 * var(--letter-overhang));
  width: var(--letter-image-width);
  height: auto;
}
.message-detail #letter-1 { --letter-image-width: 220px; }
.message-detail #letter-3 { --letter-image-width: 296px; }
.message-detail #letter-4 { --letter-image-width: 230px; }
.message-detail .letter-legacy-illustration + .letter-body {
  padding-left: calc(var(--letter-image-width) - var(--letter-overhang) + 1rem);
  min-height: calc(var(--letter-image-width) * 288 / 296 + 2rem);
}
.message-detail .letter-legacy-wave {
  display: block;
  width: 505px;
  max-width: 100%;
  height: auto;
  margin: var(--pc-section-gap) auto 0;
}
.message-detail .letter-legacy-highlight {
  background: linear-gradient(transparent 55%, #fff27a 55%);
  font-weight: 700;
}
@media (max-width: 767px) {
  .message-detail .letter-legacy-illustration {
    position: static;
    display: block;
    max-width: 100%;
    margin: 0 auto 1rem;
  }
  .message-detail .letter-legacy-illustration + .letter-body {
    padding: 1rem;
    min-height: 0;
  }
}
