.node-hero{
padding-block:var(--space-4) var(--space-6);
background:var(--c-base);
color:var(--c-ink);
}

.node-hero__grid{
display:grid;
grid-template-columns:minmax(0,.92fr) minmax(22rem,1.08fr);
align-items:center;
gap:var(--space-5);
min-width:0;
}

.node-hero__grid>*{
min-width:0;
}

.node-hero__copy{
display:flex;
flex-direction:column;
align-items:flex-start;
}

.node-hero__copy h1{
max-width:15ch;
font-size:clamp(2.5rem,5vw,3.2rem);
line-height:1.16;
overflow-wrap:anywhere;
}

.node-hero__copy .c-lead{
max-width:40rem;
margin-top:var(--space-2);
color:var(--c-muted);
}

.node-hero__copy .c-kicker{
margin-bottom:var(--space-1);
}

.node-hero__copy .c-actions{
margin-block:var(--space-3) 0;
justify-content:flex-start;
}

.node-hero__stats{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
width:100%;
margin-top:var(--space-3);
padding-block:var(--space-2);
border-top:1px solid var(--c-line);
border-bottom:1px solid var(--c-line);
}

.node-hero__stats div{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1);
padding-inline:var(--space-2);
}

.node-hero__stats div:first-child{
padding-left:0;
}

.node-hero__stats strong{
font-size:var(--fs-4);
line-height:1;
font-variant-numeric:tabular-nums;
}

.node-hero__stats span{
color:var(--c-muted);
font-size:var(--fs-1);
line-height:1.4;
overflow-wrap:anywhere;
}

.node-stage{
position:relative;
height:clamp(25rem,42vw,32rem);
overflow:hidden;
border-radius:var(--radius-lg);
background:var(--c-dark);
color:#f8f3f2;
box-shadow:var(--shadow-float);
}

.node-stage__map{
width:100%;
height:100%;
}

.node-stage__orbit{
fill:none;
stroke:var(--c-primary);
stroke-width:24;
stroke-linecap:round;
opacity:.18;
}

.node-stage__orbit--lower{
stroke:var(--c-accent);
stroke-width:34;
opacity:.2;
}

.node-stage__route{
fill:none;
stroke:#c6bec3;
stroke-width:2;
stroke-dasharray:7 9;
opacity:.7;
}

.node-stage__machine rect{
fill:var(--c-dark-surface);
stroke:#f8f3f2;
stroke-width:2;
}

.node-stage__machine rect+rect{
fill:var(--c-dark);
stroke:var(--c-line-dark);
}

.node-stage__machine circle{
fill:var(--c-primary);
}

.node-stage__machine path{
fill:none;
stroke:#c6bec3;
stroke-width:5;
stroke-linecap:round;
}

.node-stage__point>circle:first-child{
fill:var(--c-dark-surface);
stroke:var(--c-primary);
stroke-width:3;
}

.node-stage__point>circle:nth-child(2){
fill:#f8f3f2;
}

.node-stage__point text{
fill:#f8f3f2;
font-family:var(--font-head);
font-size:18px;
font-weight:650;
}

.node-stage__point .node-stage__code{
fill:#c6bec3;
font-family:var(--font-mono);
font-size:13px;
font-weight:500;
letter-spacing:.12em;
}

.node-stage__plate{
position:absolute;
right:var(--space-3);
bottom:var(--space-3);
left:var(--space-3);
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
padding:var(--space-2);
border-radius:var(--radius-sm);
background:var(--c-surface);
color:var(--c-ink);
}

.node-stage__plate span{
font-family:var(--font-mono);
font-size:var(--fs-0);
line-height:1.4;
letter-spacing:.08em;
}

.node-stage__plate strong{
font-family:var(--font-head);
font-size:var(--fs-1);
line-height:1.4;
text-align:right;
}

.c-section-head{
display:flex;
max-width:48rem;
flex-direction:column;
align-items:flex-start;
}

.c-section-head .c-kicker{
margin-bottom:var(--space-1);
}

.c-section-head .c-lead{
margin-top:var(--space-2);
color:var(--c-muted);
}

.node-cities,
.node-latency,
.node-catalog,
.node-method,
.node-order,
.node-support{
padding-block:var(--space-6);
}

.node-cities{
background:var(--c-surface);
color:var(--c-ink);
}

.node-city-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
align-items:start;
gap:var(--space-3);
margin-top:var(--space-4);
}

.node-city-card{
display:flex;
flex-direction:column;
align-items:flex-start;
min-width:0;
}

.node-city-card>h3{
margin-top:var(--space-2);
}

.node-city-card>p{
margin-top:var(--space-1);
color:var(--c-muted);
}

.node-city-card.c-card-peach,
.node-city-card.c-card-lilac,
.node-city-card.c-card-blue{
color:var(--c-ink);
}

.node-city-card.c-card-peach p,
.node-city-card.c-card-lilac p,
.node-city-card.c-card-blue p{
color:var(--c-muted);
}

