@font-face {
  font-family:"HarmonyOS Sans Web";
  src:url("../fonts/harmony-light.woff2") format("woff2");
  font-weight:300;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:"HarmonyOS Sans Web";
  src:url("../fonts/harmony-medium.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:"HarmonyOS Sans Web";
  src:url("../fonts/harmony-medium.woff2") format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:"HarmonyOS Sans Web";
  src:url("../fonts/harmony-bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap
}

:root {
  --ink:#171615;
  --muted:#5c5955;
  --soft:#77736d;
  --paper:#f4f3ef;
  --warm:#e9e5dd;
  --white:#fff;
  --red:#7d282d;
  --red-bright:#b83238;
  --line:rgba(23,22,21,.14);
  --font:"HarmonyOS Sans Web","HarmonyOS Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-weight:400;
  -webkit-font-smoothing:antialiased
}

a {
  color:inherit;
  text-decoration:none
}

img {
  display:block;
  width:100%
}

.progress {
  position:fixed;
  left:0;
  top:0;
  height:2px;
  width:0;
  background:var(--red-bright);
  z-index:90;
  transition:width .08s linear
}

.site-header {
  position:fixed;
  inset:0 0 auto;
  height:78px;
  padding:0 5vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  z-index:50;
  transition:background .35s,color .35s,border .35s
}

.site-header.scrolled {
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  color:var(--ink);
  border-bottom:1px solid rgba(0,0,0,.07)
}

.brand {
  display:flex;
  align-items:center;
  gap:16px;
  font-weight:500
}

.brand-mark {
  width:92px;
  filter:brightness(0) invert(1);
  transition:filter .35s
}

.site-header.scrolled .brand-mark {
  filter:none
}

.brand-name {
  padding-left:16px;
  border-left:1px solid currentColor;
  font-size:13px;
  letter-spacing:.1em
}

.nav-links {
  display:flex;
  gap:26px;
  font-size:12px
}

.nav-links a {
  opacity:.8;
  transition:opacity .2s
}

.nav-links a:hover {
  opacity:1
}

.nav-action {
  border:1px solid currentColor;
  padding:10px 17px;
  font-size:12px
}

.hero {
  height:100svh;
  min-height:680px;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#3d3029 url("../images/m9-hero-full.jpg") center/cover no-repeat
}

.hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(15,9,7,.66),rgba(15,9,7,.12) 62%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 50%)
}

.hero-copy {
  position:absolute;
  left:8vw;
  top:50%;
  transform:translateY(-46%);
  max-width:860px
}

.hero-kicker {
  font-size:12px;
  letter-spacing:.2em;
  font-weight:500;
  margin-bottom:25px
}

.hero h1 {
  font-size:clamp(54px,6.25vw,100px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:500;
  margin:0
}

.hero h1 span {
  display:block;
  margin-left:1.08em
}

.hero-sub {
  margin-top:31px;
  font-size:16px;
  line-height:1.9;
  letter-spacing:.03em;
  color:rgba(255,255,255,.92)
}

.hero-foot {
  position:absolute;
  left:8vw;
  right:5vw;
  bottom:35px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  font-size:11px;
  letter-spacing:.1em;
  color:rgba(255,255,255,.82)
}

.hero-scroll {
  display:flex;
  align-items:center;
  gap:13px
}

.hero-scroll:before {
  content:"";
  width:46px;
  height:1px;
  background:rgba(255,255,255,.72)
}

.intro {
  padding:150px 9vw 145px;
  background:#fff;
  text-align:center
}

.intro-label,.section-label {
  font-size:11px;
  letter-spacing:.17em;
  font-weight:500;
  color:#696660
}

.intro h2 {
  font-size:clamp(37px,4.3vw,67px);
  line-height:1.34;
  letter-spacing:-.025em;
  font-weight:500;
  margin:25px auto 29px;
  max-width:980px
}

.intro p {
  font-size:clamp(16px,1.35vw,21px);
  line-height:1.95;
  color:#55524d;
  margin:0 auto;
  max-width:830px
}

.section-title {
  font-size:clamp(39px,4vw,62px);
  line-height:1.23;
  letter-spacing:-.03em;
  font-weight:500;
  margin:18px 0 0
}

.network {
  padding:140px 7vw 132px;
  background:#ebe9e3
}

.network-head {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8vw;
  align-items:end;
  margin:0 2vw 64px
}

.network-head p {
  font-size:15px;
  line-height:2;
  color:#55524d;
  margin:0
}

.network-scope {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:0 2vw 32px
}

.network-scope article {
  background:#fff;
  padding:29px 28px 31px;
  border-top:2px solid transparent;
  transition:transform .3s,border .3s
}

.network-scope article:hover {
  transform:translateY(-5px);
  border-color:var(--red)
}

.network-scope span {
  display:block;
  font-size:10px;
  letter-spacing:.14em;
  color:#77736d;
  margin-bottom:12px
}

.network-scope strong {
  font-size:21px;
  font-weight:500
}

.network-visual {
  height:min(58vw,660px);
  min-height:470px;
  margin:0 2vw;
  position:relative;
  overflow:hidden;
  background:url("../images/desert-charging.jpg") center/cover no-repeat
}

.network-visual:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 48%)
}

.network-caption {
  position:absolute;
  z-index:1;
  left:4vw;
  right:4vw;
  bottom:38px;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:end
}

.network-caption h3 {
  font-size:clamp(27px,3vw,44px);
  font-weight:500;
  margin:0
}

.network-caption p {
  font-size:12px;
  color:rgba(255,255,255,.82);
  margin:0
}

.network-data {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:34px 2vw 0;
  border-top:1px solid #bbb7af
}

.network-data div {
  padding:28px 22px 25px 0;
  border-right:1px solid #c7c3bb
}

.network-data div:not(:first-child) {
  padding-left:24px
}

.network-data div:last-child {
  border-right:0
}

.network-data b {
  display:block;
  font-size:clamp(27px,3vw,44px);
  font-weight:500;
  margin-bottom:8px
}

.network-data span {
  font-size:12px;
  color:#66625d
}

.network-note {
  font-size:10px;
  color:#77736d;
  margin:20px 2vw 0;
  line-height:1.7
}

.station-types {
  padding:148px 7vw 156px;
  background:#f8f7f4
}

.station-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:50px;
  margin:0 2vw 62px
}

.station-head p {
  font-size:14px;
  line-height:1.95;
  color:#5d5954;
  max-width:450px;
  margin:0
}

.station-grid {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:16px
}

.station-card {
  height:505px;
  position:relative;
  overflow:hidden;
  background:#d9d7d2;
  color:#fff
}

.station-card.user {
  grid-column:span 7
}

.station-card.city {
  grid-column:span 5
}

.station-card.highway {
  grid-column:span 8;
  height:420px
}

.station-card.scenic {
  grid-column:span 4;
  height:420px
}

.station-card img {
  height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1)
}

.station-card:hover img {
  transform:scale(1.04)
}

.station-card:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 55%)
}

.station-card-copy {
  position:absolute;
  z-index:1;
  left:32px;
  right:32px;
  bottom:29px
}

.station-card-copy span {
  font-size:10px;
  letter-spacing:.14em;
  color:rgba(255,255,255,.82)
}

.station-card-copy h3 {
  font-size:28px;
  font-weight:500;
  margin:9px 0 10px
}

.station-card-copy p {
  max-width:360px;
  font-size:12px;
  line-height:1.75;
  color:rgba(255,255,255,.87);
  margin:0
}

.values {
  padding:145px 7vw 150px;
  background:#fff
}

.values-head {
  text-align:center;
  padding:0 0 82px
}

.values-head p {
  font-size:15px;
  line-height:1.95;
  color:#5d5954;
  max-width:720px;
  margin:25px auto 0
}

.value-stack {
  display:grid;
  gap:24px;
  max-width:1480px;
  margin:0 auto
}

.value-panel {
  min-height:630px;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  background:#f0eee8;
  overflow:hidden
}

.value-panel.reverse {
  grid-template-columns:.82fr 1.18fr;
  background:#f7f5f1
}

.value-panel.reverse .value-image {
  order:2
}

.value-panel.intelligence {
  background:#e7ebe9
}

.value-image {
  min-height:600px;
  overflow:hidden
}

.value-image img {
  height:100%;
  object-fit:cover;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1)
}

.value-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:68px 5vw;
  border-left:1px solid var(--line)
}

.reverse .value-copy {
  border-left:0;
  border-right:1px solid var(--line)
}

.value-num {
  font-size:10px;
  color:#706c66;
  letter-spacing:.16em
}

.value-copy h3 {
  font-size:clamp(45px,5vw,76px);
  font-weight:500;
  letter-spacing:-.035em;
  margin:28px 0 10px
}

.value-slogan {
  font-size:21px;
  font-weight:500;
  margin:0 0 24px;
  color:#282624
}

.value-copy>p {
  font-size:14px;
  line-height:2;
  color:#55524d;
  margin:0;
  max-width:470px
}

.value-tech {
  margin-top:25px;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-size:12px;
  line-height:1.8;
  color:#69655f
}

.value-tech b {
  font-weight:500;
  color:#262421
}

.claim-note {
  display:block;
  margin-top:10px;
  font-size:9px;
  color:#858079;
  line-height:1.6
}

.premium {
  padding:146px 7vw 150px;
  background:#e9e5dd
}

.premium-head {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8vw;
  align-items:end;
  margin:0 2vw 62px
}

.premium-head p {
  font-size:15px;
  line-height:1.95;
  color:#55524d;
  margin:0
}

.premium-grid {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px
}

.premium-card {
  min-height:520px;
  position:relative;
  overflow:hidden
}

.premium-card.visual {
  color:#fff
}

.premium-card.visual img {
  height:100%;
  object-fit:cover
}

.premium-card.visual:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.68),transparent 58%)
}

.premium-card-copy {
  position:absolute;
  left:36px;
  right:36px;
  bottom:35px;
  z-index:1
}

.premium-card-label {
  font-size:10px;
  letter-spacing:.14em;
  color:inherit;
  opacity:.75
}

.premium-card h3 {
  font-size:31px;
  font-weight:500;
  margin:13px 0 15px
}

.premium-card p {
  font-size:13px;
  line-height:1.9;
  margin:0;
  max-width:560px
}

