:root{
  --indigo:#1D07CE; --indigo-deep:#14058F; --night:#040C22; --deep:#071A3D; --deep-2:#0A2456; --elec:#3D7BFF; --ice:#9CC2FF; --mist:#C3D3F0; --azure:#D0F2FF; --white:#FEFEFE;
  --paper:#FEFEFE; --surface:#FEFEFE; --ink:#15123D; --muted:#58567A; --rule:#DCDDEB;
  --tint:#EFF9FE; --link:#1D07CE; --mark:#1D07CE; --cell-0:#EEF0FB;
  --wordmark:'Georgia', serif;
  --sans:'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --max:1180px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0B0A22; --surface:#131135; --ink:#ECEBFA; --muted:#A6A4C6; --rule:#2A2754;
    --tint:#110F30; --link:#A99CFF; --mark:#7663FF; --cell-0:#1B1843;
  }
}
:root[data-theme="dark"]{
  --paper:#0B0A22; --surface:#131135; --ink:#ECEBFA; --muted:#A6A4C6; --rule:#2A2754;
  --tint:#110F30; --link:#A99CFF; --mark:#7663FF; --cell-0:#1B1843;
}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px);}
*,*::before,*::after{box-sizing:inherit;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img,svg{max-width:100%;}
a{color:var(--link);}
:focus-visible{outline:3px solid var(--mark);outline-offset:3px;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,40px);}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:12px;top:-60px;background:var(--indigo);color:#fff;padding:10px 14px;z-index:99;}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 10px);}

/* ---------- Type scale ---------- */
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-0.02em;line-height:1.12;}
.t-display{font-size:clamp(31px,4.4vw,54px);letter-spacing:-0.03em;line-height:1.1;}
.t-h1{font-size:clamp(32px,4.6vw,52px);letter-spacing:-0.03em;line-height:1.06;}
.t-h2{font-size:clamp(26px,3.2vw,38px);}
.t-h3{font-size:20px;letter-spacing:-0.01em;line-height:1.25;}
.lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--muted);max-width:40em;margin:0;}
p{margin:0 0 1em;}

/* ---------- Grid bar: the motif taken from the mark's top row ---------- */
.gridbar{display:none;gap:10px;width:118px;height:9px;margin-bottom:22px;}
.gridbar::before{content:"";flex:362;background:var(--mark);}
.gridbar::after{content:"";flex:973;background:var(--mark);margin-left:calc(255 / 1590 * 118px - 10px);}
.on-dark .gridbar::before,.on-dark .gridbar::after{background:var(--azure);}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule);padding-top:env(safe-area-inset-top,0px);margin-top:calc(-1 * env(safe-area-inset-top,0px));}
.site-header .row{display:flex;align-items:center;justify-content:space-between;height:74px;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--mark);}
.brand svg{width:34px;height:34px;flex:none;}
.brand span{font-family:var(--wordmark);font-size:23px;line-height:1;white-space:nowrap;padding-top:4px;}
.nav{display:flex;align-items:center;gap:2px;}
.nav > a,.nav > .dd > button{font:600 14.5px/1 var(--sans);color:var(--ink);text-decoration:none;padding:12px 10px;background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:6px;}
.nav > a[aria-current="page"],.nav > .dd > button.is-current{color:var(--link);box-shadow:inset 0 -3px 0 var(--mark);}
.nav > a:hover,.nav > .dd > button:hover{color:var(--link);}
.chev{width:10px;height:10px;transition:transform .15s;}
.dd{position:relative;}
.dd[data-open="true"] .chev{transform:rotate(180deg);}
.dd-panel{position:absolute;top:calc(100% + 13px);left:-16px;width:520px;background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--mark);display:none;grid-template-columns:1fr 1fr;}
.dd[data-open="true"] .dd-panel{display:grid;}
.dd-panel a {
    display: block;
    padding: 20px 22px;
    text-decoration: none;
    color: var(--ink);
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}

.dd-panel a:nth-child(even):last-child,
.dd-panel a:nth-child(even):last-child + * {
    border-bottom: 0;
}

.dd-panel a:last-child:nth-child(odd) {
    border-bottom: 0;
}
.dd-panel a:nth-child(2n){border-right:0;}
.dd-panel a:hover{background:var(--tint);}
.dd-panel strong{display:block;font-size:16px;color:var(--link);margin-bottom:4px;}
.dd-panel small{font-size:14px;color:var(--muted);line-height:1.45;display:block;}
.btn{display:inline-flex;align-items:center;justify-content:center;font:700 15px/1 var(--sans);padding:15px 22px;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;border-radius:2px;}
.btn-primary{background:var(--indigo);color:#fff;}
.btn-primary:hover{background:var(--indigo-deep);}
.btn-light{background:var(--white);color:var(--indigo);}
.btn-light:hover{background:var(--azure);}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.menu-btn{display:none;background:none;border:1px solid var(--rule);color:var(--ink);font:700 14px/1 var(--sans);padding:11px 14px;cursor:pointer;border-radius:2px;}
.mobile-nav{display:none;}

@media (max-width: 980px){
  .nav,.header-cta{display:none;}
  .menu-btn{display:inline-flex;}
  .mobile-nav[data-open="true"]{display:block;border-top:1px solid var(--rule);max-height:calc(100dvh - 74px - env(safe-area-inset-top,0px));overflow:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));}
  .mobile-nav a{display:block;padding:15px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-weight:600;}
  .mobile-nav .sub a{padding-left:16px;color:var(--link);font-weight:700;}
  .mobile-nav .btn{display:flex;margin-top:20px;border-bottom:0;color:#fff;}
}

/* ---------- Pages ---------- */
[data-route]{display:none;}
[data-route].is-active{display:block;}
.section{padding:clamp(64px,9vw,112px) 0;}
.section.tight{padding:clamp(48px,6vw,72px) 0;}
.section.tint{background:var(--tint);}
.section.rule-top{border-top:1px solid var(--rule);}
.head{margin-bottom:clamp(32px,4vw,52px);max-width:720px;}
.head .lead{margin-top:16px;}

