/* Solutions-specific layout; shared evidence and forms retain their existing styles. */
.emsoft-solutions { --solutions-navy: #0a3044; --solutions-blue: #287dac; --solutions-line: #c7e1ef; }
.emsoft-solutions .solutions-hero { position: relative; overflow: hidden; padding: 70px 0 78px; background: radial-gradient(circle at 85% 20%, #d4ecf9 0, transparent 32%), linear-gradient(120deg, #fff 20%, #edf7fc 80%); }
.emsoft-solutions .solutions-hero::before { content: ""; position: absolute; inset: 0 0 0 45%; opacity: .4; background-image: linear-gradient(#b9dceb 1px, transparent 1px), linear-gradient(90deg, #b9dceb 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(90deg, transparent, #000); pointer-events: none; }
.emsoft-solutions .solutions-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); align-items: center; gap: clamp(34px, 5vw, 82px); }
.emsoft-solutions .solutions-hero h1 { max-width: 660px; font-size: clamp(40px, 4.2vw, 64px); line-height: 1.08; letter-spacing: -.052em; font-weight: 800; }
.emsoft-solutions .solutions-hero h1 span { color: var(--solutions-blue); }
.emsoft-solutions .solutions-hero__lead { max-width: 590px; margin-top: 24px; font-size: clamp(19px, 1.5vw, 23px); line-height: 1.45; font-weight: 600; }
.emsoft-solutions .solutions-hero__copy > p:last-of-type { max-width: 560px; margin-top: 16px; color: var(--home-muted); font-size: 16px; }
.emsoft-solutions .solutions-hero .home-button { min-height: 54px; margin-top: 30px; padding-inline: 24px; background: #287dac; font-size: 15px; }
.emsoft-solutions .solutions-hero__visual { min-width: 0; overflow: hidden; border: 1px solid #246785; border-radius: 22px; background: linear-gradient(145deg, #0b3043, #13536f); box-shadow: 0 28px 70px #0b3b5450; color: white; transform: rotate(-2deg); }
.emsoft-solutions .solutions-hero__visual-bar { display: flex; justify-content: space-between; align-items: center; gap: 15px; min-height: 50px; padding: 13px 20px; border-bottom: 1px solid #4e86a0; background: #082a3b; }
.emsoft-solutions .solutions-hero__visual-mark { color: #caeaf8; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.emsoft-solutions .solutions-hero__visual-dots { color: #69b2d1; font-size: 10px; letter-spacing: .22em; }
.emsoft-solutions .solutions-hero__visual-body { display: grid; grid-template-columns: minmax(0, 1fr) 60px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 338px; padding: 36px 25px; }
.emsoft-solutions .solutions-hero__visual-work, .emsoft-solutions .solutions-hero__visual-stack { display: grid; align-content: center; gap: 12px; min-width: 0; min-height: 235px; padding: 20px; border: 1px solid #69a3be; border-radius: 13px; background: #f1f9fd; color: #0b3043; box-shadow: 0 14px 26px #061c2940; }
.emsoft-solutions .solutions-hero__visual-label { margin-bottom: 8px; color: #317da2; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.emsoft-solutions .solutions-hero__visual-work > span:not(:first-child) { padding: 9px 12px; border-left: 3px solid #56a9d4; background: white; font-size: 14px; font-weight: 600; }
.emsoft-solutions .solutions-hero__visual-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.emsoft-solutions .solutions-hero__visual-stack .solutions-hero__visual-label { grid-column: 1 / -1; }
.emsoft-solutions .solutions-hero__visual-stack strong { display: grid; place-items: center; min-height: 53px; padding: 6px; border: 1px solid #b9dbea; border-radius: 7px; background: #dfedf6; color: #14455e; text-align: center; font-size: 13px; }
.emsoft-solutions .solutions-hero__visual-flow { display: grid; gap: 23px; }
.emsoft-solutions .solutions-hero__visual-flow span { position: relative; display: block; height: 2px; background: #93ddfa; }
.emsoft-solutions .solutions-hero__visual-flow span::after { content: ""; position: absolute; right: -1px; top: -4px; width: 9px; height: 9px; border-top: 2px solid #93ddfa; border-right: 2px solid #93ddfa; transform: rotate(45deg); }
.emsoft-solutions .solutions-hero__visual-footer { display: flex; justify-content: space-around; gap: 10px; padding: 15px 20px; border-top: 1px solid #4e86a0; color: #acdcef; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.emsoft-solutions .solutions-copy-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 8vw, 115px); }
.emsoft-solutions .solutions-copy-grid h2 { max-width: 530px; font-size: clamp(30px, 3vw, 44px); }
.emsoft-solutions .solutions-copy-grid .home-prose { font-size: 17px; }
.emsoft-solutions .solutions-introduction { background: #fff; }
.emsoft-solutions .solutions-clients .portfolio-clients { background: #eff8fc; }
.emsoft-solutions .solutions-section-heading { max-width: 780px; margin-bottom: 36px; }
.emsoft-solutions .solutions-section-heading > p:last-child { margin-top: 14px; color: var(--home-muted); font-size: 17px; }
.emsoft-solutions .solutions-types { background: #f8fbfd; }
.emsoft-solutions .solutions-types__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.emsoft-solutions .solutions-type { display: flex; flex-direction: column; align-items: start; min-width: 0; min-height: 305px; padding: 25px; border: 1px solid var(--solutions-line); border-radius: 14px; background: white; box-shadow: 0 8px 24px #1842590a; }
.emsoft-solutions .solutions-type .home-card-icon { margin-bottom: 22px; }
.emsoft-solutions .solutions-type h3 { font-size: 20px; font-weight: 700; line-height: 1.25; }
.emsoft-solutions .solutions-type p { margin-top: 12px; color: var(--home-muted); font-size: 14px; }
.emsoft-solutions .solutions-type .home-text-link { margin-top: auto; padding-top: 20px; font-size: 13px; }
.emsoft-solutions .solutions-integration-copy { background: white; }
.emsoft-solutions .solutions-flow { background: linear-gradient(125deg, #092a3b, #10516d); color: white; }
.emsoft-solutions .solutions-flow .home-eyebrow, .emsoft-solutions .solutions-flow h2 span { color: #9adcf7; }
.emsoft-solutions .solutions-flow .solutions-section-heading > p:last-child { color: #cae4ef; }
.emsoft-solutions .solutions-flow__track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.emsoft-solutions .solutions-flow__track li { position: relative; min-width: 0; min-height: 255px; padding: 24px; border: 1px solid #5789a0; border-radius: 12px; background: #ffffff0f; }
.emsoft-solutions .solutions-flow__track li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -20px; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #8dcde9; color: #092a3b; font-size: 20px; line-height: 1; }
.emsoft-solutions .solutions-flow__number { display: block; margin-bottom: 19px; color: #9adcf7; font-size: 12px; font-weight: 800; letter-spacing: .11em; }
.emsoft-solutions .solutions-flow .home-card-icon { border-color: #6da8c1; background: #1b5a75; color: #dbf3ff; }
.emsoft-solutions .solutions-flow h3 { margin-top: 18px; font-size: 19px; font-weight: 700; }
.emsoft-solutions .solutions-flow__track p { margin-top: 10px; color: #d2e8f2; font-size: 14px; }
.emsoft-solutions .solutions-results-copy { background: white; }
.emsoft-solutions .solutions-process { background: linear-gradient(110deg, #e8f5fb, #f7fbfe); }
.emsoft-solutions .solutions-process__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: none; }
.emsoft-solutions .solutions-process__grid li { min-width: 0; min-height: 210px; padding: 25px; border-top: 4px solid #419fd9; border-radius: 0 0 11px 11px; background: #fff; box-shadow: 0 8px 20px #1648660d; }
.emsoft-solutions .solutions-process__grid li > span { color: #287dac; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.emsoft-solutions .solutions-process h3 { margin-top: 25px; font-size: 19px; font-weight: 700; }
.emsoft-solutions .solutions-process__grid p { margin-top: 10px; color: var(--home-muted); font-size: 14px; }
.emsoft-solutions .solutions-process > .auto_container > .home-text-link { margin-top: 27px; }
.emsoft-solutions .home-work { background: white; }
.emsoft-solutions .solutions-advantages { background: #f3f9fc; }
.emsoft-solutions .solutions-advantages .home-advantages__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.emsoft-solutions .solutions-advantages .home-advantage { min-width: 0; border: 1px solid #d2e7f1; border-bottom: 3px solid #72b8dd; border-radius: 11px; background: white; }
.emsoft-solutions .home-reviews { background: #e8f3f9; }
.emsoft-solutions .solutions-information { background: #fff; }
.emsoft-solutions .solutions-consultation { background: #f5f9fc; }
@media (max-width: 1100px) {
  .emsoft-solutions .solutions-types__grid, .emsoft-solutions .solutions-flow__track, .emsoft-solutions .solutions-process__grid, .emsoft-solutions .solutions-advantages .home-advantages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emsoft-solutions .solutions-type { min-height: 270px; }
  .emsoft-solutions .solutions-flow__track li:nth-child(2)::after { display: none; }
}
@media (max-width: 767px) {
  .emsoft-solutions .solutions-hero { padding-block: 46px 55px; }
  .emsoft-solutions .solutions-hero__grid, .emsoft-solutions .solutions-copy-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .emsoft-solutions .solutions-hero h1 { font-size: clamp(36px, 8vw, 50px); }
  .emsoft-solutions .solutions-hero__visual { width: min(100%, 580px); justify-self: center; transform: none; }
  .emsoft-solutions .solutions-copy-grid .home-prose { font-size: 16px; }
}
@media (max-width: 560px) {
  .emsoft-solutions .solutions-hero .home-button { width: 100%; padding-inline: 15px; text-align: center; font-size: 13px; }
  .emsoft-solutions .solutions-hero__visual-body { grid-template-columns: minmax(0, 1fr) 23px minmax(0, 1fr); gap: 4px; min-height: 245px; padding: 20px 12px; }
  .emsoft-solutions .solutions-hero__visual-work, .emsoft-solutions .solutions-hero__visual-stack { min-height: 195px; padding: 10px; gap: 7px; }
  .emsoft-solutions .solutions-hero__visual-label { font-size: 8px; }
  .emsoft-solutions .solutions-hero__visual-work > span:not(:first-child) { padding: 7px 5px; font-size: 10px; }
  .emsoft-solutions .solutions-hero__visual-stack strong { min-height: 37px; font-size: 9px; }
  .emsoft-solutions .solutions-hero__visual-footer { padding: 12px; font-size: 8px; }
  .emsoft-solutions .solutions-types__grid, .emsoft-solutions .solutions-flow__track, .emsoft-solutions .solutions-process__grid, .emsoft-solutions .solutions-advantages .home-advantages__grid { grid-template-columns: minmax(0, 1fr); }
  .emsoft-solutions .solutions-type, .emsoft-solutions .solutions-flow__track li, .emsoft-solutions .solutions-process__grid li { min-height: 0; }
  .emsoft-solutions .solutions-flow__track li:not(:last-child)::after { top: auto; right: 50%; bottom: -20px; transform: translateX(50%) rotate(90deg); }
}