.premium-card.service {
  background:#fff;
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.premium-card.service p {
  color:#5b5752
}

.service-list {
  border-top:1px solid var(--line)
}

.service-list div {
  display:flex;
  justify-content:space-between;
  padding:17px 0;
  border-bottom:1px solid var(--line);
  font-size:12px
}

.service-list span {
  color:#837e77
}

.download {
  padding:150px 7vw 130px;
  background:#f5f4f0
}

.download-head {
  text-align:center;
  margin-bottom:74px
}

.download-head p {
  font-size:15px;
  color:#55524d;
  line-height:1.95;
  margin:24px 0 0
}

.download-layout {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:28px;
  max-width:1370px;
  margin:0 auto;
  align-items:stretch
}

.app-card {
  background:var(--red);
  color:#fff;
  padding:48px;
  min-height:560px;
  position:relative;
  overflow:hidden
}

.app-card:after {
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  right:-150px;
  bottom:-180px
}

.app-card-label {
  font-size:10px;
  letter-spacing:.16em;
  color:rgba(255,255,255,.72)
}

.app-card h3 {
  font-size:35px;
  line-height:1.3;
  font-weight:500;
  margin:24px 0 18px
}

.app-card>p {
  font-size:14px;
  line-height:1.9;
  color:rgba(255,255,255,.88);
  margin:0;
  max-width:420px
}

.app-features {
  position:absolute;
  left:48px;
  right:48px;
  bottom:44px;
  border-top:1px solid rgba(255,255,255,.24)
}

.app-features div {
  display:flex;
  justify-content:space-between;
  padding:15px 0;
  border-bottom:1px solid rgba(255,255,255,.24);
  font-size:12px
}

.app-features span {
  color:rgba(255,255,255,.55)
}

.qr-area {
  background:#fff;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.qr-title {
  display:flex;
  justify-content:space-between;
  align-items:end;
  border-bottom:1px solid var(--line);
  padding-bottom:22px
}

.qr-title h3 {
  font-size:24px;
  font-weight:500;
  margin:0
}

.qr-title span {
  font-size:11px;
  color:#77736d
}

.qr-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  margin-top:28px
}

.qr-item {
  border:1px solid var(--line);
  padding:14px
}

.qr-placeholder,.qr-live {
  aspect-ratio:1;
  background:#eeece7;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden
}

.qr-placeholder:before,.qr-placeholder:after {
  content:"";
  position:absolute;
  width:26px;
  height:26px;
  border:3px solid #aaa59d
}

.qr-placeholder:before {
  left:18px;
  top:18px;
  border-right:0;
  border-bottom:0
}

.qr-placeholder:after {
  right:18px;
  bottom:18px;
  border-left:0;
  border-top:0
}

.qr-placeholder span {
  font-size:11px;
  color:#77736d
}

.qr-live img {
  height:100%;
  width:auto;
  max-width:none;
  align-self:start;
  justify-self:start
}

.qr-item strong {
  display:block;
  font-size:13px;
  font-weight:500;
  margin-top:14px
}

.qr-item p {
  font-size:11px;
  color:#6e6a64;
  margin:6px 0 0;
  line-height:1.5
}

.download-note {
  font-size:10px;
  color:#77736d;
  margin-top:22px;
  line-height:1.7
}

.site-footer {
  padding:35px 6vw;
  background:#171615;
  color:#b7b3ad;
  display:flex;
  justify-content:space-between;
  gap:40px;
  font-size:10px;
  line-height:1.8
}

.footer-logo {
  width:82px;
  filter:brightness(0) invert(1)
}

.js .reveal {
  opacity:0;
  transform:translateY(22px);
  transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)
}

.js .reveal.visible {
  opacity:1;
  transform:none
}

.js .reveal .value-image img {
  transform:scale(1.035)
}

.js .reveal.visible .value-image img {
  transform:scale(1)
}

@media(max-width:960px) {
  .nav-links {
    display:none
  }

  .hero h1 span {
    margin-left:0
  }

  .network-head,.premium-head {
    grid-template-columns:1fr
  }

  .station-card.user,.station-card.city,.station-card.highway,.station-card.scenic {
    grid-column:span 6;
    height:430px
  }

  .value-panel,.value-panel.reverse {
    grid-template-columns:1fr
  }

  .value-panel.reverse .value-image {
    order:0
  }

  .value-copy,.reverse .value-copy {
    border:0
  }

  .premium-grid,.download-layout {
    grid-template-columns:1fr
  }

  .app-card {
    min-height:500px
  }
}

@media(max-width:640px) {
  .site-header {
    height:66px;
    padding:0 5vw
  }

  .brand-mark {
    width:76px
  }

  .brand-name {
    display:none
  }

  .nav-action {
    padding:8px 12px
  }

  .hero {
    min-height:640px
  }

  .hero-copy {
    left:7vw;
    right:7vw
  }

  .hero h1 {
    font-size:47px
  }

  .hero-sub {
    font-size:14px
  }

  .hero-foot {
    left:7vw
  }

  .intro {
    padding:96px 7vw
  }

  .intro h2 {
    font-size:34px
  }

  .intro p {
    font-size:15px
  }

  .section-title {
    font-size:35px
  }

  .network {
    padding:92px 5vw 82px
  }

  .network-head {
    margin:0 2vw 42px
  }

  .network-scope {
    grid-template-columns:1fr
  }

  .network-visual {
    height:55vh;
    min-height:420px
  }

  .network-caption {
    display:block;
    left:7vw;
    right:7vw
  }

  .network-caption p {
    margin-top:11px
  }

  .network-data {
    grid-template-columns:1fr
  }

  .network-data div,.network-data div:not(:first-child) {
    padding:20px 0;
    border-right:0;
    border-bottom:1px solid #c7c3bb
  }

  .station-types {
    padding:96px 5vw
  }

  .station-head {
    display:block;
    margin:0 2vw 42px
  }

  .station-head p {
    margin-top:20px
  }

  .station-grid {
    grid-template-columns:1fr;
    gap:10px
  }

  .station-card.user,.station-card.city,.station-card.highway,.station-card.scenic {
    grid-column:auto;
    height:390px
  }

  .station-card.scenic {
    height:300px
  }

  .station-card-copy {
    left:24px;
    right:24px;
    bottom:24px
  }

  .values {
    padding:96px 5vw
  }

  .values-head {
    padding-bottom:56px
  }

  .value-panel {
    min-height:auto
  }

  .value-image {
    min-height:370px
  }

  .value-copy {
    padding:54px 7vw 60px
  }

  .value-copy h3 {
    font-size:48px
  }

  .value-slogan {
    font-size:18px
  }

  .premium {
    padding:96px 5vw
  }

  .premium-head {
    margin:0 2vw 42px
  }

  .premium-grid {
    grid-template-columns:1fr
  }

  .premium-card {
    min-height:430px
  }

  .premium-card.service {
    padding:34px
  }

  .download {
    padding:96px 5vw 80px
  }

  .download-head {
    margin-bottom:45px
  }

  .app-card {
    padding:32px;
    min-height:510px
  }

  .app-card h3 {
    font-size:29px
  }

  .app-features {
    left:32px;
    right:32px;
    bottom:30px
  }

  .qr-area {
    padding:28px 22px
  }

  .qr-title {
    display:block
  }

  .qr-title span {
    display:block;
    margin-top:8px
  }

  .qr-grid {
    grid-template-columns:1fr
  }

  .qr-item {
    display:grid;
    grid-template-columns:105px 1fr;
    column-gap:17px;
    align-items:center
  }

  .qr-item .qr-placeholder,.qr-item .qr-live {
    grid-row:1/3
  }

  .qr-item strong {
    margin:0
  }

  .site-footer {
    display:block;
    padding:30px 7vw
  }

  .site-footer span {
    display:block;
    margin-top:10px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  .js .reveal {
    opacity:1;
    transform:none;
    transition:none
  }

  .station-card img,.value-image img {
    transition:none
  }
}

.download-v2 {
  padding:146px 7vw 132px;
  background:#f1efe9
}

.download-v2 .download-head {
  margin-bottom:64px
}

.download-shell {
  max-width:1370px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  background:#fff;
  box-shadow:0 24px 70px rgba(45,38,32,.08)
}

.download-app {
  min-height:620px;
  padding:56px 50px;
  background:linear-gradient(145deg,#702329,#9b383e);
  color:#fff;
  display:flex;
  flex-direction:column
}

.download-app .app-label {
  font-size:10px;
  letter-spacing:.16em;
  color:rgba(255,255,255,.72)
}

.download-app h3 {
  font-size:38px;
  line-height:1.25;
  font-weight:500;
  margin:25px 0 18px
}

.download-app>p {
  font-size:14px;
  line-height:1.95;
  color:rgba(255,255,255,.88);
  margin:0
}

.download-feature-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:auto
}

.download-feature-grid div {
  padding:16px;
  border:1px solid rgba(255,255,255,.22);
  font-size:12px
}

.download-feature-grid span {
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.58);
  font-size:10px
}

.download-channels {
  padding:48px
}

.channel-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  padding-bottom:22px;
  border-bottom:1px solid var(--line)
}

.channel-head h3 {
  font-size:25px;
  font-weight:500;
  margin:0
}

.channel-head span {
  font-size:10px;
  color:#77736d
}

.channel-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
  margin-top:24px
}

.channel-card {
  background:#f5f3ee;
  border:1px solid rgba(23,22,21,.1);
  padding:18px;
  min-height:192px
}

.channel-card h4 {
  font-size:15px;
  font-weight:500;
  margin:17px 0 7px
}

.channel-card p {
  font-size:11px;
  line-height:1.6;
  color:#69655f;
  margin:0
}

.channel-placeholder {
  height:92px;
  background:#e8e5df;
  display:grid;
  place-items:center;
  position:relative
}

.channel-placeholder:before,.channel-placeholder:after {
  content:"";
  position:absolute;
  width:21px;
  height:21px;
  border:2px solid #aaa59d
}

.channel-placeholder:before {
  left:15px;
  top:15px;
  border-right:0;
  border-bottom:0
}

.channel-placeholder:after {
  right:15px;
  bottom:15px;
  border-left:0;
  border-top:0
}

.channel-placeholder span {
  font-size:10px;
  color:#77736d
}

.service-channel {
  grid-column:1/-1;
  padding:0;
  overflow:hidden;
  background:#f7f5f1
}

.service-channel img {
  width:100%;
  height:auto
}

.service-channel-copy {
  padding:15px 18px 18px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end
}

.service-channel-copy h4 {
  margin:0
}

.service-channel-copy p {
  text-align:right;
  max-width:310px
}

.channel-note {
  font-size:9px;
  line-height:1.6;
  color:#77736d;
  margin:17px 0 0
}

@media(max-width:960px) {
  .download-shell {
    grid-template-columns:1fr
  }

  .download-app {
    min-height:500px
  }
}

