.region-hero{
  background:var(--color-light);
  color:var(--color-ink)
}
.region-hero .page-hero__grid{
  align-items:start
}

.region-hero__copy{
  min-width:0
}

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

.region-hero__price{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:end;
  gap:.5rem var(--space-2);
  width:min(100%,34rem);
  padding:var(--space-2) 0;
  border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);
  color:var(--color-ink)
}

.region-hero__price>span{
  grid-column:1;
  font-family:var(--font-heading);
  font-size:var(--fs-2);
  font-weight:800
}

.region-hero__price strong{
  grid-column:2;
  grid-row:1 / span 2;
  justify-self:end;
  font-size:var(--fs-5);
  line-height:1;
  font-variant-numeric:tabular-nums
}

.region-hero__price small{
  grid-column:1;
  color:var(--color-muted)
}

.region-hero__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,37rem);
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--color-line)
}

.region-hero__facts li{
  display:grid;
  min-width:0;
  gap:.25rem;
  padding:var(--space-2) var(--space-2) 0 0
}

.region-hero__facts strong{
  font-family:var(--font-mono);
  font-size:var(--fs-3);
  font-variant-numeric:tabular-nums
}

.region-hero__facts span{
  color:var(--color-muted);
  font-size:var(--fs-1);
  overflow-wrap:anywhere
}

.region-stage{
  min-width:0;
  height:clamp(31rem,48vw,38rem);
  padding:0;
  overflow:hidden;
  border-radius:var(--radius-md);
  background:var(--color-ink);
  color:#effff9;
  box-shadow:var(--shadow-soft)
}

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

.region-stage__head>div{
  display:grid;
  min-width:0;
  gap:.5rem
}

.region-stage__head strong{
  color:#effff9;
  font-family:var(--font-heading);
  font-size:var(--fs-4);
  line-height:1.25
}

.region-stage__label{
  color:#a7bcb6;
  font-family:var(--font-mono);
  font-size:var(--fs-0);
  font-weight:800;
  letter-spacing:.1em
}

.region-stage__map{
  width:100%;
  height:clamp(16rem,28vw,24rem)
}

.region-stage__gridline{
  fill:none;
  stroke:var(--color-line-dark);
  stroke-width:1
}

.region-stage__route{
  fill:none;
  stroke:var(--color-accent);
  stroke-width:4;
  stroke-linecap:round;
  stroke-dasharray:10 10
}

.region-stage__origin-ring,
.region-stage__target-ring{
  fill:none;
  stroke:var(--color-accent);
  stroke-width:2;
  opacity:.45
}

.region-stage__origin,
.region-stage__hop,
.region-stage__target{
  fill:var(--color-accent)
}

.region-stage__svg-title{
  fill:#effff9;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800
}

.region-stage__svg-meta{
  fill:#a7bcb6;
  font-family:var(--font-body);
  font-size:13px
}

.region-stage__receipt{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--color-line-dark);
  background:var(--color-terminal);
  color:#effff9
}

.region-stage__receipt>div{
  display:grid;
  min-width:0;
  gap:.45rem;
  padding:var(--space-2)
}

.region-stage__receipt>div+div{
  border-left:1px solid var(--color-line-dark)
}

.region-stage__receipt span{
  color:#a7bcb6;
  font-size:var(--fs-0);
  line-height:1.4
}

.region-stage__receipt strong{
  color:#effff9;
  font-size:var(--fs-2);
  line-height:1.4;
  overflow-wrap:anywhere
}

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

.region-plan{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  min-width:0;
  box-shadow:var(--shadow-soft)
}

.region-plan__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-2);
  min-width:0
}

.region-plan__head>div{
  display:grid;
  min-width:0;
  gap:.5rem
}

.region-plan__head h3{
  font-size:var(--fs-5)
}

.region-plan__entry{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:flex-end;
  min-width:0;
  text-align:right
}

.region-plan__entry strong{
  font-size:var(--fs-5);
  font-variant-numeric:tabular-nums
}

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

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

.region-plan__table{
  min-width:0
}

.region-plan__table .c-table{
  min-width:31rem
}

