/* 全站颜色层级、按钮、媒体卡片与图形徽章。 */
:root {
    --text-title: #142033;
    --text-body: #3d4b5f;
    --text-muted: #59697f;
    --text-kicker-light: #0052cc;
    --text-kicker-dark: #5fe3f5;
    --text-on-dark: #ffffff;
    --text-body-dark: #d7e5f5;
    --text-muted-dark: #bdcee3;
    --c-ink: var(--text-title);
    --c-ink-2: var(--text-body);
    --c-muted: var(--text-muted);
    --text-kicker: var(--text-kicker-light);
    --button-outline: var(--c-primary);
    --grad-action: linear-gradient(115deg, color-mix(in srgb, var(--c-primary) 90%, #00315c), color-mix(in srgb, var(--c-accent) 60%, #00315c));
    --grad-network: radial-gradient(ellipse at 72% 32%, #12e3c921, transparent 62%), linear-gradient(125deg, #0b2f66, #0e3d80);
    --network-land-base: #103d70;
    --network-accent: #61d7ff;
    --network-highlight: #80f4e0;
    --button-height: 50px;
    --button-radius: 8px;
    --button-font-size: 14px;
}
body { color: var(--text-body); }
:is(h1,h2,h3,h4,h5,h6) { color: var(--text-title); }
:is(.dark-section,.inner-banner,.inner-cta,.inner-side-contact,.inner-network:not(.inner-network-single),.inner-proof,.site-footer,.hero,.philosophy) {
    --text-title: var(--text-on-dark);
    --text-body: var(--text-body-dark);
    --text-muted: var(--text-muted-dark);
    --text-kicker: var(--text-kicker-dark);
    --button-outline: #fff;
    --c-ink: var(--text-title);
    --c-ink-2: var(--text-body);
    --c-muted: var(--text-muted);
    color: var(--text-body);
}
:is(.form-panel,.inner-form-panel,.nav-sub,.float-detail,.theme-controls,.mobile-contact) {
    --text-title: #142033;
    --text-body: #3d4b5f;
    --text-muted: #59697f;
    --text-kicker: var(--text-kicker-light);
    --button-outline: var(--c-primary);
    --c-ink: var(--text-title);
    --c-ink-2: var(--text-body);
    --c-muted: var(--text-muted);
    color: var(--text-body);
}
body :is(.eyebrow,.inner-about-intro>div>span:not(.inner-ghost)) { color: var(--text-kicker); opacity: 1; }
body :is(.eyebrow)::before { background: currentColor; }
body :is(.section-head>p,.inner-heading>p,.hero-copy>p,.philosophy p,.contact-grid>div>p,.footer-intro,.footer-subtitle,.inner-culture-card p) { color: var(--text-body); }
body :is(.fineprint,.inner-muted,.network-coordinates,.hero-footnote p,.footer-copyright,.footer-hours,.inner-article-meta,.inner-news-meta,.inner-count) { color: var(--text-muted); }
body :is(.dark-section,.inner-banner,.inner-cta,.inner-side-contact,.inner-network,.inner-proof,.site-footer,.hero,.philosophy) :is(h1,h2,h3,h4,.inner-phone) { color: var(--text-title); }
body .inner-network-single { --text-title:#142033; --text-body:#3d4b5f; --text-muted:#59697f; --text-kicker:var(--text-kicker-light); }
body :is(.inner-side-contact,.inner-cta) .eyebrow { color: var(--text-kicker-dark); }
body :is(.inner-prose,.prose) a { color: var(--c-primary); }
body :is(.section,.inner-page,.site-footer) :is(h1,h2,h3,h4) { color:var(--text-title); }
body :is(.section,.inner-page,.site-footer) p { color:var(--text-body); }
body :is(.hero-footnote,.footer-bottom) p, body .network-coordinates { color:var(--text-muted); }
body :is(.footer-links,.footer-contact-list,.footer-grid a) { color:var(--text-body); }
body :is(.footer-sublinks a,.footer-hotline small,.footer-qr figcaption) { color:var(--text-muted); }
body .footer-business>li>a { color:var(--text-title); }
body .contact-section { background:var(--grad-action); }

/* 行动按钮共用两种外观；导航、标签页和图标控件保持各自语义。 */
body .btn.btn, body .lexi-siteform-submit, body .marquee-toggle, body .stage-button, body .theme-controls button {
    display: inline-flex; align-items: center; justify-content: center; gap: 18px;
    min-height: var(--button-height); padding: 12px 24px;
    border: 1px solid transparent; border-radius: var(--button-radius);
    background: var(--grad-action); color: #fff;
    font-size: var(--button-font-size); font-weight: 600; line-height: 24px;
    text-align: center; text-decoration: none;
}
body .btn.btn:hover, body .btn.btn:focus-visible, body .lexi-siteform-submit:hover { color: #fff; background: var(--grad-action); }
body .btn.btn-outline, body .marquee-toggle, body .stage-button, body .theme-controls button {
    color: var(--button-outline); border-color: var(--button-outline); background: transparent;
}
body .btn.btn-outline:hover, body .btn.btn-outline:focus-visible, body .marquee-toggle:hover, body .stage-button:hover {
    color: var(--button-outline); background: color-mix(in srgb, var(--button-outline) 8%, transparent);
}
body .btn.btn-outline::before, body .btn.btn::after { content: none; }

/* 页头与内容区使用独立版心。 */
.site-header .header-inner { width: 100%; max-width: 1720px; padding-inline: 40px; gap: 35px; }
.site-header .header-contact>.btn { display:none; }
@media (min-width: 1401px) {
    .site-header .nav-list { gap: 55px; }
    .site-header .brand { max-width: 240px; }
}
@media (min-width:1200px) and (max-width:1400px) {
    .site-header .header-inner { gap: 22px; }
    .site-header .nav-list { gap: 40px; }
    .site-header .nav-line>a { font-size: 15px; }
    .site-header .brand { max-width: 180px; }
}
.nav-sub .group-title>a { padding: 16px 18px; min-height: 56px; }
.nav-sub .nav-grand { padding-left: 18px; }
.mega-menu .nav-children { gap: 12px 18px; }
.mega-menu .nav-grand { margin-left: 18px; padding-left: 14px; }
.dropdown-menu { min-width: 280px; padding: 16px; }
.nav-caret { display:block; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
[aria-expanded=true]>.nav-caret { transform:rotate(225deg); }
@media (max-width:1199px) {
    .site-header .header-inner { padding-inline: 24px; gap: 20px; }
    .nav-sub .group-title>a { padding: 14px 16px; }
    .nav-group>.nav-grand { margin-left: 16px; padding-left: 16px; }
}

/* 4:3 媒体保留固定空间，图片缺失时显示品牌渐变。 */
.media-placeholder { position: relative; overflow: hidden; background: var(--grad-brand); }
.media-placeholder img { width: 100%; height: 100%; object-fit: cover; color: transparent; }
.category-image { width: 100%; aspect-ratio: 3 / 2; }
.quick-services>.container { padding: 38px 32px 24px; }
.quick-services .quick-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 24px; }
body .service-card.service-card-icon, body .quick-grid .service-card.service-card-icon { position:relative; display:flex; flex-direction:column; min-width:0; height:100%; padding:28px 24px 46px; border:1px solid var(--c-line); border-radius:var(--radius-md); background:#fff; overflow:visible; transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s var(--ease-out); }
.service-card-icon::after { content:none; }
.service-card-icon .card-body { width:100%; padding:0; }
body .service-card-icon h3 { font-size:18px; line-height:1.6; height:3.2em; margin:0 0 12px; color:var(--text-title); }
.service-title-main { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.has-title-note .service-title-main { display:block; white-space:nowrap; text-overflow:ellipsis; }
.service-title-note { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; line-height:1.8; font-weight:400; letter-spacing:0; color:var(--text-muted); }
body .service-card-icon .card-body>p { display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; min-height:1.8em; margin:0; font-size:14px; line-height:1.8; color:var(--text-muted); }
.service-card-icon h3 a::after { content:''; position:absolute; inset:0; }
.service-card-icon .inner-card-mark { position:absolute; top:auto; bottom:20px; right:24px; font-size:20px; color:var(--c-primary); }
.quick-services .quick-grid { grid-auto-rows:1fr; }
.quick-grid .service-card.service-card-icon::after { content:none; }
.is-editing .service-card-icon [data-edit] { position:relative; z-index:2; }
.business-category-card, .inner-category-card { padding:0 0 24px; overflow:hidden; }
.business-category-card h3, .inner-category-card h3 { margin:22px 24px 10px; padding-right:20px; font-size:18px; color:var(--text-title); }
.business-category-card>p, .inner-category-card .inner-count { margin:0 24px; color:var(--text-muted); }
.inner-category-card .inner-card-mark { top:auto; right:24px; bottom:25px; }
.inner-category-card h3 a::after { content:''; position:absolute; inset:0; }
body .inner-category-card h3, body .inner-service-card h3 { color:var(--text-title); }
.inner-service-card { position:relative; min-width:0; min-height:200px; padding:28px 24px; background:#fff; border:1px solid var(--c-line); border-radius:var(--radius-md); transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s var(--ease-out); }
.inner-service-card h3 { font-size:18px; line-height:1.6; margin:0 0 12px; padding-right:12px; color:var(--text-title); }
body .inner-service-card>p { display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; min-height:1.8em; margin:0; padding-right:24px; font-size:14px; line-height:1.8; color:var(--text-muted); }
.inner-service-card .inner-card-mark { position:absolute; top:auto; bottom:28px; right:20px; font-size:20px; color:var(--c-primary); }
.inner-service-card h3 a::after { content:''; position:absolute; inset:0; }
.is-editing .inner-service-card [data-edit] { position:relative; z-index:2; }
body :is(.inner-service-card,.service-card.service-card-icon):is(:hover,:focus-within) { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:var(--c-primary); }
.inner-banner-illustrated .inner-banner-content { position:relative; padding-right:400px; }
.inner-banner-illustration { position:absolute; width:320px; right:20px; top:50%; transform:translateY(-50%); border-radius:var(--radius-md); }
@media (max-width:1000px) {
    .quick-services .quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
    .inner-banner-illustrated .inner-banner-content { padding-right:300px; }
    .inner-banner-illustration { width:240px; }
}
@media (max-width:700px) {
    .quick-services>.container { padding:28px 20px 20px; }
    .quick-services .quick-grid { gap:16px 12px; }
    body .quick-grid .service-card.service-card-icon { padding:24px 16px 44px; }
    body .quick-grid .service-card-icon h3 { font-size:16px; }
    body .quick-grid .service-card-icon .card-body>p { font-size:12px; }
    .business-category-card h3,.inner-category-card h3 { margin:18px 16px 10px; font-size:16px; }
    .business-category-card>p,.inner-category-card .inner-count { margin-inline:16px; }
    .business-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .inner-service-card { padding:24px 18px; }
    .inner-service-card h3 { font-size:16px; }
    .inner-banner-illustrated .inner-banner-content { padding-right:20px; }
    .inner-banner-illustration { display:none; }
}
@media (max-width:380px) {
    .quick-services .quick-grid,.business-grid { grid-template-columns:1fr; }
}

/* 全国网络由外层提供统一背景，地图组件不再叠加内框。 */
body .network-section, body .inner-network:not(.inner-network-single) { background:var(--grad-network); }
:is(.network-section,.inner-network:not(.inner-network-single)) .network-map { background:transparent; border:0; box-shadow:none; border-radius:0; }
.network-map { --network-surface:#0b2f66; --network-accent:#61d7ff; --network-highlight:#80f4e0; }
.network-map--light { --network-surface:var(--c-bg-soft); --network-accent:var(--c-primary); }
.network-map .network-map__legend { opacity:1; color:var(--text-body); }
.network-map .network-map__fallback p span { opacity:1; color:var(--text-muted); }
.network-map .network-map__fallback img { opacity:1; }

/* 正文标题不继承版块标题字号。 */
body :is(.inner-prose,.inner-page .prose,.prose) h2 { font-size:24px; line-height:1.5; margin:32px 0 14px; color:var(--text-title); }
body :is(.inner-prose,.inner-page .prose,.prose) h3 { font-size:20px; line-height:1.5; margin:26px 0 12px; color:var(--text-title); }
body :is(.inner-prose,.inner-page .prose,.prose) h4 { font-size:18px; line-height:1.5; margin:24px 0 10px; }
body :is(.inner-prose,.inner-page .prose,.prose) { font-size:16px; color:var(--text-body); }

/* 圆形徽章：大 56、中 44、小 32；图形只使用本地 SVG 蒙版。 */
body :is(.benefits .benefit-icon,.inner-icon,.icon-badge,.float-action>.fa-solid,.footer-contact-list .fa-solid) {
    --badge-size:44px;
    position:relative; display:inline-flex; align-items:center; justify-content:center;
    width:var(--badge-size); height:var(--badge-size); flex:none; border:0; border-radius:50%;
    background:var(--grad-brand); color:#fff; -webkit-mask:none; mask:none;
}
body :is(.benefits .benefit-icon,.inner-icon,.icon-badge,.float-action>.fa-solid,.footer-contact-list .fa-solid)::before {
    content:''; display:block; width:56%; height:56%; background:#fff;
    -webkit-mask:var(--badge-icon,var(--inner-icon,var(--benefit-icon))) center/contain no-repeat;
    mask:var(--badge-icon,var(--inner-icon,var(--benefit-icon))) center/contain no-repeat;
}
body :is(.benefits .benefit-icon,.inner-capabilities .inner-icon) { --badge-size:56px; }
body :is(.inner-contact-info .inner-icon,.inner-inline-steps .inner-icon) { --badge-size:44px; }
body :is(.icon-badge-sm,.float-action>.fa-solid,.footer-contact-list .fa-solid) { --badge-size:32px; }
body .phone-ring { width:44px; height:44px; }
body .phone-ring-offset { width:32px; height:32px; }
body .phone-ring>i.phone-glyph { width:56%; height:56%; }
.footer-contact-list li { align-items:center; }
.fa-comments { --badge-icon:var(--icon-consult); }
.fa-qrcode { --badge-icon:var(--icon-wechat); }
.fa-headset { --badge-icon:var(--icon-time); }
.fa-arrow-up { --badge-icon:var(--icon-back-top); }
.fa-phone { --badge-icon:var(--icon-phone); }
.fa-location-dot { --badge-icon:var(--icon-location); }
.fa-clock { --badge-icon:var(--icon-time); }
body .icon-badge.service-badge { --badge-size:56px; --badge-icon:var(--icon-service-generic); margin-bottom:22px; transition:transform .3s var(--ease-out); }
body .service-badge.service-badge-lg { --badge-size:64px; }
body :is(.inner-service-card,.service-card-icon):is(:hover,:focus-within) .service-badge { transform:scale(1.06); }
.inner-service-heading { display:flex; align-items:center; gap:20px; margin:20px 0 12px; }
.inner-service-heading h1 { min-width:0; margin:0; }
body .inner-service-heading .service-badge { margin:0; }
@media (max-width:700px) {
    .inner-service-heading { align-items:flex-start; gap:16px; }
}
@media (prefers-reduced-motion:reduce) {
    .media-placeholder img,body .icon-badge.service-badge,body .inner-service-card,body .service-card.service-card-icon,body .quick-grid .service-card.service-card-icon { transition:none; }
    body :is(.inner-service-card,.service-card.service-card-icon):is(:hover,:focus-within),body :is(.inner-service-card,.service-card-icon):is(:hover,:focus-within) .service-badge { transform:none; }
}

/* 首屏说明文字颜色由用户指定，优先于深色区域的统一正文色。 */
body .hero .hero-copy>p { color: #bacadd; }

/* 按钮悬停光泽：时长加长并使用缓入缓出，移入移出都平滑过渡。 */
body .btn.btn::before, body .lexi-siteform-submit::before { background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.22) 50%, transparent 65%); transition: transform 1.6s cubic-bezier(.45,0,.25,1); }
body .btn.btn:hover::before, body .lexi-siteform-submit:hover::before { transition: transform 1.6s cubic-bezier(.45,0,.25,1); }
body .btn.btn, body .lexi-siteform-submit { transition: transform .45s ease, box-shadow .45s ease, background-color .45s ease, color .3s ease; }
@media (prefers-reduced-motion: reduce) { body .btn.btn::before, body .lexi-siteform-submit::before { transition: none; } }

/* 带括号说明的服务标题：主标题允许两行，卡片按同排等高排列。 */
body .service-card-icon h3 { height:auto; min-height:3.2em; }
.has-title-note .service-title-main { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; white-space:normal; overflow:hidden; }

/* 首页热门服务：有首图时为照片卡，图片 2:1；标题与括号说明、摘要的层级与间距。 */
body .service-card.service-card-photo { position:relative; display:flex; flex-direction:column; min-width:0; height:100%; padding:0 0 52px; overflow:hidden; border:1px solid var(--c-line); border-radius:var(--radius-md); background:#fff; transition:transform .45s ease, box-shadow .45s ease, border-color .45s ease; }
body .service-card.service-card-photo:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:color-mix(in srgb, var(--c-primary) 35%, var(--c-line)); }
.service-card-photo .card-image { display:block; overflow:hidden; background:var(--c-bg-soft); }
.quick-grid .service-card-photo .card-image { width:100%; height:auto; aspect-ratio:2 / 1; margin:0; border-radius:0; }
.service-card-photo .card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.service-card-photo:hover .card-image img { transform:scale(1.04); }
.service-card-photo .card-body { width:100%; padding:22px 24px 0; }
.service-card-photo h3 a::after { content:''; position:absolute; inset:0; }
.service-card-photo .inner-card-mark { position:absolute; bottom:20px; right:24px; font-size:20px; color:var(--c-primary); }
.is-editing .service-card-photo [data-edit] { position:relative; z-index:2; }
@media (prefers-reduced-motion: reduce) { .service-card-photo .card-image img, body .service-card.service-card-photo { transition:none; } }

/* 卡片标题区：主标题 18px；括号说明 14px 品牌色，紧贴主标题；摘要与标题区保持统一间距。 */
body :is(.service-card-icon, .service-card-photo) h3 { height:auto; min-height:0; margin:0; font-size:18px; line-height:1.55; color:var(--text-title); }
body :is(.service-card-icon, .service-card-photo) .service-title-main { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; white-space:normal; overflow:hidden; }
body :is(.service-card-icon, .service-card-photo) .service-title-note { display:block; margin-top:6px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:14px; line-height:1.6; font-weight:500; letter-spacing:0; color:color-mix(in srgb, var(--c-primary) 78%, #5b6b80); }
body :is(.service-card-icon, .service-card-photo) .card-body>p { margin:12px 0 0; min-height:0; font-size:14px; line-height:1.8; color:var(--text-muted); white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }

/* 首页业务中心：直接列服务的标签页为每行 4 个的图片卡（与分类插图卡同一样式）。 */
.business-grid.business-grid-services { grid-template-columns:repeat(4,minmax(0,1fr)); }
.business-service-card h3 a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.business-service-card .business-service-summary { display:block; margin:0 24px; padding-right:24px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:14px; line-height:1.8; color:var(--text-muted); }
@media (max-width:1100px) { .business-grid.business-grid-services { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .business-grid.business-grid-services { grid-template-columns:1fr; } }

/* 首页热门卡片：主标题单行，标题区固定为「主标题＋说明」两行高度，没有说明时也占位，摘要在同排卡片中顶部对齐。 */
.quick-grid :is(.service-card-photo, .service-card-icon) .service-title-main { display:block; -webkit-line-clamp:unset; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body .quick-grid :is(.service-card-photo, .service-card-icon) h3 { min-height:calc(1.55em + 6px + 22.4px); }

/* 首页业务中心：不足一行（少于 4 张）时卡片铺满版心，图片改用更扁的比例，使图片高度与 4 列卡片一致。 */
.business-grid.business-grid-services.business-grid-few-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.business-grid.business-grid-services.business-grid-few-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.business-grid.business-grid-services.business-grid-few-1 { display:grid; grid-template-columns:minmax(0,1fr); }
@media (max-width:1100px) { .business-grid.business-grid-services.business-grid-few-3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .business-grid.business-grid-services:is(.business-grid-few-3,.business-grid-few-2,.business-grid-few-1) { grid-template-columns:1fr; } }

/* 卡片悬停提示「了解详情 →」：取代常驻箭头，平时隐藏，悬停或键盘聚焦时淡入。 */
.card-more { position:absolute; right:24px; bottom:18px; z-index:1; display:inline-flex; align-items:center; gap:6px; padding-left:36px; font-size:14px; font-weight:600; line-height:1.6; color:var(--c-primary); background:linear-gradient(90deg, rgba(255,255,255,0), #fff 30px); opacity:0; transform:translateX(-8px); pointer-events:none; transition:opacity .45s ease, transform .45s ease; }
.card-more i { font-style:normal; transition:transform .45s ease; }
:is(.service-card,.business-card,.inner-service-card,.inner-category-card):is(:hover,:focus-within) .card-more { opacity:1; transform:none; }
:is(.service-card,.business-card,.inner-service-card,.inner-category-card):hover .card-more i { transform:translateX(3px); }
.inner-service-card .card-more { right:20px; bottom:24px; }
.inner-category-card .card-more { right:24px; bottom:22px; }
.business-card .card-more { right:22px; bottom:22px; }
body .service-card.service-card-photo { padding-bottom:44px; }
body .service-card.service-card-icon, body .quick-grid .service-card.service-card-icon { padding-bottom:42px; }
.lexi-editable .card-more { opacity:1; transform:none; pointer-events:auto; z-index:3; }
@media (hover:none) { .card-more { display:none; } }
@media (prefers-reduced-motion: reduce) { .card-more, .card-more i { transition:none; } }

/* 首页热门卡片不显示「了解详情」，底部内边距与文字区上边距对称。 */
body .quick-grid .service-card.service-card-photo { padding-bottom:26px; }
body .quick-grid .service-card.service-card-icon { padding-bottom:28px; }

/* 首页最新资讯：左侧头条文字压在图片上，底部深海蓝渐变蒙版，图片铺满整栏高度。 */
.news-editorial .news-card:first-child { position:relative; height:100%; min-height:440px; overflow:hidden; border-radius:var(--radius-md); }
.news-editorial .news-card:first-child .card-image { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; border-radius:0; overflow:hidden; }
.news-editorial .news-card:first-child .card-image img { width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.news-editorial .news-card:first-child:hover .card-image img { transform:scale(1.04); }
.news-editorial .news-card:first-child .card-image::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(7,26,51,.92) 0%, rgba(7,26,51,.72) 28%, rgba(7,26,51,.25) 58%, rgba(7,26,51,0) 78%); pointer-events:none; }
.news-editorial .news-card:first-child .card-body { position:absolute; left:0; right:0; bottom:0; z-index:1; padding:0 36px 34px; }
.news-editorial .news-card:first-child time { color:rgba(255,255,255,.72); }
.news-editorial .news-card:first-child h3, .news-editorial .news-card:first-child h3 a { color:#fff; }
.news-editorial .news-card:first-child h3 { font-size:26px; line-height:1.45; margin-bottom:12px; }
.news-editorial .news-card:first-child h3 a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.news-editorial .news-card:first-child p { font-size:14px; line-height:1.8; color:rgba(255,255,255,.82); }
@media (max-width:900px) { .news-editorial .news-card:first-child { min-height:340px; } .news-editorial .news-card:first-child .card-body { padding:0 24px 24px; } .news-editorial .news-card:first-child h3 { font-size:20px; } }
@media (prefers-reduced-motion: reduce) { .news-editorial .news-card:first-child .card-image img { transition:none; } }

/* 首页咨询区：左栏图片向下延伸，底边与右侧表单卡片底边对齐。 */
@media (min-width:901px) {
    .contact-section .contact-grid, .contact-grid { align-items:stretch; }
    .contact-grid>div:first-child { display:flex; flex-direction:column; }
    .contact-grid>div:first-child>.contact-image { flex:1 1 auto; height:auto; min-height:260px; width:100%; object-fit:cover; }
}

/* 页脚：业务按栏目分列（有下级的各占一列，无下级的合并一列），二维码移到联系方式下方。 */
body .site-footer .footer-grid, body .site-footer .footer-grid.footer-with-qr, body .site-footer .footer-grid.footer-without-qr { display:flex; flex-wrap:nowrap; align-items:flex-start; gap:40px; }
.site-footer .footer-brand-column { flex:1.7 1 0; min-width:0; }
.site-footer .footer-business-column, .site-footer .footer-quick-column { flex:1 1 0; min-width:0; }
.site-footer .footer-contact-column { flex:1.75 1 0; min-width:0; }
.site-footer .footer-business-column h3 a { color:var(--text-title); }
.site-footer .footer-business-column h3 a:hover { color:var(--c-highlight); text-decoration:none; }
.site-footer .footer-business-column .footer-links li + li { margin-top:12px; }
.site-footer .footer-more a { color:var(--c-highlight); }
.site-footer .footer-contact-column .footer-qr { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:16px; margin:24px auto 0; grid-column:auto; width:200px; }
.site-footer .footer-contact-column .footer-qr-paper { flex:none; width:104px; padding:8px; background:#fff; border-radius:var(--radius-sm); }
.site-footer .footer-contact-column .footer-qr img { display:block; width:100%; max-width:none; height:auto; padding:0; }
.site-footer .footer-contact-column .footer-qr figcaption { margin:0; font-size:13px; line-height:1.7; text-align:center; }
@media (max-width:1199px) {
    body .site-footer .footer-grid, body .site-footer .footer-grid.footer-with-qr, body .site-footer .footer-grid.footer-without-qr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
    .site-footer .footer-brand-column, .site-footer .footer-contact-column { grid-column:span 3; }
}
@media (max-width:700px) {
    body .site-footer .footer-grid, body .site-footer .footer-grid.footer-with-qr, body .site-footer .footer-grid.footer-without-qr { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .site-footer .footer-brand-column, .site-footer .footer-contact-column { grid-column:span 2; }
}


/* 页脚窄屏：清除旧样式按位置固定的网格坐标，各列按顺序自然排布。 */
@media (max-width:1199px) {
    body .site-footer .footer-grid>* { grid-row:auto; grid-column:auto; }
    body .site-footer .footer-grid>.footer-brand-column, body .site-footer .footer-grid>.footer-contact-column { grid-column:1 / -1; }
}

/* 页脚顶部：左侧 logo 与一句简介，右侧电话与咨询按钮。 */
.site-footer .footer-heading-brand .footer-brand { margin-bottom:14px; }
.site-footer .footer-heading-brand .footer-brand img { height:52px; max-width:260px; }
.site-footer .footer-heading-brand p { margin:0; max-width:560px; font-size:15px; line-height:1.8; color:var(--text-body); }
@media (max-width:700px) { .site-footer .footer-heading-brand .footer-brand img { height:44px; } .site-footer .footer-heading-brand p { font-size:14px; } }

/* 首页业务中心：1～2 张时改为横向卡片（左图右文），图片保持 3:2 不裁切，文字区显示栏目简介。 */
.business-category-desc { display:none; }
@media (min-width:701px) {
    .business-grid-few-2 .business-category-card, .business-grid-few-1 .business-category-card { display:grid; grid-template-columns:minmax(0,46%) minmax(0,1fr); grid-template-rows:auto auto 1fr; column-gap:32px; align-content:start; padding:0; }
    .business-grid-few-2 .business-category-card .category-image, .business-grid-few-1 .business-category-card .category-image { grid-column:1; grid-row:1 / span 3; aspect-ratio:3 / 2; height:auto; }
    .business-grid-few-2 .business-category-card h3, .business-grid-few-1 .business-category-card h3 { grid-column:2; margin:34px 28px 12px 0; font-size:22px; }
    .business-grid-few-2 .business-category-desc, .business-grid-few-1 .business-category-desc { display:-webkit-box; grid-column:2; margin:0 28px 16px 0; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:15px; line-height:1.8; color:var(--text-muted); }
    .business-grid-few-2 .business-category-card>p:not(.business-category-desc), .business-grid-few-1 .business-category-card>p:not(.business-category-desc) { grid-column:2; align-self:start; margin:0 28px 0 0; }
}

/* 导航下拉：普通下拉在导航项正下方居中、宽度随内容；大菜单右缘与页头内容右缘（电话区）对齐，间距收紧，左侧介绍加宽。 */
@media (min-width:1200px) {
    body .site-header .nav-item>.dropdown-menu { left:50%; right:auto; translate:-50% 0; width:max-content; min-width:168px; padding:10px; }
    body .site-header .dropdown-menu .nav-children { gap:2px; }
    body .site-header .dropdown-menu .group-title>a { justify-content:center; text-align:center; padding:12px 24px; min-height:0; }
    body .site-header .nav-item>.mega-menu, body .site-header .nav-item>.mega-menu:has(.long-group) { left:auto; right:40px; translate:none; width:max-content; max-width:calc(100vw - 80px); grid-template-columns:320px auto; gap:0 40px; padding:30px 36px; }
    body .site-header .mega-menu .mega-intro { padding:6px 32px 6px 0; }
    body .site-header .mega-menu .nav-children { grid-template-columns:repeat(var(--menu-columns),minmax(112px,max-content)); gap:2px 36px; }
    body .site-header .mega-menu .group-title>a { padding:10px 12px; min-height:0; }
}

/* 首页热门服务小标题：用户指定样式。 */
.quick-services .eyebrow { font-size:11px; margin-bottom:9px; margin-top:12px; }

/* 全国网络版块：英文装饰字单独下移 20px（用户指定）。 */
body .network-copy .section-word { translate:0 20px; }

/* 大菜单分类项：保持左对齐，悬停高亮为紧贴文字的胶囊，左右内边距相等；负边距让文字与列起点对齐。 */
@media (min-width:1200px) {
    body .site-header .mega-menu .group-title { display:block; }
    body .site-header .mega-menu .group-title>a { display:inline-flex; flex:none; width:auto; margin-left:-14px; padding:9px 14px; border-radius:999px; transition:background-color .3s ease, color .3s ease; }
}

/* 业务中心横向卡（1～2 张）：图片随卡片高度拉伸铺满，服务数统一贴底；1200px 以下改为一行一张。 */
@media (min-width:701px) {
    .business-grid-few-2 .business-category-card .category-image, .business-grid-few-1 .business-category-card .category-image { align-self:stretch; height:100%; min-height:100%; }
    .business-grid-few-2 .business-category-card .category-image img, .business-grid-few-1 .business-category-card .category-image img { height:100%; object-fit:cover; }
    .business-grid-few-2 .business-category-card>p:not(.business-category-desc), .business-grid-few-1 .business-category-card>p:not(.business-category-desc) { align-self:end; margin-bottom:28px; }
}
@media (min-width:701px) and (max-width:1199px) {
    .business-grid.business-grid-services.business-grid-few-2 { grid-template-columns:minmax(0,1fr); }
    .business-grid-few-2 .business-category-card, .business-grid-few-1 .business-category-card { grid-template-columns:minmax(0,40%) minmax(0,1fr); }
}

/* 页脚 1200px 以下：顶部品牌与电话按钮同行；业务栏四列一行，了解与联系各占半行；列表行距收紧。手机两列。 */
@media (max-width:1199px) {
    body .site-footer .footer-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px 40px; }
    body .site-footer .footer-heading-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; }
    body .site-footer .footer-grid, body .site-footer .footer-grid.footer-with-qr, body .site-footer .footer-grid.footer-without-qr { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 28px; }
    body .site-footer .footer-grid>* { grid-column:auto; grid-row:auto; }
    body .site-footer .footer-grid>.footer-quick-column, body .site-footer .footer-grid>.footer-contact-column { grid-column:span 2; }
    body .site-footer .footer-links { gap:10px; }
    body .site-footer .footer-links li + li, body .site-footer .footer-business-column .footer-links li + li { margin-top:0; }
    body .site-footer .footer-quick-column .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; }
    body .site-footer .footer-contact-column .footer-qr { margin-left:0; }
}
@media (max-width:700px) {
    body .site-footer .footer-heading { align-items:flex-start; flex-direction:column; }
    body .site-footer .footer-grid, body .site-footer .footer-grid.footer-with-qr, body .site-footer .footer-grid.footer-without-qr { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
    body .site-footer .footer-grid>.footer-quick-column, body .site-footer .footer-grid>.footer-contact-column { grid-column:1 / -1; }
    body .site-footer .footer-contact-column .footer-qr { margin-left:auto; }
}

/* 窄屏：菜单按钮去掉外框，只保留渐变圆形；理念条大字在平板与手机上缩小。 */
@media (max-width:1199px) {
    body .site-header .menu-toggle { border:0; padding:0; background:transparent; box-shadow:none; border-radius:50%; }
    body .philosophy h2 { font-size:30px; line-height:1.7; }
}
@media (max-width:700px) {
    body .philosophy h2 { font-size:22px; line-height:1.7; letter-spacing:.02em; }
}

/* 手机端资讯分类切换：用户指定样式。 */
@media (max-width:700px) {
    body .news-section .filter-links { justify-content:flex-start; margin:0 0 26px; gap:0; }
}

/* 手机端页脚顶部：logo、简介、电话与按钮整体缩小，电话与按钮同行。 */
@media (max-width:700px) {
    body .site-footer .footer-heading { gap:18px; }
    body .site-footer .footer-heading-brand .footer-brand { margin-bottom:10px; }
    body .site-footer .footer-heading-brand .footer-brand img { height:36px; }
    body .site-footer .footer-heading-brand p { font-size:13px; line-height:1.7; }
    body .site-footer .footer-heading-actions { width:100%; flex-wrap:nowrap; justify-content:space-between; gap:12px; }
    body .site-footer .footer-hotline { gap:10px; min-width:0; }
    body .site-footer .footer-hotline .phone-ring { width:38px; height:38px; flex:none; }
    body .site-footer .footer-hotline small { font-size:11px; line-height:1.4; }
    body .site-footer .footer-hotline strong { font-size:19px; line-height:1.3; }
    body .site-footer .footer-heading-actions .btn { min-height:38px; padding:8px 16px; gap:8px; font-size:14px; flex:none; }
}

/* 窄屏有底部快捷栏时，隐藏页脚顶部的电话与咨询按钮，避免重复。 */
@media (max-width:1199px) { body .site-footer .footer-heading-actions.footer-actions-wide { display:none; } }

/* 大菜单分类网格：各列等宽并铺满右侧区域，列间距一致。 */
@media (min-width:1200px) {
    body .site-header .mega-menu .nav-children { grid-template-columns:repeat(var(--menu-columns),minmax(0,1fr)); column-gap:24px; }
}

/* 内页咨询弹窗。 */
.consult-modal { width:min(640px, calc(100% - 24px)); max-height:min(90vh, 860px); padding:0; border:0; border-radius:var(--radius-lg); background:#fff; color:var(--c-ink); box-shadow:var(--shadow-lg); overflow:auto; }
.consult-modal::backdrop { background:rgba(7,26,51,.62); backdrop-filter:blur(3px); }
.consult-modal[open] { animation:consultModalIn .35s var(--ease-out); }
@keyframes consultModalIn { from { opacity:0; transform:translateY(16px) scale(.98); } to { opacity:1; transform:none; } }
.consult-modal-body { padding:44px 44px 36px; }
.consult-modal-body .inner-form-panel { padding:0; border:0; box-shadow:none; background:transparent; }
.consult-modal-close { position:absolute; top:14px; right:16px; z-index:2; width:40px; height:40px; border:0; border-radius:50%; background:var(--c-bg-soft); color:var(--c-ink-2); font-size:26px; line-height:40px; cursor:pointer; transition:background-color .3s ease, color .3s ease; }
.consult-modal-close:hover { background:var(--c-primary); color:#fff; }
html.has-consult-modal { overflow:hidden; }
@media (max-width:700px) { .consult-modal-body { padding:52px 20px 24px; } }
@media (prefers-reduced-motion: reduce) { .consult-modal[open] { animation:none; } }

/* 关于页：核心能力卡图标固定在右上角；核心赛道深色卡文字用浅色；文化卡引言文字（用户指定）。 */
body .inner-capabilities article { position:relative; }
body .inner-capabilities .inner-icon { position:absolute; top:36px; right:28px; margin:0; }
body .inner-tracks article { --text-title:var(--text-on-dark); --text-body:var(--text-body-dark); --text-muted:var(--text-muted-dark); }
body .inner-tracks article h3 { color:#fff; }
body .inner-tracks article p { color:rgba(255,255,255,.78); }
body .inner-culture-card p { font-size:clamp(20px, 2vw, 20px); line-height:1.7; color:var(--c-ink); letter-spacing:0; }
@media (max-width:700px) { body .inner-capabilities .inner-icon { top:24px; right:18px; } }

/* 二级栏目页「服务如何开展」：深色背景 #071a33（用户指定），文字与线条改为浅色。 */
body .inner-steps-section { background:#071a33; --text-title:var(--text-on-dark); --text-body:var(--text-body-dark); --text-muted:var(--text-muted-dark); }
body .inner-steps-section .inner-heading h2, body .inner-steps-section .inner-steps h3 { color:#fff; }
body .inner-steps-section .inner-heading>p, body .inner-steps-section .inner-steps p { color:rgba(255,255,255,.72); }
body .inner-steps-section .inner-ghost { color:rgba(255,255,255,.05); }
body .inner-steps-section .inner-steps article { border-color:rgba(255,255,255,.14); }
body .inner-steps-section .inner-step-number { color:var(--c-highlight); }

/* 栏目页（含二级栏目页）的「最新资讯」：背景白色（用户指定）。 */
body .inner-news-section { background:#fff; }

/* 资讯详情侧栏目录：每项单行显示，超出部分省略号，悬停显示完整标题。 */
body .inner-article-toc a { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* 资讯详情「延伸阅读」：一行 3 张紧凑卡片，图片 16:9，标题两行、摘要两行。 */
body .inner-related h2 { font-size:22px; margin-bottom:20px; }
body .inner-related .inner-grid-3 { gap:20px; }
body .inner-related .inner-news-image { aspect-ratio:16 / 9; height:auto; }
body .inner-related .inner-news-image img { width:100%; height:100%; object-fit:cover; }
body .inner-related .inner-news-copy { padding:16px 18px 18px; }
body .inner-related .inner-news-copy h3 { font-size:16px; line-height:1.5; margin:8px 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body .inner-related .inner-news-copy p { font-size:13px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:900px) { body .inner-related .inner-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { body .inner-related .inner-grid-3 { grid-template-columns:1fr; } }

/* 联系页联系卡：图标与标题同行并留间距；关于页地图旁的中心城市标签只在编辑时显示。 */
body .inner-contact-info dt { display:flex; align-items:center; gap:14px; }
body .inner-network-origin.matre-edit-only { display:none; }
.lexi-editable body .inner-network-origin.matre-edit-only, body.is-editing .inner-network-origin.matre-edit-only { display:flex; }

/* 服务详情「您还可以了解」：深色背景 #071a33，卡片为半透明玻璃质感，悬停描边品牌青色。 */
body .inner-same-services { background:#071a33; --text-title:var(--text-on-dark); --text-body:var(--text-body-dark); --text-muted:var(--text-muted-dark); }
body .inner-same-services .inner-heading h2 { color:#fff; }
body .inner-same-services .inner-ghost { color:rgba(255,255,255,.05); }
body .inner-same-services .inner-service-card { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.1); box-shadow:none; }
body .inner-same-services .inner-service-card::after { display:none; }
body .inner-same-services .inner-service-card h3, body .inner-same-services .inner-service-card h3 a { color:#fff; }
body .inner-same-services .inner-service-card p { color:rgba(255,255,255,.65); }
body .inner-same-services .inner-service-card:hover { background:rgba(255,255,255,.07); border-color:var(--c-highlight); box-shadow:0 18px 40px rgba(0,0,0,.25); }
body .inner-same-services .card-more { background:linear-gradient(90deg, rgba(7,26,51,0), #0f2440 30px); color:var(--c-highlight); }

/* 服务详情「您还可以了解」不显示「了解详情」提示（用户指定）。 */
body .inner-same-services .card-more { display:none; }

/* 手机端首屏标题在逗号后换行；电脑端保持一行，可视化编辑时不拆行。 */
@media (max-width:700px) {
    body .hero h1 .hero-title-part { display:block; }
    body.is-editing .hero h1 .hero-title-part { display:inline; }
}

/* 服务详情页单列布局时不显示侧栏（常用服务与电话卡），页面底部保留同类服务。 */
@media (max-width:1000px) { body .inner-service-layout:not(.inner-service-compact) > .inner-sidebar { display:none; } }
@media (max-width:800px) { body .inner-service-layout > .inner-sidebar { display:none; } }

/* 手机端首页「企业常用服务」一行一张横向卡片：左图右文，标题完整显示，不显示简介。 */
@media (max-width:700px) {
    body .quick-services .quick-grid { grid-template-columns:1fr; grid-auto-rows:auto; gap:12px; }
    body .quick-services .quick-grid .service-card.service-card-photo { flex-direction:row; align-items:stretch; height:auto; padding:0; border:1px solid var(--c-line); border-radius:var(--radius-sm, 10px); }
    body .quick-services .quick-grid .service-card-photo .card-image { flex:0 0 36%; width:36%; aspect-ratio:auto; min-height:92px; }
    body .quick-services .quick-grid .service-card-photo .card-body { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:12px 14px; }
    body .quick-services .quick-grid .service-card-photo h3 { min-height:0; font-size:15px; line-height:1.5; }
    body .quick-services .quick-grid .service-card-photo .service-title-main { white-space:normal; overflow:visible; text-overflow:clip; }
    body .quick-services .quick-grid .service-card-photo .service-title-note { margin-top:2px; font-size:12px; white-space:normal; }
    body .quick-services .quick-grid .service-card-photo .card-body>p { display:none; }
    body .quick-services .quick-grid .service-card-photo:hover { transform:none; }
}

/* 联系页联系方式在 800px 以下单列（用户指定）。 */
@media (max-width: 800px) {
    body .inner-contact-info { grid-template-columns: auto; }
}

/* 手机端字号统一（≤700px）。层级：首屏标题 26，内页标题 24，区块标题 20，区块内小标题 17，卡片标题 15；
   阅读正文 15，介绍段落 14，区块说明 13，辅助信息 12；英文水印统一 40，装饰数字按所在层级收小。 */
@media (max-width:700px) {
    body .hero h1 { font-size:26px; line-height:1.4; }
    body .inner-banner h1 { font-size:24px; line-height:1.4; }
    body .inner-banner .inner-banner-content p { font-size:13px; line-height:1.8; }
    body .section .section-word, body :is(.section-head, .quick-services, .network-copy, .contact-grid, .philosophy) .section-word,
    body .inner-section .inner-ghost, body .inner-about-intro > div > span.inner-ghost { font-size:40px; }
    body .eyebrow { font-size:12px; }

    body :is(.section-head, .inner-heading, .inner-about-intro, .inner-contact-grid, .contact-grid, .counters-heading) h2,
    body .inner-page .inner-section h2 { font-size:20px; line-height:1.45; }
    body .inner-page :is(.inner-field-section, .inner-prose, .inner-side-box, .inner-toc, .inner-related, .inner-form-panel) h2,
    body .lexi-siteform .lexi-siteform-title { font-size:17px; line-height:1.5; }
    body .inner-page .inner-field-section h2, body .inner-field-section .lexi-extra-label { font-size:17px !important; }
    body .inner-page .inner-culture-card h2 { font-size:17px; line-height:1.5; }
    body .inner-page .inner-prose h3 { font-size:16px; line-height:1.6; }
    body .section.philosophy h2 { font-size:18px; line-height:1.7; }

    body :is(.stage, .steps-grid article, .benefits article, .news-card, .inner-news-card, .inner-grid article, .business-card) h3,
    body :is(.news-card, .inner-news-card) h3 a, body .inner-prevnext a { font-size:15px; line-height:1.55; }

    body :is(.section-head, .inner-heading) > p, body .contact-grid > div > p { font-size:13px; line-height:1.8; }
    body :is(.inner-about-intro, .inner-contact-grid) p { font-size:14px; line-height:1.85; }
    body .inner-prose :is(p, li), body .inner-faq .inner-prose, body .inner-article-summary { font-size:15px; line-height:1.85; }
    body .network-copy blockquote p, body .inner-culture-card p { font-size:15px; line-height:1.8; }

    body .stat-value strong, body .hero .counter { font-size:28px; }
    body .inner-counter-value strong { font-size:30px; line-height:1.3; }
    body .inner-capability-number { font-size:32px; }
    body .inner-grid-4 .inner-step-number { font-size:28px; }
    body .inner-grid-3 .inner-step-number { font-size:18px; }
    body :is(.stage, .steps-grid) .step-number { font-size:16px; }
    body .inner-count strong { font-size:16px; }
    body .inner-side-contact .inner-phone { font-size:20px; }
    body .pagination a, body .section-action .text-link, body .section-action .text-link > span { font-size:14px; }
    body .stage-links a, body .stage-links a > span { font-size:13px; }
    body .site-footer h3 { font-size:14px; }
}
