/* STRipy adaptation of Paper Kit 2: shared Bootstrap 5 and site colours. */
.home-page main { background: #fff; }
.home-page .section { padding: 2.5rem 0; }
.home-page .container { max-width: 1160px; padding-left: 1.5rem; padding-right: 1.5rem; }
.home-page .section-nude { background: #f3f5f3; }
.home-page .section-gray { background: #f4f6f7; }
.home-page .title { margin-top: 0; margin-bottom: 1.25rem; font-size: 1.8rem; font-weight: 600; letter-spacing: -.02em; }
.home-page .title.text-center { margin-bottom: 2rem; }
.home-page h1.title { font-size: 2.4rem; }
.home-page p { font-size: .98rem; line-height: 1.8; color: #425761; }
.home-page .database-summary { max-width: 48rem; margin: 0 auto 1rem; font-size: 1.05rem; }
.home-page .database-description { max-width: 55rem; margin: 0 auto 1.5rem; }
.home-page .database-button { padding: .8rem 1.75rem; font-size: 1rem; }
.home-page .database-button svg { margin-right: .5rem; }
.home-page .software-entry .info { display: flex; flex-direction: column; height: 100%; padding: 0 1.75rem; }
.home-page .software-entry + .software-entry { border-left: 1px solid #e1e6e8; }
.home-page .info .icon { font-size: 2rem; color: var(--stripy-control); margin-bottom: .75rem; }
.home-page .info-title { font-size: 1.4rem; font-weight: 600; margin-bottom: .35rem; }
.home-page .software-type { color: #627680; font-size: .9rem; margin-bottom: 1rem; }
.home-page .software-actions { margin-top: auto; padding-top: .6rem; }
.home-page .software-actions h4 { font-size: .95rem; font-weight: 600; margin-bottom: .8rem; }
.home-page .download-buttons, .home-page .pipeline-button { min-height: 48px; }
.home-page .pipeline-button { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; }
.home-page .software-detail-link { display: block; font-size: .85rem; font-weight: 500; margin-top: .8rem; }
.home-page .software-more { margin: 2rem auto 0; font-size: .9rem; }
.home-page .online-tools .info { padding: 0 1.75rem; }
.home-page .online-tools .info-title { margin-bottom: 1rem; font-size: 1.2rem; }
.home-page .online-tools p { font-size: .92rem; }
@media (max-width: 767.98px) {
    .home-page .section { padding: 2rem 0; }
    .home-page .software-entry .info, .home-page .online-tools .info { padding: 0; }
    .home-page .software-entry + .software-entry { margin-top: 2rem; padding-top: 2rem; border-left: 0; border-top: 1px solid #e1e6e8; }
    .home-page .online-tools article + article { margin-top: 1rem; }
    .home-page h1.title { font-size: 2rem; }
}

.home-page .software-protocol { max-width: 54rem; margin: 2rem auto 0; padding-top: 1.5rem; border-top: 1px solid #e1e6e8; }
.home-page .software-protocol .protocol-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem; font-size: 1.3rem; font-weight: 600; margin-bottom: 1rem; }
.home-page .protocol-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: #edf2f1; color: var(--stripy-accent); font-size: 1.1rem; flex-shrink: 0; }
.home-page .software-protocol p { font-size: .94rem; margin-bottom: .65rem; }
.home-page .software-protocol .protocol-title { font-weight: 600; }
.home-page .software-protocol .protocol-citation { font-size: .85rem; color: #627680; margin-bottom: 0; }
