.eve-core-capabilities {
  --eve-ink: var(--eve-color-text, #171b24);
  --eve-muted: var(--eve-color-muted, #687181);
  --eve-blue: #147ed1;
  --eve-blue-deep: #0057b8;
  --eve-cyan: #55b7ee;
  --eve-green: #23a76f;
  --eve-line: #e5e9ef;
  --eve-panel: var(--eve-color-bg, #ffffff);
  --eve-canvas: var(--eve-color-surface, #f5f6f8);
  --eve-ui-micro: clamp(0.5625rem, calc(0.52rem + 0.12vw), 0.625rem);
  --eve-ui-label: clamp(0.625rem, calc(0.57rem + 0.15vw), 0.75rem);
  --eve-ui-title: clamp(0.75rem, calc(0.68rem + 0.2vw), 0.875rem);
  color: var(--eve-ink);
  background: var(--eve-canvas);
  font-family: var(--eve-font-body, "Montserrat", "Noto Sans SC", "Microsoft YaHei", sans-serif);
}

.eve-core-capabilities,
.eve-core-capabilities *,
.eve-core-capabilities *::before,
.eve-core-capabilities *::after {
  box-sizing: border-box;
}

.eve-reasons {
  width: 100%;
  max-width: var(--eve-container-wide, 90rem);
  margin-inline: auto;
  padding: clamp(2.5rem, 5vw, 5rem) 1.5rem;
}

.eve-reasons-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 1.6vw, 1.5rem);
}

.eve-reason {
  display: flex;
  min-width: 0;
  min-height: 25rem;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgb(23 27 36 / 7%);
  border-radius: 0.5rem;
  background: var(--eve-panel);
  box-shadow: 0 1rem 3rem rgb(20 32 54 / 5%);
  transition: border-color 280ms ease, box-shadow 280ms ease, transform 280ms ease;
}

.eve-reason:hover {
  border-color: rgb(20 126 209 / 20%);
  box-shadow: 0 1.5rem 3.5rem rgb(20 70 120 / 10%);
  transform: translateY(-0.25rem);
}

.eve-reason-visual {
  position: relative;
  width: 100%;
  aspect-ratio: 6 / 5;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 20%, rgb(255 255 255 / 100%), rgb(245 247 250 / 82%) 52%, rgb(238 242 247 / 92%)),
    #f3f5f8;
  contain: layout paint;
  isolation: isolate;
}

.eve-reason-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1.25rem, 2vw, 1.75rem);
}

.eve-core-capabilities .eve-reason-copy h2,
.eve-core-capabilities .eve-reason-copy p {
  margin-bottom: 0;
  margin-block-end: 0;
}

.eve-core-capabilities .eve-reason-copy h2 {
  margin-top: 0;
  margin-block-start: 0;
  color: var(--eve-heading-color, var(--eve-color-text));
  font-family: var(--eve-font-body);
  font-size: var(--eve-h5);
  font-weight: var(--eve-weight-regular);
  line-height: var(--eve-line-heading);
  letter-spacing: 0;
}

.eve-core-capabilities .eve-reason-copy p {
  margin-top: 0.75rem;
  margin-block-start: 0.75rem;
  color: var(--eve-text-color, var(--eve-color-text));
  font-family: var(--eve-font-body);
  font-size: var(--eve-text-sm);
  font-weight: var(--eve-weight-regular);
  line-height: var(--eve-line-body);
  letter-spacing: 0;
}

