/* Homepage preview of the shared presentation library. */
.home-solutions { padding: 54px 0; background: #101d31; border-block: 1px solid rgba(160,184,215,.16); scroll-margin-top: 90px; }
.home-solutions .container { min-width: 0; }
.home-solutions [hidden] { display: none !important; }
.home-solutions-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.home-solutions-head h2 { margin: 10px 0 12px; font-size: clamp(28px,3vw,42px); line-height: 1.12; }
.home-solutions-head p { margin: 0; color: #b8c6d8; line-height: 1.5; }
.home-solutions-head > a { flex-shrink: 0; }
.home-solutions-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.home-solutions-filter-frame { display: contents; }
.home-solutions-filters { display: flex; gap: 8px; overflow-x: auto; min-width: 0; padding: 3px; scrollbar-width: thin; scrollbar-color: #76516c #152239; }
.home-solutions-filters button, .home-solutions-navigation button { border: 1px solid #43516a; border-radius: 8px; background: #1c2a40; color: #e9edf4; font: inherit; cursor: pointer; min-height: 44px; }
.home-solutions-filters button { padding: 9px 15px; white-space: nowrap; }
.home-solutions-filters button span { margin-left: 7px; color: #b8c6d8; font-size: 12px; }
.home-solutions-filters button[aria-pressed="true"] { background: #702444; border-color: #c24c78; color: #fff; }
.home-solutions-navigation { display: flex; gap: 8px; flex-shrink: 0; }
.home-solutions-navigation button { width: 44px; display: grid; place-items: center; padding: 0; }
.home-solutions-navigation svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.home-solutions-navigation button:disabled { opacity: .35; cursor: default; }
.home-solutions-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 36px)/3); gap: 18px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #76516c #152239; padding: 3px 3px 16px; }
.home-solution-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid #3d4d65; border-radius: 14px; background: #1b2a40; scroll-snap-align: start; }
.home-solution-preview { display: grid; place-items: center; aspect-ratio: 16/9; background: #10244a; margin: 10px 10px 0; border-radius: 8px; overflow: hidden; }
.home-solution-preview img { width: 100%; height: 100%; object-fit: contain; }
.home-solution-body { display: flex; flex-direction: column; flex: 1; padding: 18px; }
.home-solution-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #b8c6d8; font-size: 12px; margin-bottom: 16px; }
.home-solution-brand { display: grid; place-items: center; width: 100px; height: 40px; border-radius: 6px; padding: 5px 8px; background: #f5f7fb; color: #14223a; }
.home-solution-brand.solution-logo-dark { background: #050505; }
.home-solution-brand img { display: block; width: 100%; height: 100%; object-fit: contain; }
.home-solution-card h3 { margin: 0 0 10px; font-size: 21px; line-height: 1.2; overflow-wrap: break-word; }
.home-solution-card h3 a { color: #fff; text-decoration: none; }
.home-solution-body > p { margin: 0 0 22px; color: #b8c6d8; font-size: 14px; line-height: 1.5; }
.home-solution-open { display: flex; align-items: center; margin-top: auto; min-height: 44px; color: #ecc0d1; font-weight: 700; font-size: 13px; text-decoration: none; }
.home-solution-card:hover { border-color: #be537a; }
.home-solutions a:focus-visible, .home-solutions button:focus-visible, .home-solutions-rail:focus-visible { outline: 2px solid #ed9cba; outline-offset: 2px; }
.home-solutions-status { color: #a8b8cc; font-size: 12px; margin: 12px 0 0; }
@media(max-width: 1000px) { .home-solutions-rail { grid-auto-columns: calc((100% - 18px)/2); } }
@media(max-width: 600px) {
  .home-solutions { padding: 32px 0; }
  .home-solutions-head { align-items: flex-start; flex-direction: column; gap: 16px; }
  .home-solutions-head h2 { font-size: 29px; }
  .home-solutions-head p { font-size: 14px; }
  .home-solutions-head > a { min-height: 44px; }
  .home-solutions-toolbar { flex-wrap: wrap; gap: 12px; }
  .home-solutions-filters { width: 100%; }
  .home-solutions-navigation { margin-left: auto; }
  .home-solutions-rail { grid-auto-columns: 88%; gap: 12px; }
  .home-solution-card h3 { font-size: 20px; }
  .home-solution-body { padding: 16px; }
}
/* The legacy mobile homepage applies a light palette to generic sections. */
@media(max-width: 680px) {
  .home-solutions-navigation { display: none; }
  .home-solutions-toolbar { flex-wrap: wrap; min-width: 0; }
  .home-solutions-filter-frame {
    display: block;
    flex: 0 1 100%;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 6px;
    border: 1px solid #43516a;
    border-radius: 12px;
    background: #132239;
    overflow: hidden;
  }
  .home-solutions-filter-frame .home-solutions-filters {
    width: 100%;
    box-sizing: border-box;
    padding: 3px 3px 7px;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
  }
  .home-solutions-filters button { flex: 0 0 auto; scroll-snap-align: start; }
  body.home-page #homeSolutions { background: #101d31 !important; color: #fff !important; }
  body.home-page #homeSolutions > .container { width: 100%; padding-inline: var(--home-mobile-gutter, 22px); box-sizing: border-box; }
  body.home-page #homeSolutions h2, body.home-page #homeSolutions h3 { color: #fff !important; }
  body.home-page #homeSolutions p { color: #b8c6d8 !important; }
  body.home-page #homeSolutions .section-eyebrow { color: #d6a8b9 !important; }
  body.home-page #homeSolutions .home-solutions-head > a { color: #fff !important; border-color: #74839b !important; background: transparent !important; }
}

@media (max-width: 680px) {
  body.home-page #homeSolutions .home-solutions-head {
    display: block;
    margin-bottom: 16px;
    text-align: center;
  }
  body.home-page #homeSolutions .home-solutions-head h2 {
    margin: 0;
    font-size: clamp(23px, 6.6vw, 29px);
  }
  body.home-page #homeSolutions .home-solutions-head p,
  body.home-page #homeSolutions .home-solutions-head > a { display: none !important; }
  .home-solutions-filter-frame { padding: 5px; }
  .home-solutions-filter-frame .home-solutions-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    overflow: visible;
    padding: 0;
  }
  .home-solutions-filters button {
    min-width: 0;
    min-height: 42px;
    padding: 5px 4px;
    white-space: normal;
    font-size: 11px;
    line-height: 1.15;
  }
  .home-solutions-filters button span { margin-left: 2px; }
  .home-solutions-rail {
    grid-auto-columns: 88%;
    align-items: start;
    padding: 2px 0 9px;
    scrollbar-width: none;
  }
  .home-solutions-rail::-webkit-scrollbar { display: none; }
  .home-solution-card { height: auto; }
  .home-solution-preview { margin: 8px 8px 0; aspect-ratio: 1.9; }
  .home-solution-body { padding: 11px 13px 12px; }
  .home-solution-meta { margin-bottom: 8px; }
  .home-solution-brand { width: 86px; height: 34px; }
  .home-solution-card h3 { margin-bottom: 6px; font-size: 18px; }
  .home-solution-body > p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 5px;
    font-size: 12px;
  }
  .home-solution-open { min-height: 32px; }
}
