/* Message from the Founder — measurements follow the approved 11 Sept prototype. */
/* The shared banner has a page-specific 4:1 key-visual treatment on this page. */
body:has(.founder-message) .common-page-banner {
  aspect-ratio: 4 / 1;
  overflow: hidden;
  background: #f1f1ef;
}

body:has(.founder-message) .common-page-banner__image,
body:has(.founder-message) .common-page-banner__image > *,
body:has(.founder-message) .common-page-banner__image .field,
body:has(.founder-message) .common-page-banner__image .field__item,
body:has(.founder-message) .common-page-banner__image picture,
body:has(.founder-message) .common-page-banner__image img {
  width: 100%;
  height: 100%;
}

body:has(.founder-message) .common-page-banner__image img {
  object-fit: cover;
  object-position: center;
}

.founder-message {
  padding: 2.25rem 1.5rem 6.25rem;
}

.founder-message__inner {
  width: min(100%, 70rem);
  margin-inline: auto;
}

.founder-message__title {
  margin: 0 0 2.75rem;
  color: var(--sjm-color-text);
  font-family: var(--sjm-font-sans);
  font-size: clamp(1.875rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.08;
  text-wrap: pretty;
}

.founder-message__layout {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
}

.founder-message__profile {
  width: 18.75rem;
  flex: 0 0 18.75rem;
  max-width: 18.75rem;
}

.founder-message__portrait {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border: 1px solid #d8d8d5;
  background: #f1f1ef;
}

.founder-message__portrait,
.founder-message__portrait div,
.founder-message__portrait .field,
.founder-message__portrait .field__item,
.founder-message__portrait picture,
.founder-message__portrait img {
  width: 100%;
  height: 100%;
}

.founder-message__portrait img {
  display: block;
  object-fit: cover;
}

.founder-message__attribution {
  margin-top: 1.5rem;
}

.founder-message__name {
  color: var(--sjm-color-text);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
}

.founder-message__profession {
  margin-top: 0.375rem;
  color: var(--sjm-color-text-muted);
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  line-height: 1.4;
}

.founder-message__content {
  min-width: 0;
  flex: 1 1 auto;
}

.founder-message__quote {
  margin: 0 0 2.5rem;
  padding: 0 0 0 1.75rem;
  border-left: 2px solid var(--sjm-color-line-strong);
}

.founder-message__quote-mark {
  display: block;
  height: 2.125rem;
  color: #c9c9c5;
  font-family: var(--sjm-font-sans);
  font-size: 4rem;
  font-weight: 700;
  line-height: 0.5;
}

.founder-message__quote-text,
.founder-message__quote-text > * {
  margin: 0;
  color: var(--sjm-color-text);
  font-family: var(--sjm-font-sans);
  font-size: clamp(2.5rem, 3.6vw, 3.25rem);
  font-weight: 700;
  line-height: 1.2;
  text-wrap: pretty;
}

.founder-message__body,
.founder-message__body > * {
  margin: 0;
  color: #333;
  font-size: 1.125rem;
  line-height: 1.85;
  text-wrap: pretty;
}

@media (max-width: 47.9375rem) {
  .founder-message__layout {
    display: block;
  }

  .founder-message__profile {
    width: 60%;
    max-width: none;
    margin-inline: auto;
  }

  .founder-message__attribution {
    width: min(100vw - 3rem, 32.5rem);
    margin: 1.5rem 50% 0;
    text-align: center;
    transform: translateX(-50%);
  }

  .founder-message__name,
  .founder-message__name > * {
    font-size: 1.875rem !important;
  }

  .founder-message__profession,
  .founder-message__profession > * {
    margin-top: 0.5rem;
    font-size: 1rem !important;
  }

  .founder-message__content {
    margin-top: 3rem;
  }

  .founder-message__quote {
    margin-bottom: 2.5rem;
    padding-left: 1.5rem;
  }

  .founder-message__quote-mark {
    height: 1.875rem;
    font-size: 3.5rem;
  }

  .founder-message__quote-text,
  .founder-message__quote-text > * {
    font-size: var(--sjm-mobile-body) !important;
  }

  .founder-message__body,
  .founder-message__body > * {
    font-size: var(--sjm-mobile-body) !important;
    line-height: 1.85 !important;
  }
}
