/* Features page list and the home-page call-out. */
.feature-list { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1rem; counter-reset: feat; }
.feature-item { counter-increment: feat; background: var(--panel); border: 1px solid var(--panel-edge); border-radius: 14px; padding: 1.5rem; }
.feature-item h2 { font-size: 1.25rem; line-height: 1.2; margin-bottom: .75rem; }
.feature-item h2::before { content: counter(feat, decimal-leading-zero); display: block; font: 500 .8rem/1.6 var(--font-mono); color: var(--accent); margin-bottom: .35rem; }
.feature-item p { color: var(--ink-dim); line-height: 1.65; }
.feature-item .feature-tag { margin-top: .9rem; font: .8rem/1.5 var(--font-mono); color: var(--ink-faint, var(--ink-dim)); }
.feature-foot { color: var(--ink-dim); line-height: 1.7; padding-bottom: 1rem; }
.feature-foot:last-child { padding-bottom: 5rem; }
.features-callout { border-block: 1px solid var(--panel-edge); background: var(--panel); }
.features-callout .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; flex-wrap: wrap; padding-block: 2rem; }
.features-callout h2 { font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.15; margin: 0; }
.features-callout p { color: var(--ink-dim); margin: .5rem 0 0; max-width: 46ch; }
@media (max-width: 600px) { .features-callout .btn { width: 100%; text-align: center; } }
/* Match the existing hero action text link below the three promises. */
.demo-lede .hero-promise .text-link { margin-top: 0; font-size: 1rem; color: var(--ink); }
.demo-lede .hero-promise .text-link:hover { color: var(--accent); }
.demo-lede .hero-promise .features-link-row { text-align: center; }
