.nodes-hero{
  position:relative;
  overflow-x:clip;
  max-width:100%;
  padding-top:72px;
  padding-bottom:82px;
  background:linear-gradient(158deg,var(--color-wash-a),var(--color-wash-b) 48%,var(--color-wash-c));
}
.nodes-hero-glow{
  position:absolute;
  right:6%;
  bottom:5%;
  width:34%;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--color-accent-soft);
  filter:blur(64px);
  pointer-events:none;
}
.nodes-hero-layout{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  align-items:center;
  gap:72px;
}
.nodes-hero-copy{
  position:relative;
  z-index:2;
}
.nodes-hero-copy .badge{
  margin-bottom:20px;
}
.nodes-hero-copy h1{
  max-width:680px;
}
.nodes-hero-copy .accent-word{
  color:var(--color-accent);
}
.nodes-hero-copy .lead{
  margin-top:24px;
  margin-bottom:26px;
}
.nodes-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:30px;
}
.nodes-trust li{
  padding:14px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-sm);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
}
.nodes-trust strong,
.nodes-trust span{
  display:block;
}
.nodes-trust strong{
  color:var(--color-text);
  font-size:13px;
}
.nodes-trust span{
  margin-top:3px;
  color:var(--color-text-muted);
  font-size:11px;
}
.directory-board{
  position:relative;
  z-index:2;
  overflow:hidden;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
  box-shadow:var(--shadow-plate),inset 0 1px 0 var(--color-highlight);
}
.directory-top{
  display:flex;
  min-height:64px;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 18px;
  border-bottom:1px solid var(--color-border-soft);
}
.directory-top > .mono{
  color:var(--color-text-muted);
  font-size:11px;
}
.directory-mark{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}
.directory-mark img{
  width:28px;
  height:28px;
}
.directory-body{
  display:grid;
  grid-template-columns:minmax(130px,28%) minmax(0,1fr);
  min-height:340px;
}
.directory-keys{
  display:grid;
  align-content:start;
  gap:6px;
  padding:18px 12px;
  background:var(--color-window-side);
}
.directory-keys span{
  padding:10px 12px;
  border-radius:var(--radius-sm);
  color:var(--color-text-muted);
  font-size:13px;
  font-weight:650;
}
.directory-keys .active{
  background:var(--color-accent-tint);
  color:var(--color-accent);
}
.directory-values{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:center;
  gap:12px;
  padding:28px;
  background:var(--color-window-main);
}
.directory-entry{
  min-height:112px;
  padding:18px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
}
.directory-entry .entry-key{
  display:block;
  margin-bottom:16px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:11px;
}
.directory-entry strong{
  font-size:15px;
}
.directory-foot{
  padding:12px 18px;
  border-top:1px solid var(--color-border-soft);
  color:var(--color-text-muted);
  text-align:right;
  font-size:11px;
}
.region-jumps{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:28px;
}
.region-jumps a{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  padding:7px 16px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  background:var(--color-panel);
  color:var(--color-text-muted);
  font-weight:700;
}
.region-jumps a:hover{
  border-color:var(--color-accent);
  color:var(--color-accent);
}
.location-heading-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-right:18px;
  background:var(--color-panel-recessed);
}
.location-heading-row .location-heading{
  background:transparent;
}
.location-heading-row > span{
  color:var(--color-text-muted);
  font-size:12px;
}
.route-label{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  max-width:100%;
  padding:3px 9px;
  overflow:hidden;
  border-radius:var(--radius-xs);
  background:var(--color-accent-tint);
  color:var(--color-accent);
  font-size:12px;
  font-weight:750;
}
.route-explainer{
  background:var(--color-ink);
  color:var(--color-ink-text);
}
.route-explainer .section-head h2{
  color:var(--color-ink-text);
}
.route-explainer .lead{
  color:var(--color-ink-muted);
}
.route-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.route-type-card{
  padding:28px;
  border:1px solid var(--color-ink-line);
  border-radius:var(--radius-md);
  background:var(--color-ink-panel);
  transition:transform .16s ease,border-color .16s ease;
}
.route-type-card:hover{
  transform:translateY(-2px);
  border-color:var(--color-accent-bright);
}
.route-type-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}
.route-type-icon{
  display:grid;
  width:54px;
  height:54px;
  flex:none;
  place-items:center;
  border-radius:var(--radius-sm);
  background:var(--color-accent);
  color:var(--color-white);
}
.route-type-icon svg{
  width:30px;
  height:30px;
}
.route-type-head .mono{
  color:var(--color-accent-bright);
  font-size:10px;
}
.route-type-head h3{
  margin-top:3px;
  color:var(--color-ink-text);
  font-size:23px;
}
.route-type-card p{
  color:var(--color-ink-muted);
  font-size:14px;
}
.route-type-card p:last-child{
  margin-bottom:0;
}
.use-case-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
}
.use-case-card{
  grid-column:span 2;
  padding:26px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
}
.use-case-card:nth-child(4){
  grid-column:2 / span 2;
}
.use-case-card:nth-child(5){
  grid-column:4 / span 2;
}
.use-case-code{
  display:inline-flex;
  margin-bottom:18px;
  padding:4px 8px;
  border-radius:var(--radius-xs);
  background:var(--color-accent-tint);
  color:var(--color-accent);
  font-size:11px;
  font-weight:750;
}
.use-case-card h3{
  margin-bottom:14px;
  font-size:22px;
}
.use-case-card p{
  color:var(--color-text-muted);
  font-size:14px;
}
.use-case-card p:last-child{
  margin-bottom:0;
}
.directory-method{
  background:var(--color-panel-recessed);
}
.method-layout{
  display:grid;
  grid-template-columns:minmax(0,4fr) minmax(0,6fr);
  align-items:start;
  gap:72px;
}
.method-list{
  display:grid;
  gap:12px;
  list-style:none;
  counter-reset:method-step;
}
.method-list li{
  position:relative;
  padding:22px 22px 22px 72px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
  counter-increment:method-step;
}
.method-list li::before{
  content:counter(method-step);
  position:absolute;
  top:22px;
  left:22px;
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  background:var(--color-accent);
  color:var(--color-white);
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:750;
}
.method-list strong{
  display:block;
  margin-bottom:6px;
}
.method-list p{
  margin:0;
  color:var(--color-text-muted);
  font-size:14px;
}
.coverage-panel{
  display:grid;
  grid-template-columns:minmax(0,6fr) minmax(300px,4fr);
  align-items:center;
  gap:64px;
  padding-top:48px;
  padding-bottom:48px;
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.coverage-copy p{
  color:var(--color-text-muted);
}
.coverage-facts{
  display:grid;
  gap:10px;
}
.coverage-facts > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-sm);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
}
.coverage-facts .mono{
  color:var(--color-text-muted);
  font-size:10px;
}
.coverage-facts strong{
  text-align:right;
}
.nodes-faq{
  padding-top:72px;
}
.faq-layout{
  display:grid;
  grid-template-columns:minmax(0,4fr) minmax(0,6fr);
  align-items:start;
  gap:64px;
}
.faq-layout .section-head{
  position:sticky;
  top:calc(var(--header-height) + 28px);
  margin-bottom:0;
}
@media (max-width:1100px){
  .nodes-hero-layout{
    grid-template-columns:1fr;
    gap:46px;
  }
  .nodes-hero-copy{
    max-width:760px;
  }
  .directory-board{
    max-width:780px;
  }
  .route-type-grid{
    grid-template-columns:1fr;
  }
  .use-case-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .use-case-card,
  .use-case-card:nth-child(4),
  .use-case-card:nth-child(5){
    grid-column:auto;
  }
  .method-layout,
  .faq-layout{
    grid-template-columns:1fr;
    gap:38px;
  }
  .faq-layout .section-head{
    position:static;
  }
}
@media (max-width:768px){
  .nodes-hero{
    padding-top:52px;
    padding-bottom:62px;
  }
  .nodes-hero-glow{
    display:none;
  }
  .nodes-trust{
    grid-template-columns:1fr;
  }
  .directory-body{
    grid-template-columns:108px minmax(0,1fr);
  }
  .directory-values{
    grid-template-columns:1fr;
    padding:18px;
  }
  .directory-entry{
    min-height:auto;
  }
  .directory-top > .mono{
    display:none;
  }
  .location-heading-row{
    display:block;
    padding-right:0;
  }
  .location-heading-row > span{
    display:block;
    padding:0 18px 14px;
  }
  .use-case-grid{
    grid-template-columns:1fr;
  }
  .coverage-panel{
    grid-template-columns:1fr;
    gap:36px;
  }
}
@media (max-width:640px){
  .nodes-hero{
    padding-top:42px;
    padding-bottom:54px;
  }
  .directory-body{
    grid-template-columns:1fr;
  }
  .directory-keys{
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding:10px;
  }
  .directory-keys span{
    padding:8px 5px;
    text-align:center;
    font-size:11px;
  }
  .directory-values{
    padding:14px;
  }
  .directory-entry{
    padding:15px;
  }
  .directory-entry .entry-key{
    margin-bottom:8px;
  }
  .directory-foot{
    text-align:left;
  }
  .region-jumps{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .region-jumps a{
    justify-content:center;
  }
  .route-type-card,
  .use-case-card{
    padding:22px;
  }
  .method-list li{
    padding:20px 18px 20px 64px;
  }
  .method-list li::before{
    top:20px;
    left:18px;
  }
  .coverage-panel{
    padding-top:36px;
    padding-bottom:36px;
  }
  .coverage-facts > div{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .coverage-facts strong{
    text-align:left;
  }
}