.nodes-hero{
  position:relative;
  padding-top:72px;
  padding-bottom:76px;
  overflow-x:clip;
  background:
    linear-gradient(180deg,rgba(var(--color-accent-rgb),.05),rgba(var(--color-pair-rgb),.07));
}
.nodes-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:32px 32px;
  -webkit-mask-image:linear-gradient(var(--color-ink),transparent);
  mask-image:linear-gradient(var(--color-ink),transparent);
}
.nodes-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:72px;
  align-items:center;
}
.nodes-hero-copy{min-width:0}
.nodes-title{
  margin-top:18px;
  font-size:clamp(52px,5.2vw,68px);
  line-height:1.1;
  font-weight:850;
  letter-spacing:-.02em;
}
.nodes-title-line{display:block}
.nodes-hero-lede{
  max-width:650px;
  margin-top:24px;
  color:var(--color-muted);
  font-size:19px;
  line-height:1.7;
}
.nodes-hero-lede strong{color:var(--color-ink)}
.nodes-hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:30px;
}
.nodes-hero-actions .btn-primary,
.nodes-hero-actions .btn-secondary,
.nodes-method-actions .btn-primary,
.nodes-method-actions .btn-secondary,
.promo-block .btn-primary{
  flex-shrink:0;
  white-space:nowrap;
}
.nodes-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
  list-style:none;
}
.nodes-trust li{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:5px 12px;
  color:var(--color-muted);
  background:rgba(var(--color-white-rgb),.72);
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  font-size:13px;
  font-weight:650;
  box-shadow:var(--shadow-soft);
}
.nodes-console{
  position:relative;
  min-width:0;
  min-height:500px;
  display:grid;
  place-items:center;
  overflow:visible;
}
.nodes-spectrum{
  position:absolute;
  inset:0;
  max-width:100%;
  background:repeating-linear-gradient(90deg,rgba(var(--color-accent-rgb),.34) 0 2px,transparent 2px 8px);
  -webkit-mask-image:
    linear-gradient(90deg,transparent,var(--color-ink) 44%,var(--color-ink) 56%,transparent),
    linear-gradient(180deg,transparent,var(--color-ink) 12%,var(--color-ink) 88%,transparent);
  mask-image:
    linear-gradient(90deg,transparent,var(--color-ink) 44%,var(--color-ink) 56%,transparent),
    linear-gradient(180deg,transparent,var(--color-ink) 12%,var(--color-ink) 88%,transparent);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
.nodes-console-panel{
  position:relative;
  z-index:2;
  width:min(430px,92%);
  padding:26px;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-deep),var(--inner-highlight);
  transform:rotate(-.8deg);
}
.nodes-console-panel::before,
.nodes-console-panel::after{
  content:"";
  position:absolute;
  z-index:-1;
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:var(--color-panel);
  box-shadow:var(--shadow-soft);
}
.nodes-console-panel::before{inset:14px -12px -14px 12px}
.nodes-console-panel::after{inset:28px -22px -28px 22px;opacity:.58}
.nodes-console-head{
  display:flex;
  align-items:center;
  gap:13px;
  padding-bottom:20px;
  border-bottom:1px solid var(--color-border);
}
.nodes-console-mark{
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  flex-shrink:0;
  color:var(--color-panel);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-pair));
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow-soft);
}
.nodes-console-head strong{
  display:block;
  font-family:var(--font-display);
  font-size:17px;
  font-weight:800;
}
.nodes-console-head span:not(.nodes-console-mark){
  display:block;
  margin-top:2px;
  color:var(--color-soft);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
}
.nodes-console-routes{
  display:grid;
  gap:10px;
  margin-top:20px;
}
.console-route{
  display:grid;
  grid-template-columns:auto minmax(72px,auto) minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:54px;
  padding:10px 13px;
  color:var(--color-muted);
  background:var(--color-slot);
  border:1px solid transparent;
  border-radius:var(--radius-md);
}
.console-route.is-active{
  color:var(--color-ink);
  background:rgba(var(--color-accent-rgb),.08);
  border-color:rgba(var(--color-accent-rgb),.18);
}
.console-route-dot{
  width:9px;
  height:9px;
  flex-shrink:0;
  background:var(--color-soft);
  border-radius:var(--radius-pill);
}
.console-route.is-active .console-route-dot{
  background:var(--color-accent);
  box-shadow:0 0 0 5px rgba(var(--color-accent-rgb),.10);
}
.console-route span:not(.console-route-dot){
  font-size:14px;
  font-weight:720;
}
.console-route small{
  min-width:0;
  color:var(--color-soft);
  font-family:var(--font-mono);
  font-size:10px;
  text-align:right;
}
.nodes-console-foot{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--color-border);
  color:var(--color-soft);
  font-size:12px;
}
.nodes-console-foot strong{
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:12px;
}
.nodes-facts{
  position:relative;
  background:var(--color-panel);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.nodes-fact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.nodes-fact{
  min-width:0;
  padding:8px 28px;
}
.nodes-fact+.nodes-fact{border-left:1px solid var(--color-border)}
.nodes-fact-label{
  display:block;
  color:var(--color-soft);
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
}
.nodes-fact strong{
  display:block;
  margin-top:8px;
  color:var(--color-ink);
  font-family:var(--font-display);
  font-size:30px;
  font-weight:840;
  line-height:1.2;
}
.nodes-fact p{
  margin-top:7px;
  color:var(--color-muted);
  font-size:13px;
  line-height:1.55;
}
.nodes-document{
  padding-top:72px;
  padding-bottom:var(--section-space);
}
.nodes-document .toc-tabs{top:12px}
.nodes-intro{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.72fr);
  gap:32px;
  align-items:start;
  padding-top:34px;
  padding-bottom:72px;
}
.nodes-intro-main h2{margin-top:12px}
.nodes-intro-main p{
  margin-top:18px;
  color:var(--color-muted);
  font-size:17px;
  line-height:1.85;
}
.nodes-intro .callout{margin-top:40px}
.nodes-region-block{
  padding-top:72px;
  padding-bottom:72px;
  border-top:1px solid var(--color-border);
}
.nodes-region-heading{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:36px;
  align-items:end;
  margin-bottom:24px;
}
.nodes-region-code{
  display:block;
  margin-bottom:10px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
}
.nodes-region-heading .server-region{
  margin:0;
  font-size:clamp(30px,3.2vw,44px);
}
.nodes-region-heading p{
  color:var(--color-muted);
  line-height:1.75;
}
.nodes-region-block .table-scroll{box-shadow:var(--shadow-soft)}
.nodes-region-block th{white-space:nowrap}
.nodes-region-block th,
.nodes-region-block td{word-break:keep-all}
.route-country{
  display:inline-flex;
  align-items:center;
  gap:9px;
  white-space:nowrap;
}
.route-country span{
  font-size:20px;
  line-height:1;
}
.route-type{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  color:var(--color-accent);
  background:rgba(var(--color-accent-rgb),.08);
  border-radius:var(--radius-pill);
  font-size:12px;
  font-weight:720;
  white-space:nowrap;
}
.route-type-premium{
  color:var(--color-panel);
  background:var(--color-accent);
}
.route-type-direct{
  color:var(--color-muted);
  background:var(--color-slot);
  border:1px solid var(--color-border);
}
.nodes-region-note{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  margin-top:20px;
  padding:22px;
  background:var(--color-slot);
  border-radius:var(--radius-lg);
}
.nodes-region-note strong{
  color:var(--color-ink);
  white-space:nowrap;
}
.nodes-region-note p{
  color:var(--color-muted);
  line-height:1.8;
}
.nodes-type-section,
.nodes-selection-section,
.nodes-method-section{
  padding-top:88px;
  padding-bottom:88px;
  border-top:1px solid var(--color-border);
}
.nodes-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.nodes-type-card{
  min-width:0;
  padding:28px;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-card),var(--inner-highlight);
  transition:transform var(--transition-fast),border-color var(--transition-fast);
}
.nodes-type-card:hover{
  transform:translateY(-3px);
  border-color:rgba(var(--color-accent-rgb),.36);
}
.nodes-type-icon{
  display:grid;
  width:56px;
  height:56px;
  place-items:center;
  color:var(--color-panel);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-pair));
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);
}
.nodes-type-icon-pair{
  background:linear-gradient(135deg,var(--color-accent-pair),var(--color-success));
}
.nodes-type-icon-mint{
  background:linear-gradient(135deg,var(--color-accent),var(--color-warning));
}
.nodes-type-card .tag{margin-top:24px}
.nodes-type-card h3{
  margin-top:12px;
  font-size:22px;
}
.nodes-type-card p{
  margin-top:15px;
  color:var(--color-muted);
  font-size:15px;
  line-height:1.82;
}
.nodes-type-callout{margin-top:28px}
.nodes-use-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.nodes-use-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:20px;
  min-width:0;
  padding:26px;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-soft);
}
.nodes-use-item:last-child{grid-column:1 / -1}
.nodes-use-icon{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  flex-shrink:0;
  color:var(--color-panel);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-pair));
  border-radius:var(--radius-md);
}
.nodes-use-item h3{font-size:20px}
.nodes-use-item p{
  margin-top:11px;
  color:var(--color-muted);
  font-size:15px;
  line-height:1.82;
}
.nodes-method-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
  gap:48px;
  align-items:start;
}
.nodes-method-copy h2{margin-top:12px}
.nodes-method-copy p{
  margin-top:18px;
  color:var(--color-muted);
  font-size:16px;
  line-height:1.85;
}
.nodes-method-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.nodes-method-panel{
  display:grid;
  gap:12px;
  padding:20px;
  background:var(--color-slot);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
}
.nodes-method-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:15px;
  align-items:start;
  padding:18px;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}
