.section--soft .tech-map {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.22rem;
}
.section--soft .tech-map .tech-card {
  padding: 0.34rem;
  background: white;
  border-top: 4px solid var(--cyan-500);
  box-shadow: 0 10px 36px rgba(8, 32, 56, 0.08);
}
.section--soft .tech-map .tech-card .state {
  color: var(--cyan-500);
  font-size: 0.12rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.section--soft .tech-map .tech-card h2 {
  margin: 0.16rem 0 0.12rem;
  color: var(--navy-900);
  font-size: 0.24rem;
}
.section--soft .tech-map .tech-card p {
  color: var(--muted);
}
.section--soft .tech-map .tech-card ul {
  margin: 0.2rem 0 0;
}
.section--soft .tech-map .tech-card ul li {
  padding: 0.09rem 0;
  border-top: 1px solid var(--line);
  color: #34445a;
  font-size: 0.14rem;
}
@media (max-width: 1020px) {
  .section--soft .tech-map {
    grid-template-columns: 1fr;
  }
}
.section--dark .eyebrow {
  margin: 0 0 0.14rem;
  color: var(--cyan-500);
  font-size: 0.13rem;
  font-weight: 800;
  letter-spacing: 0.0182rem;
  text-transform: uppercase;
}
.section--dark .section-title {
  max-width: 760px;
  margin: 0;
  color: white;
  font-size: clamp(0.32rem, 4.2vw, 0.5rem);
  line-height: 1.18;
  letter-spacing: -0.035em;
}
.section--dark .section-lead {
  color: #b8c8d8;
  max-width: 760px;
  margin: 0.22rem 0 0;
  font-size: 0.18rem;
}
.section--dark .data-flow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.16rem;
  align-items: center;
}
.section--dark .data-flow .flow-node {
  min-height: 120px;
  display: grid;
  place-items: center;
  padding: 0.18rem;
  text-align: center;
  background: #102d49;
  border: 1px solid #2c506d;
}
.section--dark .data-flow .flow-node strong {
  display: block;
  color: white;
}
.section--dark .data-flow .flow-node span {
  color: #9fb6c7;
  font-size: 0.12rem;
}
@media (max-width: 1020px) {
  .section--dark .data-flow {
    grid-template-columns: 1fr;
  }
}
.positioning {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 0.74rem;
  align-items: start;
}
.positioning .eyebrow {
  margin: 0 0 0.14rem;
  color: var(--cyan-500);
  font-size: 0.13rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.positioning .positioning-statement {
  margin: 0;
  color: var(--navy-950);
  font-size: 0.34rem;
  font-weight: 800;
  line-height: 1.45;
}
.positioning p {
  margin-bottom: 0.16rem;
  color: var(--muted);
}
@media (max-width: 1020px) {
  .positioning {
    grid-template-columns: 1fr;
    gap: 0.42rem;
  }
}