/* ---------- Hero (home) ---------- */
.hero{background:radial-gradient(900px 520px at 85% -10%, rgba(40,92,210,.55), transparent 65%),radial-gradient(700px 500px at -10% 110%, rgba(29,7,206,.35), transparent 60%),linear-gradient(165deg,#0A2456 0%,#071A3D 45%,#040C22 100%);color:#fff;position:relative;overflow:hidden;}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,104px);}
.hero-lines{position:absolute;inset:0;pointer-events:none;z-index:0;}
.hero-lines svg{position:absolute;right:-8%;top:-18%;height:140%;width:auto;opacity:.10;}
.hero h1{color:#fff;}
.hero-title{display:grid;gap:6px;max-width:15ch;}
.hero-title.hero-statement{display:block;max-width:38ch;font-size:clamp(22px,1.6vw,27px);line-height:1.28;letter-spacing:-0.01em;text-wrap:balance;}
.hero-title .line{display:block;}
.hero-title .business-continuity{white-space:nowrap;}
.hero-title .accent{color:var(--azure);}
html[lang="ar"] .hero-title{max-width:20ch;}
html[lang="ar"] .hero-title.hero-statement{max-width:36ch;line-height:1.4;}
@media (max-width: 560px){ .hero-title{max-width:none;} }
.hero .lead{color:var(--mist);margin-top:24px;max-width:34em;}
.hero .actions .btn-light:hover,.phero .actions .btn-light:hover,.cta .btn-light:hover{background:var(--azure);}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}
.suite-line{margin-top:44px;display:flex;flex-wrap:wrap;gap:0;border-top:1px solid rgba(208,242,255,.35);}
.suite-line a{color:var(--azure);font-weight:700;font-size:15px;text-decoration:none;padding:16px 0 0;margin-right:clamp(18px,3vw,36px);}
.suite-line a:hover{color:#fff;text-decoration:underline;}

/* ---------- Product UI illustrations ---------- */
.ui{background:var(--white);color:#15123D;border-radius:3px;box-shadow:0 30px 60px -30px rgba(6,2,60,.55);font-size:13px;line-height:1.3;overflow:hidden;}
.ui-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #E4E5F1;}
.ui-top b{font-size:13.5px;}
.ui-top .brandlet{display:flex;align-items:center;gap:8px;color:#1D07CE;font-weight:800;}
.ui-top .brandlet svg{width:16px;height:16px;}
.ui-tabs{display:flex;gap:4px;}
.ui-tabs span{padding:5px 9px;font-size:11.5px;font-weight:700;color:#58567A;border-radius:2px;}
.ui-tabs span.on{background:#1D07CE;color:#fff;}
.ui-body{padding:16px;display:grid;gap:16px;}
.ui-label{font-size:11.5px;font-weight:700;color:#58567A;margin-bottom:8px;}
.heat{display:grid;grid-template-columns:18px repeat(5,1fr);gap:3px;}
.heat i{aspect-ratio:1.35;border-radius:1px;display:block;}
.heat .ax{font-style:normal;font-size:10px;color:#8A88A8;display:flex;align-items:center;justify-content:center;aspect-ratio:auto;}
.h0{background:#EEF0FB}.h1{background:#D0F2FF}.h2{background:#9E95F0}.h3{background:#5A45E3}.h4{background:#1D07CE}
.heat i.dot{position:relative;}
.heat i.dot::after{content:"";position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#fff;}
.kri{display:grid;gap:0;}
.kri div{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid #EDEEF6;gap:10px;}
.kri div:last-child{border-bottom:0;}
.kri span{color:#58567A;}
.kri b{font-size:14px;white-space:nowrap;}
.pill{font-style:normal;display:inline-block;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:2px;margin-left:6px;}
.pill.ok{background:#D0F2FF;color:#0A5577;}
.pill.watch{background:#E4E0FF;color:#1D07CE;}
.ui-split{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}
.steps div{padding:9px 8px;background:#EEF0FB;font-weight:700;font-size:11.5px;color:#58567A;}
.steps div.done{background:#1D07CE;color:#fff;}
.steps div.now{background:#D0F2FF;color:#15123D;box-shadow:inset 0 -3px 0 #1D07CE;}
.rows div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #EDEEF6;}
.rows div:last-child{border-bottom:0;}
.sev{width:8px;height:8px;border-radius:50%;}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal span{font-size:10.5px;padding:6px 4px;background:#F4F5FB;color:#58567A;min-height:30px;}
.cal span.hd{background:none;min-height:0;padding:0 4px 2px;font-weight:700;}
.cal span.due{background:#1D07CE;color:#fff;font-weight:700;}
.cal span.soon{background:#D0F2FF;color:#15123D;font-weight:700;}
.bars > div{display:grid;grid-template-columns:120px 1fr 42px;gap:10px;align-items:center;padding:6px 0;}
.bars .track{height:9px;background:#EEF0FB;}
.bars .fill{height:100%;background:#1D07CE;}
.bars em{font-style:normal;font-weight:700;text-align:right;}

/* ---------- Product grid (home) ---------- */
.suite{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule);}
.suite a{display:flex;flex-direction:column;padding:30px 26px 28px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);min-height:280px;}
.suite a:hover{background:var(--tint);}

.suite .ico{width:40px;height:40px;color:var(--mark);margin-bottom:28px;}
.suite h3{font-size:24px;color:var(--link);}
.suite .area{font-size:14px;font-weight:700;color:var(--muted);margin-top:6px;}
.suite p{font-size:15.5px;color:var(--muted);margin:16px 0 22px;}
.suite .status{margin-top:auto;}
.suite .more{font-weight:700;font-size:15px;color:var(--link);}

/* ---------- Split intro ---------- */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start;}
.split .body p{font-size:18px;line-height:1.75;}
.split .body p:last-child{margin-bottom:0;}

/* ---------- Reasons ---------- */
.reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--ink);}
.reasons > div{padding:30px 34px 34px 0;border-bottom:1px solid var(--rule);}
.reasons > div:nth-child(2n){padding-left:34px;padding-right:0;border-left:1px solid var(--rule);}
.reasons h3{margin-bottom:10px;}
.reasons p{color:var(--muted);margin:0;max-width:30em;}

/* ---------- Industries ---------- */
.inds{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);}
.inds.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:2px solid var(--ink);}
.inds.two .ind{padding:30px 40px 6px 0;}
.inds.two .ind + .ind{padding-left:40px;border-left:1px solid var(--rule);}
.inds.two .ind p{max-width:30em;}
.ind .ico{width:36px;height:36px;color:var(--mark);margin-bottom:18px;}
.ind h3{margin-bottom:8px;}
.ind p{color:var(--muted);margin:0;}
.proven{display:inline-block;font-size:13px;font-weight:700;color:var(--link);background:var(--tint);border-left:3px solid var(--mark);padding:3px 10px;margin-bottom:14px;}
.section.tint .proven{background:var(--paper);}
.callout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);background:linear-gradient(165deg,#0A2456,#040C22);color:#fff;padding:clamp(32px,5vw,56px);margin:clamp(48px,6vw,72px) 0;position:relative;overflow:hidden;}
.callout > div,.callout > p{position:relative;z-index:1;}
.callout h2{color:#fff;}
.callout p{color:var(--mist);margin:0;font-size:18px;line-height:1.7;}

/* ---------- Clients ---------- */
.clients{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule);}
.clients div{display:flex;align-items:center;justify-content:center;text-align:center;min-height:120px;padding:20px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-weight:800;font-size:16px;letter-spacing:-0.01em;color:var(--ink);line-height:1.3;}
.clients div small{display:block;font-weight:600;font-size:12.5px;color:var(--muted);letter-spacing:0;margin-top:4px;}
.clients .join{background:var(--tint);color:var(--link);}
.clients .join a{color:inherit;}

/* ---------- Insights ---------- */
.insights{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);}
.insight{text-decoration:none;color:var(--ink);display:block;border-top:2px solid var(--ink);padding-top:22px;}
.insight .topic{font-size:14px;font-weight:700;color:var(--link);}
.insight h3{margin:10px 0 12px;font-size:22px;}
.insight p{color:var(--muted);margin:0 0 16px;font-size:15.5px;}
.insight .more{font-weight:700;color:var(--link);font-size:15px;}
.insight:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;}

/* ---------- CTA band ---------- */
.cta{background:radial-gradient(900px 520px at 85% -10%, rgba(40,92,210,.55), transparent 65%),radial-gradient(700px 500px at -10% 110%, rgba(29,7,206,.35), transparent 60%),linear-gradient(165deg,#0A2456 0%,#071A3D 45%,#040C22 100%);color:#fff;position:relative;overflow:hidden;}
.cta .wrap{position:relative;z-index:1;}
.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(56px,7vw,88px);}
.cta h2{color:#fff;max-width:18em;}
.cta p{color:var(--mist);margin:12px 0 0;max-width:34em;}

/* ---------- Page hero ---------- */
.phero{background:radial-gradient(900px 520px at 85% -10%, rgba(40,92,210,.55), transparent 65%),radial-gradient(700px 500px at -10% 110%, rgba(29,7,206,.35), transparent 60%),linear-gradient(165deg,#0A2456 0%,#071A3D 45%,#040C22 100%);color:#fff;position:relative;overflow:hidden;}
.phero .wrap{position:relative;z-index:1;}
.phero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center;padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px);}
.phero.solo .wrap{grid-template-columns:minmax(0,1fr);}
.phero h1{color:#fff;}
.phero .kicker{display:block;font-weight:700;color:var(--azure);font-size:16px;margin-bottom:14px;}
.phero .lead{color:var(--mist);margin-top:20px;}
.phero .actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;}
.crumbs{font-size:14px;color:var(--ice);margin-bottom:22px;}
.crumbs a{color:#fff;}

/* ---------- Capabilities ---------- */
.caps{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);}
.caps > div{padding:28px 30px 30px 0;}
.caps > div + div{padding-left:30px;border-left:1px solid var(--rule);}
.caps h3{margin-bottom:10px;}
.caps p{color:var(--muted);margin:0;}
.whofor{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,6vw,96px);}
.whofor p{font-size:19px;line-height:1.7;margin:0;}

/* ---------- FAQ ---------- */
.faq{border-top:2px solid var(--ink);max-width:880px;}
.faq details{border-bottom:1px solid var(--rule);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px 0;font-weight:700;font-size:18px;line-height:1.4;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pm{flex:none;width:22px;height:22px;position:relative;margin-top:2px;}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--mark);left:50%;top:50%;transform:translate(-50%,-50%);}
.faq summary .pm::before{width:16px;height:2.5px;}
.faq summary .pm::after{width:2.5px;height:16px;transition:transform .15s;}
.faq details[open] .pm::after{transform:translate(-50%,-50%) scaleY(0);}
.faq details p{color:var(--muted);margin:0;padding:0 48px 26px 0;max-width:44em;}

.related{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule);}
.related a{padding:24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);}
.related a:hover{background:var(--tint);}
.related strong{display:block;color:var(--link);font-size:18px;}
.related span{color:var(--muted);font-size:15px;}

/* ---------- About timeline ---------- */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);counter-reset:t;}
.timeline div{padding:26px 26px 0 0;}
.timeline div + div{padding-left:26px;border-left:1px solid var(--rule);}
.timeline div::before{counter-increment:t;content:counter(t);display:flex;width:34px;height:34px;align-items:center;justify-content:center;background:var(--indigo);color:#fff;font-weight:800;font-size:15px;margin-bottom:18px;}
.timeline h3{margin-bottom:8px;}
.timeline p{color:var(--muted);margin:0;font-size:15.5px;}

/* ---------- Article ---------- */
.article{max-width:720px;}
.article h2{font-size:26px;margin:44px 0 14px;}
.article p,.article li{font-size:18px;line-height:1.8;}
.article ul{padding-left:22px;margin:0 0 1em;}
.article li{margin-bottom:8px;}
.article .note{border-left:3px solid var(--mark);background:var(--tint);padding:20px 24px;margin:32px 0;}
.article .note p{margin:0;font-size:17px;}

/* ---------- Contact ---------- */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);}
.cdetails dl{margin:0;border-top:2px solid var(--ink);}
.cdetails dt{font-size:14px;font-weight:700;color:var(--muted);padding-top:20px;}
.cdetails dd{margin:4px 0 0;padding-bottom:20px;border-bottom:1px solid var(--rule);font-size:18px;font-weight:700;word-break:break-word;}
.cdetails dd a{text-decoration:none;}
.cdetails dd a:hover{text-decoration:underline;}
form .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
form .full{grid-column:1 / -1;}
label{display:block;font-weight:700;font-size:15px;margin-bottom:8px;}
input,select,textarea{width:100%;font:500 16px/1.4 var(--sans);color:var(--ink);background:var(--surface);border:1.5px solid var(--rule);border-radius:2px;padding:13px 14px;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--mark);box-shadow:0 0 0 3px color-mix(in srgb, var(--mark) 25%, transparent);}
textarea{min-height:140px;resize:vertical;}
.form-note{font-size:14px;color:var(--muted);margin:14px 0 0;}
.form-error{color:#B3261E;font-size:14px;font-weight:700;margin-top:6px;display:none;}
.invalid .form-error{display:block;}
.invalid input{border-color:#B3261E;}

/* ---------- Footer ---------- */
.site-footer{background:var(--night);color:var(--mist);padding:clamp(56px,7vw,80px) 0 calc(28px + env(safe-area-inset-bottom,0px));}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:36px;margin-bottom:56px;}
.site-footer .brand{color:#fff;}
.site-footer .about{margin-top:20px;max-width:26em;font-size:15.5px;line-height:1.7;}
.site-footer h4{color:#fff;font-size:15px;letter-spacing:0;margin-bottom:14px;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin-bottom:10px;font-size:15px;}
.site-footer a{color:var(--mist);text-decoration:none;}
.site-footer a:hover{color:#fff;text-decoration:underline;}
.site-footer .bottom{border-top:1px solid rgba(156,194,255,.18);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;}
.site-footer .bottom .soc{display:flex;gap:20px;}


/* ---------- Technical grid canvas ---------- */
.fx{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;}

/* ---------- Live product preview (hero) ---------- */
.ui-tabs button{border:0;background:none;font:700 11.5px/1 var(--sans);padding:6px 9px;color:#58567A;cursor:pointer;border-radius:2px;transition:background .2s,color .2s;}
.ui-tabs button:hover{background:#EEF0FB;color:#1D07CE;}
.ui-tabs button[aria-selected="true"]{background:#1D07CE;color:#fff;}
.ui-panels{position:relative;min-height:212px;}
.ui-body.shot{padding:0;}
.shot-wrap{display:block;position:relative;}
.ui-body.shot img{display:block;width:100%;height:auto;}
.ring-fx{position:absolute;border:2px dashed rgba(29,7,206,.55);border-radius:50%;pointer-events:none;
  box-shadow:0 0 18px rgba(61,123,255,.25);animation:turn 9s linear infinite;}
.ring-fx::after{content:"";position:absolute;top:-5px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#3D7BFF;box-shadow:0 0 10px #3D7BFF;}
.hm-fx{position:absolute;}
.hm-cell{position:absolute;width:20%;height:20%;cursor:crosshair;transition:box-shadow .2s, background .2s;}
@media (prefers-reduced-motion: reduce){ .ring-fx{animation:none;} }
.ui-panels > .ui-body{animation:panelIn .35s ease;}
@keyframes panelIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.ui-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-top:1px solid #E4E5F1;font-size:12px;color:#58567A;}
.ui-foot a{font-weight:800;color:#1D07CE;text-decoration:none;white-space:nowrap;}
.ui-foot a:hover{text-decoration:underline;}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#20B26B;margin-right:7px;box-shadow:0 0 0 0 rgba(32,178,107,.5);animation:ping 2s infinite;}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(32,178,107,.45);}80%,100%{box-shadow:0 0 0 7px rgba(32,178,107,0);}}
.ui-progress{height:2px;background:#EEF0FB;}
.ui-progress i{display:block;height:100%;width:0;background:#1D07CE;}
.heat i:not(.ax){transition:transform .15s, box-shadow .15s;}
.heat i:not(.ax):hover{transform:scale(1.12);box-shadow:0 0 0 2px #fff,0 0 0 3px #1D07CE;position:relative;z-index:1;}
.ui.glow{box-shadow:0 0 0 1px rgba(156,194,255,.25),0 40px 90px -30px rgba(61,123,255,.55);}

/* ---------- Spotlight tiles: dark blue field, cursor light, grid reveal ---------- */
.spot{position:relative;isolation:isolate;overflow:hidden;transition:color .3s ease, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;}
.spot::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0;
  transition: opacity .35s ease;

  background:
    linear-gradient(160deg, #0A2456 0%, #061433 100%);
}
.spot::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .35s ease;
  background-image:linear-gradient(rgba(156,194,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(156,194,255,.22) 1px,transparent 1px);
  background-size:22px 22px;background-position:-1px -1px;
  -webkit-mask-image:radial-gradient(200px circle at var(--mx,50%) var(--my,50%),#000,transparent 72%);
          mask-image:radial-gradient(200px circle at var(--mx,50%) var(--my,50%),#000,transparent 72%);}
.spot:hover::before,.spot:focus-visible::before,.spot:hover::after,.spot:focus-visible::after{opacity:1;}
.spot:hover,.spot:focus-visible{color:#fff;}
.suite a.spot:hover,.suite a.spot:focus-visible{background:transparent;z-index:2;box-shadow:0 30px 60px -28px rgba(7,26,61,.7);}
.suite a.spot:hover h3,.suite a.spot:focus-visible h3{color:#fff;}
.suite a.spot:hover .area,.suite a.spot:hover p,.suite a.spot:focus-visible .area,.suite a.spot:focus-visible p{color:var(--mist);}
.suite a.spot:hover .more,.suite a.spot:focus-visible .more{color:var(--ice);}
.suite .ico{transition:transform .35s cubic-bezier(.2,.7,.2,1),color .3s;}
.suite a.spot:hover .ico,.suite a.spot:focus-visible .ico{color:var(--ice);transform:translate(var(--ix,0px),var(--iy,0px)) scale(1.12);}
.suite .code{position:absolute;right:-8px;bottom:-26px;font-size:128px;font-weight:800;letter-spacing:-0.06em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(156,194,255,.0);transition:-webkit-text-stroke-color .4s,transform .5s cubic-bezier(.2,.7,.2,1);transform:translateX(24px);pointer-events:none;z-index:-1;}
.suite a.spot:hover .code,.suite a.spot:focus-visible .code{-webkit-text-stroke-color:rgba(156,194,255,.32);transform:translateX(0);}
.suite .more{display:inline-flex;align-items:center;gap:8px;}
.suite .more i{display:inline-block;width:18px;height:2px;background:currentColor;position:relative;transition:width .3s;}
.suite .more i::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);}
.suite a.spot:hover .more i{width:30px;}
.related a.spot:hover,.related a.spot:focus-visible{background:transparent;}
.related a.spot:hover strong,.related a.spot:focus-visible strong{color:#fff;}
.related a.spot:hover span,.related a.spot:focus-visible span{color:var(--mist);}
.clients div.spot{cursor:default;}
.clients div.spot:hover small{color:var(--mist);}
.clients .join.spot:hover a{color:var(--ice);}
@media (hover:none){.spot::before,.spot::after{display:none;}}
@media (prefers-reduced-motion: reduce){.ui-panels > .ui-body,.live-dot{animation:none;}}

/* ---------- Clients: logo system ---------- */
.split-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,6vw,96px);max-width:none;align-items:end;}
.split-head .lead{margin:0;}
.marquee{position:relative;overflow:hidden;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-track{display:flex;width:max-content;animation:marquee 46s linear infinite;}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused;}
@keyframes marquee{to{transform:translateX(-50%);}}
.marquee .logo-tile{width:250px;height:128px;margin-right:16px;flex:none;}
.clients-more{margin:36px 0 0;font-weight:700;}
.logo-tile{position:relative;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--rule);padding:22px 26px;text-align:center;}
.logo-tile img{max-width:100%;max-height:60px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) contrast(.9);opacity:.72;transition:filter .35s,opacity .35s,transform .35s;}
.logo-tile:hover img,.logo-tile:focus-within img{filter:none;opacity:1;transform:scale(1.04);}
.wordlock{display:flex;flex-direction:column;align-items:center;gap:5px;}
.wordlock b{font-size:17px;font-weight:800;letter-spacing:-0.015em;line-height:1.2;color:var(--ink);transition:color .3s;}
.wordlock small{font-size:12px;font-weight:700;color:var(--muted);transition:color .3s;}
.wordlock i{display:block;width:22px;height:3px;background:var(--mark);margin-bottom:6px;transition:width .35s, background .3s;}
.logo-tile.spot:hover .wordlock b{color:#fff;}
.logo-tile.spot:hover .wordlock small{color:var(--mist);}
.logo-tile.spot:hover .wordlock i{width:44px;background:var(--ice);}
.logo-tile.spot:hover{border-color:transparent;}
.logo-tile.spot.has-logo::before{background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%), rgba(61,123,255,.14), transparent 62%);}
.logo-tile.spot.has-logo::after{display:none;}
.logo-wall{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.logo-wall .logo-tile{min-height:170px;flex-direction:column;}
.logo-wall .logo-tile .meta{position:absolute;left:0;right:0;bottom:12px;font-size:12px;font-weight:700;color:var(--muted);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;}
.logo-wall .logo-tile:hover .meta{opacity:1;transform:none;}
.logo-tile:not(.has-logo) .meta{display:none;}
.logo-wall .join{border-style:dashed;background:transparent;}
.logo-wall .join a{font-weight:800;text-decoration:none;}
.logo-wall .join span{display:block;font-size:13px;color:var(--muted);font-weight:600;margin-top:6px;}
.proof{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(156,194,255,.3);}
.proof div{padding:20px 20px 20px 0;border-bottom:1px solid rgba(156,194,255,.3);}
.proof div:nth-child(2){padding-left:20px;border-left:1px solid rgba(156,194,255,.3);}
.proof div:nth-child(3){grid-column:1 / -1;}
.proof dt{font-size:14px;font-weight:700;color:var(--ice);}
.proof dd{margin:6px 0 0;font-size:clamp(34px,4vw,52px);font-weight:800;letter-spacing:-0.03em;line-height:1;color:#fff;}
.proof div:nth-child(3) dd{font-size:clamp(20px,2vw,24px);letter-spacing:-0.01em;line-height:1.3;}
.why-ins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule);}
.why-ins a{display:block;padding:34px 34px 36px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);background:var(--paper);}
.why-ins .tag{display:inline-block;font-size:13px;font-weight:800;color:var(--link);border-left:3px solid var(--mark);padding-left:10px;margin-bottom:16px;transition:color .3s;}
.why-ins h3{margin-bottom:10px;transition:color .3s;}
.why-ins p{color:var(--muted);margin:0;max-width:32em;transition:color .3s;}
.why-ins a.spot:hover h3,.why-ins a.spot:focus-visible h3{color:#fff;}
.why-ins a.spot:hover p,.why-ins a.spot:focus-visible p{color:var(--mist);}
.why-ins a.spot:hover .tag,.why-ins a.spot:focus-visible .tag{color:var(--ice);border-color:var(--ice);}
@media (prefers-reduced-motion: reduce){
  .marquee{-webkit-mask-image:none;mask-image:none;}
  .marquee-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;gap:16px;padding:0 20px;}
  .marquee-track [aria-hidden="true"]{display:none;}
  .marquee .logo-tile{margin-right:0;}
}
@media (max-width: 1020px){ .logo-wall{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width: 860px){
  .split-head,.why-ins{grid-template-columns:minmax(0,1fr);}
  .inds.two{grid-template-columns:minmax(0,1fr);}
  .inds.two .ind,.inds.two .ind + .ind{padding:28px 0 6px;border-left:0;}
  .inds.two .ind + .ind{border-top:1px solid var(--rule);margin-top:24px;}
  .logo-wall .logo-tile .meta{opacity:1;transform:none;}
}
@media (max-width: 560px){
  .logo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .logo-wall .logo-tile{min-height:140px;padding:18px 12px 34px;}
  .marquee .logo-tile{width:200px;height:110px;}
  .wordlock b{font-size:15px;}
}


/* =================== Product suite: circuit section =================== */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
.suite-sec{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(800px 460px at 15% 0%, rgba(40,92,210,.35), transparent 65%),radial-gradient(700px 500px at 100% 100%, rgba(29,7,206,.28), transparent 60%),linear-gradient(180deg,#040C22 0%,#071A3D 55%,#050F2A 100%);}
.suite-sec .wrap{position:relative;z-index:1;}
.suite-sec h2{color:#fff;}
.suite-sec .head .lead{color:var(--mist);}
.suite-sec .suite{border:0;gap:16px;}
.suite-sec .suite a{border:1px solid rgba(156,194,255,.18);background:rgba(5,15,42,.78);color:#fff;min-height:300px;
  -webkit-backdrop-filter:saturate(140%);backdrop-filter:saturate(140%);}
.suite-sec .suite h3{color:#fff;}
.suite-sec .suite .area{color:var(--ice);}
.suite-sec .suite p{color:var(--mist);}
.suite-sec .suite .more{color:#7FE6FF;}
.suite-sec .suite .ico{color:#7FE6FF;}
/* hover: glass clears so the lit grid shows through, and a light runs around the border */
.suite-sec .suite a.spot::before{background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%), rgba(92,225,255,.16), transparent 65%);}
.suite-sec .suite a.spot::after{inset:0;padding:1px;background:conic-gradient(from var(--ang), transparent 0 62%, rgba(92,225,255,.0) 64%, #5CE1FF 78%, #3D7BFF 88%, transparent 94%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:spin 3.2s linear infinite;}
@keyframes spin{to{--ang:360deg;}}
.suite-sec .suite a.spot:hover,.suite-sec .suite a.spot:focus-visible{background:rgba(5,15,42,.4);border-color:rgba(92,225,255,.35);box-shadow:0 0 0 1px rgba(92,225,255,.08),0 30px 70px -30px rgba(61,123,255,.65),inset 0 0 40px -10px rgba(92,225,255,.25);}
.suite-sec .suite a.spot:hover .ico,.suite-sec .suite a.spot:focus-visible .ico{color:#fff;filter:drop-shadow(0 0 8px rgba(92,225,255,.9));}
.suite-sec .suite a.spot:hover .more,.suite-sec .suite a.spot:focus-visible .more{color:#fff;}
.suite-sec .suite a.spot:hover .area{color:#7FE6FF;}
.suite-sec .suite .code{-webkit-text-stroke:1.5px rgba(92,225,255,.08);transform:none;}
.suite-sec .suite a.spot:hover .code,.suite-sec .suite a.spot:focus-visible .code{-webkit-text-stroke-color:rgba(92,225,255,.45);text-shadow:0 0 24px rgba(92,225,255,.25);}
.suite-sec .suite .status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ice);margin-top:auto;padding-top:18px;}
.suite-sec .suite .status::before{content:"";width:6px;height:6px;background:#5CE1FF;box-shadow:0 0 8px #5CE1FF;animation:blink 2.4s ease-in-out infinite;}
.suite-sec .suite a:nth-child(2) .status::before{animation-delay:.6s}.suite-sec .suite a:nth-child(3) .status::before{animation-delay:1.2s}.suite-sec .suite a:nth-child(4) .status::before{animation-delay:1.8s}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}

/* =================== Motion system =================== */
/* scroll progress */
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;}
.progress i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#1D07CE,#3D7BFF 60%,#5CE1FF);}

/* drifting light behind every dark section */
.hero::before,.phero::before,.cta::before,.suite-sec::before{content:"";position:absolute;inset:-30%;z-index:0;pointer-events:none;
  background:radial-gradient(420px 320px at 30% 35%, rgba(61,123,255,.22), transparent 70%),radial-gradient(380px 300px at 72% 65%, rgba(92,225,255,.12), transparent 70%);
  animation:drift 22s ease-in-out infinite alternate;}
@keyframes drift{0%{transform:translate3d(-6%,-4%,0) rotate(0deg);}50%{transform:translate3d(5%,3%,0) rotate(8deg);}100%{transform:translate3d(-2%,6%,0) rotate(-6deg);}}

/* buttons: light sweep, press, magnetic pull (JS) */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,border-color .25s,color .25s,box-shadow .3s,translate .25s cubic-bezier(.2,.7,.2,1);}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s cubic-bezier(.2,.7,.2,1);}
.btn-light::after{background:linear-gradient(100deg,transparent,rgba(92,225,255,.45),transparent);}
.btn:hover::after,.btn:focus-visible::after{left:120%;}
.btn:active{scale:.97;}
.btn-primary:hover{box-shadow:0 10px 30px -10px rgba(29,7,206,.7);}
.btn-light:hover{box-shadow:0 10px 34px -8px rgba(92,225,255,.55);}
.btn .arr{display:inline-block;width:14px;height:2px;background:currentColor;position:relative;margin-left:10px;transition:width .3s;}
.btn .arr::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);}
.btn:hover .arr{width:22px;}
.hero .btn-light{animation:sheen 6s 2.2s ease-in-out infinite;}
@keyframes sheen{0%,86%{box-shadow:0 0 0 0 rgba(92,225,255,0);}92%{box-shadow:0 0 0 6px rgba(92,225,255,.25);}100%{box-shadow:0 0 0 12px rgba(92,225,255,0);}}

/* nav underline slides in */
.nav > a,.nav > .dd > button{position:relative;}
.nav > a::after,.nav > .dd > button::after{content:"";position:absolute;left:10px;right:10px;bottom:4px;height:2px;background:var(--mark);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.2,.7,.2,1);}
.nav > a:hover::after,.nav > .dd > button:hover::after{transform:scaleX(1);transform-origin:left;}
.dd-panel{animation:none;}
.dd[data-open="true"] .dd-panel{animation:drop .22s cubic-bezier(.2,.7,.2,1);}
@keyframes drop{from{opacity:0;translate:0 -6px;}to{opacity:1;translate:0 0;}}

/* hero headline: one orchestrated entrance on load */
.hero h1 .w{display:inline-block;opacity:0;translate:0 .5em;filter:blur(6px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i) * 70ms + 120ms);}
@keyframes rise{to{opacity:1;translate:0 0;filter:blur(0);}}
.hero .lead,.hero .actions,.hero .suite-line,.hero #live{opacity:0;animation:fadeup .9s cubic-bezier(.2,.7,.2,1) forwards;}
.hero .lead{animation-delay:.55s}.hero .actions{animation-delay:.7s}.hero .suite-line{animation-delay:.85s}.hero #live{animation-delay:.45s}
@keyframes fadeup{from{opacity:0;translate:0 18px;}to{opacity:1;translate:0 0;}}

/* scroll reveals (translate, so the hover tilt on transform is untouched) */
.js-reveal [data-reveal]{opacity:0;translate:0 26px;transition:opacity .8s cubic-bezier(.2,.7,.2,1),translate .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0) * 90ms);}
.js-reveal [data-reveal].in{opacity:1;translate:0 0;}
.js-reveal .gridbar::before,.js-reveal .gridbar::after{transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.js-reveal .gridbar::after{transition-delay:.18s;}
.js-reveal .in .gridbar::before,.js-reveal .in .gridbar::after,.js-reveal .gridbar.in::before,.js-reveal .gridbar.in::after{transform:scaleX(1);}

/* live values in the hero preview */
.kri b.flash{animation:flash .9s ease;}
@keyframes flash{0%{background:rgba(92,225,255,.45);}100%{background:transparent;}}
.heat i.pulse{animation:cellpulse 1.6s ease;}
@keyframes cellpulse{0%,100%{box-shadow:none;}40%{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(61,123,255,.8);}}

@media (prefers-reduced-motion: reduce){
  .hero::before,.phero::before,.cta::before,.suite-sec::before,.suite-sec .suite a.spot::after,.suite-sec .suite .status::before,.hero .btn-light{animation:none;}
  .hero h1 .w,.hero .lead,.hero .actions,.hero .suite-line,.hero #live{animation:none;opacity:1;translate:none;filter:none;}
  .btn::after{display:none;}
}


/* =================== Who we are: connected-core diagram =================== */
.who{position:relative;overflow:hidden;}
.who::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle, color-mix(in srgb, var(--mark) 22%, transparent) 1px, transparent 1.3px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 18% 60%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 18% 60%,#000,transparent 75%);}
.who .wrap{position:relative;}
.who-viz{margin:36px 0 0;max-width:460px;}
.who-viz svg{display:block;width:100%;height:auto;overflow:visible;}
.who-viz g{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.ring{fill:none;stroke:var(--mark);stroke-opacity:.18;stroke-width:1;transform-box:fill-box;transform-origin:center;}
.ring.r1{stroke-dasharray:3 9;animation:turn 40s linear infinite;}
.ring.r2{stroke-dasharray:40 14 4 14;stroke-opacity:.26;animation:turn 26s linear infinite reverse;}
.ring.r3{stroke-dasharray:1 7;stroke-opacity:.14;animation:turn 70s linear infinite;}
@keyframes turn{to{transform:rotate(360deg);}}
.peer{fill:none;stroke:var(--mark);stroke-opacity:.14;stroke-dasharray:2 6;animation:dashmove 3s linear infinite;}
.tr-base{fill:none;stroke:var(--rule);stroke-width:2;}
.tr-flow{fill:none;stroke:var(--mark);stroke-width:2;stroke-dasharray:14 180;stroke-linecap:square;animation:dashmove 2.4s linear infinite;opacity:.8;transition:stroke-width .3s,opacity .3s;}
.tr-flow[data-k="ia"]{animation-delay:-.6s}.tr-flow[data-k="cm"]{animation-delay:-1.2s}.tr-flow[data-k="bcm"]{animation-delay:-1.8s}
@keyframes dashmove{to{stroke-dashoffset:-194;}}
.pk{fill:#3D7BFF;}
.core-box{fill:var(--surface);stroke:var(--mark);stroke-width:2;}
.core-halo{fill:none;stroke:#3D7BFF;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:halo 2.8s ease-out infinite;}
@keyframes halo{0%{opacity:.7;transform:scale(.82);}100%{opacity:0;transform:scale(1.35);}}
.core-mark{color:var(--mark);}
.nd{cursor:pointer;}
.nd-box{fill:var(--surface);stroke:var(--mark);stroke-opacity:.45;stroke-width:1.5;transition:fill .3s,stroke-opacity .3s;}
.nd-tick{fill:var(--mark);}
.nd-t{font:800 15px var(--sans);fill:var(--ink);letter-spacing:-.01em;transition:fill .3s;}
.nd-s{font:700 11px var(--sans);fill:var(--muted);}
.nd:hover .nd-box,.nd:focus-visible .nd-box,.nd.on .nd-box{fill:var(--indigo);stroke-opacity:1;}
.nd:hover .nd-t,.nd:focus-visible .nd-t,.nd.on .nd-t{fill:#fff;}
.nd:hover .nd-tick,.nd.on .nd-tick{fill:#5CE1FF;}
.nd:focus-visible{outline:none;}
.who-viz.focus .tr-flow{opacity:.18;}
.who-viz.focus .tr-flow.on{opacity:1;stroke-width:3;stroke:#3D7BFF;stroke-dasharray:24 40;animation-duration:1.1s;}
.who-viz figcaption{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:14px;font-weight:700;color:var(--muted);min-height:1.5em;}
.cap-dot{width:8px;height:8px;background:#3D7BFF;box-shadow:0 0 0 0 rgba(61,123,255,.5);animation:ping 2s infinite;flex:none;}
.facts{margin:36px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);}
.facts div{padding:18px 18px 0 0;}
.facts div + div{padding-left:18px;border-left:1px solid var(--rule);}
.facts dt{font-size:14px;font-weight:700;color:var(--muted);}
.facts dd{margin:6px 0 0;font-size:clamp(34px,4vw,48px);font-weight:800;letter-spacing:-0.03em;line-height:1;color:var(--link);}
.facts dd.small{font-size:clamp(18px,1.8vw,22px);letter-spacing:-0.01em;line-height:1.25;color:var(--ink);padding-top:8px;}
@media (max-width: 860px){ .who-viz{max-width:420px;margin:28px auto 0;} }
@media (max-width: 560px){ .facts{grid-template-columns:1fr 1fr;} .facts div:nth-child(3){grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid var(--rule);margin-top:18px;} }
@media (prefers-reduced-motion: reduce){ .ring,.peer,.tr-flow,.core-halo,.cap-dot{animation:none;} }


/* =================== Clients: network motion =================== */
.net-sec{position:relative;overflow:hidden;}
.net-sec > .wrap,.net-sec > .net-rows{position:relative;z-index:1;}
.net-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:18px 0 0;font-size:15px;font-weight:600;color:var(--muted);}
.net-status .live-dot{margin-right:4px;}
.flip{display:inline-block;overflow:hidden;height:1.5em;vertical-align:bottom;}
.flip b{display:inline-block;color:var(--link);font-weight:800;}
.flip b.out{animation:flipOut .35s ease forwards;}
.flip b.in{animation:flipIn .45s cubic-bezier(.2,.7,.2,1);}
@keyframes flipOut{to{transform:translateY(-110%);opacity:0;}}
@keyframes flipIn{from{transform:translateY(110%);opacity:0;}to{transform:none;opacity:1;}}

.net-rows{display:grid;gap:0;}
.marquee.rev .marquee-track{animation-direction:reverse;animation-duration:58s;}
.net-rows:hover .marquee-track{animation-play-state:paused;}
/* connectors from each tile to the rail */
.net-rows .marquee{padding:0;}
.net-rows .marquee:first-child{padding:6px 0 22px;}
.net-rows .marquee.rev{padding:22px 0 6px;}
.net-rows .logo-tile{overflow:visible;}
.net-rows .marquee:first-child .logo-tile::after,.net-rows .marquee.rev .logo-tile::after{content:"";position:absolute;left:50%;width:2px;height:22px;background:linear-gradient(var(--mark),transparent);opacity:.35;z-index:1;
  -webkit-mask-image:none;mask-image:none;inset:auto;transition:opacity .3s;}
.net-rows .marquee:first-child .logo-tile::after{top:100%;background:linear-gradient(var(--mark),rgba(61,123,255,.2));}
.net-rows .marquee.rev .logo-tile::after{bottom:100%;background:linear-gradient(rgba(61,123,255,.2),var(--mark));}
.net-rows .logo-tile:hover::after{opacity:1;}
.net-rows .logo-tile.spot::after{display:block;}
.net-rows .logo-tile.spot::before{inset:0;}
.rail{position:relative;height:0;z-index:2;}
.rail-line{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;
  background:linear-gradient(90deg,transparent 0,transparent 40%,rgba(61,123,255,.95) 48%,#5CE1FF 50%,transparent 52%,transparent 100%) 0 0/360px 2px repeat-x, var(--rule);
  animation:railflow 2.8s linear infinite;}
@keyframes railflow{to{background-position:360px 0,0 0;}}
.hub{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;background:var(--indigo);display:flex;align-items:center;justify-content:center;z-index:2;
  box-shadow:0 0 0 6px color-mix(in srgb, var(--tint) 100%, transparent),0 10px 30px -8px rgba(29,7,206,.6);}
.hub svg{width:22px;height:22px;color:#fff;}
.hub::before,.hub::after{content:"";position:absolute;inset:-6px;border:1.5px solid #3D7BFF;animation:hubping 2.6s ease-out infinite;}
.hub::after{animation-delay:1.3s;}
@keyframes hubping{0%{opacity:.8;transform:scale(1);}100%{opacity:0;transform:scale(1.9);}}

/* tile details: corner brackets and a scan line on hover */
.brk{position:absolute;inset:8px;pointer-events:none;z-index:2;
  background:
    linear-gradient(var(--mark),var(--mark)) top left/12px 2px,linear-gradient(var(--mark),var(--mark)) top left/2px 12px,
    linear-gradient(var(--mark),var(--mark)) top right/12px 2px,linear-gradient(var(--mark),var(--mark)) top right/2px 12px,
    linear-gradient(var(--mark),var(--mark)) bottom left/12px 2px,linear-gradient(var(--mark),var(--mark)) bottom left/2px 12px,
    linear-gradient(var(--mark),var(--mark)) bottom right/12px 2px,linear-gradient(var(--mark),var(--mark)) bottom right/2px 12px;
  background-repeat:no-repeat;opacity:0;transform:scale(1.08);transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1),inset .4s;}
.logo-tile:hover .brk,.logo-tile:focus-within .brk{opacity:1;transform:scale(1);}
.logo-tile.spot:not(.has-logo):hover .brk{filter:brightness(0) invert(1);opacity:.9;}
.brk::after{content:"";position:absolute;left:0;right:0;height:1px;top:0;background:linear-gradient(90deg,transparent,#5CE1FF,transparent);opacity:0;}
.logo-tile:hover .brk::after{animation:scan 1.4s cubic-bezier(.4,0,.2,1) infinite;}
@keyframes scan{0%{top:0;opacity:0;}15%{opacity:1;}85%{opacity:1;}100%{top:100%;opacity:0;}}
.logo-tile{transition:translate .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .3s;}
.logo-tile:hover{translate:0 -4px;box-shadow:0 22px 44px -24px rgba(7,26,61,.55);}

@media (prefers-reduced-motion: reduce){
  .marquee.rev,.rail{display:none;}
  .rail-line,.hub::before,.hub::after,.logo-tile:hover .brk::after{animation:none;}
}
@media (max-width: 560px){ .hub{width:36px;height:36px;margin:-18px 0 0 -18px;} .hub svg{width:18px;height:18px;} }


/* =================== Clients: logo tiles with names =================== */
.logo-tile .lg{display:flex;align-items:center;justify-content:center;width:100%;height:92px;}
.logo-tile .lg img{max-height:92px;max-width:78%;filter:none;opacity:1;}
.logo-tile .lname{display:block;margin-top:14px;font-size:14.5px;font-weight:800;letter-spacing:-0.01em;line-height:1.3;color:var(--ink);}
.logo-tile .lname small{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-top:2px;}
.logo-wall .logo-tile.has-logo{min-height:220px;padding:26px 20px 24px;}
.logo-wall .logo-tile .meta{display:none;}
.logo-tile.has-logo:hover img{transform:scale(1.05);}
.logo-tile.has-logo{background:#FEFEFE;}
.logo-tile.has-logo .lname{color:#15123D;}
.logo-tile.has-logo .lname small{color:#58567A;}

/* =================== Clients orbit (home) =================== */
.orbit{position:relative;height:470px;margin-top:8px;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;}
.orbit.drag{cursor:grabbing;}
.orbit-track{position:absolute;border:1.5px dashed color-mix(in srgb, var(--mark) 22%, transparent);border-radius:50%;pointer-events:none;}
.orbit-hub{position:absolute;width:64px;height:64px;margin:-32px 0 0 -32px;display:flex;align-items:center;justify-content:center;background:var(--indigo);box-shadow:0 0 0 10px color-mix(in srgb, var(--mark) 8%, transparent),0 0 0 22px color-mix(in srgb, var(--mark) 4%, transparent);pointer-events:none;transition:opacity .22s ease,filter .22s ease,box-shadow .22s ease;}
.orbit-hub.is-covered{opacity:0;filter:saturate(.25);box-shadow:0 0 0 6px color-mix(in srgb, var(--mark) 3%, transparent),0 0 0 12px color-mix(in srgb, var(--mark) 1%, transparent);}
.orbit-hub svg{width:30px;height:30px;color:#fff;}
.orbit-ring{list-style:none;margin:0;padding:0;position:absolute;inset:0;}
.orbit-ring li{position:absolute;left:0;top:0;width:230px;will-change:transform,opacity;}
.orbit-ring li .lg,.orbit-ring li .lname{opacity:calc(.3 + .7 * var(--k,1));}
.orbit-ring li .logo-tile{border-color:color-mix(in srgb, var(--rule) 100%, transparent);}
.orbit-ring .logo-tile{width:100%;min-height:188px;flex-direction:column;padding:24px 16px 20px;box-shadow:0 18px 40px -26px rgba(7,26,61,.45);transition:border-color .3s,box-shadow .3s;}
.orbit-ring .logo-tile.spot::before,.orbit-ring .logo-tile.spot::after{display:none;}
.orbit-ring .logo-tile:hover{translate:none;}
.orbit-ring li.front .logo-tile{border-color:var(--mark);box-shadow:0 26px 54px -26px rgba(29,7,206,.45), inset 0 -3px 0 var(--mark);}
.orbit-ctrl{position:absolute;left:50%;bottom:0;translate:-50% 0;display:flex;gap:10px;z-index:300;}
.orbit-ctrl button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--rule);color:var(--ink);cursor:pointer;border-radius:2px;transition:background .25s,color .25s,border-color .25s;}
.orbit-ctrl button:hover{background:var(--indigo);border-color:var(--indigo);color:#fff;}
.orbit-ctrl svg{width:16px;height:16px;}
.orbit-ctrl svg path{stroke-linecap:round;stroke-linejoin:round;}
@media (max-width: 560px){
  .orbit{height:380px;}
  .orbit-ring li{width:160px;}
  .orbit-ring .logo-tile{min-height:150px;padding:18px 10px 14px;}
  .orbit-ring .logo-tile .lg{height:66px;} .orbit-ring .logo-tile .lg img{max-height:66px;}
  .orbit-ring .logo-tile .lname{font-size:12.5px;margin-top:10px;}
  .orbit-hub{width:48px;height:48px;margin:-24px 0 0 -24px;} .orbit-hub svg{width:22px;height:22px;}
}


/* =================== Why Innovators Grid: mid-blue signal field + bento =================== */
.why-sec{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(180deg,#24499E 0%,#1F4292 100%);}
.why-sec::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%);}
.why-sec .wrap{position:relative;z-index:1;}
.why-sec h2{color:#fff;}
.why-sec .head .lead{color:#D6E4FF;}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;}
.why-card{grid-column:span 5;display:grid;grid-template-rows:auto 1fr;gap:22px;padding:26px 28px 30px;min-height:300px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(6px) saturate(130%);backdrop-filter:blur(6px) saturate(130%);border-radius:3px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 20px 50px -30px rgba(4,12,34,.6);}
.why-card.wide{grid-column:span 7;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr;align-items:center;}
.why-card h3{color:#fff;margin-bottom:10px;}
.why-card p{color:#DCE7FF;margin:0;font-size:16px;}
.why-card.spot::before{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.18), transparent 65%);}
.why-card.spot::after{background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:20px 20px;}
.why-card.spot:hover,.why-card.spot:focus-within{color:#fff;translate:0 -6px;border-color:rgba(160,236,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 30px 60px -28px rgba(4,12,34,.75),0 0 0 1px rgba(160,236,255,.25);}
.why-card{transition:translate .45s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s;}
.viz{position:relative;height:130px;display:flex;align-items:center;justify-content:center;}
.why-card.wide .viz{height:160px;}
.viz svg{width:100%;height:100%;overflow:visible;}

/* experts: rows check themselves off */
.viz-experts rect{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.25);}
.viz-experts .bar{fill:rgba(255,255,255,.35);stroke:none;transform-box:fill-box;transform-origin:left;animation:barfill 4.5s cubic-bezier(.2,.7,.2,1) infinite;}
.viz-experts .ck{fill:none;stroke:#7FE6FF;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:22;stroke-dashoffset:22;animation:tick 4.5s cubic-bezier(.2,.7,.2,1) infinite;}
.viz-experts .rowl:nth-child(2) *{animation-delay:.5s}.viz-experts .rowl:nth-child(3) *{animation-delay:1s}
@keyframes tick{0%,8%{stroke-dashoffset:22}22%,80%{stroke-dashoffset:0}92%,100%{stroke-dashoffset:22}}
@keyframes barfill{0%,10%{transform:scaleX(.08);fill:rgba(255,255,255,.2)}28%,80%{transform:scaleX(1);fill:rgba(160,236,255,.55)}95%,100%{transform:scaleX(.08);fill:rgba(255,255,255,.2)}}

/* suite: four blocks assemble into one */
.viz-suite{display:grid;grid-template-columns:repeat(2,64px);grid-template-rows:repeat(2,44px);gap:4px;place-content:center;align-items:stretch;justify-items:stretch;}
.blk{display:flex;align-items:center;justify-content:center;font:800 12px/1 var(--sans);color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);animation:assemble 5s cubic-bezier(.2,.7,.2,1) infinite;}
.b1{--dx:-34px;--dy:-18px}.b2{--dx:34px;--dy:-22px;animation-delay:.15s}.b3{--dx:-30px;--dy:22px;animation-delay:.3s}.b4{--dx:36px;--dy:18px;animation-delay:.45s}
@keyframes assemble{0%,12%{translate:var(--dx) var(--dy);background:rgba(255,255,255,.08)}35%,78%{translate:0 0;background:rgba(92,225,255,.35);border-color:rgba(160,236,255,.9)}95%,100%{translate:var(--dx) var(--dy);background:rgba(255,255,255,.08)}}

/* regulation: rings align around a checked shield */
.viz-reg .rg{fill:none;stroke:rgba(255,255,255,.35);transform-box:fill-box;transform-origin:center;}
.viz-reg .r-a{stroke-dasharray:4 8;animation:turn 18s linear infinite;}
.viz-reg .r-b{stroke-dasharray:60 18;stroke:#7FE6FF;stroke-opacity:.7;animation:turn 9s linear infinite reverse;}
.viz-reg .r-c{stroke-dasharray:2 5;animation:turn 26s linear infinite;}
.viz-reg .shield{fill:rgba(255,255,255,.14);stroke:#fff;stroke-width:1.5;}
.viz-reg .ck2{fill:none;stroke:#7FE6FF;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;animation:tick 4s ease infinite;}
.viz-reg .iso{position:absolute;right:6px;bottom:4px;font-size:11px;font-weight:800;color:#BFF3FF;border:1px solid rgba(160,236,255,.5);padding:3px 7px;}

/* region: pulses spreading across a dot field */
.viz-region .dm circle{fill:rgba(255,255,255,.22);}
.viz-region .hot{fill:#7FE6FF;filter:drop-shadow(0 0 6px #5CE1FF);}
.viz-region .hot.s{animation:blink 2.4s ease-in-out infinite;}
.viz-region .hot.s:nth-of-type(odd){animation-delay:.8s}
.viz-region .link{fill:none;stroke:#7FE6FF;stroke-width:1.2;stroke-dasharray:4 5;animation:dashmove 2s linear infinite;opacity:.8;}
.viz-region .ping{fill:none;stroke:#7FE6FF;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ripple 2.8s ease-out infinite;}
.viz-region .p2{animation-delay:1.4s;}
@keyframes ripple{0%{transform:scale(1);opacity:.9}100%{transform:scale(7);opacity:0}}

/* hovering a card speeds its story up */
.why-card:hover .viz *{animation-duration:2.2s;}
.why-card:hover .viz-reg .r-a{animation-duration:6s}.why-card:hover .viz-reg .r-b{animation-duration:3s}.why-card:hover .viz-reg .r-c{animation-duration:8s}

@media (max-width: 860px){
  .bento{grid-template-columns:minmax(0,1fr);}
  .why-card,.why-card.wide{grid-column:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-height:0;}
}
@media (prefers-reduced-motion: reduce){ .why-sec::before,.why-sec .viz *{animation:none !important;} .viz-experts .ck{stroke-dashoffset:0} .viz-experts .bar{transform:none} }


/* ---- Why section on a light background (blue removed) ---- */
.why-sec{background:var(--tint);color:var(--ink);}
.why-sec::before{display:none;}
.why-sec h2{color:var(--ink);}
.why-sec .head .lead{color:var(--muted);}
.why-sec .why-card{background:var(--surface);border:1px solid var(--rule);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 18px 40px -30px rgba(7,26,61,.35);}
.why-sec .why-card h3{color:var(--ink);}
.why-sec .why-card p{color:var(--muted);}
.why-sec .why-card.spot:hover,.why-sec .why-card.spot:focus-within{color:var(--ink);border-color:color-mix(in srgb, var(--mark) 45%, transparent);box-shadow:0 26px 50px -28px rgba(29,7,206,.35);}
.why-sec .why-card.spot::before{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--mark) 9%, transparent), transparent 65%);}
.why-sec .why-card.spot::after{background-image:linear-gradient(color-mix(in srgb, var(--mark) 8%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--mark) 8%, transparent) 1px,transparent 1px);}
/* visuals recoloured for light cards */
.why-sec .viz-experts rect{fill:color-mix(in srgb, var(--mark) 5%, transparent);stroke:color-mix(in srgb, var(--mark) 25%, transparent);}
.why-sec .viz-experts .ck{stroke:var(--mark);}
@keyframes barfillL{0%,10%{transform:scaleX(.08);fill:rgba(29,7,206,.15)}28%,80%{transform:scaleX(1);fill:rgba(61,123,255,.55)}95%,100%{transform:scaleX(.08);fill:rgba(29,7,206,.15)}}
.why-sec .viz-experts .bar{animation-name:barfillL;}
.why-sec .blk{color:#1D07CE;background:rgba(29,7,206,.05);border-color:rgba(29,7,206,.35);animation-name:assembleL;}
@keyframes assembleL{0%,12%{translate:var(--dx) var(--dy);background:rgba(29,7,206,.05);color:#1D07CE;border-color:rgba(29,7,206,.35)}35%,78%{translate:0 0;background:#1D07CE;color:#fff;border-color:#1D07CE}95%,100%{translate:var(--dx) var(--dy);background:rgba(29,7,206,.05);color:#1D07CE;border-color:rgba(29,7,206,.35)}}
.why-sec .viz-reg .rg{stroke:color-mix(in srgb, var(--mark) 30%, transparent);}
.why-sec .viz-reg .r-b{stroke:#3D7BFF;stroke-opacity:.8;}
.why-sec .viz-reg .shield{fill:color-mix(in srgb, var(--mark) 8%, transparent);stroke:var(--mark);}
.why-sec .viz-reg .ck2{stroke:var(--mark);}
.why-sec .viz-reg .iso{color:var(--link);border-color:color-mix(in srgb, var(--mark) 35%, transparent);}
.why-sec .viz-region .dm circle{fill:color-mix(in srgb, var(--mark) 22%, transparent);}
.why-sec .viz-region .hot{fill:#3D7BFF;filter:none;}
.why-sec .viz-region .link,.why-sec .viz-region .ping{stroke:#3D7BFF;}


/* ---- Product boxes: faded white panels over the dark section ---- */
.suite-sec .suite a,.suite-sec .suite a.spot{background:linear-gradient(180deg,rgba(254,254,254,.92) 0%,rgba(254,254,254,.78) 100%);border-color:rgba(255,255,255,.55);color:#15123D;
  -webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);box-shadow:0 20px 50px -30px rgba(0,0,0,.6);}
.suite-sec .suite h3,.suite-sec .suite a.spot:hover h3,.suite-sec .suite a.spot:focus-visible h3{color:#1D07CE;}
.suite-sec .suite .area,.suite-sec .suite a.spot:hover .area{color:#3D4FA8;}
.suite-sec .suite p,.suite-sec .suite a.spot:hover p,.suite-sec .suite a.spot:focus-visible p{color:#4A4868;}
.suite-sec .suite .more,.suite-sec .suite a.spot:hover .more,.suite-sec .suite a.spot:focus-visible .more{color:#1D07CE;}
.suite-sec .suite .ico{color:#1D07CE;}
.suite-sec .suite a.spot:hover .ico,.suite-sec .suite a.spot:focus-visible .ico{color:#1D07CE;filter:drop-shadow(0 4px 10px rgba(29,7,206,.3));}
.suite-sec .suite .status{color:#58567A;}
.suite-sec .suite .status::before{background:#3D7BFF;box-shadow:0 0 6px rgba(61,123,255,.7);}
.suite-sec .suite .code{-webkit-text-stroke-color:rgba(29,7,206,.07);}
.suite-sec .suite a.spot:hover .code,.suite-sec .suite a.spot:focus-visible .code{-webkit-text-stroke-color:rgba(29,7,206,.28);text-shadow:none;}
.suite-sec .suite a.spot::before{background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%), rgba(61,123,255,.12), transparent 65%);}
.suite-sec .suite a.spot:hover,.suite-sec .suite a.spot:focus-visible{color:#15123D;background:linear-gradient(180deg,rgba(254,254,254,.98) 0%,rgba(254,254,254,.9) 100%);border-color:rgba(255,255,255,.9);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.7),0 0 0 1px rgba(92,225,255,.25);}


/* ---- product icons, one colour each ---- */
.suite-sec .suite a:nth-child(1) .ico,.suite-sec .suite a:nth-child(1):hover .ico{color:#D8232A;}
.suite-sec .suite a:nth-child(2) .ico,.suite-sec .suite a:nth-child(2):hover .ico{color:#1D6FF2;}
.suite-sec .suite a:nth-child(3) .ico,.suite-sec .suite a:nth-child(3):hover .ico{color:#E3A008;}
.suite-sec .suite a:nth-child(4) .ico,.suite-sec .suite a:nth-child(4):hover .ico{color:#12996B;}
.suite-sec .suite a:nth-child(1):hover .ico{filter:drop-shadow(0 4px 10px rgba(216,35,42,.35));}
.suite-sec .suite a:nth-child(2):hover .ico{filter:drop-shadow(0 4px 10px rgba(29,111,242,.35));}
.suite-sec .suite a:nth-child(3):hover .ico{filter:drop-shadow(0 4px 10px rgba(227,160,8,.35));}
.suite-sec .suite a:nth-child(4):hover .ico{filter:drop-shadow(0 4px 10px rgba(18,153,107,.35));}
/* slightly deeper panels */
.suite-sec .suite a,.suite-sec .suite a.spot{background:linear-gradient(180deg,rgba(233,237,248,.93) 0%,rgba(214,222,241,.82) 100%);border-color:rgba(255,255,255,.4);}
.suite-sec .suite a.spot:hover,.suite-sec .suite a.spot:focus-visible{background:linear-gradient(180deg,rgba(242,245,252,.97) 0%,rgba(225,232,246,.9) 100%);}

/* ---- neon cursor dot ---- */
.cursor-dot,
.cursor-ring {
  position: fixed;
  left: 0;
  top: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 99999;
}

.cursor-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #35d9ff;
}

.cursor-ring {
  width: 28px;
  height: 28px;
  border: 1px solid #35d9ff;
  border-radius: 50%;

  transition:
    width .2s ease,
    height .2s ease,
    background .2s ease;
}
.cursor-dot{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#3DE0FF;box-shadow:0 0 10px #3DE0FF,0 0 22px rgba(61,224,255,.75),0 0 40px rgba(29,111,242,.5);}
.cursor-ring{width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid rgba(61,224,255,.55);box-shadow:0 0 14px rgba(61,224,255,.35),inset 0 0 12px rgba(61,224,255,.2);}
body.cursor-on .cursor-dot,body.cursor-on .cursor-ring{opacity:1;}
body.cursor-over-client-logo .cursor-dot,body.cursor-over-client-logo .cursor-ring{opacity:0 !important;}
body.cursor-press .cursor-ring{scale:.7;border-color:#3DE0FF;}


/* ---- Who we serve: designed panels ---- */
.serve{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.serve-card{position:relative;display:block;padding:32px 34px 34px;text-decoration:none;color:var(--ink);background:var(--tint);border:1px solid var(--rule);border-radius:3px;overflow:hidden;
  transition:translate .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s;}
.section.tint .serve-card{background:var(--paper);}
.serve-card:hover,.serve-card:focus-visible{translate:0 -5px;border-color:color-mix(in srgb, var(--mark) 45%, transparent);box-shadow:0 28px 55px -30px rgba(29,7,206,.4);}
.serve-card.spot::before{background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--mark) 10%, transparent), transparent 66%);}
.serve-card.spot::after{background-image:linear-gradient(color-mix(in srgb, var(--mark) 9%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--mark) 9%, transparent) 1px,transparent 1px);background-size:20px 20px;}
.serve-card.spot:hover{color:var(--ink);}
.serve-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--indigo);margin-bottom:22px;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.serve-mark svg{width:28px;height:28px;color:#fff;}
.serve-card:hover .serve-mark{transform:translateY(-3px) rotate(-4deg);}
.serve-ghost{position:absolute;right:-26px;bottom:-34px;opacity:.06;pointer-events:none;transition:opacity .4s,transform .6s cubic-bezier(.2,.7,.2,1);}
.serve-ghost svg{width:200px;height:200px;color:var(--mark);}
.serve-card:hover .serve-ghost{opacity:.12;transform:translate(-8px,-6px) rotate(-5deg);}
.serve-card h3{margin-bottom:10px;}
.serve-card > p{color:var(--muted);margin:0 0 20px;max-width:34em;}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;}
.chips li{font-size:13px;font-weight:700;color:var(--link);background:color-mix(in srgb, var(--mark) 7%, transparent);border:1px solid color-mix(in srgb, var(--mark) 18%, transparent);padding:6px 11px;border-radius:2px;transition:background .3s,color .3s;}
.serve-card:hover .chips li{background:color-mix(in srgb, var(--mark) 12%, transparent);}
.serve-go{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--link);}
.serve-go i{display:inline-block;width:18px;height:2px;background:currentColor;position:relative;transition:width .3s;}
.serve-go i::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);}
.serve-card:hover .serve-go i{width:30px;}
.serve-card .proven{position:absolute;top:26px;right:26px;margin:0;}
.serve-more{margin:28px 0 0;font-weight:700;}

/* ---- Insights cards ---- */
.insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.ins-card{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:3px;overflow:hidden;
  transition:translate .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s;}
.section.tint .ins-card{background:var(--surface);}
.ins-card:hover,.ins-card:focus-visible{translate:0 -5px;border-color:color-mix(in srgb, var(--mark) 45%, transparent);box-shadow:0 28px 55px -30px rgba(29,7,206,.4);}
.ins-viz{height:150px;display:flex;align-items:center;justify-content:center;background:var(--tint);border-bottom:1px solid var(--rule);position:relative;overflow:hidden;}
.section.tint .ins-viz{background:var(--paper);}
.ins-viz svg{width:170px;height:110px;overflow:visible;}
.ins-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.ins-topic{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:var(--link);text-transform:none;}
.ins-topic::before{content:"";width:16px;height:3px;background:var(--mark);}
.ins-card h3{font-size:21px;margin:12px 0 10px;}
.ins-card p{color:var(--muted);font-size:15.5px;margin:0 0 20px;}
.ins-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;}
.ins-foot .go{font-weight:800;color:var(--link);display:inline-flex;align-items:center;gap:8px;}
.ins-foot .go i{display:inline-block;width:16px;height:2px;background:currentColor;position:relative;transition:width .3s;}
.ins-foot .go i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);}
.ins-card:hover .go i{width:26px;}
.ins-foot .read{color:var(--muted);font-weight:600;}
.ins-card:hover h3{color:var(--link);}
/* visuals */
.iv line,.iv path,.iv circle,.iv rect{vector-effect:non-scaling-stroke;}
.iv .track{fill:none;stroke:color-mix(in srgb, var(--mark) 18%, transparent);stroke-width:8;stroke-linecap:round;}
.iv .arc{fill:none;stroke:var(--mark);stroke-width:8;stroke-linecap:round;stroke-dasharray:160;stroke-dashoffset:60;animation:arcmove 5s ease-in-out infinite;}
@keyframes arcmove{0%,100%{stroke-dashoffset:78}50%{stroke-dashoffset:34}}
.iv .needle{stroke:#D8232A;stroke-width:3;stroke-linecap:round;transform-box:fill-box;transform-origin:bottom center;animation:sway 5s ease-in-out infinite;}
@keyframes sway{0%,100%{transform:rotate(-32deg)}50%{transform:rotate(26deg)}}
.iv .tick{stroke:color-mix(in srgb, var(--mark) 35%, transparent);stroke-width:2;}
.iv .ring{fill:none;stroke:color-mix(in srgb, var(--mark) 22%, transparent);stroke-width:2;stroke-dasharray:6 7;transform-box:fill-box;transform-origin:center;animation:turn 16s linear infinite;}
.iv .seg{fill:none;stroke:var(--mark);stroke-width:6;stroke-linecap:round;opacity:.25;animation:segpulse 4s ease-in-out infinite;}
.iv .seg:nth-of-type(2){animation-delay:1s}.iv .seg:nth-of-type(3){animation-delay:2s}.iv .seg:nth-of-type(4){animation-delay:3s}
@keyframes segpulse{0%,70%,100%{opacity:.22}20%,45%{opacity:1}}
.iv .stepbar{fill:color-mix(in srgb, var(--mark) 14%, transparent);}
.iv .stepfill{fill:var(--mark);transform-box:fill-box;transform-origin:left;animation:stepgrow 5s cubic-bezier(.2,.7,.2,1) infinite;}
.iv .stepfill:nth-of-type(2){animation-delay:.4s}.iv .stepfill:nth-of-type(3){animation-delay:.8s}.iv .stepfill:nth-of-type(4){animation-delay:1.2s}
@keyframes stepgrow{0%,6%{transform:scaleX(0)}30%,80%{transform:scaleX(1)}95%,100%{transform:scaleX(0)}}
.iv .dot{fill:var(--mark);}
.ins-card:hover .iv *{animation-duration:2.4s;}

@media (max-width: 860px){ .serve{grid-template-columns:minmax(0,1fr);} .insights{grid-template-columns:minmax(0,1fr);} }
@media (prefers-reduced-motion: reduce){ .iv *{animation:none !important;} .cursor-dot,.cursor-ring{transition:none;} }


/* ---- Why Innovators Grid: simple two-column list ---- */
.why-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,90px);align-items:start;}
.why-intro{position:sticky;top:110px;}
.why-intro .lead{margin:18px 0 28px;}
.why-list{list-style:none;margin:0;padding:0;}
.why-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start;padding:26px 16px 28px 0;border-top:1px solid var(--rule);position:relative;transition:padding-left .35s cubic-bezier(.2,.7,.2,1);}
.why-row:last-child{border-bottom:1px solid var(--rule);}
.why-row::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--mark);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.why-row:hover::before{transform:scaleX(1);}
.why-row:hover{padding-left:14px;}
.why-ico{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1.5px solid color-mix(in srgb, var(--mark) 30%, transparent);color:var(--mark);flex:none;
  transition:background .35s,color .35s,border-color .35s,transform .45s cubic-bezier(.2,.7,.2,1);}
.why-ico svg{width:22px;height:22px;}
.why-row:hover .why-ico{background:var(--indigo);border-color:var(--indigo);color:#fff;transform:rotate(-4deg) translateY(-2px);}
.why-row h3{margin-bottom:8px;transition:color .3s;}
.why-row:hover h3{color:var(--link);}
.why-row p{color:var(--muted);margin:0;max-width:36em;}
@media (max-width: 860px){
  .why-split{grid-template-columns:minmax(0,1fr);}
  .why-intro{position:static;}
  .why-row{padding-right:0;gap:16px;}
}


/* ---- Why: spine, indexes, soft shape ---- */
.why-sec{position:relative;overflow:hidden;}
.why-blob{position:absolute;left:-12%;bottom:-30%;width:48%;padding-top:48%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--mark) 10%, transparent), transparent 62%);}
.why-list{position:relative;padding-left:0;}
.why-spine{position:absolute;left:23px;top:26px;bottom:26px;width:2px;background:color-mix(in srgb, var(--mark) 14%, transparent);}
.why-spine i{display:block;width:100%;height:0;background:linear-gradient(180deg,var(--indigo),#3D7BFF);transition:height .15s linear;}
.why-row{grid-template-columns:auto minmax(0,1fr);}
.why-node{position:absolute;left:18px;top:42px;width:12px;height:12px;background:var(--paper);border:2px solid color-mix(in srgb, var(--mark) 35%, transparent);border-radius:50%;z-index:1;transition:background .3s,border-color .3s,scale .3s;}
.section.tint .why-node{background:var(--tint);}
.why-row.lit .why-node{background:var(--indigo);border-color:var(--indigo);scale:1.15;}
.why-ico{background:var(--paper);z-index:1;}
.section.tint .why-ico{background:var(--tint);}
.why-idx{display:block;font-size:12.5px;font-weight:800;letter-spacing:.08em;color:color-mix(in srgb, var(--mark) 55%, transparent);margin-bottom:6px;}
.why-tag{display:inline-block;margin-top:14px;font-size:12.5px;font-weight:800;color:var(--link);border:1px solid color-mix(in srgb, var(--mark) 22%, transparent);background:color-mix(in srgb, var(--mark) 6%, transparent);padding:5px 10px;border-radius:2px;
  opacity:0;translate:0 6px;transition:opacity .35s,translate .35s;}
.why-row:hover .why-tag,.why-row.lit .why-tag{opacity:1;translate:0 0;}
.why-row:hover .why-ico svg{animation:nudge .6s ease;}
@keyframes nudge{50%{transform:scale(1.15) rotate(6deg);}}
@media (max-width: 860px){ .why-spine{left:17px;} .why-node{left:12px;} }
@media (prefers-reduced-motion: reduce){ .why-row:hover .why-ico svg{animation:none;} }


/* ---- Article pages ---- */
.art-hero .wrap{align-items:center;}
.topic-chip{display:inline-block;font-size:13px;font-weight:800;color:#fff;background:var(--accent,#3D7BFF);padding:6px 12px;margin-bottom:16px;border-radius:2px;}
.art-meta{display:flex;gap:18px;color:var(--ice);font-size:14px;font-weight:700;margin:20px 0 0;}
.art-meta span + span::before{content:"";display:inline-block;width:4px;height:4px;background:currentColor;vertical-align:middle;margin-right:18px;}
.art-viz{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.96);border-radius:3px;padding:26px;box-shadow:0 30px 60px -30px rgba(4,12,34,.7);}
.art-viz svg{width:100%;max-width:260px;height:170px;color:var(--accent,#1D07CE);}
.art-viz .iv .track,.art-viz .iv .ring,.art-viz .iv .stepbar{stroke:color-mix(in srgb, var(--accent,#1D07CE) 18%, transparent);fill:none;}
.art-viz .iv .stepbar{fill:color-mix(in srgb, var(--accent,#1D07CE) 14%, transparent);stroke:none;}
.art-viz .iv .arc,.art-viz .iv .seg{stroke:var(--accent,#1D07CE);}
.art-viz .iv .stepfill,.art-viz .iv .dot{fill:var(--accent,#1D07CE);}
.art-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,64px);align-items:start;}
.art-side{position:sticky;top:110px;display:grid;gap:18px;}
.side-card{border-top:3px solid var(--accent,#1D07CE);background:var(--tint);padding:22px 24px 24px;}
.side-card h4{font-size:14px;font-weight:800;color:var(--muted);margin:0 0 12px;}
.side-card ul{list-style:none;margin:0;padding:0;}
.side-card li{position:relative;padding-left:20px;margin-bottom:10px;font-size:15px;line-height:1.5;color:var(--ink);}
.side-card li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;background:var(--accent,#1D07CE);}
.side-cta{display:block;padding:22px 24px 24px;border:1px solid var(--rule);text-decoration:none;color:var(--ink);position:relative;overflow:hidden;transition:border-color .3s,translate .35s;}
.side-cta:hover{translate:0 -4px;border-color:color-mix(in srgb, var(--mark) 45%, transparent);}
.side-cta .tag{display:inline-block;font-size:12.5px;font-weight:800;color:var(--link);margin-bottom:10px;}
.side-cta strong{display:block;font-size:17px;line-height:1.35;margin-bottom:14px;}
.side-cta .go{font-weight:800;color:var(--link);display:inline-flex;align-items:center;gap:8px;}
.side-cta .go i{display:inline-block;width:16px;height:2px;background:currentColor;position:relative;transition:width .3s;}
.side-cta .go i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);}

/* Consistent directional arrows across calls to action and linked cards. */
.btn .arr,
.suite .more i,
.serve-go i,
.ins-foot .go i,
.side-cta .go i{
  display:inline-block;
  flex:0 0 auto;
  width:20px;
  height:14px;
  margin:0;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath d='M1 8h20M15 2l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath d='M1 8h20M15 2l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .25s ease;
}
.btn .arr{margin-inline-start:10px;}
.btn .arr::after,
.suite .more i::after,
.serve-go i::after,
.ins-foot .go i::after,
.side-cta .go i::after{display:none;}
.btn:hover .arr,
.suite a.spot:hover .more i,
.serve-card:hover .serve-go i,
.ins-card:hover .ins-foot .go i,
.side-cta:hover .go i{
  width:20px;
  transform:translateX(4px);
}
.side-cta:hover .go i{width:26px;}
.article .art-lead{font-size:21px;line-height:1.65;color:var(--ink);font-weight:500;}
.article h2{display:flex;align-items:center;gap:12px;}
.article h2::before{content:"";width:22px;height:4px;background:var(--accent,#1D07CE);flex:none;}
.stack{display:grid;gap:10px;margin:26px 0 8px;}
.layer{position:relative;padding:20px 22px 22px 26px;background:var(--tint);border-left:4px solid var(--accent,#1D07CE);transition:translate .3s,background .3s;}
.layer:hover{translate:6px 0;}
.layer:nth-child(2){margin-left:18px}.layer:nth-child(3){margin-left:36px}
.layer .lv{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--accent,#1D07CE);}
.layer strong{display:block;font-size:18px;margin:4px 0 6px;}
.layer p{margin:0;color:var(--muted);font-size:16px;}
.keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0;}
.keys.five{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.keys > div{border:1px solid var(--rule);padding:20px 20px 22px;transition:border-color .3s,translate .3s;}
.keys > div:hover{border-color:var(--accent,#1D07CE);translate:0 -4px;}
.keys .k{display:inline-block;font-size:12px;font-weight:800;color:#fff;background:var(--accent,#1D07CE);padding:3px 8px;margin-bottom:12px;}
.keys strong{display:block;font-size:16.5px;line-height:1.3;margin-bottom:8px;}
.keys p{margin:0;color:var(--muted);font-size:15px;line-height:1.5;}
.stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:26px 0 10px;}
.stepper div{position:relative;padding:16px 12px;background:var(--tint);text-align:center;font-weight:700;font-size:14px;}
.stepper div span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0 auto 10px;background:var(--accent,#1D07CE);color:#fff;font-size:13px;font-weight:800;border-radius:50%;}
.stepper div::after{content:"";position:absolute;right:-8px;top:50%;width:8px;height:2px;background:color-mix(in srgb, var(--accent,#1D07CE) 40%, transparent);}
.stepper div:last-child::after{display:none;}
.article .note{border-left:3px solid var(--accent,#1D07CE);}
@media (max-width: 860px){
  .art-wrap{grid-template-columns:minmax(0,1fr);} .art-side{position:static;}
  .keys{grid-template-columns:minmax(0,1fr);} .stepper{grid-template-columns:repeat(2,1fr);} .stepper div::after{display:none;}
  .layer:nth-child(2),.layer:nth-child(3){margin-left:0;}
}

/* ---- Contact ---- */
.hero-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;}
.hero-chips li{font-size:13.5px;font-weight:700;color:#fff;border:1px solid rgba(208,242,255,.4);padding:7px 13px;border-radius:2px;}
.steps-3{list-style:none;margin:0 0 34px;padding:0;counter-reset:s;}
.steps-3 li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:0 0 22px;position:relative;}
.steps-3 li::before{content:"";position:absolute;left:17px;top:38px;bottom:2px;width:2px;background:color-mix(in srgb, var(--mark) 16%, transparent);}
.steps-3 li:last-child::before{display:none;}
.steps-3 span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--indigo);color:#fff;font-weight:800;font-size:15px;flex:none;}
.steps-3 strong{display:block;font-size:17px;margin-bottom:4px;}
.steps-3 p{margin:0;color:var(--muted);font-size:15.5px;}
.contact-cards{display:grid;gap:10px;}
.c-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--rule);text-decoration:none;color:var(--ink);transition:border-color .3s,translate .3s;}
.c-card:hover{border-color:color-mix(in srgb, var(--mark) 45%, transparent);translate:0 -3px;}
.c-card .ci{grid-row:1 / 3;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:color-mix(in srgb, var(--mark) 8%, transparent);color:var(--link);}
.c-card .ci svg{width:20px;height:20px;}
.c-card small{font-size:12.5px;font-weight:700;color:var(--muted);}
.c-card strong{font-size:15.5px;word-break:break-word;}
.form-card{border:1px solid var(--rule);background:var(--surface);padding:clamp(22px,3vw,34px);border-top:3px solid var(--mark);}
.form-title{margin-bottom:22px;}

/* ---- About ---- */
.proof dd.sm{font-size:clamp(18px,2vw,24px);line-height:1.3;letter-spacing:-0.01em;}
.approach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.approach > div{background:var(--paper);border:1px solid var(--rule);padding:28px 26px 30px;transition:translate .35s,border-color .3s,box-shadow .35s;}
.approach > div:hover{translate:0 -5px;border-color:color-mix(in srgb, var(--mark) 45%, transparent);box-shadow:0 26px 50px -30px rgba(29,7,206,.35);}
.approach .ai{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--indigo);color:#fff;margin-bottom:20px;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.approach > div:hover .ai{transform:rotate(-5deg) translateY(-2px);}
.approach .ai svg{width:24px;height:24px;}
.approach h3{margin-bottom:8px;}
.approach p{color:var(--muted);margin:0;}
.road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative;}
.road::before{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:color-mix(in srgb, var(--mark) 16%, transparent);}
.road li{padding:36px 24px 0 0;position:relative;}
.road .dot{position:absolute;left:0;top:5px;width:14px;height:14px;background:var(--paper);border:3px solid var(--indigo);border-radius:50%;transition:scale .3s,background .3s;}
.road li:hover .dot{background:var(--indigo);scale:1.2;}
.road h3{margin-bottom:8px;}
.road p{color:var(--muted);margin:0;font-size:15.5px;}
@media (max-width: 860px){
  .approach{grid-template-columns:minmax(0,1fr);}
  .road{grid-template-columns:minmax(0,1fr);}
  .road::before{left:6px;right:auto;top:0;bottom:0;width:2px;height:auto;}
  .road li{padding:0 0 26px 30px;}
  .road .dot{top:4px;}
}


/* ---- language switch + Arabic / RTL ---- */
.lang-btn{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;margin-left:6px;background:none;border:1px solid var(--rule);color:var(--ink);
  font:800 15px/1 var(--sans);cursor:pointer;border-radius:2px;transition:background .25s,color .25s,border-color .25s;}
.lang-btn:hover{background:var(--indigo);border-color:var(--indigo);color:#fff;}
.lang-btn.wide{width:100%;height:46px;margin:14px 0 0;}
@media (max-width: 980px){ .site-header .row > .lang-btn{display:none;} }
html[lang="ar"] body{font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;}
html[lang="ar"] .brand span{font-family:var(--wordmark);}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4{font-weight:900;letter-spacing:0;}
html[lang="ar"] .t-display,html[lang="ar"] .t-h1,html[lang="ar"] .t-h2{letter-spacing:0;line-height:1.25;}
[dir="rtl"] .gridbar{transform:scaleX(-1);}
[dir="rtl"] .btn .arr,[dir="rtl"] .suite .more i,[dir="rtl"] .serve-go i,[dir="rtl"] .ins-foot .go i,[dir="rtl"] .side-cta .go i{transform:scaleX(-1);}
[dir="rtl"] .btn:hover .arr,
[dir="rtl"] .suite a.spot:hover .more i,
[dir="rtl"] .serve-card:hover .serve-go i,
[dir="rtl"] .ins-card:hover .ins-foot .go i,
[dir="rtl"] .side-cta:hover .go i{transform:translateX(-4px) scaleX(-1);}
[dir="rtl"] .lang-btn{margin-left:0;margin-right:6px;}
[dir="rtl"] .why-spine{left:auto;right:23px;}
[dir="rtl"] .why-node{left:auto;right:18px;}
[dir="rtl"] .why-row{padding:26px 0 28px 16px;}
[dir="rtl"] .why-row:hover{padding-left:0;padding-right:14px;}
[dir="rtl"] .steps-3 li::before{left:auto;right:17px;}
[dir="rtl"] .layer{border-left:0;border-right:4px solid var(--accent,#1D07CE);}
[dir="rtl"] .layer:nth-child(2){margin-left:0;margin-right:18px}
[dir="rtl"] .layer:nth-child(3){margin-left:0;margin-right:36px}
[dir="rtl"] .side-card li{padding-left:0;padding-right:20px;}
[dir="rtl"] .side-card li::before{left:auto;right:0;}
[dir="rtl"] .article .note{border-left:0;border-right:3px solid var(--accent,#1D07CE);}
[dir="rtl"] .proven,[dir="rtl"] .why-ins .tag{border-left:0;border-right:3px solid var(--mark);padding-left:0;padding-right:10px;}
[dir="rtl"] .serve-ghost{right:auto;left:-26px;}
[dir="rtl"] .serve-card .proven{right:auto;left:26px;}
[dir="rtl"] .article ul{padding-left:0;padding-right:22px;}
[dir="rtl"] .road li{padding:36px 0 0 24px;}
[dir="rtl"] .road .dot{left:auto;right:0;}
@media (max-width: 860px){ [dir="rtl"] .road::before{left:auto;right:6px;} [dir="rtl"] .road li{padding:0 30px 26px 0;} }
[dir="rtl"] .stepper div::after{right:auto;left:-8px;}
[dir="rtl"] .viz-reg .iso{right:auto;left:6px;}


/* ---- Product pages: accent colour, glance chips, capability cards, who-it-is-for ---- */
.prod .phero{background:radial-gradient(760px 420px at 85% -10%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 62%),radial-gradient(700px 500px at -10% 110%, rgba(29,7,206,.4), transparent 60%),linear-gradient(165deg,#0A2456 0%,#071A3D 45%,#040C22 100%);}
.phero .kicker.acc-chip{display:inline-block;width:auto;background:var(--accent);color:#fff;padding:6px 12px;border-radius:2px;font-weight:800;font-size:13.5px;margin-bottom:16px;}
.glance{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;}
.glance li{position:relative;font-size:13.5px;font-weight:700;color:#fff;border:1px solid rgba(208,242,255,.35);padding:7px 13px 7px 28px;border-radius:2px;}
.glance li::before{content:"";position:absolute;left:11px;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--accent);}
[dir="rtl"] .glance li{padding:7px 28px 7px 13px;}
[dir="rtl"] .glance li::before{left:auto;right:11px;}
.caps-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.cap-card{position:relative;padding:28px 26px 30px;border:1px solid var(--rule);border-top:3px solid var(--accent);background:var(--paper);overflow:hidden;
  transition:translate .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .3s;}
.cap-card:hover{translate:0 -6px;box-shadow:0 28px 55px -30px rgba(7,26,61,.4);}
.cap-card.spot::before{background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 12%, transparent), transparent 66%);}
.cap-card.spot::after{background-image:linear-gradient(color-mix(in srgb, var(--accent) 10%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--accent) 10%, transparent) 1px,transparent 1px);background-size:20px 20px;}
.cap-card.spot:hover{color:var(--ink);}
.cap-n{display:inline-block;font-size:12.5px;font-weight:800;color:#fff;background:var(--accent);padding:3px 9px;margin-bottom:16px;}
.cap-card h3{margin-bottom:10px;}
.cap-card p{color:var(--muted);margin:0;}
.whofor2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start;}
.who-lead > p{font-size:19px;line-height:1.7;margin:0 0 26px;}
.replaces{border-top:2px solid var(--ink);padding-top:18px;margin-bottom:28px;}
.replaces h4{font-size:14px;font-weight:800;color:var(--muted);margin:0 0 12px;}
.replaces ul{list-style:none;margin:0;padding:0;}
.replaces li{position:relative;padding-left:26px;margin-bottom:9px;font-size:15.5px;color:var(--ink);}
.replaces li::before,.replaces li::after{content:"";position:absolute;left:4px;top:11px;width:12px;height:2px;background:var(--accent);}
.replaces li::before{transform:rotate(45deg);} .replaces li::after{transform:rotate(-45deg);}
[dir="rtl"] .replaces li{padding-left:0;padding-right:26px;}
[dir="rtl"] .replaces li::before,[dir="rtl"] .replaces li::after{left:auto;right:4px;}
.roles{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.role{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;padding:24px 26px;background:var(--paper);border:1px solid var(--rule);position:relative;overflow:hidden;
  transition:translate .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .35s;}
.role:hover{translate:6px 0;border-color:color-mix(in srgb, var(--accent) 50%, transparent);box-shadow:0 22px 44px -30px rgba(7,26,61,.4);}
[dir="rtl"] .role:hover{translate:-6px 0;}
.role.spot::before{background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 10%, transparent), transparent 68%);}
.role.spot::after{display:none;}
.role.spot:hover{color:var(--ink);}
.role-ico{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);transition:background .3s,color .3s,transform .4s cubic-bezier(.2,.7,.2,1);}
.role:hover .role-ico{background:var(--accent);color:#fff;transform:rotate(-5deg);}
.role-ico svg{width:23px;height:23px;}
.role strong{display:block;font-size:17.5px;margin-bottom:6px;}
.role p{color:var(--muted);margin:0;font-size:15.5px;}
.prod .faq summary .pm::before,.prod .faq summary .pm::after{background:var(--accent);}
.prod .gridbar::before,.prod .gridbar::after{background:var(--accent);}
.prod .on-dark .gridbar::before,.prod .on-dark .gridbar::after{background:var(--azure);}
@media (max-width: 860px){
  .caps-cards{grid-template-columns:minmax(0,1fr);}
  .whofor2{grid-template-columns:minmax(0,1fr);}
}


/* ---- Why Innovators Grid: same circuit background as the suite, 2 x 2 cards ---- */
.why-sec{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(800px 460px at 15% 0%, rgba(40,92,210,.35), transparent 65%),radial-gradient(700px 500px at 100% 100%, rgba(29,7,206,.28), transparent 60%),linear-gradient(180deg,#040C22 0%,#071A3D 55%,#050F2A 100%);}
.why-sec .wrap{position:relative;z-index:1;}
.why-sec h2{color:#fff;}
.why-sec .head .lead{color:var(--mist);}
.why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.wcard{position:relative;overflow:hidden;padding:30px 32px 34px;border:1px solid rgba(255,255,255,.4);color:#15123D;
  background:linear-gradient(180deg,rgba(233,237,248,.93) 0%,rgba(214,222,241,.82) 100%);
  -webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);
  box-shadow:0 20px 50px -30px rgba(0,0,0,.6);transition:translate .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s;}
.wcard:hover{translate:0 -6px;border-color:color-mix(in srgb, var(--accent) 60%, transparent);box-shadow:0 34px 70px -32px rgba(0,0,0,.7);}
.wcard.spot::before{background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 16%, transparent), transparent 66%);}
.wcard.spot::after{background-image:linear-gradient(color-mix(in srgb, var(--accent) 12%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--accent) 12%, transparent) 1px,transparent 1px);background-size:22px 22px;}
.wcard.spot:hover{color:#15123D;}
.wcard-n{position:absolute;right:16px;bottom:-16px;font-size:96px;font-weight:800;line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb, var(--accent) 22%, transparent);transition:-webkit-text-stroke-color .4s,transform .5s cubic-bezier(.2,.7,.2,1);transform:translateX(14px);pointer-events:none;}
[dir="rtl"] .wcard-n{right:auto;left:16px;}
.wcard:hover .wcard-n{-webkit-text-stroke-color:color-mix(in srgb, var(--accent) 55%, transparent);transform:translateX(0);}
.wcard-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);margin-bottom:22px;transition:background .35s,color .35s,transform .45s cubic-bezier(.2,.7,.2,1);}
.wcard-ico svg{width:26px;height:26px;}
.wcard:hover .wcard-ico{background:var(--accent);color:#fff;transform:rotate(-5deg) translateY(-2px);}
.wcard h3{color:#15123D;margin-bottom:10px;}
.wcard p{color:#4A4868;margin:0;max-width:34em;}
.wcard-tag{display:inline-block;margin-top:18px;font-size:12.5px;font-weight:800;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);padding:5px 11px;border-radius:2px;}
@media (max-width: 860px){ .why-grid{grid-template-columns:minmax(0,1fr);} }


/* ---- Contact page: simple, animated ---- */
.contact-simple{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,90px);align-items:center;}
.c-mark{position:relative;display:flex;align-items:center;justify-content:center;width:110px;height:110px;background:var(--indigo);margin-bottom:28px;}
.c-mark svg{width:56px;height:56px;color:#fff;}
.c-mark i{position:absolute;inset:0;border:1.5px solid color-mix(in srgb, var(--mark) 40%, transparent);animation:cring 3.4s ease-out infinite;}
.c-mark i:nth-child(3){animation-delay:1.7s;}
@keyframes cring{0%{opacity:.8;transform:scale(1);}100%{opacity:0;transform:scale(1.7);}}
.c-name{font-family:var(--wordmark);font-size:30px;color:var(--link);margin:0 0 10px;line-height:1.2;}
.c-tag{color:var(--muted);margin:0 0 22px;max-width:24em;}
.c-social{display:flex;gap:18px;margin:0;font-weight:700;}
.c-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.c-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px 26px;border:1px solid var(--rule);text-decoration:none;color:var(--ink);position:relative;overflow:hidden;
  transition:translate .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .35s;}
.c-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mark);transform:scaleY(0);transform-origin:top;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
[dir="rtl"] .c-row::before{left:auto;right:0;}
.c-row:hover::before{transform:scaleY(1);}
.c-row:hover{translate:6px 0;border-color:color-mix(in srgb, var(--mark) 45%, transparent);box-shadow:0 24px 46px -30px rgba(29,7,206,.45);}
[dir="rtl"] .c-row:hover{translate:-6px 0;}
.c-row .ci{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:color-mix(in srgb, var(--mark) 8%, transparent);color:var(--link);transition:background .3s,color .3s,transform .4s;}
.c-row:hover .ci{background:var(--indigo);color:#fff;transform:rotate(-5deg);}
.c-row .ci svg{width:24px;height:24px;}
.c-row small{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:3px;}
.c-row strong{font-size:18px;word-break:break-word;}
.c-row .cg{width:22px;height:2px;background:var(--mark);position:relative;opacity:.35;transition:width .3s,opacity .3s;}
.c-row .cg::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;color:var(--mark);transform:rotate(45deg);}
[dir="rtl"] .c-row .cg{transform:scaleX(-1);}
.c-row:hover .cg{width:34px;opacity:1;}
.c-row.static{cursor:default;}
.c-row.static:hover{translate:0 0;box-shadow:none;border-color:var(--rule);}
.ci.pin svg{animation:pinbob 2.6s ease-in-out infinite;}
@keyframes pinbob{0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}
@media (max-width: 860px){ .contact-simple{grid-template-columns:minmax(0,1fr);} }
@media (prefers-reduced-motion: reduce){ .c-mark i,.ci.pin svg{animation:none;} }


/* ---- Contact page layout ---- */
.contact-proof dd.sm{font-size:clamp(15px,1.5vw,19px);line-height:1.35;}
.contact-proof dd.sm a{color:#fff;text-decoration:none;word-break:break-word;}
.contact-proof dd.sm a:hover{color:var(--azure);text-decoration:underline;}
.contact-proof div:nth-child(3){grid-column:1 / -1;}
.contact-hub{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start;}
.c-brand{background:var(--tint);border:1px solid var(--rule);padding:34px 34px 36px;position:relative;overflow:hidden;}
.c-brand::after{content:"";position:absolute;right:-60px;bottom:-60px;width:190px;height:190px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--mark) 14%, transparent), transparent 65%);}
.c-social{display:flex;flex-wrap:wrap;gap:10px;margin:0;}
.soc-btn{display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border:1px solid color-mix(in srgb, var(--mark) 28%, transparent);
  text-decoration:none;font-weight:700;color:var(--link);background:var(--paper);border-radius:2px;position:relative;z-index:1;
  transition:background .25s,color .25s,border-color .25s,translate .25s;}
.soc-btn i{display:inline-block;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:translate .25s;}
.soc-btn:hover i{translate:3px -3px;}
.soc-btn:hover{background:var(--indigo);border-color:var(--indigo);color:#fff;translate:0 -3px;}
.c-main{display:grid;gap:26px;}
.c-topics{border-top:2px solid var(--ink);padding-top:22px;}
.c-topics h2{margin-bottom:8px;}
.c-topics p{color:var(--muted);margin:0 0 18px;}
.topic-chips{display:flex;flex-wrap:wrap;gap:10px;}
.topic-chips a{font-size:14px;font-weight:700;color:var(--link);background:color-mix(in srgb, var(--mark) 6%, transparent);
  border:1px solid color-mix(in srgb, var(--mark) 20%, transparent);padding:9px 14px;border-radius:2px;text-decoration:none;
  transition:background .25s,color .25s,translate .25s;}
.topic-chips a:hover{background:var(--indigo);color:#fff;translate:0 -2px;}
@media (max-width: 860px){ .contact-hub{grid-template-columns:minmax(0,1fr);} }


/* ---- Industries cards ---- */
.ind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.ind-card{position:relative;display:block;padding:30px 30px 34px;border:1px solid var(--rule);border-top:3px solid var(--accent,var(--mark));background:var(--paper);overflow:hidden;text-decoration:none;color:var(--ink);
  transition:translate .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s;}
.ind-card:hover{translate:0 -6px;box-shadow:0 28px 55px -30px rgba(7,26,61,.42);}
.ind-card.spot::before{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 14%, transparent), transparent 66%);}
.ind-card.spot::after{background-image:linear-gradient(color-mix(in srgb, var(--accent) 11%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--accent) 11%, transparent) 1px,transparent 1px);background-size:20px 20px;}
.ind-card.spot:hover{color:var(--ink);}
.ind-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;

  background: color-mix(
    in srgb,
    var(--accent, var(--mark)) 12%,
    transparent
  );

  color: var(--accent, var(--mark));
  margin-bottom: 22px;

  transition:
    background .35s,
    color .35s,
    transform .45s cubic-bezier(.2,.7,.2,1);
}

.ind-ico svg {
  width: 28px;
  height: 28px;
}

.ind-card:hover .ind-ico {
  background: var(--accent, var(--mark));
  color: #fff;
  transform: rotate(-6deg) translateY(-3px);
}
.ind-ico svg{width:28px;height:28px;}
.ind-card:hover .ind-ico {
  background: var(--accent, var(--mark));
  color: #fff;
  transform: rotate(-6deg) translateY(-3px);
}
.ind-card h3{margin-bottom:10px;}
.ind-card p{color:var(--muted);margin:0 0 18px;}
.ind-card .chips li{color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-color:color-mix(in srgb, var(--accent) 22%, transparent);}
.ind-card .serve-go{color:var(--accent);}
.serve-card .serve-mark{background:var(--accent,var(--indigo));}
.serve-card .serve-ghost svg{color:var(--accent,var(--mark));}
.serve-card .chips li{color:var(--accent,var(--link));background:color-mix(in srgb, var(--accent) 7%, transparent);border-color:color-mix(in srgb, var(--accent) 22%, transparent);}
.serve-card .serve-go{color:var(--accent,var(--link));}
.serve-card .proven{color:var(--accent,var(--link));border-color:var(--accent,var(--mark));}
/* ---- About: what we build ---- */
.build-grid{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.build-grid li{position:relative;padding:22px 20px 24px;border:1px solid var(--rule);background:var(--paper);overflow:hidden;
  transition:translate .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .35s;}
.build-grid li:hover{translate:0 -5px;border-color:color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:0 24px 44px -30px rgba(7,26,61,.4);}
.build-grid span{display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);margin-bottom:16px;transition:background .3s,color .3s,transform .4s;}
.build-grid li:hover span{background:var(--accent);color:#fff;transform:rotate(-6deg);}
.build-grid span svg{width:28px;height:28px;}
.build-grid strong{display:block;font-size:19px;letter-spacing:-0.01em;}
.build-grid small{display:block;font-size:13px;font-weight:700;color:var(--accent);margin-top:4px;}
@media (max-width: 860px){ .ind-grid{grid-template-columns:minmax(0,1fr);} }
@media (max-width: 460px){ .build-grid{grid-template-columns:minmax(0,1fr);} }


/* ---- contact topics panel ---- */
.topic-chips{display:flex;flex-wrap:wrap;gap:10px;}
.topic-chips button{font:700 14px/1 var(--sans);color:var(--link);background:color-mix(in srgb, var(--mark) 6%, transparent);
  border:1px solid color-mix(in srgb, var(--mark) 20%, transparent);padding:11px 15px;border-radius:2px;cursor:pointer;
  transition:background .25s,color .25s,translate .25s,border-color .25s;}
.topic-chips button:hover{translate:0 -2px;border-color:color-mix(in srgb, var(--mark) 45%, transparent);}
.topic-chips button[aria-selected="true"]{background:var(--indigo);border-color:var(--indigo);color:#fff;}
.topic-panel{margin-top:20px;border:1px solid var(--rule);border-top:3px solid var(--mark);background:var(--surface);padding:26px 28px 30px;
  animation:panelIn .35s ease;}
.topic-panel h3{font-size:20px;margin-bottom:10px;}
.topic-panel p{color:var(--muted);margin:0 0 16px;}
.topic-panel ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:9px;}
.topic-panel li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.5;}
.topic-panel li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;background:var(--mark);}
[dir="rtl"] .topic-panel li{padding-left:0;padding-right:24px;}
[dir="rtl"] .topic-panel li::before{left:auto;right:0;}
@media (prefers-reduced-motion: reduce){ .topic-panel{animation:none;} }

/* ---- Arabic: keep numbers and Latin text in their own direction ---- */
[dir="rtl"] .c-row strong,[dir="rtl"] .cdetails dd,[dir="rtl"] .site-footer li,[dir="rtl"] .proof dd.sm{direction:ltr;unicode-bidi:isolate;text-align:right;}
[dir="rtl"] .site-footer li{text-align:right;}
[dir="rtl"] .c-row .ct{text-align:right;}
[dir="rtl"] .soc-btn i{transform:rotate(-135deg);}
[dir="rtl"] .soc-btn:hover i{translate:-3px -3px;}
[dir="rtl"] .c-social{justify-content:flex-start;}
[dir="rtl"] .soc-btn{flex-direction:row-reverse;}

/* ---------- Responsive ---------- */
@media (max-width: 1020px){
  .suite{grid-template-columns:repeat(2,1fr);}
  .clients{grid-template-columns:repeat(3,1fr);}
  .fgrid{grid-template-columns:1fr 1fr;}
  .timeline{grid-template-columns:repeat(2,1fr);}
  .timeline div:nth-child(3){padding-left:0;border-left:0;}
  .timeline div:nth-child(n+3){padding-top:30px;}
}
@media (max-width: 860px){
  .hero .wrap,.phero .wrap,.split,.callout,.whofor,.contact{grid-template-columns:minmax(0,1fr);}
  .inds,.insights,.related{grid-template-columns:minmax(0,1fr);}
  .caps{grid-template-columns:minmax(0,1fr);}
  .caps > div + div{padding-left:0;border-left:0;border-top:1px solid var(--rule);}
  .reasons{grid-template-columns:minmax(0,1fr);}
  .reasons > div:nth-child(2n){padding-left:0;border-left:0;}
  .reasons > div{padding-right:0;}
  .hero-lines svg{right:-40%;top:auto;bottom:-10%;height:80%;}
}
@media (max-width: 560px){
  body{font-size:16px;}
  .brand span{font-size:20px;}
  .brand svg{width:30px;height:30px;}
  .suite,.clients{grid-template-columns:minmax(0,1fr);}
  .clients{grid-template-columns:repeat(2,1fr);}
  .suite a{min-height:0;}
  .fgrid{grid-template-columns:minmax(0,1fr);}
  .timeline{grid-template-columns:minmax(0,1fr);}
  .timeline div,.timeline div + div{padding-left:0;border-left:0;padding-top:26px;}
  .timeline div + div{border-top:1px solid var(--rule);margin-top:26px;}
  form .grid{grid-template-columns:minmax(0,1fr);}
  .ui-split{grid-template-columns:minmax(0,1fr);}
  .bars > div{grid-template-columns:96px 1fr 38px;}
  .ui-tabs span{padding:4px 6px;font-size:10.5px;}
  .faq details p{padding-right:0;}
  .hero .actions .btn,.phero .actions .btn{flex:1 1 100%;}
}
@media (prefers-reduced-motion: reduce){*{transition:none!important;}}


/* Production form/security helpers */
.hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-submit { margin-top:24px; }
.more-spaced { margin-top:18px; }
.link-strong { font-weight:700; }
.heading-spaced { margin-bottom:20px; }
.form-status { margin-top:14px; min-height:1.5em; font-weight:700; color:var(--muted); }
.form-status.is-success { color:#087443; }
.form-status.is-error { color:#B3261E; }
.form-submit[disabled] { opacity:.65; cursor:not-allowed; }
.form-error {
  display: none;
  margin-top: 6px;
  font-size: 13px;
  color: #d32f2f;
}

input.invalid {
  border-color: #d32f2f;
}

input.invalid + .form-error {
  display: block;
}
/* ===== FIX CUSTOM CURSOR ALIGNMENT ===== */

.cursor-dot,
.cursor-ring {
  position: fixed !important;
  left: 0;
  top: 0;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
}

.cursor-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50%;
  background: #35d9ff;
}

.cursor-ring {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #35d9ff;
  border-radius: 50%;
}
/* =========================
   PRODUCTS MULTI SELECT
   ========================= */

.multi-select {
  position: relative;
  width: 100%;
}

/* Main dropdown button */
.multi-select-btn {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  background: #fff;
  border: 1px solid #d9dce8;

  color: #08052f;
  font: inherit;
  text-align: left;

  cursor: pointer;
}

/* Focus */
.multi-select-btn:focus {
  outline: 2px solid #1d07ce;
  outline-offset: -2px;
}

/* Selected text */
#productSelectedText {
  flex: 1;
  min-width: 0;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Arrow */
.multi-select-arrow {
  flex-shrink: 0;
  font-size: 18px;
  line-height: 1;

  transition: transform 0.2s ease;
}

/* Rotate arrow when open */
.multi-select.open .multi-select-arrow {
  transform: rotate(180deg);
}

/* Dropdown menu */
.multi-select-menu {
  position: absolute;

  top: 100%;
  left: 0;
  right: 0;

  display: none;

  max-height: 220px;
  overflow-y: auto;

  background: #fff;

  border: 1px solid #d9dce8;
  border-top: 0;

  z-index: 1000;

  box-shadow: 0 8px 20px rgba(8, 5, 47, 0.08);
}

.multi-select.open .multi-select-menu {
  display: block;
}

.multi-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.multi-option {
  display: block;

  width: 100%;
  margin: 0;
  padding: 12px 16px;

  box-sizing: border-box;

  background: #fff;
  color: #08052f;

  border-left: 3px solid transparent;

  font-size: 14px;
  font-weight: 600;

  cursor: pointer;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}
.multi-option:hover {
  background: #f7f7fb;
  color: #1d07ce;
}

.multi-option:has(input:checked) {
  background: #f1efff;
  color: #1d07ce;

  border-left-color: #1d07ce;

  font-weight: 700;
}

.multi-option:has(input:checked):hover {
  background: #e8e5ff;
  color: #1d07ce;
}

.multi-option:focus-within {
  background: #f1efff;
}

.multi-select-menu::-webkit-scrollbar {
  width: 6px;
}

.multi-select-menu::-webkit-scrollbar-track {
  background: #f7f7fb;
}

.multi-select-menu::-webkit-scrollbar-thumb {
  background: #c9c5e8;
  border-radius: 10px;
}

.multi-select-menu::-webkit-scrollbar-thumb:hover {
  background: #aaa3dd;
}

.dd-panel {
    position: absolute;
    top: calc(100% + 13px);
    left: -16px;
    width: 520px;
    background: var(--surface);
    border: 1px solid var(--rule);
    border-top: 3px solid var(--mark);

    display: none;
    grid-template-columns: repeat(2, 1fr);
}

.dd[data-open="true"] .dd-panel {
    display: grid;
}

.dd-panel a {
    display: block;
    padding: 20px 22px;
    text-decoration: none;
    color: var(--ink);
    background: var(--surface);

    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}

.dd-panel a:nth-child(2n) {
    border-right: 0;
}

.dd-panel a:last-child {
    border-bottom: 0;
}

.dd-panel a:nth-last-child(2):nth-child(odd):has(+ a:last-child:nth-child(even)) {
    border-bottom: 0;
}

.dd-panel a:hover {
    background: var(--tint);
}
.dd-panel:has(> a:last-child:nth-child(odd)) {
    background: transparent;
    border-right: 0;
    border-bottom: 0;
}
.multi-option {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.multi-option input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 16px;
  height: 16px;
  margin: 0;
  opacity: 1;
  position: static;
  cursor: pointer;
}

.multi-option .checkmark {
  display: none;
}
