.solution-page { background: #fff; }
.solution-hero { position: relative; min-height: clamp(35rem,68vh,46rem); display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--color-navy-950); }
.solution-hero__image, .solution-hero::after { position: absolute; inset: 0; }
.solution-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.solution-hero::after { content: ""; background: linear-gradient(90deg,rgba(3,17,31,.98) 0%,rgba(3,17,31,.93) 38%,rgba(3,17,31,.35) 68%,rgba(3,17,31,.08) 100%); }
.solution-hero__content { position: relative; z-index: 2; padding-top: clamp(5.5rem,10vw,8rem); padding-bottom: clamp(5rem,9vw,7rem); }
.breadcrumb { margin-bottom: clamp(3rem,7vw,5.5rem); display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; color: #9db1c0; font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumb a { transition: color var(--transition); }
.breadcrumb a:hover { color: #fff; }
.solution-hero .eyebrow { color: var(--color-blue-400); }
.solution-hero h1 { max-width: 48rem; margin-bottom: 1.45rem; font-size: clamp(3.2rem,6.2vw,6.4rem); line-height: .94; letter-spacing: -.068em; }
.solution-hero__lead { max-width: 42rem; margin-bottom: 2rem; color: #d3e0e8; font-size: clamp(1rem,1.5vw,1.2rem); }
.solution-hero__content > .button-row { margin-bottom: 2rem; }
.solution-hero__note { max-width: 36rem; margin: 0; color: #91a8b7; font-size: .74rem; }
.solution-hero--overview::after { background: linear-gradient(90deg,rgba(3,17,31,.98) 0%,rgba(3,17,31,.9) 42%,rgba(3,17,31,.25) 72%,rgba(3,17,31,.04) 100%); }
.solution-page .section-heading { margin-bottom: clamp(2.5rem,6vw,4.2rem); }
.solution-intro { background: #fff; }
.solution-intro__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem,8vw,8rem); align-items: start; }
.solution-intro__visual { position: sticky; top: calc(var(--header-height) + 2rem); min-height: 30rem; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-navy-950); box-shadow: var(--shadow-sm); }
.solution-intro__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.solution-intro__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(3,17,31,.7),rgba(3,17,31,.04) 58%); }
.solution-intro h2 { margin-bottom: 1.4rem; font-size: clamp(2.5rem,4.5vw,4.5rem); line-height: 1; letter-spacing: -.055em; }
.solution-intro__copy > p { max-width: 47rem; color: var(--color-muted); font-size: clamp(1.03rem,1.5vw,1.2rem); }
.challenge-list { margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; list-style: none; }
.challenge-list li { min-height: 8.5rem; padding: 1.2rem; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface-soft); font-size: .83rem; font-weight: 730; }
.challenge-list__index { color: var(--color-blue-600); font-size: .64rem; font-weight: 900; letter-spacing: .08em; }
.sap-spectrum { color: #fff; background: var(--color-navy-950); }
.sap-spectrum .eyebrow { color: var(--color-green-500); }
.sap-spectrum .section-heading > p { color: #a8bac7; }
.sap-spectrum__track { display: grid; grid-template-columns: repeat(4,1fr); gap: .75rem; }
.sap-spectrum__track article { position: relative; min-height: 18rem; padding: 1.5rem; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md); background: rgba(255,255,255,.045); }
.sap-spectrum__track article::after { content: "→"; position: absolute; z-index: 2; top: 1.6rem; right: -.72rem; color: var(--color-blue-400); font-weight: 900; }
.sap-spectrum__track article:last-child::after { display: none; }
.sap-spectrum__track span { color: var(--color-blue-400); font-size: .65rem; font-weight: 900; letter-spacing: .08em; }
.sap-spectrum__track h3 { margin: auto 0 .75rem; font-size: clamp(1.35rem,2.2vw,2rem); }
.sap-spectrum__track p { margin: 0; color: #a8bac7; font-size: .8rem; }
.sap-spectrum__note { max-width: 59rem; margin: 2rem 0 0; padding: 1rem 1.15rem; color: #c8d6df; border-left: 3px solid var(--color-green-500); background: rgba(255,255,255,.06); font-size: .76rem; }
.solution-section { background: var(--color-surface-soft); }
.solution-section--white { background: #fff; }
.capability-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.capability-card { min-height: 18rem; padding: clamp(1.6rem,3vw,2.4rem); display: flex; flex-direction: column; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: #fff; transition: transform var(--transition),box-shadow var(--transition),border-color var(--transition); }
.capability-card:hover { transform: translateY(-4px); border-color: #9fc9dc; box-shadow: var(--shadow-sm); }
.capability-card__number { display: block; color: var(--color-blue-600); font-size: .65rem; font-weight: 900; letter-spacing: .1em; }
.capability-card h3 { margin: auto 0 .8rem; font-size: clamp(1.45rem,2.4vw,2.15rem); line-height: 1.06; letter-spacing: -.035em; }
.capability-card p { margin: 0; color: var(--color-muted); font-size: .84rem; }
.use-case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.use-case { min-height: 13rem; padding: 1.5rem; border-top: 3px solid var(--color-blue-400); background: #edf8fd; }
.use-case:nth-child(even) { border-color: var(--color-green-500); background: #f1f8e9; }
.use-case__number { display: block; margin-bottom: 2rem; color: var(--color-blue-600); font-size: .64rem; font-weight: 900; letter-spacing: .08em; }
.use-case:nth-child(even) .use-case__number { color: var(--color-green-700); }
.use-case h3 { margin-bottom: .7rem; font-size: 1.12rem; }
.use-case p { margin: 0; color: var(--color-muted); font-size: .8rem; }
.process-band { color: #fff; background: var(--color-navy-950); }
.process-band .eyebrow { color: var(--color-green-500); }
.process-band h2 { max-width: 48rem; margin-bottom: 3rem; font-size: clamp(2.6rem,5vw,5rem); line-height: .98; letter-spacing: -.06em; }
.process-list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); list-style: none; counter-reset: process; }
.process-list li { min-height: 17rem; padding: 1.5rem; border-top: 1px solid rgba(255,255,255,.35); counter-increment: process; }
.process-list__top { display: flex; align-items: center; justify-content: space-between; color: var(--color-blue-400); font-size: .68rem; font-weight: 900; }
.process-list__top::before { content: "0" counter(process); }
.process-list h3 { margin: 3.8rem 0 .7rem; font-size: 1.12rem; }
.process-list p { margin: 0; color: #9eb2c1; font-size: .78rem; }
.outcomes-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: clamp(3rem,8vw,8rem); }
.outcomes-grid h2 { margin-bottom: 0; font-size: clamp(2.6rem,5vw,4.8rem); line-height: 1; letter-spacing: -.06em; }
.outcome-list { margin: 0; padding: 0; list-style: none; }
.outcome-list li { padding: 1.35rem 0; display: grid; grid-template-columns: 2.2rem 1fr; gap: .8rem; border-top: 1px solid var(--color-line); }
.outcome-list__mark { width: 1.45rem; height: 1.45rem; display: grid; place-items: center; color: var(--color-green-700); border: 1px solid rgba(67,139,21,.35); border-radius: 50%; background: var(--color-green-100); }
.outcome-list__mark::after { content: "✓"; font-size: .72rem; font-weight: 900; line-height: 1; }
.outcome-list strong { display: block; margin-bottom: .3rem; }
.outcome-list p { margin: 0; color: var(--color-muted); font-size: .8rem; }
.related { background: #fff; }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.related-card { min-height: 13.5rem; padding: 1.5rem; display: flex; flex-direction: column; border: 1px solid var(--color-line); border-radius: var(--radius-md); transition: transform var(--transition),background var(--transition),border-color var(--transition); }
.related-card:hover { transform: translateY(-3px); border-color: var(--color-blue-400); background: var(--color-blue-100); }
.related-card small { color: var(--color-blue-600); font-size: .6rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.related-card strong { margin-top: auto; font-size: 1.3rem; }
.related-card span { margin-top: .55rem; color: var(--color-muted); font-size: .74rem; }
.solutions-directory { background: #fff; }
.solutions-index-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.solution-index-card { min-height: 28rem; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: #fff; transition: transform var(--transition),box-shadow var(--transition); }
.solution-index-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-sm); }
.solution-index-card__media { aspect-ratio: 16/9; overflow: hidden; background: var(--color-navy-950); }
.solution-index-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.solution-index-card:hover .solution-index-card__media img { transform: scale(1.025); }
.solution-index-card__body { padding: 1.6rem; display: flex; flex: 1; flex-direction: column; }
.solution-index-card h2 { margin: 0 0 .8rem; font-size: 1.55rem; line-height: 1.08; letter-spacing: -.035em; }
.solution-index-card p { color: var(--color-muted); font-size: .82rem; }
.solution-index-card .text-link { margin-top: auto; }
.solution-connection { background: linear-gradient(135deg,#edf9fe,#f2f8ea); }
.connection-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(3rem,8vw,8rem); align-items: end; }
.connection-grid h2 { margin-bottom: 0; font-size: clamp(2.6rem,5vw,5rem); line-height: .98; letter-spacing: -.06em; }
.connection-grid p { margin-bottom: 0; color: var(--color-muted); font-size: 1.05rem; }
.page-cta { color: #fff; background: linear-gradient(120deg,var(--color-navy-900),#0b3c5e); }
.page-cta__grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 4rem; }
.page-cta .eyebrow { color: var(--color-green-500); }
.page-cta h2 { margin-bottom: 0; font-size: clamp(2.7rem,5vw,5.2rem); line-height: .98; letter-spacing: -.06em; }
.page-cta__actions > p { max-width: 36rem; margin-bottom: 1.6rem; color: #c8d8e3; }
.site-nav > a[aria-current="page"]::after { right: 0; }
.language-switch a { font-weight: 700; }
.language-switch a[aria-current="page"] { color: var(--color-blue-600); font-weight: 900; }

@media (max-width: 68rem) {
  .solution-intro__grid, .outcomes-grid, .connection-grid, .page-cta__grid { grid-template-columns: 1fr; }
  .solution-intro__visual { position: relative; top: auto; min-height: 23rem; }
  .sap-spectrum__track { grid-template-columns: repeat(2,1fr); }
  .sap-spectrum__track article::after { display: none; }
  .solutions-index-grid { grid-template-columns: repeat(2,1fr); }
  .use-case-grid { grid-template-columns: repeat(2,1fr); }
  .process-list { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 42rem) {
  .solution-hero { min-height: 43rem; align-items: end; }
  .solution-hero::after, .solution-hero--overview::after { background: linear-gradient(0deg,rgba(3,17,31,1) 0%,rgba(3,17,31,.96) 55%,rgba(3,17,31,.16) 88%); }
  .solution-hero__image img { object-position: 72% center; }
  .solution-hero__content { padding-top: 15rem; padding-bottom: 4rem; }
  .breadcrumb { margin-bottom: 2.5rem; }
  .solution-hero h1 { font-size: clamp(2.75rem,12vw,3.8rem); }
  .sap-spectrum__track { grid-template-columns: 1fr; }
  .sap-spectrum__track article { min-height: 14rem; }
  .sap-spectrum__track h3 { margin-top: 3.5rem; }
  .solution-hero .button-row, .page-cta .button-row { flex-direction: column; }
  .solution-hero .button, .page-cta .button { width: 100%; }
  .challenge-list, .capability-grid, .use-case-grid, .related-grid, .solutions-index-grid, .process-list { grid-template-columns: 1fr; }
  .capability-card { min-height: 15rem; }
  .process-list li { min-height: 13rem; }
  .process-list h3 { margin-top: 3rem; }
}
