/* ============================================================
   NEWAYIC 立维创展 · 官网样式（纯手写 CSS，参照 DESIGN.md / globals.css）
   设计令牌取自彩色 logo：宝蓝 + 活力橙；大面积深色用沉稳藏青。
   ============================================================ */

/* ---------------- Design Tokens ---------------- */
:root {
  --brand-blue: #0e5aa6;
  --brand-blue-deep: #0a4683;
  --brand-navy: #0a1f44;
  --brand-navy-2: #0e2f63;
  --brand-navy-deep: #061530;
  --brand-orange: #ed6b12;
  --brand-orange-deep: #d45a0c;
  --brand-orange-soft: #fff0e6;
  --brand-orange-050: rgba(237, 107, 18, 0.05);
  --brand-orange-010: rgba(237, 107, 18, 0.1);
  --brand-ink: #102a4c;
  --brand-muted: #4a5568;
  --brand-line: #e2e8f2;
  --brand-bg-soft: #f4f7fc;
  --radius: 0.75rem;
  --radius-lg: 1rem;
  --maxw: 80rem; /* 1280px */
  --font-sans: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', ui-sans-serif,
    system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',
    Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
    'Courier New', monospace;
  --nav-h: 5.25rem; /* 顶栏+菜单总高，用于固定导航时内容让位 */
}

/* ---------------- Reset / Base ---------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}
* {
  margin: 0;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: var(--font-sans);
  color: var(--brand-ink);
  background: #ffffff;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
ul {
  list-style: none;
  padding: 0;
}
h1,
h2,
h3,
h4 {
  text-wrap: balance;
  line-height: 1.25;
}
::selection {
  background: rgba(232, 101, 26, 0.85);
  color: #fff;
}

/* ---------------- Layout ---------------- */
.container {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: 1.5rem;
}
.section {
  padding-block: 6rem;
}
.section--soft {
  background: var(--brand-bg-soft);
}

/* 响应式网格 */
.grid {
  display: grid;
  gap: 1.5rem;
}
.grid-2,
.grid-3,
.grid-4,
.grid-5,
.grid-auto-3 {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-5 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-auto-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-auto-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ---------------- Lucide 图标尺寸 / 配色 ---------------- */
.ic-xs { width: 0.75rem; height: 0.75rem; }
.ic-sm { width: 0.875rem; height: 0.875rem; }
.ic-md { width: 1.25rem; height: 1.25rem; }
.ic-lg { width: 1.5rem; height: 1.5rem; }

.icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  flex-shrink: 0;
}
.icon-box svg { display: block; }
.icon-box.sm { width: 2.75rem; height: 2.75rem; }
.icon-box.sm svg { width: 1.25rem; height: 1.25rem; }
.icon-box.md { width: 3.25rem; height: 3.25rem; }
.icon-box.md svg { width: 1.75rem; height: 1.75rem; }
.icon-box.lg { width: 3.5rem; height: 3.5rem; }
.icon-box.lg svg { width: 2rem; height: 2rem; }

