@charset "utf-8";
/* ==========================================================
   远程预付费抄表系统 · 方案页公共样式
   命名前缀 ny-   （众冠官网 · 能耗/抄表方案）
   ========================================================== */

/* ---------- 动效 ---------- */
@keyframes nyUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes nyGlow { 0%,100% { opacity: .5; } 50% { opacity: .95; } }
@keyframes nyDash { to { stroke-dashoffset: 0; } }
.ny-up { animation: nyUp .7s ease-out both; }
.ny-d1 { animation-delay: .08s; }
.ny-d2 { animation-delay: .16s; }
.ny-d3 { animation-delay: .24s; }
.ny-d4 { animation-delay: .32s; }
.ny-d5 { animation-delay: .40s; }
.ny-d6 { animation-delay: .48s; }

.ny-svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ny-svg-lg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 子页导航 ---------- */
.ny-subnav { position: sticky; top: 80px; z-index: 900; background: rgba(255,255,255,.96); border-bottom: 1px solid #e2ecf5; box-shadow: 0 6px 18px rgba(15,43,74,.05); }
.ny-subnav-in { max-width: 1200px; margin: 0 auto; display: flex; justify-content: center; gap: 8px; padding: 12px 20px; flex-wrap: wrap; }
.ny-subnav-item { padding: 8px 20px; border-radius: 20px; font-size: 14px; color: #5a7088; border: 1px solid transparent; text-decoration: none; transition: all .25s ease-out; }
.ny-subnav-item:hover { color: #0194FE; border-color: #b8dcff; background: #f2f8ff; }
.ny-subnav-item.active { color: #fff; background: linear-gradient(135deg, #0194FE, #00a8a8); box-shadow: 0 6px 16px rgba(1,148,254,.28); }
.ny-subnav-item.active:hover { color: #fff; border-color: transparent; background: linear-gradient(135deg, #0194FE, #00a8a8); }

/* ---------- 主视觉 ---------- */
.ny-hero { position: relative; overflow: hidden; background: linear-gradient(135deg, #0b2440 0%, #14456f 45%, #1668a8 72%, #00a8a8 100%); padding: 84px 20px 96px; }
.ny-hero::before, .ny-hero::after { content: ''; position: absolute; border-radius: 50%; pointer-events: none; }
.ny-hero::before { top: -38%; right: -12%; width: 660px; height: 660px; background: radial-gradient(circle, rgba(0,168,168,.3), transparent 70%); animation: nyGlow 7s ease-in-out infinite; }
.ny-hero::after { bottom: -30%; left: -10%; width: 520px; height: 520px; background: radial-gradient(circle, rgba(26,115,192,.45), transparent 70%); animation: nyGlow 9s ease-in-out infinite 2s; }
.ny-hero-in { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.35fr .8fr; gap: 56px; align-items: center; color: #fff; }
.ny-hero-badge { display: inline-block; padding: 6px 18px; margin-bottom: 24px; font-size: 13px; letter-spacing: 1px; color: #d9f3ff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); border-radius: 20px; backdrop-filter: blur(8px); }
.ny-hero h1 { font-size: 50px; line-height: 1.25; font-weight: 700; color: #fff; margin-bottom: 22px; letter-spacing: 1px; }
.ny-hero h1 span { background: linear-gradient(90deg, #7ee8f0, #ffffff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ny-hero-desc { font-size: 16px; line-height: 1.9; color: rgba(255,255,255,.85); max-width: 620px; margin-bottom: 40px; }
.ny-hero-btns { display: flex; gap: 16px; flex-wrap: wrap; }

.ny-btn-p, .ny-btn-o { display: inline-flex; align-items: center; gap: 8px; padding: 14px 36px; border-radius: 40px; font-size: 15px; font-weight: 600; text-decoration: none; transition: all .3s ease-out; }
.ny-btn-p { background: #fff; color: #1273bf; border: 1px solid #fff; }
.ny-btn-p:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.22); color: #0d5c9c; }
.ny-btn-o { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); }
.ny-btn-o:hover { background: rgba(255,255,255,.15); border-color: #fff; transform: translateY(-4px); color: #fff; }

.ny-hero-right { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.ny-stat { display: flex; align-items: center; gap: 16px; min-height: 128px; padding: 26px 20px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(10px); transition: all .3s ease-out; }
.ny-stat:hover { transform: translateY(-4px); background: rgba(255,255,255,.14); border-color: rgba(126,232,240,.4); }
.ny-stat-icon { flex-shrink: 0; width: 58px; height: 58px; border-radius: 14px; display: flex; align-items: center; justify-content: center; color: #7ee8f0; background: linear-gradient(135deg, rgba(126,232,240,.24), rgba(26,115,192,.24)); }
.ny-stat .num { font-size: 34px; font-weight: 700; color: #fff; line-height: 1.1; }
.ny-stat .num em { font-style: normal; font-size: 19px; color: #7ee8f0; margin-left: 2px; }
.ny-stat .label { margin-top: 6px; font-size: 13px; color: rgba(255,255,255,.7); }

/* 子页紧凑主视觉 */
.ny-page-hero { position: relative; overflow: hidden; background: linear-gradient(135deg, #0b2440 0%, #14456f 60%, #0d7ea8 100%); padding: 72px 20px 64px; color: #fff; }
.ny-page-hero::after { content: ''; position: absolute; top: -40%; right: -8%; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(0,168,168,.3), transparent 70%); }
.ny-page-hero-in { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; }
.ny-page-hero .ny-hero-badge { margin-bottom: 18px; }
.ny-page-hero h1 { font-size: 38px; line-height: 1.3; font-weight: 700; margin-bottom: 14px; color: #fff; }
.ny-page-hero h1 span { color: #7ee8f0; }
.ny-page-hero p { font-size: 15px; line-height: 1.9; color: rgba(255,255,255,.82); max-width: 720px; }

/* ---------- 区块 ---------- */
.ny-section { padding: 80px 20px; }
.ny-section-in { max-width: 1200px; margin: 0 auto; }
.ny-section-head { text-align: center; margin-bottom: 50px; }
.ny-section-tag { display: inline-block; padding: 5px 16px; margin-bottom: 14px; border-radius: 4px; font-size: 12px; font-weight: 600; letter-spacing: 1px; color: #0194FE; background: #e8f1fb; }
.ny-section-title { font-size: 32px; font-weight: 700; color: #1a2a3a; margin-bottom: 12px; }
.ny-section-title span { color: #0194FE; }
.ny-section-desc { font-size: 15px; line-height: 1.9; color: #5a7088; max-width: 660px; margin: 0 auto; }
.ny-bg-soft { background: #f5f9fc; }
.ny-bg-white { background: #fff; }

/* 深色区块 */
.ny-dark { background: linear-gradient(135deg, #0f2b4a 0%, #1a4a7a 100%); }
.ny-dark .ny-section-title { color: #fff; }
.ny-dark .ny-section-title span { color: #7ee8f0; }
.ny-dark .ny-section-desc { color: rgba(255,255,255,.7); }
.ny-dark .ny-section-tag { background: rgba(255,255,255,.12); color: #7ee8f0; }

/* ---------- 方案概述 ---------- */
.ny-overview { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: center; }
.ny-overview-text .ny-section-head { text-align: left; margin-bottom: 24px; }
.ny-overview-text .ny-section-desc { margin: 0; }
.ny-overview-text > p { font-size: 15px; line-height: 2; color: #5a7088; margin-bottom: 18px; }
.ny-ov-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 26px; }
.ny-ov-item { display: flex; gap: 12px; padding: 18px; border-radius: 10px; background: #f5f9fc; border: 1px solid #e2ecf5; transition: all .3s ease-out; }
.ny-ov-item:hover { border-color: #0194FE; background: #fff; box-shadow: 0 10px 26px rgba(1,148,254,.1); }
.ny-ov-item .ico { flex-shrink: 0; width: 38px; height: 38px; border-radius: 9px; display: flex; align-items: center; justify-content: center; color: #0194FE; background: #e8f1fb; }
.ny-ov-item .ico svg { width: 20px; height: 20px; }
.ny-ov-item h4 { font-size: 15px; font-weight: 600; color: #1a2a3a; margin-bottom: 4px; }
.ny-ov-item p { font-size: 12px; line-height: 1.6; color: #8095a8; margin: 0; }

/* 图片展示 */
.ny-shot { position: relative; border-radius: 14px; overflow: hidden; box-shadow: 0 18px 44px rgba(15,43,74,.16); border: 1px solid #e2ecf5; background: #0f2b4a; }
.ny-shot img { display: block; width: 100%; }
.ny-shot-cap { margin-top: 12px; text-align: center; font-size: 13px; color: #8899aa; }
.ny-shot-wide { max-width: 960px; margin: 0 auto; }

/* ---------- 九大功能模块 ---------- */
.ny-module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ny-module-item { position: relative; display: block; overflow: hidden; padding: 28px 24px; border-radius: 12px; background: #fff; border: 1px solid #e2ecf5; color: inherit; text-decoration: none; transition: all .3s ease-out; }
.ny-module-item::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, #0194FE, #00a8a8); transform: scaleX(0); transform-origin: left; transition: transform .3s ease-out; }
.ny-module-item:hover::before { transform: scaleX(1); }
.ny-module-item:hover { transform: translateY(-4px); border-color: #0194FE; box-shadow: 0 14px 34px rgba(1,148,254,.12); }
.ny-mi-top { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.ny-mi-icon { width: 48px; height: 48px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: #0194FE; background: #e8f1fb; transition: all .3s ease-out; }
.ny-module-item:hover .ny-mi-icon { color: #fff; background: linear-gradient(135deg, #0194FE, #00a8a8); }
.ny-mi-no { font-size: 13px; font-weight: 700; letter-spacing: 1px; color: #b8c9d8; font-family: 'Courier New', monospace; }
.ny-mi-name { font-size: 17px; font-weight: 600; color: #1a2a3a; }
.ny-mi-desc { font-size: 13px; line-height: 1.8; color: #8095a8; }

/* 模块分类标题 */
.ny-module-cat { margin-bottom: 40px; }
.ny-module-cat:last-child { margin-bottom: 0; }
.ny-module-cat-head { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.ny-module-cat-num { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #0194FE, #00a8a8); }
.ny-module-cat-title { font-size: 19px; font-weight: 700; color: #1a2a3a; }
.ny-module-cat-line { flex: 1; height: 1px; background: linear-gradient(90deg, #e2ecf5, transparent); }

/* ---------- 分层架构 ---------- */
.ny-arch-wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ny-arch-layer { position: relative; display: flex; flex-direction: column; border-radius: 14px; box-shadow: 0 4px 16px rgba(15,43,74,.06); transition: all .3s ease-out; }
.ny-arch-layer:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(15,43,74,.14); }
.ny-arch-head { padding: 22px 18px; text-align: center; color: #fff; border-radius: 14px 14px 0 0; }
.ny-arch-head .no { width: 38px; height: 38px; margin: 0 auto 10px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; font-family: 'Courier New', monospace; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.4); }
.ny-arch-head .name { display: block; font-size: 16px; font-weight: 700; letter-spacing: 1px; margin-bottom: 4px; }
.ny-arch-head .sub { display: block; font-size: 12px; opacity: .85; line-height: 1.5; }
.ny-arch-body { flex: 1; padding: 16px 14px; background: #fff; border: 1px solid #e2ecf5; border-top: none; border-radius: 0 0 14px 14px; }
.ny-arch-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.ny-arch-tag { padding: 6px 11px; border-radius: 6px; font-size: 12px; line-height: 1.4; color: #284866; background: #f5f9fc; border: 1px solid #e2ecf5; transition: all .25s ease-out; }
.ny-arch-tag:hover { color: #0194FE; border-color: #0194FE; background: #e8f1fb; }
.ny-arch-wrap .ny-arch-layer:not(:last-child)::after { content: '→'; position: absolute; top: 50%; right: -14px; z-index: 10; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: #00a8a8; background: #fff; border: 2px solid #00a8a8; box-shadow: 0 2px 8px rgba(0,168,168,.2); transform: translateY(-50%); }
.ny-arch-1 .ny-arch-head { background: linear-gradient(135deg, #0b2440, #14456f); }
.ny-arch-2 .ny-arch-head { background: linear-gradient(135deg, #0194FE, #2d8fd8); }
.ny-arch-3 .ny-arch-head { background: linear-gradient(135deg, #00a8a8, #00c4c4); }
.ny-arch-4 .ny-arch-head { background: linear-gradient(135deg, #164e63, #0e7490); }

/* 架构详情（子页） */
.ny-layer-detail { display: grid; grid-template-columns: 96px 1fr; gap: 26px; align-items: start; padding: 34px; margin-bottom: 20px; background: #fff; border: 1px solid #e2ecf5; border-left: 4px solid #0194FE; border-radius: 12px; transition: all .3s ease-out; }
.ny-layer-detail:hover { box-shadow: 0 14px 34px rgba(1,148,254,.1); transform: translateY(-2px); }
.ny-layer-detail .ld-no { width: 96px; height: 96px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #fff; background: linear-gradient(135deg, #0194FE, #00a8a8); }
.ny-layer-detail .ld-no b { font-size: 26px; font-family: 'Courier New', monospace; line-height: 1; }
.ny-layer-detail .ld-no i { font-style: normal; font-size: 11px; opacity: .8; letter-spacing: 1px; }
.ny-layer-detail h3 { font-size: 20px; font-weight: 700; color: #1a2a3a; margin-bottom: 8px; }
.ny-layer-detail p { font-size: 14px; line-height: 1.9; color: #5a7088; margin-bottom: 14px; }
.ny-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.ny-chip { padding: 6px 14px; border-radius: 20px; font-size: 12px; color: #0194FE; background: #e8f1fb; border: 1px solid #cfe6ff; }

/* ---------- 技术优势 ---------- */
.ny-adv-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ny-adv-item { padding: 34px 26px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(10px); transition: all .3s ease-out; }
.ny-adv-item:hover { transform: translateY(-4px); background: rgba(255,255,255,.1); border-color: rgba(126,232,240,.4); }
.ny-adv-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.ny-adv-icon { width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #7ee8f0; background: rgba(126,232,240,.18); }
.ny-adv-icon svg { width: 22px; height: 22px; }
.ny-adv-num { font-size: 40px; font-weight: 700; line-height: 1; color: rgba(126,232,240,.28); }
.ny-adv-title { font-size: 17px; font-weight: 600; color: #fff; margin-bottom: 8px; }
.ny-adv-desc { font-size: 13px; line-height: 1.9; color: rgba(255,255,255,.65); }

/* ---------- 应用场景 ---------- */
.ny-scene-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ny-scene-item { display: block; padding: 32px 18px; text-align: center; border-radius: 12px; background: #fff; border: 1px solid #e2ecf5; color: inherit; text-decoration: none; transition: all .3s ease-out; }
.ny-scene-item:hover { transform: translateY(-4px); border-color: #0194FE; box-shadow: 0 14px 34px rgba(1,148,254,.12); }
.ny-scene-icon { width: 62px; height: 62px; margin: 0 auto 16px; border-radius: 16px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, #0194FE, #00a8a8); transition: all .3s ease-out; }
.ny-scene-icon svg { width: 30px; height: 30px; stroke: #fff; }
.ny-scene-item:hover .ny-scene-icon { transform: scale(1.08); box-shadow: 0 8px 22px rgba(1,148,254,.3); }
.ny-scene-name { font-size: 16px; font-weight: 600; color: #1a2a3a; }
.ny-scene-sub { margin-top: 8px; font-size: 12px; line-height: 1.6; color: #8899aa; }

/* 场景详情卡片（子页） */
.ny-scene-block { display: grid; grid-template-columns: 260px 1fr; gap: 0; overflow: hidden; margin-bottom: 24px; border-radius: 14px; background: #fff; border: 1px solid #e2ecf5; box-shadow: 0 6px 24px rgba(15,43,74,.05); }
.ny-scene-block:hover { box-shadow: 0 16px 40px rgba(1,148,254,.1); }
.ny-sb-side { position: relative; padding: 36px 26px; color: #fff; background: linear-gradient(135deg, #14456f, #00a8a8); }
.ny-sb-side .ny-scene-icon { margin: 0 0 16px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.35); }
.ny-sb-side h3 { font-size: 21px; font-weight: 700; margin-bottom: 8px; color: #fff; }
.ny-sb-side p { font-size: 12px; line-height: 1.7; color: rgba(255,255,255,.8); }
.ny-sb-body { padding: 30px 32px; }
.ny-sb-row { margin-bottom: 16px; }
.ny-sb-row:last-child { margin-bottom: 0; }
.ny-sb-row h4 { font-size: 13px; font-weight: 700; letter-spacing: 1px; color: #0194FE; margin-bottom: 6px; }
.ny-sb-row p { font-size: 14px; line-height: 1.85; color: #5a7088; }
.ny-sb-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ny-sb-tag { padding: 5px 14px; border-radius: 20px; font-size: 12px; color: #fff; background: linear-gradient(135deg, #0194FE, #00a8a8); }

/* ---------- 业务流程 ---------- */
.ny-flow-tabs { display: flex; justify-content: center; gap: 12px; margin-bottom: 38px; flex-wrap: wrap; }
.ny-flow-tab { padding: 9px 26px; border-radius: 20px; font-size: 14px; color: #5a7088; background: #f5f9fc; border: 1px solid #e2ecf5; cursor: pointer; transition: all .25s ease-out; }
.ny-flow-tab:hover { color: #0194FE; border-color: #0194FE; }
.ny-flow-tab.active { color: #fff; background: #0194FE; border-color: #0194FE; }
.ny-flow-wrap { position: relative; display: flex; justify-content: space-between; align-items: flex-start; max-width: 1100px; margin: 0 auto; padding: 40px 10px 0; }
.ny-flow-wrap::before { content: ''; position: absolute; top: 40px; left: 60px; right: 60px; height: 2px; background: linear-gradient(90deg, #0194FE, #00a8a8, #0194FE); box-shadow: 0 0 8px rgba(1,148,254,.3); }
.ny-flow-node { position: relative; flex: 1; min-width: 0; padding: 0 8px; text-align: center; }
.ny-flow-node::before { content: attr(data-no); position: absolute; top: -6px; left: 50%; z-index: 2; width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; font-family: 'Courier New', monospace; color: #fff; background: linear-gradient(135deg, #0194FE, #00a8a8); box-shadow: 0 0 0 4px rgba(255,255,255,.9), 0 6px 18px rgba(1,148,254,.35); transform: translateX(-50%); }
.ny-flow-node:not(:last-child)::after { content: '›'; position: absolute; top: 14px; right: -2px; z-index: 3; font-size: 22px; font-weight: 700; color: #00a8a8; }
.ny-flow-card { margin-top: 66px; padding: 16px 14px; text-align: center; border-radius: 12px; background: #fff; border: 1px solid #e2ecf5; box-shadow: 0 4px 16px rgba(15,43,74,.06); transition: all .3s ease-out; }
.ny-flow-card:hover { transform: translateY(-3px); border-color: #0194FE; box-shadow: 0 12px 28px rgba(1,148,254,.14); }
.ny-flow-title { display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 15px; font-weight: 700; color: #1a2a3a; margin-bottom: 6px; }
.ny-flow-title .dot { width: 6px; height: 6px; border-radius: 50%; background: #00a8a8; box-shadow: 0 0 8px rgba(0,168,168,.6); }
.ny-flow-desc { font-size: 12px; line-height: 1.65; color: #6b7f94; }

/* ---------- 控制台 / 驾驶舱预览 ---------- */
.ny-cockpit { position: relative; overflow: hidden; padding: 40px; border-radius: 16px; color: #fff; background: linear-gradient(135deg, #07182b 0%, #0f2b4a 100%); box-shadow: 0 20px 56px rgba(11,36,64,.35); }
.ny-cockpit::before { content: ''; position: absolute; inset: 0; opacity: .55; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%230194FE' fill-opacity='0.07'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.ny-cockpit-head { position: relative; z-index: 2; text-align: center; margin-bottom: 28px; }
.ny-cockpit-head h3 { font-size: 21px; font-weight: 600; letter-spacing: 6px; color: #fff; }
.ny-cockpit-head p { margin-top: 8px; font-size: 12px; letter-spacing: 3px; color: rgba(126,232,240,.7); }
.ny-cc-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ny-cc-card { padding: 18px; text-align: center; border-radius: 10px; background: rgba(255,255,255,.04); border: 1px solid rgba(1,148,254,.3); transition: all .3s ease-out; }
.ny-cc-card:hover { transform: translateY(-3px); background: rgba(255,255,255,.07); border-color: rgba(126,232,240,.5); }
.ny-cc-num { font-size: 26px; font-weight: 700; font-family: 'Courier New', monospace; color: #7ee8f0; line-height: 1.2; }
.ny-cc-num small { font-size: 13px; font-weight: 400; margin-left: 2px; color: rgba(126,232,240,.65); }
.ny-cc-label { margin-top: 6px; font-size: 12px; color: rgba(255,255,255,.6); }
.ny-cc-card.wide { grid-column: span 2; text-align: left; padding: 18px 20px; }
.ny-cc-card.wide .ny-cc-label { font-size: 13px; color: rgba(255,255,255,.8); }
.ny-cc-chart { display: flex; align-items: flex-end; gap: 6px; height: 92px; margin-top: 12px; }
.ny-cc-bar { flex: 1; min-height: 8px; border-radius: 2px 2px 0 0; background: linear-gradient(180deg, #0194FE, #00a8a8); opacity: .85; }
.ny-cc-bar.alt { background: linear-gradient(180deg, #7ee8f0, #0194FE); }
.ny-cockpit .ny-btn-o { display: flex; justify-content: center; margin: 30px auto 0; max-width: 260px; }

/* 驾驶舱仪表盘（子页） */
.ny-meter-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 16px; }
.ny-donut { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 20px; border-radius: 12px; background: rgba(255,255,255,.03); border: 1px solid rgba(1,148,254,.25); }
.ny-donut-ring { position: relative; width: 110px; height: 110px; flex-shrink: 0; border-radius: 50%; background: conic-gradient(#7ee8f0 0 86%, rgba(255,255,255,.12) 86% 100%); }
.ny-donut-ring::after { content: ''; position: absolute; inset: 10px; border-radius: 50%; background: #0c2137; }
.ny-donut-ring span { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; font-family: 'Courier New', monospace; color: #7ee8f0; }
.ny-donut-info { font-size: 12px; line-height: 1.9; color: rgba(255,255,255,.7); }
.ny-donut-info b { color: #fff; font-size: 14px; display: block; margin-bottom: 2px; }

/* ---------- 案例 ---------- */
.ny-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ny-case { padding: 30px 26px; border-radius: 14px; background: #fff; border: 1px solid #e2ecf5; border-top: 3px solid #0194FE; transition: all .3s ease-out; }
.ny-case:hover { transform: translateY(-4px); box-shadow: 0 16px 38px rgba(1,148,254,.12); }
.ny-case h4 { font-size: 17px; font-weight: 700; color: #1a2a3a; line-height: 1.5; margin-bottom: 12px; }
.ny-case p { font-size: 13px; line-height: 1.9; color: #6b7f94; }
.ny-case-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ny-case-tag { padding: 4px 12px; border-radius: 20px; font-size: 12px; color: #0194FE; background: #e8f1fb; }

/* ---------- 服务保障 ---------- */
.ny-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ny-service { padding: 30px 24px; border-radius: 12px; background: #fff; border: 1px solid #e2ecf5; transition: all .3s ease-out; }
.ny-service:hover { transform: translateY(-4px); border-color: #0194FE; box-shadow: 0 14px 32px rgba(1,148,254,.1); }
.ny-service-icon { width: 48px; height: 48px; margin-bottom: 14px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: #0194FE; background: #e8f1fb; }
.ny-service h4 { font-size: 16px; font-weight: 600; color: #1a2a3a; margin-bottom: 8px; }
.ny-service p { font-size: 13px; line-height: 1.85; color: #8095a8; }

/* ---------- 智能计量设备 ---------- */
.ny-device { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.ny-device-text h3 { font-size: 26px; font-weight: 700; color: #1a2a3a; margin-bottom: 14px; }
.ny-device-text p { font-size: 14px; line-height: 2; color: #5a7088; margin-bottom: 18px; }
.ny-device-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.ny-device-item { padding: 14px 10px; text-align: center; border-radius: 10px; background: #f5f9fc; border: 1px solid #e2ecf5; font-size: 13px; color: #284866; }
.ny-device-item b { display: block; font-size: 15px; color: #0194FE; margin-bottom: 2px; }

/* ---------- CTA ---------- */
.ny-cta { background: linear-gradient(135deg, #0194FE 0%, #00a8a8 100%); }
.ny-cta .ny-section-title { color: #fff; }
.ny-cta .ny-section-title span { color: #fff; text-decoration: underline; text-underline-offset: 6px; }
.ny-cta .ny-section-desc { color: rgba(255,255,255,.9); }
.ny-cta .ny-section-tag { background: rgba(255,255,255,.2); color: #fff; }
.ny-cta .ny-hero-btns { justify-content: center; }
.ny-cta .ny-btn-o { border-color: rgba(255,255,255,.6); }

/* ---------- 通用表格 ---------- */
.ny-table-wrap { overflow-x: auto; border-radius: 12px; border: 1px solid #e2ecf5; background: #fff; }
.ny-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ny-table th { padding: 15px 18px; text-align: left; font-weight: 600; color: #fff; background: linear-gradient(135deg, #14456f, #0194FE); white-space: nowrap; }
.ny-table td { padding: 14px 18px; line-height: 1.7; color: #5a7088; border-bottom: 1px solid #eef4fa; vertical-align: top; }
.ny-table tbody tr:last-child td { border-bottom: none; }
.ny-table tbody tr:hover td { background: #f7fbff; }
.ny-table td b { color: #1a2a3a; font-weight: 600; }

/* ---------- 要点列表 ---------- */
.ny-points { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 28px; }
.ny-point { position: relative; padding-left: 24px; font-size: 14px; line-height: 1.8; color: #5a7088; }
.ny-point::before { content: ''; position: absolute; left: 0; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(135deg, #0194FE, #00a8a8); box-shadow: 0 0 0 3px #e8f1fb; }

/* ---------- 底部相关页面 ---------- */
.ny-related { border-top: 1px solid #e2ecf5; background: #fff; padding: 26px 20px; }
.ny-related-in { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; font-size: 13px; color: #8899aa; }
.ny-related-in span { margin-right: 6px; }
.ny-related-in a { padding: 6px 16px; border-radius: 18px; color: #5a7088; text-decoration: none; border: 1px solid #e2ecf5; transition: all .25s ease-out; }
.ny-related-in a:hover { color: #0194FE; border-color: #0194FE; background: #f2f8ff; }

/* ---------- 响应式 ---------- */
@media (max-width: 1200px) {
    .ny-module-grid, .ny-adv-grid, .ny-scene-grid, .ny-service-grid, .ny-case-grid { grid-template-columns: repeat(2, 1fr); }
    .ny-arch-wrap { grid-template-columns: repeat(2, 1fr); }
    .ny-arch-wrap .ny-arch-layer::after { display: none; }
    .ny-overview { gap: 36px; }
    .ny-hero h1 { font-size: 42px; }
    .ny-meter-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .ny-hero-in { grid-template-columns: 1fr; gap: 36px; }
    .ny-hero-right { grid-template-columns: repeat(4, 1fr); }
    .ny-overview, .ny-device { grid-template-columns: 1fr; }
    .ny-scene-block { grid-template-columns: 1fr; }
    .ny-cc-grid { grid-template-columns: repeat(2, 1fr); }
    .ny-cc-card.wide { grid-column: span 2; }
    .ny-flow-wrap { flex-wrap: wrap; }
    .ny-flow-wrap::before { display: none; }
    .ny-flow-node { flex: 0 0 50%; margin-bottom: 32px; }
    .ny-flow-node::before { left: 24px; transform: none; }
    .ny-flow-node:not(:last-child)::after { display: none; }
    .ny-flow-card { margin-top: 0; text-align: left; padding: 16px 16px 16px 86px; }
    .ny-flow-title { justify-content: flex-start; }
    .ny-layer-detail { grid-template-columns: 1fr; }
    .ny-layer-detail .ld-no { width: 72px; height: 72px; flex-direction: row; gap: 6px; }
    .ny-points { grid-template-columns: 1fr; }
    .ny-meter-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .ny-hero { padding: 60px 18px 72px; }
    .ny-hero h1 { font-size: 32px; }
    .ny-hero-right { grid-template-columns: repeat(2, 1fr); }
    .ny-page-hero { padding: 56px 18px 48px; }
    .ny-page-hero h1 { font-size: 28px; }
    .ny-section { padding: 56px 16px; }
    .ny-section-title { font-size: 25px; }
    .ny-module-grid, .ny-adv-grid, .ny-scene-grid, .ny-service-grid, .ny-case-grid, .ny-arch-wrap { grid-template-columns: 1fr; }
    .ny-ov-list { grid-template-columns: 1fr; }
    .ny-cc-grid { grid-template-columns: 1fr; }
    .ny-cc-card.wide { grid-column: span 1; }
    .ny-cockpit { padding: 26px 18px; }
    .ny-device-list { grid-template-columns: repeat(2, 1fr); }
    .ny-flow-node { flex: 0 0 100%; }
    .ny-subnav { top: 80px; }
    .ny-subnav-in { padding: 10px; gap: 6px; }
    .ny-subnav-item { padding: 7px 14px; font-size: 13px; }
}
