/* 首页专属构图；基础控件、窗口与分区沿用共享组件。 */
.home-symbols {
  position:absolute;
  overflow:hidden;
  pointer-events:none;
}
.hero .cursor {
  animation:none;
}
.home-platform-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:36px;
}
.home-platform-grid>* {
  min-width:0;
}
.home-platform-card {
  display:flex;
  flex-direction:column;
  gap:16px;
}
.home-platform-title {
  display:flex;
  align-items:center;
  gap:12px;
  align-self:flex-start;
}
.home-platform-title svg {
  width:28px;
  height:28px;
  color:var(--accent-dark);
  flex-shrink:0;
}
.home-platform-title h3 {
  margin:0;
}
.home-platform-title:hover {
  color:var(--accent-dark);
}
.home-platform-card p {
  margin:0;
  color:var(--ink-2);
  font-size:15px;
  line-height:1.85;
}
.home-platform-card .home-client-name {
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--accent-dark);
}
.home-platform-card .btn {
  align-self:flex-start;
  margin-top:auto;
}
.home-steps {
  margin-top:40px;
  border-top:1px solid var(--line);
}
.home-step {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:28px;
  padding-top:32px;
  padding-bottom:32px;
  border-bottom:1px solid var(--line);
}
.home-step>div {
  min-width:0;
  max-width:960px;
}
.home-step-number {
  display:grid;
  place-items:center;
  width:60px;
  height:60px;
  border:1px solid var(--accent);
  border-radius:var(--r-ctl);
  background:var(--bg);
  color:var(--lime);
  font-family:var(--font-mono);
  font-size:24px;
  font-weight:700;
  box-shadow:var(--shadow-paper);
}
.home-step h3 {
  margin-bottom:16px;
}
.home-step p {
  color:var(--ink-2);
  line-height:1.95;
}
.home-step p:last-child {
  margin-bottom:0;
}
.home-step code {
  font-size:.86em;
  color:var(--ink);
}
.home-ecosystem-lead {
  max-width:48em;
  color:var(--text-muted);
  font-size:18px;
  line-height:1.8;
}
.home-ecosystem-layout {
  display:grid;
  grid-template-columns:minmax(0,4fr) minmax(0,8fr);
  align-items:start;
  gap:64px;
  margin-top:44px;
}
.home-ecosystem-layout>* {
  min-width:0;
}
.home-family {
  position:sticky;
  top:28px;
}
.home-family-label {
  margin-bottom:30px;
  color:var(--text-muted);
  font-family:var(--font-mono);
  font-size:12px;
}
.home-family-root {
  padding:16px;
  border:1px solid var(--cyan);
  border-radius:var(--r-ctl);
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-display);
  font-size:28px;
  font-weight:800;
  text-align:center;
}
.home-family-branches {
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding-top:36px;
  margin-bottom:20px;
}
.home-family-branches::before {
  content:"";
  position:absolute;
  top:0;
  left:50%;
  height:18px;
  border-left:1px solid var(--cyan);
}
.home-family-branches span {
  position:relative;
  padding:12px 8px;
  border:1px solid var(--border);
  border-radius:var(--r-ctl);
  background:var(--bg-panel-2);
  color:var(--cyan);
  font-family:var(--font-mono);
  text-align:center;
}
.home-family-branches span::before {
  content:"";
  position:absolute;
  bottom:100%;
  width:calc(50% + 9px);
  height:19px;
  border-top:1px solid var(--cyan);
}
.home-family-branches span:first-child::before {
  left:50%;
  border-left:1px solid var(--cyan);
}
.home-family-branches span:last-child::before {
  right:50%;
  border-right:1px solid var(--cyan);
}
.home-family>p:not(.home-family-label) {
  font-size:14px;
}
.home-family-clients {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
  margin-bottom:20px;
  padding-top:24px;
  border-top:1px dashed var(--border);
}
.home-family-clients span {
  padding:5px 9px;
  border:1px solid var(--border);
  border-radius:var(--r-tag);
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-mono);
  font-size:12px;
}
.home-ecosystem-copy article+article {
  margin-top:36px;
  padding-top:32px;
  border-top:1px solid var(--border-soft);
}
.home-ecosystem-copy h3 {
  margin-bottom:18px;
}
.home-ecosystem-copy p {
  color:var(--text-muted);
  line-height:1.95;
}
.home-ecosystem-copy p:last-child {
  margin-bottom:0;
}
@media(min-width:1181px) {
  .hero .platforms {
    flex-wrap:nowrap;
    gap:7px;
  }
  .hero .pf {
    gap:6px;
    padding-inline:9px;
    font-size:13px;
  }
}
@media(max-width:1200px) {
  .home-platform-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-ecosystem-layout {
    gap:36px;
  }
}
@media(max-width:900px) {
  .home-ecosystem-layout {
    grid-template-columns:minmax(0,1fr);
  }
  .home-family {
    position:relative;
    top:auto;
    max-width:520px;
  }
}
@media(max-width:640px) {
  .hero .platforms {
    gap:6px;
    flex-wrap:nowrap;
  }
  .hero .pf {
    gap:5px;
    padding-inline:6px;
    font-size:11px;
  }
  .hero .pf svg {
    width:13px;
    height:13px;
  }
  .home-platform-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .home-step {
    grid-template-columns:40px minmax(0,1fr);
    gap:14px;
    padding-top:24px;
    padding-bottom:24px;
  }
  .home-step-number {
    width:40px;
    height:40px;
    font-size:18px;
  }
  .home-step h3 {
    font-size:20px;
  }
  .home-step p {
    font-size:15px;
    line-height:1.9;
  }
  .home-ecosystem-lead {
    font-size:16px;
  }
  .home-ecosystem-copy p {
    font-size:15px;
  }
}