/* ==============================================
   撑伞人 — 区块 2：平台价值体系（三栏玻璃卡片）
   ============================================== */

.value-section {
  position: relative;
  padding: 100px 24px 80px;
  background: var(--bg);
  overflow: hidden;
}

/* ----- Section Header ----- */
.value-header {
  text-align: center;
  margin-bottom: 56px;
}
.value-header h2 {
  font-size: clamp(24px, 3.5vw, 34px);
  font-weight: 700;
  color: var(--charcoal);
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.value-header .sub {
  font-size: 15px;
  color: var(--gray);
  letter-spacing: 1px;
}

/* ----- Cards Container ----- */
.value-cards {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
}

/* ----- SVG Connection Lines ----- */
.value-lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.value-lines line {
  stroke: var(--blue-light);
  stroke-width: 1;
  stroke-dasharray: 6 4;
  opacity: 0.18;
  animation: lineFlow 8s linear infinite;
}
@keyframes lineFlow {
  to { stroke-dashoffset: -20; }
}

/* ----- Single Card ----- */
.value-card {
  position: relative;
  z-index: 1;
  padding: 40px 28px 32px;
  border-radius: var(--radius);
  background: rgba(255,255,255,0.58);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(57,100,150,0.08);
  box-shadow: 0 2px 20px rgba(57,100,150,0.04);
  text-align: center;
  transition: transform 400ms var(--ease),
              box-shadow 400ms var(--ease),
              border-color 400ms var(--ease);
  /* 初始隐藏，滚动触发 */
  opacity: 0;
  transform: translateY(40px);
}
.value-card.visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 700ms var(--ease),
              transform 700ms var(--ease),
              box-shadow 400ms var(--ease),
              border-color 400ms var(--ease);
}

.value-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 12px 40px rgba(57,100,150,0.10),
    0 0 0 1px rgba(230,147,64,0.12);
  border-color: rgba(230,147,64,0.20);
}

/* ---- Card Icon ---- */
.value-icon {
  width: 64px; height: 64px;
  margin: 0 auto 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  position: relative;
}
.value-icon::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1.5px dashed rgba(57,100,150,0.15);
  animation: iconRotate 20s linear infinite;
}
@keyframes iconRotate {
  to { transform: rotate(360deg); }
}

/* Icon theme colors per card */
.icon-emotion {
  background: rgba(230,147,64,0.10);
  color: var(--amber);
}
.icon-mutual {
  background: rgba(57,100,150,0.10);
  color: var(--blue);
}
.icon-growth {
  background: rgba(98,151,201,0.12);
  color: var(--blue-light);
}

/* ---- Card Text ---- */
.value-card h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--charcoal);
  margin-bottom: 8px;
  letter-spacing: 1px;
}
.value-card .card-tagline {
  font-size: 12px;
  color: var(--amber);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.value-card p {
  font-size: 14px;
  color: var(--gray);
  line-height: 1.8;
  letter-spacing: 0.5px;
}

/* ==============================================
   Responsive
   ============================================== */
@media (max-width: 768px) {
  .value-section {
    padding: 64px 16px 48px;
  }
  .value-header { margin-bottom: 36px; }
  .value-cards {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 400px;
  }
  .value-lines { display: none; }
  .value-card { padding: 28px 20px 24px; }
}
