/* ============================================================
   pages/landing.css · 产品首页（前缀 ld-）—— 深色、蓝图网格、虎珀橙强调
   ============================================================ */
.ld { background: var(--deck); color: var(--on-deck); min-height: 100vh; overflow-x: hidden; }
.ld a { color: inherit; }
.ld-wrap { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
.ld-eyebrow { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--amber); display: inline-flex; align-items: center; gap: 8px; }
.ld-eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--amber); }
.ld h2 { font-size: clamp(26px, 3.2vw, 38px); line-height: 1.25; letter-spacing: -.02em; margin: 14px 0 12px; }
.ld-lede { color: var(--on-deck-2); font-size: 16px; line-height: 1.8; max-width: 720px; }
.ld-sec { padding: 96px 0; position: relative; }
.ld-sec.alt { background: var(--deck-2); border-top: 1px solid var(--deck-line); border-bottom: 1px solid var(--deck-line); }
.ld-sec.light { background: #F3F5F9; color: #0D1526; } .ld-sec.light .ld-lede { color: #424E68; } .ld-sec.light .ld-eyebrow { color: #C25B00; } .ld-sec.light .ld-eyebrow::before { background: #C25B00; }

/* 导航 */
.ld-nav { position: fixed; z-index: 60; top: 0; left: 0; right: 0; height: 64px; display: flex; align-items: center; transition: background .25s, border-color .25s; border-bottom: 1px solid transparent; }
.ld-nav.is-solid { background: rgba(8, 12, 24, .86); backdrop-filter: blur(14px); border-color: var(--deck-line); }
.ld-nav .ld-wrap { display: flex; align-items: center; gap: 28px; }
.ld-logo { display: inline-flex; align-items: center; gap: 11px; text-decoration: none !important; }
.ld-logo img { width: 30px; } .ld-logo b { font-size: 15.5px; letter-spacing: .01em; white-space: nowrap; } .ld-logo i { display: block; font-style: normal; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .16em; color: var(--on-deck-3); }
.ld-links { display: flex; gap: 4px; margin-left: auto; }
.ld-links a { padding: 8px 12px; border-radius: 6px; font-size: 13.5px; color: var(--on-deck-2); text-decoration: none !important; }
.ld-links a:hover { color: #fff; background: rgba(255, 255, 255, .07); }
.ld .btn-line { border-color: var(--deck-line-strong); background: transparent; color: var(--on-deck); } .ld .btn-line:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .4); }

