/* Useful homepage entry points, one SmartBank message and a connected service triangle. */
.home-page .hero-grid { align-items: start; padding-block: 50px 56px; gap: 48px; }
.home-page .hero-visual { display: grid; gap: 14px; align-content: start; min-width: 0; margin: 0; }
.home-page .hero-visual::before { content: none; }
.home-page .hero-visual > img { width: 100%; height: auto; min-height: 0; aspect-ratio: 3 / 2; object-fit: contain; }
.home-page .hero-software-link { position: relative; display: block; padding: 18px 22px; border: 1px solid #65aabf; border-radius: 12px; background: #123f60; color: #fff; text-decoration: none; }
.home-page .hero-software-link h2 { font-size: clamp(1.25rem, 1.8vw, 1.6rem); line-height: 1.25; }
.home-page .hero-software-link p { margin: 7px 0 10px; color: #e4f2f8; font-size: .96rem; line-height: 1.5; }
.home-page .hero-software-link > strong { display: flex; align-items: center; justify-content: space-between; color: #ffe09a; font-size: .94rem; }
.home-page .hero-software-link:hover { background: #1b5278; border-color: #ffe09a; }
.home-page .hero-smartbank { padding: 20px 22px; border-radius: 12px; border-left: 5px solid #e5b94e; background: #d8eef3; color: #123047; }
.home-page .hero-smartbank .smartbank-kicker { margin: 0 0 8px; color: #075d70; font-size: .74rem; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.home-page .hero-smartbank h2 { font-size: clamp(1.25rem, 1.8vw, 1.55rem); line-height: 1.25; color: #102638; }
.home-page .hero-smartbank > p:not(.smartbank-kicker) { margin: 9px 0 13px; font-size: .96rem; line-height: 1.55; color: #244a5c; }
.home-page .hero-smartbank > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .95rem; font-weight: 800; color: #075066; text-decoration: underline; text-underline-offset: 4px; }
.home-page .hero-smartbank > a:hover { color: #061c2e; }
.home-page .system-triangle-section { background: #edf3f8; padding: 32px 0; }
.home-page .system-triangle-layout { display: grid; grid-template-columns: .9fr 1.2fr; align-items: center; gap: 44px; }
.home-page .system-triangle-intro h2 { font-size: clamp(1.65rem, 2.5vw, 2.3rem); line-height: 1.2; max-width: 22ch; color: #123047; }
.home-page .system-triangle-intro > p:last-child { margin: 14px 0 0; font-size: 1.125rem; font-weight: 650; line-height: 1.6; color: #23485d; max-width: 46ch; }
.home-page .system-triangle { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 104px 118px 112px; column-gap: 24px; min-width: 0; }
.home-page .triangle-connectors { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: #85aebd; stroke-width: 3; }
.home-page .triangle-connectors .triangle-spokes { stroke: #b8ccd6; stroke-width: 2; }
.home-page .triangle-node { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px; border: 2px solid transparent; border-radius: 14px; color: #fff; text-decoration: none; box-shadow: 0 6px 18px #12304712; min-width: 0; }
.home-page .triangle-node > svg { flex: 0 0 30px; width: 30px; height: 30px; fill: none; stroke: #d6f0f7; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.home-page .triangle-node > span { display: grid; gap: 5px; }
.home-page .triangle-node strong { font-size: 1.2rem; font-weight: 850; line-height: 1.3; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.home-page .triangle-node strong > span { color: #ffe09a; }
.home-page .triangle-node small { font-size: .95rem; font-weight: 650; line-height: 1.45; color: #f1f8fc; }
.home-page .triangle-software { grid-column: 1 / -1; grid-row: 1; justify-self: center; width: 62%; background: #17496f; }
.home-page .triangle-support { grid-column: 1; grid-row: 3; background: #076575; }
.home-page .triangle-accounts { grid-column: 2; grid-row: 3; background: #514274; }
.home-page .triangle-business { position: relative; grid-column: 1 / -1; grid-row: 2; align-self: center; justify-self: center; display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; border: 2px solid #e5b94e; border-radius: 50%; background: #fff7df; color: #123047; font-size: 1.08rem; line-height: 1.25; font-weight: 850; text-align: center; z-index: 1; }
.home-page .triangle-node:hover { border-color: #e5b94e; text-decoration: underline; text-underline-offset: 4px; }
.home-page .hero-software-link:focus-visible, .home-page .hero-smartbank a:focus-visible, .home-page .triangle-node:focus-visible { outline: 3px solid #e5b94e; outline-offset: 4px; }
.home-page .intro-section { padding-top: 52px; }
.home-page .intro-section .split-heading { align-items: center; }
.home-page .solutions-statement { border-left: 5px solid #e5b94e; padding: 20px 24px; border-radius: 0 12px 12px 0; background: #fff; }
.home-page .solutions-statement > strong { display: block; color: #123f60; font-size: clamp(1.4rem, 2.1vw, 1.85rem); line-height: 1.25; font-weight: 850; letter-spacing: -.025em; }
.home-page .solutions-statement > p { margin: 12px 0 0; color: #23485d; font-size: 1.125rem; font-weight: 650; line-height: 1.6; }
@media (max-width: 1040px) {
  .home-page .hero-grid { gap: 30px; }
  .home-page .system-triangle-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .home-page .system-triangle-intro h2 { max-width: 32ch; }
  .home-page .system-triangle-intro > p:last-child { max-width: 70ch; }
  .home-page .system-triangle { width: 100%; max-width: 700px; margin-inline: auto; }
}
@media (max-width: 820px) {
  .home-page .hero-grid { grid-template-columns: minmax(0, 1fr); padding-block: 38px 42px; }
  .home-page .hero-visual { margin-top: 0; }
  .home-page .hero-visual > img { min-height: 0; aspect-ratio: 3 / 2; }
}
@media (max-width: 560px) {
  .home-page .hero-software-link, .home-page .hero-smartbank { padding: 18px; }
  .home-page .system-triangle { column-gap: 12px; grid-template-rows: 104px 100px 156px; }
  .home-page .triangle-node { padding: 12px 9px; gap: 8px; flex-direction: column; text-align: center; }
  .home-page .triangle-node > svg { flex-basis: 24px; height: 24px; width: 24px; }
  .home-page .triangle-node > span { gap: 4px; }
  .home-page .triangle-node strong { font-size: 1.02rem; }
  .home-page .triangle-node small { font-size: .85rem; }
  .home-page .triangle-software { width: 72%; flex-direction: row; }
  .home-page .triangle-business { width: 84px; height: 84px; font-size: 1rem; }
  .home-page .solutions-statement { padding: 18px; }
}
