.network-page { background: var(--warm); }
.network-hero { padding: 72px 0 64px; border-bottom: 1px solid var(--line); }
.network-hero-inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: end; }
.network-kicker { margin: 0 0 18px; display: flex; align-items: center; gap: 12px; color: var(--cyan-dark); font-size: 14px; font-weight: 700; }
.network-kicker span { width: 34px; height: 2px; background: currentColor; }
.network-hero h1 { margin: 0; color: var(--ink-deep); font-size: 66px; line-height: 1.13; }
.network-hero-copy { padding-top: 20px; border-top: 1px solid var(--line-strong); }
.network-hero-copy p { margin: 0; color: var(--muted); font-size: 18px; line-height: 1.85; }
.network-map-section { padding: 78px 0 86px; overflow: hidden; background: var(--warm); color: var(--ink); border-bottom: 1px solid var(--line); }
.network-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.network-heading h2 { margin: 0; font-size: 42px; line-height: 1.3; }
.network-heading p { max-width: 590px; margin: 0; color: var(--muted); font-size: 15px; }
.map-legend { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 24px; color: var(--muted); font-size: 13px; }
.map-legend span { display: inline-flex; align-items: center; gap: 8px; }
.map-legend i { width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 5px rgba(117, 129, 235, .13); }
.map-legend span:last-child i { background: #e6533f; box-shadow: 0 0 0 5px rgba(230, 83, 63, .16); }
.world-map { width: min(100%, 1120px); aspect-ratio: 950 / 620; margin: 38px auto 0; position: relative; }
.world-map::before { content: ""; position: absolute; inset: 0; background: url("assets/world-map-base.svg") center / contain no-repeat; opacity: .18; filter: grayscale(1); }
.map-routes { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.map-routes path { fill: none; stroke: var(--cyan-dark); stroke-width: 1.8; stroke-linecap: round; opacity: .55; vector-effect: non-scaling-stroke; }
.map-marker { --marker: var(--cyan); position: absolute; z-index: 2; width: 16px; height: 16px; transform: translate(-50%, -50%); border: 3px solid var(--warm); border-radius: 50%; background: var(--marker); box-shadow: 0 0 0 4px color-mix(in srgb, var(--marker) 22%, transparent); }
.map-marker.domestic { --marker: #e6533f; z-index: 3; width: 22px; height: 22px; box-shadow: 0 0 0 5px rgba(230, 83, 63, .24), 0 0 0 10px rgba(230, 83, 63, .09); }
.map-origin-label { position: absolute; left: calc(100% + 12px); top: 50%; padding: 3px 8px; transform: translateY(-50%); border: 1px solid rgba(230, 83, 63, .42); color: var(--ink-deep); background: rgba(251, 250, 246, .94); font-size: 13px; font-weight: 700; white-space: nowrap; }
.map-marker::after { content: attr(data-label); position: absolute; left: 50%; bottom: calc(100% + 10px); min-width: max-content; padding: 5px 8px; visibility: hidden; opacity: 0; transform: translate(-50%, 5px); border: 1px solid rgba(255,255,255,.2); color: var(--paper); background: rgba(0,0,0,.94); font-size: 12px; font-style: normal; white-space: nowrap; transition: opacity .18s, transform .18s, visibility .18s; }
.map-marker:hover::after, .map-marker:focus-visible::after { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.map-marker:focus-visible { outline: 2px solid var(--paper); outline-offset: 4px; }
.network-domestic { padding: 86px 0; background: var(--paper); }
.domestic-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 86px; align-items: start; }
.domestic-layout h2, .overseas-heading h2 { margin: 0; color: var(--ink-deep); font-size: 42px; line-height: 1.3; }
.domestic-layout > div:first-child > p { margin: 20px 0 0; color: var(--muted); font-size: 17px; }
.domestic-regions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.domestic-regions div { min-width: 0; padding: 22px 20px 22px 0; border-bottom: 1px solid var(--line-strong); }
.domestic-regions div:nth-child(odd) { border-right: 1px solid var(--line-strong); }
.domestic-regions div:nth-child(even) { padding-left: 24px; }
.domestic-regions strong, .domestic-regions span { display: block; }
.domestic-regions strong { color: var(--ink-deep); font-size: 17px; }
.domestic-regions span { margin-top: 4px; color: var(--muted); font-size: 13px; }
.overseas-section { padding: 86px 0 94px; background: var(--mist); }
.overseas-heading { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: end; }
.overseas-heading p { margin: 0; color: var(--muted); font-size: 16px; }
.region-groups { margin-top: 42px; border-top: 1px solid var(--line-strong); }
.region-group { padding: 27px 0; display: grid; grid-template-columns: 220px 1fr; gap: 35px; border-bottom: 1px solid var(--line-strong); }
.region-group h3 { margin: 0; color: var(--ink-deep); font-size: 20px; }
.region-countries { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 24px; }
.region-countries a { min-height: 38px; display: flex; align-items: center; gap: 9px; color: var(--ink); font-size: 15px; }
.region-countries a::before { content: ""; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--cyan); }
.network-note { margin: 28px 0 0; color: var(--muted); font-size: 13px; }
.network-cta { padding: 62px 0; color: var(--paper); background: var(--cyan-dark); }
.network-cta .section-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.network-cta h2 { margin: 0; font-size: 30px; }
.network-cta p { margin: 6px 0 0; color: rgba(255,255,255,.86); }

/* Single-screen sales network overview */
.network-one-screen + .site-footer,
.network-one-screen .network-domestic,
.network-one-screen .overseas-section,
.network-one-screen .network-cta { display: none; }
.network-one-screen .network-hero { padding: 22px 0 18px; }
.network-one-screen .network-hero-inner { grid-template-columns: .95fr 1.05fr; gap: 70px; }
.network-one-screen .network-kicker { margin-bottom: 7px; font-size: 12px; }
.network-one-screen .network-hero h1 { font-size: 40px; line-height: 1.2; }
.network-one-screen .network-hero-copy { padding-top: 10px; }
.network-one-screen .network-hero-copy p { font-size: 15px; line-height: 1.75; }
.network-one-screen .network-map-section { min-height: calc(100vh - 194px); padding: 13px 0 0; }
.network-one-screen .network-heading { display: none; }
.network-one-screen .map-legend { margin-top: 0; justify-content: center; gap: 30px; }
.network-one-screen .world-map { width: min(100%, 860px, calc((100vh - 340px) * 1.532)); margin-top: 4px; }
.network-snapshot { margin-top: -2px; display: grid; grid-template-columns: .8fr 1fr 1.5fr .85fr; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.network-snapshot > * { min-width: 0; min-height: 66px; padding: 12px 18px; display: flex; flex-direction: column; justify-content: center; position: relative; border-right: 1px solid var(--line); }
.network-snapshot > *:first-child { padding-left: 0; }
.network-snapshot > *:last-child { padding-right: 0; border-right: 0; }
.network-snapshot small, .network-snapshot strong { display: block; }
.network-snapshot small { color: var(--muted); font-size: 11px; }
.network-snapshot strong { margin-top: 2px; color: var(--ink-deep); font-size: 15px; line-height: 1.45; }
.network-snapshot a { padding-right: 34px; }
.network-snapshot a svg { width: 17px; position: absolute; right: 6px; color: var(--cyan-dark); }

@media (max-height: 780px) and (min-width: 761px) {
  .network-one-screen .network-hero { padding: 14px 0 12px; }
  .network-one-screen .network-hero h1 { font-size: 34px; }
  .network-one-screen .network-hero-copy p { font-size: 14px; }
  .network-one-screen .map-marker { width: 13px; height: 13px; border-width: 2px; }
  .network-one-screen .map-marker.domestic { width: 19px; height: 19px; }
  .network-snapshot > * { min-height: 58px; padding-top: 9px; padding-bottom: 9px; }
}

@media (max-width: 900px) {
  .network-hero-inner, .domestic-layout, .overseas-heading { grid-template-columns: 1fr; gap: 30px; }
  .region-countries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .network-hero { padding: 50px 0 46px; }
  .network-hero h1 { font-size: 43px; }
  .network-hero-copy p { font-size: 16px; }
  .network-map-section { padding: 62px 0 66px; }
  .network-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .network-heading h2, .domestic-layout h2, .overseas-heading h2 { font-size: 34px; }
  .world-map { width: 100%; margin-right: auto; margin-left: auto; }
  .map-marker { width: 12px; height: 12px; border-width: 2px; }
  .map-marker.domestic { width: 16px; height: 16px; }
  .map-routes path { stroke-width: 1.35; opacity: .48; }
  .map-origin-label { left: calc(100% + 7px); padding: 1px 5px; font-size: 10px; }
  .map-marker::after { display: none; }
  .network-domestic, .overseas-section { padding: 66px 0 72px; }
  .domestic-regions { grid-template-columns: 1fr; }
  .domestic-regions div, .domestic-regions div:nth-child(even) { padding: 18px 0; border-right: 0; }
  .region-group { grid-template-columns: 1fr; gap: 14px; }
  .region-countries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .network-cta .section-inner { align-items: stretch; flex-direction: column; }
  .network-one-screen .network-hero { padding: 24px 0 20px; }
  .network-one-screen .network-hero-inner { gap: 16px; }
  .network-one-screen .network-hero h1 { font-size: 31px; }
  .network-one-screen .network-hero-copy p { font-size: 16px; }
  .network-one-screen .network-map-section { min-height: 0; padding: 16px 0 24px; }
  .network-one-screen .map-legend { justify-content: flex-start; gap: 12px 20px; }
  .network-one-screen .world-map { width: 100%; margin-top: 8px; }
  .network-snapshot { margin-top: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .network-snapshot > *, .network-snapshot > *:first-child, .network-snapshot > *:last-child { min-height: 64px; padding: 10px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .network-snapshot > *:nth-child(even) { border-right: 0; }
  .network-snapshot > *:nth-last-child(-n+2) { border-bottom: 0; }
  .network-snapshot strong { font-size: 14px; }
}
