
/* VirtualFlex Custom Software Engineering pages — scoped to .cse-page */
.cse-page{--cse-navy:#071c2a;--cse-deep:#0a2b3d;--cse-cyan:#11b9cf;--cse-gold:#d9b66f;--cse-ink:#173244;--cse-muted:#667b8b;--cse-line:#e1eaf0;color:var(--cse-ink)}
.cse-page *{box-sizing:border-box}
.cse-container{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.cse-hero{min-height:570px;padding:80px 0 76px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:56px;position:relative;isolation:isolate}
.cse-hero:before{content:"";position:absolute;z-index:-1;inset:0 calc((1240px - 100vw)/2);background:linear-gradient(125deg,#f5f8fa 0%,#fff 54%,#edf6f8 100%)}
.cse-hero__copy{max-width:650px}
.cse-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:2px;font-weight:850;color:#07899d}
.cse-eyebrow:before{content:"";width:24px;height:2px;background:var(--cse-cyan)}
.cse-kicker{margin:25px 0 12px;color:#8a9aa5;font-size:11px;font-weight:800;letter-spacing:1.8px}
.cse-hero h1{margin:0;color:var(--cse-navy);font-size:clamp(40px,5vw,66px);font-weight:760;line-height:1.04;letter-spacing:-2.2px;max-width:680px}
.cse-lead{max-width:600px;margin:24px 0 0;color:#5c7180;font-size:16px;line-height:1.85}
.cse-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:32px}
.cse-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:0 22px;border-radius:5px;background:var(--cse-navy);color:#fff;text-decoration:none;font-size:13px;font-weight:750;transition:transform .2s,background .2s}
.cse-button:hover{background:#0d5265;color:#fff;transform:translateY(-2px)}
.cse-button span{font-size:19px;font-weight:400}
.cse-text-link{color:#345263;text-decoration:none;font-size:13px;font-weight:750}
.cse-text-link:hover{color:#07899d}
.cse-visual,.cse-bento-visual,.cse-data-visual,.cse-ai-visual,.cse-cloud-visual{position:relative;min-height:390px;display:flex;align-items:center;justify-content:center}
.cse-visual:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(17,185,207,.09);filter:blur(2px)}
.cse-browser{position:relative;z-index:1;width:min(100%,490px);border:1px solid #d9e5eb;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 30px 70px rgba(7,28,42,.14);transform:rotate(-2deg)}
.cse-browser__bar{height:43px;display:flex;align-items:center;gap:6px;padding:0 14px;background:#f3f7f9;border-bottom:1px solid #e2ebef}
.cse-browser__bar i{width:7px;height:7px;border-radius:50%;background:#c3d1d9}.cse-browser__bar span{margin-left:12px;color:#8a9aa5;font-size:10px}
.cse-browser__body{padding:34px 30px 28px;min-height:260px;background:linear-gradient(140deg,#fff,#f0f8fa)}
.cse-mock-label{font-size:9px;font-weight:850;letter-spacing:1.6px;color:#0a9caf}.cse-mock-line{height:12px;width:60%;margin-top:12px;border-radius:8px;background:#cddce3}.cse-mock-line--long{width:85%;height:20px;background:#15374a}.cse-mock-button{width:95px;height:29px;margin-top:22px;border-radius:4px;background:#11b9cf}.cse-mock-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.cse-mock-panels i{height:70px;border-radius:6px;background:#dcebf0}.cse-visual__badge,.cse-floating-card{position:absolute;z-index:2;right:0;bottom:20px;padding:14px 17px;background:#fff;border:1px solid #e1eaf0;border-radius:7px;box-shadow:0 12px 30px #071c2a12;color:#476170;font-size:11px;font-weight:750}
.cse-section{padding:65px 0 75px}.cse-section__heading{max-width:700px;margin-bottom:28px}.cse-section__heading>span,.cse-process__intro>span,.cse-cta>div>span{font-size:10px;letter-spacing:2px;font-weight:850;color:#07899d}.cse-section__heading h2,.cse-process__intro h2{margin:12px 0;color:var(--cse-navy);font-size:clamp(29px,3.4vw,43px);line-height:1.15;letter-spacing:-1px}.cse-section__heading p,.cse-process__intro p{margin:0;color:var(--cse-muted);font-size:14px;line-height:1.8}
.cse-capabilities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cse-capability{min-height:200px;padding:22px;border:1px solid var(--cse-line);border-radius:8px;background:#fff;transition:transform .2s,border-color .2s,box-shadow .2s}.cse-capability:hover{transform:translateY(-4px);border-color:#9ddce4;box-shadow:0 15px 35px rgba(7,28,42,.06)}.cse-capability__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:#e8f8fa;color:#07899d;font-size:20px}.cse-capability h3{margin:23px 0 8px;color:var(--cse-navy);font-size:16px;line-height:1.35}.cse-capability p{margin:0;color:var(--cse-muted);font-size:12px;line-height:1.75}
.cse-process{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding:64px 0;border-top:1px solid var(--cse-line)}.cse-process__intro h2{font-size:34px}.cse-process__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:center}.cse-step{padding:20px 15px;border-left:2px solid var(--cse-cyan);background:#f5f9fb;min-height:110px}.cse-step span{font-size:10px;font-weight:850;color:#07899d}.cse-step h3{margin:12px 0 0;color:var(--cse-navy);font-size:14px;line-height:1.45}
.cse-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:20px 0 70px;padding:36px 40px;border-radius:10px;background:linear-gradient(120deg,#071c2a,#0a4053);color:#fff}.cse-cta>div>span{color:#65d8e6}.cse-cta h2{margin:10px 0 7px;color:#fff;font-size:29px;line-height:1.2}.cse-cta p{margin:0;color:#c0d0d8;font-size:13px;line-height:1.7}.cse-button--light{background:#fff;color:#071c2a;flex-shrink:0}.cse-button--light:hover{background:#dff7fa;color:#071c2a}
/* Mobile-app visual */
.cse-hero--phone{background:linear-gradient(115deg,#f6f8fb,#f0f8fa)}.cse-hero--phone:before{background:linear-gradient(115deg,#f6f8fb,#f0f8fa)}
.cse-phone{position:relative;z-index:1;width:205px;height:365px;padding:10px;border:5px solid #132f41;border-radius:32px;background:#071c2a;box-shadow:0 28px 55px #071c2a30;transform:rotate(5deg)}.cse-phone__notch{position:absolute;z-index:2;top:7px;left:50%;transform:translateX(-50%);width:72px;height:15px;border-radius:0 0 10px 10px;background:#071c2a}.cse-phone__screen{height:100%;padding:33px 14px 15px;border-radius:21px;background:linear-gradient(160deg,#f7fcfd,#e5f5f8);overflow:hidden}.cse-phone__screen>span{font-size:8px;letter-spacing:1px;font-weight:850;color:#07899d}.cse-phone__avatar{width:50px;height:50px;margin:20px auto 15px;border-radius:16px;background:linear-gradient(135deg,#11b9cf,#0b5266)}.cse-phone__line{height:8px;margin:9px auto;border-radius:8px;background:#b9d2dc;width:90%}.cse-phone__line--short{width:60%}.cse-phone__tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.cse-phone__tile-grid i{height:48px;border-radius:8px;background:#cde9ee}.cse-phone__bottom{height:28px;margin-top:16px;border-radius:8px;background:#0a4053}.cse-floating-card{right:0;bottom:40px}.cse-floating-card b{margin-left:8px;color:#07899d}
/* Custom software bento */
.cse-hero--bento{grid-template-columns:1fr 1fr}.cse-bento-visual{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:13px;min-height:340px}.cse-bento-box{display:flex;flex-direction:column;justify-content:space-between;padding:22px;border:1px solid #dce8ed;border-radius:10px;background:#fff;box-shadow:0 12px 30px #071c2a0b}.cse-bento-box--large{grid-row:span 2;background:#0a2b3d;color:#fff}.cse-bento-box span{font-size:9px;letter-spacing:1.4px;font-weight:850;color:#07899d}.cse-bento-box--large span{color:#6ce0ed}.cse-bento-box b{font-size:22px;line-height:1.2}.cse-bento-box i{font-size:10px;font-style:normal;color:#bed1da}.cse-bento-box--accent{background:#eaf8fa}
/* Machine learning visual */
.cse-hero--data{background:#071c2a;color:#fff}.cse-hero--data:before{background:radial-gradient(circle at 75% 50%,#0d4558,#071c2a 65%)}.cse-hero--data h1{color:#fff}.cse-hero--data .cse-lead{color:#b7c9d3}.cse-hero--data .cse-kicker{color:#9db3bf}.cse-hero--data .cse-text-link{color:#d3e2e8}.cse-data-visual{min-height:390px}.cse-data-visual__orb{width:230px;height:230px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#66e1ec,#0e7185 30%,#0a3042 68%);box-shadow:0 0 0 18px #11b9cf12,0 0 0 48px #11b9cf0a,0 0 65px #11b9cf33}.cse-data-chip{position:absolute;display:flex;align-items:center;gap:18px;padding:13px 16px;border:1px solid #3d687a;border-radius:7px;background:#0a2b3de8;color:#d6e7ed;font-size:10px;letter-spacing:1px}.cse-data-chip b{color:#62dbe7}.cse-data-chip--one{top:45px;left:5px}.cse-data-chip--two{top:155px;right:0}.cse-data-chip--three{bottom:45px;left:30px}.cse-data-visual__caption{position:absolute;bottom:2px;color:#7eabb9;font-size:10px;letter-spacing:1px}
/* Generative AI visual */
.cse-hero--ai{background:#f7f6fb}.cse-hero--ai:before{background:radial-gradient(circle at 75% 50%,#e9e7fa,#f7f6fb 58%)}.cse-ai-visual{min-height:390px;border-radius:50%;background:radial-gradient(circle,#fff 0 22%,#e7e7f8 23% 24%,transparent 25%);}.cse-ai-visual:before,.cse-ai-visual:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #b7b5e1;border-radius:50%}.cse-ai-visual:after{width:360px;height:360px;border-style:dashed;border-color:#d1cfea}.cse-ai-visual__core{z-index:1;display:grid;place-items:center;width:110px;height:110px;border-radius:28px;background:linear-gradient(145deg,#282b59,#6669a9);box-shadow:0 20px 40px #292c5a33;color:#fff;font-size:34px;font-weight:850}.cse-ai-node{position:absolute;z-index:2;padding:10px 13px;border:1px solid #d9d8ef;border-radius:6px;background:#fff;box-shadow:0 8px 22px #292c5a0d;color:#4c4e7d;font-size:9px;font-weight:850;letter-spacing:.8px}.cse-ai-node--1{top:25px;left:calc(50% - 55px)}.cse-ai-node--2{right:0;top:45%}.cse-ai-node--3{bottom:28px;left:calc(50% - 38px)}.cse-ai-node--4{left:0;top:45%}
/* Cloud integration visual */
.cse-hero--cloud{background:#f2f8f9}.cse-hero--cloud:before{background:linear-gradient(135deg,#f4f9fa,#eaf5f7)}.cse-cloud-visual{min-height:390px}.cse-cloud-node{position:absolute;z-index:1;display:grid;place-items:center;width:94px;height:94px;border:1px solid #a8dce3;border-radius:18px;background:#fff;box-shadow:0 12px 35px #071c2a12;color:#0b5266;font-size:11px;font-weight:850;letter-spacing:1px}.cse-cloud-node--main{width:132px;height:132px;border-radius:50%;background:#0a2b3d;color:#fff;border:8px solid #d8f0f3;box-shadow:0 0 0 15px #11b9cf10}.cse-cloud-node--a{top:20px;left:calc(50% - 47px)}.cse-cloud-node--b{bottom:20px;left:calc(50% - 47px)}.cse-cloud-node--c{right:0;top:calc(50% - 47px)}.cse-cloud-connector{position:absolute;width:250px;height:250px;border:1px dashed #7dcbd5;border-radius:50%}
@media(max-width:950px){.cse-hero{gap:28px;min-height:520px;padding:60px 0}.cse-hero h1{font-size:clamp(36px,5vw,52px)}.cse-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}.cse-process{grid-template-columns:1fr;gap:25px}.cse-visual,.cse-bento-visual,.cse-data-visual,.cse-ai-visual,.cse-cloud-visual{min-height:330px}}
@media(max-width:650px){.cse-container{width:calc(100% - 32px)}.cse-hero,.cse-hero--bento{grid-template-columns:1fr;gap:20px;padding:45px 0 42px;min-height:0}.cse-hero h1{font-size:clamp(36px,10vw,49px);letter-spacing:-1.4px}.cse-lead{font-size:14px;line-height:1.75;margin-top:17px}.cse-actions{gap:16px;margin-top:24px}.cse-button{min-height:48px;padding:0 16px;gap:15px}.cse-visual,.cse-bento-visual,.cse-data-visual,.cse-ai-visual,.cse-cloud-visual{min-height:280px}.cse-browser{max-width:390px}.cse-browser__body{padding:24px 20px;min-height:220px}.cse-visual__badge{right:0;bottom:0}.cse-phone{transform:scale(.82) rotate(5deg);transform-origin:center}.cse-bento-visual{min-height:280px}.cse-bento-box{padding:15px}.cse-bento-box b{font-size:17px}.cse-data-visual__orb{width:170px;height:170px}.cse-data-chip--one{top:12px;left:0}.cse-data-chip--two{top:120px;right:0}.cse-data-chip--three{bottom:22px;left:8px}.cse-ai-visual:before{width:220px;height:220px}.cse-ai-visual:after{width:280px;height:280px}.cse-ai-node{font-size:8px;padding:8px}.cse-cloud-node--main{width:110px;height:110px}.cse-cloud-node{width:76px;height:76px;font-size:9px}.cse-cloud-node--a{left:calc(50% - 38px)}.cse-cloud-node--b{left:calc(50% - 38px)}.cse-cloud-node--c{right:0;top:calc(50% - 38px)}.cse-cloud-connector{width:205px;height:205px}.cse-section{padding:45px 0}.cse-section__heading h2,.cse-process__intro h2{font-size:30px}.cse-capabilities{grid-template-columns:1fr;gap:10px}.cse-capability{min-height:0;padding:19px}.cse-capability h3{margin-top:15px}.cse-process{padding:42px 0;gap:20px}.cse-process__steps{grid-template-columns:1fr;gap:8px}.cse-step{min-height:0;padding:15px}.cse-step h3{margin-top:6px}.cse-cta{align-items:flex-start;flex-direction:column;margin:8px 0 42px;padding:25px 20px}.cse-cta h2{font-size:25px}.cse-button--light{width:100%}}
