.nodes-hero{
  position:relative;
  max-width:100%;
  padding-top:clamp(64px,8vw,108px);
  padding-bottom:clamp(64px,8vw,108px);
  background:
    radial-gradient(circle at 14% 20%,var(--color-glow-green),transparent 34%),
    radial-gradient(circle at 88% 78%,var(--color-glow-sky),transparent 38%),
    linear-gradient(180deg,var(--color-bg-top),var(--color-bg));
  overflow-x:clip;
}
.nodes-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(var(--color-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--color-grid) 1px,transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:linear-gradient(to bottom,var(--color-text),transparent);
  mask-image:linear-gradient(to bottom,var(--color-text),transparent);
  pointer-events:none;
}
.nodes-hero-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);
  align-items:center;
  gap:clamp(42px,7vw,96px);
}
.nodes-hero-copy{
  min-width:0;
}
.nodes-hero-badge{
  margin-bottom:22px;
}
.nodes-hero h1{
  max-width:680px;
  margin-bottom:24px;
}
.nodes-hero-lede{
  max-width:680px;
  margin-bottom:30px;
  color:var(--color-muted);
  font-size:18px;
}
.nodes-hero-actions{
  margin-bottom:28px;
}
.nodes-facts{
  display:flex;
  align-items:center;
  gap:14px 22px;
  flex-wrap:wrap;
  color:var(--color-muted);
  font-size:14px;
  font-weight:650;
  list-style:none;
}
.nodes-facts li{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.coverage-visual{
  position:relative;
  min-width:0;
  min-height:480px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-xl);
  background:linear-gradient(145deg,var(--color-panel),var(--color-panel-deep));
  box-shadow:var(--shadow-panel);
  overflow:hidden;
}
.coverage-visual::before{
  content:"";
  position:absolute;
  inset:22px;
  border:1px dashed var(--color-border);
  border-radius:var(--radius-lg);
}
.coverage-lines{
  position:absolute;
  inset:20px;
  width:calc(100% - 40px);
  height:calc(100% - 40px);
  color:var(--color-accent);
}
.coverage-lines path{
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:8 12;
}
.coverage-lines circle{
  fill:var(--color-panel);
  stroke:currentColor;
  stroke-width:5;
}
.coverage-card{
  position:absolute;
  z-index:2;
  display:grid;
  gap:3px;
  max-width:210px;
  padding:13px 16px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-small);
}
.coverage-card span{
  color:var(--color-accent-dark);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}
.coverage-card strong{
  font-size:13px;
  line-height:1.45;
}
.coverage-card-asia{
  top:42px;
  left:34px;
}
.coverage-card-america{
  top:70px;
  right:32px;
}
.coverage-card-europe{
  right:58px;
  bottom:48px;
}
.coverage-core{
  position:absolute;
  top:50%;
  left:50%;
  z-index:3;
  display:grid;
  width:118px;
  height:118px;
  place-content:center;
  border:10px solid var(--color-mint);
  border-radius:50%;
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
  text-align:center;
  transform:translate(-50%,-50%);
}
.coverage-core span{
  font-family:var(--font-display);
  font-size:34px;
  font-weight:800;
  line-height:1;
}
.coverage-core small{
  margin-top:7px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:8px;
  font-weight:750;
  letter-spacing:.1em;
}
.node-document{
  padding-top:54px;
  padding-bottom:var(--section-space);
}
.node-section{
  padding-top:clamp(58px,7vw,92px);
  padding-bottom:clamp(58px,7vw,92px);
  border-bottom:1px solid var(--color-border);
}
.node-section:last-child{
  border-bottom:0;
}
.node-section-head{
  max-width:840px;
  margin-bottom:38px;
}
.node-section-head h2{
  margin-top:0;
}
.node-section-head p{
  margin-top:16px;
  color:var(--color-muted);
  font-size:17px;
}
.line-label{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:3px 10px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
}
.line-label-priority{
  border-color:var(--color-accent);
  background:var(--color-mint);
  color:var(--color-accent-dark);
}
.line-label-transfer{
  background:var(--color-sky);
  color:var(--color-text);
}
.line-label-direct{
  background:var(--color-lavender);
  color:var(--color-text);
}
.line-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.line-type-card{
  min-width:0;
  padding:28px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
}
.line-type-iepl{
  border-top:8px solid var(--color-accent);
}
.line-type-transfer{
  border-top:8px solid var(--color-sky);
}
.line-type-direct{
  border-top:8px solid var(--color-lavender);
}
.line-type-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:22px;
}
.line-type-mark{
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
}
.line-type-card h3{
  margin:0 0 14px;
}
.line-type-card p{
  color:var(--color-muted);
}
.line-type-card p:last-child{
  margin-bottom:0;
}
.line-choice-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:24px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-border);
  overflow:hidden;
}
.line-choice-summary div{
  min-width:0;
  padding:24px;
  background:var(--color-panel);
}
.line-choice-summary strong{
  display:block;
  margin-bottom:7px;
  font-size:17px;
}
.line-choice-summary p{
  margin:0;
  color:var(--color-muted);
  font-size:14px;
}
.use-case-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.use-case-card{
  position:relative;
  min-width:0;
  padding:28px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
  box-shadow:var(--shadow-small);
}
.use-case-card:nth-child(4n+1){
  background:linear-gradient(135deg,var(--color-panel),var(--color-mint));
}
.use-case-card:nth-child(4n+2){
  background:linear-gradient(135deg,var(--color-panel),var(--color-sky));
}
.use-case-card:nth-child(4n+3){
  background:linear-gradient(135deg,var(--color-panel),var(--color-lavender));
}
.use-case-card:nth-child(4n+4){
  background:linear-gradient(135deg,var(--color-panel),var(--color-butter));
}
.use-case-tag{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  margin-bottom:16px;
  padding:3px 10px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel);
  color:var(--color-accent-dark);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.use-case-card h3{
  margin:0 0 12px;
}
.use-case-card p{
  margin:0;
  color:var(--color-muted);
}
.region-wall{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.region-panel{
  min-width:0;
  padding:30px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-panel);
}
.region-panel-mint{
  background:var(--color-mint);
}
.region-panel-sky{
  background:var(--color-sky);
}
.region-panel-lavender{
  background:var(--color-lavender);
}
.region-panel-butter{
  background:var(--color-butter);
}
.region-code{
  display:block;
  margin-bottom:16px;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}
