.region-hero{
  padding:var(--gm-space-5) 0;
  color:var(--gm-ink);
  background:var(--gm-light)
}

.region-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(20rem,.98fr);
  align-items:center;
  gap:var(--gm-space-5)
}

.region-hero__grid>*{
  min-width:0
}

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

.region-hero__copy h1{
  max-width:min(36rem,100%);
  margin-top:var(--gm-space-2)
}

.region-hero__lead{
  max-width:40rem;
  margin-top:var(--gm-space-3);
  color:var(--gm-muted);
  font-size:var(--gm-text-3)
}

.region-hero__facts{
  display:grid;
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:var(--gm-space-4);
  padding:var(--gm-space-3) 0;
  border-top:1px solid var(--gm-line);
  border-bottom:1px solid var(--gm-line)
}

.region-hero__facts div{
  min-width:0;
  padding-inline:var(--gm-space-2)
}

.region-hero__facts div:first-child{
  padding-left:0
}

.region-hero__facts div+div{
  border-left:1px solid var(--gm-line)
}

.region-hero__facts strong,
.region-hero__facts span{
  display:block;
  overflow-wrap:anywhere
}

.region-hero__facts strong{
  color:var(--gm-dark);
  font-family:var(--gm-font-mono);
  font-size: clamp(1.45rem,7cqi,2rem);
  line-height:1.2;
  font-variant-numeric:tabular-nums
}

.region-hero__facts span{
  margin-top:var(--gm-space-1);
  color:var(--gm-muted);
  font-size:var(--gm-text-0);
  line-height:var(--gm-leading-data)
}

.region-hero__copy .gm-actions{
  margin-top:var(--gm-space-4);
  justify-content:flex-start
}

.region-hero__note{
  max-width:40rem;
  margin-top:var(--gm-space-2);
  color:var(--gm-muted);
  font-size:var(--gm-text-1)
}

.region-route{
  min-width:0;
  margin:0;
  overflow:hidden;
  color:var(--gm-ink);
  background:var(--gm-surface);
  border-radius:var(--gm-radius-lg);
  box-shadow:var(--gm-shadow-float)
}

.region-route__heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--gm-space-2);
  padding:var(--gm-space-3)
}

.region-route__heading>div{
  min-width:0
}

.region-route__heading strong,
.region-route__label{
  display:block;
  overflow-wrap:anywhere
}

.region-route__heading strong{
  margin-top:var(--gm-space-1);
  color:var(--gm-dark);
  font-family:var(--gm-font-heading);
  font-size:var(--gm-text-3);
  line-height:var(--gm-leading-heading)
}

.region-route__label{
  color:var(--gm-primary-paper);
  font-family:var(--gm-font-mono);
  font-size:var(--gm-text-0);
  line-height:var(--gm-leading-data)
}

.region-route__map{
  width:100%;
  height:clamp(16rem,34vw,22rem);
  object-fit:cover;
  background:var(--gm-light)
}

.region-route figcaption{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:var(--gm-space-1) var(--gm-space-2);
  padding:var(--gm-space-3);
  color:var(--gm-muted);
  background:var(--gm-surface);
  border-top:1px solid var(--gm-line)
}

.region-route figcaption strong{
  min-width:0;
  overflow-wrap:anywhere;
  color:var(--gm-dark);
  text-align:right
}

.region-plan-grid{
  margin-top:var(--gm-space-4)
}

.region-plan__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--gm-space-2)
}

.region-plan__top>div{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start
}

.region-plan__top h3{
  margin-top:var(--gm-space-2);
  overflow-wrap:anywhere
}

.region-plan__fit{
  min-height:5.1rem
}

.region-cycle-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gm-space-1);
  margin:var(--gm-space-3) 0 0
}

.region-cycle-list div{
  min-width:0;
  padding:var(--gm-space-2);
  color:var(--gm-ink);
  background:var(--gm-band);
  border-radius:var(--gm-radius-sm)
}

.region-cycle-list dt{
  color:var(--gm-muted)
}

.region-cycle-list dd{
  margin-top:var(--gm-space-1);
  overflow-wrap:anywhere;
  color:var(--gm-dark);
  font-family:var(--gm-font-mono);
  font-size:var(--gm-text-3);
  font-weight:700;
  font-variant-numeric:tabular-nums
}

.region-plan__action{
  width:100%;
  margin-top:var(--gm-space-3)
}

.region-billing-note{
  margin-top:var(--gm-space-4)
}

.region-billing-note p{
  margin-top:var(--gm-space-1)
}

.region-network{
  align-items:stretch
}

.region-network__copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start
}

.region-network__copy h2{
  max-width:18ch;
  margin-top:var(--gm-space-2)
}

.region-network__copy>p{
  max-width:46rem;
  margin-top:var(--gm-space-3);
  color:var(--gm-muted)
}

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

.region-network__checks div{
  min-width:0;
  padding:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-band-cool);
  border-radius:var(--gm-radius-md)
}

.region-network__checks strong,
.region-network__checks span{
  display:block
}

.region-network__checks strong{
  color:var(--gm-primary-paper);
  font-family:var(--gm-font-mono);
  font-size:var(--gm-text-1)
}

.region-network__checks span{
  margin-top:var(--gm-space-1);
  overflow-wrap:anywhere;
  color:var(--gm-ink);
  font-size:var(--gm-text-1);
  line-height:var(--gm-leading-body)
}

