/* ---------- STAGE LIFECYCLE (role matrix timeline) ---------- */
.stage-lifecycle--theme-white{background:var(--white);}
.stage-lifecycle--theme-light{background:var(--paper);}
.stage-lifecycle--theme-dark{background:var(--midnight);}

/* Classes/values copied verbatim from the approved concept
   (concept/how-it-works.html, .lifecycle) for pixel parity. */
.lifecycle{position:relative;margin-top:8px;}
.lifecycle::before{
  content:"";position:absolute;top:20px;bottom:20px;left:19px;width:1px;background:var(--border-light);
}
.lifecycle-step{
  position:relative;display:grid;grid-template-columns:56px 1fr;gap:32px;
  padding:44px 0;
}
.lifecycle-step:first-child{padding-top:0;}
.lifecycle-step:last-child{padding-bottom:0;}
.step-marker{
  position:relative;z-index:1;width:40px;height:40px;border-radius:50%;
  background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-weight:700;font-size:15px;flex:none;
}
/* Divider sits under the content column only — starting to the right of the
   vertical spine (.lifecycle::before) instead of crossing under it, so the
   spine reads as one unbroken line instead of a "+" intersection at every
   stage boundary. */
.step-body{
  border-bottom:var(--hairline) solid var(--border-light);
  padding-bottom:44px;
}
.lifecycle-step:last-child .step-body{border-bottom:none;padding-bottom:0;}
.step-body .step-label{
  margin-bottom:10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--slate);
}
.lifecycle-step h3{font-size:22px;margin-bottom:22px;}
.role-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.role-card{
  padding:20px 22px;border-radius:var(--radius-card);background:var(--white);
  border:var(--hairline) solid var(--border-light);border-top:3px solid var(--navy-15);
}
.role-card.issuer{border-top-color:var(--slate);}
.role-card.monark{border-top-color:var(--garnet);}
.role-card.investor{border-top-color:var(--deep-sea);}
.role-card .role-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:10px;}
.role-card.monark .role-label{color:var(--garnet);}
.role-card.investor .role-label{color:var(--deep-sea);}
.role-card p,
.role-card .rte{font-size:14px;color:var(--navy-85);line-height:1.58;}

/* ---------- Dark theme ---------- */
.stage-lifecycle--theme-dark .section-head h1,
.stage-lifecycle--theme-dark .section-head h2,
.stage-lifecycle--theme-dark .section-head h3,
.stage-lifecycle--theme-dark .section-head h4{color:var(--white);}
.stage-lifecycle--theme-dark .section-head .lead{color:var(--navy-8);}
.stage-lifecycle--theme-dark .lifecycle::before{background:var(--border-dark);}
.stage-lifecycle--theme-dark .lifecycle-step h3{color:var(--white);}
.stage-lifecycle--theme-dark .step-body{border-bottom-color:var(--border-dark);}
.stage-lifecycle--theme-dark .step-body .step-label{color:var(--mist);}
.stage-lifecycle--theme-dark .role-card{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.12);}
.stage-lifecycle--theme-dark .role-card .role-label{color:var(--mist);}
.stage-lifecycle--theme-dark .role-card.monark .role-label{color:var(--garnet-lt);}
.stage-lifecycle--theme-dark .role-card.investor .role-label{color:var(--mist);}
.stage-lifecycle--theme-dark .role-card p,
.stage-lifecycle--theme-dark .role-card .rte{color:var(--navy-8);}
