/* roadmap.css */
.sm-roadmap-step{display:grid;grid-template-columns:3.5rem 1fr;gap:1.25rem;padding-bottom:2rem;position:relative}
.sm-roadmap-step:last-child{padding-bottom:0}
.sm-step-line{position:relative;display:flex;flex-direction:column;align-items:center}
.sm-step-circle{width:2.75rem;height:2.75rem;border-radius:var(--sm-r-full);background:var(--sm-mint-tint);
  border:2px solid var(--sm-green);display:flex;align-items:center;justify-content:center;
  font-family:var(--sm-font-display);font-size:1.125rem;color:var(--sm-green-dark);flex-shrink:0;
  position:relative;z-index:2}
.sm-step-connector{position:absolute;top:2.75rem;bottom:-2rem;left:50%;transform:translateX(-50%);
  width:2px;background:var(--sm-mint-tint);margin:0;z-index:1}
.sm-step-content{padding-top:0.5rem}
.sm-step-content h3{font-family:var(--sm-font-body);font-size:var(--sm-size-xl);font-weight:500;color:var(--sm-ink);margin-bottom:0.4375rem}
.sm-step-content p{font-family:var(--sm-font-body);font-size:var(--sm-size-md);color:var(--sm-ink-3);line-height:1.65;margin-bottom:.9rem}
.sm-step-links{display:flex;gap:0.5rem;flex-wrap:wrap}
.sm-step-link{font-family:var(--sm-font-body);font-size:var(--sm-size-sm);color:var(--sm-green-dark);background:var(--sm-mint-tint);
  padding:0.3125rem 0.8125rem;border-radius:var(--sm-r-full);font-weight:500;text-decoration:none;transition:background var(--sm-transition)}
.sm-step-link:hover{background:var(--sm-mint)}
/* Interactive checklist — clickable items that persist via localStorage */
.sm-checklist{margin:2rem 0 1.5rem;background:var(--sm-paper-2);border:1px solid var(--sm-border);border-radius:var(--sm-r-lg);padding:.5rem 1.25rem}
.sm-checklist-progress{display:flex;align-items:center;gap:0.75rem;padding:.9rem 0 1rem;border-bottom:1px solid var(--sm-border);margin-bottom:.5rem}
.sm-checklist-progress__text{font-family:var(--sm-font-body);font-size:var(--sm-size-sm);font-weight:500;color:var(--sm-ink);white-space:nowrap}
.sm-checklist-progress__text strong{color:var(--sm-green);font-size:var(--sm-size-md)}
.sm-checklist-progress__bar{flex:1;height:0.375rem;background:var(--sm-paper-3);border-radius:var(--sm-r-full);overflow:hidden}
.sm-checklist-progress__fill{height:100%;background:linear-gradient(90deg,var(--sm-green),var(--sm-mint));border-radius:var(--sm-r-full);transition:width .4s cubic-bezier(.4,0,.2,1);width:0%}
.sm-checklist-reset{background:none;border:none;color:var(--sm-ink-4);font-family:var(--sm-font-body);font-size:var(--sm-size-xs);cursor:pointer;padding:0.25rem 0.5rem;border-radius:var(--sm-r-sm);transition:all var(--sm-transition)}
.sm-checklist-reset:hover{color:var(--sm-green);background:var(--sm-mint-tint)}

.sm-checklist-item{display:flex;gap:0.75rem;padding:.85rem .5rem;border-bottom:1px solid var(--sm-border);
  font-family:var(--sm-font-body);font-size:var(--sm-size-md);color:var(--sm-ink);line-height:1.5;
  cursor:pointer;border-radius:var(--sm-r-sm);transition:background var(--sm-transition)}
.sm-checklist-item:hover{background:var(--sm-mint-tint)}
.sm-checklist-item:last-child{border-bottom:none}
.sm-checklist-item p{margin:0;flex:1;transition:color var(--sm-transition),text-decoration-color var(--sm-transition)}
.sm-checklist-item.is-checked p{color:var(--sm-ink-4);text-decoration:line-through;text-decoration-color:var(--sm-ink-4)}
.sm-checklist-item.is-checked{background:var(--sm-green-dim)}

.sm-check-icon{width:1.5rem;height:1.5rem;border-radius:var(--sm-r-full);background:var(--sm-paper);
  border:2px solid var(--sm-border-strong);display:flex;align-items:center;justify-content:center;
  font-size:0.8125rem;color:var(--sm-paper);font-weight:700;flex-shrink:0;margin-top:1px;position:relative;
  transition:all .2s cubic-bezier(.4,0,.2,1)}
.sm-check-icon::before{content:"";width:0.625rem;height:0.3125rem;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) scale(0);margin-top:-0.125rem;transition:transform .2s cubic-bezier(.4,0,.2,1)}
.sm-checklist-item:hover .sm-check-icon{border-color:var(--sm-green)}
.sm-checklist-item.is-checked .sm-check-icon{background:var(--sm-green);border-color:var(--sm-green);color:var(--sm-paper);animation:sm-check-pop .3s cubic-bezier(.4,0,.2,1)}
.sm-checklist-item.is-checked .sm-check-icon::before{transform:rotate(-45deg) scale(1)}
@keyframes sm-check-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}

@media(prefers-reduced-motion:reduce){.sm-check-icon,.sm-checklist-item.is-checked .sm-check-icon,.sm-checklist-progress__fill{animation:none;transition:none}}
.sm-step-time{display:inline-block;font-family:var(--sm-font-body);font-size:var(--sm-size-xs);color:var(--sm-green);background:var(--sm-mint-tint);padding:0.1875rem 0.625rem;border-radius:var(--sm-r-full);margin-bottom:.5rem;font-weight:500}
@media(max-width:640px){.sm-roadmap-step{grid-template-columns:2.75rem 1fr;gap:.9rem}.sm-step-circle{width:2.25rem;height:2.25rem;font-size:0.9375rem}}
