.region-page h1,
.region-page h2,
.region-page h3{
font-family:var(--font-body)
}

.region-page h1{
font-size:clamp(2.35rem,5vw,3.2rem);
line-height:1.18;
font-weight:700
}

.region-page h2{
font-size:clamp(1.85rem,3.5vw,2.8rem);
font-weight:700
}

.region-page h3{
font-weight:700
}

.region-hero{
padding-block:var(--space-6);
background:var(--color-light);
color:var(--color-ink)
}

.region-hero__grid{
display:grid;
grid-template-columns:minmax(0,.88fr) minmax(28rem,1.12fr);
gap:var(--space-5);
align-items:start
}

.region-hero__copy,
.region-hero__heading{
display:flex;
min-width:0;
flex-direction:column
}

.region-hero__copy{
gap:0
}

.region-hero__copy .region-hero__actions{
margin-top:var(--space-3);
margin-bottom:var(--space-3)
}

.region-hero__heading{
gap:var(--space-1)
}

.region-hero__lead{
max-width:42rem;
color:var(--color-muted);
font-size:var(--fs-3)
}

.region-hero__actions{
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
gap:var(--space-2);
margin-block:var(--space-3)
}

.region-facts{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
margin:0;
padding-top:var(--space-2);
border-top:1px solid var(--line-paper)
}

.region-facts div{
min-width:0;
padding:var(--space-2) var(--space-2) var(--space-2) 0;
border-bottom:1px solid var(--line-paper)
}

.region-facts dt{
color:var(--color-primary);
font-size:var(--fs-4);
font-weight:700
}

.region-facts dd{
color:var(--color-muted)
}

.region-route-stage{
min-width:0;
overflow:hidden;
border-radius:var(--radius-lg);
background:var(--color-dark);
color:#f9f4ee;
box-shadow:var(--shadow-soft)
}

.region-route-stage__head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:var(--space-2);
padding:var(--space-3);
border-bottom:1px solid var(--line-dark)
}

.region-route-stage__head div{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-route-stage__head h2{
font-size:var(--fs-4)
}

.region-route-stage__label,
.region-route-stage__count{
color:#bdb8c3;
font-family:var(--font-mono);
font-size:var(--fs-0);
letter-spacing:.08em
}

.region-route-map{
position:relative;
min-height:24rem;
overflow:hidden;
background:var(--color-surface);
color:var(--color-primary)
}

.region-route-map::before,
.region-route-map::after{
position:absolute;
inset:0;
pointer-events:none;
content:""
}

.region-route-map::before{
background:linear-gradient(122deg,transparent 0 31%,color-mix(in srgb,var(--color-primary) 7%,transparent) 31% 32%,transparent 32% 65%,color-mix(in srgb,var(--color-primary) 8%,transparent) 65% 66%,transparent 66%)
}

.region-route-map::after{
background:linear-gradient(58deg,transparent 0 47%,color-mix(in srgb,var(--color-dark) 7%,transparent) 47% 48%,transparent 48%)
}

.region-route-map__lines{
position:absolute;
inset:1.5rem;
width:calc(100% - 3rem);
height:calc(100% - 3rem);
color:color-mix(in srgb,var(--color-primary) 45%,transparent);
pointer-events:none
}

.region-node{
position:absolute;
z-index:2;
display:flex;
max-width:9.5rem;
min-width:7.5rem;
flex-direction:column;
align-items:flex-start;
gap:.25rem;
padding:.7rem .8rem;
border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);
border-radius:var(--radius-sm);
background:#fff;
color:var(--color-ink);
text-align:left;
cursor:pointer;
box-shadow:0 .7rem 1.8rem color-mix(in srgb,var(--color-dark) 10%,transparent);
transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)
}

.region-node:hover{
transform:translateY(-2px)
}

.region-node.is-active{
border-color:var(--color-primary);
background:var(--color-primary);
color:#fff
}

.region-node__code{
color:var(--color-primary);
font-size:var(--fs-0);
font-weight:700
}

.region-node.is-active .region-node__code{
color:var(--color-accent-soft)
}

.region-node strong{
font-size:var(--fs-1);
line-height:1.3
}

.region-node small{
color:var(--color-muted)
}

.region-node.is-active small{
color:#d6d1dd
}

.region-node--sg{
left:5%;
bottom:11%
}

.region-node--jp{
left:36%;
top:11%
}

.region-node--kr{
left:49%;
bottom:10%
}