.eve-tech-grid {
  position: absolute;
  inset: 0;
  opacity: 0.38;
  background-image:
    linear-gradient(rgb(90 111 139 / 8%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(90 111 139 / 8%) 1px, transparent 1px);
  background-size: 1.75rem 1.75rem;
  mask-image: radial-gradient(circle, #000 24%, transparent 72%);
}

.eve-hub-card,
.eve-dashboard,
.eve-project-panel,
.eve-health-panel {
  position: absolute;
  z-index: 2;
  border: 1px solid rgb(255 255 255 / 92%);
  background: rgb(255 255 255 / 88%);
  box-shadow: 0 1.25rem 3rem rgb(35 55 82 / 14%), inset 0 1px 0 #fff;
  backdrop-filter: blur(0.75rem);
}

.eve-hub-card {
  top: 50%;
  left: 50%;
  display: flex;
  width: 10.5rem;
  min-height: 9.5rem;
  align-items: center;
  flex-direction: column;
  gap: 0.35rem;
  justify-content: center;
  border-radius: 1.25rem;
  transform: translate(-50%, -50%);
  animation: eve-card-float 4.8s ease-in-out infinite;
}

.eve-hub-icon {
  position: relative;
  display: grid;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0;
  border-radius: 0.85rem;
  place-items: center;
  background: linear-gradient(145deg, #1789e2, #0057b8);
  box-shadow: 0 0.75rem 1.5rem rgb(0 87 184 / 28%);
}

.eve-hub-icon i {
  position: absolute;
  width: 1.25rem;
  height: 0.125rem;
  border-radius: 1rem;
  background: #fff;
}

.eve-hub-icon i:nth-child(2) { transform: rotate(60deg); }
.eve-hub-icon i:nth-child(3) { transform: rotate(-60deg); }

.eve-hub-card strong {
  font-size: var(--eve-ui-title);
}

.eve-hub-card small {
  margin-top: 0;
  color: var(--eve-muted);
  font-size: var(--eve-ui-micro);
}

.eve-status {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  margin-top: 0;
  padding: 0.2rem 0.45rem;
  border-radius: 2rem;
  color: #157552;
  background: #e8f8f1;
  font-size: var(--eve-ui-label);
  font-weight: 600;
}

.eve-status i,
.eve-health-head span i,
.eve-health-states i,
.eve-monitoring i {
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 50%;
  background: var(--eve-green);
  box-shadow: 0 0 0 0.2rem rgb(35 167 111 / 12%);
}

.eve-device {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0.45rem 0.58rem;
  border: 1px solid rgb(255 255 255 / 90%);
  border-radius: 0.7rem;
  color: #3f4856;
  background: rgb(255 255 255 / 90%);
  box-shadow: 0 0.6rem 1.4rem rgb(35 55 82 / 10%);
  font-size: var(--eve-ui-label);
  font-weight: 600;
  animation: eve-device-float 4s ease-in-out infinite;
}

.eve-device i {
  width: 0.62rem;
  height: 0.62rem;
  border: 0.12rem solid var(--eve-blue);
  border-radius: 50%;
}

.eve-device-light { top: 18%; left: 9%; }
.eve-device-security { top: 18%; right: 7%; animation-delay: -1s; }
.eve-device-climate { bottom: 15%; left: 7%; animation-delay: -2s; }
.eve-device-media { right: 10%; bottom: 15%; animation-delay: -3s; }

.eve-beam {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 32%;
  height: 1px;
  overflow: hidden;
  background: rgb(20 126 209 / 18%);
  transform-origin: left center;
}

.eve-beam::after {
  position: absolute;
  width: 38%;
  height: 100%;
  background: linear-gradient(90deg, transparent, var(--eve-cyan), transparent);
  content: "";
  animation: eve-beam-flow 2.4s linear infinite;
}

.eve-beam-1 { transform: rotate(-143deg); }
.eve-beam-2 { transform: rotate(-37deg); }
.eve-beam-3 { transform: rotate(143deg); }
.eve-beam-4 { transform: rotate(37deg); }

.eve-dashboard {
  inset: 12% 9% 13%;
  padding: 0.85rem;
  border-radius: 1.15rem;
  animation: eve-panel-breathe 5s ease-in-out infinite;
}

.eve-dashboard-head,
.eve-project-head,
.eve-health-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.eve-dashboard-brand {
  color: #737d8c;
  font-size: var(--eve-ui-micro);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.eve-dashboard-head small {
  color: #8c94a1;
  font-size: var(--eve-ui-micro);
  font-weight: 600;
}

.eve-scene-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.4rem;
  margin-top: 0.8rem;
}

.eve-scene {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  gap: 0.22rem;
  padding: 0.45rem 0.15rem;
  border: 1px solid #edf0f4;
  border-radius: 0.58rem;
  color: #87909e;
  background: #f9fafb;
  font-size: var(--eve-ui-micro);
}

.eve-scene i {
  width: 0.62rem;
  height: 0.62rem;
  border: 0.1rem solid currentColor;
  border-radius: 50%;
}

.eve-scene-active {
  color: #fff;
  border-color: var(--eve-blue);
  background: linear-gradient(145deg, #2b94e6, #086bc1);
  box-shadow: 0 0.55rem 1.2rem rgb(20 126 209 / 24%);
  animation: eve-scene-select 5s ease-in-out infinite;
}

.eve-control-row {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 0.55rem;
  margin-top: 0.6rem;
}

.eve-temp,
.eve-control-list {
  border: 1px solid #edf0f4;
  border-radius: 0.65rem;
  background: #fafbfc;
}

.eve-temp {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: 0.4rem;
}

.eve-temp small,
.eve-temp span {
  color: #8c94a1;
  font-size: var(--eve-ui-micro);
}

.eve-temp strong {
  margin-block: 0.1rem;
  font-size: 1.15rem;
}

.eve-temp sup { font-size: var(--eve-ui-micro); }

.eve-control-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.35rem 0.45rem;
}

.eve-control-list span {
  display: flex;
  align-items: center;
  gap: 0.32rem;
  padding-block: 0.22rem;
  color: #687181;
  font-size: var(--eve-ui-micro);
}

.eve-toggle {
  position: relative;
  width: 0.85rem;
  height: 0.48rem;
  border-radius: 2rem;
  background: #dfe4ea;
}

.eve-toggle::after {
  position: absolute;
  top: 0.09rem;
  left: 0.09rem;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgb(0 0 0 / 18%);
  content: "";
}

.eve-toggle-on { background: var(--eve-blue); }
.eve-toggle-on::after { transform: translateX(0.37rem); }

.eve-level {
  position: relative;
  height: 0.22rem;
  margin: 0.8rem 0.25rem 0;
  border-radius: 1rem;
  background: #e8ecf1;
}

.eve-level span {
  display: block;
  width: 68%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--eve-cyan), var(--eve-blue));
  animation: eve-level 5s ease-in-out infinite;
}

.eve-level i {
  position: absolute;
  top: 50%;
  left: 68%;
  width: 0.7rem;
  height: 0.7rem;
  border: 0.16rem solid #fff;
  border-radius: 50%;
  background: var(--eve-blue);
  box-shadow: 0 0.2rem 0.5rem rgb(20 126 209 / 28%);
  transform: translate(-50%, -50%);
  animation: eve-level-dot 5s ease-in-out infinite;
}

.eve-floating-chip,
.eve-verified,
.eve-monitoring {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.48rem 0.65rem;
  border: 1px solid rgb(255 255 255 / 88%);
  border-radius: 0.65rem;
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 0.7rem 1.6rem rgb(35 55 82 / 14%);
  font-size: var(--eve-ui-label);
  font-weight: 600;
}

.eve-floating-chip {
  right: 4%;
  bottom: 8%;
  color: #24658f;
  animation: eve-chip 5s ease-in-out infinite;
}

.eve-floating-chip i {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--eve-green);
}