.region-network__panel{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:var(--gm-space-4);
  color:#f7f1e6;
  background:var(--gm-dark);
  border-radius:var(--gm-radius-lg)
}

.region-network__metric span{
  display:block;
  color:#c9c0b0;
  font-size:var(--gm-text-1)
}

.region-network__metric strong{
  display:flex;
  align-items:baseline;
  gap:var(--gm-space-1);
  margin-top:var(--gm-space-2);
  overflow-wrap:anywhere;
  color:#fff;
  font-family:var(--gm-font-mono);
  font-size: clamp(2.25rem, 12cqi, 4.25rem);
  line-height:1;
  font-variant-numeric:tabular-nums
}

.region-network__metric small{
  color:var(--gm-accent);
  font-size:var(--gm-text-2)
}

.region-network__ledger{
  margin:var(--gm-space-4) 0 0;
  border-top:1px solid var(--gm-line-dark)
}

.region-network__ledger div{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:var(--gm-space-2);
  padding:var(--gm-space-2) 0;
  border-bottom:1px solid var(--gm-line-dark)
}

.region-network__ledger dt{
  color:#c9c0b0;
  font-weight:500
}

.region-network__ledger dd{
  overflow-wrap:anywhere;
  color:#fff;
  text-align:right
}

.region-network__panel>p{
  margin-top:auto;
  padding-top:var(--gm-space-4);
  color:#c9c0b0;
  font-size:var(--gm-text-1)
}

.region-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
  gap:var(--gm-space-3);
  margin:var(--gm-space-4) 0 0;
  padding:0;
  list-style:none
}

.region-steps li{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:var(--gm-space-2);
  padding:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-surface);
  border-radius:var(--gm-radius-lg);
  box-shadow:var(--gm-shadow-soft)
}

.region-step__number{
  display:inline-flex;
  width:2.7rem;
  height:2.7rem;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:var(--gm-dark);
  background:var(--gm-accent);
  border-radius:999px;
  font-family:var(--gm-font-mono);
  font-size:var(--gm-text-1);
  line-height:1;
  font-weight:700
}

.region-steps li>div{
  min-width:0
}

.region-steps h3{
  overflow-wrap:anywhere
}

.region-steps p{
  margin-top:var(--gm-space-1);
  color:var(--gm-muted);
  font-size:var(--gm-text-1)
}

.region-step__time{
  display:block;
  margin-top:var(--gm-space-2);
  overflow-wrap:anywhere;
  color:var(--gm-primary-paper);
  font-family:var(--gm-font-mono);
  font-size:var(--gm-text-0);
  line-height:var(--gm-leading-data)
}

.region-step-summary{
  display:grid;
  grid-template-columns:minmax(10rem,.3fr) minmax(0,1fr);
  gap:var(--gm-space-3);
  margin-top:var(--gm-space-4);
  padding:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-accent-soft);
  border-radius:var(--gm-radius-lg)
}

.region-step-summary strong{
  color:var(--gm-dark);
  font-family:var(--gm-font-heading)
}

.region-step-summary p{
  color:var(--gm-ink)
}

.region-final{
  padding-top:0
}

.region-final__copy{
  max-width:40rem
}

.region-final__label{
  display:block;
  margin-bottom:var(--gm-space-2);
  color:var(--gm-accent);
  font-family:var(--gm-font-mono);
  font-size:var(--gm-text-0);
  line-height:var(--gm-leading-data);
  font-weight:700
}

.region-final__copy p{
  margin-top:var(--gm-space-2)
}

.region-final .gm-actions{
  flex-direction:column;
  align-items:stretch
}

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

.region-final .c-btn--ghost{
  color:#f8f3e8;
  border-color:color-mix(in srgb,currentColor 42%,transparent)
}

@media(max-width:64rem){
  .region-hero__grid{
    grid-template-columns:minmax(0,1fr) minmax(18rem,.82fr);
    gap:var(--gm-space-4)
  }

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

  .region-hero__facts div{
    display:grid;
    grid-template-columns:minmax(0,.45fr) minmax(0,1fr);
    align-items:center;
    gap:var(--gm-space-2);
    padding:var(--gm-space-2) 0
  }

  .region-hero__facts div+div{
    border-top:1px solid var(--gm-line);
    border-left:0
  }

  .region-hero__facts span{
    margin-top:0
  }

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

  .region-steps{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:48rem){
  .region-hero__grid{
    grid-template-columns:1fr
  }

  .region-hero__copy h1{
    max-width:none
  }

  .region-route{
    width:100%
  }

  .region-plan__fit{
    min-height:0
  }

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

  .region-step-summary{
    grid-template-columns:1fr;
    gap:var(--gm-space-1)
  }
}

@media(max-width:24.375rem){
  .region-hero{
    padding:var(--gm-space-5) 0
  }

  .region-route__heading,
  .region-plan__top{
    flex-direction:column
  }

  .region-route figcaption,
  .region-network__ledger div{
    grid-template-columns:1fr
  }

  .region-route figcaption strong,
  .region-network__ledger dd{
    text-align:left
  }

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

  .region-network__panel{
    padding:var(--gm-space-3)
  }
}

@media(prefers-reduced-motion:reduce){
  .region-route__map{
    transform:none
  }
}
