.route-intro{
  position:relative;
  overflow-x:clip;
  max-width:100%;
  padding-top:64px;
  padding-bottom:64px;
  background:linear-gradient(180deg,var(--hero-top),var(--hero-bottom));
  border-bottom:1px solid var(--border);
}
.route-intro::before{
  content:"";
  position:absolute;
  inset:0 0 10% 58%;
  background:radial-gradient(closest-side,var(--glow),var(--clear));
  pointer-events:none;
}
.route-intro-layout{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  align-items:center;
  gap:64px;
}
.route-intro-copy h1{
  margin-top:22px;
  font-size:clamp(44px,4.5vw,64px);
  line-height:1.15;
  letter-spacing:-.02em;
}
.route-lead{
  max-width:650px;
  font-size:19px;
  line-height:1.8;
  color:var(--text-muted);
}
.route-facts{
  justify-content:flex-start;
}
.route-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.route-entry-note{
  margin-top:16px;
  margin-bottom:0;
  font-size:13px;
  color:var(--text-muted);
}
.route-reference{
  padding:24px;
  background:linear-gradient(150deg,var(--bg-panel),var(--panel-tint));
  border-radius:var(--r-card);
  box-shadow:var(--shadow-card);
}
.route-reference .win{
  margin:0;
  overflow:hidden;
  border-radius:var(--r-md);
}
.route-reference .win-body{
  padding:20px;
}
.route-reference .route{
  min-height:44px;
}
.route-reference .win-note{
  margin-top:14px;
  font-size:12px;
  line-height:1.7;
}
.route-reference-caption{
  margin:20px 0 0;
  font-size:13px;
  line-height:1.8;
  color:var(--text-muted);
}
.route-table caption{
  padding:16px 20px;
  text-align:left;
  caption-side:top;
  font-size:13px;
  color:var(--text-muted);
  background:var(--white);
  border-bottom:1px solid var(--border);
}
.route-types{
  background:var(--bg-panel);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.route-type-grid{
  align-items:stretch;
}
.route-type-grid .panel{
  background:var(--white);
}
.route-type-label{
  display:inline-block;
  margin-bottom:22px;
  padding:4px 9px;
  border-radius:var(--r-xs);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--accent-dark);
  background:var(--accent-a10);
}
.route-type-grid h3{
  font-size:21px;
}
.route-type-grid p{
  font-size:15px;
  line-height:1.9;
  color:var(--text-muted);
}
.route-type-grid .route-type-takeaway{
  margin:24px 0 0;
  padding-top:20px;
  border-top:1px solid var(--border);
  color:var(--text);
}
.route-scenarios{
  display:grid;
  gap:0;
  border-top:1px solid var(--border);
}
.route-scenario{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);
  gap:48px;
  padding-top:32px;
  padding-bottom:32px;
  border-bottom:1px solid var(--border);
}
.route-scenario-heading{
  padding-top:5px;
}
.route-scenario-heading h3{
  margin-top:16px;
  max-width:330px;
}
.route-scenario .prose p{
  color:var(--text-muted);
}
.route-scenario .prose p:last-child{
  margin-bottom:0;
}
.route-check-section{
  background:var(--white-a72);
  border-top:1px solid var(--border);
}
.route-check-section h2{
  margin-top:0;
}
.route-check-section h3{
  font-size:22px;
}
@media(max-width:960px){
  .route-intro-layout{
    gap:32px;
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  }
  .route-reference{
    padding:18px;
  }
  .route-type-grid{
    grid-template-columns:1fr;
  }
  .route-scenario{
    grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);
    gap:28px;
  }
}
@media(max-width:768px){
  .route-intro{
    padding-top:40px;
    padding-bottom:40px;
  }
  .route-intro-layout{
    grid-template-columns:1fr;
    gap:32px;
  }
  .route-intro-copy h1{
    font-size:36px;
  }
  .route-lead{
    font-size:16px;
  }
  .route-scenario{
    grid-template-columns:1fr;
    gap:12px;
    padding-top:28px;
    padding-bottom:28px;
  }
  .route-scenario-heading h3{
    max-width:none;
    margin-top:12px;
  }
  .route-reference{
    max-width:560px;
    width:100%;
  }
}
@media(max-width:360px){
  .route-actions{
    gap:10px;
  }
  .route-actions .btn{
    padding-inline:18px;
  }
  .route-reference .win-body{
    padding:14px;
  }
}