@media(max-width:640px) {
  .download-v2 {
    padding:96px 5vw 80px
  }

  .download-app {
    min-height:500px;
    padding:36px 30px
  }

  .download-app h3 {
    font-size:31px
  }

  .download-channels {
    padding:30px 22px
  }

  .channel-head {
    display:block
  }

  .channel-head span {
    display:block;
    margin-top:8px
  }

  .channel-grid {
    grid-template-columns:1fr
  }

  .service-channel {
    grid-column:auto
  }

  .service-channel-copy {
    display:block
  }

  .service-channel-copy p {
    text-align:left;
    margin-top:7px
  }
}

.hero h1 span {
  margin-left:0
}

.hero-sub {
  max-width:620px
}

.hero-actions {
  display:flex;
  gap:12px;
  margin-top:32px
}

.hero-actions a {
  padding:12px 19px;
  border:1px solid rgba(255,255,255,.72);
  font-size:12px;
  transition:background .25s,color .25s
}

.hero-actions a:first-child {
  background:#fff;
  color:#171615
}

.hero-actions a:hover {
  background:#fff;
  color:#171615
}

.intro {
  padding:112px 8vw 105px
}

.intro h2 {
  margin-bottom:22px
}

.journey-map {
  max-width:1120px;
  margin:58px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  text-align:left;
  border-top:1px solid var(--line)
}

.journey-map a {
  padding:20px 16px 18px 0;
  border-right:1px solid var(--line);
  transition:transform .25s
}

.journey-map a:not(:first-child) {
  padding-left:20px
}

.journey-map a:last-child {
  border-right:0
}

.journey-map a:hover {
  transform:translateY(-4px)
}

.journey-map span {
  display:block;
  font-size:10px;
  color:#77736d;
  letter-spacing:.12em;
  margin-bottom:7px
}

.journey-map strong {
  font-size:15px;
  font-weight:500
}

.network {
  padding:112px 7vw 104px
}

.network-head {
  margin-bottom:46px
}

.network-scope {
  margin-bottom:24px
}

.network-scope article {
  padding:24px
}

.network-visual {
  height:min(52vw,560px);
  min-height:420px
}

.network-data {
  margin-top:25px
}

.network-data div {
  padding-top:22px;
  padding-bottom:20px
}

.network-note {
  margin-top:14px
}

.station-types {
  padding:112px 7vw 118px
}

.station-head {
  margin-bottom:46px
}

.station-card {
  height:455px
}

.station-card.highway,.station-card.scenic {
  height:360px
}

.values {
  padding:112px 7vw 118px
}

.values-head {
  padding-bottom:52px
}

.value-stack {
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  align-items:stretch
}

.value-panel,.value-panel.reverse {
  min-height:0;
  display:flex;
  flex-direction:column
}

.value-panel.reverse .value-image {
  order:0
}

.value-image {
  height:250px;
  min-height:250px
}

.value-copy,.reverse .value-copy {
  flex:1;
  display:block;
  padding:32px 28px 35px;
  border:0;
  border-top:1px solid var(--line)
}

.value-copy h3 {
  font-size:43px;
  margin:20px 0 6px
}

.value-slogan {
  font-size:18px;
  line-height:1.45;
  margin-bottom:17px
}

.value-copy>p {
  line-height:1.85
}

.value-tech {
  margin-top:20px;
  padding-top:18px
}

.claim-note {
  margin-top:8px
}

.brain-capabilities {
  margin-top:21px;
  border-top:1px solid var(--line)
}

.brain-capability {
  display:grid;
  grid-template-columns:25px 1fr;
  gap:11px;
  padding:13px 0;
  border-bottom:1px solid var(--line)
}

.brain-capability>span {
  font-size:9px;
  letter-spacing:.08em;
  color:#817d76;
  padding-top:2px
}

.brain-capability b {
  display:block;
  font-size:12px;
  font-weight:500;
  color:#262421;
  margin-bottom:4px
}

.brain-capability p {
  font-size:10px;
  line-height:1.65;
  color:#69655f;
  margin:0
}

.intelligence .claim-note {
  margin-top:13px
}

.premium {
  padding:112px 7vw 118px
}

.premium-head {
  margin-bottom:46px
}

.premium-card {
  min-height:455px
}

.premium-card.service {
  padding:42px
}

.download-v2 {
  padding:112px 7vw 104px
}

.download-v2 .download-head {
  margin-bottom:48px
}

.download-shell {
  grid-template-columns:.7fr 1.3fr
}

.download-app {
  min-height:520px;
  padding:48px 42px
}

.download-channels {
  padding:40px 34px
}

.channel-grid {
  grid-template-columns:repeat(3,1fr);
  gap:12px
}

.channel-card {
  padding:13px;
  min-height:0
}

.channel-placeholder,.channel-qr-live {
  width:100%;
  height:auto;
  aspect-ratio:1;
  background:#e8e5df;
  position:relative;
  overflow:hidden
}

.channel-qr-live {
  background:#fff url("../document/image1.png") left top/auto 100% no-repeat
}

.channel-card h4 {
  font-size:13px;
  margin:13px 0 6px
}

.channel-card p {
  font-size:10px
}

.channel-note {
  margin-top:14px
}

@media(max-width:1080px) {
  .value-stack {
    grid-template-columns:1fr
  }

  .value-panel,.value-panel.reverse {
    display:grid;
    grid-template-columns:1fr 1fr
  }

  .value-image {
    height:auto;
    min-height:430px
  }

  .value-copy,.reverse .value-copy {
    border-top:0;
    border-left:1px solid var(--line)
  }

  .channel-grid {
    grid-template-columns:1fr 1fr
  }

  .channel-card:last-child {
    grid-column:1/-1
  }

  .channel-card:last-child .channel-qr-live {
    max-width:260px
  }
}

@media(max-width:700px) {
  .hero-actions {
    flex-wrap:wrap
  }

  .journey-map {
    grid-template-columns:1fr 1fr;
    margin-top:40px
  }

  .journey-map a {
    border-bottom:1px solid var(--line)
  }

  .journey-map a:nth-child(2) {
    border-right:0
  }

  .network,.station-types,.values,.premium,.download-v2 {
    padding-top:82px;
    padding-bottom:84px
  }

  .station-card,.station-card.highway {
    height:360px
  }

  .station-card.scenic {
    height:280px
  }

  .value-panel,.value-panel.reverse {
    display:flex
  }

  .value-image {
    min-height:310px;
    height:310px
  }

  .value-copy,.reverse .value-copy {
    border-left:0;
    border-top:1px solid var(--line)
  }

  .channel-grid {
    grid-template-columns:1fr
  }

  .channel-card,.channel-card:last-child {
    grid-column:auto;
    display:grid;
    grid-template-columns:112px 1fr;
    column-gap:15px;
    align-items:center
  }

  .channel-placeholder,.channel-qr-live,.channel-card:last-child .channel-qr-live {
    width:112px;
    max-width:none;
    grid-row:1/3
  }

  .channel-card h4 {
    margin:0
  }

  .download-app {
    min-height:470px
  }
}

.nav-links,.nav-action {
  font-size:13px
}

.intro-label,.section-label {
  font-size:12px
}

.section-title {
  font-size:clamp(34px,3.35vw,52px)
}

.hero-copy {
  top:47%;
  transform:translateY(-50%);
  max-width:790px
}

.hero-kicker {
  font-size:13px;
  margin-bottom:20px
}

.hero h1 {
  font-size:clamp(44px,5.25vw,84px);
  line-height:1.12
}

.hero-sub {
  margin-top:24px;
  font-size:17px;
  line-height:1.82
}

.hero-actions {
  margin-top:27px
}

.hero-actions a {
  padding:13px 21px;
  font-size:13px
}

.hero-foot {
  justify-content:flex-end;
  font-size:12px
}

.intro h2 {
  font-size:clamp(36px,3.8vw,58px)
}

.intro p {
  font-size:clamp(16px,1.2vw,19px)
}

.journey-map span {
  font-size:11px
}

.journey-map strong {
  font-size:16px
}

.network-head p,.station-head p,.premium-head p,.values-head p,.download-head p {
  font-size:16px
}

.network-scope span,.station-card-copy span,.premium-card-label,.value-num {
  font-size:11px
}

.network-scope strong {
  font-size:22px
}

.network-caption p {
  font-size:13px
}

.network-data {
  gap:12px;
  border-top:0;
  margin-top:20px
}

.network-data div,.network-data div:not(:first-child) {
  padding:25px 26px;
  background:rgba(255,255,255,.64);
  border:1px solid rgba(23,22,21,.09)
}

.network-data b {
  font-size:clamp(28px,2.35vw,38px);
  letter-spacing:-.025em;
  margin-bottom:10px
}

.network-data span {
  font-size:14px
}

.network-note {
  font-size:12px;
  margin-top:16px
}

.station-card-copy p {
  font-size:13px
}

.premium-card p {
  font-size:14px
}

.service-list div {
  font-size:13px
}

.value-stack {
  gap:18px
}

.value-panel,.value-panel.reverse,.value-panel.intelligence {
  background:#f2f0eb;
  border:1px solid rgba(23,22,21,.09)
}

.value-image {
  height:235px;
  min-height:235px
}

.value-panel.safety .value-image img {
  object-position:center 64%
}

.value-panel.efficiency .value-image img {
  object-position:center 58%
}

.value-panel.intelligence .value-image img {
  object-position:center 58%
}

.value-copy,.reverse .value-copy {
  display:flex;
  padding:30px 27px 31px
}

.value-copy h3 {
  font-size:40px;
  margin:16px 0 8px
}

.value-copy>.value-slogan {
  font-size:18px;
  line-height:1.5;
  min-height:54px;
  margin-bottom:12px;
  color:#282624
}

.value-copy>p {
  font-size:14px;
  line-height:1.8
}

.value-description {
  min-height:78px
}

.value-capabilities {
  margin-top:18px;
  border-top:1px solid var(--line)
}

.value-capability {
  display:grid;
  grid-template-columns:27px 1fr;
  gap:10px;
  min-height:70px;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}

.value-capability>span {
  font-size:10px;
  letter-spacing:.08em;
  color:#817d76;
  padding-top:2px
}

.value-capability b {
  display:block;
  font-size:13px;
  font-weight:500;
  color:#262421;
  margin-bottom:4px
}

.value-capability p {
  font-size:12px;
  line-height:1.55;
  color:#69655f;
  margin:0
}

.claim-note {
  font-size:11px;
  line-height:1.55;
  margin-top:12px;
  min-height:34px
}

.value-panel:hover {
  box-shadow:0 18px 45px rgba(42,36,31,.08);
  transform:translateY(-3px);
  transition:transform .3s,box-shadow .3s
}

.download-feature-grid div {
  font-size:13px
}

