.tutorial-hero{
  position:relative;
  padding-top:56px;
  padding-bottom:76px;
  overflow-x:clip;
  max-width:100%;
}
.tutorial-hero::before{
  content:"";
  position:absolute;
  inset:-120px 0 0;
  background:linear-gradient(180deg,var(--alpha-green-07),var(--alpha-green-04),var(--alpha-bg-00));
  pointer-events:none;
}
.tutorial-hero-layout{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(460px,.82fr);
  gap:64px;
  align-items:center;
}
.tutorial-hero-copy{
  min-width:0;
}
.tutorial-hero-copy h1{
  max-width:760px;
  margin-top:24px;
  margin-bottom:0;
}
.tutorial-lead{
  max-width:720px;
  margin-top:24px;
  margin-bottom:0;
  font-size:19px;
  line-height:1.8;
}
.tutorial-facts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.tutorial-facts span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  max-width:100%;
  padding:6px 13px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel);
  color:var(--color-muted);
  font-size:13px;
  font-weight:700;
  box-shadow:var(--highlight);
}
.tutorial-route{
  position:relative;
  min-height:500px;
  padding:38px;
  overflow:hidden;
}
.tutorial-route::before{
  content:"";
  position:absolute;
  right:-90px;
  top:-110px;
  width:330px;
  height:330px;
  border-radius:var(--radius-pill);
  background:radial-gradient(circle,var(--alpha-green-30),var(--alpha-green-08),var(--alpha-green-00));
}
.route-spine{
  position:absolute;
  left:50%;
  top:72px;
  bottom:112px;
  width:1px;
  background:var(--color-border);
}
.route-stage{
  position:absolute;
  z-index:2;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  align-items:center;
  width:210px;
}
.route-stage strong{
  align-self:end;
  font:800 16px/1.2 var(--font-display);
}
.route-stage small{
  grid-column:2;
  align-self:start;
  color:var(--color-muted);
  font-size:12px;
}
.route-node{
  grid-row:1 / 3;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:var(--radius-pill);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-soft));
  color:var(--color-deep-start);
  box-shadow:0 14px 28px -10px var(--alpha-green-55);
}
.route-node svg{
  width:25px;
  height:25px;
}
.route-stage-account{
  left:42px;
  top:42px;
}
.route-stage-plan{
  right:22px;
  top:146px;
}
.route-stage-subscribe{
  left:42px;
  top:252px;
}
.route-stage-connect{
  right:22px;
  top:354px;
}
.route-result{
  position:absolute;
  z-index:3;
  left:38px;
  right:38px;
  bottom:30px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
}
.route-result .status-dot{
  flex:none;
}
.route-result strong{
  font-family:var(--font-display);
}
.route-result p{
  margin:3px 0 0;
  font:650 12px/1.5 var(--font-mono);
}

