/* Shared Tianyang visual language for non-route pages. */
.theme-page,
.inner-page:not(.routes-page) {
  --ty-ink: #12384a;
  --ty-muted: #68818b;
  --ty-line: #d7e9ed;
  --ty-sky: #eef9fb;
  --ty-cyan: #078ea7;
  --ty-cyan-dark: #056c80;
  background: #f7fbfc;
  color: var(--ty-ink);
}

.theme-page .site-header,
.inner-page:not(.routes-page) .site-header {
  position: sticky !important;
  top: 0;
  z-index: 20;
  height: 74px !important;
  background: rgba(255,255,255,.96) !important;
  color: var(--ty-ink) !important;
  border-bottom: 1px solid var(--ty-line) !important;
  box-shadow: 0 3px 18px rgba(18,56,74,.06) !important;
  backdrop-filter: blur(14px);
}
.theme-page .nav-wrap,
.inner-page:not(.routes-page) .header-inner {
  width: min(1320px, calc(100% - 64px)) !important;
  height: 74px !important;
  min-height: 0 !important;
  margin: auto;
  gap: 30px;
}
.theme-page main,
.inner-page:not(.routes-page) main { padding-top: 0 !important; }
.theme-page .brand-mark,
.inner-page:not(.routes-page) .brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #e2f7fa !important;
  color: var(--ty-cyan-dark) !important;
}
.theme-page .brand b,
.theme-page .brand strong,
.inner-page:not(.routes-page) .brand strong { color: var(--ty-ink) !important; }
.theme-page .brand small,
.inner-page:not(.routes-page) .brand small,
.inner-page:not(.routes-page) .brand-copy small { color: #7c99a2 !important; }
.theme-page .main-nav,
.inner-page:not(.routes-page) .main-nav { gap: 24px; }
.theme-page .main-nav a,
.inner-page:not(.routes-page) .main-nav a {
  color: #466674 !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 34px;
}
.theme-page .main-nav a.active,
.theme-page .main-nav a:hover,
.inner-page:not(.routes-page) .main-nav a.active,
.inner-page:not(.routes-page) .main-nav a:hover { color: var(--ty-cyan) !important; }
.theme-page .nav-cta,
.inner-page:not(.routes-page) .header-cta {
  border-radius: 5px !important;
  background: var(--ty-cyan) !important;
  color: #fff !important;
}

.theme-page .page-hero,
.inner-page:not(.routes-page) .inner-hero {
  min-height: 390px;
  padding: 92px 0 72px;
  background: linear-gradient(120deg, #e9f8fa 0%, #f8fcfd 58%, #e4f3f6 100%) !important;
  color: var(--ty-ink) !important;
}
.theme-page .page-hero h1,
.inner-page:not(.routes-page) .inner-hero h1 {
  max-width: 760px;
  margin: 17px 0 18px;
  color: var(--ty-ink);
  font: 800 clamp(42px, 6vw, 72px)/1.1 'Noto Sans SC', 'Microsoft YaHei', sans-serif;
  letter-spacing: -2px;
}
.theme-page .page-hero h1 em,
.inner-page:not(.routes-page) .inner-hero h1 em { color: var(--ty-cyan); }
.theme-page .page-hero p:last-child,
.inner-page:not(.routes-page) .inner-hero > .container > p:last-child { color: var(--ty-muted) !important; font-size: 15px; line-height: 1.85; }
.theme-page .eyebrow,
.inner-page:not(.routes-page) .eyebrow { color: var(--ty-cyan-dark) !important; }
.theme-page .eyebrow.light { color: var(--ty-cyan-dark) !important; }

.theme-page .section,
.inner-page:not(.routes-page) .inner-section { padding: 82px 0; background: #fff; }
.theme-page .section:nth-of-type(even),
.inner-page:not(.routes-page) .inner-section.alt { background: var(--ty-sky); }
.theme-page h2,
.inner-page:not(.routes-page) .inner-heading h2 { color: var(--ty-ink); font-family: 'Noto Sans SC','Microsoft YaHei',sans-serif; font-weight: 800; letter-spacing: -1px; }
.theme-page h2 em,
.inner-page:not(.routes-page) h2 em { color: var(--ty-cyan); }
.theme-page .about-copy,
.theme-page .contact-page-grid,
.theme-page .faq-list,
.inner-page:not(.routes-page) .container { position: relative; }

.theme-page .detail-list,
.theme-page .timeline,
.theme-page .faq-list { border-color: var(--ty-line); }
.theme-page .detail-list article {
  grid-template-columns: 64px 1fr 150px;
  gap: 28px;
  padding: 34px 0;
  border-bottom: 1px solid var(--ty-line);
}
.theme-page .detail-no,
.theme-page .detail-list li:before,
.theme-page .detail-tag { color: var(--ty-cyan) !important; }
.theme-page .detail-list h2 { font: 800 30px/1.25 'Noto Sans SC','Microsoft YaHei',sans-serif; color: var(--ty-ink); }
.theme-page .detail-list p,
.theme-page .detail-list ul { color: var(--ty-muted); }
.theme-page .detail-tag { font: 800 42px/1 'Manrope',sans-serif; opacity: .5; }

.theme-page .about-copy>p:not(.eyebrow),
.theme-page .contact-page>div>p:not(.eyebrow) { color: var(--ty-muted); }
.theme-page .about-stats { gap: 55px; margin-top: 48px; border-color: var(--ty-line); }
.theme-page .about-stats strong,
.theme-page .contact-phone { color: var(--ty-cyan-dark); }
.theme-page .faq-list details { border-color: var(--ty-line); }
.theme-page .faq-list summary { color: var(--ty-ink); font-size: 18px; }
.theme-page .faq-list summary span { color: var(--ty-cyan); }
.theme-page .faq-list details p { color: var(--ty-muted); }
.theme-page .contact-page-grid { gap: 80px; }
.theme-page .contact-form,
.theme-page .news-card {
  border: 1px solid var(--ty-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(18,74,91,.06);
}
.theme-page .contact-form { padding: 28px; }
.theme-page .contact-form input,
.theme-page .contact-form textarea { border-color: #cfe2e6; border-radius: 5px; background: #f7fcfd; }
.theme-page .button-accent { border-radius: 5px; background: var(--ty-cyan) !important; color: #fff; }
.theme-page .news-grid { gap: 14px; }
.theme-page .news-card { min-height: 225px; padding: 25px; }
.theme-page .featured-news { background: var(--ty-ink); color: #fff; }
.theme-page .news-date { color: var(--ty-cyan) !important; }

.inner-page:not(.routes-page) .inner-heading { margin-bottom: 30px; }
.inner-page:not(.routes-page) .inner-heading h2 { font-size: clamp(31px,4vw,50px); line-height: 1.18; }
.inner-page:not(.routes-page) .inner-heading p { color: var(--ty-muted); }
.inner-page:not(.routes-page) .region-grid,
.inner-page:not(.routes-page) .inner-cards,
.inner-page:not(.routes-page) .process-grid { gap: 12px; border: 0; background: transparent; }
.inner-page:not(.routes-page) .region-card,
.inner-page:not(.routes-page) .inner-card,
.inner-page:not(.routes-page) .process-step {
  border: 1px solid var(--ty-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(18,74,91,.05);
}
.inner-page:not(.routes-page) .region-card h3,
.inner-page:not(.routes-page) .inner-card h3,
.inner-page:not(.routes-page) .process-step h3 { color: var(--ty-ink); font-family: 'Noto Sans SC','Microsoft YaHei',sans-serif; font-weight: 800; }
.inner-page:not(.routes-page) .region-card p,
.inner-page:not(.routes-page) .inner-card p,
.inner-page:not(.routes-page) .process-step p { color: var(--ty-muted); }
.inner-page:not(.routes-page) .region-cities span,
.inner-page:not(.routes-page) .card-index,
.inner-page:not(.routes-page) .process-step > span { color: var(--ty-cyan) !important; }
.inner-page:not(.routes-page) .city-breadcrumb a { color: var(--ty-cyan-dark); }
.city-route-page .city-route-groups { gap: 12px; border: 0; background: transparent; }
.city-route-page .city-route-group { border: 1px solid var(--ty-line); border-radius: 8px; background: #fff; }
.city-route-page .city-route-links { gap: 8px; border: 0; background: transparent; }
.city-route-page .city-route-links a { border: 1px solid var(--ty-line); border-radius: 6px; background: #fafdfe; }
.city-route-page .city-route-links a:hover { background: #effbfc; }

@media (max-width: 800px) {
  .theme-page .site-header,
  .inner-page:not(.routes-page) .site-header,
  .theme-page .nav-wrap,
  .inner-page:not(.routes-page) .header-inner { height: 68px !important; }
  .theme-page .nav-wrap,
  .inner-page:not(.routes-page) .header-inner { width: calc(100% - 32px) !important; }
  .theme-page .main-nav,
  .inner-page:not(.routes-page) .main-nav { top: 68px; background: #fff; }
  .theme-page .page-hero,
  .inner-page:not(.routes-page) .inner-hero { min-height: 330px; padding: 68px 0 50px; }
  .theme-page .page-hero h1,
  .inner-page:not(.routes-page) .inner-hero h1 { font-size: 44px; letter-spacing: -1px; }
  .theme-page .section,
  .inner-page:not(.routes-page) .inner-section { padding: 60px 0; }
  .theme-page .detail-list article { grid-template-columns: 35px 1fr; gap: 14px; padding: 28px 0; }
  .theme-page .detail-tag { display: none; }
  .theme-page .contact-page-grid { gap: 32px; }
}
.service-route-section{padding:62px 0 70px;border-bottom:1px solid var(--ty-line,#dce6e4);scroll-margin-top:92px}.service-route-head{display:grid;grid-template-columns:62px minmax(0,760px);gap:24px;align-items:start}.service-route-eyebrow{margin:0 0 10px;color:var(--ty-cyan,#087f8c);font-size:11px;font-weight:800;letter-spacing:1.5px}.service-route-head h2{margin:0 0 13px;color:var(--ty-ink,#17313c);font-size:clamp(32px,4vw,48px)}.service-route-head>div>p:last-child{max-width:760px;margin:0;color:var(--ty-muted,#667b82);font-size:15px;line-height:1.9}.service-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:32px 0 26px;padding-left:86px}.service-route-grid a{display:flex;min-height:128px;flex-direction:column;justify-content:flex-start;gap:7px;padding:18px;background:#fff;border:1px solid #dce6e4;color:var(--ty-ink,#17313c);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.service-route-grid a:hover{border-color:var(--ty-cyan,#087f8c);box-shadow:0 8px 20px rgba(18,56,66,.08);transform:translateY(-2px)}.service-route-grid strong{font-size:17px}.service-route-grid span{color:var(--ty-muted,#667b82);font-size:12px;line-height:1.6}.service-route-grid small{margin-top:auto;color:var(--ty-cyan,#087f8c);font-size:11px;font-weight:700}.service-route-article{margin-left:86px;padding:24px 28px;background:#f3f8f7;border-left:3px solid var(--ty-mint,#86e8c4)}.service-route-article h3,.service-route-faq h3{margin:0 0 10px;color:var(--ty-ink,#17313c);font-size:20px}.service-route-article p{max-width:900px;margin:0;color:var(--ty-muted,#667b82);font-size:14px;line-height:1.9}.service-route-faq{margin:28px 0 0 86px;max-width:900px}.service-route-faq details{border-top:1px solid #dce6e4;padding:14px 0}.service-route-faq details:last-child{border-bottom:1px solid #dce6e4}.service-route-faq summary{cursor:pointer;color:var(--ty-ink,#17313c);font-size:14px;font-weight:700}.service-route-faq p{margin:10px 0 0;color:var(--ty-muted,#667b82);font-size:13px;line-height:1.8}@media(max-width:900px){.service-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.service-route-section{padding:42px 0 48px}.service-route-head{grid-template-columns:35px minmax(0,1fr);gap:13px}.service-route-grid,.service-route-article,.service-route-faq{margin-left:48px;padding-left:0}.service-route-grid{grid-template-columns:1fr}.service-route-article{padding:18px}.service-route-head h2{font-size:32px}}
.detail-list article.service-route-section{display:block;grid-template-columns:none;gap:0;padding:62px 0 70px}
.service-route-directory-link{margin:0 0 22px 86px}.service-route-directory-link a{color:var(--ty-cyan,#087f8c);font-size:13px;font-weight:800;text-decoration:none}.service-route-directory-link a:hover{text-decoration:underline}@media(max-width:640px){.service-route-directory-link{margin-left:48px}}
.city-route-page .site-header{height:82px!important;position:relative;background:#fff!important;border-bottom:1px solid #edf1f4!important;box-shadow:0 4px 15px rgba(21,48,75,.05)!important}.city-route-page .header-inner{width:min(1540px,calc(100% - 80px));height:82px;margin:auto;display:flex;align-items:center;gap:28px}.city-route-page .brand-mark{width:40px;height:40px;background:#e2f7fa!important;color:#056c80!important}.city-route-page .brand-copy strong{color:#12384a!important;font-size:16px}.city-route-page .brand-copy small{color:#7c99a2!important}.city-route-page .main-nav{gap:22px}.city-route-page .main-nav a{color:#466674!important;font-size:13px!important;font-weight:700;line-height:34px!important}.city-route-page .main-nav a.active,.city-route-page .main-nav a:hover{color:#078ea7!important}.city-route-page .phone-link{color:#056c80!important;font:800 15px/1 'Noto Sans SC',sans-serif}.city-route-page .header-cta{border-radius:5px!important;background:#078ea7!important;color:#fff!important;padding:11px 18px!important;font-size:12px}.city-route-page .inner-hero{background:#edf8f8!important;color:#17313c!important;min-height:350px;padding:92px 0 64px}.city-route-page .inner-hero h1{color:#17313c!important;letter-spacing:0}.city-route-page .inner-hero h1 em{color:#078ea7!important}.city-route-page .inner-hero p:last-child{color:#667b82!important}.city-route-page .site-footer{background:#0d252d!important;color:#fff!important;padding:46px 0 0}.city-route-page .footer-business-columns{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:70px;width:min(1220px,calc(100% - 48px));margin:0 auto;padding:0 0 32px}.city-route-page .footer-business-columns h3{margin:0 0 15px;color:#fff;font-size:16px}.city-route-page .footer-business-columns a,.city-route-page .footer-business-columns span,.city-route-page .footer-business-columns strong{display:block;margin:8px 0;color:#9eb0b5;text-decoration:none;font-size:13px}.city-route-page .footer-business-columns a:hover{color:#86e8c4}.city-route-page .footer-business-columns strong{color:#86e8c4;font-size:24px}.city-route-page .footer-bottom{width:min(1220px,calc(100% - 48px));margin:0 auto;display:flex;justify-content:space-between;gap:20px;padding:17px 0 21px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.52);font-size:11px}.city-route-page .footer-bottom a{color:#86e8c4;text-decoration:none}@media(max-width:800px){.city-route-page .site-header,.city-route-page .header-inner{height:70px!important}.city-route-page .header-inner{width:calc(100% - 32px)}.city-route-page .main-nav{top:70px;background:#fff!important}.city-route-page .main-nav a{line-height:42px!important}.city-route-page .site-footer{padding-top:34px}.city-route-page .footer-business-columns{grid-template-columns:1fr;gap:25px;width:calc(100% - 32px)}.city-route-page .footer-bottom{display:grid;gap:8px;width:calc(100% - 32px)}}
.city-route-page .footer-intro{max-width:280px;margin:0 0 16px!important;color:#9eb0b5;font-size:12px;line-height:1.8}
.footer-business-columns{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:70px;width:min(1220px,calc(100% - 48px));margin:0 auto;padding:46px 0 32px}.footer-business-columns h3{margin:0 0 15px;color:#fff;font-size:16px}.footer-business-columns a,.footer-business-columns span,.footer-business-columns strong{display:block;margin:8px 0;color:#9eb0b5;text-decoration:none;font-size:13px}.footer-business-columns a:hover{color:#86e8c4}.footer-business-columns strong{color:#86e8c4;font-size:24px}.footer-business-columns .footer-intro{max-width:280px;margin:0 0 16px;color:#9eb0b5;font-size:12px;line-height:1.8}.site-footer .footer-bottom{width:min(1220px,calc(100% - 48px));margin:0 auto;padding:17px 0 21px;display:flex;justify-content:space-between;gap:20px}.site-footer .footer-bottom a{color:#86e8c4;text-decoration:none}@media(max-width:800px){.footer-business-columns{grid-template-columns:1fr;gap:25px;width:calc(100% - 32px);padding-top:34px}.site-footer .footer-bottom{display:grid;gap:8px;width:calc(100% - 32px)}}
.city-route-page .route-detail-shell{background:#f7fbfc!important}.city-route-page .route-detail-heading h2,.city-route-page .route-detail-heading.compact h2{color:#12384a;font-family:'Noto Serif SC',serif;font-weight:600}.city-route-page .route-detail-heading>p:last-child{color:#68818b}.city-route-page .route-detail-kicker{color:#078ea7!important}.city-route-page .route-overview-card,.city-route-page .route-detail-grid,.city-route-page .route-price-strip,.city-route-page .route-packaging-grid,.city-route-page .route-related-grid{border-color:#d7e9ed!important;background:#d7e9ed!important}.city-route-page .route-overview-flow,.city-route-page .route-overview-facts>div,.city-route-page .route-price-strip>div,.city-route-page .route-related-grid a,.city-route-page .route-packaging-grid div{background:#fff!important}.city-route-page .route-overview-flow strong,.city-route-page .route-overview-facts b,.city-route-page .route-related-grid span,.city-route-page .route-packaging-grid b{color:#12384a!important}.city-route-page .route-overview-flow span{color:#078ea7!important}.city-route-page .route-overview-facts span,.city-route-page .route-price-strip small,.city-route-page .route-packaging-grid span{color:#68818b!important}.city-route-page .route-price-strip span,.city-route-page .route-related-grid small,.city-route-page .route-packaging-grid svg{color:#078ea7!important}.city-route-page .route-price-strip strong{color:#12384a!important;font-family:'Manrope',sans-serif;font-weight:800}.city-route-page .route-price-strip>a{color:#078ea7!important;background:#eef9fb!important}.city-route-page .route-detail-block{background:#fff!important;border-color:#d7e9ed!important}.city-route-page .route-detail-block h3{color:#12384a}.city-route-page .route-detail-block p,.city-route-page .route-detail-list span{color:#68818b}.city-route-page .route-detail-block-dark{background:#12384a!important;color:#fff}.city-route-page .route-detail-block-dark h3,.city-route-page .route-detail-block-dark strong{color:#fff}.city-route-page .route-detail-block-dark p{color:#c8dce1}.city-route-page .route-story-section,.city-route-page .route-detail-table-wrap,.city-route-page .route-packaging-section,.city-route-page .route-related-section{padding-top:76px}.city-route-page .route-story-copy h3,.city-route-page .route-detail-table-wrap h2{color:#12384a}.city-route-page .route-story-copy p,.city-route-page .route-story-copy li{color:#68818b}.city-route-page .route-detail-table{border-color:#d7e9ed!important}.city-route-page .route-detail-table th{background:#e8f7f8!important;color:#056c80!important}.city-route-page .route-detail-table td{background:#fff!important;color:#68818b!important;border-color:#d7e9ed!important}.city-route-page .route-faq-list{border-color:#d7e9ed!important;background:#fff!important}.city-route-page .route-faq-list details{border-color:#d7e9ed!important}.city-route-page .route-faq-list summary{color:#12384a!important}.city-route-page .route-faq-icon-1,.city-route-page .route-faq-icon-3{color:#078ea7;background:#e8f7f8}.city-route-page .route-faq-answer{border-left-color:#86e8c4!important;background:#eef9fb!important;color:#68818b}.city-route-page .route-note-panel{background:#fff!important;border-color:#d7e9ed!important}.city-route-page .route-note-panel h3{color:#12384a}.city-route-page .route-note-panel p,.city-route-page .route-note-facts span{color:#68818b}.city-route-page .route-note-panel-dark{background:#12384a!important}.city-route-page .route-note-panel-dark h3,.city-route-page .route-note-panel-dark .route-note-facts span{color:#fff}.city-route-page .route-related-grid a:hover{background:#eef9fb!important}
.city-route-page .mobile-contact-bar{z-index:60}
@media(max-width:420px){
  .city-route-page .inner-hero{min-height:250px!important;padding:42px 0 30px!important}
  .city-route-page .inner-hero h1{font-size:30px!important;line-height:1.15!important;margin:12px 0 9px!important}
  .city-route-page .inner-hero > .container > p:last-child{font-size:12px!important;line-height:1.55!important}
  .city-route-page .inner-section{padding:34px 0!important}
  .city-route-page .inner-heading{margin-bottom:16px!important}
  .city-route-page .inner-heading h2{font-size:25px!important;line-height:1.2!important}
  .city-route-page .city-route-groups{gap:8px!important}
  .city-route-page .city-route-group{padding:12px 10px!important;border-radius:6px!important}
  .city-route-page .city-route-group-head{margin-bottom:9px!important;gap:8px!important}
  .city-route-page .city-route-group-head h3{font-size:17px!important}
  .city-route-page .city-route-group-head span{font-size:9px!important}
  .city-route-page .city-route-links{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .city-route-page .city-route-links a{min-height:54px!important;padding:8px 5px!important;gap:3px!important;border-radius:5px!important;justify-content:center}
  .city-route-page .city-route-links a span{font-size:11px!important;line-height:1.25!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .city-route-page .city-route-links a small{font-size:8px!important;line-height:1.1!important;white-space:nowrap}
}