.download-feature-grid span,.channel-card p,.channel-note,.channel-head span {
  font-size:11px
}

.channel-card h4 {
  font-size:14px
}

.site-footer {
  align-items:center;
  font-size:12px;
  padding-top:25px;
  padding-bottom:25px
}

.footer-logo {
  width:180px;
  filter:none;
  clip-path:inset(5px 0 0);
  margin-top:-5px;
  flex:0 0 auto
}

@media(max-height:720px) and (min-width:701px) {
  .hero-copy {
    top:45%
  }

  .hero h1 {
    font-size:clamp(42px,4.6vw,68px)
  }

  .hero-sub {
    margin-top:18px;
    line-height:1.65
  }

  .hero-actions {
    margin-top:20px
  }

  .hero-foot {
    bottom:22px
  }
}

@media(max-width:1080px) {
  .value-image {
    min-height:330px
  }

  .value-slogan,.value-description {
    min-height:0
  }
}

@media(max-width:700px) {
  .hero {
    min-height:700px
  }

  .hero-copy {
    top:46%;
    left:7vw;
    right:7vw
  }

  .hero h1 {
    font-size:42px
  }

  .hero-sub {
    font-size:15px;
    line-height:1.72
  }

  .hero-actions a {
    font-size:12px
  }

  .hero-foot {
    right:7vw;
    bottom:24px
  }

  .network-data {
    gap:8px
  }

  .network-data div,.network-data div:not(:first-child) {
    padding:20px;
    border-bottom:1px solid rgba(23,22,21,.09)
  }

  .value-image {
    height:290px;
    min-height:290px
  }

  .value-copy,.reverse .value-copy {
    padding:30px 24px 32px
  }

  .value-copy h3 {
    font-size:38px
  }

  .value-capability {
    min-height:0
  }

  .site-footer {
    display:flex;
    align-items:center;
    gap:22px
  }

  .site-footer span {
    margin-top:0
  }

  .footer-logo {
    width:140px
  }
}

.download-v2 {
  background:#f0eee8
}

.download-shell {
  grid-template-columns:minmax(280px,.78fr) minmax(270px,.72fr) minmax(470px,1.35fr);
  overflow:hidden
}

.download-app {
  min-height:620px;
  padding:48px 38px
}

.download-app h3 {
  font-size:36px
}

.download-feature-grid {
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid rgba(255,255,255,.24)
}

.download-feature-grid div {
  padding:14px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.2);
  display:flex;
  justify-content:space-between;
  gap:20px
}

.download-feature-grid span {
  margin-top:0;
  text-align:right
}

.phone-showcase {
  min-width:0;
  background:#fbfaf7;
  border-left:1px solid rgba(23,22,21,.08);
  border-right:1px solid rgba(23,22,21,.08);
  padding:32px 20px 25px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  position:relative;
  overflow:hidden
}

.phone-showcase:before {
  content:"";
  position:absolute;
  width:310px;
  height:310px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(143,97,56,.14),rgba(143,97,56,0) 70%);
  top:80px;
  left:50%;
  transform:translateX(-50%)
}

.phone-visual {
  width:100%;
  height:500px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  overflow:hidden;
  position:relative;
  z-index:1
}

.phone-visual img {
  width:auto;
  max-width:none;
  height:100%;
  filter:drop-shadow(0 18px 24px rgba(43,35,29,.13))
}

.phone-caption {
  position:relative;
  z-index:1;
  text-align:center;
  padding-top:12px
}

.phone-caption strong {
  display:block;
  font-size:15px;
  font-weight:500
}

.phone-caption span {
  display:block;
  font-size:11px;
  color:#77736d;
  margin-top:7px;
  letter-spacing:.04em
}

.download-channels {
  padding:42px 32px
}

.channel-head h3 {
  font-size:23px
}

.channel-grid {
  gap:10px
}

.channel-card {
  padding:12px
}

.channel-card h4 {
  font-size:13px
}

.site-footer {
  background:#050404;
  padding:23px 6vw
}

.footer-brand {
  display:flex;
  align-items:center;
  gap:23px;
  min-width:340px
}

.footer-brand-copy {
  padding-left:22px;
  border-left:1px solid rgba(255,255,255,.24);
  color:#fff
}

.footer-brand-copy strong {
  display:block;
  font-size:13px;
  font-weight:500;
  letter-spacing:.08em
}

.footer-brand-copy span {
  display:block;
  margin-top:5px;
  font-size:10px;
  color:#8f8a84;
  letter-spacing:.08em
}

.footer-logo {
  width:190px;
  clip-path:inset(13% 0 0);
  margin:-9px 0 0;
  filter:none
}

.footer-note {
  max-width:700px;
  text-align:right;
  color:#918c86
}

@media(max-width:1180px) {
  .download-shell {
    grid-template-columns:.85fr 1.15fr
  }

  .download-channels {
    grid-column:1/-1
  }

  .phone-showcase {
    border-right:0
  }

  .phone-visual {
    height:470px
  }

  .phone-visual img {
    width:auto
  }
}

@media(max-width:700px) {
  .download-shell {
    grid-template-columns:1fr
  }

  .download-app {
    min-height:510px;
    padding:38px 30px
  }

  .phone-showcase {
    min-height:560px;
    border-left:0;
    border-top:1px solid rgba(23,22,21,.08);
    padding-top:28px
  }

  .phone-visual {
    height:450px
  }

  .phone-visual img {
    width:auto
  }

  .download-channels {
    grid-column:auto
  }

  .download-feature-grid div {
    display:block
  }

  .download-feature-grid span {
    text-align:left;
    margin-top:5px
  }

  .site-footer {
    display:block;
    padding:25px 7vw
  }

  .footer-brand {
    min-width:0;
    gap:16px
  }

  .footer-brand-copy {
    padding-left:16px
  }

  .footer-logo {
    width:155px
  }

  .footer-note {
    display:block;
    text-align:left;
    margin-top:19px!important
  }
}

.values {
  padding-top:96px;
  padding-bottom:100px
}

.values-head {
  padding-bottom:42px
}

.value-stack {
  gap:14px
}

.value-image {
  height:210px;
  min-height:210px
}

.value-copy,.reverse .value-copy {
  justify-content:flex-start;
  padding:25px 24px 27px
}

.value-copy h3 {
  font-size:38px;
  margin:13px 0 5px
}

.value-copy>.value-slogan {
  min-height:46px;
  margin-bottom:6px;
  line-height:1.42
}

.value-copy>p {
  line-height:1.7
}

.value-description {
  min-height:66px
}

.value-capabilities {
  margin-top:11px
}

.value-capability {
  min-height:62px;
  padding:10px 0
}

.value-capability b {
  margin-bottom:3px
}

.claim-note {
  min-height:28px;
  margin-top:9px;
  font-size:10.5px
}

@media(max-width:1080px) {
  .value-image {
    min-height:300px
  }

  .value-copy>.value-slogan,.value-description {
    min-height:0
  }
}

@media(max-width:700px) {
  .values {
    padding-top:78px;
    padding-bottom:82px
  }

  .values-head {
    padding-bottom:38px
  }

  .value-image {
    height:270px;
    min-height:270px
  }

  .value-copy,.reverse .value-copy {
    padding:25px 23px 28px
  }

  .value-capabilities {
    margin-top:13px
  }
}

.network {
  padding-top:94px;
  padding-bottom:88px
}

.network-head {
  margin-bottom:34px
}

.network-head p {
  max-width:590px
}

.network-scope {
  gap:10px;
  margin-bottom:18px
}

.network-scope article {
  padding:21px 24px 23px
}

.network-scope span {
  margin-bottom:9px
}

.network-visual {
  height:min(43vw,520px);
  min-height:380px
}

.network-caption {
  bottom:30px
}

.network-data {
  gap:10px;
  margin-top:16px
}

.network-data div,.network-data div:not(:first-child) {
  padding:21px 23px
}

.network-data b {
  font-size:clamp(27px,2.15vw,35px);
  margin-bottom:7px
}

.network-data span {
  font-size:13px
}

.network-note {
  margin-top:12px;
  max-width:950px
}

.footer-brand-copy {
  display:flex;
  align-items:center;
  min-height:36px
}

.footer-brand-copy strong {
  font-size:15px;
  letter-spacing:.1em
}

@media(max-width:700px) {
  .network {
    padding-top:76px;
    padding-bottom:76px
  }

  .network-head {
    margin-bottom:30px
  }

  .network-scope {
    margin-bottom:14px
  }

  .network-visual {
    height:50vh;
    min-height:350px
  }

  .network-caption {
    bottom:24px
  }

  .network-data {
    margin-top:12px
  }
}

.site-footer {
  min-height:92px;
  padding:24px 5vw
}

.footer-brand {
  gap:16px;
  min-width:0
}

.footer-logo {
  width:92px;
  clip-path:none;
  margin:0;
  filter:brightness(0) invert(1)
}

.footer-brand-copy {
  min-height:auto;
  padding-left:16px
}

.footer-brand-copy strong {
  font-size:13px;
  line-height:1;
  letter-spacing:.1em
}

.footer-note {
  font-size:11px
}

@media(max-width:700px) {
  .site-footer {
    padding:24px 5vw
  }

  .footer-brand {
    gap:13px
  }

  .footer-logo {
    width:76px
  }

  .footer-brand-copy {
    padding-left:13px
  }

  .footer-brand-copy strong {
    font-size:13px
  }
}

.brand {
  gap:0
}

.brand-mark {
  width:128px
}

.brand-name {
  display:none
}

.hero-sub {
  max-width:720px
}

.intro {
  padding-top:96px;
  padding-bottom:92px
}

.intro h2 {
  max-width:860px;
  margin-bottom:22px
}

.journey-map {
  margin-top:46px
}

.values-head p {
  max-width:760px
}

.footer-brand {
  display:block
}

.footer-logo {
  width:132px
}

.footer-brand-copy {
  display:none
}

.premium-card.service p {
  max-width:480px
}

@media(max-width:700px) {
  .brand-mark {
    width:106px
  }

  .hero h1 {
    font-size:40px
  }

  .hero-sub {
    font-size:15px
  }

  .intro {
    padding-top:78px;
    padding-bottom:76px
  }

  .journey-map {
    margin-top:38px
  }

  .footer-logo {
    width:112px
  }
}

@media(max-width:820px) {
  .download-shell {
    grid-template-columns:1fr
  }

  .download-app {
    min-height:500px
  }

  .phone-showcase {
    min-height:550px;
    border-left:0;
    border-right:0;
    border-top:1px solid rgba(23,22,21,.08)
  }

  .phone-visual {
    height:445px
  }

  .download-channels {
    grid-column:auto
  }

  .site-footer {
    display:block;
    padding:24px 5vw
  }

  .footer-note {
    display:block;
    text-align:left;
    margin-top:18px!important;
    max-width:760px
  }
}

