/* ==========================================================================
   驰联信 Chriplink · 内页组件（依赖 home.css 设计系统）
   ========================================================================== */

/* ---------- 内页横幅 ---------- */

.page-hero {
  position: relative;
  padding: calc(var(--header-h) + 72px) 0 64px;
  background:
    radial-gradient(820px 420px at 84% -20%, rgba(56, 189, 248, .15), transparent 64%),
    radial-gradient(680px 460px at 4% 120%, rgba(37, 99, 235, .2), transparent 62%),
    linear-gradient(180deg, #0a1122, #0b1329 62%, #0a1122);
  color: #fff;
  overflow: hidden;
}

.page-hero--split {
  padding-bottom: 76px;
}

.page-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.page-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(148, 197, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 197, 255, .05) 1px, transparent 1px);
  background-size: 54px 54px;
  -webkit-mask-image: radial-gradient(ellipse 80% 74% at 50% 30%, #000 26%, transparent 78%);
  mask-image: radial-gradient(ellipse 80% 74% at 50% 30%, #000 26%, transparent 78%);
}

.page-hero-glow {
  position: absolute;
  top: -160px;
  right: 8%;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(56, 189, 248, .16);
  filter: blur(90px);
}

.page-hero .container {
  position: relative;
}

.page-hero h1 {
  margin-top: 16px;
  font-size: clamp(30px, 3.8vw, 44px);
  color: #fff;
}

.page-hero .lead {
  max-width: 640px;
  margin-top: 14px;
  font-size: 16.5px;
  color: rgba(222, 233, 247, .78);
}

/* 面包屑 */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 13px;
  color: rgba(197, 214, 235, .6);
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li + li::before {
  content: "/";
  margin: 0 9px;
  color: rgba(255, 255, 255, .28);
}

.breadcrumb a {
  color: rgba(222, 233, 248, .85);
  transition: color .2s;
}

.breadcrumb a:hover {
  color: #fff;
}

/* 分栏横幅（产品页） */
.page-hero-split {
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: 56px;
  align-items: center;
}

.page-hero-media {
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, .14);
  overflow: hidden;
  background: rgba(255, 255, 255, .05);
  box-shadow: var(--shadow-lg);
}

.page-hero-media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* ---------- 窄幅叙述文本 ---------- */

.prose-narrow {
  max-width: 860px;
  margin: 0 auto;
}

.h2-left {
  font-size: clamp(24px, 2.8vw, 32px);
  margin-bottom: 20px;
}

.lede {
  font-size: 17.5px;
  font-weight: 500;
  color: var(--ink);
}

.prose-narrow p + p {
  margin-top: 14px;
}

/* ---------- 功能模块小卡 ---------- */

.grid-4-sm {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.func-card {
  height: 100%;
  padding: 26px 24px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.func-card:hover {
  transform: translateY(-4px);
  border-color: rgba(8, 102, 198, .32);
  box-shadow: var(--shadow-md);
}

.func-check {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  margin-bottom: 16px;
  background: #e3eeff;
  color: var(--brand-600);
}

.func-check svg {
  width: 19px;
  height: 19px;
}

.func-card h3 {
  font-size: 17px;
  margin-bottom: 7px;
}

.func-card p {
  font-size: 14px;
  color: var(--muted);
}

/* ---------- 适用场景卡 ---------- */

.scene-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  height: 100%;
  padding: 26px 26px 28px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.scene-card:hover {
  transform: translateY(-4px);
  border-color: rgba(8, 102, 198, .32);
  box-shadow: var(--shadow-md);
}

.scene-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  flex-shrink: 0;
  background: #e0f6ff;
  color: #0784ad;
}

.scene-icon svg {
  width: 23px;
  height: 23px;
}

.scene-card h3 {
  font-size: 16.5px;
  margin-bottom: 5px;
}

.scene-card p {
  font-size: 14px;
  color: var(--muted);
}

/* ---------- 方案页编号块 ---------- */

.sol-blocks {
  display: grid;
  gap: 18px;
  max-width: 940px;
  margin: 0 auto;
}

.sol-block {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  padding: 32px 34px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  transition: border-color .25s ease, box-shadow .25s ease;
}

.sol-block:hover {
  border-color: rgba(8, 102, 198, .32);
  box-shadow: var(--shadow-md);
}

.sol-num {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--brand-500), var(--brand-700));
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(8, 102, 198, .3);
}

