/* Homepage composition; shared controls remain in components.css. */
.home-geometry {
  max-width:960px;
  margin:30px auto 0;
}
.home-geometry svg {
  display:block;
  width:100%;
  height:auto;
}
.home-hero-facts {
  margin-bottom:12px;
}
.home-board-caption {
  max-width:840px;
  margin:24px auto 0;
  text-align:center;
  color:var(--c-muted);
  font-size:var(--size-small);
  line-height:1.8;
}
.home-fact-strip {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 32px;
  padding-top:28px;
  padding-bottom:28px;
  padding-inline:var(--gutter);
  color:var(--c-muted);
  background:var(--c-bg);
  font-family:var(--font-mono);
  font-size:var(--size-small);
}
.home-fact-strip span {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.home-fact-strip span::before {
  content:"";
  width:5px;
  height:5px;
  flex:none;
  border-radius:var(--r-circle);
  background:var(--c-accent);
}
.home-section-intro {
  max-width:780px;
  margin-bottom:48px;
}
.home-section-intro.center {
  margin-inline:auto;
}
.home-section-intro > .tag {
  margin-bottom:20px;
}
.home-section-intro p {
  color:var(--c-muted);
  line-height:1.9;
  margin-bottom:0;
}
.home-device-tail {
  margin-top:28px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.home-device-tail p {
  flex:1 1 620px;
  margin-bottom:0;
  font-size:var(--size-small);
}
.home-device-tail > a {
  flex:none;
}
.home-reading-note {
  margin-top:56px;
  padding-top:24px;
  border-top:1px solid var(--c-border);
  color:var(--c-muted);
}
.home-reading-note strong {
  color:var(--c-text);
}
.home-reading-note p {
  margin-bottom:0;
  line-height:1.9;
}
.home-questions {
  margin-top:64px;
}
.home-questions > h3 {
  margin-bottom:24px;
}
.home-articles {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.home-articles > * {
  min-width:0;
}
.home-articles .article-card p {
  line-height:1.9;
}
.home-all-articles {
  margin-top:32px;
  margin-bottom:0;
}
@media (max-width:900px) {
  .home-articles {
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width:640px) {
  .home-section-intro {
    margin-bottom:32px;
  }
  .home-fact-strip {
    gap:12px 18px;
    font-size:11px;
  }
  .home-board-caption {
    text-align:left;
  }
  .home-reading-note {
    margin-top:40px;
  }
}