@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/manrope/manrope-latin.woff2") format("woff2");
}
.ceo-banner, .ceo-page {
  --ceo-ink: #123d5e;
  --ceo-muted: #4d6070;
  --ceo-blue: #1f57c3;
  font-family: Manrope, "Segoe UI", sans-serif;
  color: var(--ceo-ink);
}
.ceo-banner { padding: 0 32px 56px; background: #fff; }
.ceo-banner__inner { max-width: 1216px; margin-inline: auto; display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: center; gap: 56px; padding: 32px; border-radius: 16px; background: var(--ceo-ink); color: #fff; }
.ceo-banner__portrait { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 30%; border-radius: 8px; }
.ceo-banner__copy { max-width: 620px; }
.ceo-banner__copy h2 { margin: 0; font-size: 34px; line-height: 1.2; letter-spacing: -.035em; font-weight: 700; text-wrap: balance; }
.ceo-banner__copy p { margin: 20px 0 24px; color: #e0eaf1; font-size: 17px; line-height: 1.7; }
.ceo-banner__copy .ceo-banner__role { margin: 10px 0 0; font-size: 14px; }
.ceo-banner__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border-radius: 8px; background: #fff; color: var(--ceo-ink); font-size: 15px; font-weight: 600; text-decoration: none; }
.ceo-banner__link:hover { background: #e4eff8; }
.ceo-banner a:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.ceo-page { background: #fff; }
body:has(.ceo-page) .header-quote { background: #1f57c3; color: #fff; border-radius: 8px; font-weight: 600; }
body:has(.ceo-page) .header-quote:hover { background: #1747a5; }
body:has(.ceo-page) .header-quote > span { display: none; }
.ceo-page__container { max-width: 1160px; margin-inline: auto; padding-inline: 32px; }
.ceo-page__intro-wrap { background: #f0f7fb; padding-bottom: 48px; }
.ceo-page__breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-block: 12px 24px; color: var(--ceo-muted); font-size: 13px; }
.ceo-page__breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ceo-muted); text-underline-offset: 4px; }
.ceo-page__intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 72px; align-items: center; }
.ceo-page h1 { margin: 0; font-size: clamp(36px, 4vw, 52px); line-height: 1.12; font-weight: 700; letter-spacing: -.04em; text-wrap: balance; }
.ceo-page__role { margin: 12px 0 28px; color: var(--ceo-muted); font-size: 16px; }
.ceo-page__introduction .ceo-page__lead { max-width: 30ch; margin: 0 0 20px; font-size: 25px; line-height: 1.4; font-weight: 600; letter-spacing: -.02em; color: var(--ceo-ink); }
.ceo-page__introduction > p:not(.ceo-page__role):not(.ceo-page__lead) { max-width: 52ch; margin: 16px 0 0; font-size: 17px; line-height: 1.75; color: var(--ceo-muted); }
.ceo-page__portrait { margin: 0; }
.ceo-page__portrait img { width: 100%; height: auto; border-radius: 12px; }
.ceo-page__story { padding-top: 8px; padding-bottom: 64px; }
.ceo-page__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 64px; padding-block: 48px; border-bottom: 1px solid #dce5eb; }
.ceo-page h2 { margin: 0; font-size: 28px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.ceo-page__row p, .ceo-page__row dd { margin: 0 0 16px; font-size: 16px; line-height: 1.75; color: var(--ceo-muted); }
.ceo-page__row p:last-child { margin-bottom: 0; }
.ceo-page__row .ceo-page__aside { margin-top: 16px; max-width: 28ch; font-size: 15px; }
.ceo-page__values, .ceo-page__details { margin: 0; }
.ceo-page__values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; }
.ceo-page__row dt { margin-bottom: 8px; font-size: 17px; font-weight: 700; line-height: 1.4; }
.ceo-page__row dd { margin: 0; }
.ceo-page__details { display: grid; gap: 24px; }
.ceo-page__details dt { margin-bottom: 4px; }
.ceo-page__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: 32px; margin-top: 48px; border-radius: 12px; background: #f0f7fb; }
.ceo-page__cta h2 { font-size: 24px; }
.ceo-page__cta p { max-width: 42ch; margin: 12px 0 0; color: var(--ceo-muted); font-size: 16px; line-height: 1.6; }
.ceo-page__actions { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ceo-page__primary, .ceo-page__secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; font-size: 15px; font-weight: 600; }
.ceo-page__primary { color: #fff; background: var(--ceo-blue); border-radius: 8px; text-decoration: none; }
.ceo-page__primary:hover { background: #1747a5; }
.ceo-page__secondary { color: var(--ceo-ink); text-underline-offset: 5px; }
.ceo-page a:focus-visible { outline: 3px solid var(--ceo-blue); outline-offset: 4px; }
@media (max-width: 900px) {
  .ceo-banner__inner { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; }
  .ceo-banner__copy h2 { font-size: 28px; }
  .ceo-banner__copy p { font-size: 16px; }
  .ceo-page__intro { gap: 32px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .ceo-page__row { gap: 32px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); }
  .ceo-page__values { grid-template-columns: 1fr; }
}
@media (max-width: 639px) {
  .ceo-banner { padding: 0 20px 40px; }
  .ceo-banner__inner { grid-template-columns: 1fr; gap: 24px; padding: 24px; border-radius: 12px; }
  .ceo-banner__portrait { width: 100%; max-width: 240px; margin-inline: auto; }
  .ceo-banner__copy h2 { font-size: 28px; }
  .ceo-banner__copy p { margin-block: 16px 20px; }
  .ceo-banner__link { width: 100%; }
  .ceo-page__container { padding-inline: 20px; }
  .ceo-page__breadcrumb { font-size: 12px; gap: 8px; padding-block: 4px 20px; }
  .ceo-page__intro { grid-template-columns: 1fr; gap: 28px; }
  .ceo-page__intro-wrap { padding-bottom: 32px; }
  .ceo-page__introduction .ceo-page__lead { font-size: 22px; }
  .ceo-page__introduction > p:not(.ceo-page__role):not(.ceo-page__lead) { font-size: 16px; line-height: 1.65; }
  .ceo-page__portrait { max-width: 320px; margin-inline: auto; }
  .ceo-page__row { grid-template-columns: 1fr; gap: 20px; padding-block: 32px; }
  .ceo-page h2 { font-size: 25px; }
  .ceo-page h2 br { display: none; }
  .ceo-page__row .ceo-page__aside { max-width: none; margin-top: 12px; }
  .ceo-page__cta { padding: 24px; margin-top: 32px; }
  .ceo-page__actions, .ceo-page__primary { width: 100%; }
  .ceo-page__story { padding-bottom: 40px; }
}
