.software-hero { position:relative; isolation:isolate; overflow:hidden; min-height:540px; display:flex; align-items:center; padding:68px 0; background:#f7faff url("banner-software-light.jpg") right center / auto 100% no-repeat; }
.software-hero:before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.75) 35%,rgba(255,255,255,0) 62%); }
.software-hero-copy { width:52%; max-width:650px; min-width:0; }
.software-hero h1 { margin:18px 0; font-size:clamp(34px,4.5vw,54px); color:#203654; }
.software-hero p { max-width:730px; color:#52647e; line-height:1.9; }
.software-hero .software-lead { font-size:24px; color:#315da6; margin:0 0 14px; }
.software-text-link { align-self:center; padding:12px 0; color:#235de2; }
.software-tags { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.software-tags span { color:#315da6; font-size:13px; }
.software-tags span+span { border-left:1px solid #cad9ef; padding-left:12px; }
.software-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.software-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #dce6f5; border-radius:16px; background:#fff; }
.software-card-image { aspect-ratio:3/2; overflow:hidden; background:#f1f6ff; border-bottom:1px solid #edf1f7; }
.software-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
.software-card-body { display:flex; flex-direction:column; flex:1; padding:24px; }
.software-card h3 { font-size:21px; margin:0 0 12px; }
.software-card strong { font-size:14px; font-weight:500; color:#315da6; line-height:1.7; }
.software-card p,.software-principles p,.software-process p { color:#52647e; font-size:14px; line-height:1.85; }
.software-capabilities { margin-top:auto; padding-top:18px; border-top:1px solid #edf1f7; color:#677891; font-size:12px; line-height:1.8; }
.software-soft { background:#f6f9ff; }
.software-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.software-principles h3,.software-process h3 { font-size:19px; }
.software-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:0; list-style:none; counter-reset:delivery; }
.software-process li { counter-increment:delivery; min-width:0; }
.software-process li:before { content:"0" counter(delivery); display:block; color:#235de2; font-weight:800; font-size:28px; margin-bottom:16px; }
@media(max-width:1000px) { .software-grid,.software-process { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1000px) { .software-hero { display:block; min-height:0; padding:48px 0 250px; background-size:auto 320px; background-position:right bottom; background-color:#fff; } .software-hero:before { background:linear-gradient(180deg,#fff 0%,#fff calc(100% - 270px),rgba(255,255,255,0) calc(100% - 160px)); } .software-hero-copy { width:100%; max-width:730px; } }
@media(max-width:600px) { .software-hero { padding:40px 0 215px; background-size:auto 260px; } .software-hero:before { background:linear-gradient(180deg,#fff 0%,#fff calc(100% - 230px),rgba(255,255,255,0) calc(100% - 140px)); } .software-hero .software-lead { font-size:20px; } .software-grid,.software-principles,.software-process { grid-template-columns:minmax(0,1fr); gap:18px; } .software-card-body { padding:20px; } .software-card h3 { font-size:19px; } .software-process li { padding-bottom:14px; border-bottom:1px solid #edf1f7; } .software-page .section { padding:42px 0; } }
