.guide-hero{
  position:relative;
  overflow-x:clip;
  max-width:100%;
  background:linear-gradient(180deg,var(--color-hero-top),var(--color-hero-bottom));
}
.guide-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,var(--color-hatch) 0 1px,transparent 1px 18px);
  pointer-events:none;
}
.guide-hero__copy{
  position:relative;
  z-index:1;
  max-width:780px;
  margin-inline:auto;
  text-align:center;
}
.guide-hero h1{
  margin:22px 0 18px;
}
.guide-hero__lede{
  max-width:680px;
  margin-inline:auto;
  font-size:18px;
}
.guide-hero .button-row{
  justify-content:center;
  margin-top:28px;
}
.guide-route{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(48px,.5fr) minmax(0,1fr) minmax(48px,.5fr) minmax(0,1fr);
  align-items:center;
  max-width:820px;
  margin:56px auto 0;
}
.guide-route__item{
  min-width:0;
  padding:18px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-small);
  text-align:center;
}
.guide-route__item span{
  display:block;
  color:var(--color-accent);
  font-family:var(--font-display);
  font-size:22px;
}
.guide-route__item small{
  display:block;
  margin-top:4px;
  color:var(--color-muted);
}
.guide-route__line{
  height:1px;
  background:var(--color-accent-30);
}
.guide-document{
  padding-top:48px;
  padding-bottom:var(--section-space);
}
.guide-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,320px);
  gap:48px;
  align-items:start;
}
.guide-content{
  min-width:0;
}
.guide-content > .callout{
  margin-bottom:36px;
}
.guide-step{
  min-width:0;
  padding-top:44px;
  padding-bottom:44px;
  border-bottom:1px solid var(--color-border);
}
.guide-step:first-of-type{
  padding-top:16px;
}
.guide-step:last-child{
  border-bottom:0;
}
.guide-step__heading{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin-bottom:24px;
}
.guide-step__heading .kicker{
  margin-bottom:5px;
}
.guide-step__heading h2{
  margin-bottom:0;
  font-size:clamp(32px,4vw,46px);
}
.guide-step__number{
  display:grid;
  width:52px;
  height:52px;
  flex:0 0 52px;
  place-items:center;
  border-radius:var(--radius-sm);
  background:var(--color-accent);
  color:var(--color-panel);
  font-family:var(--font-mono);
  font-size:13px;
  box-shadow:var(--shadow-small);
}
.guide-step > p{
  max-width:760px;
  font-size:16px;
  line-height:1.85;
}
.guide-action{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:26px;
  padding:16px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
}
.guide-action span{
  color:var(--color-muted);
  font-size:14px;
}
.text-link{
  color:var(--color-accent);
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:var(--color-accent-30);
  text-underline-offset:4px;
}
.text-link:hover{
  text-decoration-color:var(--color-accent);
}
.example-link{
  max-width:100%;
  margin:22px 0;
  padding:17px 19px;
  overflow-x:auto;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  background:var(--color-navy);
  color:var(--color-white);
  -webkit-overflow-scrolling:touch;
}
.example-link code{
  white-space:nowrap;
}
.client-guides{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:30px;
}
.client-guide{
  min-width:0;
  padding:24px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
}
.client-guide h3{
  margin:14px 0 12px;
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:22px;
  font-weight:700;
}
.client-guide p{
  line-height:1.8;
}
.client-guide p:last-child{
  margin-bottom:0;
}
.client-guide__label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:11px;
}
.client-guide__label span{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:var(--radius-xs);
  background:var(--color-lilac);
  color:var(--color-accent);
  font-weight:700;
}
.guide-aside{
  position:sticky;
  top:calc(var(--header-height) + 76px);
  display:grid;
  gap:18px;
  min-width:0;
}
.guide-aside__card{
  padding:24px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
}
.guide-aside__card h2{
  margin:8px 0 18px;
  font-family:var(--font-body);
  font-size:20px;
  font-weight:700;
  color:var(--color-text);
}
.guide-aside__card ul{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.guide-aside__card li{
  position:relative;
  padding-left:24px;
  color:var(--color-muted);
}
.guide-aside__card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--color-success);
  font-weight:700;
}
.guide-aside__card--facts{
  border-top:5px solid var(--color-accent);
}
.guide-aside__card dl{
  display:grid;
  gap:0;
  margin:0;
}
.guide-aside__card dl div{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--color-slot);
}
.guide-aside__card dl div:last-child{
  border-bottom:0;
}
.guide-aside__card dt{
  color:var(--color-muted);
}
.guide-aside__card dd{
  margin:0;
  color:var(--color-text);
  font-weight:700;
}
@media (max-width:960px){
  .guide-layout{
    grid-template-columns:minmax(0,1fr);
  }
  .guide-aside{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:768px){
  .guide-route{
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    max-width:420px;
    margin-top:40px;
  }
  .guide-route__line{
    width:1px;
    height:24px;
    margin-inline:auto;
  }
  .client-guides{
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width:640px){
  .guide-document{
    padding-top:32px;
  }
  .guide-hero__lede{
    font-size:16px;
  }
  .guide-step{
    padding-top:36px;
    padding-bottom:36px;
  }
  .guide-step__heading{
    gap:12px;
  }
  .guide-step__number{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
  .guide-step__heading h2{
    font-size:30px;
  }
  .guide-action{
    align-items:stretch;
  }
  .guide-action .btn{
    width:100%;
  }
  .client-guide{
    padding:20px;
  }
  .guide-aside{
    grid-template-columns:minmax(0,1fr);
  }
}
@media (prefers-reduced-motion:reduce){
  .guide-route__item{
    transition:none;
  }
}