.nodes-hero{position:relative;max-width:100%;overflow-x:clip;padding-top:84px;padding-bottom:88px;background:linear-gradient(180deg,var(--hero-top),var(--hero-bot))}
.nodes-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 78% at 80% 50%,color-mix(in srgb,var(--khaki) 13%,transparent),transparent 76%)}
.nodes-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:clamp(32px,5vw,88px)}
.nodes-hero-copy{min-width:0}
.nodes-hero h1{max-width:620px;margin:22px 0 0;font-size:clamp(52px,5vw,64px)}
.nodes-hero h1 .no-break:first-child{color:var(--accent)}
.nodes-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.nodes-lede{max-width:570px;margin-top:24px;color:var(--text-muted);font-size:17px;line-height:1.8}
.nodes-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.nodes-facts>div{display:flex;flex-direction:column;justify-content:center;min-width:138px;min-height:86px;padding:13px 19px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-panel);box-shadow:var(--hl-inset),var(--lift-1)}
.nodes-facts strong{color:var(--accent-dark);font-size:20px;line-height:1.3;font-weight:600}
.nodes-facts span:not([data-count-stat]){color:var(--text-muted);font-size:12px}
.nodes-map{position:relative;min-width:0;aspect-ratio:1.15;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:var(--r-xl);background:linear-gradient(155deg,var(--sky-top),var(--sky-bot));box-shadow:var(--hl-inset),var(--lift-panel)}
.nodes-map::before{content:"";position:absolute;inset:12%;border:1px solid color-mix(in srgb,var(--accent) 13%,transparent);border-radius:50%;pointer-events:none}
.nodes-map-head,.nodes-map-foot{position:absolute;z-index:1;right:24px;left:24px;display:flex;justify-content:space-between;gap:12px;color:var(--accent-dark);font-size:12px}
.nodes-map-head{top:22px}
.nodes-map-foot{bottom:19px;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--accent) 24%,transparent)}
.nodes-map-head span:last-child{font-family:var(--font-mono);font-size:11px}
.nodes-map svg{position:absolute;inset:13% 3% 10%;width:94%;height:77%}
.map-guide{stroke:color-mix(in srgb,var(--accent) 18%,transparent);stroke-width:14;stroke-linecap:round}
.map-link{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 8}
.map-hex{fill:var(--ink-panel);stroke:var(--khaki);stroke-width:3}
.map-point{fill:var(--bg-panel);stroke:var(--accent);stroke-width:3}
.map-core{fill:var(--khaki)}
.map-label{position:absolute;z-index:1;padding:5px 11px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:var(--r-pill);background:var(--bg-panel);box-shadow:var(--lift-1);color:var(--accent-dark);font-size:13px}
.map-label-ap{top:27%;left:5%}
.map-label-na{top:24%;right:4%}
.map-label-eu{bottom:23%;left:5%}
.map-label-other{bottom:24%;right:4%}
.nodes-body{padding-bottom:100px}
.nodes-section{padding-top:76px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.nodes-section:last-child{border-bottom:0}
.nodes-section .section-head{max-width:850px;margin-bottom:32px}
.nodes-section .section-head h2{margin:18px 0 14px}
.nodes-section .section-head p{line-height:1.8}
.region-block{margin-top:36px}
.region-block>p{max-width:860px;margin-bottom:16px;color:var(--text-muted);line-height:1.8}
.region-block .region-title{margin-bottom:10px}
.region-block .table-scroll{box-shadow:var(--hl-inset),var(--lift-1)}
.region-block td:last-child{color:var(--text-muted)}
.nodes-types{padding-bottom:68px}
.type-list{border-top:1px solid var(--border)}
.type-entry{display:grid;grid-template-columns:100px minmax(0,1fr);gap:28px;padding:32px 0;border-bottom:1px solid var(--border)}
.type-marker{display:grid;place-items:center;align-self:start;min-height:48px;padding:8px;border:1px solid var(--accent);border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 6%,var(--bg-panel));color:var(--accent-dark);font-family:var(--font-mono);font-size:14px;font-weight:600}
.type-entry h3{margin:0 0 14px}
.type-entry p,.use-entry p,.verification-card p{max-width:880px;color:var(--text-muted);line-height:1.85}
.type-entry p+p{margin-top:14px}
.use-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.use-entry{display:flex;gap:17px;min-width:0;padding:26px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);box-shadow:var(--hl-inset),var(--lift-1)}
.use-entry .ico-box{width:42px;height:42px;border-radius:var(--r-sm)}
.use-entry>div{min-width:0}
.use-entry h3{margin:0 0 12px;font-size:25px}
.nodes-verification{padding-bottom:12px}
.verification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.verification-card{padding:26px}
.verification-card h3{margin:0 0 12px;font-size:25px}
.verification-card a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.nodes-verification .callout{margin-top:28px;line-height:1.8}
@media(max-width:900px){
  .nodes-hero-grid{grid-template-columns:1fr}
  .nodes-map{width:min(100%,600px);aspect-ratio:1.6;margin-inline:auto}
}
@media(max-width:768px){
  .nodes-hero{padding-top:56px;padding-bottom:64px}
  .nodes-hero h1{font-size:clamp(28px,7vw,40px)}
  .nodes-section{padding-top:60px}
  .use-list{grid-template-columns:1fr}
}
@media(max-width:640px){
  .nodes-hero{padding-top:38px;padding-bottom:48px}
  .nodes-hero-grid{gap:30px}
  .nodes-actions{margin-top:24px}
  .nodes-lede{font-size:15px}
  .nodes-facts{gap:8px}
  .nodes-facts>div{flex:1 1 100px;min-width:0;min-height:76px;padding:10px}
  .nodes-facts strong{font-size:17px}
  .nodes-map{aspect-ratio:1.15}
  .nodes-map-head,.nodes-map-foot{right:14px;left:14px;font-size:10px}
  .nodes-map-head{top:14px}
  .nodes-map-head span:last-child{font-size:9px}
  .nodes-map-foot{bottom:11px}
  .map-label{padding:3px 7px;font-size:10px}
  .type-entry{grid-template-columns:1fr;gap:14px;padding:26px 0}
  .type-marker{display:inline-flex;justify-self:start;min-height:36px;padding:5px 12px}
  .use-entry,.verification-card{padding:19px}
  .use-entry{gap:12px}
  .use-entry h3,.verification-card h3{font-size:23px}
  .verification-grid{grid-template-columns:1fr}
  .nodes-body{padding-bottom:64px}
}