
/* page-about-introduction: ported from preview inline <style> (font band-remapped to 22/36) */
/* Page-specific */
  .intro-section {
    background: var(--white); padding: 130px 0 100px;
  }
  .intro-section.beige { background: var(--beige) }
  .intro-section-inner {
    max-width: 820px; margin: 0 auto; padding: 0 24px;
  }
  .intro-section-head {
    text-align: center; margin-bottom: 70px;
  }
  .intro-section-head .num {
    font-family: var(--ff-en); font-size: 48px;
    color: var(--navy); opacity: .28; margin-bottom: 16px;
  }
  .intro-section-head .eyebrow { margin-bottom: 22px }
  .intro-section-head h2 {
    font-size: var(--fs-h); letter-spacing: .2em;
    color: var(--navy); line-height: 1.6;
  }
  .intro-section-body p {
    font-size: var(--fs-b); line-height: 2.1; letter-spacing: .08em;
    color: var(--navy-soft); margin-bottom: 26px;
  }
  @media (max-width: 768px) { .intro-section-body p { font-size: var(--fs-b) } }
  .brief-list {
    list-style: none; padding: 0; margin-top: 60px;
  }
  .brief-item {
    display: grid; grid-template-columns: 80px 1fr auto;
    gap: 40px; padding: 40px 0; align-items: start;
    border-top: 1px solid var(--navy-thread);
  }
  .brief-item:last-child { border-bottom: 1px solid var(--navy-thread) }
  .brief-num {
    font-family: var(--ff-en); font-size: var(--fs-h);
    color: var(--navy); opacity: .4;
  }
  .brief-body h3 {
    font-size: var(--fs-b); letter-spacing: .16em; line-height: 1.6;
    color: var(--navy); margin-bottom: 14px;
  }
  .brief-body p {
    font-size: var(--fs-b); line-height: 2; letter-spacing: .08em;
    color: var(--navy-soft);
  }
  /* Typography from master .brief-cta in style.css.
     Page-local rules: grid 配置のみ */
  .brief-cta {
    align-self: center; white-space: nowrap;
  }
  .faq-item {
    padding: 30px 0; border-top: 1px solid var(--navy-thread);
  }
  .faq-item:last-child { border-bottom: 1px solid var(--navy-thread) }
  .faq-q {
    font-size: var(--fs-b); letter-spacing: .12em; color: var(--navy);
    margin-bottom: 14px; display: flex; gap: 16px;
  }
  .faq-q::before {
    content: 'Q'; font-family: var(--ff-en);
    color: var(--navy-mute); flex-shrink: 0; width: 20px;
  }
  .faq-a {
    font-size: var(--fs-b); line-height: 2; letter-spacing: .08em;
    color: var(--navy-soft); padding-left: 36px;
  }
  .next-cards {
    display: grid; grid-template-columns: 1fr 1fr 1fr;
    gap: 40px; margin-top: 50px;
  }
  .next-card {
    padding: 40px 30px; text-align: center;
    /* bg/border/shadow come from the global washi TILE TEXTURE block */
  }
  .next-card .eyebrow { margin-bottom: 14px }
  .next-card h4 {
    font-size: var(--fs-b); letter-spacing: .16em; color: var(--navy);
    margin-bottom: 16px;
  }
  .next-card p {
    font-size: var(--fs-b); line-height: 2; letter-spacing: .08em;
    color: var(--navy-soft); margin-bottom: 22px;
  }
  @media (max-width: 768px) {
    .intro-section { padding: 80px 0 }
    .intro-section-inner { padding: 0 30px }
    
    .brief-item { grid-template-columns: 1fr; gap: 14px; padding: 30px 0 }
    /* grid が 1 列に潰れるモバイルでは中央揃え (Genio 指示 2026-05-08) */
    .brief-cta { justify-self: center; margin-top: 6px }
    .next-cards { grid-template-columns: 1fr; gap: 24px }
  }

  /* セクション見出し帯（ベージュ）— 見出し+本文を含む拡張版 */
  .intro-section-head-band {
    background: var(--beige);
    padding: 100px 0 100px;
    margin-bottom: 0;
  }
  .intro-section-head-band .num {
    font-family: var(--ff-en); font-size: 48px;
    color: var(--navy); opacity: .28; margin-bottom: 16px;
    text-align: center;
  }
  .intro-section-head-band h2 {
    font-size: var(--fs-h); letter-spacing: .2em;
    color: var(--navy); line-height: 1.6;
    font-family: var(--ff-jp); font-weight: 300;
    text-align: center;
    margin-bottom: 60px;
  }
  .intro-section-head-band .band-body {
    max-width: 720px; margin: 0 auto; padding: 0 24px;
  }
  .intro-section-head-band .band-body p {
    font-size: var(--fs-b); line-height: 2.1; letter-spacing: .08em;
    color: var(--navy-soft); margin-bottom: 26px;
    text-align: left;
  }
  .intro-section-head-band .band-body p:last-child { margin-bottom: 0 }
  .intro-section-head-band .band-divider {
    text-align: center; margin: 60px 0 40px;
    color: var(--navy-mute); font-size: var(--fs-b); letter-spacing: .3em;
  }
  .intro-section-head-band .band-invitation {
    text-align: center; font-size: var(--fs-b); line-height: 2.1;
    letter-spacing: .08em; color: var(--navy-soft);
  }
  .intro-section.no-head-padding { padding-top: 60px }
  @media (max-width: 768px) {
    .intro-section-head-band { padding: 70px 0 70px }
    .intro-section-head-band h2 { margin-bottom: 40px }
    .intro-section-head-band .band-body p { font-size: var(--fs-b) }
  }

  /* page-head の lead 段落 */
  .page-head .lead {
    max-width: 600px; margin: 30px auto 0;
    font-size: var(--fs-b); line-height: 2.1; letter-spacing: .08em;
    color: var(--navy-soft); padding: 0 24px;
    text-align: center;
  }
  @media (max-width: 768px) { .page-head .lead { font-size: var(--fs-b) } }

  /* 実写真表示 (2026-06-11): 枠は写真の比率に追従させ、caption は写真の下に出す。
     sepia は文字に乗らないよう img 側へ移動 */
  .lineage-portrait {
    aspect-ratio: auto; background: none; overflow: visible; filter: none;
  }
  .lineage-portrait img {
    width: 100%; aspect-ratio: 3/4; height: auto; object-fit: cover;
    filter: sepia(0.18) brightness(0.95);
  }
  .lineage-portrait .caption { margin-top: 14px; text-align: center }

  /* lineage-essay モバイル横はみ出し防止 */
  .lineage-essay { padding-left: 24px !important; padding-right: 24px !important }
  @media (max-width: 768px) {
    .lineage-section,
    .lineage-section.flip { grid-template-columns: 1fr !important; gap: 24px !important }
    .lineage-portrait { max-width: 220px; margin: 0 auto }
  }