.eve-project-panel {
  inset: 12% 8% 12%;
  padding: 0.9rem;
  border-radius: 1.15rem;
  animation: eve-project-breathe 5.8s ease-in-out -1.1s infinite;
}

.eve-project-head span {
  display: flex;
  flex-direction: column;
}

.eve-project-head small,
.eve-metrics small,
.eve-timeline small {
  color: #9098a4;
  font-size: var(--eve-ui-micro);
}

.eve-project-head small {
  font-size: var(--eve-ui-micro);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.eve-project-head strong {
  margin-top: 0.12rem;
  font-size: var(--eve-ui-title);
}

.eve-project-head b {
  color: var(--eve-blue-deep);
  font-size: 1.05rem;
}

.eve-progress {
  position: relative;
  height: 0.375rem;
  margin-top: 0.65rem;
  overflow: hidden;
  border-radius: 1rem;
  background: #e9edf2;
  isolation: isolate;
}

.eve-progress span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 84%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--eve-cyan), var(--eve-blue-deep));
  transform-origin: left;
  animation: eve-progress-fill 4.8s ease-in-out infinite;
}

.eve-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.35rem;
  margin-top: 0.65rem;
}

.eve-metrics span {
  display: flex;
  padding: 0.4rem;
  border-radius: 0.55rem;
  flex-direction: column;
  background: #f5f7fa;
}

.eve-metrics strong {
  margin-top: 0.12rem;
  font-size: var(--eve-ui-label);
}

.eve-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 0.85rem;
}

