
/* shiftedAI lifecycle diagram — scoped to governance page */
.lifecycle-section{position:relative;overflow:hidden;background:linear-gradient(165deg,#f8faff 0%,#fff 48%,#f6f8ff 100%)!important;padding:94px 0 106px}
.lifecycle-section::before{content:"";position:absolute;right:-200px;top:0;width:650px;height:650px;pointer-events:none;background:radial-gradient(circle,rgba(79,70,229,.075),transparent 67%)}
.lifecycle-section .wrap{position:relative}
.lifecycle-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:56px}
.lifecycle-intro h2{margin:0;font-size:clamp(34px,4.1vw,56px);line-height:1.09;letter-spacing:-.055em}
.lifecycle-period{color:#4f46e5}
.lifecycle-intro>p{max-width:385px;font-size:16px;line-height:1.8;margin:0 0 6px}
.lifecycle-diagram{--rail-start:10%;--rail-end:90%;position:relative;padding:28px 22px 24px;border:1px solid #dce3f6;border-radius:25px;background:rgba(255,255,255,.95);box-shadow:0 25px 70px rgba(37,45,103,.075),0 2px 7px rgba(37,45,103,.035);isolation:isolate}
.lifecycle-diagram::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,rgba(238,242,255,.55),transparent 50%,rgba(238,242,255,.5));pointer-events:none}
.lifecycle-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:10px;position:relative;z-index:2}
.lifecycle-stage{min-width:0;display:flex;flex-direction:column;align-items:center;position:relative}
.lifecycle-node{width:74px;height:74px;border-radius:23px;background:#f0f2ff;color:#4338ca;border:1px solid #d9defa;display:grid;place-items:center;box-shadow:0 0 0 7px #fff,0 8px 22px rgba(67,56,202,.07);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,background .45s,color .45s}
.lifecycle-node svg{width:31px;height:31px}
.lifecycle-stage:hover .lifecycle-node{transform:translateY(-5px);background:#4338ca;color:#fff;box-shadow:0 0 0 7px #fff,0 15px 35px rgba(67,56,202,.25)}
.lifecycle-rail{position:absolute;z-index:1;top:65px;left:calc(22px + (100% - 44px) / 10);right:calc(22px + (100% - 44px) / 10);height:4px;pointer-events:none}
.lifecycle-rail-track,.lifecycle-rail-progress{position:absolute;inset:0;border-radius:20px}
.lifecycle-rail-track{background:#e5e9fa}
.lifecycle-rail-progress{background:linear-gradient(90deg,#a5b4fc,#4f46e5,#818cf8);transform:scaleX(0);transform-origin:left center;box-shadow:0 0 12px rgba(79,70,229,.25)}
.lifecycle-rail-pulse{position:absolute;left:0;top:50%;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#4f46e5;box-shadow:0 0 0 5px rgba(99,102,241,.15),0 0 18px rgba(79,70,229,.35);transform:translate(-50%,-50%);opacity:0}
.lifecycle-stage-content{padding:35px 9px 16px;text-align:center}
.lifecycle-index{display:block;font:700 10px/1.5 "Space Mono",ui-monospace,monospace;letter-spacing:.04em;color:#4f46e5;margin-bottom:13px}
.lifecycle-stage h3{font-size:18px;line-height:1.25;margin:0 0 12px;letter-spacing:-.035em;color:#0f172a}
.lifecycle-stage p{font-size:13px;line-height:1.7;margin:0;color:#63708a;min-height:89px}
.lifecycle-evidence{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:8px;border:1px solid #e1e6f5;background:#f8faff;color:#525b77;font-size:10px;font-weight:700;line-height:1.3;margin-top:16px}
.lifecycle-continuous{display:flex;align-items:center;gap:15px;margin:19px 4px 0;padding:20px 23px;border-radius:14px;background:#eef2ff;border:1px solid #dfe4fc}
.lifecycle-continuous-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#4338ca;color:white;font-size:27px;line-height:1}
.lifecycle-continuous>div{display:flex;flex-direction:column;gap:2px}
.lifecycle-continuous strong{color:#252267;font-size:14px}
.lifecycle-continuous>div>span{font-size:12px;color:#60658a}
.lifecycle-continuous-label{margin-left:auto;font:700 10px/1.4 "Space Mono",monospace;color:#4338ca;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .lifecycle-diagram.is-visible .lifecycle-rail-progress{animation:lifecycle-draw 2.1s .3s cubic-bezier(.18,.65,.28,1) forwards}
  .lifecycle-diagram.is-visible .lifecycle-rail-pulse{animation:lifecycle-travel 2.1s .3s cubic-bezier(.18,.65,.28,1) forwards}
  .lifecycle-diagram.is-visible .lifecycle-stage{animation:lifecycle-reveal .65s both;animation-delay:calc(.12s + var(--stage) * .27s)}
  .lifecycle-diagram.is-visible .lifecycle-continuous{animation:lifecycle-reveal .7s 1.65s both}
  @keyframes lifecycle-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes lifecycle-travel{0%{left:0;opacity:0}7%{opacity:1}95%{opacity:1}100%{left:100%;opacity:0}}
  @keyframes lifecycle-reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
}
@media (max-width:850px){
 .lifecycle-intro{display:block;margin-bottom:36px}
 .lifecycle-intro>p{max-width:660px;margin-top:18px}
 .lifecycle-diagram{padding:24px 20px}
 .lifecycle-stages{display:flex;flex-direction:column;gap:0}
 .lifecycle-stage{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:start;padding:0 0 28px}
 .lifecycle-stage:last-child{padding-bottom:10px}
 .lifecycle-node{width:60px;height:60px;border-radius:18px}
 .lifecycle-node svg{width:26px;height:26px}
 .lifecycle-stage-content{padding:2px 0 0;text-align:left}
 .lifecycle-stage p{min-height:0;max-width:480px}
 .lifecycle-index{margin-bottom:5px}
 .lifecycle-stage h3{margin-bottom:6px}
 .lifecycle-evidence{margin-top:10px}
 .lifecycle-rail{top:54px;bottom:96px;left:50px;right:auto;width:4px;height:auto}
 .lifecycle-rail-progress{transform:scaleY(0);transform-origin:center top}
 .lifecycle-rail-pulse{top:0;left:50%;transform:translate(-50%,-50%)}
 .lifecycle-diagram.is-visible .lifecycle-rail-progress{animation-name:lifecycle-draw-vertical}
 .lifecycle-diagram.is-visible .lifecycle-rail-pulse{animation-name:lifecycle-travel-vertical}
 @keyframes lifecycle-draw-vertical{from{transform:scaleY(0)}to{transform:scaleY(1)}}
 @keyframes lifecycle-travel-vertical{0%{top:0;opacity:0}7%{opacity:1}95%{opacity:1}100%{top:100%;opacity:0}}
}
@media (max-width:520px){
 .lifecycle-section{padding:64px 0 70px}
 .lifecycle-diagram{padding:22px 14px}
 .lifecycle-rail{left:44px}
 .lifecycle-stage{grid-template-columns:60px 1fr;gap:13px}
 .lifecycle-node{width:52px;height:52px;border-radius:16px}
 .lifecycle-stage-content{padding-top:0}
 .lifecycle-continuous{padding:14px;margin:10px 0 0;gap:10px}
 .lifecycle-continuous-label{display:none}
 .lifecycle-continuous>div>span{font-size:11px}
}
@media (prefers-reduced-motion:reduce){
 .lifecycle-node{transition:none}
 .lifecycle-rail-progress{transform:none}
 .lifecycle-rail-pulse{display:none}
}