.node-city-card__head{
display:flex;
width:100%;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
}

.node-city-card__signal{
display:inline-flex;
align-items:center;
gap:var(--space-1);
color:var(--c-muted);
font-size:var(--fs-1);
line-height:1.4;
}

.node-city-card__signal span{
width:.5rem;
height:.5rem;
flex:0 0 .5rem;
border-radius:50%;
background:var(--c-success);
}

.node-city-card__facts{
display:grid;
width:100%;
margin:var(--space-3) 0 0;
}

.node-city-card__facts div{
display:grid;
grid-template-columns:minmax(6rem,.7fr) minmax(0,1.3fr);
gap:var(--space-2);
padding-block:.75rem;
border-top:1px solid var(--c-line);
}

.node-city-card__facts dt,
.node-city-card__facts dd{
min-width:0;
overflow-wrap:anywhere;
}

.node-city-card__facts dd{
color:var(--c-muted);
text-align:right;
}

.node-city-card>.c-btn{
width:100%;
margin-top:var(--space-3);
}

.node-latency{
background:var(--c-blue);
color:var(--c-ink);
}

.node-latency .c-section-head .c-lead{
color:#5f5960;
}

.node-latency .table-scroll{
margin-top:var(--space-4);
}

.node-latency-table{
min-width:52rem;
}

.node-latency-table caption,
.node-stock-table caption{
padding:var(--space-2) 1.15rem;
background:var(--c-surface);
color:var(--c-muted);
font-size:var(--fs-1);
line-height:1.5;
text-align:left;
caption-side:top;
}

.node-latency-table th:not(:first-child),
.node-latency-table td:not(:first-child),
.node-stock-table th:not(:first-child),
.node-stock-table td:not(:first-child){
text-align:center;
}

.node-measure-note{
display:grid;
grid-template-columns:auto minmax(0,1fr);
gap:var(--space-2);
margin-top:var(--space-3);
background:var(--c-surface);
color:var(--c-ink);
}

.node-measure-note svg{
width:1.25rem;
height:1.25rem;
margin-top:.15rem;
color:var(--c-primary);
}

.node-measure-note p{
margin-top:var(--space-1);
color:var(--c-muted);
}

.node-catalog{
background:var(--c-surface);
color:var(--c-ink);
}

.node-catalog__layout{
display:grid;
grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);
align-items:start;
gap:var(--space-4);
}

.node-stock-table{
min-width:42rem;
}

.node-stock-table th[scope="row"] span,
.node-stock-table th[scope="row"] small{
display:block;
}

.node-stock-table th[scope="row"] small{
margin-top:var(--space-1);
color:var(--c-muted);
font-weight:500;
}

.node-ready{
display:inline-flex;
width:fit-content;
align-items:center;
gap:.4rem;
padding:.35rem .65rem;
border-radius:999px;
background:color-mix(in srgb,var(--c-success) 14%,var(--c-surface));
color:#31583f;
font-size:var(--fs-0);
line-height:1.3;
font-weight:700;
}

.node-ready::before{
content:"";
width:.4rem;
height:.4rem;
border-radius:50%;
background:var(--c-success);
}

.node-method{
background:var(--c-peach);
color:var(--c-ink);
}

.node-method .c-section-head .c-lead{
color:#625a59;
}

.node-method__steps{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:var(--space-3);
margin-top:var(--space-4);
list-style:none;
}

.node-method__step{
display:grid;
grid-template-columns:auto minmax(0,1fr);
align-items:start;
gap:var(--space-2);
min-width:0;
padding:var(--space-3);
border-radius:var(--radius-md);
background:var(--c-surface);
color:var(--c-ink);
}

.node-method__number{
display:inline-flex;
width:2.75rem;
height:2.75rem;
align-items:center;
justify-content:center;
border-radius:50%;
background:var(--c-dark);
color:#f8f3f2;
font-size:var(--fs-1);
line-height:1;
}

.node-method__step h3{
font-size:var(--fs-3);
}

.node-method__step p{
margin-top:var(--space-1);
color:var(--c-muted);
}

.node-order{
background:var(--c-dark);
color:#f8f3f2;
}

.node-order__head{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:var(--space-4);
}

.node-order__head .stack{
max-width:44rem;
}

.node-order__head p{
color:#c6bec3;
}

.node-order__kicker,
.node-closing__kicker{
background:var(--c-primary);
color:var(--c-ink);
}

.node-order__kicker::before,
.node-closing__kicker::before{
background:var(--c-dark);
}

.node-order__head>.c-btn{
flex:0 0 auto;
color:#f8f3f2;
border-color:color-mix(in srgb,currentColor 35%,transparent);
}

.node-order__grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
align-items:stretch;
gap:var(--space-2);
margin-top:var(--space-4);
}

.node-order__ticket{
position:relative;
display:flex;
min-width:0;
min-height:13rem;
flex-direction:column;
align-items:flex-start;
padding:var(--space-3);
border-radius:var(--radius-md);
background:var(--c-dark-surface);
color:#f8f3f2;
transition:transform .2s var(--ease),background .2s var(--ease);
}