.sol-block h3 {
  font-size: 19px;
}

.sol-block p {
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--text);
}

/* ---------- 解决方案页大卡（浅色） ---------- */

.sol-card--light {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 36px 32px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.sol-card--light:hover {
  transform: translateY(-5px);
  border-color: rgba(8, 102, 198, .35);
  box-shadow: var(--shadow-md);
}

.sol-card--light .sol-icon {
  background: #e3eeff;
  color: var(--brand-600);
}

.sol-card--light h3 {
  color: var(--ink);
  font-size: 21px;
  margin-bottom: 10px;
}

.sol-card--light > p {
  font-size: 14.5px;
  color: var(--muted);
}

.sol-card--light .sol-list li {
  color: var(--text);
}

.sol-card--light .sol-list li::before {
  background: var(--brand-600);
}

.sol-card--light .sol-link {
  color: var(--brand-600);
}

/* ---------- 使命/愿景（关于我们） ---------- */

.mv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.mv-card {
  padding: 36px 34px;
  background: var(--bg-tint);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}

.mv-card h3 {
  font-size: 20px;
  margin-bottom: 10px;
}

.mv-card p {
  font-size: 15px;
  color: var(--text);
}

.value-panel {
  margin-top: 24px;
  padding: 36px 34px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}

.value-panel h3 {
  font-size: 20px;
  margin-bottom: 20px;
}

.value-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 13px;
}

.value-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
}

.value-list svg {
  width: 19px;
  height: 19px;
  color: var(--brand-600);
  flex-shrink: 0;
}

/* ---------- 联系我们 ---------- */

.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.contact-card {
  height: 100%;
  padding: 34px 32px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.contact-card:hover {
  transform: translateY(-4px);
  border-color: rgba(8, 102, 198, .32);
  box-shadow: var(--shadow-md);
}

.contact-card h3 {
  font-size: 19px;
  margin: 20px 0 12px;
}

.contact-lines {
  display: grid;
  gap: 7px;
}

.contact-lines p {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  color: var(--muted);
}

.contact-lines svg {
  width: 16px;
  height: 16px;
  color: var(--faint);
}

.contact-lines a {
  color: var(--brand-600);
  font-weight: 500;
}

.contact-lines a:hover {
  text-decoration: underline;
}

/* ---------- 隐私协议 ---------- */

.legal {
  max-width: 860px;
  margin: 0 auto;
}

.legal h3 {
  position: relative;
  font-size: 19px;
  margin: 36px 0 14px;
  padding-left: 15px;
}

.legal h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: .16em;
  bottom: .16em;
  width: 4px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--brand-500), var(--brand-700));
}

.legal p {
  font-size: 15px;
  line-height: 1.9;
  color: var(--text);
  margin-bottom: 10px;
}

.legal ul {
  display: grid;
  gap: 9px;
  margin-bottom: 12px;
}

.legal li {
  position: relative;
  padding-left: 19px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--text);
}

.legal li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--brand-600);
}

.legal .legal-note {
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: 13.5px;
  color: var(--faint);
}

/* ---------- 内页 CTA 微调 ---------- */

.section-cta {
  padding: 0 0 96px;
}

/* ---------- 响应式 ---------- */

@media (max-width: 1024px) {
  .grid-4-sm {
    grid-template-columns: repeat(2, 1fr);
  }

  .page-hero-split {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .page-hero-media {
    order: 2;
    max-width: 560px;
  }
}

@media (max-width: 760px) {
  .page-hero {
    padding: calc(var(--header-h) + 52px) 0 52px;
  }

  .grid-4-sm,
  .contact-grid,
  .mv-grid {
    grid-template-columns: 1fr;
  }

  .contact-grid {
    gap: 18px;
  }

  .sol-block {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 26px 24px;
  }

  .sol-num {
    width: 48px;
    height: 48px;
    font-size: 19px;
  }

  .mv-card,
  .value-panel {
    padding: 28px 24px;
  }
}