.site-header {
  height:80px
}

.brand-mark {
  width:114px
}

.nav-links {
  gap:30px;
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em
}

.nav-links a {
  opacity:.9
}

.nav-action {
  padding:11px 18px;
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em
}

@media(max-width:1100px) and (min-width:961px) {
  .brand-mark {
    width:108px
  }

  .nav-links {
    gap:20px;
    font-size:13px
  }

  .nav-action {
    padding:10px 15px;
    font-size:13px
  }
}

@media(max-width:700px) {
  .site-header {
    height:68px
  }

  .brand-mark {
    width:96px
  }

  .nav-action {
    padding:9px 13px;
    font-size:13px
  }
}

.intro {
  padding-top:76px;
  padding-bottom:72px
}

.intro h2 {
  margin-bottom:0;
  text-align:center
}

.journey-map {
  margin-top:32px
}

@media(max-width:700px) {
  .intro {
    padding-top:62px;
    padding-bottom:58px
  }

  .journey-map {
    margin-top:26px
  }
}

.value-copy,.reverse .value-copy {
  display:flex;
  flex-direction:column
}

.claim-note {
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid var(--line);
  min-height:0
}

@media(max-width:1080px) {
  .value-description {
    min-height:0
  }

  .claim-note {
    margin-top:18px
  }
}

.download-app {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:52px 42px 42px;
  background:linear-gradient(155deg,#641f25 0%,#8b3036 58%,#6e2329 100%)
}

.download-app:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.12),transparent 35%),linear-gradient(180deg,transparent 58%,rgba(32,5,8,.14))
}

.download-app .app-label {
  letter-spacing:.2em;
  color:rgba(255,255,255,.76)
}

.download-app h3 {
  font-size:38px;
  letter-spacing:-.02em;
  margin:22px 0 16px
}

.download-app>p {
  max-width:340px;
  line-height:1.8;
  color:rgba(255,255,255,.82)
}

.download-feature-grid {
  margin-top:auto;
  border-top:1px solid rgba(255,255,255,.3)
}

.download-feature-grid div {
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:17px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.22)
}

.download-feature-grid div:before {
  content:attr(data-index);
  font-size:10px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.45)
}

.download-feature-grid span {
  margin:0;
  text-align:right;
  color:rgba(255,255,255,.62)
}

.download-channels .channel-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}

.download-channels .channel-card {
  padding:16px
}

.download-channels .channel-placeholder,.download-channels .channel-qr-live {
  max-width:210px;
  margin:0 auto
}

.download-channels .channel-card h4 {
  font-size:15px;
  margin-top:15px
}

.download-channels .channel-card p {
  font-size:11px
}

@media(max-width:1080px) and (min-width:701px) {
  .download-channels .channel-card:last-child {
    grid-column:auto
  }
}

@media(max-width:700px) {
  .download-app {
    min-height:470px;
    padding:38px 30px 34px
  }

  .download-app h3 {
    font-size:32px
  }

  .download-feature-grid div {
    grid-template-columns:24px 1fr;
    gap:4px 10px;
    padding:15px 0
  }

  .download-feature-grid span {
    grid-column:2;
    text-align:left
  }

  .download-channels .channel-grid {
    grid-template-columns:1fr;
    gap:12px
  }

  .download-channels .channel-card h4 {
    margin:0
  }
}

@media(min-width:1081px) {
  .value-panel .claim-note {
    min-height:58px
  }
}

.brand-mark,.footer-logo {
  width:104px
}

@media(max-width:700px) {
  .brand-mark,.footer-logo {
    width:88px
  }
}

.network {
  padding:104px 7vw 82px;
  background:#efede7
}

.network-head {
  max-width:1480px;
  margin:0 auto 44px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:8vw;
  align-items:end
}

.network .section-label {
  display:flex;
  align-items:center;
  gap:13px;
  color:var(--red);
  font-size:11px;
  letter-spacing:.22em
}

.network .section-label:before {
  content:"";
  width:28px;
  height:1px;
  background:currentColor
}

.network-head .section-title {
  font-size:clamp(44px,4.5vw,70px);
  line-height:1.12;
  letter-spacing:-.045em;
  margin-top:22px
}

.network-head p {
  max-width:530px;
  font-size:16px;
  line-height:1.9;
  color:#504d48;
  margin:0
}

.network-data {
  max-width:1480px;
  margin:0 auto 24px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  background:#1d1b19;
  color:#fff;
  border-top:3px solid var(--red)
}

.network-data div,.network-data div:not(:first-child) {
  min-height:132px;
  padding:28px 32px;
  background:transparent;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  display:flex;
  flex-direction:column;
  justify-content:center
}

.network-data div:last-child {
  border-right:0
}

.network-data b {
  font-size:clamp(28px,2.35vw,38px);
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:500;
  color:#fff;
  margin:0 0 11px
}

.network-data span {
  font-size:13px;
  line-height:1.5;
  letter-spacing:.03em;
  color:rgba(255,255,255,.62)
}

.scene-rail {
  max-width:1480px;
  margin:0 auto 16px;
  padding:18px 2px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(23,22,21,.18);
  scroll-margin-top:100px
}

.scene-rail span {
  font-size:10px;
  letter-spacing:.2em;
  color:#77726b
}

.scene-rail strong {
  font-size:14px;
  font-weight:500;
  letter-spacing:.05em;
  color:#393633
}

.station-grid {
  max-width:1480px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px
}

.station-card {
  height:400px;
  position:relative;
  overflow:hidden;
  background:#d9d7d2;
  color:#fff;
  box-shadow:0 12px 34px rgba(43,37,32,.08)
}

.station-card.user {
  grid-column:span 7;
  height:400px
}

.station-card.city {
  grid-column:span 5;
  height:400px
}

.station-card.highway {
  grid-column:span 7;
  height:340px
}

.station-card.scenic {
  grid-column:span 5;
  height:340px
}

.station-card:before {
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  width:0;
  height:3px;
  background:var(--red-bright);
  transition:width .45s ease
}

.station-card:hover:before {
  width:100%
}

.station-card:after {
  background:linear-gradient(0deg,rgba(11,10,9,.78) 0%,rgba(11,10,9,.34) 42%,transparent 72%)
}

.station-card-copy {
  left:30px;
  right:30px;
  bottom:27px
}

.station-card-copy span {
  font-size:10px;
  letter-spacing:.18em;
  color:rgba(255,255,255,.72)
}

.station-card-copy h3 {
  font-size:32px;
  line-height:1.2;
  letter-spacing:-.025em;
  font-weight:500;
  margin:10px 0 10px
}

.station-card-copy p {
  max-width:430px;
  font-size:13px;
  line-height:1.75;
  color:rgba(255,255,255,.84)
}

.network-note {
  max-width:1480px;
  margin:18px auto 0;
  font-size:11px;
  line-height:1.75;
  color:#77726b
}

.network+.values {
  padding-top:84px
}

@media(max-width:960px) {
  .network-head {
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:36px
  }

  .network-head p {
    max-width:680px
  }

  .station-card.user,.station-card.city,.station-card.highway,.station-card.scenic {
    grid-column:span 6;
    height:360px
  }
}

@media(max-width:700px) {
  .network {
    padding:76px 5vw 72px
  }

  .network+.values {
    padding-top:72px
  }

  .network-head {
    margin-bottom:28px
  }

  .network .section-label {
    font-size:10px
  }

  .network-head .section-title {
    font-size:38px;
    line-height:1.16;
    margin-top:18px
  }

  .network-head p {
    font-size:15px;
    line-height:1.82
  }

  .network-data {
    grid-template-columns:1fr;
    margin-bottom:20px
  }

  .network-data div,.network-data div:not(:first-child) {
    min-height:0;
    padding:18px 20px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14)
  }

  .network-data div:last-child {
    border-bottom:0
  }

  .network-data b {
    font-size:27px;
    margin-bottom:7px
  }

  .network-data span {
    font-size:12px
  }

  .scene-rail {
    display:block;
    padding:15px 1px 13px;
    margin-bottom:12px
  }

  .scene-rail strong {
    display:block;
    margin-top:7px;
    font-size:13px
  }

  .station-grid {
    grid-template-columns:1fr;
    gap:10px
  }

  .station-card.user,.station-card.city,.station-card.highway,.station-card.scenic {
    grid-column:1/-1;
    height:300px
  }

  .station-card.scenic {
    height:280px
  }

  .station-card-copy {
    left:22px;
    right:22px;
    bottom:21px
  }

  .station-card-copy h3 {
    font-size:28px;
    margin:8px 0 7px
  }

  .station-card-copy p {
    font-size:12px
  }

  .network-note {
    font-size:10px;
    margin-top:14px
  }
}

.hero-copy {
  max-width:720px
}

.hero h1 {
  font-size:clamp(42px,4.7vw,72px);
  line-height:1.14;
  letter-spacing:-.03em
}

.hero-sub {
  max-width:690px;
  font-size:16px;
  line-height:1.8
}

.section-title {
  font-size:clamp(32px,3vw,48px);
  line-height:1.2;
  letter-spacing:-.025em
}

.intro h2 {
  font-size:clamp(34px,3.4vw,52px);
  line-height:1.3;
  letter-spacing:-.02em
}

.network-head {
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:6vw;
  align-items:center
}

.network-head .section-title {
  font-size:clamp(40px,3.8vw,58px);
  line-height:1.15;
  letter-spacing:-.035em
}

.network-head p {
  align-self:center
}