.tutorial-document{
  position:relative;
  padding-top:28px;
  padding-bottom:40px;
}
.tutorial-section{
  padding-top:72px;
  padding-bottom:72px;
  border-bottom:1px solid var(--color-border);
}
.tutorial-section:last-child{
  border-bottom:0;
}
.step-heading{
  display:grid;
  grid-template-columns:74px minmax(0,760px);
  gap:22px;
  align-items:start;
  margin-bottom:32px;
}
.step-heading h2{
  margin-bottom:12px;
}
.step-heading p{
  margin-bottom:0;
  font-size:17px;
}
.step-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 12px;
  border-radius:var(--radius-pill);
  background:var(--color-accent);
  color:var(--color-text);
  font:800 13px/1 var(--font-mono);
  box-shadow:0 12px 24px -10px var(--alpha-green-55);
}
.step-content{
  min-width:0;
  max-width:850px;
}
.step-content p,
.section-intro{
  font-size:16px;
  line-height:1.9;
}
.step-content a,
.section-intro a{
  color:var(--color-accent-dark);
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
}
.step-content pre{
  margin-top:24px;
  margin-bottom:24px;
}
.step-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:36px;
  align-items:start;
  padding:34px;
  border-radius:var(--radius-xl);
  background:var(--color-panel-soft);
  box-shadow:var(--highlight),var(--shadow-accent);
}
.step-shell .step-content{
  max-width:none;
}
.step-action,
.verify-card{
  position:sticky;
  top:150px;
  padding:22px;
}
.step-action strong,
.verify-card strong{
  display:block;
  margin-bottom:10px;
  font:800 17px/1.35 var(--font-display);
}
.step-action p{
  margin-bottom:18px;
}
.step-action .btn{
  width:100%;
}
.section-intro{
  max-width:880px;
  margin-bottom:28px;
}
.platform-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.platform-step{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:18px;
  padding:26px;
}
.platform-step-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:var(--radius-pill);
  background:var(--color-accent);
  color:var(--color-deep-start);
}
.platform-step-icon svg{
  width:27px;
  height:27px;
}
.platform-step h3{
  margin-bottom:14px;
  font-size:22px;
}
.platform-step p{
  font-size:15px;
  line-height:1.85;
}
.platform-step p:last-child{
  margin-bottom:0;
}
.download-note{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  margin-top:24px;
  padding:24px 28px;
}
.download-note strong{
  font:800 18px/1.35 var(--font-display);
}
.download-note p{
  margin-top:7px;
  margin-bottom:0;
}
.verify-card ul{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.verify-card li{
  position:relative;
  padding-left:30px;
  color:var(--color-muted);
}
.verify-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border-radius:var(--radius-pill);
  background:var(--color-accent);
  color:var(--color-text);
  font-weight:900;
}
.next-reading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:center;
  margin-top:38px;
  padding:34px;
}
.next-reading h2{
  margin-top:16px;
  margin-bottom:10px;
  font-size:30px;
}
.next-reading p{
  max-width:760px;
  margin-bottom:0;
}

@media (max-width:1100px){
  .tutorial-hero-layout{
    grid-template-columns:1fr;
  }
  .tutorial-hero-copy{
    max-width:820px;
  }
  .tutorial-route{
    width:100%;
    max-width:720px;
  }
}
@media (max-width:900px){
  .step-shell{
    grid-template-columns:1fr;
  }
  .step-action,
  .verify-card{
    position:static;
  }
  .platform-steps{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .tutorial-hero{
    padding-top:36px;
    padding-bottom:54px;
  }
  .tutorial-hero-layout{
    gap:42px;
  }
  .tutorial-lead{
    font-size:17px;
  }
  .tutorial-route{
    min-height:430px;
    padding:24px;
  }
  .route-stage{
    width:176px;
    grid-template-columns:44px minmax(0,1fr);
    column-gap:10px;
  }
  .route-node{
    width:44px;
    height:44px;
  }
  .route-stage-account,
  .route-stage-subscribe{
    left:22px;
  }
  .route-stage-plan,
  .route-stage-connect{
    right:6px;
  }
  .route-stage-account{
    top:30px;
  }
  .route-stage-plan{
    top:118px;
  }
  .route-stage-subscribe{
    top:206px;
  }
  .route-stage-connect{
    top:294px;
  }
  .route-result{
    left:20px;
    right:20px;
    bottom:20px;
  }
  .tutorial-section{
    padding-top:58px;
    padding-bottom:58px;
  }
  .step-heading{
    grid-template-columns:1fr;
    gap:14px;
  }
  .step-mark{
    justify-self:start;
  }
  .step-shell{
    padding:24px;
  }
  .download-note,
  .next-reading{
    grid-template-columns:1fr;
  }
  .download-note .btn,
  .next-reading .btn{
    width:100%;
  }
}
@media (max-width:520px){
  .tutorial-route{
    min-height:460px;
  }
  .route-spine{
    left:45px;
    top:58px;
    bottom:114px;
  }
  .route-stage{
    left:22px;
    right:auto;
    width:calc(100% - 44px);
  }
  .route-stage-account{
    top:24px;
  }
  .route-stage-plan{
    top:100px;
  }
  .route-stage-subscribe{
    top:176px;
  }
  .route-stage-connect{
    top:252px;
  }
  .route-result{
    bottom:18px;
  }
  .step-shell{
    padding:20px;
  }
  .platform-step{
    grid-template-columns:1fr;
    padding:22px;
  }
  .platform-step-icon{
    width:46px;
    height:46px;
  }
  .download-note,
  .next-reading{
    padding:24px;
  }
  .next-reading h2{
    font-size:27px;
  }
}
@media (prefers-reduced-motion:reduce){
  .tutorial-route,
  .route-node{
    transform:none;
  }
}