/* ---------- 本地字体（Inter，替换 Google Fonts，避免国内被墙） ---------- */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/inter/inter-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/inter/inter-latin-500-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/inter/inter-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('assets/fonts/inter/inter-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; font-display: swap; src: url('assets/fonts/inter/inter-latin-800-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/*
 Theme Name: 一半科技cst
 Author: 一半科技
 Version: 1.2.0
 Text Domain: yiban-cst
 Description: 一半科技（Yiban）研发费用管理系统 RDCMS 官网主题。深海军蓝 #0D0B2E + 亮绿松石 #00DFC1，双行导航 + 全宽 mega 下拉菜单 + 巨型页脚 + 4 页轮播 Banner 首屏。
*/

:root {
	--ink: #0D0B2E;
	--ink-2: #151243;
	--teal: #009999;
	--cyan: #00DFC1;
	--mint: #00FFB2;
	--sky: #00B0E0;
	--mist: #F3F5F9;
	--line: #E4E7F0;
	--slate: #5B6B7B;
	scroll-behavior: smooth;
}

/* 字体族统一在文件末尾「跨平台字体渲染优化」区块定义（需覆盖后加载的 tailwind.css） */

/* ---------- 双行导航（加高） ---------- */
.nav-item {
	color: rgba(255,255,255,0.88);
	padding: 17px 0 16px;
	border-bottom: 3px solid transparent;
	transition: color .2s ease, border-color .2s ease;
}
.nav-item:hover { color: #fff; border-color: rgba(0,176,190,0.45); }
.nav-item.nav-active { color: #fff; border-color: var(--cyan); }

/* 巨型下拉菜单（全宽 mega menu，CSS hover 展开） */
.nav-has-mega { position: static; }
.nav-mega {
	display: none;
	z-index: 60;
	background: #0E0C33;
	animation: ys-mega-in .18s ease;
}
.nav-has-mega:hover .nav-mega { display: block; }
@keyframes ys-mega-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

/* 深色 mega 面板：大标题 + 分组多列（组标题下划线 + 细线分隔链接列表） */
.mega-title {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
}
.mega-h {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	padding-bottom: 12px;
	border-bottom: 2px solid rgba(255,255,255,0.9);
}
.mega-link {
	display: block;
	color: rgba(255,255,255,0.85);
	font-size: 14.5px;
	font-weight: 400;
	padding: 13px 0;
	border-bottom: 1px solid rgba(255,255,255,0.16);
	transition: color .2s ease;
}
.mega-link:hover { color: var(--cyan); }
/* mega 面板里可点击的分组标题（如「成功案例」的三个行业），hover 变品牌青色 */
a.mega-link-h { display: block; transition: color .2s ease, border-color .2s ease; }
a.mega-link-h:hover { color: var(--cyan); border-color: var(--cyan); }

/* ---------- 解决方案 mega 面板：三级树（解决方案 → 四套方案 → 具体场景） ---------- */
.lm-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.lm-lead { color: rgba(255,255,255,0.6); font-size: 13.5px; line-height: 1.7; margin-top: 10px; max-width: 720px; }
.lm-all { color: var(--cyan); font-size: 13.5px; font-weight: 600; white-space: nowrap; padding-bottom: 4px; border-bottom: 1px solid rgba(0,223,193,0.4); transition: color .2s ease; }
.lm-all:hover { color: #fff; }
.lm-tree { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0 48px; margin-top: 28px; }
@media (max-width: 1200px) { .lm-tree { gap: 0 28px; } }
@media (max-width: 1023px) { .lm-tree { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 32px; } }
.lm-branch { min-width: 0; }
.lm-branch__h { display: flex; align-items: flex-start; gap: 9px; font-size: 16px; line-height: 1.4; transition: color .2s ease, border-color .2s ease; }
.lm-branch__h:hover { color: var(--cyan); border-color: var(--cyan); }
.lm-branch__no { font-size: 11.5px; font-weight: 700; color: var(--cyan); padding-top: 3px; letter-spacing: .04em; }
.lm-branch .mega-link { font-size: 14px; }

/* ---------- 解决方案页：三层结构 / 方案卡 / 场景链路 / 能力卡 ---------- */
.sol-layers { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.sol-layer { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 24px 26px; }
.sol-layer--on { border-color: rgba(0,153,153,0.45); box-shadow: 0 16px 40px -26px rgba(0,153,153,0.55); }
.sol-layer__no { font-size: 11.5px; font-weight: 700; letter-spacing: .18em; color: var(--teal); }
.sol-layer__t { color: var(--ink); font-size: 19px; font-weight: 700; margin: 10px 0 8px; }
.sol-layer__d { color: var(--slate); font-size: 14px; line-height: 1.75; }
.sol-layer__note { display: inline-block; margin-top: 12px; font-size: 12px; color: var(--teal); background: rgba(0,153,153,0.08); border-radius: 4px; padding: 3px 9px; }
@media (max-width: 1023px) { .sol-layers { grid-template-columns: 1fr; } }

.sol-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
@media (max-width: 1023px) { .sol-grid { grid-template-columns: 1fr; } }
.sol-card { position: relative; display: block; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 30px 32px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.sol-card:hover { transform: translateY(-3px); border-color: rgba(0,153,153,0.4); box-shadow: 0 24px 48px -28px rgba(13,11,46,0.4); }
.sol-card__no { position: absolute; top: 26px; right: 30px; font-size: 34px; font-weight: 800; line-height: 1; color: rgba(13,11,46,0.07); }
.sol-card__name { color: var(--ink); font-size: 21px; font-weight: 700; line-height: 1.4; margin-bottom: 10px; padding-right: 44px; }
.sol-card__goal { color: var(--teal); font-size: 13.5px; font-weight: 600; margin-bottom: 14px; }
.sol-card__who { color: var(--slate); font-size: 14px; line-height: 1.75; margin-bottom: 18px; }
.sol-card__tags { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 18px; border-top: 1px dashed var(--line); }
.sol-card__tag { font-size: 12.5px; color: #2C3A4B; background: var(--mist); border-radius: 4px; padding: 4px 10px; }
.sol-card__go { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; font-size: 13.5px; font-weight: 600; color: var(--teal); }

.sol-chain { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 14px; position: relative; }
@media (max-width: 1100px) { .sol-chain { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 700px) { .sol-chain { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.sol-step { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 18px 16px; }
.sol-step__no { font-size: 11px; letter-spacing: .14em; color: var(--cyan); font-weight: 700; }
.sol-step__t { color: #fff; font-size: 15px; font-weight: 700; margin: 8px 0 6px; }
.sol-step__d { color: rgba(255,255,255,0.62); font-size: 12.5px; line-height: 1.7; }

.cap-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 18px; }
@media (max-width: 1200px) { .cap-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 700px) { .cap-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.cap-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px 20px; }
.cap-card__t { color: var(--ink); font-size: 15px; font-weight: 700; margin: 12px 0 8px; }
.cap-card__d { color: var(--slate); font-size: 13px; line-height: 1.7; }
.cap-card__ico { width: 38px; height: 38px; border-radius: 10px; background: rgba(0,153,153,0.1); color: var(--teal); display: flex; align-items: center; justify-content: center; }

/* ---------- 首屏轮播 Banner ---------- */
.ys-carousel { position: relative; overflow: hidden; background: var(--ink); }
.ys-slide {
	position: absolute; inset: 0;
	opacity: 0; visibility: hidden;
	transition: opacity .8s ease, visibility .8s ease;
}
.ys-slide.is-active { opacity: 1; visibility: visible; position: relative; }
.ys-slide__bg { position: absolute; inset: 0; }
.ys-slide__bg::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(16,17,64,0.92) 0%, rgba(16,17,64,0.55) 45%, rgba(16,17,64,0.15) 100%);
}
.ys-content { position: relative; z-index: 2; }

/* 每页 Banner 的背景（深海军蓝基调 + 绿松石光晕，大图轮播） */
.ys-bg-1 { background:
	radial-gradient(900px 500px at 85% 30%, rgba(0,223,193,0.4), transparent 60%),
	radial-gradient(700px 400px at 70% 80%, rgba(0,176,224,0.28), transparent 55%),
	linear-gradient(150deg, #0D0B2E 0%, #151243 60%, #1E1A5E 100%); }
.ys-bg-2 { background:
	radial-gradient(900px 520px at 80% 20%, rgba(0,255,178,0.3), transparent 60%),
	radial-gradient(600px 420px at 60% 90%, rgba(44,39,120,0.6), transparent 60%),
	linear-gradient(160deg, #0D0B2E 0%, #1B184F 55%, #0D0B2E 100%); }
.ys-bg-3 { background:
	radial-gradient(900px 500px at 75% 40%, rgba(0,223,193,0.35), transparent 60%),
	radial-gradient(700px 400px at 90% 85%, rgba(30,26,94,0.8), transparent 60%),
	linear-gradient(145deg, #0B0928 0%, #151243 55%, #2C2778 110%); }
.ys-bg-4 { background:
	radial-gradient(900px 500px at 82% 25%, rgba(0,176,224,0.32), transparent 60%),
	radial-gradient(650px 420px at 55% 85%, rgba(0,223,193,0.3), transparent 55%),
	linear-gradient(155deg, #0D0B2E 0%, #201C56 60%, #0D0B2E 100%); }

/* 内页头图区背景（关于/案例/资源/文章详情通用：深海军蓝 + 绿松石光晕） */
.gradient-hero { background:
	radial-gradient(800px 420px at 85% 25%, rgba(0,223,193,0.22), transparent 60%),
	radial-gradient(600px 380px at 12% 85%, rgba(0,176,224,0.18), transparent 55%),
	linear-gradient(150deg, #0D0B2E 0%, #151243 60%, #1E1A5E 100%); }

/* Petrol "X" 装饰图形（绿松石→天蓝渐变，品牌图形） */
.ys-xmark {
	position: absolute; right: 18%; top: 50%; transform: translateY(-50%) rotate(45deg);
	width: 180px; height: 180px; z-index: 1; opacity: .9;
}
.ys-xmark::before, .ys-xmark::after {
	content: ''; position: absolute; background: linear-gradient(135deg, #00FFB2, #00B0E0);
	border-radius: 14px;
}
.ys-xmark::before { width: 56px; height: 180px; left: 62px; top: 0; }
.ys-xmark::after  { width: 180px; height: 56px; top: 62px; left: 0; }

/* 轮播控制：圆点 + 暂停 + 箭头 */
.ys-dots { display: flex; align-items: center; gap: 10px; }
.ys-dot {
	width: 8px; height: 8px; border-radius: 999px;
	background: rgba(255,255,255,0.45); border: none; cursor: pointer;
	transition: all .3s ease; padding: 0;
}
.ys-dot:hover { background: rgba(255,255,255,0.75); }
.ys-dot.is-active { width: 34px; background: #fff; }
.ys-pause {
	width: 34px; height: 34px; border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,0.14); color: #fff; border: none; cursor: pointer;
	transition: background .2s ease;
}
.ys-pause:hover { background: rgba(255,255,255,0.28); }
.ys-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
	width: 44px; height: 44px; border-radius: 999px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,0.12); color: #fff; border: none; cursor: pointer;
	backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
	transition: background .2s ease;
}
.ys-arrow:hover { background: rgba(255,255,255,0.3); }
.ys-arrow--prev { left: 20px; }
.ys-arrow--next { right: 20px; }

.text-grad {
	background: linear-gradient(90deg, #FFFFFF 0%, #7FE3E3 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.nav-blur { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.blob { filter: blur(70px); opacity: 0.35; }

/* 锚点跳转：平滑滚动 + 吸顶导航高度补偿（导航两层共 128px） */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 140px; }

/* 滚动入场 */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.active { opacity: 1; transform: translateY(0); }

/* 卡片悬浮 */
.card-lift { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.card-lift:hover { transform: translateY(-4px); box-shadow: 0 14px 40px -10px rgba(16,17,64,0.18); border-color: rgba(0,153,153,0.5); }

/* 顶部细线分隔（大区块分隔） */
.ys-divider { border-top: 1px solid var(--line); }

.eyebrow {
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--teal);
}
.eyebrow-hero {
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-size: 0.8rem;
	font-weight: 700;
	color: #00DFC1;
}

.line-clamp-3 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

a { -webkit-tap-highlight-color: transparent; }

/* ---------- 文章正文排版（深蓝底白字，仿 Siemens 洞察页） ---------- */
.article-content { color: #F2F3F8; font-size: 1.0625rem; line-height: 1.9; }
.article-content p { margin-bottom: 1.25em; }
.article-content h2 { font-size: 1.5rem; font-weight: 700; color: #FFFFFF; margin: 2em 0 0.75em; line-height: 1.4; }
.article-content h3 { font-size: 1.25rem; font-weight: 700; color: #FFFFFF; margin: 1.75em 0 0.6em; line-height: 1.4; }
.article-content ul, .article-content ol { margin: 0 0 1.25em 1.5em; }
.article-content ul { list-style: disc; }
.article-content ol { list-style: decimal; }
.article-content li { margin-bottom: 0.4em; }
.article-content img { max-width: 100%; height: auto; border-radius: 0.75rem; margin: 1.5em 0; }
.article-content blockquote { border-left: 4px solid #00DFC1; background: rgba(0,223,193,0.08); padding: 1em 1.25em; border-radius: 0 0.5rem 0.5rem 0; margin: 0 0 1.25em; color: #D7FBF4; }
.article-content a { color: #00DFC1; text-decoration: underline; }
.article-content strong { color: #FFFFFF; }
.article-content table { width: 100%; border-collapse: collapse; margin: 0 0 1.25em; }
.article-content th, .article-content td { border: 1px solid rgba(255,255,255,0.18); padding: 0.6em 0.9em; text-align: left; }
.article-content th { background: rgba(255,255,255,0.07); font-weight: 600; }
.article-content figure { margin: 1.5em 0; }
.article-content figcaption { font-size: 0.875rem; color: #8B90A9; text-align: center; margin-top: 0.5em; }
.article-content hr { border: none; border-top: 1px solid rgba(255,255,255,0.18); margin: 2em 0; }

/* ---------- 文章详情页：深蓝头图区（仿 Siemens 洞察页深色版式） ---------- */
.article-hero { background: #0D0B2E; }
.article-hero h1 { color: #FFFFFF; }
.article-cat { display: inline-block; padding: 0.25rem 0.625rem; border-radius: 9999px; background: rgba(0,223,193,0.14); color: #00DFC1; font-size: 0.75rem; font-weight: 600; }
.article-meta { color: #9BA0B8; font-size: 0.875rem; }

/* ---------- 文章详情页：面包屑 / 导语 / 相关阅读 ---------- */
.breadcrumb { font-size: 0.8125rem; color: rgba(255,255,255,0.55); }
.breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
.breadcrumb a:hover { color: #00DFC1; }
.breadcrumb .sep { margin: 0 0.5rem; opacity: 0.45; }
.breadcrumb > span:last-child { color: rgba(255,255,255,0.85); }

/* 导语（standfirst）：比正文略大、浅灰、与正文拉开间距 */
.standfirst {
  font-size: 1.15rem;
  line-height: 1.85;
  color: #B8BCCF;
  margin: 0 0 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

/* 相关阅读网格（深色卡片） */
.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 768px) { .related-grid { grid-template-columns: 1fr; } }
.related-card {
  display: flex;
  flex-direction: column;
  background: #161336;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 0.75rem;
  padding: 1.5rem;
  text-decoration: none;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.related-card:hover {
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
  transform: translateY(-3px);
  border-color: #00DFC1;
}
.related-cat { color: #00DFC1; font-size: 0.75rem; font-weight: 600; }
.related-title {
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.5;
  margin: 0.6rem 0 1rem;
  flex: 1;
}
.related-more {
  display: inline-flex;
  align-items: center;
  color: #00DFC1;
  font-size: 0.875rem;
  font-weight: 600;
}
.related-more svg { width: 1rem; height: 1rem; }

/* 底部操作行分隔线（深色版） */
.article-actions { border-top: 1px solid rgba(255,255,255,0.14); }

/* 首页新闻卡片缩略图（有特色图显示图，无图显示品牌渐变占位） */
.news-thumb { line-height: 0; background: #0D0B2E; }
.news-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-thumb--fallback { height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0D0B2E 0%, #00B0E0 140%); }
.news-thumb--fallback span { color: rgba(255,255,255,0.82); font-weight: 700; letter-spacing: 0.08em; font-size: 0.95rem; }

/* 首页新闻动态卡：16:10 大图区（编译 CSS 无 aspect 任意值类，用原生 CSS 锁比例） */
.news-media { aspect-ratio: 16 / 9; width: 100%; overflow: hidden; border-radius: 6px; background: #F3F5F9; margin-bottom: 0.9rem; }
.news-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.group:hover .news-media img { transform: scale(1.05); }

/* 首页客户案例卡：照片满铺图区（统一 2.38:1 裁切），底部分隔线与文字区分层 */
.case-thumb {
  height: 11rem;
  overflow: hidden;
  background: #E9EEF6;
  border-bottom: 1px solid #E4E7F0;
}
.case-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}
.card-lift:hover .case-thumb img {
  transform: scale(1.04);
}

/* ---------- 客户 logo 墙：列数（让卡片更窄） ---------- */
@media (min-width: 768px) {
	[data-customer-panel] { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (min-width: 1024px) {
	[data-customer-panel] { grid-template-columns: repeat(8, minmax(0, 1fr)) !important; }
}

/* ---------- 行业标签：未选中态提亮 ---------- */
[data-customer-tab] { border: 1px solid transparent; }
[data-customer-tab]:not(.bg-brand-cta) {
	color: #ffffff;
	background: rgba(255, 255, 255, 0.22);
	border-color: rgba(255, 255, 255, 0.30);
}
[data-customer-tab]:not(.bg-brand-cta):hover {
	background: rgba(255, 255, 255, 0.32);
}

/* ============================================================
 * 页脚导航网格：6 个链接列，与顶部 6 个一级菜单一一对应
 * 1280+：品牌 2 份 + 6 列一行；1024–1279：6 列两行；
 * 768–1023：3 列；手机：2 列（品牌独占一行）
 * 用自定义类而非 Tailwind，避免 tailwind.css 里没有 grid-cols-8
 * ============================================================ */
.ys-fgrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 44px 24px;
}
.ys-fbrand { grid-column: span 2; }
@media (min-width: 768px) {
	.ys-fgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ys-fbrand { grid-column: span 3; }
}
/* 1024–1279：品牌独占一行，6 个链接列排一行 */
@media (min-width: 1024px) {
	.ys-fgrid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.ys-fbrand { grid-column: span 6; }
}
/* 1280+：8 等份，品牌占 2 份 + 6 列各 1 份，一行排开 */
@media (min-width: 1280px) {
	.ys-fgrid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 44px 26px; }
	.ys-fbrand { grid-column: span 2; }
}
/* 链接列：中文词不拆字，超长时才换行 */
.ys-fcol { min-width: 0; }
.ys-fcol a { display: inline-block; word-break: keep-all; }

/* ============================================================
 * 页脚联系入口：平时只显示图标，悬浮出文案 / 二维码
 * ============================================================ */
.ys-socials {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px 44px;
	margin-top: 1.5rem;
}
.ys-social {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
	text-decoration: none;
	color: #c3cbdb;
	-webkit-tap-highlight-color: transparent;
}
.ys-social__ic {
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.ys-social:hover .ys-social__ic,
.ys-social:focus-visible .ys-social__ic {
	background: #00DFC1;
	color: #0D0B2E;
	transform: translateY(-1px);
}
.ys-social__label {
	font-size: 12px;
	line-height: 1;
	color: #c3cbdb;
	white-space: nowrap;
	transition: color .2s ease;
}
.ys-social:hover .ys-social__label,
.ys-social:focus-visible .ys-social__label {
	color: #ffffff;
}

/* 图标下常显文字（三个入口统一，手机端也看得懂） */
.ys-social__tip {
	font-size: 13px;
	line-height: 1.2;
	color: #c3cbdb;
	white-space: nowrap;
	transition: color .2s ease;
}
.ys-social:hover .ys-social__tip,
.ys-social:focus-visible .ys-social__tip {
	color: #ffffff;
}

/* 公众号：悬浮/聚焦出二维码卡片 */
.ys-qr {
	position: absolute;
	bottom: calc(100% + 10px);
	left: 50%;
	transform: translate(-50%, 4px);
	width: 168px;
	background: #ffffff;
	border-radius: 12px;
	padding: 8px 8px 6px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .38);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
	z-index: 70;
	text-align: center;
}
.ys-qr img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}
.ys-qr b {
	display: block;
	margin-top: 6px;
	color: #0D0B2E;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
}
.ys-social--qr:hover .ys-qr,
.ys-social--qr:focus-visible .ys-qr {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

/* 页脚直接联系方式：电话 / 邮箱 / 地址 */
.ys-foot-contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 22px;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.ys-foot-contact__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	line-height: 1.4;
	color: #c3cbdb;
	text-decoration: none;
	transition: color .2s ease;
}
.ys-foot-contact__item i { color: #7f8aa3; flex: none; transition: color .2s ease; }
.ys-foot-contact__item:hover,
.ys-foot-contact__item:focus { color: #ffffff; }
.ys-foot-contact__item:hover i { color: #00DFC1; }
@media (max-width: 640px) {
	.ys-socials { gap: 16px 26px; }
	.ys-foot-contact { gap: 8px 16px; }
	.ys-foot-contact__item--addr { flex-basis: 100%; }
}

/* ============================================================
 * 在线咨询弹窗
 * ============================================================ */
.ys-chat { position: fixed; inset: 0; z-index: 9999; display: none; }
.ys-chat.is-open { display: block; }
.ys-chat__mask {
	position: absolute;
	inset: 0;
	background: rgba(8, 7, 28, .62);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}
.ys-chat__panel {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 32px);
	max-width: 380px;
	max-height: 88vh;
	overflow: auto;
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .42);
	animation: ysChatIn .22s ease-out;
}
@keyframes ysChatIn {
	from { opacity: 0; transform: translate(-50%, calc(-50% + 12px)); }
	to   { opacity: 1; transform: translate(-50%, -50%); }
}
.ys-chat__close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 0;
	padding: 0 0 2px;
	background: rgba(255, 255, 255, .14);
	color: #ffffff;
	font-size: 20px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}
.ys-chat__close:hover { background: rgba(255, 255, 255, .3); }
.ys-chat__head {
	background: linear-gradient(135deg, #0D0B2E 0%, #10305A 100%);
	color: #ffffff;
	padding: 20px 22px 18px;
}
.ys-chat__dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #00DFC1;
	box-shadow: 0 0 0 4px rgba(0, 223, 193, .18);
	margin-bottom: 9px;
}
.ys-chat__head h3 {
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
}
.ys-chat__head p {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .68);
	padding-right: 20px;
}
.ys-chat__body { padding: 8px 14px 16px; }
.ys-chat__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 10px;
	border-radius: 10px;
	text-decoration: none;
	transition: background .16s ease;
}
.ys-chat__row:hover { background: #F1F7F7; }
.ys-chat__ico {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border-radius: 9px;
	background: rgba(0, 153, 153, .10);
	color: #009999;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ys-chat__txt { display: flex; flex-direction: column; gap: 3px; }
.ys-chat__txt b { font-size: 14px; color: #0D0B2E; font-weight: 600; }
.ys-chat__txt span { font-size: 12px; color: #64748B; }
.ys-chat__qr {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 4px;
	padding: 12px 10px 4px;
	border-top: 1px dashed #E2E8F0;
}
.ys-chat__qr img {
	width: 84px;
	height: 84px;
	border-radius: 6px;
	flex: 0 0 84px;
}

/* ============================================================
 * 法务类内页正文排版（隐私政策 / 使用条款 / Cookie 设置）
 * ============================================================ */
.ys-legal { font-size: 15px; line-height: 1.95; color: #334155; }
.ys-legal > *:first-child { margin-top: 0; }
.ys-legal h2 {
	position: relative;
	font-size: 19px;
	font-weight: 700;
	color: #0D0B2E;
	margin: 2.1em 0 .8em;
	padding-left: 12px;
	border-left: 4px solid #00B0BE;
	line-height: 1.5;
}
.ys-legal h3 {
	font-size: 15.5px;
	font-weight: 700;
	color: #0D0B2E;
	margin: 1.5em 0 .5em;
}
.ys-legal p { margin: 0 0 1.05em; }
.ys-legal ul, .ys-legal ol { margin: 0 0 1.2em; padding-left: 1.35em; }
.ys-legal li { margin-bottom: .5em; }
.ys-legal strong { color: #0D0B2E; font-weight: 600; }
.ys-legal a { color: #009999; text-decoration: underline; text-underline-offset: 2px; }
.ys-legal a:hover { color: #007878; }
.ys-legal table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.4em;
	font-size: 14px;
}
.ys-legal th, .ys-legal td {
	border: 1px solid #E2E8F0;
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}
.ys-legal th { background: #F5F8F9; color: #0D0B2E; font-weight: 600; }
.ys-legal blockquote {
	margin: 0 0 1.4em;
	padding: 12px 16px;
	background: #F5F8F9;
	border-left: 3px solid #00B0BE;
	color: #475569;
	font-size: 14px;
}

/* Cookie 清除按钮 */
.ys-cookie-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin: 0 0 1.4em;
	padding: 16px 18px;
	border: 1px dashed #CBD5E1;
	border-radius: 12px;
	background: #FAFCFC;
}
.ys-cookie-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 0;
	border-radius: 999px;
	background: #00DFC1;
	color: #0D0B2E;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background .18s ease, transform .18s ease;
}
.ys-cookie-btn:hover { background: #16e9cd; transform: translateY(-1px); }
.ys-cookie-done {
	display: none;
	font-size: 13px;
	color: #009999;
	font-weight: 600;
}

/* ---------- 锚点跳转时避开固定头部 ---------- */
#scene-cost, #scene-compliance, #scene-collab, #scene-industry, #cases, #start, #faq { scroll-margin-top: 108px; }

/* ---------- 锚点命中的卡片加青色描边：一排四张时也能一眼看出点中的是哪张 ---------- */
.card-lift:target {
  outline: 2px solid #00B0BE;
  outline-offset: 3px;
  border-color: rgba(0, 176, 190, 0.45);
}

/* 卡片级锚点：多留出区块标题的高度，跳过去还能看到「业财协同 / 行业场景」是哪个板块 */
#collect, #budget, #alloc, #calc,
#deduct, #hightech, #ipo, #trace,
#collab-erp, #collab-project, #collab-time, #collab-check,
#ind-process, #ind-material, #ind-formula, #ind-pilot { scroll-margin-top: 352px; }

/* 平板与手机：卡片折成两排/竖排，标题本来就在好几张卡之上，偏移收回到导航下方即可，否则留一大片空白 */
@media (max-width: 1023px) {
  #collect, #budget, #alloc, #calc,
  #deduct, #hightech, #ipo, #trace,
  #collab-erp, #collab-project, #collab-time, #collab-check,
  #ind-process, #ind-material, #ind-formula, #ind-pilot { scroll-margin-top: 88px; }
}

/* ---------- 行业页：图文对照三行（桌面左文右图、第二行左右互换；手机图片在上） ---------- */
.ind-rows {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 1024px) {
  .ind-rows { gap: 28px; }
}

.ind-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  padding: 16px;
  border-radius: 24px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  text-decoration: none;
  color: inherit;
  scroll-margin-top: 96px;
  box-shadow: 0 14px 34px -26px rgba(13, 11, 46, .3);
  transition: background .25s ease, box-shadow .25s ease;
}
.ind-row:hover { background: #ffffff; box-shadow: 0 24px 50px -22px rgba(13, 11, 46, .3); }
.ind-row:focus-visible { outline: 2px solid #00B0BE; outline-offset: 3px; }

@media (min-width: 1024px) {
  .ind-row {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 48px;
    padding: 22px;
    scroll-margin-top: 152px;
  }
  .ind-row__media { order: 1; }
  .ind-row__text { order: 2; }
  .ind-row--flip .ind-row__media { order: 2; }
  .ind-row--flip .ind-row__text { order: 1; }
}

.ind-row__media {
  overflow: hidden;
  border-radius: 16px;
  background: #eef2f7;
}
.ind-row__media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .55s ease;
}
@media (min-width: 1024px) {
  .ind-row__media img { aspect-ratio: 3 / 2; }
}
.ind-row:hover .ind-row__media img { transform: scale(1.035); }

.ind-row__text { padding: 2px 6px 8px; }
@media (min-width: 1024px) {
  .ind-row__text { padding: 0 8px; }
}

.ind-row__no {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  color: #00B0BE;
}

.ind-row__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.ind-row__tags span {
  font-size: 13px;
  line-height: 1;
  color: #475569;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 8px 12px;
  transition: border-color .2s ease, color .2s ease;
}
.ind-row:hover .ind-row__tags span { border-color: rgba(0, 176, 190, .4); color: #0f172a; }

.ind-rows__more {
  margin: 26px 0 0;
  text-align: center;
  font-size: 14px;
  color: #94a3b8;
}
.ind-rows__more span { color: #475569; font-weight: 500; }

/* ---------- 资料卡片（资源中心 / 实务指南 / 白皮书 / 行业报告 共用） ---------- */
.resource-card { display: flex; flex-direction: column; border: 1px solid rgb(226 232 240); border-radius: 1rem; overflow: hidden; background: #fff; box-shadow: 0 10px 30px -12px rgba(13,11,46,.12); transition: transform .2s ease, box-shadow .2s ease; }
.resource-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -12px rgba(13,11,46,.22); }
.resource-cover { position: relative; aspect-ratio: 16/10; min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; padding: 1.5rem; text-align: center; }
.resource-cover__icon { width: 44px; height: 44px; color: #fff; opacity: .92; }
.resource-cover__title { color: #fff; font-size: 1.05rem; font-weight: 700; line-height: 1.4; margin: 0; max-width: 92%; }
.resource-cover__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.resource-body { padding: 1.25rem 1.35rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.resource-tag { align-self: flex-start; font-size: .72rem; font-weight: 600; padding: .25rem .6rem; border-radius: 999px; margin-bottom: .65rem; }
.resource-desc { color: #475569; font-size: .875rem; line-height: 1.65; margin: 0 0 1rem; flex: 1; }
.resource-link { display: inline-flex; align-items: center; gap: .35rem; color: #0d9488; font-weight: 600; font-size: .9rem; margin-top: auto; }
.resource-link:hover { color: #0f766e; }
.resource-link__i { width: 15px; height: 15px; }

/* ---------- 资源中心 Hub：分类入口卡 & 价值点（自包含，不依赖 Tailwind 编译） ---------- */
.rc-hub { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px) { .rc-hub { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.rc-hub-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e2e8f0; border-radius: 1.25rem; padding: 2rem; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; box-shadow: 0 10px 30px -20px rgba(13,11,46,.25); }
.rc-hub-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -22px rgba(13,11,46,.32); border-color: #00DFC1; }
.rc-hub-ico { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.1rem; }
.rc-hub-ico i { width: 26px; height: 26px; }
.rc-hub-count { align-self: flex-start; font-size: .72rem; font-weight: 600; padding: .28rem .65rem; border-radius: 999px; margin-bottom: .9rem; }
.rc-hub-card h3 { font-size: 1.25rem; font-weight: 700; color: #0D0B2E; margin: 0 0 .55rem; }
.rc-hub-card p { color: #475569; font-size: .9rem; line-height: 1.7; margin: 0 0 1.3rem; flex: 1; }
.rc-hub-more { display: inline-flex; align-items: center; gap: .4rem; color: #009999; font-weight: 600; font-size: .9rem; }
.rc-hub-more i { width: 16px; height: 16px; }
.rc-hub-card:hover .rc-hub-more { color: #007a7a; }

.rc-val { text-align: center; padding: 0 .5rem; }
.rc-val-ico { width: 56px; height: 56px; border-radius: 16px; background: #eef4f3; color: #009999; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.rc-val-ico i { width: 26px; height: 26px; }
.rc-val h3 { font-size: 1.1rem; font-weight: 700; color: #0D0B2E; margin: 0 0 .5rem; }
.rc-val p { color: #475569; font-size: .9rem; line-height: 1.7; margin: 0; }

/* ---------- 关于我们：企业价值观（自包含，不依赖 Tailwind 编译） ---------- */
.values-section { padding: 4.5rem 0 4rem; background: #fff; }
@media (min-width: 1024px) { .values-section { padding: 6rem 0 4.5rem; } }
.values-title { text-align: center; font-size: 1.75rem; line-height: 1.3; font-weight: 700; color: #1e293b; margin: 0 0 3rem; }
@media (min-width: 1024px) { .values-title { font-size: 2rem; margin-bottom: 3.5rem; } }
.values-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 900px) { .values-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.75rem; } }
.value-card { background: #f3f8fe; border-radius: .9rem; padding: 3.25rem 2.5rem 3.5rem; text-align: center; transition: transform .25s ease, box-shadow .25s ease; }
.value-card:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -26px rgba(13,11,46,.35); }
.value-icon { display: flex; justify-content: center; margin-bottom: 1.6rem; }
.value-icon i, .value-icon svg { width: 52px; height: 52px; }
.value-name { font-size: 1.5rem; font-weight: 500; color: #334155; margin: 0 0 1.5rem; letter-spacing: .02em; }
.value-motto { font-size: .95rem; font-weight: 500; color: #1e293b; margin: 0 0 .7rem; letter-spacing: .05em; }
.value-text { font-size: .95rem; line-height: 2; color: #475569; margin: 0; }

/* 关于我们：使命 / 愿景 两卡并排（自包含） */
.mission-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px) { .mission-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2rem; max-width: 56rem; margin: 0 auto; } }

/* ---------- 404 页面（自包含） ---------- */
.e404-num { font-size: clamp(72px, 14vw, 132px); line-height: 1; font-weight: 800; letter-spacing: .04em; color: rgba(255,255,255,.14); margin: 0 0 .5rem; }
.e404-links { display: grid; grid-template-columns: 1fr; gap: .75rem; }
@media (min-width: 640px) { .e404-links { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; } }
@media (min-width: 1024px) { .e404-links { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.e404-links a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .95rem 1.15rem; border: 1px solid #e2e8f0; border-radius: .75rem; color: #0d0b2e; font-weight: 600; font-size: .95rem; text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.e404-links a:hover { border-color: #00dfc1; transform: translateY(-2px); box-shadow: 0 16px 30px -22px rgba(13,11,46,.4); }
.e404-links a i { width: 16px; height: 16px; color: #009999; }

/* ============================================================
   跨平台字体渲染优化（Mac / Windows / 安卓 一致清晰）
   放在文件末尾：tailwind.css 在本文件之后加载，必须用更高
   特异性（html body）才能覆盖它的 html{font-family} 规则。
   ============================================================ */

/* ① 字体栈：拉丁走 Inter，中文按系统各取「为屏幕小字号优化」的字体
      macOS / iOS → PingFang SC（苹方）
      Windows      → Microsoft YaHei UI（比旧「微软雅黑」小字更锐）
      鸿蒙 / 安卓  → HarmonyOS Sans SC / Noto Sans CJK
   不再把 system-ui 写在前面：它在 Windows 上是 Segoe UI（无中文），
   只会多绕一层回退，容易选中不合适的中文字形。 */
html,
html body,
html button,
html input,
html select,
html textarea {
  font-family:
    'Inter',
    -apple-system, BlinkMacSystemFont,
    'HarmonyOS Sans SC',
    'PingFang SC', 'Hiragino Sans GB',
    'Microsoft YaHei UI', 'Microsoft YaHei',
    'Source Han Sans SC', 'Noto Sans CJK SC',
    'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-kerning: normal;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* ② 低像素密度屏补偿（Windows 1080p / 2K 未缩放、125% 缩放）
      Mac Retina 为 2dppx，不命中下面这段，原有观感保持不变。 */
@media (max-resolution: 1.5dppx) {
  /* 12px 中文在 1x 屏上笔画只有 1px 宽，必然发虚 → 抬到 13px */
  html .text-xs { font-size: 13px; line-height: 1.5; }
  html .eyebrow, html .eyebrow-hero { font-size: 13px; }
  html .resource-tag, html .rc-hub-count, html .article-cat, html .related-cat { font-size: 13px; }
  /* 11px 的步骤序号 / 二维码文字一并抬高 */
  html .sol-step__no, html .ys-qr b { font-size: 12px; }
  /* 极轻字距：低 DPI 下防止相邻笔画粘连 */
  html .text-xs, html .resource-tag, html .eyebrow, html .eyebrow-hero { letter-spacing: .012em; }
  /* 浅灰小字加深一档：slate-400(#94a3b8) 在 1x 屏会「化」进白底 */
  .text-xs.text-slate-400,
  .text-xs .text-slate-400 { color: #64748b; }
  /* 中文正文加 1% 字距，小字号可读性提升明显 */
  p, li, dd, figcaption { letter-spacing: .008em; }
}

/* ============================================================
   新闻动态总览页 /news/（自包含样式，不依赖 Tailwind 编译产物）
   ============================================================ */

/* Hero 右侧统计 */
.news-stats { display: flex; flex-wrap: wrap; gap: 2.75rem; margin-top: 2.75rem; }
.news-stats b { display: block; font-size: 1.9rem; line-height: 1.15; font-weight: 700; color: #00dfc1; letter-spacing: .01em; }
.news-stats span { display: block; margin-top: .35rem; font-size: .85rem; color: #93a0b8; letter-spacing: .08em; }

/* 分类筛选条 */
.news-filter { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2.25rem; }
.news-filter button {
  appearance: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .55rem 1.15rem;
  border: 1px solid #dbe3ee; border-radius: 999px;
  background: #fff; color: #334155;
  font-size: .9rem; font-weight: 500; line-height: 1.4;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.news-filter button:hover { border-color: #00c9b1; color: #0d0b2e; transform: translateY(-1px); }
.news-filter button.is-active { background: #0d0b2e; border-color: #0d0b2e; color: #fff; }
.news-filter button b { font-size: .78em; font-weight: 600; opacity: .55; }
.news-filter button.is-active b { opacity: .75; }

/* 卡片网格 */
.news-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 700px) { .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; } }

.news-card {
  background: #fff; border: 1px solid #e8ecf3; border-radius: 10px; overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.news-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -20px rgba(13,11,46,.32); border-color: rgba(0,153,153,.45); }
.news-card[hidden] { display: none !important; }
.news-card__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; }

.news-card__media {
  position: relative; aspect-ratio: 16 / 9; overflow: hidden;
  display: flex; align-items: flex-end; justify-content: space-between;
  padding: 1rem 1.15rem;
}
.news-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.news-card:hover .news-card__media img { transform: scale(1.05); }
.news-card__media::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(4,6,20,.42), rgba(4,6,20,0) 55%);
}
.news-card__media span {
  position: relative; z-index: 1;
  font-size: .78rem; font-weight: 600; letter-spacing: .16em;
  color: rgba(255,255,255,.94); text-transform: uppercase;
}
.news-card__ico { position: absolute; top: 1.1rem; right: 1.15rem; width: 30px; height: 30px; color: rgba(255,255,255,.55); z-index: 1; }

.news-card__body { display: flex; flex-direction: column; flex: 1; padding: 1.15rem 1.25rem 1.4rem; }
.news-card__meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; }
.news-card__tag { font-size: .75rem; font-weight: 600; padding: .22rem .6rem; border-radius: 999px; line-height: 1.5; }
.news-card__date { font-size: .78rem; color: #94a3b8; letter-spacing: .02em; }
.news-card__title {
  margin: 0 0 .6rem; font-size: 1.06rem; line-height: 1.55; font-weight: 700; color: #0d0b2e;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s ease;
}
.news-card:hover .news-card__title { color: #00928c; }
.news-card__desc {
  margin: 0 0 1.1rem; font-size: .9rem; line-height: 1.8; color: #475569;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.news-card__more { margin-top: auto; display: inline-flex; align-items: center; gap: .35rem; font-size: .88rem; font-weight: 600; color: #009999; }
.news-card__more i { width: 16px; height: 16px; transition: transform .25s ease; }
.news-card:hover .news-card__more i { transform: translateX(3px); }

/* 空状态 */
.news-empty { padding: 3.5rem 1.5rem; text-align: center; color: #64748b; font-size: .95rem; line-height: 1.9; background: #fff; border: 1px dashed #dbe3ee; border-radius: 10px; }
.news-empty[hidden] { display: none !important; }
.news-empty__all { appearance: none; border: 0; background: none; padding: 0; margin-left: .2rem; color: #009999; font-size: inherit; font-weight: 600; cursor: pointer; text-decoration: underline; }

/* 首页新闻区「查看全部动态」入口 */
.news-more-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1.1rem; font-size: .92rem; font-weight: 600; color: #009999; text-decoration: none; }
.news-more-link i { width: 16px; height: 16px; transition: transform .25s ease; }
.news-more-link:hover { color: #007a7a; }
.news-more-link:hover i { transform: translateX(3px); }

/* 文章页分类标签改为链接 */
a.article-cat { text-decoration: none; }
a.article-cat:hover { background: #d9f3f0; }

/* 有配图时不叠分类文字，也不需要底部压暗渐变 */
.news-card__media.is-photo::after { display: none; }

/* ============================================================
   页脚底部版权条：提亮字色 + 排版理顺
   原为 text-slate-500(#64748b)，在 #0d0b2e 上对比度仅 4.0:1，
   12px 小字偏暗；改为 #a3aec4（约 8.9:1），链接再亮一档。
   ============================================================ */
html .ys-legalbar {
  font-size: 12.5px;
  line-height: 1.85;
  letter-spacing: .01em;
  color: #a3aec4;
}
html .ys-legalbar__copy {
  margin: 0;
  color: #a3aec4;
}
html .ys-legalbar__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 4px 22px;
  margin: 0;
}
html .ys-legalbar__links a {
  color: #c3cbdb;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease;
}
html .ys-legalbar__links a:hover,
html .ys-legalbar__links a:focus {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 窄屏：两行居中，四条链接一行排开；给满宽避免被右裁 */
@media (max-width: 767px) {
  html .ys-legalbar {
    text-align: center;
  }
  html .ys-legalbar__copy,
  html .ys-legalbar__links {
    width: 100%;
    max-width: 100%;
  }
  html .ys-legalbar__links {
    justify-content: center;
    gap: 5px 10px;
  }
}

/* 超窄屏（≤420px）：间距再收一点，四条链接仍保持一行 */
@media (max-width: 420px) {
  html .ys-legalbar { font-size: 12.5px; line-height: 1.8; }
  html .ys-legalbar__links { gap: 4px 8px; }
}

/* ============================================================
 * 站标尺寸（Tailwind 预编译版里没有 lg:h-8，这里直接定义）
 * 手机 32px / 桌面 36px，第一行 72px 高，视觉占比约 50%
 * 光学居中：图形左侧是圆形，几何居中时视觉偏上，故整体下移（桌面 7px / 手机 2px）
 * ============================================================ */
html .ys-logo {
	height: 32px;
	width: auto;
	max-width: 200px;
	position: relative;
	top: 2px;
}
@media (min-width: 1024px) {
	html .ys-logo { height: 36px; top: 7px; }
}

/* ============================================================
 * 标杆案例大卡：图片→深色底的过渡
 * 原 Tailwind 渐变 (from-brand-900 / via-40%) 把右半张图压成一片黑，
 * 这里减弱：右端 88%、62% 处 22%，让右侧的连线/箭头等图形细节能透出来
 * ============================================================ */
html .ys-casefade {
	background-image: linear-gradient(to right, rgba(13, 11, 46, .92) 0%, rgba(13, 11, 46, .42) 14%, rgba(13, 11, 46, .10) 38%, rgba(13, 11, 46, 0) 62%);
}
@media (min-width: 1024px) {
	html .ys-casefade {
		background-image: linear-gradient(to left, rgba(13, 11, 46, .90) 0%, rgba(13, 11, 46, .42) 14%, rgba(13, 11, 46, .10) 38%, rgba(13, 11, 46, 0) 62%);
	}
}

/* ============================================================
 * 百度爱番番（Aifanfan）
 * 留言板浮层保持默认行为（与 www.yiban.com.cn 官网一致：打开页面自动弹出，
 * 用户可手动关闭）。它同时也是站内表单的提交通道，因此不能隐藏。
 * 若以后不想自动弹出，请在爱番番后台调整「留言板」弹出策略，不要用 CSS 隐藏。
 * ============================================================ */

/* 爱番番两个悬浮件略微缩小（纯视觉缩放，不破坏内部布局与表单填写）
 * 用独立的 CSS `scale` 属性，避免覆盖爱番番自身的 transform 入场动画/居中逻辑
 * 右侧竖条咨询按钮 .embed-icon：0.75，贴右边缘、保持垂直居中
 * 左侧留言板浮层 .embed-messageboard-base：0.9，左下角锚定不跑出屏幕 */
html #aff-im-root .embed-icon {
	scale: 0.75 !important;
	transform-origin: right center !important;
}
html #aff-im-root .embed-messageboard-base {
	scale: 0.82 !important;
	transform-origin: left bottom !important;
}

/* ============================================================
 * 页面底部客资表单（预约演示）
 * 用自定义类，避免依赖预编译 tailwind.css 里可能缺失的断点/网格工具类
 * ============================================================ */
.ys-lead-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	max-width: 640px;
	margin: 0 auto;
	text-align: left;
}
@media (min-width: 640px) {
	.ys-lead-grid { grid-template-columns: 1fr 1fr; }
}
.ys-lead-input {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	border-radius: 8px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .2);
	color: #fff;
	font-size: 15px;
	line-height: 1.5;
	outline: none;
}
.ys-lead-input::placeholder { color: #94a3b8; }
.ys-lead-input:focus { border-color: #00B0BE; }
select.ys-lead-input { color-scheme: dark; }
.ys-lead-btn {
	display: inline-block;
	margin-top: 20px;
	padding: 12px 32px;
	border-radius: 8px;
	background: #00B0BE;
	color: #101140;
	font-weight: 600;
	font-size: 15px;
	border: 0;
	cursor: pointer;
	transition: background .2s;
}
.ys-lead-btn:hover { background: #22d3ee; }
.ys-lead-btn:disabled { opacity: .6; cursor: default; }
