/* Compact solutions catalogue. */
.solutions-catalog { position: relative; overflow: hidden; padding: 48px 0 44px; background: radial-gradient(circle at 3% 24%, #edf5ff 0, #edf5ff 145px, transparent 146px), radial-gradient(circle at 100% -3%, #e5f0ff 0, #e5f0ff 160px, #f1f7ff 161px, transparent 205px), #fbfdff; }
.solutions-catalog .container { position: relative; z-index: 1; }
.solutions-catalog-heading { text-align: center; margin-bottom: 27px; }
.solutions-catalog-kicker { display: inline-flex; align-items: center; gap: 10px; color: #075bff; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.solutions-catalog-kicker:before,.solutions-catalog-kicker:after { content: ''; width: 26px; height: 1px; background: #3984ff; }
.solutions-catalog-heading h2 { margin: 10px 0 9px; font-size: 30px; line-height: 1.25; color: #101e41; font-weight: 600; letter-spacing: -.8px; }
.solutions-catalog-heading p { color: #617493; font-size: 13px; line-height: 1.6; }
.solutions-catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.solution-tile { --tile-color: #0874ff; --tile-soft: #e2f0ff; position: relative; overflow: hidden; display: flex; align-items: flex-start; gap: 15px; padding: 20px 35px 17px 18px; border: 1px solid #e5edfa; border-radius: 14px; background: linear-gradient(135deg,#fff,#f9fcff); box-shadow: 0 5px 16px #124b9910; transition: transform .2s,box-shadow .2s,border-color .2s; }
.solution-tile:before,.solution-tile:after { content: ''; position: absolute; pointer-events: none; width: 92px; height: 92px; border-radius: 42%; background: var(--tile-soft); right: -48px; bottom: -37px; transform: rotate(30deg); }
.solution-tile:before { right: -26px; bottom: -62px; opacity: .55; }
.solution-tile:hover { transform: translateY(-3px); box-shadow: 0 10px 24px #124b9918; border-color: var(--tile-color); }
.solution-tile-icon { position: relative; z-index: 1; flex: 0 0 54px; height: 54px; display: flex; align-items: center; justify-content: center; border-radius: 13px; background: var(--tile-soft); color: var(--tile-color); font-size: 29px; }
.solution-tile-content { position: relative; z-index: 1; min-width: 0; display: flex; flex-direction: column; height: 100%; }
.solution-tile h3 { font-size: 14px; line-height: 1.4; font-weight: 600; letter-spacing: -.35px; margin: 3px 0 6px; }
.solution-tile h3 a { color: #122044; text-decoration: none; }
.solution-tile h3 a:hover { color: #075bff; }
.solution-tile-content > p { color: #657794; font-size: 11px; line-height: 1.55; margin: 0 0 9px; }
.solution-tile-link { align-self: flex-start; margin-top: auto; color: #075bff; font-size: 11px; line-height: 1.5; font-weight: 600; text-decoration: none; }
.solution-tile-link span { margin-left: 3px; } .solution-tile-link:hover { color: #003bb1; }
.solution-tile-chevron { position: absolute; z-index: 1; right: 13px; top: 17px; display: flex; justify-content: center; align-items: center; width: 25px; height: 25px; border: 1px solid #e8efff; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px #1354aa0a; color: #276dff; font-family: Arial,sans-serif; font-size: 25px; line-height: 1; }
.solution-tile.tone-green { --tile-color: #00ae7d; --tile-soft: #def9ee; }
.solution-tile.tone-orange { --tile-color: #f59600; --tile-soft: #fff1df; }
.solution-tile.tone-purple { --tile-color: #7834f4; --tile-soft: #eee6ff; }
.solution-tile.tone-cyan { --tile-color: #00bdea; --tile-soft: #ddf8ff; }
.solution-tile.tone-pink { --tile-color: #f01764; --tile-soft: #ffe6ef; }
@media(max-width:1199px) { .solution-tile { gap: 11px; padding-left: 14px; } .solution-tile-icon { flex-basis: 43px; height: 43px; font-size: 25px; } }
@media(max-width:991px) { .solutions-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .solutions-catalog { padding: 35px 0; } .solutions-catalog-heading h2 { font-size: 25px; } .solutions-catalog-heading p { font-size: 12px; } .solutions-heading-break { display: none; } .solutions-catalog-grid { grid-template-columns: 1fr; } .solution-tile { padding: 18px 42px 18px 16px; gap: 15px; } .solution-tile h3 { font-size: 15px; } .solution-tile-content > p { font-size: 12px; } .solution-tile-link { font-size: 12px; } }
@media(prefers-reduced-motion:reduce) { .solution-tile { transition: none; } .solution-tile:hover { transform: none; } }