/**
 * profile-page.css — Profile ページのタイポグラフィ・余白（profile.html 用）
 * 画像は全幅、テキストは --profile-text-inset 内に収める。
 */
:root {
  --profile-text-inset: clamp(1.125rem, 5vw, 1.5rem);
}

/* 日本語本文は明朝系＋適度な字間（Jost のままだと詰まって見える） */
.profile-page .profile-bio,
.profile-page .profile-bio-list,
.profile-page .profile-bio-list li,
.profile-page .profile-bio__role,
.profile-page .profile-block__title,
.profile-page .profile-block--office .profile-bio-list--block,
.profile-page .profile-block--affiliation .profile-bio-list--block,
.profile-page .profile-block--founder .profile-bio--founder,
.profile-page .profile-block--founder .profile-bio__role,
.profile-page .profile-bio-list--awards,
.profile-page .profile-bio-list--published {
  font-family: var(--font-jp, "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif) !important;
  letter-spacing: 0.05em;
  word-break: normal;
  overflow-wrap: anywhere;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}

.profile-page .profile-name-cell,
.profile-page .profile-section-label {
  font-family: var(--font-body, "Jost", "Helvetica Neue", Arial, sans-serif) !important;
}

.profile-page .profile-block__title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  letter-spacing: 0.08em;
  line-height: 1.55;
}

.profile-page .profile-bio-list--awards a,
.profile-page .profile-bio-list--published a {
  letter-spacing: 0.04em;
  line-height: 1.75;
}

/* イントロ：モバイルで日英デックを行分け */
@media (max-width: 639px) {
  #main-content > header.hub-intro .hub-intro-dek__phrase {
    margin-top: 0.45em;
  }
  #main-content > header.hub-intro .hub-intro-dek__label::after {
    content: "—";
    display: block;
    margin: 0.35em auto 0;
    color: var(--gray-300, #bfb9b0);
    font-weight: 300;
    letter-spacing: 0;
  }
  #main-content > header.hub-intro .hub-page-lead {
    letter-spacing: 0.04em;
    line-height: 1.9 !important;
  }
}

@media (max-width: 768px) {
  .profile-page {
    --pad: var(--profile-text-inset);
  }

  .profile-page .profile-bio-list li,
  .profile-page .profile-bio-list a,
  .profile-page .profile-bio__role,
  .profile-page .profile-block__title {
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* テキストブロック共通ガター */
  .profile-page .profile-block--current,
  .profile-page .profile-block--founder,
  .profile-page .profile-block--office,
  .profile-page .profile-block--affiliation,
  .profile-page > .container-fluid:not(.profile-block) {
    padding-left: var(--profile-text-inset) !important;
    padding-right: var(--profile-text-inset) !important;
    box-sizing: border-box;
  }

  .profile-page .profile-block--office .container,
  .profile-page .profile-block--affiliation .container,
  .profile-page > .container-fluid:not(.profile-block) > .row > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .profile-founder-card {
    padding: 20px 0 !important;
  }

  /* 氏名はガター内、写真だけ全幅 */
  .profile-page .profile-block--current__row .profile-name-cell {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .profile-page .profile-block--current .profile-name-cell img.profile-photo {
    margin-left: calc(-1 * var(--profile-text-inset)) !important;
    margin-right: calc(-1 * var(--profile-text-inset)) !important;
    width: calc(100% + 2 * var(--profile-text-inset)) !important;
    max-width: none;
    display: block;
  }

  .profile-page .profile-section-label {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* プロフィール ヒーローカルーセル — キャプション中央＋左右ガター */
#carousel1.hub-hero-carousel .carousel-caption {
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-left: var(--profile-text-inset, clamp(1.125rem, 5vw, 1.5rem));
  padding-right: var(--profile-text-inset, clamp(1.125rem, 5vw, 1.5rem));
  box-sizing: border-box;
}

#carousel1.hub-hero-carousel .carousel-caption h3,
#carousel1.hub-hero-carousel .carousel-caption p {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  max-width: 100%;
}

#carousel1.hub-hero-carousel .carousel-caption h3 {
  padding-inline-end: 0.2em;
}

#carousel1.hub-hero-carousel .carousel-caption p {
  padding-inline-end: 0.14em;
}