.region-node--hk{
right:24%;
top:36%
}

.region-node--usw{
right:4%;
top:8%
}

.region-route-readout{
display:grid;
grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr);
gap:var(--space-2);
align-items:center;
padding:var(--space-3);
background:var(--color-dark);
color:#f9f4ee
}

.region-route-readout div{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-route-readout__label{
color:#a9a4af;
font-size:var(--fs-0);
letter-spacing:.08em
}

.region-route-readout p{
min-width:0;
color:#c7c1cb;
font-size:var(--fs-1)
}

.region-route-readout__link{
grid-column:1/-1;
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
padding-top:var(--space-2);
border-top:1px solid var(--line-dark);
color:var(--color-accent-soft);
font-size:var(--fs-1);
font-weight:700
}

.region-route-readout__link svg{
width:1.25rem;
height:1.25rem;
flex:0 0 1.25rem
}

.region-latency,
.region-asia,
.region-decision,
.region-closing-section{
padding-block:var(--space-6);
background:var(--color-paper);
color:var(--color-ink)
}

.region-spotlight{
padding-block:var(--space-6);
background:var(--color-light);
color:var(--color-ink)
}

.region-uswest{
padding-block:var(--space-6);
background:var(--color-dark);
color:#f9f4ee
}

.region-availability{
padding-block:var(--space-6);
background:var(--color-surface-2);
color:var(--color-ink)
}

.region-section-head{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);
gap:var(--space-4);
align-items:end;
margin-bottom:var(--space-4)
}

.region-section-head__title{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-section-head>p{
max-width:34rem;
color:var(--color-muted)
}

.region-method-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));
gap:var(--space-2);
margin-bottom:var(--space-4)
}

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

.region-method__index{
grid-row:1/3;
color:var(--color-primary);
font-weight:700
}

.region-method strong{
line-height:1.5
}

.region-method p{
color:var(--color-muted);
font-size:var(--fs-1)
}

.region-latency-table{
border-radius:var(--radius-md);
background:var(--color-paper);
box-shadow:var(--shadow-soft)
}

.region-latency-table table{
min-width:58rem
}

.region-latency-table caption,
.region-availability-table caption{
padding:var(--space-2);
background:var(--color-surface);
color:var(--color-ink);
font-size:var(--fs-1);
font-weight:700;
text-align:left
}

.region-latency-table th,
.region-latency-table td{
text-align:center
}

.region-latency-table th:first-child,
.region-latency-table td:first-child{
text-align:left
}

.region-latency-table tbody th span{
color:var(--color-muted);
font-size:var(--fs-0);
font-weight:400
}

.region-latency-table .is-best{
background:color-mix(in srgb,var(--color-accent) 14%,white);
color:var(--color-primary);
font-weight:700
}

.region-latency-note{
margin-top:var(--space-3);
box-shadow:none
}

.region-latency-note .c-note__icon svg{
width:1.2rem;
height:1.2rem
}

.region-latency-note div div{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-latency-note p{
color:var(--color-muted)
}

.region-spotlight__grid{
display:grid;
grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);
gap:var(--space-5);
align-items:center
}

.region-spotlight__visual{
position:relative;
min-height:32rem;
overflow:hidden;
border-radius:var(--radius-lg);
background:var(--color-primary);
color:var(--color-accent-soft)
}

.region-spotlight__visual::before{
position:absolute;
inset:0;
background:linear-gradient(145deg,color-mix(in srgb,var(--color-accent) 30%,transparent),transparent 52%);
content:"";
pointer-events:none
}

.region-spotlight__visual svg{
position:absolute;
inset:4rem 2rem 2rem;
width:calc(100% - 4rem);
height:calc(100% - 6rem)
}

.region-spotlight__plate{
position:absolute;
z-index:1;
top:var(--space-3);
left:var(--space-3);
display:flex;
flex-direction:column;
gap:var(--space-1);
padding:var(--space-2);
border-radius:var(--radius-sm);
background:var(--color-light);
color:var(--color-ink)
}

.region-spotlight__plate span{
color:var(--color-primary);
font-size:var(--fs-0)
}

