.page-jian { --ja-ink:#202528; --ja-steel:#343b3f; --ja-paper:#f1f0ec; --ja-white:#fff; --ja-yellow:#f2bd18; --ja-orange:#ff5b35; --ja-mint:#5dd7aa; --ja-line:rgba(32,37,40,.16); background:var(--ja-paper); color:var(--ja-ink); }
.page-jian .city-shell { width:min(1220px,calc(100% - 48px)); }
.page-jian h1,.page-jian h2,.page-jian h3 { font-family:"Arial Narrow","Microsoft YaHei",sans-serif; }
.page-jian .city-eyebrow { color:var(--ja-orange); font-family:Consolas,monospace; letter-spacing:.12em; }
.page-jian .city-eyebrow::before { width:36px; height:8px; background:repeating-linear-gradient(135deg,var(--ja-yellow) 0 7px,var(--ja-ink) 7px 11px); }

.ja-hero { position:relative; min-height:790px; padding-bottom:30px; overflow:hidden; background:#252b2e; color:#fff; }
.ja-hero::before { position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:32px 32px; content:""; mask-image:linear-gradient(#000,rgba(0,0,0,.75),transparent); }
.ja-hero .city-shell { position:relative; z-index:1; }
.ja-hero .city-crumb { color:rgba(255,255,255,.56); }
.ja-hero .city-crumb a,.ja-hero .city-crumb strong { color:#fff; }
.ja-hero .city-crumb i { color:var(--ja-yellow); }
.ja-route-code { display:grid; grid-template-columns:1fr auto auto; gap:24px; padding:13px 0; border-block:1px solid rgba(255,255,255,.18); font:11px Consolas,monospace; letter-spacing:.13em; }
.ja-route-code b { color:var(--ja-yellow); }
.ja-route-code span { padding:3px 9px; background:var(--ja-orange); color:#fff; }
.ja-route-code em { color:rgba(255,255,255,.5); font-style:normal; }
.ja-hero-grid { display:grid; grid-template-columns:minmax(0,.84fr) minmax(470px,1.16fr); gap:42px; align-items:center; padding:39px 0 30px; }
.ja-hero-copy h1 { margin:0; font-size:clamp(51px,4.55vw,59px); line-height:1.04; letter-spacing:-.06em; }
.ja-hero-copy h1 span { display:inline-block; margin-top:8px; color:var(--ja-yellow); }
.ja-hero-copy>p:not(.city-eyebrow) { max-width:610px; margin:25px 0 0; color:rgba(255,255,255,.67); font-size:16px; line-height:1.9; }
.ja-actions { display:flex; gap:12px; margin-top:30px; }
.ja-actions a { min-width:150px; padding:14px 16px; border:1px solid rgba(255,255,255,.38); text-decoration:none; font-size:13px; font-weight:900; }
.ja-actions a:first-child { background:var(--ja-yellow); border-color:var(--ja-yellow); color:var(--ja-ink); }
.ja-actions a:hover { border-color:var(--ja-orange); }
.ja-hero-image { position:relative; margin:0; padding:12px 12px 56px; border:1px solid rgba(255,255,255,.2); background:#15191b; }
.ja-hero-image::before,.ja-hero-image::after { position:absolute; left:-20px; right:-20px; height:4px; background:var(--ja-yellow); content:""; }
.ja-hero-image::before { top:31%; }
.ja-hero-image::after { top:31%; background:repeating-linear-gradient(90deg,transparent 0 34px,#15191b 34px 40px); }
.ja-hero-image img { display:block; width:100%; height:390px; object-fit:cover; }
.ja-hero-image figcaption { display:flex; justify-content:space-between; gap:18px; padding:17px 5px 0; font-size:11px; }
.ja-hero-image figcaption b { color:var(--ja-yellow); font:10px Consolas,monospace; }
.ja-hero-image figcaption span { color:rgba(255,255,255,.58); }
.ja-stations { position:relative; display:grid; grid-template-columns:repeat(5,1fr); margin:0; padding:0; border-block:1px solid rgba(255,255,255,.2); list-style:none; }
.ja-stations::before { position:absolute; left:10%; right:10%; top:22px; height:4px; background:#4b5357; content:""; }
.ja-stations li { position:relative; z-index:1; display:grid; grid-template-columns:42px 1fr; gap:3px 8px; padding:12px 15px; border-right:1px solid rgba(255,255,255,.17); }
.ja-stations li:last-child { border-right:0; }
.ja-stations i { grid-row:span 2; display:grid; place-items:center; width:32px; height:32px; border:5px solid var(--ja-steel); border-radius:50%; background:var(--ja-yellow); color:var(--ja-ink); font:normal 9px Consolas,monospace; }
.ja-stations li.is-active i { background:var(--ja-orange); color:#fff; }
.ja-stations b { font-size:13px; }
.ja-stations span { color:rgba(255,255,255,.48); font-size:10px; }
.ja-opening-ad { background:#dad9d5; }

.ja-journey { padding:118px 0; background:var(--ja-paper); }
.ja-journey-layout { display:grid; grid-template-columns:minmax(300px,.66fr) minmax(0,1.34fr); gap:85px; align-items:start; }
.ja-sticky-index { position:sticky; top:120px; }
.ja-sticky-index h2,.ja-section-head h2,.ja-faq h2 { margin:0; font-size:clamp(43px,4.45vw,47px); line-height:1.08; letter-spacing:-.055em; }
.ja-sticky-index>p:not(.city-eyebrow) { margin:25px 0; color:#696f72; line-height:1.9; }
.ja-sticky-index nav { display:grid; margin-top:34px; border-top:1px solid var(--ja-line); }
.ja-sticky-index nav a { display:flex; gap:14px; padding:15px 10px; border-bottom:1px solid var(--ja-line); text-decoration:none; font-size:13px; font-weight:800; }
.ja-sticky-index nav i { color:#889094; font:normal 10px Consolas,monospace; }
.ja-sticky-index nav a.is-current { background:var(--ja-yellow); color:var(--ja-ink); }
.ja-stop-stack { position:relative; display:grid; gap:28px; }
.ja-stop-stack::before { position:absolute; left:31px; top:35px; bottom:35px; width:4px; background:repeating-linear-gradient(to bottom,var(--ja-orange) 0 18px,transparent 18px 28px); content:""; }
.ja-stop { position:relative; min-height:430px; padding:48px 48px 45px 85px; border:1px solid var(--ja-line); background:#fff; }
.ja-stop::before { position:absolute; left:19px; top:46px; width:24px; height:24px; border:6px solid var(--ja-paper); border-radius:50%; background:var(--ja-orange); box-shadow:0 0 0 1px var(--ja-orange); content:""; }
.ja-stop header { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--ja-line); }
.ja-stop header span { padding:7px 10px; background:var(--ja-ink); color:#fff; font:10px Consolas,monospace; }
.ja-stop header i { color:#7a8184; font:normal 10px Consolas,monospace; letter-spacing:.13em; }
.ja-stop h3 { max-width:690px; margin:72px 0 20px; font-size:36px; line-height:1.15; }
.ja-stop p { max-width:720px; margin:0; color:#666d70; line-height:1.9; }
.ja-stop>div { display:flex; flex-wrap:wrap; gap:9px; margin-top:35px; }
.ja-stop>div b { padding:9px 11px; border:1px solid var(--ja-line); font-size:12px; }
.ja-stop.is-safety { background:var(--ja-yellow); }
.ja-stop.is-safety::before { background:var(--ja-ink); box-shadow:0 0 0 1px var(--ja-ink); }
.ja-stop.is-safety p { color:rgba(32,37,40,.7); }
.ja-stop.is-safety>div b { border-color:rgba(32,37,40,.3); }
.ja-stop.is-dark { background:var(--ja-steel); color:#fff; }
.ja-stop.is-dark p { color:rgba(255,255,255,.64); }
.ja-stop.is-dark>div b { border-color:rgba(255,255,255,.23); }

.ja-industry { padding:118px 0; background:#e2e4e3; }
.ja-section-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(310px,.62fr); gap:80px; align-items:end; margin-bottom:48px; }
.ja-section-head>p,.ja-faq header>p:not(.city-eyebrow) { margin:0; color:#666d70; font-size:15px; line-height:1.9; }
.ja-industry-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--ja-ink); border-left:1px solid var(--ja-ink); }
.ja-industry-grid article { min-height:360px; padding:28px; border-right:1px solid var(--ja-ink); border-bottom:1px solid var(--ja-ink); background:#f4f5f3; }
.ja-industry-grid article.is-wide { grid-column:span 4; min-height:240px; }
.ja-industry-grid em { color:var(--ja-orange); font:normal 10px Consolas,monospace; }
.ja-industry-grid h3 { margin:72px 0 17px; font-size:28px; }
.ja-industry-grid p { color:#686f72; line-height:1.8; }
.ja-industry-grid ul { display:grid; gap:8px; margin:25px 0 0; padding:0; list-style:none; }
.ja-industry-grid li { padding:8px 0; border-top:1px solid var(--ja-line); font-size:12px; }
.ja-industry-grid .is-primary { background:var(--ja-steel); color:#fff; }
.ja-industry-grid .is-primary p { color:rgba(255,255,255,.62); }
.ja-industry-grid .is-primary li { border-color:rgba(255,255,255,.2); }
.ja-industry-grid .is-safety { background:var(--ja-yellow); }
.ja-industry-grid .is-wide h3 { margin:30px 0 14px; }
.ja-industry-grid .is-wide>div { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto; gap:12px; align-items:center; margin-top:28px; }
.ja-industry-grid .is-wide span { font-size:12px; font-weight:900; }
.ja-industry-grid .is-wide i { height:4px; background:repeating-linear-gradient(90deg,var(--ja-orange) 0 14px,transparent 14px 20px); }

.ja-services { padding:118px 0; background:#faf9f5; }
.ja-service-scenes { border:1px solid var(--ja-line); }
.ja-service-scenes>article { display:grid; grid-template-columns:1.08fr .92fr; min-height:470px; border-bottom:1px solid var(--ja-line); }
.ja-service-scenes>article:last-child { border-bottom:0; }
.ja-service-scenes article.is-reverse figure { order:2; }
.ja-service-scenes figure { position:relative; margin:0; min-width:0; overflow:hidden; background:#272d30; }
.ja-service-scenes img { display:block; width:100%; height:100%; object-fit:cover; }
.ja-service-scenes figcaption { position:absolute; left:18px; bottom:18px; padding:9px 11px; background:var(--ja-yellow); color:var(--ja-ink); font:10px Consolas,monospace; }
.ja-service-scenes article>div { display:flex; flex-direction:column; justify-content:center; padding:50px; }
.ja-service-scenes em { color:var(--ja-orange); font:normal 10px Consolas,monospace; letter-spacing:.13em; }
.ja-service-scenes h3 { margin:22px 0 16px; font-size:35px; }
.ja-service-scenes p { margin:0; color:#666d70; line-height:1.9; }
.ja-service-scenes ul { display:grid; gap:10px; margin:27px 0 0; padding:0; list-style:none; }
.ja-service-scenes li { padding:10px 0 10px 22px; border-top:1px solid var(--ja-line); font-size:13px; }
.ja-service-scenes li::before { margin-left:-22px; margin-right:11px; color:var(--ja-orange); content:"▸"; }
.ja-service-scenes nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.ja-service-scenes nav a { padding:12px 14px; border:1px solid var(--ja-ink); text-decoration:none; font-size:12px; font-weight:900; }
.ja-service-scenes nav a:first-child { background:var(--ja-ink); color:#fff; }

.ja-platform { padding:118px 0; background:#242a2d; color:#fff; }
.ja-section-head.is-light>p { color:rgba(255,255,255,.62); }
.ja-platform .city-eyebrow { color:var(--ja-yellow); }
.ja-platform-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr); gap:14px; }
.ja-platform-grid figure { margin:0; padding:16px; border:1px solid rgba(255,255,255,.2); background:#15191b; }
.ja-platform-grid figure img { display:block; width:100%; height:auto; }
.ja-platform-grid figcaption { padding-top:14px; color:var(--ja-yellow); font:10px Consolas,monospace; }
.ja-workspaces { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.ja-workspaces article { min-height:200px; padding:27px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }
.ja-workspaces i { color:var(--ja-orange); font:normal 10px Consolas,monospace; }
.ja-workspaces h3 { margin:40px 0 12px; font-size:23px; }
.ja-workspaces p { margin:0; color:rgba(255,255,255,.55); font-size:13px; line-height:1.75; }

.ja-articles { background:#e8e8e5; }
.ja-article-list { border-top:2px solid var(--ja-ink); }
.ja-article-list a { display:grid; grid-template-columns:48px 105px minmax(0,1fr) 95px; gap:20px; align-items:center; padding:24px 12px; border-bottom:1px solid var(--ja-line); text-decoration:none; }
.ja-article-list i { color:var(--ja-orange); font:normal 11px Consolas,monospace; }
.ja-article-list em { font-style:normal; font-size:12px; }
.ja-article-list h3 { margin:0; font-size:19px; line-height:1.5; }
.ja-article-list span { font-size:12px; text-align:right; }
.ja-article-list a:hover { background:var(--ja-yellow); }
.ja-faq { background:#fff; }
.ja-faq-grid { display:grid; grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr); gap:80px; }
.ja-faq header { position:sticky; top:118px; align-self:start; }
.ja-faq header>p:not(.city-eyebrow) { margin-top:24px; }
.ja-faq-list summary { display:grid; grid-template-columns:42px 1fr 24px; gap:15px; align-items:center; }
.ja-faq-list summary i { color:var(--ja-orange); font:normal 11px Consolas,monospace; }
.ja-faq-list summary b { color:var(--ja-orange); font-size:20px; transition:transform .2s ease; }
.ja-faq-list details[open] summary b { transform:rotate(45deg); }
.ja-faq-list details p { margin:0 0 26px 57px; }
.ja-closing-ad { background:#171b1d; }
.ja-final { background:#252b2e; }
.ja-final .city-shell { display:grid; grid-template-columns:190px 1fr auto; gap:44px; align-items:center; }
.ja-final>div>span { color:var(--ja-yellow); font:10px Consolas,monospace; letter-spacing:.11em; }
.ja-final h2 { margin:0; font-size:35px; }
.ja-final p { max-width:690px; margin:12px 0 0; color:rgba(255,255,255,.6); line-height:1.8; }
.ja-final a { padding:14px 16px; border:1px solid rgba(255,255,255,.35); text-decoration:none; font-size:13px; font-weight:900; }

@media (max-width:1080px) {
  .ja-journey-layout { grid-template-columns:280px 1fr; gap:45px; }
  .ja-industry-grid { grid-template-columns:repeat(2,1fr); }
  .ja-industry-grid article.is-wide { grid-column:span 2; }
  .ja-platform-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .page-jian .city-shell { width:min(100% - 28px,1220px); }
  .ja-hero { min-height:0; padding-bottom:18px; }
  .ja-route-code { grid-template-columns:1fr auto; padding:10px 0; }
  .ja-route-code em { display:none; }
  .ja-hero-grid { display:flex; flex-direction:column; gap:20px; padding:20px 0; }
  .ja-hero-copy { order:1; }
  .ja-hero-image { order:2; padding:8px 8px 45px; }
  .ja-hero-image img { height:300px; }
  .ja-hero-copy .city-eyebrow { margin-bottom:10px; font-size:10px; }
  .ja-hero-copy h1 { font-size:38px; }
  .ja-hero-copy h1 span { margin-top:5px; }
  .ja-hero-copy>p:not(.city-eyebrow) { margin-top:15px; font-size:14px; line-height:1.7; }
  .ja-actions { margin-top:18px; }
  .ja-actions a { min-width:0; flex:1; padding:11px; }
  .ja-hero-image figcaption { flex-direction:column; gap:3px; }
  .ja-stations { grid-template-columns:1fr; }
  .ja-stations::before { left:29px; top:20px; bottom:20px; right:auto; width:4px; height:auto; }
  .ja-stations li { padding:10px 14px; border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }
  .ja-stations li:last-child { border-bottom:0; }
  .ja-journey,.ja-industry,.ja-services,.ja-platform { padding:76px 0; }
  .ja-journey-layout,.ja-section-head,.ja-faq-grid { grid-template-columns:1fr; gap:20px; }
  .ja-sticky-index { position:static; }
  .ja-sticky-index h2,.ja-section-head h2,.ja-faq h2 { font-size:31px; }
  .ja-sticky-index nav { display:none; }
  .ja-stop-stack { margin-top:12px; }
  .ja-stop { min-height:0; padding:30px 24px 34px 58px; }
  .ja-stop-stack::before { left:22px; }
  .ja-stop::before { left:10px; top:31px; width:20px; height:20px; }
  .ja-stop h3 { margin:38px 0 16px; font-size:29px; }
  .ja-industry-grid { grid-template-columns:1fr; }
  .ja-industry-grid article,.ja-industry-grid article.is-wide { grid-column:auto; min-height:0; }
  .ja-industry-grid h3 { margin:35px 0 14px; }
  .ja-industry-grid .is-wide>div { grid-template-columns:1fr; gap:6px; }
  .ja-industry-grid .is-wide i { width:4px; height:15px; }
  .ja-service-scenes>article { grid-template-columns:1fr; min-height:0; }
  .ja-service-scenes article.is-reverse figure { order:0; }
  .ja-service-scenes figure { min-height:255px; }
  .ja-service-scenes article>div { padding:30px 24px 35px; }
  .ja-service-scenes h3 { font-size:29px; }
  .ja-workspaces { grid-template-columns:1fr; }
  .ja-workspaces article { min-height:0; }
  .ja-workspaces h3 { margin-top:24px; }
  .ja-article-list a { grid-template-columns:32px 1fr; gap:8px 12px; padding:21px 4px; }
  .ja-article-list em { text-align:right; }
  .ja-article-list h3,.ja-article-list span { grid-column:1/-1; text-align:left; }
  .ja-article-list h3 { font-size:17px; }
  .ja-faq header { position:static; }
  .ja-faq-list summary { grid-template-columns:30px 1fr 18px; gap:10px; font-size:16px; }
  .ja-faq-list details p { margin-left:40px; }
  .ja-final .city-shell { grid-template-columns:1fr; gap:18px; }
  .ja-final h2 { font-size:30px; }
  .ja-final a { justify-self:start; }
  .page-jian .ct-common-footer .footer-beian { min-width:0; flex:1 1 100%; flex-wrap:wrap!important; justify-content:flex-start; white-space:normal!important; overflow-x:hidden; gap:8px 12px; }
}
@media (prefers-reduced-motion:reduce) { .page-jian * { animation:none!important; transition:none!important; } }
