.message-content { background: var(--pale); padding: 48px 0 110px; }
.message-content h2 { text-align: center; color: var(--blue); font-size: 40px; line-height: 54px; }
.message-introduction { max-width: 880px; margin: 10px auto 35px; text-align: center; font-size: 16px; line-height: 24px; }
.message-workspace { max-width: 1440px; margin: auto; padding: 46px 32px 60px; background: white; border-radius: 8px; box-shadow: 0 0 30px #0000001a; }
.message-fields { max-width: 1107px; margin: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 51px; }
.message-field { display: flex; flex-direction: column; min-width: 0; }
.message-field > label { order: -1; }
.message-fields label { display: block; font-size: 18px; line-height: 24px; margin-bottom: 9px; }
.message-fields label span { color: #b21c1c; margin-right: 3px; }
.message-fields input, .message-fields textarea, .message-fields select { display: block; width: 100%; min-width: 0; min-height: 50px; border: 1px solid #b8cddd; background: var(--pale); color: var(--ink); padding: 12px 14px; font: inherit; border-radius: 0; }
.message-fields input, .message-fields select { height: 50px; }
.message-fields input::placeholder, .message-fields textarea::placeholder { color: #687c8a; }
.message-fields select { appearance: none; white-space: normal; font-size: 16px; padding-right: 40px; background-image: url('/profile/images/figma/home/select-arrow.svg'); background-size: 13px 8px; background-repeat: no-repeat; background-position: right 16px center; }
.message-select { position: relative; min-width: 0; }
.message-select.is-open { z-index: 5; }
.message-select-toggle { display: flex; align-items: center; width: 100%; min-height: 50px; padding: 10px 48px 10px 14px; border: 1px solid #b8cddd; border-radius: 0; color: var(--ink); background: var(--pale) url('/profile/images/figma/home/select-arrow.svg') right 17px center / 16px 9px no-repeat; font: inherit; font-size: 18px; line-height: 28px; text-align: left; }
.message-select-toggle span { min-width: 0; overflow-wrap: anywhere; }
.message-select-toggle:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.message-select-toggle:disabled { color: #687c8a; cursor: default; }
.message-select.has-selection .message-select-toggle { padding-right: 88px; }
.message-select-clear { position: absolute; top: 3px; right: 35px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; }
.message-select-clear img { width: 18px; height: 18px; }
.message-select-clear:hover { background: #deeffb; }
.message-select-clear:focus-visible { outline: 2px solid var(--blue); outline-offset: -4px; }
/* The menu overlays the message field, as in the design, without moving the form rows. */
.message-select-options { position: absolute; top: calc(100% + 2px); left: 0; width: 100%; max-height: 147px; padding: 12.5px 3px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #b8cddd; background: white; }
.message-select.is-above .message-select-options { top: auto; bottom: calc(100% + 2px); }
.message-select-options li { display: flex; align-items: center; min-height: 40px; padding: 8px 12px; font-size: 18px; line-height: 24px; overflow-wrap: anywhere; cursor: pointer; }
.message-select-options li.is-active { color: var(--blue); background: var(--pale); }
.message-fields textarea { resize: vertical; min-height: 181px; }
.message-wide { grid-column: 1 / -1; }
.message-submit { display: block; background: var(--blue); color: white; border: 0; border-radius: 6px; width: min(382px, 100%); height: 50px; padding: 12px 20px; font-size: 18px; margin: 16px auto 0; }
.message-submit:hover { background: var(--orange); }
.message-submit:disabled { opacity: .65; cursor: wait; }
#message-error { max-width: 1107px; min-height: 24px; line-height: 24px; margin: 12px auto 0; color: #a52323; font-size: 16px; }
#message-receipt { text-align: center; padding: 50px 15px; }
#message-receipt p { margin-top: 20px; }
#message-receipt a { display: inline-block; padding: 14px 22px; margin-top: 28px; color: white; background: var(--blue); border-radius: 6px; }
[hidden] { display: none !important; }
@media (max-width: 640px) {
    .message-content { padding: 30px 0 55px; }
    .message-content h2 { font-size: 30px; line-height: 40px; }
    .message-introduction { margin-block: 16px 24px; }
    .message-workspace { padding: 28px 18px; }
    .message-fields { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .message-fields label, .message-fields input, .message-fields textarea { font-size: 16px; }
    .message-select-toggle, .message-select-options li { font-size: 16px; }
}
