
:root{
 --ink:#0b1735;--ink2:#17284e;--blue:#2457c6;--blue2:#4d8cff;--cyan:#24c7d9;--gold:#f4b51b;
 --muted:#64728c;--line:#e5ebf4;--surface:#f5f8fc;--white:#fff;--r:24px;--max:1180px;
 --shadow:0 22px 70px rgba(16,36,78,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}

/* NAV */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(225,232,243,.8);transition:.3s}
.site-header.scrolled{box-shadow:0 10px 35px rgba(10,30,70,.08)}
.nav{height:80px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.logo{width:250px}
.nav-links{display:flex;align-items:center;gap:23px;font-size:14px;font-weight:750;color:#34425f}
.nav-links a{padding:8px 0;position:relative}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;height:2px;bottom:1px;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:.25s}
.nav-links a:hover:after,.nav-links a.active:after{right:0}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 19px;font-weight:850;border:0;cursor:pointer;transition:.25s}
.nav-cta,.btn-primary{color:#fff;background:linear-gradient(135deg,#2457c6,#163a93);box-shadow:0 12px 28px rgba(36,87,198,.23)}
.btn-secondary{background:#fff;color:var(--ink);border:1px solid #d6e0ee}
.nav-cta:hover,.btn:hover{transform:translateY(-2px)}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 11px}

/* HERO */
.hero{position:relative;overflow:hidden;color:#fff;background:
 radial-gradient(circle at 78% 22%,rgba(55,135,255,.32),transparent 31%),
 radial-gradient(circle at 90% 90%,rgba(35,199,217,.16),transparent 30%),
 linear-gradient(135deg,#07132c,#102653 58%,#091632);padding:94px 0 86px}
.hero:before{content:"";position:absolute;inset:-50%;background:repeating-linear-gradient(116deg,transparent 0 46px,rgba(90,170,255,.045) 47px 48px);transform:rotate(-9deg);animation:drift 18s linear infinite}
.hero:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(112,192,255,.1);border-radius:50%;right:-160px;top:-180px;box-shadow:0 0 0 70px rgba(90,160,255,.025),0 0 0 140px rgba(90,160,255,.018)}
@keyframes drift{to{transform:rotate(-9deg) translate3d(50px,20px,0)}}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.eyebrow,.kicker{font-size:11px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.eyebrow{color:#a9c9ff}.eyebrow:before{content:"";display:inline-block;width:26px;height:2px;background:var(--gold);vertical-align:middle;margin-right:9px}
.hero h1{font-size:clamp(44px,5.2vw,72px);line-height:1.02;letter-spacing:-.055em;margin:19px 0}
.hero h1 span{background:linear-gradient(90deg,#8fd0ff,#63e1e4);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{max-width:680px;color:#d7e4f8;font-size:18px;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}
.hero .btn-secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.23);color:#fff}

/* HERO VISUAL */
.hero-visual{min-height:440px;display:grid;place-items:center}
.system-orbit{width:390px;height:390px;border:1px solid rgba(147,208,255,.26);border-radius:50%;position:relative;animation:float 4s ease-in-out infinite}
.system-orbit:before,.system-orbit:after{content:"";position:absolute;inset:42px;border:1px solid rgba(147,208,255,.17);border-radius:50%;transform:rotate(58deg)}
.system-orbit:after{inset:90px;transform:rotate(-48deg)}
.core{position:absolute;inset:118px;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(74,151,255,.24),rgba(22,52,129,.65));border:1px solid rgba(193,226,255,.32);backdrop-filter:blur(15px);box-shadow:0 35px 90px rgba(0,0,0,.28)}
.core strong{font-size:31px;letter-spacing:-.07em}
.orbit-node{position:absolute;z-index:3;padding:10px 13px;border-radius:14px;border:1px solid rgba(188,224,255,.2);background:rgba(9,27,63,.82);font-size:10px;font-weight:850;box-shadow:0 16px 40px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
.on1{right:-2%;top:5%}.on2{left:-7%;bottom:13%}.on3{right:-8%;top:44%}.on4{right:24%;bottom:0}.on5{left:-8%;bottom:60%}
.pulse{position:absolute;width:9px;height:9px;background:#65e4e4;border-radius:50%;box-shadow:0 0 0 0 rgba(101,228,228,.5);animation:pulse 2.2s infinite}
.p1{top:23%;left:22%}.p2{bottom:22%;right:20%}.p3{top:52%;left:8%}
@keyframes pulse{70%{box-shadow:0 0 0 16px rgba(101,228,228,0)}100%{box-shadow:0 0 0 0 rgba(101,228,228,0)}}
@keyframes float{50%{transform:translateY(-7px) rotate(1deg)}}

/* TRUST / CLIENT MARQUEE */
.trust{border-bottom:1px solid var(--line);background:#fff;padding:36px 0}
.trust-in{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:30px}
.trust-in p{font-size:12px;color:#51617c;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin:0;white-space:nowrap}
.client-marquee{position:relative;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;padding:10px 0}
.client-marquee:before,.client-marquee:after{content:"";position:absolute;top:0;bottom:0;width:100px;z-index:3;pointer-events:none}
.client-marquee:before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.client-marquee:after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.client-track{display:flex;align-items:center;gap:16px;width:max-content;animation:clientMarquee 32s linear infinite}
.client-logo{flex:0 0 220px;height:126px;border-radius:0;border:0;background:transparent;display:grid;place-items:center;padding:8px;box-shadow:none;transition:.3s}
.client-logo img{width:100%;height:100%;object-fit:contain;padding:7px;filter:grayscale(100%);opacity:.68;transition:.3s}
.client-logo:hover{transform:translateY(-3px);box-shadow:none}
.client-logo:hover img{filter:none;opacity:1}
@keyframes clientMarquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
.client-marquee:hover .client-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.client-track{animation:none}}
/* SECTIONS */
.section{padding:100px 0}.section.alt{background:var(--surface)}
.head{max-width:790px;margin-bottom:46px}.head.center{text-align:center;margin-left:auto;margin-right:auto}.kicker{color:var(--blue)}.head h2{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.045em;margin:10px 0 15px}.head p{font-size:17px;color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}

/* CAPABILITY CARDS */
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cap-card{position:relative;overflow:hidden;min-height:255px;border:1px solid var(--line);border-radius:var(--r);padding:27px;background:#fff;box-shadow:0 10px 32px rgba(14,31,65,.045);transition:.35s}
.cap-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--gold));transform:scaleX(.15);transform-origin:left;transition:.35s}
.cap-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-75px;top:-75px;background:radial-gradient(circle,rgba(55,137,255,.12),transparent 67%);transition:.35s}
.cap-card:hover{transform:translateY(-7px);border-color:#cfdcf0;box-shadow:var(--shadow)}
.cap-card:hover:before{transform:scaleX(1)}.cap-card:hover:after{transform:scale(1.25)}
.cap-number{font-size:10px;font-weight:950;letter-spacing:.12em;color:#91a1ba}
.cap-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;margin:18px 0 20px;color:var(--blue);background:linear-gradient(135deg,#edf4ff,#e3efff);font-size:21px}
.cap-card h3{font-size:21px;letter-spacing:-.02em;margin:0 0 8px}.cap-card p{font-size:14px;color:var(--muted);margin:0}
.cap-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.cap-tags span{font-size:10px;font-weight:800;color:#4d5d78;background:#f3f6fb;border:1px solid #e6ecf4;border-radius:999px;padding:5px 8px}

/* VISUAL */
.visual{min-height:420px;border-radius:30px;background:linear-gradient(145deg,#091a3b,#1a4a98);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(68,160,255,.34),transparent 32%),radial-gradient(circle at 20% 80%,rgba(35,210,212,.15),transparent 35%)}
.dashboard{position:absolute;inset:10%;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);backdrop-filter:blur(13px);border-radius:21px;padding:17px}
.dots{display:flex;gap:6px}.dots i{width:7px;height:7px;background:#c2dcff;border-radius:50%}.dash-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;height:calc(100% - 30px);margin-top:14px}.dash-box{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);border-radius:14px;padding:14px}.metric{font-size:23px;font-weight:900;color:#fff}.metric small{display:block;font-size:9px;letter-spacing:.13em;color:#a8bee0}.bar{height:7px;background:rgba(255,255,255,.14);border-radius:99px;margin:12px 0}.bar b{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#5bb1ff,#2ed6c5)}.line{height:1px;background:linear-gradient(90deg,transparent,#79bbff,transparent);margin:20px 0}

/* BUSINESS DOMAINS */
.domain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.domain{padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;position:relative;overflow:hidden;transition:.3s}.domain:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.domain-num{font-size:11px;color:var(--blue);font-weight:950;letter-spacing:.12em}.domain h3{font-size:24px;margin:10px 0 7px}.domain p{margin:0;color:var(--muted)}.domain-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.domain-list span{font-size:11px;padding:6px 9px;border-radius:999px;background:#f1f5fb;color:#4d5d78;border:1px solid #e4eaf3;font-weight:750}

/* PROCESS / CTA */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{border-top:2px solid #cbd8eb;padding:23px}.step small{color:var(--blue);font-weight:950;letter-spacing:.12em}.step h3{margin:12px 0 7px}.step p{margin:0;color:var(--muted);font-size:14px}
.cta{position:relative;overflow:hidden;padding:52px;border-radius:30px;color:#fff;background:linear-gradient(135deg,#0b1b3e,#2457c6);display:flex;justify-content:space-between;align-items:center;gap:30px}.cta:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-180px;top:-190px}.cta h2{font-size:38px;line-height:1.08;letter-spacing:-.04em;margin:0 0 9px}.cta p{margin:0;color:#d7e4f7;max-width:700px}.cta .btn{background:#fff;color:#173c8f;position:relative;z-index:2}

/* INTERNAL HERO */
.page-hero{padding:78px 0;background:linear-gradient(135deg,#08152f,#1b438a);color:#fff}.page-hero h1{font-size:clamp(42px,5vw,64px);line-height:1.04;letter-spacing:-.05em;margin:10px 0 15px}.page-hero p{font-size:18px;max-width:820px;color:#cfdbef;margin:0}.breadcrumb{font-size:12px;color:#9fb5d8}.breadcrumb a{text-decoration:underline;color:#d4e2fa}

/* CLIENTS */
.client-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.client-tile{height:230px;border-radius:26px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden;position:relative;transition:.35s;box-shadow:0 8px 28px rgba(10,30,70,.04)}.client-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(36,87,198,.04),transparent 50%,rgba(35,199,217,.05));opacity:0;transition:.3s}.client-tile:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#cdd9ee}.client-tile:hover:before{opacity:1}.client-tile img{width:205px;height:205px;object-fit:contain;position:relative;z-index:2}

/* CONTACT / CAREERS */
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.feature{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff}.feature h3{margin:0 0 7px}.feature p{margin:0;color:var(--muted)}
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.job{border:1px solid var(--line);border-radius:24px;background:#fff;padding:27px}.job-top{display:flex;justify-content:space-between;gap:10px}.job-tag{font-size:10px;font-weight:900;color:var(--blue);background:#edf3ff;border-radius:999px;padding:6px 9px}.open{font-size:11px;color:#d8414e;font-weight:900}.job h3{font-size:23px;margin:20px 0 9px}.job p,.job li{font-size:14px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px}.contact-card h2{font-size:34px;letter-spacing:-.04em;margin:8px 0}.contact-card>p{color:var(--muted)}.details{display:grid;gap:13px;margin-top:22px}.detail{padding:15px;border-radius:15px;background:var(--surface);font-size:14px}.detail small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:850}.field input,.field textarea,.field select{width:100%;border:1px solid #d8e0ed;border-radius:13px;padding:12px;outline:none;color:var(--ink);background:#fff}.field input:focus,.field textarea:focus,.field select:focus{border-color:#7da1e8;box-shadow:0 0 0 4px rgba(36,87,198,.09)}textarea{min-height:135px;resize:vertical}.note{font-size:11px;color:var(--muted);margin-top:10px}

/* FOOTER */
.footer{background:#071329;color:#c1ccdf;padding:68px 0 24px}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr 1fr;gap:40px}.footer img{width:190px;background:#fff;padding:8px 12px;border-radius:10px}.footer p,.footer a{font-size:13px;line-height:1.8}.footer a{display:block;margin:7px 0}.footer a:hover{color:#fff}.footer h3{font-size:14px;color:#fff}.bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:#8190a8}

/* MOTION */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}
.back{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:0;border-radius:50%;background:#153f92;color:#fff;display:none;z-index:90;box-shadow:0 12px 30px rgba(10,30,75,.25);cursor:pointer}.back.show{display:block}
@media(max-width:1000px){.nav-links{gap:14px}.nav-cta{display:none}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.cap-grid,.tech-grid,.jobs,.industries{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.client-wall{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.container{width:calc(100% - 28px)}.nav{height:72px}.trust-in{grid-template-columns:1fr;gap:12px}.client-logo{flex-basis:180px;height:105px}.client-track{gap:12px}.logo{width:185px}.menu-btn{display:block}.nav-links{position:absolute;top:72px;left:14px;right:14px;display:none;flex-direction:column;gap:2px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{padding:11px}.hero{padding:60px 0}.hero h1{font-size:43px}.hero p{font-size:17px}.system-orbit{width:290px;height:290px}.core{inset:90px}.orbit-node{font-size:9px}.section{padding:72px 0}.cap-grid,.tech-grid,.domain-grid,.features,.jobs,.process,.client-wall{grid-template-columns:1fr}.cta{display:block;padding:34px}.cta h2{font-size:31px}.cta .btn{margin-top:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.bottom{display:block}.bottom span{display:block;margin-top:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.system-orbit,.hero:before,.pulse{animation:none}.btn,.cap-card,.domain,.client-tile{transition:none}}
