/* about — cleaned component styles, 2026-09-06. */
.bp-about-content { padding-top: 58px; scroll-margin-top: 115px; }
.bp-about-intro,  .bp-about-timeline-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 6vw, 100px); }
.bp-about-content h2,  .bp-about-progress h2 { margin: 0; font: 450 clamp(29px, 2.9vw, 41px)/1.25 var(--bp-display); letter-spacing: -.035em; }
.bp-about-content p { margin: 0 0 18px; font-size: 16px; line-height: 1.9; color: #5b645e; }
.bp-about-content p:last-child { margin-bottom: 0; }
.bp-about-content strong { font-weight: 500; color: #273a2e; }
.bp-about-intro .bp-about-intro-lead { font-size: 20px; line-height: 1.65; color: #293d30; }
.bp-about-topics { margin-top: 49px; }
.bp-about-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; margin-top: 25px; }
.bp-about-card { padding: 27px 26px 29px; border-radius: 12px; background: #f3f5f0; border-top: 3px solid #8c9d88; }
.bp-about-card:nth-child(2) { background: #faf1e9; border-top-color: #cd704b; }
.bp-about-card:nth-child(3) { background: #eef2f2; border-top-color: #738e8f; }
.bp-about-card h3 { margin: 0 0 15px; font: 450 24px/1.35 var(--bp-display); letter-spacing: -.025em; color: #26382e; }
.bp-about-card p { font-size: 14px; line-height: 1.85; }
.bp-about-timeline-section { padding-top: 49px; }
.bp-about-timeline-section h2 { max-width: 400px; }
.bp-about-timeline { margin: 0; }
.bp-about-timeline > div { display: grid; grid-template-columns: 115px minmax(0, 1fr); gap: 25px; padding: 18px 0; border-bottom: 1px solid #e0e4dc; }
.bp-about-timeline > div:first-child { padding-top: 0; }
.bp-about-timeline dt { font-weight: 500; font-size: 15px; color: #a14829; }
.bp-about-timeline dd { margin: 0; font-size: 15px; line-height: 1.8; color: #5b645e; }
.bp-about-purpose { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 50px; margin-top: 49px; padding: 37px 39px; border-radius: 14px; background: #172d25; }
.bp-about-purpose h2 { color: #fff; }
.bp-about-purpose p { color: #d3ddd1; font-size: 15px; }
.bp-about-progress { padding-top: 50px; padding-bottom: 48px; }
.bp-about-progress-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; margin-bottom: 27px; }
.bp-about-progress-heading p { margin: 0; color: #5b645e; font-size: 15px; line-height: 1.85; }
.bp-about-chart { padding: 28px 26px 7px; border: 1px solid #e1e6dc; border-radius: 14px; background: #fbfcf9; }
.bp-about-actions { display: flex; flex-wrap: wrap; gap: 20px 30px; align-items: center; margin-top: 26px; }
.bp-about-text-link { color: #435c49; font-size: 14px; text-underline-offset: 5px; }
.bp-about-text-link:hover { color: #ab492a; }
.bp-about-page :is(a, summary):focus-visible { outline: 2px solid #c96940; outline-offset: 5px; }
@media (max-width: 960px) {
  .bp-about-cards { gap: 15px; }
  .bp-about-card { padding: 23px 20px; }
  .bp-about-card h3 { font-size: 21px; }
  .bp-about-purpose { gap: 30px; padding: 30px; }
}
@media (max-width: 680px) {
  .bp-about-content { padding-top: 33px; }
  .bp-about-intro,  .bp-about-timeline-section,  .bp-about-purpose,  .bp-about-progress-heading { grid-template-columns: 1fr; gap: 23px; }
  .bp-about-content h2,  .bp-about-progress h2 { font-size: 29px; }
  .bp-about-content p { font-size: 15px; line-height: 1.85; }
  .bp-about-intro .bp-about-intro-lead { font-size: 18px; }
  .bp-about-topics { margin-top: 34px; }
  .bp-about-cards { grid-template-columns: 1fr; margin-top: 22px; gap: 14px; }
  .bp-about-card { padding: 24px; }
  .bp-about-card h3 { font-size: 24px; margin-bottom: 10px; }
  .bp-about-card p { font-size: 14px; }
  .bp-about-timeline-section { padding-top: 34px; }
  .bp-about-timeline > div { grid-template-columns: 96px minmax(0, 1fr); gap: 17px; }
  .bp-about-timeline dt,  .bp-about-timeline dd { font-size: 14px; }
  .bp-about-purpose { padding: 27px 24px; margin-top: 34px; }
  .bp-about-purpose p { font-size: 14px; }
  .bp-about-progress { padding-top: 34px; padding-bottom: 35px; }
  .bp-about-progress-heading { margin-bottom: 21px; }
  .bp-about-progress-heading p { font-size: 14px; }
  .bp-about-chart { padding: 16px 4px 4px; }
  .bp-about-actions { gap: 20px; }
  .bp-about-actions .bp-button { width: 100%; justify-content: center; font-size: 13px; }
}
.bp-unified-page .bp-about-topics,  .bp-unified-page .bp-about-purpose { margin-top: var(--bp-section-space); }
.bp-unified-page .bp-about-timeline-section { padding-top: var(--bp-section-space); }
.bp-unified-page .bp-about-progress { padding-top: var(--bp-section-space); padding-bottom: 0; }
.bp-author-card { max-width: 410px; margin-top: 27px; padding: 22px; border-radius: 12px; background: #f1f4ee; border: 1px solid #dfe6d9; }
.bp-author-card-person { display: flex; gap: 15px; align-items: center; }
.bp-author-monogram { display: grid; place-items: center; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; background: #233b30; color: #f2b589; font: 500 25px/1 var(--bp-display); }
.bp-author-card-person strong { display: block; font-size: 20px; line-height: 1.4; }
.bp-author-card-person div > span { display: block; margin-top: 3px; color: #59695f; font-size: 12px; line-height: 1.5; }
.bp-about-content .bp-author-card p { margin: 18px 0 13px; font-size: 13px; line-height: 1.7; }
.bp-author-card ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.bp-author-card li { margin: 0; padding: 5px 9px; background: #fff; border-radius: 4px; color: #536149; font-size: 11px; line-height: 1.5; }
.bp-author-card li::before { content: ''; display: inline-block; width: 4px; height: 4px; margin-right: 6px; border-radius: 50%; background: #c9663b; vertical-align: middle; }
@media (max-width: 680px) {
  .bp-author-card { max-width: none; margin-top: 22px; padding: 19px; }
}
