/* Services — integrated solutions
   ========================================================================== */

.solutions { background: #fff; color: #242424; }
.solutions-kicker { margin: 0 0 14px; color: var(--color-red); font-size: 14px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.solutions h2 { margin: 0; font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1.05; letter-spacing: -.025em; }
.solutions-intro { display: grid; grid-template-columns: 535px 517px; align-items: start; justify-content: space-between; column-gap: 60px; max-width: 1210px; margin: auto; padding: 112px 0; }
.solutions-sap-logo { width: min(340px, 100%); height: auto; margin: 22px 0 38px; }
.solutions-intro-copy p { margin: 0; font-size: 19px; line-height: 1.4; }
.solutions-intro-copy p + p { margin-top: 17px; }
.solution-featured { display: grid; grid-template-columns: minmax(360px, 44%) minmax(0, 56%); min-height: 590px; background: #f1f0ed; }
.solution-featured > .solution-logo { display: grid; place-items: center end; width: auto; height: auto; min-height: 0; margin: 0; padding: 80px clamp(48px, 5vw, 84px); background: #e4edf3; }
.oil-page .solution-featured > .solution-logo { background: transparent; }
.solution-logo-oil img { width: min(360px, 100%); }
.solution-featured-copy { align-self: center; max-width: 760px; padding: 85px clamp(48px, 5vw, 84px); }
.solution-featured-copy h3, .solution-support h3 { margin: 0 0 22px; font-size: 38px; line-height: 1.08; }
.solution-featured-copy p { margin: 0 0 16px; font-size: 18px; line-height: 1.4; }
.solution-featured-copy .solution-lead { font-size: 21px; font-weight: 600; }
.solution-featured-copy > strong { display: block; margin-top: 28px; color: var(--color-red-dark); font-size: 18px; line-height: 1.3; }
.solutions-heading { max-width: 1210px; margin: auto; padding: 112px 0 55px; }
.solutions-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; max-width: 1210px; margin: auto; padding-bottom: 112px; }
.solution-card { display: flex; align-items: flex-start; flex-direction: column; min-height: 560px; padding: 42px; border: 1px solid #ddd; border-top: 4px solid var(--color-red); background: #fff; }
.solution-logo { display: flex; align-items: center; width: 100%; height: 100px; margin-bottom: 30px; }
.solution-logo img { width: min(270px, 100%); max-height: 100px; object-fit: contain; object-position: left center; }
.solution-featured .solution-logo-oil img { width: min(360px, 100%); height: auto; max-height: none; object-position: center; }
.solution-card h3 { margin: 0 0 16px; font-size: 28px; line-height: 1.1; }
.solution-card > p { margin: 0; font-size: 17px; line-height: 1.4; }
.solution-card p, .solution-card li { text-wrap: pretty; }
.solution-card ul { margin: 24px 0; padding-left: 20px; font-size: 16px; line-height: 1.45; }
.solution-card > strong { margin-top: auto; padding-top: 20px; border-top: 1px solid #ddd; color: var(--color-red-dark); font-size: 17px; line-height: 1.3; }
.flyer-button { display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-height: 40px; margin-top: 24px; padding: 9px 18px; border: 2px solid currentColor; border-radius: 22px; background: transparent; color: var(--color-red-dark); font: 700 13px/1 var(--font-primary); text-align: center; text-decoration: none; text-transform: uppercase; }
.flyer-button:disabled { cursor: not-allowed; opacity: .5; }
.solution-support { display: grid; grid-template-columns: 270px 1fr 1fr; align-items: center; gap: 55px; padding: 80px max(var(--page-gutter), calc((100vw - 1210px) / 2)); background: #222; color: #fff; }
.solution-support .solution-logo { margin: 0; padding: 0; background: transparent; }
.solution-support .solution-logo img { width: min(270px, 100%); max-height: 100px; }
.solution-support .flyer-button { color: #fff; }
.solution-support h3 { margin-bottom: 14px; }
.solution-support p:not(.solutions-kicker) { margin: 0; font-size: 18px; line-height: 1.4; }
.solution-support ul { margin: 0; padding-left: 20px; font-size: 17px; line-height: 1.5; }
.solutions-cta { display: flex; align-items: center; justify-content: space-between; gap: 70px; padding: 105px max(var(--page-gutter), calc((100vw - 1210px) / 2)); background: var(--color-red-footer); color: #fff; }
.solutions-cta .solutions-kicker { color: #fff; }
.solutions-cta > div:first-child { max-width: 700px; }
.solutions-cta-sap-logo { display: block; width: min(300px, 100%); height: auto; margin: 6px 0 26px; }
.solutions-cta p:last-child { margin: 20px 0 0; font-size: 19px; line-height: 1.35; }
.solutions-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 14px; flex: 0 0 auto; }
.solutions-actions .outline-button { width: 100%; }

@media (max-width: 1200px) { .solutions-intro, .solutions-heading, .solutions-grid { margin-inline: var(--page-gutter); } }
@media (max-width: 900px) { .solutions-intro { grid-template-columns: 1fr; gap: 35px; padding-block: 80px; } .solution-featured { grid-template-columns: 1fr; } .solution-featured > .solution-logo { min-height: 300px; padding: 65px; } .solution-featured-copy { max-width: none; } .solutions-grid { grid-template-columns: 1fr; } .solution-card { min-height: 0; } .solution-support { grid-template-columns: 220px 1fr; } .solution-support > ul { grid-column: 2; } .solutions-cta { align-items: flex-start; flex-direction: column; } }
@media (max-width: 580px) { .solutions-sap-logo { width: min(260px, 100%); } }
@media (max-width: 580px) { .desktop-line-break { display: none; } }
@media (max-width: 580px) { .solutions-intro, .solutions-heading, .solutions-grid { margin-inline: 24px; } .solutions-intro { padding-block: 65px; } .solution-featured > .solution-logo { min-height: 230px; padding: 50px; } .solution-featured-copy { padding: 60px 24px; } .solution-featured-copy h3, .solution-support h3 { font-size: 32px; } .solutions-heading { padding: 70px 24px 38px; margin: 0; } .solutions-grid { padding-bottom: 70px; } .solution-card { padding: 30px 24px; } .solution-logo { height: 80px; } .solution-logo img { max-height: 80px; } .solution-support { grid-template-columns: 1fr; gap: 35px; padding: 65px 24px; } .solution-support > ul { grid-column: 1; } .solution-support .solution-logo { width: min(270px, 100%); } .solutions-cta { padding: 70px 24px; } .solutions-cta-sap-logo { width: min(250px, 100%); margin-bottom: 22px; } .solutions-actions { width: 100%; } }

@media (max-width: 900px) {
  .oil-page .solution-featured { grid-template-columns: 1fr; min-height: 0; }
  .oil-page .solution-featured > .solution-logo { place-items: center; width: auto; height: auto; min-height: 0; margin: 0; padding: 60px var(--page-gutter) 16px; }
  .oil-page .solution-featured .solution-logo-oil img { width: min(310px, 70vw); max-height: none; }
  .oil-page .solution-featured-copy { max-width: none; padding: 28px var(--page-gutter) 70px; }
}

@media (max-width: 580px) {
  .oil-page .solution-featured > .solution-logo { padding: 48px 24px 12px; }
  .oil-page .solution-featured .solution-logo-oil img { width: min(260px, 78vw); max-height: none; }
  .oil-page .solution-featured-copy { padding: 24px 24px 60px; }
}
