.plan-lifecycle{--plan-lifecycle-width:min(100%, 66rem);width:var(--plan-lifecycle-width);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-display);display:grid;position:relative}.plan-lifecycle__header,.plan-lifecycle__facts,.plan-lifecycle__timeline-wrap,.plan-lifecycle__footer{padding-inline:clamp(1.15rem,4vw,3rem);position:relative}.plan-lifecycle__header{justify-content:space-between;align-items:flex-start;gap:2rem;padding-top:clamp(1.45rem,4vw,3rem);padding-bottom:clamp(1.2rem,3vw,2.1rem);display:flex}.plan-lifecycle__heading{max-width:42rem}.plan-lifecycle__kicker,.plan-lifecycle__timeline-label,.plan-lifecycle__current-label{color:var(--ink-soft);font-family:var(--font-data);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700;line-height:1.3}.plan-lifecycle__title{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:.6rem 0 0;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:680;line-height:.98}.plan-lifecycle__detail{max-width:36rem;color:var(--ink-soft);margin:1rem 0 0;font-size:.98rem;line-height:1.5}.plan-lifecycle__current{color:var(--signal-text);border:1px solid var(--line-strong);border-radius:var(--radius);text-align:right;flex:none;justify-items:end;gap:.35rem;margin:0;padding:.55rem .7rem;display:grid}.plan-lifecycle__current strong{font-size:.88rem;font-weight:700}.plan-lifecycle__facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0;padding-top:1rem;padding-bottom:1rem;display:grid}.plan-lifecycle__fact{min-width:0}.plan-lifecycle__fact dt{color:var(--ink-soft);font-family:var(--font-data);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.3rem;font-size:.63rem;font-weight:700}.plan-lifecycle__fact dd{overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.35}.plan-lifecycle__timeline-wrap{padding-top:clamp(1.4rem,4vw,2.25rem);padding-bottom:clamp(1.4rem,4vw,2.25rem)}.plan-lifecycle__timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:1.1rem 0 0;padding:0;list-style:none;display:grid;position:relative}.plan-lifecycle__timeline:before,.plan-lifecycle__timeline:after{content:"";height:1px;position:absolute;top:.45rem;left:.55rem}.plan-lifecycle__timeline:before{background:var(--line);right:.55rem}.plan-lifecycle__timeline:after{width:var(--plan-lifecycle-progress);background:var(--signal);transition:width .46s cubic-bezier(.2,.7,.2,1);right:auto}.plan-lifecycle__step{z-index:1;justify-items:start;min-width:0;padding-right:.8rem;display:grid;position:relative}.plan-lifecycle__marker{border:1px solid var(--line);background:var(--paper);border-radius:50%;place-items:center;width:.9rem;height:.9rem;margin-bottom:.85rem;transition:background-color .22s,border-color .22s,transform .22s;display:grid}.plan-lifecycle__marker span{background:0 0;border-radius:50%;width:.3rem;height:.3rem;transition:background-color .22s}.plan-lifecycle__step--complete .plan-lifecycle__marker{border-color:var(--signal)}.plan-lifecycle__step--complete .plan-lifecycle__marker span{background:var(--signal)}.plan-lifecycle__step--current .plan-lifecycle__marker{transform:scale(1.22)}.plan-lifecycle__step--current .plan-lifecycle__marker span{background:var(--signal)}.plan-lifecycle__step-copy{gap:.28rem;min-width:0;display:grid}.plan-lifecycle__step-label{font-family:var(--font-data);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.73rem;font-weight:700;line-height:1.2;display:flex}.plan-lifecycle__step-description{max-width:12rem;color:var(--ink-soft);font-size:.78rem;line-height:1.4}.plan-lifecycle__step-current{color:var(--signal);letter-spacing:.08em;font-size:.58rem}.plan-lifecycle__footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;padding-bottom:1.3rem;display:flex}.plan-lifecycle__message{color:var(--ink-soft);margin:0;font-size:.88rem}.plan-lifecycle__advance{color:var(--paper);background:var(--ink);border:1px solid var(--ink);border-radius:var(--radius);cursor:pointer;font:inherit;flex:none;padding:.65rem .85rem;font-size:.78rem;transition:color .16s,background-color .16s,transform .16s}.plan-lifecycle__advance:hover{color:var(--ink);background:var(--paper);transform:translateY(-1px)}.plan-lifecycle__advance:focus-visible{outline:3px solid var(--signal-soft);outline-offset:3px}.plan-lifecycle[data-state=cancelled] .plan-lifecycle__current,.plan-lifecycle[data-state=archived] .plan-lifecycle__current{color:var(--ok);border-color:var(--line-strong)}.plan-lifecycle[data-state=cancelled] .plan-lifecycle__timeline:after,.plan-lifecycle[data-state=archived] .plan-lifecycle__timeline:after{background:var(--ok)}.plan-lifecycle[data-static=true] .plan-lifecycle__timeline:after,.plan-lifecycle[data-static=true] .plan-lifecycle__marker,.plan-lifecycle[data-static=true] .plan-lifecycle__marker span,.plan-lifecycle[data-static=true] .plan-lifecycle__advance{transition:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=48rem){.plan-lifecycle__header{gap:1.25rem;display:grid}.plan-lifecycle__current{text-align:left;justify-self:start;justify-items:start}.plan-lifecycle__facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1rem}.plan-lifecycle__timeline{grid-template-columns:1fr;gap:1.05rem;padding-left:.1rem}.plan-lifecycle__timeline:before,.plan-lifecycle__timeline:after{width:1px;height:auto;inset:.45rem auto .45rem .55rem}.plan-lifecycle__timeline:after{width:1px;height:var(--plan-lifecycle-progress);top:.45rem;bottom:auto}.plan-lifecycle__step{grid-template-columns:.9rem 1fr;column-gap:.9rem;padding-right:0}.plan-lifecycle__marker{grid-row:span 2;margin:0}.plan-lifecycle__step-copy{gap:.2rem}.plan-lifecycle__footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.plan-lifecycle *,.plan-lifecycle :before,.plan-lifecycle :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
