.service-catalog { background:#f6f7f5; color:#142039; padding-block:clamp(58px,6vw,96px); }
.service-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:clamp(28px,3.6vw,54px); }
.service-heading h2 { margin:0; font-size:clamp(48px,5.8vw,92px); letter-spacing:-.075em; line-height:1; }
.service-heading em { color:#293fbf; }
.service-heading a { flex:none; }
.service-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(18px,2vw,30px); }
.service { --progress:1; grid-column:span 2; overflow:hidden; background:white; border:1px solid #d1d8e2; border-radius:8px; }
.service-art { position:relative; height:clamp(158px,14.5vw,230px); isolation:isolate; overflow:hidden; display:grid; place-items:center; background:#e6edf9; color:#12213f; }
.service-art svg,.service-art canvas { width:100%; height:100%; display:block; }
.service-art svg { max-width:540px; }
.service-art text { font-family:DM,Arial,sans-serif; }
.service-copy { padding:clamp(19px,1.9vw,32px); }
.service-copy h3 { font-size:clamp(23px,2vw,33px); font-weight:540; line-height:1.1; letter-spacing:-.055em; }
.service-copy p { margin-top:12px; color:#43536b; font-size:clamp(15px,1.1vw,18px); line-height:1.52; max-width:45ch; }
.service[data-service="loan-application"] .service-art,.service[data-service="risk"] .service-art { background:#14223e; }
.request-stack { position:relative; width:164px; height:128px; perspective:650px; transform:rotate(-7deg); }
.request-sheet { position:absolute; inset:0; border-radius:5px; transform-origin:center; }
.sheet-back { background:#3156ab; transform:translate(calc(-25px - 12px * var(--progress)),6px) rotate(-8deg); }
.sheet-mid { background:#88aef3; transform:translate(calc(-12px - 6px * var(--progress)),3px) rotate(-4deg); }
.sheet-front { background:#f4f7ff; padding:13px 17px; box-shadow:0 5px 16px #03133429; transform:translateX(calc(4px + 12px * var(--progress))); }
.sheet-title { font-size:16px; line-height:1.2; font-weight:650; letter-spacing:-.05em; margin-bottom:13px; }
.field-label { color:#465674; font-size:10px; }
.field-line { display:block; height:5px; width:85%; background:#bbc9e6; margin:3px 0 8px; border-radius:1px; }
.field-line.short { width:57%; }
.service[data-service="reporting-dashboard"] .service-art { background:#eaf0f7; }
.grid-line,.flow-track,.flow-ink,.report-line,.fund-wires,.fund-trace,.terrain-wire { fill:none; }
.grid-line { stroke:#c8d2e1; }
.report-bar { fill:#92adde; transform-box:fill-box; transform-origin:bottom; transform:scaleY(calc(.52 + .48 * var(--progress))); }
.report-line { stroke:#204bc8; stroke-width:3; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:calc(.52 - .52 * var(--progress)); }
.center { text-anchor:middle; }
.small-label { fill:#344664; font-weight:600; font-size:13px; }
.flow-track { stroke:#becde4; stroke-width:3; }
.flow-ink,.fund-trace { stroke:#306bea; stroke-width:2.6; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--progress)); }
.pay-node { fill:#2855c4; }
.payment-slip { transform:translateX(calc(272px * var(--progress))); }
.service[data-service="funding-partner"] .service-art { background:#233e79; }
.fund-wires { stroke:#7891bc; stroke-width:1.25; }
.fund-trace { stroke:#c5dcff; }
.book-label { font-size:16px; font-weight:600; fill:#17366b; }
.service[data-service="loan-management"] .service-art { background:#e0e7ef; }
.repay-calendar { overflow:hidden; width:175px; padding:10px 13px 12px; border-radius:5px; background:white; box-shadow:3px 5px 0 #c2cedd; transform:perspective(700px) rotateX(calc(14deg - 7deg * var(--progress))) rotateZ(-5deg); }
.repay-calendar b { display:block; border-bottom:1px solid #ced7e7; padding-bottom:5px; margin-bottom:5px; font-size:12px; }
.days { display:grid; grid-template-columns:repeat(7,1fr); text-align:center; }
.days span,.days i { font-size:9px; line-height:15px; font-style:normal; }
.days span { font-weight:650; color:#5b6780; }
.days .due { color:#fff; background:#2646a1; border-radius:2px; }
.score-poster { display:block; width:100%; height:100%; max-width:540px; object-fit:contain; }
.score-surface { position:absolute; inset:0; visibility:hidden; }
.surface-ready canvas { visibility:visible; }
.surface-ready .score-poster { visibility:hidden; }
@media(max-width:1000px){.service-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.service{grid-column:auto;}.service-art{height:175px;}}
@media(max-width:620px){
  .service-heading {display:block;}.service-heading h2{max-width:11ch;}
  .service-heading a {display:inline-block;margin-top:16px;}
  .service-grid{grid-template-columns:1fr;gap:20px;}.service-art{height:164px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