/* Hero */
.ld-hero { position: relative; padding: 132px 0 72px; }
.ld-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(var(--deck-line) 1px, transparent 1px), linear-gradient(90deg, var(--deck-line) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse 90% 80% at 50% 0%, #000 20%, transparent 78%); -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 0%, #000 20%, transparent 78%); }
.ld-hero::after { content: ""; position: absolute; width: 900px; height: 900px; right: -320px; top: -360px; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 144, 213, .28), transparent 70%); pointer-events: none; }
.ld-hero-in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 48px; align-items: center; }
.ld-h1 { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.16; letter-spacing: -.03em; margin: 18px 0 20px; font-weight: 700; }
.ld-h1 em { font-style: normal; background: linear-gradient(100deg, #FFB45C, #FF8A1F 60%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.ld-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 30px; font-size: 13px; color: var(--on-deck-2); }
.ld-trust span { display: inline-flex; align-items: center; gap: 7px; } .ld-trust .ico { color: var(--amber); }
.ld-console { position: relative; border-radius: 14px; border: 1px solid var(--deck-line-strong); background: #060A14; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .03) inset; overflow: hidden; }
.ld-console-bar { display: flex; align-items: center; gap: 10px; height: 38px; padding: 0 14px; border-bottom: 1px solid var(--deck-line); font-family: var(--font-mono); font-size: 11.5px; color: var(--on-deck-3); }
.ld-console-bar b { color: var(--amber); font-weight: 500; } .ld-console-bar .sp { margin-left: auto; display: inline-flex; gap: 6px; align-items: center; color: #2ED3A0; }
.ld-console-view { position: relative; aspect-ratio: 16 / 10.2; }
.ld-console-view > #ld-3d { position: absolute; inset: 0; }
.ld-float { position: absolute; z-index: 3; padding: 9px 12px; border-radius: 9px; background: rgba(8, 12, 24, .78); border: 1px solid rgba(255, 255, 255, .13); backdrop-filter: blur(8px); font-size: 12px; color: var(--on-deck-2); }
.ld-float b { display: block; font-size: 17px; color: #fff; font-weight: 650; letter-spacing: -.01em; } .ld-float.a { left: 14px; bottom: 14px; } .ld-float.b { right: 14px; top: 14px; } .ld-float .mono { color: var(--amber); font-size: 10.5px; letter-spacing: .08em; }
.ld-stages { display: flex; gap: 0; border-top: 1px solid var(--deck-line); }
.ld-stages span { flex: 1; padding: 9px 4px; text-align: center; font-size: 11.5px; color: var(--on-deck-3); border-right: 1px solid var(--deck-line); transition: color .3s, background .3s; } .ld-stages span:last-child { border-right: 0; }
.ld-stages span.on { color: #fff; background: rgba(255, 138, 31, .16); box-shadow: inset 0 2px 0 var(--amber); }

/* 数字条 */
.ld-nums { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--deck-line); border-radius: 12px; margin-top: 64px; background: rgba(255, 255, 255, .02); position: relative; z-index: 1; }
.ld-num { padding: 22px 24px; border-right: 1px solid var(--deck-line); } .ld-num:last-child { border-right: 0; }
.ld-num b { font-size: 34px; font-weight: 700; letter-spacing: -.03em; line-height: 1; } .ld-num b em { font-style: normal; font-size: 14px; font-weight: 500; color: var(--on-deck-3); margin-left: 4px; }
.ld-num span { display: block; margin-top: 8px; font-size: 13px; color: var(--on-deck-2); }

/* 四个中心 */
.ld-centers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 44px; }
.ld-center { position: relative; padding: 28px; border-radius: 14px; border: 1px solid var(--deck-line); background: linear-gradient(160deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .01)); text-decoration: none !important; transition: border-color .2s, transform .2s, background .2s; overflow: hidden; }
.ld-center:hover { border-color: var(--amber); transform: translateY(-3px); }
.ld-center .no { position: absolute; right: 22px; top: 18px; font-family: var(--font-mono); font-size: 44px; font-weight: 700; color: rgba(255, 255, 255, .05); letter-spacing: -.04em; }
.ld-center-ico { width: 46px; height: 46px; border-radius: 11px; display: grid; place-items: center; color: #fff; background: var(--brand-grad); }
.ld-center h3 { font-size: 20px; margin: 18px 0 8px; } .ld-center p { color: var(--on-deck-2); font-size: 14px; line-height: 1.75; }
.ld-center ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-top: 18px; font-size: 13px; color: var(--on-deck-2); } .ld-center li { display: flex; gap: 7px; align-items: center; } .ld-center li .ico { color: var(--amber); }
.ld-center .go { display: inline-flex; align-items: center; gap: 6px; margin-top: 22px; font-size: 13.5px; font-weight: 600; color: var(--amber); }

/* 任务链 */
.ld-pipe { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; margin-top: 44px; }
.ld-pipe-tabs { display: flex; flex-direction: column; gap: 6px; }
.ld-pipe-tab { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border-radius: 10px; border: 1px solid #DDE3EE; background: #fff; text-align: left; color: #424E68; transition: all .15s; }
.ld-pipe-tab .n { font-family: var(--font-mono); font-size: 11px; color: #A7B1C4; } .ld-pipe-tab b { font-size: 14.5px; color: #0D1526; } .ld-pipe-tab .ico { margin-left: auto; opacity: 0; transition: opacity .15s; }
.ld-pipe-tab:hover { border-color: #1A5BB0; } .ld-pipe-tab.is-active { border-color: #FF8A1F; background: #FFF2E3; box-shadow: 0 8px 20px -12px rgba(255, 138, 31, .6); } .ld-pipe-tab.is-active .n { color: #C25B00; } .ld-pipe-tab.is-active .ico { opacity: 1; color: #C25B00; }
.ld-pipe-panel { border-radius: 14px; background: #fff; border: 1px solid #DDE3EE; padding: 28px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; box-shadow: 0 20px 50px -30px rgba(13, 21, 38, .4); }
.ld-pipe-panel h3 { font-size: 22px; margin: 8px 0 10px; } .ld-pipe-panel p { color: #424E68; font-size: 14.5px; line-height: 1.8; }
.ld-pipe-panel dl { margin-top: 18px; display: grid; grid-template-columns: max-content 1fr; gap: 10px 16px; font-size: 13.5px; } .ld-pipe-panel dt { color: #7B879E; } .ld-pipe-panel dd { margin: 0; color: #0D1526; }

/* 场景墙 */
.ld-scenes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.ld-scene { border-radius: 12px; overflow: hidden; border: 1px solid var(--deck-line); background: var(--deck-3); text-decoration: none !important; transition: transform .2s, border-color .2s; }
.ld-scene:hover { transform: translateY(-3px); border-color: var(--amber); }
.ld-scene-img { aspect-ratio: 16 / 10; background: #060A14; position: relative; } .ld-scene-img img { width: 100%; height: 100%; object-fit: cover; } .ld-scene-img img:not([src]) { visibility: hidden; }
.ld-scene-img .mono { position: absolute; left: 8px; top: 8px; font-size: 10.5px; padding: 1px 6px; border-radius: 3px; background: rgba(8, 12, 24, .7); border: 1px solid rgba(255, 255, 255, .15); }
.ld-scene-b { padding: 12px 14px 14px; } .ld-scene-b b { font-size: 14px; display: block; } .ld-scene-b span { font-size: 12px; color: var(--on-deck-3); }
.ld .chip { background: transparent; border-color: var(--deck-line-strong); color: var(--on-deck-2); } .ld .chip:hover { border-color: var(--amber); color: #fff; } .ld .chip.is-active { background: var(--amber); border-color: var(--amber); color: var(--amber-ink); }

/* 图文对栏 */
.ld-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 56px; align-items: center; }
.ld-split.rev > :first-child { order: 2; }
.ld-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; margin-top: 28px; }
.ld-feat { display: flex; gap: 12px; } .ld-feat .ic { width: 36px; height: 36px; border-radius: 9px; flex: 0 0 auto; display: grid; place-items: center; background: rgba(255, 138, 31, .14); color: var(--amber); }
.ld-feat b { display: block; font-size: 14.5px; } .ld-feat span { font-size: 13px; color: var(--on-deck-2); line-height: 1.65; }
.ld-sec.light .ld-feat span { color: #424E68; } .ld-sec.light .ld-feat .ic { background: #FFF2E3; color: #C25B00; }
.ld-mock { border-radius: 14px; border: 1px solid var(--deck-line-strong); background: #0B1122; box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .9); overflow: hidden; font-size: 13px; }
.ld-sec.light .ld-mock { background: #fff; border-color: #DDE3EE; box-shadow: 0 30px 70px -40px rgba(13, 21, 38, .45); color: #0D1526; }
.ld-mock-bar { display: flex; gap: 8px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--deck-line); font-size: 12px; color: var(--on-deck-3); } .ld-sec.light .ld-mock-bar { border-color: #E1E6EF; color: #7B879E; }
.ld-mock-b { padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.ld-bub { max-width: 86%; padding: 10px 13px; border-radius: 12px; line-height: 1.65; } .ld-bub.u { align-self: flex-end; background: var(--primary); color: #fff; border-top-right-radius: 3px; } .ld-bub.a { background: rgba(255, 255, 255, .06); border: 1px solid var(--deck-line); border-top-left-radius: 3px; }
.ld-sec.light .ld-bub.a { background: #F7F9FC; border-color: #E1E6EF; } .ld-sec.light .ld-bub.u { background: #1A5BB0; }
.ld-mini-table { width: 100%; font-size: 12.5px; margin-top: 8px; } .ld-mini-table td, .ld-mini-table th { padding: 5px 8px; border-bottom: 1px solid #E1E6EF; text-align: left; } .ld-mini-table th { color: #7B879E; font-weight: 500; }

/* 服务对象 / 部署 / 路径 */
.ld-aud { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 36px; }
.ld-aud-card { padding: 22px; border-radius: 12px; border: 1px solid var(--deck-line); background: rgba(255, 255, 255, .025); }
.ld-aud-card h4 { font-size: 16px; margin: 14px 0 8px; } .ld-aud-card p { font-size: 13px; color: var(--on-deck-2); line-height: 1.7; } .ld-aud-card .ico { color: var(--amber); }
.ld-aud-card ul { margin-top: 12px; font-size: 13px; color: var(--on-deck-2); display: flex; flex-direction: column; gap: 6px; } .ld-aud-card li { display: flex; gap: 7px; } .ld-aud-card li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--amber); margin-top: 8px; flex: 0 0 auto; }
.ld-arch { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 40px; border: 1px solid #DDE3EE; border-radius: 14px; background: #fff; overflow: hidden; }
.ld-arch-col { padding: 22px; border-right: 1px solid #E1E6EF; position: relative; } .ld-arch-col:last-child { border-right: 0; }
.ld-arch-col h4 { font-size: 15px; display: flex; gap: 8px; align-items: center; } .ld-arch-col .label-mono { color: #C25B00; }
.ld-arch-col li { font-size: 13px; color: #424E68; padding: 7px 10px; border-radius: 7px; background: #F3F5F9; margin-top: 8px; }
.ld-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.ld-tier { padding: 26px; border-radius: 14px; border: 1px solid var(--deck-line); background: rgba(255, 255, 255, .025); } .ld-tier.hot { border-color: var(--amber); background: rgba(255, 138, 31, .07); }
.ld-tier h4 { font-size: 18px; margin: 10px 0 6px; } .ld-tier p { font-size: 13.5px; color: var(--on-deck-2); } .ld-tier li { display: flex; gap: 8px; font-size: 13.5px; color: var(--on-deck-2); margin-top: 10px; } .ld-tier li .ico { color: #2ED3A0; margin-top: 3px; }
.ld-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: 44px; counter-reset: s; }
.ld-step { position: relative; padding: 0 18px 0 0; } .ld-step::before { counter-increment: s; content: "0" counter(s); font-family: var(--font-mono); font-size: 12px; color: var(--amber); } .ld-step::after { content: ""; position: absolute; left: 30px; right: 8px; top: 9px; height: 1px; background: var(--deck-line-strong); }
.ld-step b { display: block; margin-top: 10px; font-size: 15px; } .ld-step span { font-size: 13px; color: var(--on-deck-2); }
.ld-final { text-align: center; padding: 96px 0; background: radial-gradient(ellipse 60% 100% at 50% 100%, rgba(0, 144, 213, .25), transparent 70%); border-top: 1px solid var(--deck-line); }
.ld-foot { border-top: 1px solid var(--deck-line); padding: 36px 0; font-size: 13px; color: var(--on-deck-3); }
.ld-foot .ld-wrap { display: flex; flex-wrap: wrap; gap: 16px 40px; align-items: center; justify-content: space-between; } .ld-foot img { height: 30px; opacity: .9; }

@media (max-width: 1100px) { .ld-hero-in, .ld-split, .ld-pipe, .ld-pipe-panel { grid-template-columns: 1fr; } .ld-split.rev > :first-child { order: 0; } .ld-scenes, .ld-aud, .ld-arch { grid-template-columns: repeat(2, 1fr); } .ld-links { display: none; } .ld-nav .btn-line { margin-left: auto; } .ld-nums { grid-template-columns: repeat(3, 1fr); } .ld-pipe-tabs { flex-direction: row; overflow-x: auto; } .ld-pipe-tab { flex: 0 0 auto; } }
@media (max-width: 720px) { .ld-logo i, .ld-nav .btn-line { display: none; } .ld-logo b { font-size: 14px; } .ld-nav .ld-wrap { gap: 12px; } .ld-nav .btn { margin-left: auto; height: 32px; padding: 0 12px; } .ld-wrap { width: calc(100% - 32px); } .ld-centers, .ld-tiers, .ld-feats, .ld-scenes, .ld-aud, .ld-arch { grid-template-columns: 1fr; } .ld-steps { grid-template-columns: 1fr 1fr; gap: 24px 0; } .ld-nums { grid-template-columns: 1fr 1fr; } .ld-sec { padding: 64px 0; } .ld-hero { padding-top: 104px; } }