.icon-blue { background: rgba(14, 90, 166, 0.1); color: var(--brand-blue); }
.icon-orange { background: rgba(237, 107, 18, 0.1); color: var(--brand-orange); }
.icon-solid-blue { background: var(--brand-blue); color: #fff; }
.icon-solid-orange { background: var(--brand-orange); color: #fff; }

/* ---------------- 关键工具类（移植自 globals.css） ---------------- */

/* 沉稳藏青背景：logo 宝蓝的深色高级版 + 网格 + 橙色微光 */
.bg-circuit-dark {
  background-color: #0a1f44;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    radial-gradient(circle at 84% 12%, rgba(237, 107, 18, 0.14), transparent 42%),
    radial-gradient(circle at 8% 90%, rgba(255, 255, 255, 0.06), transparent 48%),
    linear-gradient(135deg, #0e2f63 0%, #0a1f44 52%, #061530 100%);
  background-size: 44px 44px, 44px 44px, 100% 100%, 100% 100%, 100% 100%;
}

.bg-grid-soft {
  background-color: #f5f7fb;
  background-image:
    linear-gradient(rgba(15, 76, 154, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 76, 154, 0.05) 1px, transparent 1px);
  background-size: 44px 44px;
}

/* 卡片 hover 顶部橙色线 */
.card-accent {
  position: relative;
}
.card-accent::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(90deg, #ed6b12, #f5914a);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.card-accent:hover::before {
  transform: scaleX(1);
}

/* 滚动 fade-up */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
/* 无 JS 时直接展示，避免内容不可见 */
html:not(.js) .reveal {
  opacity: 1;
  transform: none;
}

/* ---------------- 按钮 ---------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1;
  padding: 0.85rem 1.6rem;
  border-radius: 0.65rem;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease,
    box-shadow 0.25s ease, border-color 0.25s ease;
}
.btn-primary {
  background: var(--brand-orange);
  color: #fff;
  box-shadow: 0 10px 26px -10px rgba(237, 107, 18, 0.6);
}
.btn-primary:hover {
  background: var(--brand-orange-deep);
  transform: translateY(-1px);
}
.btn-ghost {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.3);
  color: #fff;
}
.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.16);
}
.btn-lg {
  padding: 1rem 2rem;
  font-size: 1rem;
}

/* ---------------- 区块标题 ---------------- */
.section-heading {
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
}
.section-heading.left {
  margin-inline: 0;
  text-align: left;
}
.sh-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand-orange);
}
.sh-eyebrow::before {
  content: '';
  display: inline-block;
  width: 1.5rem;
  height: 1px;
  background: var(--brand-orange);
}
.section-heading.left .sh-eyebrow {
  justify-content: flex-start;
}
.sh-title {
  margin-top: 0.75rem;
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--brand-ink);
}
.sh-desc {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--brand-muted);
}
/* 深色背景下 */
.dark .sh-title { color: #fff; }
.dark .sh-desc { color: #cbd5e1; }
.dark .section-heading .sh-eyebrow { color: #f08a45; }

/* 通用 mono 小标签 */
.eyebrow-mono {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-orange);
}

/* 技术参数：等宽 + 橙 */
.mono {
  font-family: var(--font-mono);
}
.mono-orange {
  font-family: var(--font-mono);
  color: var(--brand-orange);
}

/* ============================================================
   顶部导航
   ============================================================ */
.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  box-shadow: 0 18px 44px -16px rgba(0, 0, 0, 0.85);
}
.nav-strip {
  display: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  background: var(--brand-navy-deep);
}
.nav-strip-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5rem;
  padding-block: 0.5rem;
  font-size: 0.8rem;
  color: #cbd5e1;
}
.nav-strip-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #cbd5e1;
}
.nav-strip-item .ic-sm { color: var(--brand-orange); }
.nav-strip-email { color: #94a3b8; }

.nav-bar {
  background: rgba(10, 31, 68, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 1rem;
}
.nav-logo img {
  height: 3rem;
  width: auto;
}
.nav-menu {
  display: none;
  align-items: center;
  gap: 0.25rem;
}
.nav-link {
  position: relative;
  padding: 0.6rem 1rem;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #e2e8f0;
  border-radius: 0.4rem;
  transition: color 0.3s ease;
}
.nav-link:hover { color: #fff; }
.nav-link.is-active {
  color: #fff;
  text-shadow: 0 0 9px rgba(255, 178, 122, 0.55);
}
.nav-link-underline {
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  bottom: -0.1rem;
  height: 3.5px;
  border-radius: 999px;
  background: var(--brand-orange);
  box-shadow: 0 0 14px 4px rgba(255, 138, 52, 0.95);
}
.nav-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.nav-cta {
  display: none;
}
.nav-burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
  border-radius: 0.5rem;
}
.nav-burger:hover { background: rgba(255, 255, 255, 0.1); }

.nav-accent-line {
  position: absolute;
  inset: auto 0 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-orange), transparent);
  opacity: 0.9;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .nav-strip { display: block; }
  .nav-menu { display: flex; }
  .nav-cta { display: inline-flex; }
  .nav-burger { display: none; }
}

/* 移动端抽屉 */
.mobile-overlay {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(6, 21, 48, 0.55);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.mobile-overlay.open {
  opacity: 1;
  visibility: visible;
}
.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 70;
  width: 300px;
  max-width: 85vw;
  height: 100%;
  background: var(--brand-navy);
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
}
.mobile-menu.open { transform: translateX(0); }
.mobile-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.mobile-menu-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  font-weight: 600;
}
.mobile-menu-icon { width: 2rem; height: 2rem; }
.mobile-menu-close {
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  background: transparent;
  color: #e2e8f0;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  border-radius: 0.5rem;
}
.mobile-menu-close:hover { background: rgba(255, 255, 255, 0.1); }
.mobile-menu-list {
  display: flex;
  flex-direction: column;
  padding: 0.75rem;
}
.mobile-menu-link {
  padding: 0.85rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  color: #cbd5e1;
  border-radius: 0.5rem;
  transition: background 0.2s ease, color 0.2s ease;
}
.mobile-menu-link:hover,
.mobile-menu-link.is-active {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.mobile-menu-cta { margin-top: 1rem; }
.mobile-menu-contact {
  margin-top: 1.25rem;
  padding: 1rem;
  font-size: 0.875rem;
  color: #94a3b8;
  line-height: 1.9;
}

/* ============================================================
   页眉（子页 PageHeader）
   ============================================================ */
.page-header {
  position: relative;
  overflow: hidden;
  padding-top: 9rem;
  padding-bottom: 4rem;
  color: #fff;
}
.page-header-inner { position: relative; z-index: 1; }
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #94a3b8;
}
.breadcrumb a { transition: color 0.2s ease; }
.breadcrumb a:hover { color: var(--brand-orange); }
.breadcrumb .ic-xs { width: 0.85rem; height: 0.85rem; }
.ph-eyebrow {
  margin-top: 1.5rem;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand-orange);
}
.ph-title {
  margin-top: 0.75rem;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
}
.ph-desc {
  margin-top: 1.25rem;
  max-width: 48rem;
  font-size: 1.05rem;
  line-height: 1.8;
  color: #cbd5e1;
}

