/* Homepage completion: linked products, useful service detail and balanced imagery. */
.brand { position: relative; z-index: 2; padding-block: 10px; }
.brand > * { pointer-events: none; }
.primary-nav > a[aria-current="page"] { color: #075d70; text-decoration: underline; text-underline-offset: 7px; }
.home-page .product-card > h3 a,
.home-page .product-card li a { display: block; margin: 0; padding: 0; border: 0; font-size: inherit; line-height: inherit; color: inherit; }
.home-page .product-card > h3 a:hover,
.home-page .product-card li a:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-page .product-card li a { padding: 3px 0; }
.home-page .product-card > .product-cta { margin-top: auto; }
.home-page .product-card > .product-scene { flex-shrink: 0; }
.home-page .payroll-options strong a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.home-page .conversion-team-photo { margin: 28px 0 0; padding: 16px; border-radius: 14px; background: #d5e9f2; }
.home-page .conversion-team-photo img { display: block; width: 100%; height: auto; border-radius: 9px; }
.home-page .conversion-team-photo figcaption { color: #17496f; font-size: .95rem; line-height: 1.55; padding: 14px 4px 2px; }
.home-page .support-grid { align-items: start; }
.home-page .support-services { align-content: start; }
.home-page .support-services article { align-content: start; gap: 12px; }
.home-page .support-services h3 { margin: 0; line-height: 1.3; }
.home-page .support-services h3 a { color: #fff; }
.home-page .support-services h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-page .support-services p { margin: 0; font-size: 1.04rem; line-height: 1.7; }
.home-page .support-services .service-detail-link { color: #fff1c0; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; line-height: 1.5; }
.home-page .smartbank-card { align-items: stretch; }
.home-page .smartbank-copy { align-self: stretch; padding: 32px; }
.home-page .smartbank-copy h2 { font-size: clamp(2.2rem, 3.8vw, 3.5rem); }
.home-page .trial-balance-photo { margin: 28px 0 0; padding: 12px; background: #d5e9f2; border-radius: 12px; }
.home-page .trial-balance-photo img { display: block; width: 100%; height: auto; border-radius: 7px; }
.home-page .trial-balance-photo figcaption { margin-top: 12px; color: #17496f; font-size: .9rem; line-height: 1.5; }
.home-page .founder-grid { grid-template-columns: .7fr 1.3fr; gap: 48px; }
.home-page .founder-copy h2 { margin-bottom: 26px; }
.home-page .founder-story-panel { padding: 32px; border: 1px solid #73bcc8; border-radius: 16px; background: #d5e9f2; color: #15364b; box-shadow: 0 12px 24px #0002; }
.home-page .founder-story-panel > p { color: #15364b; margin: 0 0 20px; font-size: 1.12rem; line-height: 1.8; }
.home-page .founder-story-panel .timeline { border-color: #9dbbcf; padding-top: 22px; margin-top: 24px; }
.home-page .founder-story-panel .timeline strong { color: #075d70; font-size: 1.4rem; }
.home-page .founder-story-panel .timeline span { color: #15364b; font-size: 1rem; }
.home-page .founder-story-panel .founder-link { background: #17496f; color: #fff; border-color: #17496f; margin-top: 24px; }
.home-page .founder-story-panel .founder-link:hover { background: #076575; }
.home-page .quote-grid blockquote { display: flex; flex-direction: column; min-height: 0; }
.home-page .quote-grid h3 { color: #fff1c0; font-size: 1.35rem; line-height: 1.35; margin: 8px 0 14px; }
.home-page .quote-grid cite { margin-top: auto; }
.home-page a:focus-visible { outline: 3px solid #d8a72c; outline-offset: 5px; border-radius: 3px; }
@media (min-width: 821px) and (max-width: 1100px) {
 .nav-wrap { gap: 16px; }
 .primary-nav { gap: 13px; }
 .header-cta { padding-inline: 12px; font-size: .8rem; }
}
@media (max-width: 820px) {
 .home-page .founder-grid { grid-template-columns: 1fr; gap: 32px; }
 .home-page .conversion-grid, .home-page .support-grid, .home-page .smartbank-card { grid-template-columns: minmax(0,1fr); }
 .home-page .support-services p { grid-column: auto; }
 .home-page .smartbank-copy { padding: 28px; }
 .home-page .founder-story-panel { padding: 26px; }
}
@media (max-width: 560px) {
 .home-page .founder-story-panel { padding: 24px; }
 .home-page .founder-story-panel > p { font-size: 1.05rem; }
 .home-page .support-services article { padding: 24px; }
 .home-page .smartbank-copy { padding: 26px 22px; }
}

/* Product icons and a training picture follow the confirmed homepage layout. */
.home-page .support-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: 32px; }
.home-page .support-services { gap: 24px; }
.home-page .support-services > article { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 28px; }
.home-page .support-card-picture { margin: 0; min-width: 0; }
.home-page .support-card-picture img { display: block; width: 100%; height: auto; border-radius: 10px; }
.home-page .support-card-copy { display: grid; gap: 14px; min-width: 0; }
.home-page .support-card-copy > span { color: #d7edf5; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-page .support-card-copy h3 { font-size: clamp(1.45rem,2vw,1.8rem); }
.home-page .support-services .service-detail-link { display: inline-block; padding-block: 6px; }
@media (max-width: 820px) { .home-page .support-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 560px) { .home-page .support-services > article { padding: 22px; } }

.home-page .support-software-logos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.home-page .support-software-logos a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-width: 0; padding: 16px 8px; border-radius: 10px; background: #fff; color: #15364b; text-align: center; text-decoration: none; }
.home-page .support-software-logos a:hover { outline: 2px solid #e5b94e; outline-offset: 2px; }
.home-page .support-software-logos img { display: block; width: auto; height: 42px; max-width: 100%; object-fit: contain; }
.home-page .support-software-logos span { font-size: .8rem; font-weight: 750; line-height: 1.4; }
.home-page .support-software-logos .support-logo-dark { background: #041321; color: #fff; }
@media (max-width: 380px) { .home-page .support-software-logos { grid-template-columns: minmax(0,1fr); } }