.region-panel h3{
  margin:0 0 12px;
}
.region-panel p{
  color:var(--color-muted);
}
.region-chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.region-chips .chip{
  background:var(--color-panel);
  color:var(--color-text);
}
.coverage-note{
  margin:24px 0 0;
  padding:24px 26px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  color:var(--color-muted);
  box-shadow:var(--shadow-small);
}
.decision-flow{
  display:grid;
  gap:14px;
}
.decision-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:24px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
  box-shadow:var(--shadow-small);
}
.decision-icon{
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  border-radius:15px;
  background:var(--color-mint);
  color:var(--color-accent-dark);
  font-family:var(--font-mono);
  font-weight:800;
}
.decision-step:nth-child(even) .decision-icon{
  background:var(--color-sky);
  color:var(--color-text);
}
.decision-step h3{
  margin:0 0 7px;
  font-size:21px;
}
.decision-step p{
  margin:0;
  color:var(--color-muted);
}
.node-next-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:32px;
  margin-top:48px;
  padding:34px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:linear-gradient(135deg,var(--color-mint),var(--color-sky));
  box-shadow:var(--shadow-panel);
}
.node-next-panel h2{
  margin:0;
  font-size:32px;
}
.node-next-panel p{
  max-width:760px;
  margin:10px 0 0;
  color:var(--color-muted);
}
@media (max-width:1080px){
  .nodes-hero-layout{
    grid-template-columns:minmax(0,1fr) minmax(400px,.9fr);
    gap:40px;
  }
  .coverage-visual{
    min-height:440px;
  }
  .line-type-grid{
    grid-template-columns:1fr;
  }
  .line-choice-summary{
    grid-template-columns:1fr;
  }
}
@media (max-width:860px){
  .nodes-hero-layout{
    grid-template-columns:1fr;
  }
  .nodes-hero-copy{
    text-align:center;
  }
  .nodes-hero h1,
  .nodes-hero-lede{
    margin-right:auto;
    margin-left:auto;
  }
  .nodes-hero-actions,
  .nodes-facts{
    justify-content:center;
  }
  .coverage-visual{
    min-height:420px;
  }
  .region-wall{
    grid-template-columns:1fr;
  }
  .node-next-panel{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .nodes-hero{
    padding-top:54px;
    padding-bottom:64px;
  }
  .coverage-visual{
    min-height:390px;
  }
  .coverage-card{
    max-width:180px;
    padding:11px 13px;
  }
  .coverage-card-europe{
    right:30px;
  }
  .use-case-grid{
    grid-template-columns:1fr;
  }
  .node-document{
    padding-top:36px;
  }
}
@media (max-width:640px){
  .nodes-hero-copy{
    text-align:left;
  }
  .nodes-hero h1,
  .nodes-hero-lede{
    margin-left:0;
  }
  .nodes-hero-actions,
  .nodes-facts{
    justify-content:flex-start;
  }
  .nodes-facts{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .coverage-visual{
    min-height:360px;
  }
  .coverage-visual::before{
    inset:14px;
  }
  .coverage-lines{
    inset:10px;
    width:calc(100% - 20px);
    height:calc(100% - 20px);
  }
  .coverage-card{
    max-width:154px;
  }
  .coverage-card strong{
    font-size:11px;
  }
  .coverage-card-asia{
    top:28px;
    left:20px;
  }
  .coverage-card-america{
    top:42px;
    right:18px;
  }
  .coverage-card-europe{
    right:22px;
    bottom:28px;
  }
  .coverage-core{
    width:96px;
    height:96px;
    border-width:8px;
  }
  .coverage-core span{
    font-size:29px;
  }
  .node-section-head p{
    font-size:16px;
  }
  .line-type-card,
  .use-case-card,
  .region-panel{
    padding:22px;
  }
  .line-type-top{
    align-items:flex-start;
    flex-direction:column;
  }
  .decision-step{
    grid-template-columns:1fr;
    gap:14px;
    padding:21px;
  }
  .node-next-panel{
    padding:24px;
  }
  .node-next-panel h2{
    font-size:28px;
  }
}
@media (max-width:420px){
  .coverage-visual{
    min-height:330px;
  }
  .coverage-card{
    max-width:135px;
    padding:9px 10px;
  }
  .coverage-card span{
    font-size:9px;
  }
  .coverage-card strong{
    font-size:10px;
  }
  .coverage-core{
    top:55%;
    width:84px;
    height:84px;
  }
  .coverage-core span{
    font-size:25px;
  }
  .coverage-core small{
    display:none;
  }
}