.region-plan__table th,
.region-plan__table td{
  overflow-wrap:anywhere
}

.region-plan>.c-btn{
  margin-top:var(--space-3)
}

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

.region-network-section{
  background:var(--color-ink);
  color:#effff9
}

.region-network{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:stretch;
  gap:var(--space-4)
}

.region-network__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  color:#effff9
}

.region-network__copy .page-kicker{
  color:var(--color-accent)
}

.region-network__copy h2{
  color:#effff9
}

.region-network__copy p{
  color:#b8cbc6
}

.region-network__copy>*+*{
  margin-top:var(--space-2)
}

.region-network__panel{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-ink)
}

.region-network__metric{
  display:grid;
  gap:.5rem;
  padding:var(--space-3);
  background:var(--color-accent);
  color:var(--color-ink)
}

.region-network__metric span{
  color:var(--color-ink);
  font-family:var(--font-heading);
  font-size:var(--fs-2);
  font-weight:800
}

.region-network__metric strong{
  color:var(--color-ink);
  font-size: clamp(2.4rem,10cqi,4.25rem);
  line-height:1;
  overflow-wrap:anywhere
}

.region-network__metric small{
  color:var(--color-primary-deep)
}

.region-network__checks{
  margin:0;
  padding:0;
  background:var(--color-surface);
  color:var(--color-ink)
}

.region-network__checks>div{
  display:grid;
  grid-template-columns:minmax(6rem,.3fr) minmax(0,1fr);
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-2) var(--space-3)
}

.region-network__checks>div+div{
  border-top:1px solid var(--color-line)
}

.region-network__checks dt{
  color:var(--color-primary-deep);
  font-family:var(--font-heading);
  font-weight:800
}

.region-network__checks dd{
  min-width:0;
  color:var(--color-muted);
  overflow-wrap:anywhere
}

.region-steps{
  display:grid;
  gap:var(--space-2);
  margin:var(--space-4) 0 0;
  padding:0;
  list-style:none
}

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

.region-step__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.75rem;
  height:2.75rem;
  border-radius:var(--radius-pill);
  background:var(--color-ink);
  color:#fff;
  font-size:var(--fs-1);
  font-weight:800;
  line-height:1
}

.region-step>div{
  display:grid;
  min-width:0;
  gap:.5rem
}

.region-step h3{
  font-size:var(--fs-4)
}

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

.region-step__time{
  width:fit-content;
  max-width:100%;
  padding:.5rem .75rem;
  border-radius:var(--radius-pill);
  background:var(--color-accent-soft);
  color:var(--color-primary-deep);
  font-family:var(--font-mono);
  font-size:var(--fs-1);
  line-height:1.35;
  text-align:center
}

.region-faq-section{
  background:var(--color-light);
  color:var(--color-ink)
}

.region-faq__head{
  display:grid;
  gap:var(--space-2);
  color:var(--color-ink)
}

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

.region-faq{
  margin-top:var(--space-4)
}

.region-faq details{
  padding-inline:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-ink)
}

.region-faq .c-faq__body{
  padding:var(--space-2) var(--space-3) var(--space-3);
  border-top:1px solid var(--color-line);
  background:var(--color-surface);
  color:var(--color-muted)
}

.region-endcap__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.625rem;
  min-width:min(100%,14rem)
}

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

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

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

  .region-stage{
    height:auto
  }

  .region-network__copy{
    justify-content:flex-start
  }
}

@media (max-width:48rem){
  .region-plan__head{
    flex-direction:column
  }

  .region-plan__entry{
    justify-content:flex-start;
    text-align:left
  }

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

  .region-step__time{
    grid-column:2;
    justify-self:start
  }
}

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

  .region-hero__facts li{
    grid-template-columns:auto minmax(0,1fr);
    align-items:baseline;
    gap:var(--space-1)
  }

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

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

  .region-stage__receipt>div+div{
    border-top:1px solid var(--color-line-dark);
    border-left:0
  }

  .region-network__checks>div{
    grid-template-columns:1fr;
    gap:.5rem
  }

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

  .region-step__time{
    grid-column:1
  }
}