.node-order__ticket:hover{
transform:translateY(-3px);
background:color-mix(in srgb,var(--c-dark-surface) 88%,var(--c-primary));
}

.node-order__ticket span{
color:#c6bec3;
font-size:var(--fs-0);
line-height:1.5;
overflow-wrap:anywhere;
}

.node-order__ticket strong{
margin-top:var(--space-3);
font-family:var(--font-head);
font-size:var(--fs-3);
line-height:1.3;
}

.node-order__ticket small{
margin-top:var(--space-1);
color:#c6bec3;
}

.node-order__ticket svg{
width:1.25rem;
height:1.25rem;
margin-top:auto;
padding-top:var(--space-3);
box-sizing:content-box;
color:var(--c-primary);
}

.node-support{
background:var(--c-surface);
color:var(--c-ink);
}

.node-support__pair{
align-items:stretch;
}

.node-support__main{
display:flex;
height:100%;
flex-direction:column;
align-items:flex-start;
background:var(--c-base);
color:var(--c-ink);
}

.node-support__main .c-kicker{
margin-bottom:var(--space-1);
}

.node-support__main>p{
margin-top:var(--space-2);
color:var(--c-muted);
}

.node-support__checklist{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
width:100%;
gap:var(--space-2);
margin-top:var(--space-3);
}

.node-support__checklist div{
min-width:0;
padding:var(--space-2);
border-radius:var(--radius-sm);
background:var(--c-surface);
color:var(--c-ink);
}

.node-support__checklist strong,
.node-support__checklist span{
display:block;
}

.node-support__checklist span{
margin-top:var(--space-1);
color:var(--c-muted);
font-size:var(--fs-1);
line-height:1.5;
}

.node-support__side{
display:grid;
grid-template-rows:repeat(2,minmax(0,1fr));
gap:var(--space-3);
}

.node-support__side article{
display:flex;
height:100%;
flex-direction:column;
align-items:flex-start;
color:var(--c-ink);
}

.node-support__side article p{
margin-top:var(--space-1);
color:var(--c-muted);
}

.node-support__side article .c-btn{
width:100%;
margin-top:var(--space-3);
}

.node-closing{
padding-block:var(--space-6) var(--space-3);
background:var(--c-base);
color:var(--c-ink);
}

.node-closing .c-cta{
color:#f8f3f2;
}

.node-closing .c-cta p{
color:#c4bdc1;
}

.node-closing__actions{
display:flex;
min-width:min(100%,16rem);
flex-direction:column;
gap:var(--space-2);
}

.node-closing__actions .c-btn{
width:100%;
}

.node-closing__actions .c-btn-ghost{
color:#f8f3f2;
border-color:color-mix(in srgb,currentColor 35%,transparent);
}

@media (max-width:64rem){
.node-hero__grid,
.node-catalog__layout{
grid-template-columns:1fr;
}

.node-hero__grid{
gap:var(--space-4);
}

.node-hero__copy h1{
max-width:18ch;
}

.node-stage{
height:auto;
min-height:28rem;
overflow:visible;
}

.node-stage__map{
min-height:28rem;
}

.node-order__grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.node-order__head{
align-items:flex-start;
flex-direction:column;
}

.node-order__head>.c-btn{
flex:auto;
}

.node-support__pair{
grid-template-columns:1fr;
}

.node-support__side{
grid-template-columns:repeat(2,minmax(0,1fr));
grid-template-rows:auto;
}
}

@media (max-width:44rem){
.node-hero{
padding-block:var(--space-4) var(--space-5);
}

.node-hero__stats{
grid-template-columns:1fr;
}

.node-hero__stats div{
padding:var(--space-2) 0;
border-bottom:1px solid var(--c-line);
}

.node-hero__stats div:last-child{
border-bottom:0;
}

.node-stage{
min-height:24rem;
}

.node-stage__map{
min-width:35rem;
min-height:24rem;
transform:translateX(-7rem);
}

.node-stage__plate{
align-items:flex-start;
flex-direction:column;
}

.node-stage__plate strong{
text-align:left;
}

.node-city-grid,
.node-method__steps,
.node-order__grid,
.node-support__checklist,
.node-support__side{
grid-template-columns:1fr;
}

.node-city-card__facts div{
grid-template-columns:1fr;
gap:var(--space-1);
}

.node-city-card__facts dd{
text-align:left;
}

.node-order__ticket{
min-height:11rem;
}

.node-support__side{
grid-template-rows:auto;
}

.node-closing .c-cta{
padding:var(--space-3);
}
}

@media (max-width:390px){
.node-stage__map{
transform:translateX(-9rem);
}

.node-stage__plate{
right:var(--space-2);
bottom:var(--space-2);
left:var(--space-2);
}

.node-method__step{
grid-template-columns:1fr;
}
}
