
.software-section { border-top:1px solid var(--border); }
.software-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.software-card { padding:28px; border:1px solid var(--border); border-radius:14px; background:linear-gradient(145deg,#102018,#07100c); transition:transform .25s,border-color .25s; }
.software-card:hover { transform:translateY(-5px); border-color:#00e67670; }
.software-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:24px; border:1px solid var(--app-color); border-radius:12px; color:var(--app-color); background:#050b09; font:600 27px Arial,sans-serif; }
.software-card h3 { font-size:19px; line-height:1.5; margin-bottom:12px; color:#edf3ef; }
.software-description { color:#aebdb3; font-size:14px; line-height:1.85; }
.software-capabilities { margin:20px 0; padding-top:16px; border-top:1px solid var(--border); color:#8fa698; font-size:11px; line-height:1.8; }
.software-card>a { color:#70e3a5; font-size:10px; letter-spacing:1px; }
@media(max-width:1100px){.software-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:580px){.software-grid{grid-template-columns:1fr;}.software-card{padding:24px;}}
@media(prefers-reduced-motion:reduce){.software-card{transition:none}.software-card:hover{transform:none}}


.software-card .software-icon { width:32px; height:32px; object-fit:contain; border:0; border-radius:0; background:transparent; margin-bottom:16px; }

.software-heading-row { display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; margin-bottom:20px; }
.software-heading-row h2 { margin-bottom:0; }
.software-heading-logos { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; }
.software-heading-logos img { width:24px; height:24px; object-fit:contain; }
@media(max-width:700px){.software-heading-row{gap:16px}.software-heading-logos{gap:10px}}

/* Product cards inspired by the supplied reference. */
.software-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.software-card { background:#1f1f1f; border:1px solid #303030; border-radius:10px; padding:30px; }
.software-card-heading { display:flex; align-items:center; gap:22px; margin-bottom:32px; min-height:70px; }
.software-card-heading img { width:56px; height:56px; object-fit:contain; flex-shrink:0; }
.software-card-heading h3 { font-size:25px; line-height:1.25; margin:0; color:#f5f5f5; }
.software-platforms { display:flex; gap:18px; border-bottom:2px solid #333; margin-bottom:20px; min-height:68px; }
.software-platform { display:flex; flex-direction:column; align-items:center; text-align:center; justify-content:flex-start; gap:5px; flex:1; color:#b6b6b6; font-size:12px; padding-bottom:12px; }
.software-platform:first-child { color:#fff; border-bottom:2px solid #eee; margin-bottom:-2px; }
.software-platform svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.software-description { color:#ddd; font-size:15px; line-height:1.75; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.software-card .software-view-more { display:inline-block; margin-top:8px; color:#31a8ff; font-size:15px; letter-spacing:0; }
.software-view-more:hover { text-decoration:underline; }
@media(max-width:1100px){.software-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.software-grid{grid-template-columns:1fr;}.software-card{padding:28px;}}
/* Compact software cards. */
.software-grid { max-width:1050px; margin:0 auto; gap:16px; }
.software-card { padding:20px; border-radius:7px; }
.software-card-heading { gap:12px; min-height:36px; margin-bottom:20px; }
.software-card-heading img { width:32px; height:32px; }
.software-card-heading h3 { font-size:17px; }
.software-platforms { gap:12px; min-height:52px; margin-bottom:14px; }
.software-platform { font-size:10px; gap:4px; padding-bottom:9px; }
.software-platform svg { width:16px; height:16px; }
.software-description { font-size:12px; line-height:1.7; -webkit-line-clamp:5; }
.software-card .software-view-more { font-size:12px; margin-top:6px; }
@media(max-width:620px){.software-card{padding:20px;}.software-grid{gap:14px;}}
.software-logo-list { display:flex; justify-content:center; align-items:center; gap:28px; flex-wrap:wrap; }
.software-logo-list img { width:40px; height:40px; object-fit:contain; }
.software-section > .section-header { display:none; }
.software-section { padding-top:45px; padding-bottom:45px; }