.eve-timeline span {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

.eve-timeline span::before {
  position: absolute;
  z-index: -1;
  top: 0.34rem;
  left: -50%;
  width: 100%;
  height: 1px;
  background: #dce2e9;
  content: "";
}

.eve-timeline span:first-child::before { display: none; }

.eve-timeline i {
  width: 0.68rem;
  height: 0.68rem;
  border: 0.12rem solid #dce2e9;
  border-radius: 50%;
  background: #fff;
}

.eve-timeline b {
  margin-top: 0.28rem;
  font-size: var(--eve-ui-micro);
}

.eve-timeline .is-done i {
  border-color: var(--eve-green);
  background: var(--eve-green);
}

.eve-timeline .is-live i {
  border-color: var(--eve-blue);
  box-shadow: 0 0 0 0.28rem rgb(20 126 209 / 13%);
  animation: eve-live-node 2s ease-out infinite;
}

.eve-verified {
  right: 4%;
  bottom: 7%;
  animation: eve-verified 4.8s ease-in-out infinite;
}

.eve-verified i {
  display: grid;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  place-items: center;
  color: #fff;
  background: var(--eve-green);
  font-style: normal;
  font-size: 0.58rem;
}

.eve-health-panel {
  inset: 11% 8% 11%;
  padding: 0.9rem;
  border-radius: 1.15rem;
  animation: eve-panel-breathe 5s ease-in-out -2.5s infinite;
}

.eve-health-head span {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: var(--eve-ui-label);
  font-weight: 600;
}

.eve-health-head small {
  padding: 0.18rem 0.35rem;
  border-radius: 2rem;
  color: #157552;
  background: #e8f8f1;
  font-size: var(--eve-ui-micro);
  font-weight: 600;
}

.eve-health-score {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.75rem;
}

.eve-health-score > span {
  display: flex;
  flex-direction: column;
}

.eve-health-score strong {
  font-size: 1.35rem;
  line-height: 1;
}

.eve-health-score small {
  margin-top: 0.25rem;
  color: #8d96a3;
  font-size: var(--eve-ui-micro);
}

.eve-health-ring {
  position: relative;
  display: grid;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 50%;
  place-items: center;
  background: conic-gradient(var(--eve-blue) 0 92%, #e9edf2 92% 100%);
  animation: eve-ring 4.5s ease-in-out infinite;
}

.eve-health-ring::after {
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.eve-health-ring i {
  position: absolute;
  z-index: 2;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--eve-green);
}

.eve-health-chart {
  display: block;
  width: 100%;
  height: 3.2rem;
  margin-top: 0.35rem;
  overflow: visible;
}

.eve-chart-line {
  fill: none;
  stroke: var(--eve-blue);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 350;
  animation: eve-chart-draw 4.5s ease-in-out infinite;
}

.eve-health-states {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
  margin-top: 0.25rem;
}

.eve-health-states span {
  display: flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0.38rem;
  border-radius: 0.48rem;
  color: #606a78;
  background: #f5f7fa;
  font-size: var(--eve-ui-micro);
}

.eve-monitoring {
  right: 4%;
  bottom: 7%;
  animation: eve-monitor 4.5s ease-in-out infinite;
}

@keyframes eve-card-float {
  0%, 100% { transform: translate(-50%, -50%); }
  50% { transform: translate(-50%, calc(-50% - 0.35rem)); }
}

@keyframes eve-device-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.28rem); }
}

@keyframes eve-beam-flow {
  from { transform: translateX(-120%); }
  to { transform: translateX(320%); }
}

@keyframes eve-panel-breathe {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.2rem); }
}

@keyframes eve-project-breathe {
  0%, 100% { transform: translateY(0); }
  42% { transform: translateY(-0.28rem); }
  68% { transform: translateY(-0.1rem); }
}

@keyframes eve-scene-select {
  0%, 70%, 100% { filter: saturate(1); }
  82% { filter: saturate(1.25) brightness(1.08); }
}

@keyframes eve-level {
  0%, 100% { width: 68%; }
  50% { width: 84%; }
}

@keyframes eve-level-dot {
  0%, 100% { left: 68%; }
  50% { left: 84%; }
}

@keyframes eve-chip {
  0%, 18%, 100% { opacity: 0; transform: translateY(0.4rem) scale(0.96); }
  28%, 82% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes eve-progress-fill {
  0% { transform: scaleX(0.12); }
  65%, 100% { transform: scaleX(1); }
}

@keyframes eve-live-node {
  0% { box-shadow: 0 0 0 0 rgb(20 126 209 / 24%); }
  80%, 100% { box-shadow: 0 0 0 0.42rem rgb(20 126 209 / 0%); }
}

@keyframes eve-verified {
  0%, 55%, 100% { opacity: 0; transform: translateY(0.4rem) scale(0.96); }
  68%, 90% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes eve-ring {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(12deg); }
}

@keyframes eve-chart-draw {
  0% { stroke-dashoffset: 350; opacity: 0.25; }
  55%, 100% { stroke-dashoffset: 0; opacity: 1; }
}

@keyframes eve-monitor {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.2rem); }
}

@media (max-width: 64rem) {
  .eve-reasons-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .eve-reason-visual {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 40rem) {
  .eve-reasons {
    padding-block: 2rem;
  }

  .eve-reasons-grid {
    grid-template-columns: 1fr;
    row-gap: 1.75rem;
  }

  .eve-reason {
    min-height: 0;
  }

  .eve-reason-visual {
    aspect-ratio: 1 / 1;
  }
}

@media (hover: none) {
  .eve-reason:hover {
    box-shadow: 0 1rem 3rem rgb(20 32 54 / 5%);
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eve-reason,
  .eve-reason *,
  .eve-reason *::before,
  .eve-reason *::after {
    animation: none;
    transition: none;
  }
}
