/* PayorMap Solutions hub. Fully scoped; no effects on other pages. */
.solutions-page { background:#f9fbf8; color:#183122; }
.solutions-page .sol-hero { background:#0c1c13; color:#f5faf5; padding:clamp(76px,8vw,120px) 0 clamp(82px,8vw,122px); }
.solutions-page .sol-hero-grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); align-items:center; gap:clamp(35px,7vw,110px); }
.solutions-page .sol-hero .eyebrow { color:#8ad5a4; letter-spacing:.16em; }
.solutions-page .sol-hero h1 { margin:20px 0 24px; color:#f5f9f4; font-size:clamp(3.2rem,5.6vw,6rem); font-weight:600; letter-spacing:-.074em; line-height:1.04; text-wrap:balance; }
.solutions-page .sol-hero h1 em { font-weight:600; font-style:normal; color:#86d8a2; }
.solutions-page .sol-hero-copy > p { max-width:660px; color:#b5c7ba; line-height:1.8; font-size:clamp(1rem,1.5vw,1.15rem); }
.solutions-page .sol-hero-actions { display:flex; flex-wrap:wrap; gap:23px; align-items:center; margin-top:31px; }
.solutions-page .sol-hero .btn-primary { background:#e9f5e9; color:#103922; border-color:#e9f5e9; border-radius:5px; min-height:49px; font-size:.84rem; }
.solutions-page .sol-hero-text-link { color:#b7dfc3; text-decoration:underline; text-decoration-color:#547a60; text-underline-offset:5px; font-size:.84rem; font-weight:650; }
.solutions-page .sol-hero-text-link:hover { color:white; }
.solutions-page .sol-signal { border:1px solid #45614d; background:#13281b; border-radius:9px; padding:clamp(21px,2.5vw,31px); box-shadow:0 30px 75px rgba(0,0,0,.18); }
.solutions-page .sol-signal-bar,.solutions-page .sol-module-head { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:.65rem; letter-spacing:.085em; font-weight:730; }
.solutions-page .sol-signal-bar { color:#94b7a0; padding-bottom:17px; border-bottom:1px solid #31503a; }
.solutions-page .sol-signal-bar strong { border:1px solid #456e51; border-radius:4px; padding:4px 8px; font-size:.58rem; color:#b5e5c1; font-weight:650; }
.solutions-page .sol-signal-intro { color:#dfece1; margin:23px 0 17px; font-size:1.04rem; font-weight:600; line-height:1.42; }
.solutions-page .sol-signal-rows { display:grid; gap:10px; }
.solutions-page .sol-signal-row { display:flex; align-items:center; gap:15px; background:#1c3626; border:1px solid #345441; border-radius:6px; padding:16px 14px; }
.solutions-page .sol-signal-row-final { border-color:#4f9770; background:#20472f; }
.solutions-page .sol-signal-number { color:#84c69c; font-size:.73rem; font-weight:750; }
.solutions-page .sol-signal-row>div { flex:1; min-width:0; display:grid; gap:5px; }
.solutions-page .sol-signal-row small { color:#a4bfa9; font-size:.63rem; }
.solutions-page .sol-signal-row strong { color:#f2faf3; font-size:.82rem; font-weight:630; }
.solutions-page .sol-signal-status { color:#99cda8; font-size:.65rem; font-weight:670; }
.solutions-page .sol-signal-foot { margin-top:17px; color:#9eb4a3; font-size:.67rem; line-height:1.65; }
.solutions-page .sol-intro { padding:clamp(77px,8vw,120px) 0 clamp(70px,7vw,108px); background:#f9fbf8; }
.solutions-page .sol-intro-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:end; gap:clamp(30px,9vw,140px); }
.solutions-page .sol-intro .eyebrow,.solutions-page .sol-engagement .eyebrow { color:#167e48; }
.solutions-page .sol-intro h2 { max-width:790px; font-size:clamp(2.7rem,4.7vw,5.1rem); line-height:1.09; letter-spacing:-.068em; color:#182e21; font-weight:600; margin:17px 0 0; text-wrap:balance; }
.solutions-page .sol-intro-side p { color:#596c5e; max-width:490px; line-height:1.78; font-size:1.02rem; margin:0 0 17px; }
.solutions-page .sol-intro-side p:last-child { margin-bottom:0; }
.solutions-page .sol-capabilities { background:#ecf1e9; padding:0 0 15px; }
.solutions-page .sol-capability { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); column-gap:clamp(35px,7vw,108px); row-gap:32px; align-items:center; padding:clamp(75px,8vw,118px) 0; border-top:1px solid #d0decf; }
.solutions-page .sol-capability-intro { min-width:0; }
.solutions-page .sol-capability-num { font-size:.85rem; font-weight:780; color:#126e42; letter-spacing:.05em; }
.solutions-page .sol-capability-num span { color:#667c6a; font-weight:600; font-size:.72rem; padding-left:9px; letter-spacing:.06em; text-transform:uppercase; }
.solutions-page .sol-capability h2 { font-size:clamp(2.9rem,5vw,5.6rem); color:#102f20; line-height:1.03; font-weight:620; letter-spacing:-.075em; margin:30px 0 24px; }
.solutions-page .sol-period { color:#42a76c; }
.solutions-page .sol-capability-intro > p { color:#506657; line-height:1.8; font-size:1.04rem; margin:0 0 26px; max-width:550px; }
.solutions-page .sol-capability-intro > a { color:#09683f; font-size:.87rem; font-weight:725; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#98c9a5; }
.solutions-page .sol-capability-intro > a:hover { color:#073d27; }
.solutions-page .sol-module { min-width:0; background:#fff; border:1px solid #d3e1d3; border-radius:9px; box-shadow:0 20px 55px rgba(21,56,30,.055); padding:clamp(22px,2.4vw,34px); }
.solutions-page .sol-module-head { color:#6e8774; padding-bottom:21px; border-bottom:1px solid #e8eee6; }
.solutions-page .sol-module-head b { font-size:.63rem; color:#246b46; border-radius:4px; background:#eef5ee; padding:5px 8px; }
.solutions-page .sol-benchmark-label { margin:23px 0 6px; font-size:.88rem; font-weight:680; color:#2c4d37; }
.solutions-page .sol-benchmark-chart { max-width:100%; }
.solutions-page .sol-benchmark-chart svg { width:100%; height:auto; display:block; }
.solutions-page .sol-benchmark-legend { display:flex; gap:20px; flex-wrap:wrap; color:#697c6b; font-size:.73rem; padding:4px 0 20px; }
.solutions-page .sol-benchmark-legend span { display:flex; align-items:center; gap:8px; }
.solutions-page .sol-benchmark-legend i { display:inline-block; width:8px; height:8px; border-radius:50%; }
.solutions-page .sol-legend-current { background:#bc8650; }
.solutions-page .sol-legend-market { background:#1b8050; }
.solutions-page .sol-module-foot { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #e8eee6; padding-top:18px; color:#63816b; font-size:.68rem; font-weight:660; }
.solutions-page .sol-capability-outcomes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-column:1/-1; gap:10px; margin-top:2px; }
.solutions-page .sol-capability-outcomes span { padding:15px 15px; background:#f6f9f4; border:1px solid #dce6d9; border-radius:5px; color:#416149; line-height:1.45; font-size:.79rem; font-weight:590; }
.solutions-page .sol-capability-contract { border-color:#d1dcce; }
.solutions-page .sol-contract-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:21px 0 25px; }
.solutions-page .sol-contract-fields > div { display:grid; align-content:start; gap:7px; padding:16px 11px; border:1px solid #e1eae0; border-radius:5px; background:#f8faf7; }
.solutions-page .sol-contract-fields small { color:#728676; font-size:.64rem; }
.solutions-page .sol-contract-fields strong { color:#1e472d; font-size:.8rem; font-weight:720; }
.solutions-page .sol-contract-fields span { color:#718276; font-size:.62rem; }
.solutions-page .sol-timeline { display:grid; gap:13px; padding-bottom:25px; color:#63796c; font-size:.7rem; }
.solutions-page .sol-timeline-track { width:100%; height:4px; background:#dbe9db; border-radius:8px; display:flex; justify-content:space-between; align-items:center; }
.solutions-page .sol-timeline-track i { display:block; background:#20915a; width:10px; height:10px; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #b4d1bc; }
.solutions-page .sol-timeline > span:last-child { text-align:right; }
.solutions-page .sol-action-list { display:grid; gap:10px; margin:20px 0; }
.solutions-page .sol-action-list > div { display:flex; gap:12px; align-items:center; padding:15px 12px; border:1px solid #e3ece0; border-radius:6px; background:#fafcf9; }
.solutions-page .sol-action-list b { font-size:.75rem; color:#15955a; }
.solutions-page .sol-action-list > div span { flex:1; display:grid; gap:4px; min-width:0; }
.solutions-page .sol-action-list strong { font-size:.81rem; color:#254931; }
.solutions-page .sol-action-list small { font-size:.65rem; color:#738276; }
.solutions-page .sol-action-list em { font-size:.62rem; font-weight:730; font-style:normal; color:#267448; padding:5px 6px; background:#e7f4e9; border-radius:3px; }
.solutions-page .sol-engagement { background:#f9fbf8; padding:clamp(80px,8.5vw,130px) 0; }
.solutions-page .sol-engagement-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:clamp(30px,9vw,135px); }
.solutions-page .sol-engagement h2 { margin:16px 0 21px; color:#153422; font-size:clamp(2.5rem,4.2vw,4.5rem); line-height:1.09; letter-spacing:-.064em; font-weight:630; text-wrap:balance; }
.solutions-page .sol-engagement-copy p { max-width:530px; color:#5a6c5e; line-height:1.72; font-size:1.02rem; margin:0 0 29px; }
.solutions-page .sol-engagement .btn-primary { min-height:47px; border-radius:5px; background:#153e28; color:#fff; font-size:.84rem; }
.solutions-page .sol-engagement-options { display:grid; border-top:1px solid #d4e0d3; }
.solutions-page .sol-engagement-options>div { display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto auto; column-gap:17px; padding:18px 0; border-bottom:1px solid #d4e0d3; }
.solutions-page .sol-engagement-options>div>span { grid-row:1/3; color:#19905b; font-size:.76rem; font-weight:760; }
.solutions-page .sol-engagement-options strong { color:#244731; font-size:1.05rem; font-weight:740; }
.solutions-page .sol-engagement-options small { color:#667d6a; font-size:.79rem; margin-top:5px; }
.solutions-page .band .btn-primary { color:#0d2b1b; background:#e8f5eb; border-color:#e8f5eb; }
.solutions-page #sol-capabilities { scroll-margin-top:70px; }
@media (max-width:1050px) {
  .solutions-page .sol-hero-grid { grid-template-columns:1fr; gap:45px; }
  .solutions-page .sol-hero-copy { max-width:780px; }
  .solutions-page .sol-signal { max-width:760px; }
}
@media (max-width:840px) {
  .solutions-page .sol-intro-grid,.solutions-page .sol-engagement-grid { grid-template-columns:1fr; gap:31px; }
  .solutions-page .sol-capability { grid-template-columns:1fr; }
  .solutions-page .sol-capability-intro { max-width:660px; }
  .solutions-page .sol-module { max-width:720px; width:100%; box-sizing:border-box; }
}
@media (max-width:620px) {
  .solutions-page .sol-hero { padding:69px 0 78px; }
  .solutions-page .sol-hero h1 { font-size:clamp(2.8rem,10.7vw,4rem); }
  .solutions-page .sol-hero-copy > p { font-size:.96rem; }
  .solutions-page .sol-signal { padding:17px; }
  .solutions-page .sol-signal-row { gap:9px; padding:13px 9px; }
  .solutions-page .sol-signal-status { font-size:.6rem; }
  .solutions-page .sol-intro h2 { font-size:clamp(2.4rem,8.5vw,3.2rem); }
  .solutions-page .sol-capability h2 { font-size:clamp(2.65rem,10vw,4rem); }
  .solutions-page .sol-capability-outcomes { grid-template-columns:1fr; gap:8px; }
  .solutions-page .sol-contract-fields { grid-template-columns:1fr; gap:8px; }
  .solutions-page .sol-contract-fields>div { padding:12px 14px; }
  .solutions-page .sol-module-head { flex-wrap:wrap; }
  .solutions-page .sol-module-foot { flex-wrap:wrap; }
  .solutions-page .sol-capability { padding:69px 0; }
  .solutions-page .sol-intro-side p,.solutions-page .sol-capability-intro>p { font-size:.95rem; }
  .solutions-page .sol-engagement h2 { font-size:clamp(2.35rem,8.7vw,3.1rem); }
  .solutions-page .sol-action-list em { display:none; }
}
@media (prefers-reduced-motion:reduce) { .solutions-page .sol-hero-text-link,.solutions-page .sol-capability-intro>a { transition:none; } }
