:root{
  --tutorial-hero-space:72px;
  --tutorial-step-gap:72px;
  --tutorial-marker-size:46px;
  --tutorial-platform-gap:18px;
  --tutorial-copy-width:760px;
}
.tutorial-hero{
  position:relative;
  padding-top:var(--tutorial-hero-space);
  padding-bottom:var(--tutorial-hero-space);
  overflow-x:clip;
  text-align:center;
}
.tutorial-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,var(--accent-06),transparent);
  pointer-events:none;
}
.tutorial-hero .content-wrap{
  position:relative;
}
.tutorial-hero h1{
  max-width:820px;
  margin-inline:auto;
}
.tutorial-hero .lead{
  max-width:760px;
  margin-inline:auto;
}
.tutorial-hero-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
.tutorial-document{
  position:relative;
  padding-top:48px;
  padding-bottom:24px;
}
.tutorial-callout{
  margin-top:0;
}
.tutorial-intro{
  max-width:var(--tutorial-copy-width);
  margin:38px auto 0;
}
.tutorial-step{
  max-width:var(--tutorial-copy-width);
  margin:var(--tutorial-step-gap) auto 0;
  padding-top:8px;
}
.step-heading{
  display:grid;
  grid-template-columns:var(--tutorial-marker-size) minmax(0,1fr);
  align-items:start;
  gap:16px;
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
}
.step-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--tutorial-marker-size);
  height:var(--tutorial-marker-size);
  border:1px solid var(--accent-20);
  border-radius:50%;
  background:var(--accent);
  color:var(--white);
  box-shadow:0 12px 28px -16px var(--accent-40);
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:800;
}
.step-label{
  margin-bottom:3px;
  color:var(--accent);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
}
.step-heading h2{
  margin-bottom:0;
  font-size:clamp(28px,4vw,40px);
}
.step-action{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.platform-instructions{
  display:grid;
  gap:var(--tutorial-platform-gap);
  margin:34px 0;
}
.platform-instruction{
  padding:26px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--bg-panel);
  box-shadow:0 1px 0 var(--white) inset,var(--shadow-soft);
}
.platform-instruction h3{
  margin-top:0;
  color:var(--text);
  font-size:22px;
}
.platform-instruction p:last-child{
  margin-bottom:0;
}
.tutorial-document .promo-block{
  max-width:960px;
  margin-right:auto;
  margin-left:auto;
}
@media (max-width:768px){
  :root{
    --tutorial-hero-space:54px;
    --tutorial-step-gap:58px;
    --tutorial-marker-size:42px;
  }
  .tutorial-document{
    padding-top:34px;
  }
  .tutorial-intro{
    margin-top:30px;
  }
  .platform-instruction{
    padding:22px;
  }
}
@media (max-width:640px){
  :root{
    --tutorial-hero-space:42px;
    --tutorial-step-gap:50px;
  }
  .tutorial-hero-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .tutorial-hero-actions .btn{
    width:100%;
  }
  .step-heading{
    gap:12px;
  }
  .step-action{
    align-items:stretch;
    flex-direction:column;
  }
  .step-action .btn{
    width:100%;
  }
  .platform-instruction{
    padding:18px;
  }
}