/* ============================================================
   Hero（首页）
   ============================================================ */
.hero {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
  background: var(--brand-navy-deep);
  color: #fff;
}
.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(8, 23, 46, 0.3);
  pointer-events: none;
}
.hero-overlay-2 {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(6, 21, 48, 0.4),
    rgba(10, 31, 68, 0.05) 45%,
    rgba(6, 21, 48, 0.68)
  );
  pointer-events: none;
}
.hero-watermark {
  position: absolute;
  right: -1.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 560px;
  max-width: 70vw;
  height: auto;
  opacity: 0.16;
  pointer-events: none;
  display: none;
}
@media (min-width: 1024px) {
  .hero-watermark { display: block; }
}
.hero-content {
  position: relative;
  z-index: 10;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 7rem;
  padding-bottom: 9rem;
}
.hero-inner {
  width: 100%;
  max-width: 48rem;
  text-align: center;
}
.hero-logo {
  height: 4rem;
  width: auto;
  margin-inline: auto;
}
@media (min-width: 640px) {
  .hero-logo { height: 5rem; }
}
.hero-title {
  margin-top: 1.75rem;
  font-size: clamp(2.25rem, 5vw, 3.4rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  text-shadow: 0 2px 22px rgba(6, 21, 48, 0.7);
}
.hero-slogan {
  margin-top: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero-slogan-text {
  font-size: clamp(1.15rem, 2.4vw, 1.5rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  text-shadow: 0 2px 16px rgba(6, 21, 48, 0.65);
}
.hero-slogan-text .em { color: var(--brand-orange); }
.hero-rule {
  margin-top: 1rem;
  width: 4rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--brand-orange), transparent);
}
.hero-desc {
  margin: 1.75rem auto 0;
  max-width: 36rem;
  font-size: 0.95rem;
  line-height: 1.9;
  color: #e2e8f0;
  text-shadow: 0 1px 12px rgba(6, 21, 48, 0.55);
}
@media (min-width: 640px) {
  .hero-desc { font-size: 1rem; }
}
.hero-desc .strong { font-weight: 600; color: #fff; }
.hero-desc .pin { font-family: var(--font-mono); font-weight: 600; color: #ffd0b0; }
.hero-actions {
  margin-top: 2.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

/* 浮动数据条 */
.stats-bar {
  position: absolute;
  inset-inline: 0;
  bottom: 1.5rem;
  z-index: 10;
  padding-inline: 1.5rem;
}
@media (min-width: 640px) {
  .stats-bar { bottom: 2rem; }
}
.stats-grid {
  max-width: 64rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
@media (min-width: 1024px) {
  .stats-grid { grid-template-columns: repeat(4, 1fr); }
}
.stats-item {
  padding: 1.25rem 1.5rem;
  text-align: center;
  background: rgba(10, 31, 68, 0.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.stats-value {
  font-family: var(--font-mono);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  color: #fff;
}
.stats-value .em { color: var(--brand-orange); }
.stats-label {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #cbd5e1;
}
@media (min-width: 640px) {
  .stats-label { font-size: 0.875rem; }
}

/* ============================================================
   CTA Section（首页/各子页复用）
   ============================================================ */
.cta {
  position: relative;
  overflow: hidden;
  padding-block: 6rem;
  color: #fff;
  background: var(--brand-navy-deep);
}
@media (min-width: 640px) {
  .cta { padding-block: 7rem; }
}
.cta-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.cta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(8, 23, 46, 0.35);
  pointer-events: none;
}
.cta-overlay-2 {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(6, 21, 48, 0.55),
    rgba(10, 31, 68, 0.15) 45%,
    rgba(6, 21, 48, 0.75)
  );
  pointer-events: none;
}
.cta-content {
  position: relative;
  z-index: 10;
  max-width: 48rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
  text-align: center;
}
.cta-eyebrow {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #f5a877;
  text-shadow: 0 1px 12px rgba(6, 21, 48, 0.7);
}
.cta-title {
  margin-top: 1rem;
  font-size: clamp(1.9rem, 4vw, 2.9rem);
  font-weight: 700;
  text-shadow: 0 2px 22px rgba(6, 21, 48, 0.75);
}
.cta-desc {
  margin: 1.25rem auto 0;
  max-width: 42rem;
  font-size: 0.95rem;
  line-height: 1.85;
  color: #e2e8f0;
  text-shadow: 0 1px 14px rgba(6, 21, 48, 0.7);
}
@media (min-width: 640px) {
  .cta-desc { font-size: 1rem; }
}
.cta-actions {
  margin-top: 2.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.cta-tel {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-weight: 600;
  transition: background 0.25s ease;
}
.cta-tel:hover { background: rgba(255, 255, 255, 0.16); }
.cta-tel .ic-sm { color: var(--brand-orange); }
.cta-mail {
  margin-top: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #cbd5e1;
  text-shadow: 0 1px 12px rgba(6, 21, 48, 0.7);
}
.cta-mail .ic-sm { color: var(--brand-orange); }

/* ============================================================
   通用卡片
   ============================================================ */
.card {
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  background: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}
.card-accent:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 16px 40px -18px rgba(15, 38, 76, 0.35);
}

/* ============================================================
   首页 Portal Section
   ============================================================ */
.portal-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.75rem;
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  background: var(--brand-bg-soft);
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.portal-card:hover {
  transform: translateY(-0.25rem);
  background: #fff;
  box-shadow: 0 16px 40px -18px rgba(15, 38, 76, 0.35);
}
.portal-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.portal-eyebrow {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-muted);
}
.portal-title {
  margin-top: 1.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-ink);
}
.portal-desc {
  margin-top: 0.75rem;
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--brand-muted);
}
.portal-tags {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.portal-tag {
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--brand-line);
  border-radius: 999px;
  background: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--brand-ink);
}
.portal-enter {
  margin-top: 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.portal-enter .ic-sm { transition: transform 0.25s ease; }
.portal-card:hover .portal-enter .ic-sm { transform: translateX(0.25rem); }

/* ============================================================
   服务流程（首页 ServicesSection）
   ============================================================ */
.service-card {
  position: relative;
  height: 100%;
  padding: 1.5rem;
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  background: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 16px 40px -18px rgba(15, 38, 76, 0.35);
}
.service-step {
  font-family: var(--font-mono);
  font-size: 2.25rem;
  font-weight: 700;
  color: rgba(14, 90, 166, 0.15);
}
.service-title {
  margin-top: 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--brand-ink);
}
.service-desc {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--brand-muted);
}
@media (min-width: 1024px) {
  .service-card:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -1.5rem;
    top: 50%;
    width: 1.5rem;
    height: 1px;
    background: var(--brand-line);
  }
}

