.tutorial-hero{
  position:relative;
  overflow-x:clip;
  padding-top:72px;
  padding-bottom:72px;
  border-bottom:1px solid var(--color-line);
}
.tutorial-hero-decor{
  position:absolute;
  top:-180px;
  left:-120px;
  width:520px;
  height:520px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-pill);
  opacity:.65;
}
.tutorial-hero-decor::before,
.tutorial-hero-decor::after{
  content:"";
  position:absolute;
  border:1px solid var(--color-line);
  border-radius:var(--radius-pill);
}
.tutorial-hero-decor::before{
  inset:72px;
}
.tutorial-hero-decor::after{
  inset:148px 42px;
}
.tutorial-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  align-items:center;
  gap:64px;
}
.tutorial-hero-copy{
  min-width:0;
  max-width:720px;
}
.tutorial-hero-copy h1{
  margin-top:1rem;
  margin-bottom:.35em;
}
.tutorial-hero-note{
  max-width:62ch;
  margin-bottom:1.6rem;
  color:var(--color-ink-soft);
}
.tutorial-route{
  position:relative;
  min-width:0;
  padding:1.7rem;
}
.tutorial-rail{
  display:grid;
  gap:.15rem;
  padding:0;
  margin:0;
  counter-reset:tutorial-route;
}
.tutorial-rail li{
  position:relative;
  display:grid;
  min-width:0;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:1rem;
  padding-top:.8rem;
  padding-bottom:.8rem;
  list-style:none;
  counter-increment:tutorial-route;
}
.tutorial-rail li::before{
  content:counter(tutorial-route);
  display:grid;
  width:36px;
  height:36px;
  grid-row:1 / 3;
  place-items:center;
  align-self:center;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-pill);
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:.78rem;
  font-weight:800;
}
.tutorial-rail li+li{
  border-top:1px solid var(--color-line);
}
.tutorial-rail strong{
  color:var(--color-ink);
  font-family:var(--font-display);
}
.tutorial-rail span{
  color:var(--color-ink-soft);
  font-size:.86rem;
}
.tutorial-flow{
  padding-top:64px;
  padding-bottom:96px;
}
.tutorial-opening{
  max-width:920px;
  margin-bottom:2rem;
}
.tutorial-section{
  max-width:980px;
  padding-top:76px;
  padding-bottom:12px;
}
.tutorial-section+.tutorial-section{
  border-top:1px solid var(--color-line);
}
.step-heading{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:1.2rem;
  margin-bottom:1.5rem;
}
.step-heading .eyebrow{
  margin-bottom:.45rem;
}
.step-heading h2{
  margin-bottom:0;
}
.step-mark{
  display:inline-flex;
  min-width:64px;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:.35rem .75rem;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-pill);
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:800;
}
.tutorial-copy{
  max-width:78ch;
  color:var(--color-ink-soft);
}
.tutorial-copy p{
  margin-bottom:1.15rem;
}
.tutorial-copy a,
.tutorial-next a{
  color:var(--color-accent);
  text-decoration:underline;
  text-underline-offset:.2em;
}
.tutorial-copy pre{
  margin-top:1.5rem;
  margin-bottom:1.5rem;
}
.tutorial-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.9rem;
  margin-top:1.7rem;
}
.tutorial-platforms{
  max-width:980px;
  margin-top:2rem;
}
.platform-guide{
  margin-top:1.1rem;
  padding:clamp(1.3rem,4vw,2.2rem);
}
.platform-guide h3{
  margin-bottom:.7rem;
}
.platform-guide p{
  max-width:76ch;
  color:var(--color-ink-soft);
}
.platform-guide p:last-child{
  margin-bottom:0;
}
.quick-check{
  max-width:780px;
  margin-top:2rem;
}
.quick-check ul{
  margin-bottom:0;
  color:var(--color-ink-soft);
}
.quick-check li::marker{
  color:var(--color-accent);
}
.tutorial-next{
  max-width:78ch;
  margin-top:1.8rem;
  color:var(--color-ink-soft);
}
@media(max-width:980px){
  .tutorial-hero-grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .tutorial-route{
    max-width:680px;
  }
  .tutorial-hero-decor{
    opacity:.38;
  }
}
@media(max-width:768px){
  .tutorial-hero{
    padding-top:48px;
    padding-bottom:48px;
  }
  .tutorial-hero-decor{
    display:none;
  }
  .tutorial-flow{
    padding-top:44px;
    padding-bottom:70px;
  }
  .tutorial-section{
    padding-top:58px;
  }
  .step-heading{
    grid-template-columns:1fr;
    gap:.8rem;
  }
}
@media(max-width:640px){
  .tutorial-hero-grid{
    gap:28px;
  }
  .tutorial-route{
    padding:1.15rem;
  }
  .tutorial-rail li{
    grid-template-columns:38px minmax(0,1fr);
    column-gap:.75rem;
  }
  .tutorial-rail li::before{
    width:32px;
    height:32px;
  }
  .tutorial-actions .btn{
    width:100%;
  }
  .platform-guide{
    padding:1.15rem;
  }
}