/* The solution directory follows the work each buyer needs to coordinate. */
.solution-catalog-section { padding:40px 0 72px;background:#f7f9fc; }
.solution-catalog-list { display:grid;gap:28px; }
.solution-catalog-card { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border:1px solid #dce7f4;border-radius:12px;background:#fff;overflow:hidden; }
.solution-catalog-image { display:block;min-width:0;margin:0;background:#edf4fc;overflow:hidden; }
.solution-catalog-image img { width:100%;height:100%;min-height:340px;object-fit:cover;object-position:center; }
.solution-catalog-card-saas .solution-catalog-image { display:flex;align-items:center;background:#eaf3ff; }
.solution-catalog-card-saas .solution-catalog-image img { height:auto;min-height:0;object-fit:contain; }
.solution-catalog-copy { min-width:0;padding:clamp(30px,2.5vw,52px);display:flex;flex-direction:column;align-items:flex-start; }
.solution-catalog-copy h2 { font-size:clamp(24px,1.85vw,36px);font-weight:600;line-height:1.5;letter-spacing:-.025em;color:#1c304e;margin:0 0 16px;text-wrap:balance; }
.solution-catalog-copy h2 a:hover { color:#1765e6; }
.solution-plan-status { display:inline-block;vertical-align:middle;padding:4px 10px;margin-left:8px;border:1px solid #c5d9f4;border-radius:4px;background:#edf5ff;font-size:12px;font-weight:500;line-height:1.6;letter-spacing:0;white-space:nowrap;color:#42648e; }
.solution-factory-diagram { display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;min-width:0;padding:44px 30px;background:radial-gradient(ellipse at center,#fff 0%,#edf5ff 78%); }
.solution-factory-flow { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;max-width:650px; }
.solution-factory-flow>div { position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0;color:#3975c9; }
.solution-factory-flow>div+div::before { content:"";position:absolute;width:18px;border-top:1px solid #a8c4e9;left:-19px;top:35px; }
.solution-factory-flow svg { width:72px;height:72px;max-width:100%;padding:14px;border:1px solid #d6e5f7;border-radius:14px;background:#fff;box-shadow:0 8px 20px #376fa90a; }
.solution-factory-flow span { font-size:15px;font-weight:500;line-height:1.6;color:#355879; }
.solution-factory-diagram>p { margin:0;font-size:13px;line-height:1.8;color:#607b9d; }
.solution-catalog-copy>p { font-size:16px;line-height:1.95;color:#5b6b81;max-width:860px;margin:0 0 28px; }
.solution-catalog-journey { list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;padding:24px 0 0;margin:0 0 32px;border-top:1px solid #e7edf5; }
.solution-catalog-journey li { min-width:0;padding-right:12px; }
.solution-catalog-journey strong { display:block;font-size:16px;font-weight:550;line-height:1.6;color:#25496f;margin-bottom:7px; }
.solution-catalog-journey span { display:block;font-size:13px;line-height:1.85;color:#62728a; }
.solution-catalog-actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;margin-top:auto; }
.solution-catalog-actions .btn { min-height:46px;border-radius:6px;font-size:14px;padding-inline:23px; }
.solution-catalog-actions svg { width:18px;height:18px;flex-shrink:0; }
.solution-catalog-consult { display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;color:#1765e6; }
.solution-catalog-consult:hover { color:#104fac; }
@media(min-width:1800px) {
    .solution-catalog-card { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
    .solution-catalog-image img { max-height:510px; }
    .solution-catalog-journey strong { font-size:18px; }
    .solution-catalog-journey span { font-size:15px; }
}
@media(max-width:1100px) {
    .solution-catalog-card { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
    .solution-catalog-copy { padding:28px; }
    .solution-catalog-copy h2 { font-size:24px; }
    .solution-catalog-copy>p { font-size:14px; }
    .solution-catalog-journey { gap:14px;margin-bottom:24px; }
    .solution-catalog-journey strong { font-size:14px; }
    .solution-catalog-journey span { font-size:12px; }
    .solution-factory-diagram { padding:34px 20px; }
    .solution-factory-flow { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;max-width:270px; }
    .solution-factory-flow>div+div::before { display:none; }
}
@media(max-width:800px) {
    .solution-catalog-section { padding:28px 0 48px; }
    .solution-catalog-list { gap:24px; }
    .solution-catalog-card { grid-template-columns:1fr; }
    .solution-catalog-image { aspect-ratio:16/9; }
    .solution-catalog-image img { height:100%;min-height:0; }
    .solution-catalog-card-saas .solution-catalog-image img { height:100%; }
    .solution-catalog-copy h2 { font-size:25px; }
    .solution-catalog-copy>p { margin-bottom:22px; }
    .solution-factory-diagram { min-height:240px;padding:34px 24px; }
    .solution-factory-flow { grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:520px; }
}
@media(max-width:480px) {
    .solution-catalog-copy { padding:24px 22px; }
    .solution-catalog-copy h2 { font-size:23px;margin-bottom:12px; }
    .solution-catalog-journey { grid-template-columns:1fr;gap:13px;padding-top:19px;margin-bottom:23px; }
    .solution-catalog-journey li { display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:0; }
    .solution-catalog-journey strong { font-size:13px;margin:0;line-height:1.85; }
    .solution-catalog-journey span { font-size:12px; }
    .solution-catalog-actions { gap:8px 17px; }
    .solution-catalog-actions .btn { padding-inline:20px; }
    .solution-catalog-consult { font-size:13px;gap:8px; }
    .solution-factory-diagram { min-height:200px;padding:30px 20px;gap:22px; }
    .solution-factory-flow { gap:10px; }
    .solution-factory-flow svg { width:58px;height:58px;padding:10px;border-radius:10px; }
    .solution-factory-flow span { font-size:12px; }
    .solution-plan-status { font-size:11px;padding:3px 8px; }
}