/* ============================================================
   关于立维 About
   ============================================================ */
.intro-grid {
  display: grid;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .intro-grid {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }
}
.intro-media {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.intro-media .img-frame {
  overflow: hidden;
  border: 1px solid var(--brand-line);
  border-radius: 1rem;
  box-shadow: 0 10px 30px -16px rgba(15, 38, 76, 0.4);
}
.intro-media .img-frame.tall img { height: 18rem; }
.intro-media .img-frame.short img { height: 13rem; }
.intro-media img { width: 100%; height: 100%; object-fit: cover; }
.intro-title {
  margin-top: 1rem;
  font-size: clamp(1.6rem, 3.5vw, 2.25rem);
  font-weight: 700;
  color: var(--brand-ink);
}
.intro-text {
  margin-top: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  font-size: 1rem;
  line-height: 2;
  color: var(--brand-muted);
}
@media (min-width: 1024px) {
  .intro-text { font-size: 1.0625rem; }
}
.intro-text strong { font-weight: 600; color: var(--brand-ink); }

/* 品牌定位双卡 */
.brand-pos-card {
  height: 100%;
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: var(--brand-bg-soft);
}
.brand-pos-card.orange {
  border-color: rgba(237, 107, 18, 0.25);
  background: var(--brand-orange-050);
}
.brand-pos-list {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  font-size: 0.95rem;
  color: var(--brand-muted);
}
.brand-pos-list li {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.brand-pos-list .ic-sm { color: var(--brand-blue); flex-shrink: 0; margin-top: 0.2rem; }
.brand-pos-card.orange .brand-pos-list .ic-sm { color: var(--brand-orange); }

/* 核心品牌价值 */
.bv-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.bv-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 20px 50px -22px rgba(15, 38, 76, 0.45);
}
.bv-media {
  position: relative;
  aspect-ratio: 3 / 1;
  overflow: hidden;
  background: var(--brand-navy-deep);
}
.bv-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.bv-card:hover .bv-media img { transform: scale(1.05); }
.bv-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6, 21, 48, 0.35), transparent);
}
.bv-media-line {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 3px;
  background: var(--brand-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease;
  z-index: 1;
}
.bv-card:hover .bv-media-line { transform: scaleX(1); }
.bv-body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 2rem;
}
@media (min-width: 640px) {
  .bv-body { padding: 2.5rem; }
}
.bv-head {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.bv-title {
  font-size: clamp(1.15rem, 2.5vw, 1.5rem);
  font-weight: 700;
  color: var(--brand-ink);
}
.bv-desc {
  font-size: 1rem;
  line-height: 2;
  color: var(--brand-muted);
}

/* 发展规划 */
.plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 1rem;
  min-height: 22rem;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.75rem;
}
.plan-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.plan-card:hover .plan-media { transform: scale(1.05); }
.plan-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #061530, rgba(6, 21, 48, 0.82) 55%, rgba(6, 21, 48, 0.1));
}
.plan-card:hover .plan-overlay ~ .plan-media { }
.plan-line {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 3px;
  background: var(--brand-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease;
  z-index: 2;
}
.plan-card:hover .plan-line { transform: scaleX(1); }
.plan-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.plan-en {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ffc299;
}
.plan-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7);
}
.plan-desc {
  position: relative;
  z-index: 1;
  font-size: 0.875rem;
  line-height: 1.75;
  color: rgba(241, 245, 255, 0.95);
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}