.network-data {
  background:linear-gradient(120deg,#714247 0%,#925957 54%,#765154 100%);
  border-top-color:#a96b68;
  box-shadow:0 14px 34px rgba(79,47,47,.12)
}

.network-data div,.network-data div:not(:first-child) {
  min-height:118px;
  padding:24px 30px;
  border-right-color:rgba(255,255,255,.18)
}

.network-data b {
  font-size:clamp(27px,2.15vw,35px);
  letter-spacing:-.02em
}

.network-data span {
  color:rgba(255,255,255,.7)
}

.premium-head {
  align-items:center
}

.station-card-copy h3 {
  font-size:30px
}

.download-app h3 {
  font-size:35px
}

@media(max-width:960px) {
  .network-head {
    grid-template-columns:1fr;
    gap:18px;
    align-items:start
  }

  .network-head p {
    align-self:auto
  }
}

@media(max-width:700px) {
  .hero h1 {
    font-size:38px;
    line-height:1.16
  }

  .hero-sub {
    font-size:14px;
    line-height:1.72
  }

  .intro h2 {
    font-size:32px
  }

  .section-title {
    font-size:32px
  }

  .network-head .section-title {
    font-size:34px;
    line-height:1.18
  }

  .network-data div,.network-data div:not(:first-child) {
    padding:16px 20px
  }

  .network-data b {
    font-size:25px
  }

  .station-card-copy h3 {
    font-size:27px
  }

  .download-app h3 {
    font-size:30px
  }
}

.premium-card.service {
  justify-content:flex-start;
  padding:40px
}

.premium-card.service h3 {
  font-size:29px;
  line-height:1.3;
  letter-spacing:-.02em;
  margin:12px 0 14px
}

.premium-card.service p {
  font-size:13px;
  line-height:1.85
}

.premium-card.service .service-list {
  margin-top:27px
}

.premium-card.service .service-list div {
  display:grid;
  grid-template-columns:minmax(118px,.72fr) minmax(0,1.28fr);
  align-items:center;
  gap:20px;
  padding:14px 0
}

.premium-card.service .service-list b {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:500;
  color:#272522
}

.premium-card.service .service-list em {
  font-size:9px;
  font-style:normal;
  font-weight:400;
  letter-spacing:.08em;
  color:var(--red)
}

.premium-card.service .service-list span {
  font-size:11px;
  line-height:1.55;
  text-align:right;
  color:#817c75
}

.service-note {
  display:block;
  margin-top:14px;
  font-size:9px;
  line-height:1.6;
  color:#8a857e
}

@media(max-width:700px) {
  .premium-card.service {
    padding:30px
  }

  .premium-card.service h3 {
    font-size:27px
  }

  .premium-card.service .service-list {
    margin-top:23px
  }

  .premium-card.service .service-list div {
    grid-template-columns:1fr;
    gap:5px;
    padding:13px 0
  }

  .premium-card.service .service-list span {
    text-align:left;
    padding-left:39px
  }

  .service-note {
    margin-top:12px
  }
}

.network-data div,.network-data div:not(:first-child) {
  align-items:center;
  text-align:center
}

.hero-kicker,.premium-head .section-label {
  padding-left:3px
}

.download-v2 {
  padding-top:104px;
  padding-bottom:96px
}

.download-v2 .download-head {
  margin-bottom:42px
}

.download-v2 .download-head p {
  max-width:680px;
  margin-left:auto;
  margin-right:auto
}

.download-shell {
  grid-template-columns:minmax(260px,.72fr) minmax(245px,.62fr) minmax(430px,1.18fr);
  max-width:1420px
}

.download-app {
  min-height:570px;
  padding:46px 38px 38px
}

.phone-showcase {
  padding:28px 18px 24px
}

.phone-visual {
  height:455px
}

.download-channels {
  padding:38px 32px 30px;
  background:#fff;
  display:flex;
  flex-direction:column
}

.channel-head {
  align-items:center;
  padding-bottom:18px
}

.channel-head h3 {
  font-size:24px;
  letter-spacing:-.02em
}

.channel-head span {
  letter-spacing:.12em;
  color:var(--red)
}

.download-channels .channel-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:18px
}

.download-channels .channel-card {
  min-height:0;
  margin:0;
  max-width:none
}

.mini-program-card {
  padding:14px!important;
  background:#f7f6f3!important;
  border-color:rgba(23,22,21,.09)!important
}

.mini-program-visual {
  overflow:hidden;
  background:#f7f7f7;
  border:1px solid rgba(23,22,21,.06)
}

.mini-program-visual img {
  display:block;
  width:100%;
  height:auto
}

.mini-program-copy {
  padding:16px 4px 3px
}

.channel-eyebrow {
  display:block;
  margin-bottom:8px;
  font-size:9px;
  line-height:1;
  letter-spacing:.16em;
  color:var(--red)
}

.download-channels .mini-program-card h4 {
  font-size:17px;
  margin:0 0 7px
}

.download-channels .mini-program-card p {
  font-size:12px;
  line-height:1.65
}

.service-account-card {
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:12px!important;
  background:#fff!important
}

.service-account-card .channel-qr-live {
  width:86px;
  height:86px;
  aspect-ratio:1;
  margin:0;
  max-width:none
}

.service-account-copy h4 {
  font-size:14px!important;
  margin:0 0 6px!important
}

.service-account-copy p {
  font-size:11px!important
}

.channel-note {
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:10px;
  line-height:1.65
}

@media(max-width:1180px) {
  .download-shell {
    grid-template-columns:minmax(280px,.8fr) minmax(260px,.7fr)
  }

  .download-channels {
    grid-column:1/-1
  }

  .download-channels .channel-grid {
    grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
    align-items:stretch
  }

  .service-account-card {
    grid-template-columns:100px minmax(0,1fr)
  }

  .service-account-card .channel-qr-live {
    width:100px;
    height:100px
  }

  .channel-note {
    margin-top:18px
  }
}

@media(max-width:700px) {
  .download-v2 {
    padding-top:76px;
    padding-bottom:70px
  }

  .download-v2 .download-head {
    margin-bottom:34px
  }

  .download-shell {
    grid-template-columns:1fr
  }

  .download-app {
    min-height:455px;
    padding:36px 28px 30px
  }

  .phone-showcase {
    min-height:500px;
    padding-top:24px
  }

  .phone-visual {
    height:405px
  }

  .download-channels {
    grid-column:auto;
    padding:30px 20px 24px
  }

  .channel-head h3 {
    font-size:22px
  }

  .download-channels .channel-grid {
    grid-template-columns:1fr;
    gap:12px
  }

  .mini-program-card {
    display:block!important;
    padding:11px!important
  }

  .mini-program-visual {
    height:235px;
    background:#f7f7f7 url("../document/wechat-mini-program-qr.png") left top/auto 100% no-repeat
  }

  .mini-program-visual img {
    visibility:hidden
  }

  .mini-program-copy {
    padding:15px 4px 5px
  }

  .service-account-card {
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:14px
  }

  .service-account-card .channel-qr-live {
    width:82px!important;
    height:82px!important;
    grid-row:auto!important
  }

  .channel-note {
    margin-top:16px
  }
}

.premium-head .section-label {
  padding-left:0
}

.intro-label,.values-head .section-label,.download-head .section-label {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#7d3a3e;
  letter-spacing:.16em
}

.intro-label:before,.values-head .section-label:before,.download-head .section-label:before {
  content:"";
  width:20px;
  height:1px;
  background:currentColor
}

.premium-head .section-label {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--red);
  letter-spacing:.16em
}

.premium-head .section-label:before {
  content:"";
  width:20px;
  height:1px;
  background:currentColor
}

.scene-rail span,.premium-card-label {
  letter-spacing:.16em
}

.value-num {
  letter-spacing:.12em
}

.channel-head {
  justify-content:flex-start
}

.channel-eyebrow {
  display:none
}

.scene-rail {
  justify-content:flex-end
}

.values-head .section-title,.download-head .section-title {
  margin-top:0
}

.value-copy h3,.download-app h3 {
  margin-top:0
}

.premium-card.service h3 {
  margin:0 0 16px;
  font-size:31px;
  line-height:1.28
}

.premium-card.service p {
  max-width:510px
}

.premium-card.service .service-list {
  margin-top:24px
}

.premium-card.service .service-note {
  margin-top:12px
}

.intro {
  padding:104px 7vw 68px;
  background:#fff
}

.intro h2 {
  margin:24px auto 0
}

.intro .network-data {
  max-width:1480px;
  margin:64px auto 0;
  background:#fff;
  color:var(--ink);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  box-shadow:none
}

.intro .network-data div,.intro .network-data div:not(:first-child) {
  min-height:148px;
  padding:31px 34px;
  background:transparent;
  border:0;
  border-right:1px solid var(--line);
  align-items:center;
  text-align:center
}

.intro .network-data div:last-child {
  border-right:0
}

.intro .network-data b {
  font-size:clamp(30px,2.5vw,42px);
  line-height:1.15;
  letter-spacing:-.025em;
  font-weight:500;
  color:var(--ink);
  margin:0 0 13px
}

.intro .network-data span {
  font-size:14px;
  line-height:1.5;
  letter-spacing:.02em;
  color:#77736d
}

.intro .network-note {
  max-width:1480px;
  margin:15px auto 0;
  text-align:left;
  font-size:11px;
  line-height:1.7;
  color:#8a857e
}

@media(max-width:700px) {
  .intro {
    padding:72px 5vw 52px
  }

  .intro h2 {
    font-size:32px
  }

  .intro .network-data {
    grid-template-columns:1fr;
    margin-top:42px
  }

  .intro .network-data div,.intro .network-data div:not(:first-child) {
    min-height:0;
    padding:25px 20px;
    border-right:0;
    border-bottom:1px solid var(--line)
  }

  .intro .network-data div:last-child {
    border-bottom:0
  }

  .intro .network-data b {
    font-size:28px;
    margin-bottom:8px
  }

  .intro .network-data span {
    font-size:12px
  }
}

.download-shell {
  grid-template-columns:minmax(240px,.64fr) minmax(245px,.66fr) minmax(480px,1.25fr)
}

.download-app {
  min-height:520px;
  padding:36px 34px 32px;
  justify-content:center
}

.download-app h3 {
  font-size:32px;
  margin-bottom:12px
}

.download-app>p {
  max-width:310px;
  font-size:13px;
  line-height:1.75
}

.app-store-note {
  margin-top:20px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.24);
  font-size:11px;
  line-height:1.6;
  color:rgba(255,255,255,.84)
}

.app-store-note strong {
  display:block;
  margin-bottom:3px;
  font-size:12px;
  font-weight:500;
  color:#fff
}

.download-feature-grid {
  margin-top:28px
}

.download-feature-grid div {
  padding:12px 0
}

.download-channels .channel-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:stretch
}

.download-channels .channel-card.channel-entry {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:13px!important;
  background:#f7f6f3!important;
  border:1px solid rgba(23,22,21,.09)!important
}

.channel-entry-visual {
  height:146px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(23,22,21,.06)
}

.download-channels .mini-program-visual {
  height:146px;
  background:#fff
}

.download-channels .mini-program-visual img {
  visibility:visible;
  width:100%;
  height:100%;
  object-fit:contain
}

.service-account-visual .channel-qr-live {
  width:116px;
  height:116px;
  aspect-ratio:1;
  margin:0;
  max-width:none
}

.channel-entry-copy {
  padding:15px 3px 3px
}

.download-channels .channel-entry h4 {
  margin:0 0 7px;
  font-size:15px
}

.download-channels .channel-entry p {
  font-size:11px;
  line-height:1.6
}

