  .el-journey { color: #203742; }
  .el-journey h2 { max-width: 22em; margin: 0 0 14px; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.45; }
  .el-journey p { max-width: 42em; line-height: 1.85; }
  .el-journey__kicker { margin: 0 0 9px; color: #285c50; font-size: .85rem; font-weight: 800; letter-spacing: .045em; }
  .el-journey__lead { font-size: clamp(1.05rem, 2vw, 1.17rem); }
  .el-building { margin: 26px 0 28px; padding: clamp(16px, 3vw, 28px); border: 1px solid #a9c0b5; border-radius: 22px; background: #e9f2ec; }
  .el-building__floors { max-width: 430px; margin: 0 auto; border: 5px solid #57736f; border-radius: 12px 12px 3px 3px; background: #fffdfa; box-shadow: 10px 10px 0 #cadbd0; }
  .el-building__floor { display: grid; grid-template-columns: 46px minmax(0, 1fr) 62px; align-items: center; gap: 10px; min-height: 72px; padding: 7px 14px; }
  .el-building__floor + .el-building__floor { border-top: 4px solid #758d88; }
  .el-building__floor b { font-size: 1.2rem; }
  .el-building__floor span { font-size: .94rem; font-weight: 700; }
  .el-building__floor strong { display: grid; place-items: center; min-height: 42px; border: 2px solid #876842; border-radius: 11px; background: #ffdb8e; color: #392b20; font-size: .98rem; text-align: center; }
  .el-building__floor i { color: #2e6988; font-size: 1.65rem; font-style: normal; font-weight: 800; text-align: center; }
  .el-building figcaption { max-width: 35em; margin: 18px auto 0; color: #3d5960; font-size: .9rem; line-height: 1.6; }
  .el-journey__beats { display: grid; gap: 12px; padding: 0; margin: 0 0 22px; list-style: none; }
  .el-journey__beats li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; padding: 16px 18px; border: 1px solid #cbded3; border-radius: 16px; background: #fff; }
  .el-journey__beats li > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #286755; color: #fff; font-weight: 800; }
  .el-journey__beats h3 { margin: 0 0 4px; font-size: 1.1rem; line-height: 1.5; }
  .el-journey__beats p { margin: 0; }
  .el-journey__button-note, .el-journey__try, .el-journey__care { padding: 17px 20px; margin-top: 17px; border-radius: 15px; background: #fff5de; }
  .el-journey__button-note strong, .el-journey__try strong, .el-journey__care strong { display: block; margin-bottom: 5px; }
  .el-journey__button-note p, .el-journey__try p, .el-journey__care p { margin: 0; }
  .el-journey__try { background: #e6eff7; }
  .el-journey__try small { display: block; margin-top: 10px; color: #315268; font-size: .9rem; }
  .el-journey--older { padding: 24px 26px; margin-bottom: 30px; border: 1px solid #c9d8d0; border-radius: 18px; background: #f1f7f2; }
  .el-journey__chain { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 24px 0; }
  .el-journey__chain > div { position: relative; padding: 15px 12px; border: 1px solid #b8d3c8; border-radius: 12px; background: #fff; }
  .el-journey__chain > div:not(:last-child)::after { content: '→'; position: absolute; top: 14px; right: -13px; z-index: 1; color: #285c50; font-weight: 800; }
  .el-journey__chain b, .el-journey__chain span { display: block; }
  .el-journey__chain b { margin-bottom: 4px; color: #27594f; }
  .el-journey__chain span { font-size: .9rem; line-height: 1.5; }
  .el-journey__bridge { margin-bottom: 0; }
  .el-journey__talks { display: grid; gap: 11px; margin: 24px 0; }
  .el-journey__talks > div { padding: 15px 18px; border: 1px solid #d3d8cc; border-radius: 13px; background: #fff; }
  .el-journey__talks span { display: block; margin-bottom: 3px; color: #4c665b; font-size: .85rem; font-weight: 800; }
  .el-journey__talks strong { display: block; font-size: 1.05rem; }
  .el-journey__talks p { margin: 5px 0 0; }
  .el-journey__care { background: #e6f0ea; }
  .el-journey__source { margin-top: 18px; color: #47616a; font-size: .88rem; }
  .el-journey__source a { color: #195c6b; text-decoration-thickness: 1px; text-underline-offset: 3px; }
  @media (max-width: 540px) {
    .el-building__floor { grid-template-columns: 34px minmax(0, 1fr) 58px; gap: 5px; padding-inline: 8px; }
    .el-building__floor span { font-size: .82rem; }
    .el-journey__beats li { padding: 14px; gap: 10px; }
    .el-journey--older { padding: 18px; }
    .el-journey__chain { grid-template-columns: 1fr; }
    .el-journey__chain > div:not(:last-child)::after { content: '↓'; top: auto; bottom: -17px; right: 14px; }
  }
  @media (forced-colors: active) { .el-building__floor strong, .el-journey__beats li > span { border: 2px solid CanvasText; } }