/* 企业基础信息卡 */
.info-card {
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: var(--brand-navy);
  color: #fff;
  padding: 2rem;
}
.info-card-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.info-card-title { font-size: 1.25rem; font-weight: 700; }
.info-grid {
  margin-top: 1.5rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 640px) {
  .info-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .info-grid { grid-template-columns: repeat(4, 1fr); }
}
.info-dt { font-size: 0.875rem; color: #94a3b8; }
.info-dd {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.info-dd.mono-orange { font-family: var(--font-mono); }

/* ============================================================
   产品与业务 Products
   ============================================================ */
.biz-card {
  height: 100%;
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.biz-card.orange { border-color: rgba(237, 107, 18, 0.25); }
.biz-card:hover { transform: translateY(-0.25rem); box-shadow: 0 20px 50px -22px rgba(15, 38, 76, 0.45); }
.biz-title { margin-top: 1.25rem; font-size: 1.25rem; font-weight: 700; color: var(--brand-ink); }
.biz-en {
  margin-top: 0.25rem;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-muted);
}
.biz-desc { margin-top: 1rem; font-size: 0.95rem; line-height: 1.8; color: var(--brand-muted); }

/* 代理四大品类 */
.cat-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--brand-line);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cat-card:hover { transform: translateY(-0.25rem); box-shadow: 0 18px 44px -20px rgba(15, 38, 76, 0.4); }
.cat-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--brand-bg-soft);
}
.cat-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.cat-card:hover .cat-media img { transform: scale(1.05); }
.cat-icon {
  position: absolute;
  left: 1rem;
  top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.65rem;
  background: rgba(14, 90, 166, 0.95);
  color: #fff;
  backdrop-filter: blur(4px);
}
.cat-icon svg { width: 1.25rem; height: 1.25rem; }
.cat-body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem; }
.cat-title { font-size: 1.125rem; font-weight: 700; color: var(--brand-ink); }
.cat-spec {
  margin-top: 0.25rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--brand-orange);
}
.cat-items {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.375rem 0.75rem;
}
.cat-items li {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  font-size: 0.8rem;
  color: var(--brand-muted);
}
.cat-items .ic-xs { color: var(--brand-blue); flex-shrink: 0; margin-top: 0.2rem; }
.cat-detail {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--brand-line);
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--brand-muted);
}

/* 自研产品系列 */
.prod-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid rgba(237, 107, 18, 0.25);
  background: var(--brand-orange-050);
}
.prod-media {
  position: relative;
  overflow: hidden;
  background: var(--brand-bg-soft);
  aspect-ratio: 16 / 9;
}
.prod-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.prod-card:hover .prod-media img { transform: scale(1.03); }
.prod-body { display: flex; flex-direction: column; flex: 1; padding: 2rem; }
.prod-head { display: flex; align-items: center; gap: 1rem; }
.prod-title { font-size: 1.25rem; font-weight: 700; color: var(--brand-ink); }
.prod-en {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-muted);
}
.prod-replace {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--brand-blue);
}
.prod-specs { margin-top: 1.25rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
.prod-spec {
  padding: 0.75rem 1rem;
  border: 1px solid var(--brand-line);
  border-radius: 0.5rem;
  background: #fff;
}
.prod-spec dt { font-size: 0.75rem; color: var(--brand-muted); }
.prod-spec dd {
  margin-top: 0.25rem;
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--brand-ink);
}
.prod-apps { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.prod-app {
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--brand-line);
  border-radius: 999px;
  background: #fff;
  font-size: 0.75rem;
  color: var(--brand-muted);
}
.prod-detail {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(237, 107, 18, 0.15);
  font-size: 0.875rem;
  line-height: 1.85;
  color: var(--brand-muted);
}

