.p-heading-lv1 {
  display: grid;
  place-content: center;
  padding-block: calc(var(--space-section) / 2);
}

.p-message {
  /* min: 20px (@375vw) / max: 200px (@1280vw) */
  --inner-padding: clamp(1.25rem, -3.412rem + 19.89vw, 12.5rem);

  padding-block-end: var(--space-section);
}

.p-message-header {
  display: grid;
  row-gap: calc(var(--space-section) / 5);
  padding-block-end: calc(var(--space-section) / 2);
  padding-inline: var(--inner-padding);

  > h2 {
    /* 30~44px 375/1280px */
    font-size: clamp(1.875rem, 1.512rem + 1.55vw, 2.75rem);
    text-align: center;
    letter-spacing: 0.12em;

    &::before {
      display: block;
      font-size: 0.5em;
      text-transform: capitalize;
      letter-spacing: 0;
      content: attr(data-label);
    }
  }
}

.p-message-body {
  display: grid;
  row-gap: calc(var(--space-section) / 5);
  padding-block: calc(var(--space-section) / 2);
  padding-inline: var(--inner-padding);
  background-color: var(--background-subtle);

  > h2 {
    place-self: center;
    padding: 0.25em 2em;

    /* min: 15px (@375vw) / max: 18px (@1280vw) */
    font-size: clamp(0.938rem, 0.86rem + 0.33vw, 1.125rem);
    color: var(--heading-foreground);
    background-color: var(--heading-background);
  }

  > h3 {
    /* min: 18px (@375vw) / max: 22px (@1280vw) */
    font-size: clamp(1.125rem, 1.021rem + 0.44vw, 1.375rem);
  }

  .p-message-body-text {
    display: grid;
    row-gap: 1em;

    > p {
      text-indent: 1em;

      &[data-style="formal-signature"] {
        padding-block-start: 1em;
        text-indent: 0;
      }
    }
  }

  .p-message-body-figure {
    display: block;
    margin-block-start: 2em;
  }
}