.channel-note {
  margin-top:16px
}

@media(max-width:1180px) {
  .download-shell {
    grid-template-columns:minmax(270px,.78fr) minmax(270px,.82fr)
  }

  .download-app {
    min-height:500px
  }

  .download-channels {
    grid-column:1/-1
  }
}

@media(max-width:700px) {
  .download-shell {
    grid-template-columns:1fr
  }

  .download-app {
    min-height:0;
    padding:34px 28px 30px
  }

  .download-app h3 {
    font-size:29px
  }

  .download-feature-grid {
    margin-top:26px
  }

  .download-channels {
    grid-column:auto
  }

  .download-channels .channel-grid {
    grid-template-columns:1fr
  }

  .download-channels .channel-card.channel-entry {
    display:grid!important;
    grid-template-columns:116px minmax(0,1fr);
    gap:15px;
    align-items:center
  }

  .channel-entry-visual,.download-channels .mini-program-visual {
    width:116px;
    height:96px!important
  }

  .service-account-visual .channel-qr-live {
    width:78px!important;
    height:78px!important
  }

  .channel-entry-copy {
    padding:0
  }

  .download-channels .channel-entry h4 {
    margin:0 0 6px
  }
}

.download-channels .channel-card.channel-entry {
  min-height:278px;
  padding:24px 20px 20px!important;
  justify-content:flex-start;
  background:#fbfaf8!important
}

.channel-entry-visual,.download-channels .mini-program-visual {
  width:136px;
  height:136px;
  margin:0 auto;
  border:0;
  background:#fff
}

.download-channels .mini-program-visual img {
  width:100%;
  max-width:100%;
  height:100%;
  object-fit:contain
}

.service-account-visual .channel-qr-live {
  width:136px;
  height:136px
}

.channel-entry-copy {
  padding:18px 0 0;
  text-align:center
}

.download-channels .channel-entry h4 {
  margin:0 0 8px;
  font-size:16px
}

.download-channels .channel-entry p {
  max-width:230px;
  margin:0 auto;
  font-size:11px;
  line-height:1.65
}

@media(max-width:700px) {
  .download-channels .channel-card.channel-entry {
    min-height:0;
    padding:16px!important;
    grid-template-columns:92px minmax(0,1fr)
  }

  .channel-entry-visual,.download-channels .mini-program-visual {
    width:92px;
    height:92px!important;
    margin:0
  }

  .service-account-visual .channel-qr-live {
    width:92px!important;
    height:92px!important
  }

  .channel-entry-copy {
    text-align:left
  }

  .download-channels .channel-entry p {
    max-width:none;
    margin:0
  }
}

.download-channels .channel-card.channel-entry {
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:136px auto;
  gap:0;
  align-items:start!important;
  min-height:260px;
  padding:22px 20px 18px!important
}

.channel-entry-visual,.download-channels .mini-program-visual {
  width:136px;
  height:136px;
  justify-self:center;
  flex:none
}

.download-channels .mini-program-visual img {
  width:124px;
  max-width:124px;
  height:auto;
  max-height:124px
}

.service-account-visual .channel-qr-live {
  width:124px;
  height:124px
}

.channel-entry-copy {
  width:100%;
  padding:16px 0 0;
  display:flex;
  flex-direction:column;
  align-items:center
}

.download-channels .channel-entry h4 {
  height:24px;
  margin:0 0 7px;
  font-size:16px;
  line-height:24px
}

.download-channels .channel-entry p {
  min-height:36px;
  font-size:11px;
  line-height:1.65
}

@media(max-width:700px) {
  .download-channels .channel-card.channel-entry {
    grid-template-columns:92px minmax(0,1fr)!important;
    grid-template-rows:auto;
    gap:15px;
    align-items:center!important;
    min-height:0
  }

  .channel-entry-visual,.download-channels .mini-program-visual {
    width:92px;
    height:92px!important;
    justify-self:start
  }

  .download-channels .mini-program-visual img {
    width:84px;
    max-width:84px;
    max-height:84px
  }

  .service-account-visual .channel-qr-live {
    width:84px!important;
    height:84px!important
  }

  .channel-entry-copy {
    padding:0;
    align-items:flex-start
  }

  .download-channels .channel-entry h4 {
    height:auto;
    line-height:1.45
  }

  .download-channels .channel-entry p {
    min-height:0
  }
}

.network {
  padding:72px 7vw 68px
}

.network-head {
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  gap:4vw;
  align-items:end;
  margin-bottom:30px
}

.network-head .section-title {
  font-size:clamp(38px,3.25vw,50px);
  line-height:1.14;
  margin-top:16px
}

.network-head p {
  max-width:620px;
  justify-self:end;
  padding-bottom:3px;
  font-size:15px;
  line-height:1.78
}

.station-grid {
  gap:12px;
  scroll-margin-top:90px
}

.station-card.user,.station-card.city {
  height:360px
}

.station-card.highway,.station-card.scenic {
  height:310px
}

@media(max-width:960px) {
  .network {
    padding-top:64px
  }

  .network-head {
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:26px
  }

  .network-head p {
    justify-self:start;
    padding-bottom:0
  }

  .station-card.user,.station-card.city,.station-card.highway,.station-card.scenic {
    height:330px
  }
}

@media(max-width:700px) {
  .network {
    padding:54px 5vw 58px
  }

  .network-head {
    gap:14px;
    margin-bottom:22px
  }

  .network-head .section-title {
    font-size:33px;
    margin-top:13px
  }

  .network-head p {
    font-size:14px;
    line-height:1.72
  }

  .station-card.user,.station-card.city,.station-card.highway {
    height:280px
  }

  .station-card.scenic {
    height:260px
  }
}

.download-v2 {
  padding-top:68px;
  padding-bottom:76px
}

.download-v2 .download-head {
  max-width:1420px;
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);
  gap:6vw;
  align-items:end;
  text-align:left
}

.download-v2 .download-head .section-title {
  font-size:clamp(36px,3.1vw,48px);
  line-height:1.15
}

.download-v2 .download-head p {
  max-width:620px;
  margin:0;
  justify-self:end;
  padding-bottom:3px;
  font-size:15px;
  line-height:1.78
}

@media(max-width:820px) {
  .download-v2 {
    padding-top:58px
  }

  .download-v2 .download-head {
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:26px
  }

  .download-v2 .download-head p {
    justify-self:start;
    padding-bottom:0
  }
}

@media(max-width:700px) {
  .download-v2 {
    padding-top:50px;
    padding-bottom:60px
  }

  .download-v2 .download-head {
    margin-bottom:22px
  }

  .download-v2 .download-head .section-title {
    font-size:33px
  }

  .download-v2 .download-head p {
    font-size:14px;
    line-height:1.72
  }
}

.network-head,.premium-head,.download-v2 .download-head {
  max-width:1480px;
  margin:0 auto 32px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:5vw;
  align-items:end;
  text-align:left
}

.network-head>div,.premium-head>div,.download-v2 .download-head>div {
  min-width:0
}

.network-head .section-label,.premium-head .section-label,.download-v2 .download-head .section-label {
  display:flex;
  align-items:center;
  gap:12px;
  padding-left:0;
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  color:var(--red)
}

.network-head .section-label:before,.premium-head .section-label:before,.download-v2 .download-head .section-label:before {
  content:"";
  width:26px;
  height:1px;
  flex:none;
  background:currentColor
}

.network-head .section-title,.premium-head .section-title,.download-v2 .download-head .section-title {
  max-width:720px;
  margin:17px 0 0;
  font-size:clamp(38px,3vw,48px);
  line-height:1.16;
  letter-spacing:-.03em
}

.network-head p,.premium-head p,.download-v2 .download-head p {
  align-self:end!important;
  justify-self:end;
  max-width:620px;
  margin:0;
  padding:0 0 4px;
  font-size:15px;
  line-height:1.78;
  color:#55524d
}

.premium {
  padding-top:72px
}

@media(max-width:960px) {
  .network-head,.premium-head,.download-v2 .download-head {
    grid-template-columns:1fr;
    gap:15px;
    margin-bottom:26px;
    align-items:start
  }

  .network-head p,.premium-head p,.download-v2 .download-head p {
    align-self:start!important;
    justify-self:start;
    max-width:680px;
    padding-bottom:0
  }
}

@media(max-width:700px) {
  .network-head,.premium-head,.download-v2 .download-head {
    gap:13px;
    margin-bottom:22px
  }

  .network-head .section-label,.premium-head .section-label,.download-v2 .download-head .section-label {
    font-size:10px
  }

  .network-head .section-title,.premium-head .section-title,.download-v2 .download-head .section-title {
    margin-top:13px;
    font-size:33px;
    line-height:1.18
  }

  .network-head p,.premium-head p,.download-v2 .download-head p {
    font-size:14px;
    line-height:1.72
  }

  .premium {
    padding-top:54px
  }
}

.station-card.highway img {
  object-position:center bottom
}

.station-card.user img {
  object-position:center 64%
}

@media(max-width:700px) {
  .station-card.user img {
    object-position:78% center
  }
}

@media(min-width:1181px) {
  .download-shell {
    align-items:stretch
  }

  .download-app,.download-channels {
    padding:40px
  }

  .download-app {
    min-height:520px;
    justify-content:flex-start
  }

  .download-app h3 {
    margin:0 0 12px;
    font-size:30px;
    line-height:1.35
  }

  .download-app>p {
    max-width:none;
    min-height:68px;
    padding:0 0 22px;
    border-bottom:1px solid rgba(255,255,255,.24)
  }

  .app-store-note {
    margin-top:24px;
    padding:18px 20px
  }

  .download-feature-grid {
    margin-top:24px
  }

  .download-feature-grid div {
    padding:15px 0
  }

  .download-channels {
    min-height:520px
  }

  .channel-head {
    min-height:99px;
    align-items:flex-start;
    padding:0 0 22px
  }

  .download-channels .channel-grid {
    margin-top:24px
  }

  .channel-note {
    margin-top:auto;
    padding-top:20px;
    border-top:1px solid var(--line)
  }
}

.intro {
  min-height:calc(100vh - 80px);
  min-height:calc(100svh - 80px);
  box-sizing:border-box;
  scroll-margin-top:80px;
}

@media(max-width:700px) {
  .intro {
    min-height:calc(100vh - 68px);
    min-height:calc(100svh - 68px);
    scroll-margin-top:68px;
  }
}

.site-footer {
  position:relative;
  overflow:visible;
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  align-items:center;
  gap:32px
}

.footer-note {
  justify-self:center;
  text-align:center
}