.nodes-step-symbol{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  flex-shrink:0;
  color:var(--color-panel);
  background:var(--color-accent);
  border-radius:var(--radius-sm);
}
.nodes-method-step strong{
  color:var(--color-ink);
  font-size:15px;
}
.nodes-method-step p{
  margin-top:5px;
  color:var(--color-muted);
  font-size:13px;
  line-height:1.65;
}
@media (max-width:1040px){
  .nodes-hero-grid{gap:42px}
  .nodes-console-panel{width:min(390px,94%)}
  .nodes-type-grid{grid-template-columns:1fr}
  .nodes-type-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:22px;
  }
  .nodes-type-card .tag{margin-top:0}
}
@media (max-width:900px){
  .nodes-hero-grid{grid-template-columns:1fr}
  .nodes-console{min-height:430px}
  .nodes-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nodes-fact:nth-child(3){border-left:0}
  .nodes-fact:nth-child(n+3){
    margin-top:24px;
    padding-top:24px;
    border-top:1px solid var(--color-border);
  }
  .nodes-intro{grid-template-columns:1fr}
  .nodes-intro .callout{margin-top:0}
  .nodes-method-layout{grid-template-columns:1fr}
}
@media (max-width:768px){
  .nodes-hero{
    padding-top:52px;
    padding-bottom:56px;
  }
  .nodes-title{font-size:clamp(30px,9.8vw,40px)}
  .nodes-hero-lede{font-size:17px}
  .nodes-region-heading{grid-template-columns:1fr;gap:14px}
  .nodes-use-list{grid-template-columns:1fr}
  .nodes-use-item:last-child{grid-column:auto}
  .nodes-document{padding-top:56px}
}
@media (max-width:640px){
  .nodes-hero{padding-top:38px}
  .nodes-console{
    min-height:380px;
    overflow:hidden;
  }
  .nodes-spectrum{inset:10px 0}
  .nodes-console-panel{
    width:calc(100% - 18px);
    padding:18px;
    transform:none;
  }
  .nodes-console-panel::before{inset:10px -8px -10px 8px}
  .nodes-console-panel::after{display:none}
  .console-route{
    grid-template-columns:auto minmax(0,1fr);
  }
  .console-route small{
    grid-column:2;
    text-align:left;
  }
  .nodes-console-foot{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .nodes-fact-grid{grid-template-columns:1fr}
  .nodes-fact{
    padding:22px 8px;
  }
  .nodes-fact+.nodes-fact{
    margin-top:0;
    border-top:1px solid var(--color-border);
    border-left:0;
  }
  .nodes-fact strong{font-size:27px}
  .nodes-intro,
  .nodes-region-block,
  .nodes-type-section,
  .nodes-selection-section,
  .nodes-method-section{
    padding-top:58px;
    padding-bottom:58px;
  }
  .nodes-region-note{grid-template-columns:1fr;gap:8px}
  .nodes-region-note strong{white-space:normal}
  .nodes-type-card{
    display:block;
    padding:22px;
  }
  .nodes-type-card .tag{margin-top:20px}
  .nodes-use-item{
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    padding:20px;
  }
  .nodes-use-icon{
    width:46px;
    height:46px;
  }
  .nodes-use-item p{
    grid-column:1 / -1;
  }
  .nodes-method-panel{padding:14px}
  .nodes-method-step{padding:15px}
  .promo-block h2{font-size:25px}
}
@media (max-width:380px){
  .nodes-hero-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .nodes-hero-actions .btn-primary,
  .nodes-hero-actions .btn-secondary{
    width:100%;
  }
  .nodes-use-item{grid-template-columns:1fr}
  .nodes-use-item p{grid-column:auto}
}