.lifespan-guide { max-width: 900px; }
.lifespan-crumb { margin: 0 0 22px; color: var(--muted); font-size: .84rem; }
.lifespan-crumb a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lifespan-guide .lede { max-width: 76ch; color: var(--ink); font-size: 1.08rem; line-height: 1.62; }
.lifespan-figure { width: min(100%, 420px); margin: 24px auto 28px; border-block: 1px solid var(--line); padding: 14px 0; }
.lifespan-figure img { display: block; width: 100%; height: auto; }
.lifespan-figure figcaption { max-width: 72ch; margin: 10px auto 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.lifespan-materials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 15px 0 25px; }
.lifespan-material { min-width: 0; padding: 16px; border-top: 3px solid var(--green); background: var(--soft); }
.lifespan-material:nth-child(2) { border-top-color: #9e7a35; }
.lifespan-material:nth-child(3) { border-top-color: #657c54; }
.lifespan-material:nth-child(4) { border-top-color: #73818a; }
.lifespan-material h3 { margin: 0 0 8px; }
.lifespan-material p { margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.58; }
.lifespan-checks { padding-left: 22px; color: var(--muted); line-height: 1.65; }
.lifespan-checks li + li { margin-top: 9px; }
.lifespan-action { margin: 20px 0 26px; padding: 17px 18px; border-left: 4px solid var(--green); background: var(--green-soft); color: var(--ink); }
.lifespan-sources { margin-top: 28px; padding-top: 17px; border-top: 1px solid var(--line); }
.lifespan-sources h2 { margin-top: 0; }
.lifespan-sources ul { padding-left: 20px; color: var(--muted); line-height: 1.58; }
.lifespan-sources li + li { margin-top: 8px; }
.lifespan-source-date { color: var(--muted); font-size: .84rem; }
@media (max-width: 620px) {
  .lifespan-materials { grid-template-columns: 1fr; }
  .lifespan-guide .lede { font-size: 1rem; }
  .lifespan-material { padding: 14px; }
}
