/* Generated imagery with text-protecting overlays. */
.hero-corporate { background:#edf3f8 url("images/office-v1.png") center / cover no-repeat; }
.hero-corporate .hero-copy { align-self:stretch; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(90deg,rgba(249,252,255,.97),rgba(249,252,255,.88) 65%,rgba(249,252,255,.72)); }
.hero-corporate .architecture-panel { background:linear-gradient(110deg,rgba(15,62,103,.94),rgba(15,62,103,.83)); }
.service-flow { background:linear-gradient(180deg,rgba(244,248,251,.08),rgba(244,248,251,.35) 46%,#f4f8fb 88%),linear-gradient(90deg,#f4f8fb 2%,rgba(244,248,251,.97) 37%,rgba(244,248,251,.25) 100%),url("images/infrastructure-v1.png") center 40% / cover no-repeat; }
.service-flow .split-heading { min-height:clamp(210px,19vw,440px); align-items:start; grid-template-columns:minmax(0,1fr); gap:22px; }
.service-flow .split-heading>p { max-width:44em; width:55%; color:#344c61; padding:16px 20px; background:rgba(249,252,255,.94); border-left:2px solid var(--blue); }
.service-flow .flow-track { background:#fff; }
.products { background:linear-gradient(180deg,rgba(249,251,253,.05),rgba(249,251,253,.35) 45%,#f9fbfd 90%),linear-gradient(90deg,#f9fbfd 0%,rgba(249,251,253,.98) 34%,rgba(249,251,253,.24) 100%),url("images/software-v1.png") center 48% / cover no-repeat; }
.products::before { content:none; }
.products .product-heading { min-height:clamp(220px,19vw,430px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:22px; }
.products .product-heading>p { max-width:40em; width:52%; padding:16px 20px; margin:0; background:rgba(249,252,255,.94); border-left:2px solid var(--blue); color:#344c61; }
.products .product-layout { background:#fff; }
@media(max-width:960px) { .hero-corporate { background-position:65% center; } .hero-corporate .hero-copy { background:rgba(248,252,255,.89); } .service-flow .split-heading>p,.products .product-heading>p { width:72%; } }
@media(max-width:560px) {
 .service-flow,.products { background-size:auto,auto,auto 650px; background-position:center,center,62% top; }
 .service-flow .split-heading,.products .product-heading { min-height:270px; justify-content:flex-end; }
 .service-flow .split-heading>p,.products .product-heading>p { width:100%; padding:14px 16px; }
 .service-flow .section-heading h2,.products .section-heading h2 { background:rgba(249,252,255,.92); padding:8px 12px; margin-left:-12px; }
}