/* 六大优势 */
.adv-card {
  height: 100%;
  padding: 1.75rem;
  border-radius: var(--radius);
  border: 1px solid var(--brand-line);
  background: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.adv-card:hover { transform: translateY(-0.25rem); box-shadow: 0 16px 40px -18px rgba(15, 38, 76, 0.35); }
.adv-title { margin-top: 1rem; font-size: 1.125rem; font-weight: 700; color: var(--brand-ink); }
.adv-desc { margin-top: 0.75rem; font-size: 0.875rem; line-height: 1.7; color: var(--brand-muted); }

/* ============================================================
   原厂授权 Partners
   ============================================================ */
.brand-auth-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid rgba(237, 107, 18, 0.25);
  background: linear-gradient(to bottom right, #fff, var(--brand-orange-050));
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
}
.brand-auth-badge {
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  color: var(--brand-orange);
}
.brand-auth-badge svg { width: 2.5rem; height: 2.5rem; }
.brand-auth-name {
  font-family: var(--font-mono);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--brand-blue);
}
.brand-auth-role {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: var(--brand-orange-010);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--brand-orange-deep);
}
.brand-auth-role .ic-xs { color: var(--brand-orange); }
.brand-auth-desc { margin-top: 1.25rem; font-size: 0.95rem; line-height: 1.8; color: var(--brand-muted); }

/* 台达/Cyntec + ISO */
.delta-card {
  display: flex;
  height: 100%;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--brand-line);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
}
.delta-aside {
  display: none;
  align-items: center;
  justify-content: center;
  background: var(--brand-navy);
  padding: 2.5rem;
}
@media (min-width: 768px) {
  .delta-aside { display: flex; }
  .delta-aside svg { width: 3.5rem; height: 3.5rem; color: var(--brand-orange); }
}
.delta-body { padding: 2rem; }
@media (min-width: 768px) {
  .delta-body { padding: 2.5rem; }
}
.delta-title { font-size: 1.5rem; font-weight: 700; color: var(--brand-ink); }
.delta-title .sub {
  margin-left: 0.75rem;
  vertical-align: middle;
  font-size: 1rem;
  font-weight: 600;
  color: var(--brand-blue);
}
.delta-desc { margin-top: 1rem; line-height: 2; color: var(--brand-muted); }
.delta-tags { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.delta-tag {
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--brand-line);
  border-radius: 999px;
  background: var(--brand-bg-soft);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--brand-blue-deep);
}
.cert-figure {
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  border: 1px solid var(--brand-line);
  background: #fff;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
}
.cert-link {
  display: block;
  width: 100%;
  max-width: 18rem;
  overflow: hidden;
  border: 1px solid var(--brand-line);
  border-radius: 0.5rem;
  box-shadow: 0 4px 14px -6px rgba(15, 38, 76, 0.3);
  transition: box-shadow 0.3s ease;
}
.cert-link:hover { box-shadow: 0 18px 40px -16px rgba(15, 38, 76, 0.5); }
.cert-link img { width: 100%; height: auto; transition: transform 0.5s ease; }
.cert-link:hover img { transform: scale(1.02); }
.cert-cap { margin-top: 1.25rem; text-align: center; }
.cert-cap .t { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.875rem; font-weight: 700; color: var(--brand-ink); }
.cert-cap .ic-xs { color: var(--brand-orange); }
.cert-cap .s { margin-top: 0.25rem; font-family: var(--font-mono); font-size: 0.7rem; color: var(--brand-muted); }
.cert-cap .hint { margin-top: 0.5rem; font-size: 0.7rem; color: rgba(74, 85, 104, 0.7); }

/* 原厂名录 */
.partner-card {
  height: 100%;
  padding: 1.5rem;
  border-radius: var(--radius);
  border: 1px solid var(--brand-line);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.partner-card:hover { transform: translateY(-0.25rem); box-shadow: 0 16px 40px -18px rgba(15, 38, 76, 0.35); }
.partner-cat { margin-top: 1rem; font-size: 1rem; font-weight: 700; color: var(--brand-ink); }
.partner-brands { margin-top: 1rem; display: flex; flex-direction: column; gap: 0.5rem; }
.partner-brands li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.875rem;
  color: var(--brand-muted);
}
.partner-brands .dot { width: 0.375rem; height: 0.375rem; border-radius: 999px; background: var(--brand-orange); flex-shrink: 0; }

/* 合作模式 */
.coop-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: var(--radius);
  border: 1px solid var(--brand-line);
  background: var(--brand-bg-soft);
}
.coop-item .ic-sm { color: var(--brand-orange); flex-shrink: 0; margin-top: 0.2rem; }
.coop-item span { font-size: 0.95rem; font-weight: 500; color: var(--brand-ink); }
.coop-note {
  margin: 2rem auto 0;
  max-width: 48rem;
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--brand-muted);
}

/* ============================================================
   行业方案 Solutions
   ============================================================ */
