/* Interactive solutions only. Product interfaces retain their existing rendering. */
.solutions-section {
  padding-block: 96px 84px;
  background: linear-gradient(180deg, #f8fafd 0%, #f3f7fd 65%, #f7f9fd 100%);
  border-color: #e1e8f2;
}
.solutions-section .section-heading { max-width: 750px; margin-bottom: 36px; }
.solutions-section .section-heading .section-kicker {
  margin-bottom: 22px;
  color: #58708f;
  font-size: .6875rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .075em;
}
.solutions-section .section-heading h2 {
  margin-bottom: 22px;
  color: #0a1b36;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.046em;
}
.solutions-section .section-heading > p:not(.section-kicker) {
  max-width: 500px;
  color: #58677d;
  font-size: 1.0625rem;
  line-height: 1.65;
  letter-spacing: -.01em;
}
.solutions-section .solution-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 660px;
  gap: 4px;
  margin: 0 auto 44px;
  padding: 5px;
  border: 1px solid #dce5f1;
  border-radius: 13px;
  background: #edf2f8;
  box-shadow: inset 0 1px 2px #102b4d04, 0 1px 0 #ffffffb3;
}
.solutions-section .solution-tab {
  position: relative;
  min-width: 0;
  min-height: 54px;
  gap: 9px;
  padding: 13px 15px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #586982;
  font-size: .875rem;
  font-weight: 450;
  line-height: 1.5;
  letter-spacing: -.012em;
}
.solutions-section .solution-tab .icon { width: 18px; height: 18px; stroke-width: 1.5; }
.solutions-section .solution-tab.active {
  border-color: #d4e1f3;
  background: linear-gradient(180deg, #fff, #f9fbff);
  color: #174d95;
  font-weight: 530;
  box-shadow: inset 0 1px 0 #fff, 0 2px 4px #0b2e5c09;
}
.solutions-section .solution-tab.active::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: calc(50% - 9px);
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: #3b78c8;
}
.solutions-section .solution-tab:hover:not(.active) { color: #23486e; background: #ffffff60; }
.solutions-section .solution-panel { position: relative; isolation: isolate; }
.solutions-section .solution-panel::before {
  content: '';
  position: absolute;
  grid-column: 1 / -1;
  grid-row: 1;
  inset: -24px;
  z-index: -1;
  pointer-events: none;
  border: 1px solid #e0e7f1;
  border-radius: 20px;
  background: linear-gradient(135deg, #fff 40%, #fcfdff);
  box-shadow: inset 0 1px 0 #fff, 0 2px 4px #12365c03, 0 32px 64px -48px #254e7f38;
}
.solutions-section .solution-copy > .card-eyebrow {
  margin-bottom: 18px;
  color: #58708f;
  font-size: .6875rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .075em;
}
.solutions-section .solution-copy h3 {
  max-width: 445px;
  margin-bottom: 22px;
  color: #102440;
  font-size: clamp(2.25rem, 3.33vw, 3rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.solutions-section .solution-copy > p {
  max-width: 445px;
  margin-bottom: 24px;
  color: #58677b;
  font-size: 1.03125rem;
  line-height: 1.65;
  letter-spacing: -.008em;
}
.solutions-section .solution-copy .check-list {
  margin-bottom: 28px;
  color: #405670;
  font-size: .9375rem;
  line-height: 1.6;
  letter-spacing: -.008em;
}
.solutions-section .solution-copy .check-list li { gap: 12px; margin-bottom: 12px; }
.solutions-section .solution-copy .button {
  min-height: 56px;
  padding: 16px 26px;
  border: 1px solid #0456cf;
  border-radius: 10px;
  background: linear-gradient(180deg, #0765e9, #0357d2);
  box-shadow: inset 0 1px 0 #ffffff38, 0 2px 3px #02357b16, 0 7px 16px -6px #035bda30;
  font-size: .9375rem;
  font-weight: 530;
  line-height: 1.4;
  letter-spacing: -.012em;
  transition: none;
}
.solutions-section .solution-copy .button:hover { background: linear-gradient(180deg, #095ed6, #034fc0); }
.solutions-section .example-disclosure {
  max-width: 750px;
  margin-top: 44px;
  color: #607087;
  font-size: .75rem;
  line-height: 1.65;
  letter-spacing: -.004em;
}
@media (max-width: 1100px) {
  .solutions-section .solution-panel::before { inset: -22px; }
  .solutions-section .solution-copy h3 { font-size: 2.375rem; }
}
@media (max-width: 780px) {
  .solutions-section { padding-block: 64px 60px; }
  .solutions-section .section-heading { margin-bottom: 26px; }
  .solutions-section .section-heading .section-kicker { margin-bottom: 18px; font-size: .625rem; letter-spacing: .065em; }
  .solutions-section .section-heading h2 { margin-bottom: 20px; font-size: clamp(1.875rem, 8.5vw, 2.75rem); line-height: 1.12; letter-spacing: -.042em; }
  .solutions-section .section-heading > p:not(.section-kicker) { font-size: .9375rem; line-height: 1.6; max-width: 500px; }
  .solutions-section .solution-tabs { max-width: 660px; margin-bottom: 28px; padding: 5px; border-radius: 12px; }
  .solutions-section .solution-tab { min-height: 72px; padding: 10px 5px 12px; gap: 7px; border-radius: 8px; font-size: .78125rem; line-height: 1.45; }
  .solutions-section .solution-panel { gap: 32px; }
  .solutions-section .solution-panel::before { grid-column: 1; grid-row: 2; inset: -24px -8px; border: 0; border-radius: 18px; background: radial-gradient(ellipse, #dce8fa66, transparent 75%); box-shadow: none; }
  .solutions-section .solution-copy > .card-eyebrow { margin-bottom: 16px; font-size: .625rem; letter-spacing: .065em; }
  .solutions-section .solution-copy h3 { max-width: 480px; margin-bottom: 18px; font-size: clamp(1.75rem, 8.2vw, 2.125rem); line-height: 1.14; letter-spacing: -.038em; }
  .solutions-section .solution-copy > p { max-width: 500px; margin-bottom: 22px; font-size: .96875rem; line-height: 1.6; }
  .solutions-section .solution-copy .check-list { margin-bottom: 24px; font-size: .875rem; line-height: 1.6; }
  .solutions-section .solution-copy .check-list li { gap: 10px; margin-bottom: 10px; }
  .solutions-section .solution-copy .button { width: 100%; max-width: 460px; min-height: 54px; padding: 15px 24px; }
  .solutions-section .example-disclosure { margin-top: 32px; text-align: left; }
}
@media (forced-colors: active) {
  .solutions-section .solution-tab.active { color: Highlight; border-color: Highlight; }
  .solutions-section .solution-tab.active::after { background: Highlight; }
  .solutions-section .solution-copy .button { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
}
