.solutions-page main { overflow: hidden; background: #fff; color: #151922; }
.solutions-page .site-header { height: 86px; }
.solutions-page .site-header .nav-cta-desktop { display: inline-flex !important; }
.solutions-page .site-header .menu-button { display: none; }
.solutions-page .site-header .desktop-nav { align-items: center; gap: clamp(18px, 2vw, 30px); }
.solutions-page .site-header .desktop-nav > a:not(.nav-cta-mobile),
.solutions-page .site-header .desktop-nav > .nav-dropdown > summary { min-height: 36px; display: flex; align-items: center; letter-spacing: -.01em; font-size: 14px; font-weight: 400; text-transform: uppercase; }
.solutions-page .site-header .nav-cta-desktop { min-width: 174px; }
.solutions-hero { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 55px; align-items: center; padding: 82px var(--home-content-gutter) 92px; background: #f5f8fc; }
.solutions-hero-copy { max-width: 620px; }
.solutions-hero-copy .eyebrow,.solutions-heading .eyebrow { color: #5b80bd; }
.solutions-hero h1,.solutions-heading h2,.solutions-final h2 { margin: 0; font: 600 clamp(39px, 4.1vw, 64px)/1.02 "Inter","Segoe UI",Arial,sans-serif; letter-spacing: -.06em; }
.solutions-hero h1 em,.solutions-heading h2 em,.solutions-final h2 em { color: #758196; font-style: normal; }
.solutions-hero-copy > p:not(.eyebrow) { max-width: 520px; margin: 25px 0 0; color: #687587; font-size: 14px; line-height: 1.75; }
.solutions-hero-visual { height: 425px; overflow: hidden; border-radius: 22px; box-shadow: 0 20px 60px rgba(40,65,100,.12); }
.solutions-hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.solutions-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.solutions-button { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; padding: 0 20px; border-radius: 100px; font-size: 11px; font-weight: 600; text-decoration: none; }
.solutions-button-primary { color: #fff; background: #5b80bd; }.solutions-button-secondary { color: #344254; border: 1px solid #cbd5e1; background: #fff; }
.solutions-section { padding: 104px var(--home-content-gutter); }.solutions-scenes,.solutions-outputs,.solutions-next { background: #fff; }.solutions-workflow,.solutions-connect,.solutions-data { background: #f5f7fa; }
.solutions-connect { background: #fff; }
.solutions-heading { max-width: 850px; margin: 0 auto 44px; text-align: center; }.solutions-heading > p:last-child { max-width: 660px; margin: 22px auto 0; color: #697485; font-size: 14px; line-height: 1.75; }
.solutions-scene-grid,.solutions-output-grid,.solutions-connect-grid,.solutions-next-grid { max-width: 1320px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin: 0 auto; }
.solutions-scene-grid article { overflow: hidden; border: 1px solid #e1e6ed; border-radius: 18px; background: #f7f9fb; }.solutions-scene-grid img { display: block; width: 100%; height: 225px; object-fit: cover; }.solutions-scene-grid article div { min-height: 205px; padding: 25px 25px 28px; }.solutions-scene-grid span,.solutions-output-grid span,.solutions-connect-grid span,.solutions-next-grid span { color: #5b80bd; font: 9px var(--mono); letter-spacing: .1em; }.solutions-scene-grid h3,.solutions-output-grid h3,.solutions-connect-grid h3,.solutions-next-grid h3 { margin: 13px 0 0; font-size: 20px; line-height: 1.12; letter-spacing: -.04em; }.solutions-scene-grid p,.solutions-connect-grid p { margin: 13px 0 0; color: #697485; font-size: 12px; line-height: 1.7; }
.solutions-steps { max-width: 1320px; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); margin: 0 auto; border-top: 1px solid #c7d2e0; border-bottom: 1px solid #c7d2e0; }.solutions-steps article { min-height: 250px; padding: 25px 22px; border-left: 1px solid #d8e0ea; }.solutions-steps article:first-child { border-left: 0; }.solutions-steps span { color: #5b80bd; font: 9px var(--mono); letter-spacing: .1em; }.solutions-steps h3 { margin: 65px 0 13px; font-size: 18px; line-height: 1.15; }.solutions-steps p { margin: 0; color: #697485; font-size: 11px; line-height: 1.65; }
.solutions-output-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }.solutions-output-grid article,.solutions-connect-grid article,.solutions-next-grid article { min-height: 240px; padding: 28px; border: 1px solid #e0e6ee; border-radius: 18px; background: #fff; }.solutions-output-grid h3 { max-width: 270px; margin-top: 82px; font-size: 21px; }
.solutions-connect-grid,.solutions-next-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }.solutions-connect-grid h3 { margin-top: 65px; }.solutions-connect-grid p { max-width: 350px; }
.solutions-data-layout { max-width: 1320px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; margin: 0 auto; }.solutions-data-layout > img { width: 100%; height: 380px; object-fit: cover; border-radius: 18px; }.solutions-data-points { display: grid; grid-template-rows: repeat(3,1fr); gap: 10px; }.solutions-data-points article { display: flex; flex-direction: column; justify-content: center; padding: 24px; border: 1px solid #dce4ee; border-radius: 16px; background: #fff; }.solutions-data-points b { color: #5b80bd; font: 10px var(--mono); letter-spacing: .1em; }.solutions-data-points span { margin-top: 11px; color: #697485; font-size: 13px; line-height: 1.55; }
.solutions-next-grid article { min-height: 230px; display: flex; flex-direction: column; }.solutions-next-grid h3 { margin-top: 52px; }.solutions-next-grid a { margin-top: auto; color: #365b91; font-size: 11px; font-weight: 600; text-decoration: none; }.solutions-next-grid a b { margin-left: 14px; font-size: 15px; }
.solutions-final { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; padding: 90px var(--home-content-gutter); color: #fff; background: linear-gradient(130deg,#111d30,#29466f); }.solutions-final > div { max-width: 580px; }.solutions-final .eyebrow { color: #a9c5ec; }.solutions-final p:not(.eyebrow) { max-width: 520px; margin: 0; color: #d3dce9; font-size: 14px; line-height: 1.75; }.solutions-final .solutions-button-secondary { color: #fff; border-color: rgba(255,255,255,.5); background: transparent; }
@media (max-width: 800px) { .solutions-hero { grid-template-columns: 1fr; gap: 35px; padding: 62px 20px 70px; }.solutions-hero h1,.solutions-heading h2,.solutions-final h2 { font-size: 38px; }.solutions-hero-visual { height: 285px; }.solutions-section { padding: 68px 20px; }.solutions-heading { margin-bottom: 30px; text-align: left; }.solutions-heading > p:last-child { margin-left: 0; font-size: 13px; }.solutions-scene-grid,.solutions-output-grid,.solutions-connect-grid,.solutions-next-grid,.solutions-data-layout { grid-template-columns: 1fr; gap: 10px; }.solutions-scene-grid img { height: 210px; }.solutions-scene-grid article div { min-height: 0; }.solutions-steps { grid-template-columns: 1fr; }.solutions-steps article { min-height: 190px; border-top: 1px solid #d8e0ea; border-left: 0; }.solutions-steps article:first-child { border-top: 0; }.solutions-steps h3 { margin-top: 45px; }.solutions-output-grid article,.solutions-connect-grid article,.solutions-next-grid article { min-height: 190px; }.solutions-output-grid h3,.solutions-connect-grid h3 { margin-top: 45px; }.solutions-data-layout > img { height: 245px; }.solutions-final { grid-template-columns: 1fr; gap: 30px; padding: 70px 20px; } }

/* Match the site's shared page rhythm and give the workflow a clear step treatment. */
.solutions-hero { padding-top: 70px; padding-bottom: 78px; }
.solutions-hero h1 { font-size: clamp(38px, 3.5vw, 54px); line-height: 1.06; }
.solutions-hero-visual { height: 390px; }
.solutions-section { padding-top: 82px; padding-bottom: 82px; }
.solutions-heading { margin-bottom: 36px; }
.solutions-heading h2 { font-size: clamp(35px, 3.2vw, 49px); line-height: 1.06; }
.solutions-heading > p:last-child { margin-top: 20px; font-size: 13px; }
.solutions-scene-grid,.solutions-output-grid,.solutions-connect-grid,.solutions-next-grid { gap: 12px; }
.solutions-scene-grid img { height: 245px; object-fit: contain; background: #f7f9fb; }
.solutions-scene-grid article div { min-height: 190px; padding: 22px 23px 25px; }
.solutions-scene-grid h3,.solutions-output-grid h3,.solutions-connect-grid h3,.solutions-next-grid h3 { font-size: clamp(18px, 1.45vw, 22px); }
.solutions-scene-grid p,.solutions-connect-grid p { font-size: 11px; line-height: 1.65; }
.solutions-steps { position: relative; gap: 10px; border: 0; }
.solutions-steps article { min-height: 230px; padding: 22px; border: 1px solid #e0e6ee; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(38,59,91,.045); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; animation: solutionsStepIn .5s cubic-bezier(.2,.75,.2,1) both; }
.solutions-steps article:nth-child(2) { animation-delay: 60ms; }.solutions-steps article:nth-child(3) { animation-delay: 120ms; }.solutions-steps article:nth-child(4) { animation-delay: 180ms; }.solutions-steps article:nth-child(5) { animation-delay: 240ms; }
.solutions-steps article:hover { transform: translateY(-4px); border-color: rgba(91,128,189,.38); box-shadow: 0 16px 34px rgba(38,59,91,.1); }
.solutions-steps article::after { content: "→"; position: absolute; top: 20px; right: 20px; color: #93a9c7; font-size: 17px; }
.solutions-steps article:last-child::after { content: "✓"; color: #5b80bd; }
.solutions-steps span { color: #5b80bd; font: 9px var(--mono); letter-spacing: .1em; }
.solutions-steps h3 { margin: 45px 0 12px; font-size: 18px; line-height: 1.15; letter-spacing: -.025em; }
.solutions-steps p { margin: 0; color: #697485; font-size: 11px; line-height: 1.6; }
.solutions-workflow-layout,.solutions-connect-layout { max-width: 1320px; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 18px; align-items: stretch; margin: 0 auto; }
.solutions-workflow-visual,.solutions-connect-visual { position: relative; overflow: hidden; min-height: 430px; border-radius: 18px; background: #102039; box-shadow: 0 18px 42px rgba(24,43,70,.1); }
.solutions-workflow-visual img,.solutions-connect-visual img { width: 100%; height: 100%; display: block; object-fit: cover; opacity: 1; }
.solutions-workflow-visual { min-height: 560px; background: #fff; }
.solutions-workflow-visual img { object-fit: contain; opacity: 1; }
.solutions-workflow-visual > div { position: absolute; right: 22px; bottom: 22px; left: 22px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; background: rgba(9,24,45,.78); color: #cfe0fa; backdrop-filter: blur(12px); }
.solutions-workflow-visual b { font: 600 10px var(--mono); letter-spacing: .08em; }.solutions-workflow-visual span { color: #8eadd7; }
.solutions-workflow-layout .solutions-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
.solutions-workflow-layout .solutions-steps article { min-height: 205px; }.solutions-workflow-layout .solutions-steps article:last-child { grid-column: 1 / -1; min-height: 170px; }
.solutions-output-grid article,.solutions-connect-grid article,.solutions-next-grid article { min-height: 215px; padding: 24px; border-radius: 16px; }
.solutions-output-grid article { padding: 0; overflow: hidden; }.solutions-output-grid article img { display: block; width: 100%; height: 130px; object-fit: cover; }.solutions-output-grid article div { padding: 19px 22px 22px; }.solutions-output-grid h3 { margin-top: 36px; font-size: 18px; }
.solutions-output-grid h3 { margin-top: 58px; font-size: 19px; }
.solutions-connect-grid h3 { margin-top: 48px; }
.solutions-connect-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); }.solutions-connect-visual { min-height: 350px; }.solutions-connect-visual span { position: absolute; right: 18px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.7); border-radius: 9px; background: rgba(255,255,255,.9); color: #31588e; font: 600 10px var(--mono); }.solutions-connect-visual span:nth-of-type(1){top:45px}.solutions-connect-visual span:nth-of-type(2){top:112px}.solutions-connect-visual span:nth-of-type(3){top:179px}.solutions-connect-visual span:nth-of-type(4){top:246px}
.solutions-data-visual { position: relative; min-width: 0; min-height: 0; overflow: hidden; border-radius: 18px; background: #edf3fb; }
.solutions-data-visual img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.solutions-data-points article { padding: 20px 23px; }
.solutions-data-points h3 { margin: 10px 0 8px; font-size: 19px; line-height: 1.15; letter-spacing: -.03em; }
.solutions-compliance { max-width: 1320px; margin: 64px auto 0; padding-top: 56px; border-top: 1px solid #dce4ee; }
.solutions-compliance .solutions-heading { margin: 0 auto 34px; text-align: center; }
.solutions-compliance .solutions-heading h2 { font-size: clamp(32px,2.8vw,44px); }
.solutions-compliance .solutions-heading > p { margin-left: auto; margin-right: auto; }
.solutions-compliance-intro { min-width: 0; }
.solutions-compliance-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.solutions-compliance-grid article { display: flex; flex-direction: column; min-width: 0; padding: 24px 20px; border: 1px solid #dce4ee; border-radius: 14px; background: #fff; }
.solutions-compliance-grid article:nth-child(n+4) { grid-column: auto; }
.solutions-compliance-grid b { color: #5b80bd; font: 9px var(--mono); letter-spacing: .1em; }
.solutions-compliance-grid b { min-height: 30px; line-height: 1.65; }
.solutions-compliance-grid h3 { margin: 25px 0 12px; font-size: 16px; line-height: 1.3; letter-spacing: -.02em; }
.solutions-compliance-grid p { margin: 0; color: #697485; font-size: 12px; line-height: 1.6; }
.solutions-compliance-footer { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 26px; }
.solutions-compliance-note { max-width: 760px; margin: 0; color: #697485; font-size: 12px; line-height: 1.6; }
.solutions-compliance-footer > .solutions-button { flex-shrink: 0; }
.solutions-final { padding-top: 76px; padding-bottom: 76px; }
.solutions-final h2 { font-size: clamp(35px, 3.2vw, 49px); }
.solutions-final p:not(.eyebrow) { font-size: 13px; }
@keyframes solutionsStepIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 800px) {
  .solutions-hero { padding: 58px 20px 64px; }
  .solutions-hero h1,.solutions-heading h2,.solutions-final h2 { font-size: 36px; }
  .solutions-hero-visual { height: 260px; }
  .solutions-section { padding: 64px 20px; }
  .solutions-heading { margin-bottom: 27px; }
  .solutions-steps { gap: 9px; }
  .solutions-workflow-layout,.solutions-connect-layout { grid-template-columns: 1fr; gap: 12px; }.solutions-workflow-visual,.solutions-connect-visual { min-height: 250px; }.solutions-workflow-visual { min-height: 0; aspect-ratio: 1122 / 1536; }.solutions-workflow-layout .solutions-steps { grid-template-columns: 1fr; }.solutions-workflow-layout .solutions-steps article:last-child { grid-column: auto; }
  .solutions-output-grid article img { height: 170px; }
  .solutions-compliance { display: flex; flex-direction: column; gap: 26px; margin-top: 48px; padding-top: 42px; }
  .solutions-compliance-grid { width: 100%; grid-template-columns: 1fr; }
  .solutions-compliance-grid article { grid-template-columns: 1fr; gap: 9px; padding: 20px; }
  .solutions-compliance-grid b,.solutions-compliance-grid h3,.solutions-compliance-grid p { grid-column: auto; grid-row: auto; margin: 0; }
  .solutions-compliance-footer { flex-direction: column; align-items: flex-start; margin-top: 0; }
  .solutions-data-visual { aspect-ratio: 4 / 3; }
  .solutions-steps article { min-height: 160px; padding: 20px; border-top: 1px solid #e0e6ee; border-left: 1px solid #e0e6ee; }
  .solutions-steps article:first-child { border-top: 1px solid #e0e6ee; }
  .solutions-steps article::after { content: "↓"; }
  .solutions-steps article:last-child::after { content: "✓"; }
  .solutions-steps h3 { margin-top: 26px; }
  .solutions-output-grid article,.solutions-connect-grid article,.solutions-next-grid article { min-height: 175px; padding: 22px; }
  .solutions-output-grid h3,.solutions-connect-grid h3 { margin-top: 38px; }
  .solutions-data-layout > img { height: 220px; }
  .solutions-final { padding-top: 64px; padding-bottom: 64px; }
}
@media (prefers-reduced-motion: reduce) { .solutions-steps article { animation: none; transition: none; } }
