/* Home page layout. Components come from components.css, terminal.css, flow.css, explorer.css. */
.hm-hero { padding: var(--sp-8) 0 var(--sp-6); background: var(--grad-hero); }
.hm-copy { max-width: 760px; margin-bottom: var(--sp-5); }
.hm-copy h1 { font-size: clamp(var(--fs-5), 5vw, var(--fs-7)); margin: var(--sp-1) 0 var(--sp-2); letter-spacing: -0.035em; max-width: 16ch; }
.hm-copy .lede { margin: 0 0 var(--sp-3); font-size: var(--fs-1); color: var(--on-dark); max-width: 46ch; }
.hm-copy .fine { margin: var(--sp-2) 0 0; color: var(--on-dark); font-size: 0.92rem; }
.hm-xp { max-width: 1120px; }
.hm-evidence { border-block: var(--bd); background: var(--surface); }
.hm-event { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--sp-5); align-items: center; }
@media (max-width: 900px) { .hm-event { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); } }
.term-band .eyebrow-dark { color: var(--accent); }
.term-band h2 { color: #fff; font-size: var(--fs-4); margin: var(--sp-1) 0; }
.term-band .hm-event-copy p:last-child { color: #c9d4e0; margin: 0; max-width: 34ch; }
.hm-more { margin: var(--sp-3) 0 0; }
.sec-head h2 { max-width: 22ch; }
@media (max-width: 640px) { .sec { padding-block: var(--sp-6); } .hm-hero { padding-top: var(--sp-5); } }