.footer-socials {
  display:flex;
  align-items:center;
  gap:10px;
  padding-left:22px;
  border-left:1px solid rgba(255,255,255,.16)
}

.footer-social {
  position:relative
}

.footer-social-trigger {
  appearance:none;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  background:transparent;
  border:1px solid transparent;
  border-radius:50%;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease
}

.footer-social-trigger:hover,.footer-social-trigger:focus-visible,.footer-social[data-open="true"] .footer-social-trigger {
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.17);
  transform:translateY(-2px);
  outline:0
}

.footer-social-trigger img {
  width:auto;
  height:24px;
  max-width:37px;
  filter:brightness(0) invert(1);
  opacity:.72;
  transition:opacity .2s ease,transform .2s ease
}

.footer-social-trigger:hover img,.footer-social-trigger:focus-visible img,.footer-social[data-open="true"] .footer-social-trigger img {
  opacity:1;
  transform:scale(1.04)
}

.footer-social-popover {
  position:absolute;
  z-index:20;
  right:50%;
  bottom:calc(100% + 12px);
  width:184px;
  margin-right:-20px;
  padding:12px 12px 11px;
  background:#fff;
  color:var(--ink);
  border:1px solid rgba(23,22,21,.08);
  border-radius:12px;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(7px);
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease
}

.footer-social-popover:after {
  content:"";
  position:absolute;
  right:13px;
  bottom:-7px;
  width:14px;
  height:14px;
  background:#fff;
  border-right:1px solid rgba(23,22,21,.08);
  border-bottom:1px solid rgba(23,22,21,.08);
  transform:rotate(45deg)
}

.footer-social:hover .footer-social-popover,.footer-social[data-open="true"] .footer-social-popover {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0)
}

.footer-social-qr {
  width:158px;
  height:158px;
  object-fit:contain;
  background:#fff;
  border-radius:7px
}

.footer-social-popover p {
  position:relative;
  z-index:1;
  margin:9px 0 0;
  text-align:center;
  font-size:12px;
  line-height:1.45;
  font-weight:500;
  color:#5f5b56;
  white-space:nowrap
}

@media(max-width:820px) {
  .site-footer {
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    padding:24px 5vw
  }

  .footer-socials {
    grid-column:1;
    grid-row:1;
    justify-self:end;
    padding-left:0;
    border-left:0
  }

  .footer-note {
    grid-column:1/-1;
    grid-row:2;
    justify-self:start;
    margin:0!important;
    text-align:left
  }
}

@media(max-width:480px) {
  .site-footer {
    gap:16px 14px
  }

  .footer-socials {
    gap:3px;
    padding-left:10px
  }

  .footer-social-trigger {
    width:38px;
    height:38px
  }

  .footer-social-trigger img {
    height:22px;
    max-width:34px
  }

  .footer-social-popover {
    right:0;
    width:178px;
    margin-right:0;
    padding:11px
  }

  .footer-social-popover:after {
    right:12px
  }

  .footer-social-qr {
    width:154px;
    height:154px
  }
}

@media(prefers-reduced-motion:reduce) {
  .footer-social-trigger,.footer-social-trigger img,.footer-social-popover {
    transition:none
  }
}

.intro-label {
  gap:16px
}

.intro-label:before,.intro-label:after {
  content:"";
  width:32px;
  height:1px;
  flex:none;
  background:currentColor;
  opacity:.9
}

.intro-label:after {
  transform:translateX(-2px)
}

@media(max-width:700px) {
  .intro-label {
    gap:11px
  }

  .intro-label:before,.intro-label:after {
    width:22px
  }
}

.intro .network-note,.claim-note,.service-note,.channel-note {
  font-weight:300;
  letter-spacing:.015em;
  color:#8b867f
}

.intro .network-note {
  font-size:11px;
  line-height:1.7
}

.claim-note {
  font-size:10px;
  line-height:1.6
}

.service-note {
  font-size:10px;
  line-height:1.6
}

.channel-note {
  font-size:10px;
  line-height:1.7
}

@media(max-width:700px) {
  .intro .network-note {
    font-size:10px
  }
}

.intro h2 {
  font-size:clamp(36px,3.4vw,52px);
  line-height:1.3
}

.network-head .section-title,.premium-head .section-title,.download-v2 .download-head .section-title,.values-head .section-title {
  font-size:clamp(38px,3vw,48px);
  line-height:1.16
}

.network-head p,.premium-head p,.download-v2 .download-head p,.values-head p {
  font-size:15px;
  line-height:1.78
}

.station-card-copy h3 {
  font-size:30px;
  line-height:1.2
}

.station-card-copy p {
  font-size:13px;
  line-height:1.75
}

.value-copy h3 {
  font-size:38px;
  line-height:1.2
}

.value-copy>.value-slogan {
  font-size:18px;
  line-height:1.5
}

.value-copy>.value-description {
  font-size:14px;
  line-height:1.7
}

.premium-card h3,.premium-card.service h3 {
  font-size:31px;
  line-height:1.28
}

.premium-card p {
  font-size:14px;
  line-height:1.9
}

.download-app h3 {
  font-size:30px;
  line-height:1.35
}

.download-app>p {
  font-size:13px;
  line-height:1.75
}

.channel-head h3 {
  font-size:24px;
  line-height:1.3
}

.download-channels .channel-entry h4 {
  font-size:15px;
  line-height:1.35
}

.download-channels .channel-entry p {
  font-size:11px;
  line-height:1.6
}

.footer-note {
  font-size:11px;
  line-height:1.8
}

@media(max-width:700px) {
  .intro h2 {
    font-size:32px;
    line-height:1.3
  }

  .network-head .section-title,.premium-head .section-title,.download-v2 .download-head .section-title,.values-head .section-title {
    font-size:33px;
    line-height:1.18
  }

  .network-head p,.premium-head p,.download-v2 .download-head p,.values-head p {
    font-size:14px;
    line-height:1.72
  }

  .station-card-copy h3 {
    font-size:27px
  }

  .station-card-copy p {
    font-size:12px
  }

  .value-copy h3 {
    font-size:35px
  }

  .premium-card h3,.premium-card.service h3 {
    font-size:27px
  }

  .download-app h3 {
    font-size:29px
  }

  .channel-head h3 {
    font-size:22px
  }
}

.app-store-note {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center
}

.app-store-note span {
  font-size:11px;
  line-height:1.4;
  font-weight:300;
  letter-spacing:.06em;
  color:rgba(255,255,255,.66)
}

.app-store-note strong {
  margin:7px 0 3px;
  font-size:15px;
  line-height:1.4;
  font-weight:500;
  letter-spacing:.01em;
  color:#fff
}

.app-store-note small {
  font-size:12px;
  line-height:1.5;
  font-weight:300;
  color:rgba(255,255,255,.76)
}

.channel-head>div {
  min-width:0
}

.channel-head p {
  margin:9px 0 0;
  font-size:13px;
  line-height:1.65;
  color:#77726b
}

@media(min-width:1181px) {
  .download-shell {
    grid-template-columns:minmax(270px,.72fr) minmax(235px,.62fr) minmax(470px,1.25fr)
  }

  .download-app {
    display:flex;
    flex-direction:column
  }

  .app-store-note {
    min-height:96px;
    margin-top:24px;
    padding:17px 20px
  }

  .download-feature-grid {
    margin-top:auto
  }

  .channel-head {
    min-height:120px
  }
}

@media(max-width:700px) {
  .app-store-note {
    min-height:0;
    padding:16px 18px
  }

  .app-store-note strong {
    font-size:15px
  }

  .channel-head p {
    font-size:12px;
    line-height:1.6
  }
}

@media(min-width:1181px) {
  .app-store-note {
    margin-top:26px
  }

  .download-feature-grid {
    margin-top:26px
  }
}

.app-store-note {
  background:rgba(255,255,255,.035)
}

.app-store-note strong {
  font-size:16px
}

.download-feature-grid div {
  font-size:14px;
  font-weight:500
}

.download-feature-grid span {
  font-size:11px;
  font-weight:300
}

@media(min-width:1181px) {
  .download-feature-grid div {
    padding:13px 0
  }
}

.station-card.user img {
  object-position:center 52%
}

.site-footer {
  min-height:72px;
  padding:14px 5vw;
  grid-template-columns:1fr;
  justify-items:end
}

.footer-socials {
  justify-self:end;
  padding-left:0;
  border-left:0
}

@media(max-width:960px) {
  .station-card.user img {
    object-position:68% center
  }
}

.station-card.highway img {
  object-position:center 44%
}

@media(max-width:960px) {
  .station-card.highway img {
    object-position:40% center
  }
}

/* Final footer */
.site-footer {
  min-height:0;
  padding:0 5vw;
  display:block;
  background:#141413;
  color:rgba(255,255,255,.55);
  border-top:1px solid rgba(255,255,255,.08)
}

.footer-inner {
  width:min(1440px,100%);
  min-height:104px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px
}

.footer-legal {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  font-size:12px;
  line-height:1.6;
  letter-spacing:.02em
}

.footer-legal a,.footer-legal span {
  position:relative;
  color:inherit;
  text-decoration:none;
  white-space:nowrap
}

.footer-legal a {
  transition:color .2s ease
}

.footer-legal a:hover,.footer-legal a:focus-visible {
  color:#fff;
  outline:0
}

.footer-legal a:focus-visible {
  text-decoration:underline;
  text-underline-offset:4px
}

.footer-legal a:not(:first-child),.footer-legal span {
  margin-left:18px;
  padding-left:19px
}

.footer-legal a:not(:first-child):before,.footer-legal span:before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:11px;
  background:rgba(255,255,255,.18);
  transform:translateY(-50%)
}

.footer-socials {
  flex:none;
  justify-self:auto;
  padding-left:24px;
  border-left:1px solid rgba(255,255,255,.13);
  gap:6px
}

.footer-social-trigger {
  color:inherit;
  text-decoration:none
}

@media(max-width:700px) {
  .site-footer {
    padding:0 7vw
  }

  .footer-inner {
    min-height:0;
    padding:26px 0 24px;
    flex-direction:column-reverse;
    align-items:flex-start;
    gap:20px
  }

  .footer-socials {
    justify-self:auto;
    padding:0;
    border-left:0;
    gap:8px
  }

  .footer-legal {
    row-gap:10px;
    font-size:11px
  }

  .footer-legal span {
    flex-basis:100%;
    margin-left:0;
    padding-left:0
  }

  .footer-legal span:before {
    content:none
  }
}

@media(max-width:380px) {
  .footer-legal a:not(:first-child) {
    margin-left:13px;
    padding-left:14px
  }
}

@media(prefers-reduced-motion:reduce) {
  .footer-legal a {
    transition:none
  }
}
