.origin-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;margin:48px 0 32px;padding:0}
.origin-step{position:relative;min-width:0}
.origin-step:not(:last-child)::before{content:"";position:absolute;top:24px;left:24px;width:calc(100% + 40px);height:1px;background:#bbaa8d}
.origin-node{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border:1px solid #a88c62;border-radius:50%;background:var(--cream);color:#775a33;font-family:var(--serif);font-size:17px;line-height:1}
.origin-naming .origin-node{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.origin-content{margin-top:23px}
.origin-phase{display:block;color:#856b48;font-size:10px;letter-spacing:1.8px;margin-bottom:10px}
.origin-timeline h3{font-family:var(--serif);font-size:clamp(20px,1.9vw,25px);line-height:1.5;font-weight:600}
.origin-timeline p{color:#686254;font-size:14px;line-height:1.95;margin-top:14px;max-width:355px}
@media(max-width:760px){
  .origin-timeline{display:block;margin:35px 0 27px}
  .origin-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:22px;padding-bottom:32px}
  .origin-step:last-child{padding-bottom:0}
  .origin-step:not(:last-child)::before{left:21px;top:25px;width:1px;height:100%}
  .origin-node{width:42px;height:42px;font-size:15px;margin-top:4px}
  .origin-content{margin-top:0}
  .origin-phase{font-size:9px;letter-spacing:1.5px;margin-bottom:5px}
  .origin-timeline h3{font-size:21px;line-height:1.5}
  .origin-timeline p{font-size:13px;line-height:1.9;margin-top:10px;max-width:none}
}
@media(max-width:360px){
  .origin-step{gap:16px}
  .origin-timeline h3{font-size:18px}
}

/* The article keeps the same stages in its narrower reading column. */
.article-body .origin-timeline{display:block;list-style:none;padding:0;margin:30px 0;line-height:1.8}
.article-body .origin-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:26px;padding-bottom:34px}
.article-body .origin-step+.origin-step{margin-top:0}
.article-body .origin-step:last-child{padding-bottom:0}
.article-body .origin-step:not(:last-child)::before{left:24px;top:24px;width:1px;height:100%}
.article-body .origin-node{margin-top:0}
.article-body .origin-content{margin-top:0}
.article-body .origin-timeline h3{font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--ink);margin:0}
.article-body .origin-timeline p{font-size:15px;line-height:1.95;max-width:none;margin:12px 0 0}
.article-body .origin-context{border-top:1px solid #d1c8b7;padding-top:20px;font-size:13px;color:#686254}
@media(max-width:760px){
  .article-body .origin-step{grid-template-columns:42px minmax(0,1fr);gap:22px;padding-bottom:30px}
  .article-body .origin-step:last-child{padding-bottom:0}
  .article-body .origin-step:not(:last-child)::before{left:21px;top:21px}
  .article-body .origin-timeline h3{font-size:21px}
  .article-body .origin-timeline p{font-size:14px;margin-top:10px}
}
@media(max-width:360px){
  .article-body .origin-step{gap:16px}
  .article-body .origin-timeline h3{font-size:18px}
}
