/* Scoped finishing rules; original layout, fonts, palette and visibility stay in the source stylesheet. */
.member-identity > div { min-width: 0; }
.member-identity span { overflow-wrap: anywhere; }
.member-identity button { flex-shrink: 0; line-height: 1.45; }
.member-introduction-inner { grid-template-columns: 340px minmax(0, 1fr); }
.member-introduction-inner > * { min-width: 0; }
.member-brand { overflow-wrap: anywhere; }
#preview-container .c-column,
#preview-container .c-column > .inner,
#preview-container .c-row > .inner,
#signup-dialog .c-column,
#signup-dialog .c-column > .inner { min-width: 0; max-width: 100%; }
#preview-container .text-output,
#signup-dialog .text-output { word-break: normal; overflow-wrap: break-word; }
#preview-container .text-output :is(h1,h2,h3,h4,h5,h6) {
  text-wrap: balance;
  word-break: normal;
}
#preview-container .text-output p,
#preview-container .text-output li { text-wrap: pretty; }
#preview-container .c-button .main-heading-group,
#preview-container .c-button .sub-heading-group {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: .4em;
}
#preview-container .c-button .main-heading-button {
  min-width: 0;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  line-height: 1.35;
  text-wrap: balance;
}
#preview-container .c-button .button-icon-start,
#preview-container .c-button .button-icon-end { flex: 0 0 auto; }
#preview-container .image-container img,
#signup-dialog .image-container img { max-width: 100%; height: auto; }
#image-Z_Ov7rHNM7 img { width: 100%; height: auto !important; object-fit: contain; }
#paragraph-nUg0tttJ9N .text-output p { margin: 0 0 1em; }
#signup-dialog { overscroll-behavior: contain; }
#signup-dialog .member-registration-form { width: 100%; }
#signup-dialog .member-registration-form input { font-size: 16px; box-sizing: border-box; }
#signup-dialog .member-registration-form button[type=submit] { line-height: 1.4; text-wrap: balance; }
#signup-dialog .member-registration-form button:focus-visible,
#preview-container .c-button button:focus-visible,
#preview-container .c-button a:focus-visible { outline: 3px solid #188bf6; outline-offset: 3px; }
@media (max-width: 767px) {
  .member-introduction-inner { grid-template-columns: minmax(0, 1fr); }
  #preview-container .c-row { padding-left: 16px !important; padding-right: 16px !important; }
  #preview-container .c-heading .text-output :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(28px, 6.6vw, 38px) !important; line-height: 1.3 !important; }
  #preview-container .c-sub-heading .text-output :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(19px, 4.8vw, 26px) !important; line-height: 1.45 !important; }
  #preview-container .c-paragraph .text-output :is(p,li) { line-height: 1.65 !important; }
  #preview-container .c-button .main-heading-button { font-size: clamp(17px, 4.6vw, 22px) !important; }
  #signup-dialog .c-row { padding-left: 6px !important; padding-right: 6px !important; }
  #signup-dialog .member-registration-form { padding: 20px 12px; }
}
@media (max-width: 359px) {
  .member-identity { flex-wrap: wrap; }
  .member-identity > div { flex: 1; }
  .member-identity button { width: 100%; margin-left: 0; }
  .member-posters { gap: 12px; }
  .member-posters img { width: calc((100% - 12px) / 2); height: auto; }
}

/* The member's personal letter is visible and readable at every width. */
#member-message {
  display: block;
  padding: 44px 24px;
  background: #fff;
  color: #111;
  font-family: Montserrat, Arial, sans-serif;
  box-sizing: border-box;
}
#member-message *, #member-message *::before, #member-message *::after { box-sizing: border-box; }
#member-message .member-message-inner { width: 100%; max-width: 880px; margin: 0 auto; }
#member-message .member-message-header { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 36px; align-items: center; }
#member-message .member-message-portrait { display: block; width: 100%; height: auto; border-radius: 4px; }
#member-message .member-message-heading { min-width: 0; }
#member-message .member-message-label { margin: 0 0 8px; font-size: 17px; line-height: 1.5; }
#member-message h2 { margin: 0 0 16px; font-family: Oswald, Arial, sans-serif; font-size: clamp(27px, 3vw, 36px); line-height: 1.35; font-weight: 700; text-wrap: balance; }
#member-message blockquote { margin: 0; padding: 0; border: 0; }
#member-message blockquote p { margin: 0; font-size: 18px; line-height: 1.7; text-wrap: pretty; }
#member-message .member-message-letter { margin-top: 30px; font-size: 18px; line-height: 1.8; }
#member-message .member-message-letter h3 { margin: 0 0 20px; font-family: inherit; font-size: 21px; line-height: 1.6; font-weight: 700; text-wrap: pretty; }
#member-message .member-message-letter p { margin: 0 0 15px; text-align: left; overflow-wrap: break-word; text-wrap: pretty; }
#member-message .member-message-letter p:last-child { margin-bottom: 0; }
@media (max-width: 639px) {
  #member-message { padding: 30px 20px; }
  #member-message .member-message-header { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #member-message .member-message-portrait { width: 180px; max-width: 100%; margin: 0 auto; }
  #member-message .member-message-heading { text-align: center; }
  #member-message blockquote p { font-size: 16px; }
  #member-message .member-message-letter { margin-top: 24px; font-size: 16px; line-height: 1.8; }
  #member-message .member-message-letter h3 { font-size: 19px; }
}