.track-card {
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
  transition: box-shadow 0.3s ease;
}
.track-card:hover { box-shadow: 0 18px 44px -20px rgba(15, 38, 76, 0.4); }
.track-media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
@media (min-width: 640px) { .track-media { aspect-ratio: 21 / 9; } }
@media (min-width: 1024px) { .track-media { aspect-ratio: 24 / 9; } }
.track-media img { width: 100%; height: 100%; object-fit: cover; }
.track-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6, 21, 48, 0.28), transparent);
}
.track-body { display: grid; gap: 1.5rem; padding: 1.5rem; }
@media (min-width: 640px) { .track-body { padding: 2rem; } }
.track-head { display: flex; align-items: flex-start; gap: 1rem; }
@media (min-width: 1024px) {
  .track-head { flex-direction: column; width: 16rem; }
}
.track-name { font-size: 1.25rem; font-weight: 700; color: var(--brand-ink); }
.track-en {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-muted);
}
.track-cols { display: grid; gap: 1rem; }
@media (min-width: 768px) { .track-cols { grid-template-columns: repeat(3, 1fr); } }
.track-col { padding: 1.25rem; border-radius: var(--radius); background: var(--brand-bg-soft); }
.track-col.demand { background: #fef2f2; }
.track-col.solution { background: var(--brand-orange-050); }
.track-col-title {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--brand-blue);
}
.track-col.demand .track-col-title { color: #dc2626; }
.track-col.solution .track-col-title { color: var(--brand-orange-deep); }
.track-col-title .ic-sm { width: 1rem; height: 1rem; }
.track-col-text { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.7; color: var(--brand-muted); }

/* 市场风口 + 痛点 */
.wind-card {
  height: 100%;
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: #fff;
}
.wind-card .ic-lg { color: var(--brand-orange); }
.wind-title { margin-top: 1rem; font-size: 1.125rem; font-weight: 700; color: var(--brand-ink); }
.wind-desc { margin-top: 0.75rem; font-size: 0.875rem; line-height: 1.7; color: var(--brand-muted); }
.wind-pain {
  height: 100%;
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid #fecaca;
  background: #fef2f2;
}
.wind-pain .ic-lg { color: #ef4444; }
.wind-pain .wind-title { color: var(--brand-ink); }
.wind-pain .wind-desc { color: var(--brand-muted); }
.wind-pain-note {
  margin-top: 1rem;
  padding: 0.75rem;
  border-radius: 0.5rem;
  background: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--brand-blue);
}

/* 分层客户需求 */
.tier-card {
  height: 100%;
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: var(--brand-bg-soft);
}
.tier-head { display: flex; align-items: center; gap: 0.75rem; }
.tier-title { font-size: 1.25rem; font-weight: 700; color: var(--brand-ink); }
.tier-desc { margin-top: 1rem; font-size: 0.875rem; line-height: 1.75; color: var(--brand-muted); }
.tier-needs { margin-top: 1.25rem; display: grid; gap: 0.625rem; }
@media (min-width: 640px) { .tier-needs { grid-template-columns: repeat(2, 1fr); } }
.tier-need { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.875rem; color: var(--brand-muted); }
.tier-need .dot { margin-top: 0.55rem; width: 0.375rem; height: 0.375rem; border-radius: 999px; background: var(--brand-orange); flex-shrink: 0; }

/* ============================================================
   应用案例 Cases
   ============================================================ */
.case-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: var(--brand-bg-soft);
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.case-card:hover {
  transform: translateY(-0.25rem);
  background: #fff;
  box-shadow: 0 16px 40px -18px rgba(15, 38, 76, 0.35);
}
.case-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.case-media img { width: 100%; height: 100%; object-fit: cover; }
.case-body { display: flex; flex-direction: column; flex: 1; padding: 1.75rem; }
.case-title-row { display: flex; align-items: center; gap: 0.75rem; }
.case-title { font-size: 1.125rem; font-weight: 700; color: var(--brand-ink); line-height: 1.4; }
.case-desc { margin-top: 1rem; flex: 1; font-size: 0.875rem; line-height: 1.75; color: var(--brand-muted); }

/* 目标客户群体 */
.cust-card {
  height: 100%;
  padding: 1.75rem;
  border-radius: 1rem;
  border: 1px solid var(--brand-line);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
}
.cust-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--brand-ink);
}
.cust-title .num { font-family: var(--font-mono); color: var(--brand-orange); }
.cust-dl { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; font-size: 0.875rem; line-height: 1.75; }
.cust-row { display: flex; gap: 0.5rem; }
.cust-dt { flex-shrink: 0; font-weight: 600; color: var(--brand-ink); }
.cust-dd { color: var(--brand-muted); }

/* 客户 logo 墙 */
.clients-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 640px) { .clients-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .clients-grid { grid-template-columns: repeat(3, 1fr); } }
.client-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 8rem;
  padding: 0 2.5rem;
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.08);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
@media (min-width: 640px) { .client-cell { height: 9rem; } }
.client-cell:hover {
  transform: translateY(-0.25rem);
  border-color: rgba(14, 90, 166, 0.4);
  box-shadow: 0 16px 40px -18px rgba(15, 38, 76, 0.4);
}
.client-logo { max-height: 5rem; width: auto; object-fit: contain; }

