.nodes-intro{
  position:relative;
  isolation:isolate;
  max-width:100%;
  overflow-x:clip;
  background:
    radial-gradient(ellipse at 83% 15%,var(--spot-sky),transparent 48%),
    linear-gradient(155deg,var(--mist-sky),var(--mist-lav) 55%,var(--mist-blush));
}
.nodes-intro-inner{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  align-items:center;
  gap:48px;
  min-height:480px;
  padding-top:76px;
  padding-bottom:76px;
}
.nodes-intro-copy{position:relative;z-index:2;min-width:0}
.nodes-intro h1{margin:16px 0 24px}
.nodes-lede{max-width:35em;font-size:18px;line-height:1.8;color:var(--text)}
.nodes-intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.nodes-intro-note{margin:18px 0 0;font-size:14px;color:var(--muted)}
.nodes-route-art{
  position:relative;
  min-width:0;
  width:100%;
  max-width:470px;
  aspect-ratio:1.18;
  justify-self:center;
  overflow:hidden;
  border-radius:var(--r-sm);
  background:radial-gradient(circle at 65% 36%,var(--glass),transparent 65%);
}
.route-cloud{position:absolute;border-radius:var(--r-pill);background:var(--cloud-a)}
.route-cloud-a{width:55%;height:24%;top:18%;left:24%;transform:rotate(-18deg)}
.route-cloud-b{width:70%;height:27%;bottom:11%;left:7%;transform:rotate(14deg)}
.route-track{
  position:absolute;
  width:78%;
  height:50%;
  border:2px solid var(--ribbon-sky);
  border-radius:50%;
  transform:rotate(-27deg);
}
.route-track-a{top:25%;left:11%}
.route-track-b{top:13%;left:14%;border-color:var(--ribbon-pink);transform:rotate(29deg)}
.route-point{
  position:absolute;
  z-index:1;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--panel);
  box-shadow:0 0 0 5px var(--accent-12),var(--shadow-soft);
}
.route-point-a{top:20%;left:20%}
.route-point-b{top:23%;right:17%}
.route-point-c{bottom:24%;left:13%}
.route-point-d{bottom:20%;right:22%}
.route-box{
  position:absolute;
  z-index:2;
  width:38%;
  height:37%;
  left:34%;
  top:35%;
  border:1px solid var(--hi-40);
  border-radius:var(--r-sm);
  background:linear-gradient(145deg,var(--box-front-a),var(--box-front-b));
  box-shadow:var(--shadow-panel);
  transform:rotate(-8deg);
}
.route-box-top{
  position:absolute;
  left:7%;
  right:7%;
  top:-18%;
  height:22%;
  background:var(--box-top);
  border-radius:var(--r-sm) var(--r-sm) 0 0;
  transform:skewX(-18deg);
}
.route-box-eye{
  position:absolute;
  top:20%;
  left:31%;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--panel);
  box-shadow:30px 0 0 var(--panel);
}
.route-box-slot{
  position:absolute;
  width:37%;
  height:10%;
  left:32%;
  top:49%;
  border-bottom:3px solid var(--accent-dark);
  border-radius:50%;
}
.route-box-wing{
  position:absolute;
  top:24%;
  width:28%;
  height:42%;
  background:linear-gradient(var(--panel),var(--wing-b));
  border-radius:70% 30% 70% 25%;
}
.route-box-wing-left{left:-22%;transform:rotate(-25deg)}
.route-box-wing-right{right:-22%;transform:scaleX(-1) rotate(-25deg)}
.route-art-label{
  position:absolute;
  z-index:3;
  padding:6px 10px;
  border-radius:var(--r-xs);
  background:var(--glass);
  box-shadow:inset 0 0 0 1px var(--glass-edge),var(--shadow-soft);
  color:var(--accent-dark);
  font:600 11px/1.3 var(--font-mono);
}
.route-art-label-a{top:14%;left:8%}
.route-art-label-b{top:17%;right:4%}
.route-art-label-c{bottom:13%;left:16%}
.nodes-body{min-width:0}
.nodes-body>.toc-tabs{margin-top:18px}
.nodes-section{border-bottom:1px solid var(--border)}
.nodes-section:last-child{border-bottom:0}
.nodes-section .section-heading{max-width:780px}
.nodes-section .section-heading h2{margin:12px 0 18px}
.nodes-section .section-heading p:last-child{line-height:1.85}
.nodes-region{margin-top:36px}
.nodes-region-head{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 24px;
  margin-bottom:14px;
}
.nodes-region-head .region-heading{margin:0;font-size:25px}
.nodes-region-head p{margin:0;color:var(--muted);font-size:14px}
.nodes-region .data-table{min-width:640px}
.nodes-region .data-table td:last-child{color:var(--muted)}
.nodes-after-table{max-width:78ch;margin:32px 0 0;line-height:1.9;color:var(--muted)}
.route-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:32px 0;
}
.route-type-card{
  min-width:0;
  padding:30px;
  border-radius:var(--r-sm);
  background:var(--panel);
  box-shadow:var(--shadow-panel);
}
.route-type-index{
  display:inline-block;
  margin-bottom:20px;
  color:var(--accent-dark);
  font:600 12px/1.4 var(--font-mono);
  letter-spacing:.08em;
}
.route-type-card h3{margin:0 0 16px}
.route-type-card p{font-size:15px;line-height:1.9;color:var(--muted)}
.route-type-card p:last-child{margin-bottom:0}
.use-case-list{border-top:1px solid var(--border)}
.use-case{
  display:grid;
  grid-template-columns:minmax(155px,.32fr) minmax(0,1fr);
  gap:24px 40px;
  padding-top:32px;
  padding-bottom:32px;
  border-bottom:1px solid var(--border);
}
.use-case-label{display:flex;align-items:flex-start;gap:18px}
.use-case-label .mini-box{flex:none;margin-top:2px}
.use-case-label h3{margin:0;font-size:20px}
.use-case-copy{min-width:0;max-width:80ch}
.use-case-copy p{line-height:1.9;color:var(--muted)}
.use-case-copy p:last-child{margin-bottom:0}
.nodes-check-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border-radius:var(--r-sm);
  background:var(--border);
  box-shadow:var(--shadow-soft);
}
.nodes-check-card{min-width:0;padding:30px;background:var(--panel)}
.nodes-check-card h3{margin:0 0 16px}
.nodes-check-card p{margin:0;line-height:1.9;color:var(--muted)}
.nodes-check-card a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.nodes-closing{
  max-width:80ch;
  margin:32px 0 0;
  line-height:1.9;
  color:var(--muted);
}
@media(max-width:900px){
  .nodes-intro-inner{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:20px}
  .route-type-grid{grid-template-columns:1fr}
  .nodes-check-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nodes-intro-inner{grid-template-columns:1fr;padding-top:48px;padding-bottom:32px}
  .nodes-route-art{width:min(82%,380px);margin-inline:auto}
  .nodes-lede{font-size:16px}
}
@media(max-width:640px){
  .nodes-intro-inner{padding-top:38px}
  .nodes-route-art{width:88%}
  .use-case{grid-template-columns:1fr;gap:18px}
  .route-type-card,.nodes-check-card{padding:24px}
  .nodes-region-head{display:block}
  .nodes-region-head p{margin-top:8px}
}