.region-spotlight__copy{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-spotlight__copy>p{
margin-top:var(--space-2);
color:var(--color-muted)
}

.region-checklist{
display:grid;
gap:0;
margin-top:var(--space-3);
border-top:1px solid var(--line-paper)
}

.region-checklist article{
display:grid;
grid-template-columns:auto minmax(0,1fr);
gap:var(--space-2);
padding-block:var(--space-2);
border-bottom:1px solid var(--line-paper)
}

.region-checklist svg{
width:1.4rem;
height:1.4rem;
margin-top:.2rem;
color:var(--color-primary)
}

.region-checklist article div{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-checklist p{
color:var(--color-muted)
}

.region-card-action{
align-self:flex-start;
margin-top:var(--space-3)
}

.region-node-cards{
grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));
align-items:start
}

.region-node-card{
display:flex;
flex-direction:column;
gap:var(--space-2);
box-shadow:none
}

.region-node-card__top{
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
gap:var(--space-1)
}

.region-node-card__status{
display:inline-flex;
align-items:center;
gap:.4rem;
color:var(--color-success);
font-size:var(--fs-0);
font-weight:700
}

.region-node-card__status i{
width:.45rem;
height:.45rem;
border-radius:50%;
background:var(--color-success)
}

.region-node-card>p{
color:var(--color-muted)
}

.region-node-card dl{
display:grid;
margin:0;
border-top:1px solid var(--line-paper)
}

.region-node-card dl div{
display:grid;
grid-template-columns:minmax(6rem,.4fr) minmax(0,1fr);
gap:var(--space-2);
padding-block:var(--space-1);
border-bottom:1px solid var(--line-paper)
}

.region-node-card dt{
color:var(--color-muted);
font-weight:400
}

.region-node-card dd{
font-weight:700
}

.region-node-card .c-btn{
align-self:flex-start;
margin-top:var(--space-2)
}

.region-uswest__grid{
display:grid;
grid-template-columns:minmax(0,1.08fr) minmax(21rem,.92fr);
gap:var(--space-5);
align-items:start
}

.region-uswest__copy{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-uswest__copy>p{
margin-top:var(--space-2);
color:#c7c1cb
}

.region-uswest__kicker{
color:var(--color-accent-soft)
}

.region-uswest__list{
display:grid;
gap:0;
margin:var(--space-3) 0 0;
padding:0;
list-style:none;
border-top:1px solid var(--line-dark)
}

.region-uswest__list li{
padding-block:var(--space-2);
border-bottom:1px solid var(--line-dark);
color:#d4cfd8
}

.region-uswest__list strong{
color:#fff
}

.region-uswest__copy .c-btn{
align-self:flex-start;
margin-top:var(--space-3)
}

.region-uswest__ledger{
min-width:0;
overflow:hidden;
border-radius:var(--radius-lg);
background:var(--color-light);
color:var(--color-ink)
}

.region-uswest__ledger-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
padding:var(--space-2) var(--space-3);
background:var(--color-accent-soft);
color:#17151d;
font-size:var(--fs-0);
font-weight:700
}

.region-uswest__ledger-body{
display:grid;
padding-inline:var(--space-3)
}

.region-uswest__ledger-body div{
display:grid;
grid-template-columns:minmax(7rem,.45fr) minmax(0,1fr);
gap:var(--space-2);
padding-block:var(--space-3);
border-bottom:1px solid var(--line-paper)
}

.region-uswest__ledger-body div:last-child{
border-bottom:0
}

.region-uswest__ledger-body span{
color:var(--color-muted)
}

.region-decision-list{
display:grid;
margin:0;
padding:0;
list-style:none;
border-top:1px solid var(--line-paper)
}

.region-decision-list li{
display:grid;
grid-template-columns:auto minmax(0,1fr) minmax(14rem,.5fr);
gap:var(--space-3);
align-items:start;
padding-block:var(--space-3);
border-bottom:1px solid var(--line-paper)
}

.region-decision-list__number{
display:grid;
width:2.7rem;
height:2.7rem;
place-items:center;
border-radius:50%;
background:var(--color-primary);
color:#fff;
font-size:var(--fs-1);
font-weight:700
}

.region-decision-list li div{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-decision-list p{
color:var(--color-muted)
}

.region-decision-list li>strong{
padding:var(--space-2);
border-radius:var(--radius-sm);
background:var(--color-surface-2);
color:var(--color-primary);
font-size:var(--fs-1)
}

.region-availability-table{
border-radius:var(--radius-md);
background:var(--color-paper);
box-shadow:var(--shadow-soft)
}

.region-availability-table table{
min-width:66rem
}

.region-availability-table th,
.region-availability-table td{
text-align:left
}

.region-availability-table a{
color:var(--color-primary);
font-weight:700;
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:.2em
}

.region-stock{
display:inline-flex;
align-items:center;
gap:.4rem;
color:var(--color-success);
font-weight:700
}

.region-stock::before{
width:.45rem;
height:.45rem;
border-radius:50%;
background:var(--color-success);
content:""
}

.region-order-note{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);
gap:var(--space-4);
margin-top:var(--space-3);
padding:var(--space-3);
border-radius:var(--radius-md);
background:var(--color-light);
color:var(--color-ink)
}