/* ============================================================
   联系我们 Contact
   ============================================================ */
.contact-grid {
  display: grid;
  gap: 2.5rem;
}
@media (min-width: 1024px) { .contact-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; } }
.contact-title { font-size: 1.5rem; font-weight: 700; color: var(--brand-ink); }
.contact-lead { margin-top: 1rem; font-size: 0.95rem; line-height: 1.8; color: var(--brand-muted); }
.info-list { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.info-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 38, 76, 0.06);
}
.info-label { font-size: 0.875rem; font-weight: 600; color: var(--brand-ink); }
.info-value { margin-top: 0.25rem; font-size: 0.875rem; color: var(--brand-muted); }
.info-value.mono-orange { font-family: var(--font-mono); font-weight: 700; color: var(--brand-orange-deep); }
.info-value.mono-blue { font-family: var(--font-mono); color: var(--brand-blue); }

.contact-form {
  padding: 2rem;
  border: 1px solid var(--brand-line);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 10px 30px -16px rgba(15, 38, 76, 0.4);
}
@media (min-width: 640px) { .contact-form { padding: 2.5rem; } }
.form-title { font-size: 1.25rem; font-weight: 700; color: var(--brand-ink); }
.form-lead { margin-top: 0.25rem; font-size: 0.875rem; color: var(--brand-muted); }
.form-grid { margin-top: 1.5rem; display: grid; gap: 1.25rem; }
.form-row { display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .form-row { grid-template-columns: repeat(2, 1fr); } }
.field { display: grid; gap: 0.5rem; }
.field label { font-size: 0.875rem; font-weight: 500; color: var(--brand-ink); }
.field label .req { color: var(--brand-orange); }
.input,
.textarea,
.select {
  width: 100%;
  padding: 0.6rem 0.75rem;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--brand-ink);
  background: #fff;
  border: 1px solid var(--brand-line);
  border-radius: 0.5rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.input:focus,
.textarea:focus,
.select:focus {
  outline: none;
  border-color: var(--brand-orange);
  box-shadow: 0 0 0 3px rgba(237, 107, 18, 0.18);
}
.textarea { resize: vertical; min-height: 8rem; }
.btn-submit { width: 100%; }
.form-note { margin-top: 0.75rem; text-align: center; font-size: 0.7rem; color: var(--brand-muted); }

/* ============================================================
   页脚
   ============================================================ */
.site-footer {
  color: #cbd5e1;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.site-footer-grid {
  display: grid;
  gap: 2.5rem;
  padding-block: 4rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) { .site-footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .site-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; } }
.footer-logo { height: 3rem; width: auto; }
.footer-text { margin-top: 1rem; font-size: 0.875rem; line-height: 1.8; color: #94a3b8; }
.footer-title {
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
}
.footer-links { display: flex; flex-direction: column; gap: 0.625rem; }
.footer-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  color: #94a3b8;
  transition: color 0.2s ease;
}
.footer-link:hover { color: var(--brand-orange); }
.footer-link .ic-xs {
  opacity: 0;
  transition: opacity 0.2s ease;
  color: var(--brand-orange);
}
.footer-link:hover .ic-xs { opacity: 1; }
.footer-biz { display: flex; flex-direction: column; gap: 0.625rem; font-size: 0.875rem; color: #94a3b8; }
.footer-contact { display: flex; flex-direction: column; gap: 0.875rem; font-size: 0.875rem; }
.footer-contact li { display: flex; align-items: flex-start; gap: 0.75rem; }
.footer-contact .ic-sm { color: var(--brand-orange); flex-shrink: 0; margin-top: 0.15rem; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.footer-bottom-inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-block: 1.25rem;
  font-size: 0.75rem;
  color: #64748b;
}
@media (min-width: 640px) {
  .footer-bottom-inner { flex-direction: row; align-items: center; justify-content: space-between; }
}
.footer-slogan { font-family: var(--font-mono); letter-spacing: 0.02em; }

/* ============================================================
   顶部让位（固定导航）
   ============================================================ */
main { display: block; }
.section--pad-top { padding-top: 9rem; }
@media (min-width: 1024px) {
  .page-header { padding-top: 10rem; }
}

/* 台达/Cyntec + ISO 证书：大屏 3 列，台达卡占 2 列 */
.delta-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .delta-grid { grid-template-columns: repeat(3, 1fr); }
  .delta-grid > .delta-span { grid-column: span 2; }
}

/* 首页栏目卡片 hover 时图标盒反色 */
.portal-card:hover .icon-box.icon-blue { background: var(--brand-blue); color: #fff; }
.portal-card:hover .icon-box.icon-orange { background: var(--brand-orange); color: #fff; }