.region-order-note div{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-order-note p{
color:var(--color-muted)
}

.region-order-note ul{
display:grid;
gap:var(--space-1);
margin:0;
padding-left:1.25rem
}

.region-closing-section{
padding-top:var(--space-6);
padding-bottom:var(--space-3)
}

.region-closing{
padding:var(--space-4);
background:var(--color-dark);
color:#f9f4ee
}

.region-closing>div:first-child{
display:flex;
max-width:46rem;
min-width:0;
flex-direction:column;
gap:var(--space-1)
}

.region-closing p{
margin-top:var(--space-1);
color:#c7c1cb
}

.region-closing__kicker{
color:var(--color-accent-soft)
}

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

.region-closing__actions .c-btn{
width:100%
}

.region-closing__actions .c-btn--ghost{
color:#f9f4ee;
border-color:color-mix(in srgb,#f9f4ee 45%,transparent)
}

@media(max-width:64rem){
.region-hero__grid,
.region-spotlight__grid,
.region-uswest__grid{
grid-template-columns:1fr
}

.region-route-stage{
max-width:none
}

.region-section-head{
grid-template-columns:1fr;
align-items:start
}

.region-section-head>p{
max-width:46rem
}

.region-spotlight__visual{
min-height:25rem
}

.region-decision-list li{
grid-template-columns:auto minmax(0,1fr)
}

.region-decision-list li>strong{
grid-column:2
}
}

@media(max-width:48rem){
.region-hero,
.region-latency,
.region-spotlight,
.region-asia,
.region-uswest,
.region-decision,
.region-availability,
.region-closing-section{
padding-block:var(--space-5)
}

.region-route-map{
min-height:36rem
}

.region-route-map__lines{
display:none
}

.region-node{
position:absolute;
width:min(10.5rem,44%);
max-width:44%;
min-width:0
}

.region-node--sg{
left:4%;
bottom:6%
}

.region-node--jp{
left:4%;
top:6%
}

.region-node--kr{
left:28%;
top:40%
}

.region-node--hk{
right:4%;
top:6%
}

.region-node--usw{
right:4%;
bottom:6%
}

.region-route-readout{
grid-template-columns:1fr
}

.region-route-readout__link{
grid-column:auto
}

.region-spotlight__visual{
min-height:20rem
}

.region-node-card dl div,
.region-uswest__ledger-body div{
grid-template-columns:1fr;
gap:.25rem
}

.region-decision-list li{
grid-template-columns:1fr
}

.region-decision-list li>strong{
grid-column:auto
}

.region-order-note{
grid-template-columns:1fr
}

.region-closing{
align-items:flex-start;
flex-direction:column
}

.region-closing__actions{
width:100%
}
}

@media(max-width:24.375rem){
.region-hero{
padding-block:var(--space-4)
}

.region-hero__actions{
display:grid;
grid-template-columns:1fr
}

.region-hero__actions .c-btn{
width:100%;
white-space:normal
}

.region-facts{
grid-template-columns:1fr
}

.region-route-stage__head{
flex-direction:column
}

.region-route-map{
min-height:auto;
padding:var(--space-2)
}

.region-route-map::before,
.region-route-map::after{
display:none
}

.region-node{
position:static;
width:100%;
max-width:none;
margin-bottom:var(--space-1)
}

.region-node:last-child{
margin-bottom:0
}

.region-method{
grid-template-columns:1fr
}

.region-method__index{
grid-row:auto
}

.region-spotlight__visual{
min-height:17rem
}

.region-spotlight__plate{
right:var(--space-2);
left:var(--space-2)
}

.region-spotlight__visual svg{
inset:5.5rem 1rem 1rem;
width:calc(100% - 2rem);
height:calc(100% - 6.5rem)
}

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

.region-card-action,
.region-node-card .c-btn,
.region-uswest__copy .c-btn{
width:100%;
white-space:normal
}
}
