body{margin:0;background:#ffffff}
*,*::before,*::after{box-sizing:border-box}
a{color:#7a3f96}a:hover{color:#5a2b72}
.vim{position:relative;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;color:#1c1c1c;background:#ffffff;overflow-x:clip;-webkit-font-smoothing:antialiased}
.disp{font-family:'IBM Plex Sans Arabic',system-ui,sans-serif}
.wrap{position:relative;max-width:1240px;margin:0 auto;padding:0 40px}
.sec{position:relative;padding:104px 0}
.paper{background:#f5f3ef}
.gridlines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to left,rgba(28,28,28,.05) 1px,transparent 1px);background-size:16.6667% 100%}
.gridlines.d{background-image:linear-gradient(to left,rgba(255,255,255,.035) 1px,transparent 1px)}

.prog-top{position:fixed;top:0;right:0;left:0;height:3px;background:#8c51a5;transform:scaleX(0);transform-origin:right;z-index:60;pointer-events:none}

.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.84);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(28,28,28,.08);animation:hdrIn 1s cubic-bezier(.19,1,.22,1) both}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.logo img{display:block;height:54px;width:auto}
.nav{display:flex;align-items:center;gap:34px}
.nav a{position:relative;color:#1c1c1c;text-decoration:none;font-size:15px;font-weight:500;padding:8px 0}
.nav a:hover{color:#1c1c1c}
.nav a::after{content:"";position:absolute;right:0;left:0;bottom:2px;height:1.5px;background:#8c51a5;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.nav a:hover::after{transform:scaleX(1);transform-origin:right}
.nav-dd{position:relative}
.nav-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;background:none;border:0;font:inherit;font-size:15px;font-weight:500;color:#1c1c1c;cursor:pointer}
.nav-btn svg{transition:transform .35s}
.nav-btn.is-on{color:#7a3f96}
.nav-btn.is-on svg{transform:rotate(180deg)}
.nav-btn:focus-visible{outline:2px solid #7a3f96;outline-offset:3px}
.dd{position:absolute;top:calc(100% + 18px);right:-20px;z-index:60;width:580px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:12px;background:#ffffff;border:1px solid #e4e0d8;box-shadow:0 24px 60px rgba(28,28,28,.12);animation:fadeUp .35s cubic-bezier(.19,1,.22,1) both}
.dd::before{content:"";position:absolute;top:0;right:0;width:72px;height:3px;background:#8c51a5}
.nav .dd a{display:flex;align-items:baseline;gap:12px;padding:14px;color:#1c1c1c;text-decoration:none;font-size:15px;line-height:1.5;transition:background .25s}
.nav .dd a::after{display:none}
.nav .dd a:hover{background:#f5f3ef;color:#1c1c1c}
.nav .dd a span{flex:none;font-size:13px;font-weight:300;color:#7a3f96}
.hdr-act{display:flex;align-items:center;gap:12px}
.lang{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #d9d5cc;border-radius:999px;color:#1c1c1c;text-decoration:none;font-size:13px;font-weight:600;transition:border-color .3s}
.lang:hover{color:#1c1c1c;border-color:#1c1c1c}
.menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #d9d5cc;border-radius:999px;background:#ffffff;color:#1c1c1c;cursor:pointer}
.mnav{position:absolute;top:100%;right:0;left:0;display:flex;flex-direction:column;padding:6px 16px 18px;background:#ffffff;border-bottom:1px solid #e4e0d8;animation:fadeUp .4s cubic-bezier(.19,1,.22,1) both}
.mnav a{padding:14px 0;border-bottom:1px solid #efece6;color:#1c1c1c;text-decoration:none;font-size:16px}

.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 28px;font-size:16px;font-weight:600;text-decoration:none;transition:color .4s}
.btn svg{flex:none;transition:transform .4s cubic-bezier(.19,1,.22,1)}
.btn:hover svg{transform:translateX(-6px)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:#1c1c1c;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.btn:hover::before{transform:scaleX(1);transform-origin:right}
.btn-gold{background:#8c51a5;color:#ffffff}
.btn-gold:hover{color:#ffffff}
.btn-line{border:1.5px solid #1c1c1c;color:#1c1c1c}
.btn-line:hover{color:#ffffff}
.btn-sm{min-height:44px;padding:0 20px;font-size:15px}
.shine::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0));transform:skewX(-20deg);animation:shine 5.5s 2.6s ease-in-out infinite;pointer-events:none}
.btn:focus-visible,.svc-row:focus-visible,.lang:focus-visible,.dial:focus-visible,.menu-btn:focus-visible{outline:2px solid #7a3f96;outline-offset:3px}
.lnk{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#7a3f96;text-decoration:none}
.lnk svg{transition:transform .4s cubic-bezier(.19,1,.22,1)}
.lnk:hover svg{transform:translateX(-6px)}
.lnk.d{color:#c49ae6}
.lnk.d:hover{color:#dcc0f0}

.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 20px;font-size:14px;font-weight:500;color:#7a3f96}
.eyebrow.d{color:#c49ae6}
.eb-line{display:inline-block;flex:none;width:44px;height:1.5px;background:currentColor;transform-origin:right}
.h2{font-size:50px;line-height:1.32;font-weight:600;margin:0}
.h2 .ln:last-child>span,.cta-h .ln:last-child>span{font-weight:300}
.h2.w{color:#ffffff}
.sub{font-size:18px;line-height:1.95;color:#57544f;margin:20px 0 0;max-width:620px}
.sub.d{color:#bdb8af}
.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.sec-head.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:end}
.ln{display:block;overflow:hidden;padding:.06em 0 .14em}
.ln>span{display:inline-block}
.up{animation:rise 1.1s cubic-bezier(.19,1,.22,1) both}

.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);min-height:560px}
.hero-txt{display:flex;flex-direction:column;justify-content:center;padding-block:60px;padding-inline-start:max(40px,calc(50vw - 580px));padding-inline-end:56px}
.hero .eb-line{animation:lineIn 1s .15s cubic-bezier(.65,0,.35,1) both}
.h1{font-size:44px;line-height:1.32;font-weight:700;margin:0 0 20px}
.h1 .ln:nth-child(2)>span{font-weight:300}
.h1 .ln>span{animation:rise 1.2s cubic-bezier(.19,1,.22,1) both}
.hl{position:relative;z-index:0;display:inline-block}
.hl::after{content:"";position:absolute;right:-6px;left:-6px;bottom:.12em;height:.15em;background:#8c51a5;z-index:-1;transform-origin:right;animation:lineIn 1.1s 1.2s cubic-bezier(.65,0,.35,1) both}
.lead{font-size:17px;line-height:1.9;font-weight:300;color:#3a3835;margin:0 0 30px;max-width:500px}
.fade{animation:fadeUp 1s cubic-bezier(.19,1,.22,1) both}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.cta-row .btn{min-height:48px;padding:0 24px;font-size:15px}
.aud{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px;padding-top:18px;border-top:1px solid #e9e6df;max-width:500px;font-size:13.5px;color:#57544f}
.aud .dot{width:6px;height:6px;background:#8c51a5;transform:rotate(45deg)}
.hero-art{position:relative;background:#191919;min-height:560px}
.glow{position:absolute;inset:0;background:radial-gradient(circle at 36% 68%,rgba(140,81,165,.24),rgba(140,81,165,0) 42%);animation:breathe 6s ease-in-out infinite alternate;pointer-events:none}
.art-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.grain{position:absolute;inset:0;width:100%;height:100%;opacity:.08;mix-blend-mode:screen;pointer-events:none}
.art-cap{position:absolute;left:22px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);display:flex;align-items:center;gap:12px;font-size:13px;color:#a39e95;animation:fin 1.2s 4.6s ease both}
.art-cap::before{content:"";width:1px;height:28px;background:#b367e0}
.dial{position:absolute;right:-54px;bottom:60px;z-index:3;display:grid;place-items:center;width:108px;height:108px;border-radius:50%;color:#ffffff;text-decoration:none;animation:pop .9s 1.4s cubic-bezier(.2,1.4,.4,1) both}
.dial:hover{color:#ffffff}
.dial-ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 28s linear infinite}
.dial-c{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:600}
.dial-c svg{animation:bob 1.8s ease-in-out infinite}

.marq{overflow:hidden;background:#ffffff;border-top:1px solid #e4e0d8;border-bottom:1px solid #e4e0d8;padding:26px 0}
.marq-track{display:flex;width:max-content;animation:marq 52s linear infinite}
.marq:hover .marq-track{animation-play-state:paused}
.marq-set{display:flex;align-items:center;gap:40px;padding-inline-end:40px}
.mw{font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:34px;font-weight:600;color:#1c1c1c;white-space:nowrap}
.mw.mute{color:#8a867f;font-weight:200}
.star{flex:none;width:12px;height:12px;background:#8c51a5;transform:rotate(45deg)}

.svc-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;margin-top:28px;align-items:stretch}
.svc-list{display:flex;flex-direction:column;border-top:1px solid #dcd8cf}
.svc-row{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:14px;width:100%;padding:26px 6px;background:transparent;border:0;border-bottom:1px solid #dcd8cf;font:inherit;text-align:start;color:#57544f;cursor:pointer;transition:color .3s,padding .5s cubic-bezier(.19,1,.22,1)}
.svc-row:hover,.svc-row.is-on{color:#1c1c1c}
.svc-row.is-on{padding-inline-start:20px}
.svc-n{font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:15px;font-weight:300;color:#8a867f;transition:color .3s}
.svc-row.is-on .svc-n{color:#7a3f96;font-weight:600}
.svc-row.is-on .svc-t{font-weight:600}
.svc-t{font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:22px;font-weight:500;line-height:1.45}
.svc-a{opacity:.4;transition:opacity .4s,transform .4s;color:#7a3f96}
.svc-row:hover .svc-a,.svc-row.is-on .svc-a{opacity:1;transform:translateX(-4px)}
.bar{position:absolute;right:0;left:0;bottom:-1px;height:2px;background:#8c51a5;transform:scaleX(0);transform-origin:right}
.svc-row.is-on .bar{transform:scaleX(1);transition:transform .5s cubic-bezier(.65,0,.35,1)}
.svc-wrap.is-closed{grid-template-columns:minmax(0,1fr)}
.svc-wrap.is-closed .svc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.svc-panel{position:relative;overflow:hidden;background:#1c1c1c;color:#ffffff;min-height:620px;padding:44px 44px 40px;scroll-margin-top:100px;animation:paneIn .6s cubic-bezier(.19,1,.22,1) both}
.pane-x{position:absolute;top:18px;left:18px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #3a3a3a;background:transparent;color:#cfcac1;cursor:pointer;transition:border-color .3s,color .3s,transform .5s cubic-bezier(.19,1,.22,1)}
.pane-x:hover{border-color:#8c51a5;color:#c49ae6;transform:rotate(90deg)}
.pane-x:focus-visible{outline:2px solid #c49ae6;outline-offset:3px}
.pane{position:relative;z-index:1;animation:paneIn .8s cubic-bezier(.19,1,.22,1) both}
.svc-ill{display:block;width:100%;max-width:440px;height:auto;margin-bottom:26px}
.pane-t{font-size:30px;font-weight:600;line-height:1.4;margin:0 0 14px;color:#ffffff}
.pane-d{font-size:16px;line-height:1.95;color:#cfcac1;margin:0 0 24px;max-width:520px}
.needs-h{font-size:13px;font-weight:500;color:#c49ae6;margin:0 0 10px}
.needs{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px}
.needs li{position:relative;padding-inline-start:24px;font-size:15px;line-height:1.75;color:#e6e1d8;animation:fadeUp .7s cubic-bezier(.19,1,.22,1) both}
.needs li:nth-child(1){animation-delay:.25s}
.needs li:nth-child(2){animation-delay:.35s}
.needs li:nth-child(3){animation-delay:.45s}
.needs li::before{content:"";position:absolute;right:0;top:.85em;width:12px;height:1.5px;background:#8c51a5}
.pane-n{position:absolute;left:24px;bottom:-34px;z-index:0;font-size:190px;font-weight:200;line-height:1;color:#262626;pointer-events:none;animation:bigIn 1.1s cubic-bezier(.19,1,.22,1) both}

.when-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px}
.when{display:flex;flex-direction:column;gap:12px}
.when-fig{display:grid;place-items:center;aspect-ratio:2/1.1;padding:14px;background:#faf9f6;border:1px solid #e4e0d8;transition:transform .6s cubic-bezier(.19,1,.22,1),border-color .4s}
.when:hover .when-fig{transform:translateY(-6px);border-color:#8c51a5}
.when-fig svg{display:block;width:100%;height:100%}
.when-n{font-size:13px;font-weight:300;color:#7a3f96;margin-top:10px}
.when h3{font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:22px;font-weight:600;margin:0}
.when p{font-size:15.5px;line-height:1.85;color:#57544f;margin:0}

.dark{background:#171717;color:#ffffff}
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}
.case-in{height:100%;display:flex;flex-direction:column;background:#1f1f1f;border:1px solid #2c2c2c;transition:transform .6s cubic-bezier(.19,1,.22,1),border-color .4s}
.case:hover .case-in{transform:translateY(-8px);border-color:#8c51a5}
.case-art{height:200px;padding:14px;border-bottom:1px solid #2c2c2c;background:#1b1b1b}
.case-art svg{display:block;width:100%;height:100%}
.cl{stroke:#6b6862;transition:stroke .6s}
.case:hover .cl{stroke:#b367e0}
.case-body{display:flex;flex-direction:column;gap:14px;padding:26px 26px 28px;flex:1}
.case-tag{margin:0;font-size:13px;font-weight:500;color:#c49ae6}
.case-t{margin:0;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:21px;font-weight:600;line-height:1.5;color:#ffffff}
.flow{list-style:none;margin:0;padding:0;display:grid;gap:0}
.flow li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px dashed #343434;font-size:14px;line-height:1.7;color:#bdb8af}
.flow b{color:#ffffff;font-weight:600}
.case-body .lnk{margin-top:auto}

.track{position:relative;margin-top:72px}
.track-line{position:absolute;top:9px;right:0;left:0;height:2px;background:#e4e0d8}
.track-fill{display:block;height:100%;background:#8c51a5;transform-origin:right;animation:fillX 1s linear both}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.step{position:relative;padding-top:52px}
.node{position:absolute;top:0;right:0;width:20px;height:20px;border-radius:50%;background:#8c51a5;border:2px solid #8c51a5;animation:nodeOn .6s both}
.step-n{display:block;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:84px;font-weight:100;line-height:1;color:#b3ada3;margin-bottom:18px;transition:color .5s}
.step:hover .step-n{color:#8c51a5}
.step h3{font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:24px;font-weight:600;margin:0 0 10px}
.step p{font-size:15.5px;line-height:1.85;color:#57544f;margin:0}

.about{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center}
.about-p{font-size:19px;line-height:1.95;font-weight:300;color:#3a3835;margin:22px 0 30px;max-width:500px}
.pillars{display:grid;gap:0;margin:0 0 34px;padding:0;list-style:none;max-width:500px}
.pillars li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #dcd8cf;font-size:16px;font-weight:500}
.pillars li span{font-size:14px;font-weight:300;color:#7a3f96}
.temple{margin:0}
.temple svg{display:block;width:100%;height:auto}

.ins-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:64px}
.ins{display:flex;flex-direction:column;gap:18px;text-decoration:none;color:#1c1c1c}
.ins:hover{color:#1c1c1c}
.ins-cover{position:relative;height:260px;overflow:hidden;background:#1c1c1c}
.ins-art{position:absolute;inset:0;transition:transform 1.4s cubic-bezier(.19,1,.22,1)}
.ins:hover .ins-art{transform:scale(1.08)}
.a1{background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,rgba(255,255,255,0) 1px 14px),conic-gradient(from -38deg at 50% 135%,#262626 0deg 9deg,#333333 9deg 17deg,#1d1d1d 17deg 30deg,#3a3a3a 30deg 36deg,#222222 36deg 52deg,#2e2e2e 52deg 64deg,#1a1a1a 64deg 360deg)}
.a2{background:linear-gradient(100deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.55) 100%),repeating-linear-gradient(90deg,#2b2b2b 0 2px,#1f1f1f 2px 26px,#262626 26px 28px,#1b1b1b 28px 40px)}
.a3{background:radial-gradient(circle at 50% 100%,rgba(0,0,0,0) 30%,rgba(0,0,0,.5) 85%),repeating-radial-gradient(circle at 50% 100%,#1c1c1c 0 26px,#2f2f2f 26px 28px)}
.acc{position:absolute;pointer-events:none;transition:transform 1.4s cubic-bezier(.19,1,.22,1)}
.acc1{top:-10%;bottom:-10%;left:57%;width:2px;background:#8c51a5;transform:skewX(-9deg)}
.ins:hover .acc1{transform:skewX(-9deg) translateX(-18px)}
.acc2{top:0;bottom:0;right:31%;width:3px;background:#8c51a5}
.ins:hover .acc2{transform:translateX(-26px)}
.acc3{left:50%;bottom:0;width:300px;height:300px;border:2px solid #8c51a5;border-radius:50%;transform:translate(-50%,50%)}
.ins:hover .acc3{transform:translate(-50%,50%) scale(1.12)}
.ins-cat{position:absolute;top:18px;right:18px;z-index:2;background:#ffffff;color:#1c1c1c;font-size:12.5px;font-weight:600;padding:6px 12px}
.ins-t{margin:0;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:24px;font-weight:600;line-height:1.55}
.ins-t span{background:linear-gradient(#8c51a5,#8c51a5) no-repeat right bottom/0 2px;transition:background-size .6s cubic-bezier(.65,0,.35,1);padding-bottom:4px}
.ins:hover .ins-t span{background-size:100% 2px}

.cta{position:relative;overflow:hidden;background:#141414;color:#ffffff;padding:136px 0}
.ripples{position:absolute;right:-200px;top:-220px;width:760px;height:760px;pointer-events:none}
.ripples span{position:absolute;inset:0;border:1px solid rgba(179,103,224,.6);border-radius:50%;opacity:0;animation:ripple 9s cubic-bezier(.2,.6,.3,1) infinite}
.ripples span:nth-child(2){animation-delay:3s}
.ripples span:nth-child(3){animation-delay:6s}
.cta-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:72px;align-items:center}
.cta-h{font-size:60px;line-height:1.3;font-weight:700;margin:0 0 22px;color:#ffffff}
.cta-p{font-size:19px;line-height:1.9;font-weight:300;color:#d8d3cb;margin:0 0 36px;max-width:480px}
.cta-meta{display:flex;flex-direction:column;max-width:480px}
.form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;padding:40px;background:#ffffff;color:#1c1c1c}
.form::before{content:"";position:absolute;top:0;right:0;width:96px;height:4px;background:#8c51a5}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.full{grid-column:1 / -1}
.fld label{font-size:13px;font-weight:600;color:#57544f;transition:color .3s}
.fld:focus-within label{color:#7a3f96}
.fld input,.fld select,.fld textarea{font:inherit;font-size:16px;color:#1c1c1c;background:transparent;border:0;border-bottom:1.5px solid #cfc9bf;border-radius:0;padding:10px 0;min-height:46px;outline:none;transition:border-color .3s,box-shadow .3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-bottom-color:#8c51a5;box-shadow:0 2px 0 0 #8c51a5}
.fld textarea{resize:vertical;min-height:84px}
.form .btn{grid-column:1 / -1;justify-content:center;border:0;cursor:pointer;font-family:inherit}
.sent{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;background:#ffffff;text-align:center;animation:fadeUp .6s cubic-bezier(.19,1,.22,1) both}
.sent p{margin:0;font-size:18px;line-height:1.8;max-width:340px}
.sent-ic{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#8c51a5;color:#1c1c1c;animation:pop .7s .1s cubic-bezier(.2,1.5,.4,1) both}

.ftr{position:relative;overflow:hidden;background:#0f0f0f;color:#bdb8af;padding:96px 0 0}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1.25fr 1fr 1fr;gap:48px}
.ftr h3{margin:0 0 18px;font-size:15px;font-weight:600;color:#ffffff}
.ftr-links{display:flex;flex-direction:column;gap:12px}
.ftr a{color:#bdb8af;text-decoration:none;font-size:14.5px;transition:color .3s}
.ftr a:hover{color:#c49ae6}
.soc{display:flex;gap:12px;margin-top:8px}
.soc a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #2e2e2e;border-radius:50%;transition:border-color .3s,color .3s}
.soc a:hover{border-color:#8c51a5}
.ftr-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:64px;padding:22px 0;border-top:1px solid #242424;font-size:13px;color:#8f8a82}
.mark{margin:24px 0 -.2em;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-weight:700;font-size:clamp(72px,15vw,230px);line-height:1;white-space:nowrap;text-align:center;color:transparent;background:linear-gradient(100deg,#1d1d1d 0%,#1d1d1d 42%,#8c51a5 50%,#1d1d1d 58%,#1d1d1d 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:sheen 10s linear infinite;user-select:none}

.cons{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:88px;align-items:center}
.cons-fig{position:relative;width:100%;max-width:400px;margin:0 0 24px;justify-self:center}
.cons-frame{position:absolute;inset:0;border:1.5px solid #8c51a5;transform:translate(18px,18px);pointer-events:none;animation:frameIn 1.4s cubic-bezier(.65,0,.35,1) both}
.cons-ph{position:relative;z-index:1;overflow:hidden;background:#efece6;animation:phIn 1.3s cubic-bezier(.65,0,.35,1) both}
.cons-ph img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
.cons-fig:hover .cons-ph img{transform:scale(1.045)}
.cons-badge{position:absolute;left:-28px;bottom:-24px;z-index:2;display:flex;align-items:center;gap:14px;padding:16px 22px;background:#1c1c1c;color:#ffffff;animation:fadeUp .9s cubic-bezier(.19,1,.22,1) both}
.cons-badge b{font-size:40px;font-weight:200;line-height:1;color:#c49ae6}
.cons-badge span{max-width:112px;font-size:13.5px;line-height:1.5;color:#e9e5de}
.cons .about-p{max-width:600px}
.cons-tags{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px;padding:0;list-style:none}
.cons-tags li{padding:8px 16px;border:1px solid #dcd8cf;font-size:14px;font-weight:500;color:#3a3835;transition:border-color .3s,color .3s}
.cons-tags li:hover{border-color:#8c51a5;color:#7a3f96}
@media (max-width:1100px){
  .cons{grid-template-columns:minmax(0,1fr);gap:64px}
  .cons-fig{justify-self:start;max-width:360px}
}
@media (max-width:640px){
  .cons-badge{left:12px;bottom:-20px;padding:12px 16px}
  .cons-badge b{font-size:32px}
  .cons-frame{transform:translate(10px,10px)}
}
.cons-role{margin:16px 0 0;font-size:15px;font-weight:500;color:#7a3f96}
.cons-acts{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.cons-in{display:grid;place-items:center;width:44px;height:44px;border:1px solid #dcd8cf;border-radius:50%;color:#1c1c1c;transition:background .3s,border-color .3s,color .3s}
.cons-in:hover{background:#1c1c1c;border-color:#1c1c1c;color:#ffffff}
.cm{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none}
.cm-ic{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid rgba(179,103,224,.45);border-radius:50%;color:#b367e0;transition:background .3s,border-color .3s,color .3s,transform .5s cubic-bezier(.19,1,.22,1)}
.cm:hover .cm-ic{background:#b367e0;border-color:#b367e0;color:#141414;transform:rotate(-10deg)}
.cm-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.cm-tx small{font-size:12.5px;font-weight:500;color:#8f8a82}
.cm-tx b{font-size:16px;font-weight:500;line-height:1.6;color:#ffffff;transition:color .3s}
.cm-tx b[dir=ltr]{text-align:right}
.cm:hover .cm-tx b{color:#dcc0f0}
.news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:end;padding-bottom:64px;margin-bottom:64px;border-bottom:1px solid #242424}
.news .eyebrow{margin-bottom:16px}
.ftr .news-h{margin:0 0 12px;font-size:36px;line-height:1.35;font-weight:600;color:#ffffff}
.news-h span{font-weight:300;color:#c49ae6}
.news-p{margin:0;max-width:440px;font-size:15.5px;line-height:1.9;font-weight:300;color:#bdb8af}
.news-row{display:flex;align-items:flex-end;gap:16px}
.news-fld{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}
.news-fld label{font-size:13px;font-weight:600;color:#8f8a82;transition:color .3s}
.news-fld:focus-within label{color:#c49ae6}
.news-fld input{min-height:54px;padding:10px 0;font:inherit;font-size:17px;color:#ffffff;background:transparent;border:0;border-bottom:1.5px solid #3a3a3a;border-radius:0;outline:none;transition:border-color .3s,box-shadow .3s}
.news-fld input::placeholder{color:#6f6a63}
.news-fld input:focus{border-bottom-color:#b367e0;box-shadow:0 2px 0 0 #b367e0}
.news .btn{flex:none;border:0;cursor:pointer;font-family:inherit}
.news .btn::before{background:#ffffff}
.news .btn:hover{color:#1c1c1c}
.news .btn[aria-busy=true]{opacity:.6;pointer-events:none}
.news-msg{margin:16px 0 0;font-size:14.5px;line-height:1.7;color:#bdb8af;animation:fadeUp .5s cubic-bezier(.19,1,.22,1) both}
.news-msg.ok{color:#dcc0f0}
.ftr-legal p{margin:0;max-width:340px;font-size:14px;line-height:1.95}
.ftr-legal .accr{display:flex;align-items:flex-start;gap:10px;margin-top:12px;color:#e9e5de}
.ftr-legal .accr svg{flex:none;margin-top:6px;color:#b367e0}
@media (max-width:1100px){
  .news{grid-template-columns:minmax(0,1fr);gap:28px}
}
@media (max-width:640px){
  .news-row{flex-direction:column;align-items:stretch}
  .news .btn{justify-content:center}
  .ftr .news-h{font-size:28px}
}
.wa-fab{position:fixed;left:24px;bottom:24px;z-index:80;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#ffffff;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.22);transition:transform .35s cubic-bezier(.19,1,.22,1);animation:waIn .8s 1.2s cubic-bezier(.2,1.5,.4,1) backwards}
.wa-fab:hover{color:#ffffff;transform:scale(1.08)}
.wa-fab::before,.wa-fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;opacity:0;pointer-events:none;animation:waRing 3.2s 2s ease-out infinite}
.wa-fab::after{animation-delay:3.6s}
.wa-fab:focus-visible{outline:2px solid #1c1c1c;outline-offset:3px}
.wa-tip{position:absolute;left:calc(100% + 12px);top:50%;padding:8px 14px;background:#1c1c1c;color:#ffffff;font-size:13.5px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-6px,-50%);transition:opacity .3s,transform .3s}
.wa-fab:hover .wa-tip,.wa-fab:focus-visible .wa-tip{opacity:1;transform:translate(0,-50%)}
@keyframes waIn{from{opacity:0;transform:scale(.3)}}
@keyframes waRing{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(1.75)}}
@keyframes frameIn{from{clip-path:inset(0 0 100% 100%)}to{clip-path:inset(0)}}
@keyframes phIn{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@media (max-width:640px){.wa-fab{left:16px;bottom:16px;width:54px;height:54px}}
.dr{animation-duration:1.6s;animation-timing-function:cubic-bezier(.65,0,.35,1);animation-fill-mode:both}
.l100{stroke-dasharray:100;animation-name:dl100}
.l150{stroke-dasharray:150;animation-name:dl150}
.l200{stroke-dasharray:200;animation-name:dl200}
.l270{stroke-dasharray:270;animation-name:dl270}
.l320{stroke-dasharray:320;animation-name:dl320}
.l430{stroke-dasharray:430;animation-name:dl430}
.l700{stroke-dasharray:700;animation-name:dl700}
.l800{stroke-dasharray:800;animation-name:dl800}
.l1100{stroke-dasharray:1100;animation-name:dl1100}
.l1800{stroke-dasharray:1800;animation-name:dl1800}
.pop{transform-box:fill-box;transform-origin:center;animation:pop .7s cubic-bezier(.2,1.5,.4,1) both}
.ring{transform-box:fill-box;transform-origin:center;vector-effect:non-scaling-stroke;opacity:0;animation:ring 3.2s ease-out infinite}
.fin{animation:fin .9s ease both}
.lbl{animation:lblIn .8s cubic-bezier(.19,1,.22,1) both}
.gy{transform-box:fill-box;transform-origin:bottom;animation:gy .9s cubic-bezier(.19,1,.22,1) both}
.spin{transform-box:fill-box;transform-origin:center;animation:spin 160s linear infinite}
.spin.rev{animation-direction:reverse;animation-duration:110s}
.sweep{transform-box:view-box;transform-origin:180px 90px;animation:spin 5s linear infinite}
.travel{animation:travel 1.6s .4s cubic-bezier(.65,0,.35,1) both}
.beam{animation:drop .9s cubic-bezier(.19,1,.22,1) both}
.mv{transform-box:fill-box;transform-origin:center;animation-duration:1s;animation-timing-function:cubic-bezier(.19,1,.22,1);animation-fill-mode:both}
.m1{animation-name:m1}.m2{animation-name:m2}.m3{animation-name:m3}.m4{animation-name:m4}.m5{animation-name:m5}.m6{animation-name:m6}

@keyframes dl100{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes dl150{from{stroke-dashoffset:150}to{stroke-dashoffset:0}}
@keyframes dl200{from{stroke-dashoffset:200}to{stroke-dashoffset:0}}
@keyframes dl270{from{stroke-dashoffset:270}to{stroke-dashoffset:0}}
@keyframes dl320{from{stroke-dashoffset:320}to{stroke-dashoffset:0}}
@keyframes dl430{from{stroke-dashoffset:430}to{stroke-dashoffset:0}}
@keyframes dl700{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}
@keyframes dl800{from{stroke-dashoffset:800}to{stroke-dashoffset:0}}
@keyframes dl1100{from{stroke-dashoffset:1100}to{stroke-dashoffset:0}}
@keyframes dl1800{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}
@keyframes rise{from{transform:translateY(110%)}to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes lineIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hdrIn{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
@keyframes shine{0%{left:-60%}28%{left:130%}100%{left:130%}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bob{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@keyframes breathe{from{opacity:.5}to{opacity:1}}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(6)}}
@keyframes fin{from{opacity:0}to{opacity:1}}
@keyframes lblIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes gy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes travel{from{transform:translate(-172px,98px)}to{transform:none}}
@keyframes drop{from{opacity:0;transform:translateY(-36px)}to{opacity:1;transform:none}}
@keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fillX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes nodeOn{from{background:#ffffff;border-color:#c9c4ba;transform:scale(.75)}to{background:#8c51a5;border-color:#8c51a5;transform:scale(1)}}
@keyframes rvIn{from{opacity:0;transform:translateY(56px)}to{opacity:1;transform:none}}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(50%)}}
@keyframes ripple{0%{opacity:0;transform:scale(.15)}15%{opacity:.9}100%{opacity:0;transform:scale(1)}}
@keyframes sheen{0%{background-position:0% 0}60%,100%{background-position:100% 0}}
@keyframes paneIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes bigIn{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:none}}
@keyframes m1{from{opacity:.2;transform:translate(-56px,30px) rotate(-35deg)}}
@keyframes m2{from{opacity:.2;transform:translate(10px,-28px) rotate(25deg)}}
@keyframes m3{from{opacity:.2;transform:translate(58px,24px) rotate(40deg)}}
@keyframes m4{from{opacity:.2;transform:translate(-48px,-26px) rotate(20deg)}}
@keyframes m5{from{opacity:.2;transform:translate(4px,30px) rotate(-30deg)}}
@keyframes m6{from{opacity:.2;transform:translate(60px,-30px) rotate(-18deg)}}

@supports (animation-timeline: view()){
  .prog-top{animation:fillX linear both;animation-timeline:scroll(root)}
  .rv{animation:rvIn linear both;animation-timeline:view();animation-range:entry 0px entry 280px}
  .sec-head .eb-line{animation:lineIn linear both;animation-timeline:view();animation-range:entry 30% cover 30%}
  .vt{view-timeline-name:--vt}
  .sd{animation-timeline:--vt;animation-duration:auto;animation-delay:0s}
  .sd.r0{animation-range:entry 20% cover 38%}
  .sd.r1{animation-range:entry 45% cover 42%}
  .sd.r2{animation-range:entry 70% cover 46%}
  .sd.r3{animation-range:entry 95% cover 50%}
  .sd.r4{animation-range:cover 35% cover 55%}
  .sd.tf{animation-range:cover 18% cover 52%}
  .sd.n1{animation-range:cover 18% cover 26%}
  .sd.n2{animation-range:cover 27% cover 35%}
  .sd.n3{animation-range:cover 36% cover 44%}
  .sd.n4{animation-range:cover 45% cover 53%}
}

@media (max-width:1100px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-txt{padding:56px 40px 48px}
  .hero-art{min-height:400px}
  .dial{display:none}
  .svc-wrap,.about,.cta-in,.sec-head.split{grid-template-columns:minmax(0,1fr)}
  .sec-head.split{gap:0}
  .when-grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .track-line{display:none}
  .cases,.ins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .sec{padding:88px 0}
  .h1{font-size:32px}
  .h2{font-size:33px}
  .cta-h{font-size:38px}
  .hero-txt{padding:44px 16px 40px}
  .hero-art{min-height:320px}
  .art-cap{display:none}
  .hdr-act .btn{display:none}
  .mw{font-size:24px}
  .svc-panel{padding:28px 22px;min-height:0}
  .svc-t{font-size:18px}
  .pane-t{font-size:24px}
  .when-grid,.cases,.ins-grid,.steps,.ftr-grid,.form,.svc-wrap.is-closed .svc-list{grid-template-columns:minmax(0,1fr)}
  .form{padding:30px 20px}
  .step-n{font-size:64px}
  .cta{padding:96px 0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}
.dc-if{display:contents}.dc-if[hidden]{display:none!important}
.flash{position:fixed;top:96px;left:50%;z-index:90;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:14px 22px;background:#1c1c1c;color:#ffffff;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.6;box-shadow:0 18px 40px rgba(0,0,0,.25);transform:translateX(-50%);animation:flashIn .6s cubic-bezier(.19,1,.22,1) both,flashOut .5s 6s ease forwards;pointer-events:none}
.flash::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:#b367e0}
.flash.err::before{background:#e0675f}
@keyframes flashIn{from{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes flashOut{to{opacity:0;visibility:hidden}}
/* seven header links: tighten them on narrower desktops before the menu folds into the button */
.nav a,.nav-btn{white-space:nowrap}
@media (max-width:1320px){.nav{gap:22px}.nav a,.nav-btn{font-size:14.5px}}

/* English pages run left to right: mirror the rules tied to the right-hand side */
[dir=ltr] .gridlines{background-image:linear-gradient(to right,rgba(28,28,28,.05) 1px,transparent 1px)}
[dir=ltr] .gridlines.d{background-image:linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px)}
[dir=ltr] .prog-top,[dir=ltr] .eb-line,[dir=ltr] .hl::after,[dir=ltr] .bar,[dir=ltr] .track-fill{transform-origin:left}
[dir=ltr] .nav a::after,[dir=ltr] .btn::before{transform-origin:right}
[dir=ltr] .nav a:hover::after,[dir=ltr] .btn:hover::before{transform-origin:left}
[dir=ltr] .dd{right:auto;left:-20px}
[dir=ltr] .dd::before{right:auto;left:0}
[dir=ltr] .arr{transform:scaleX(-1)}
[dir=ltr] .btn:hover svg.arr,[dir=ltr] .lnk:hover svg.arr{transform:translateX(6px) scaleX(-1)}
[dir=ltr] .svc-row:hover .svc-a,[dir=ltr] .svc-row.is-on .svc-a{transform:translateX(4px) scaleX(-1)}
[dir=ltr] .art-cap{left:auto;right:22px}
[dir=ltr] .dial{right:auto;left:-54px}
[dir=ltr] .marq-track{animation-name:marqL}
[dir=ltr] .pane-x{left:auto;right:18px}
[dir=ltr] .needs li::before{right:auto;left:0}
[dir=ltr] .pane-n{left:auto;right:24px;animation-name:bigInL}
[dir=ltr] .node{right:auto;left:0}
[dir=ltr] .flow li{grid-template-columns:84px minmax(0,1fr)}
[dir=ltr] .ripples{right:auto;left:-200px}
[dir=ltr] .form::before{right:auto;left:0}
[dir=ltr] .cons-frame{transform:translate(-18px,18px)}
[dir=ltr] .cons-badge{left:auto;right:-28px}
.ftr-links a[dir=ltr]{text-align:right}
[dir=ltr] .cm-tx b[dir=ltr],[dir=ltr] .ftr-links a[dir=ltr]{text-align:left}
[dir=ltr] .mark{font-size:clamp(56px,11vw,170px)}
[dir=ltr] .wa-fab{left:auto;right:24px}
[dir=ltr] .wa-tip{left:auto;right:calc(100% + 12px);transform:translate(6px,-50%)}
[dir=ltr] .wa-fab:hover .wa-tip,[dir=ltr] .wa-fab:focus-visible .wa-tip{transform:translate(0,-50%)}
/* the English link labels are longer: closer links, and the menu folds into the button below 1280px */
[dir=ltr] .nav{gap:24px}
@media (max-width:1279px){
  [dir=ltr] .nav{display:none}
  [dir=ltr] .menu-btn{display:inline-flex}
}
@keyframes marqL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bigInL{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  [dir=ltr] .cons-badge{left:auto;right:12px}
  [dir=ltr] .cons-frame{transform:translate(-10px,10px)}
  [dir=ltr] .wa-fab{left:auto;right:16px}
}

/* صفحات الخدمات الست: افتتاحية داكنة ومحتوى فاتح بقالب واحد */
.sv-hero{position:relative;overflow:hidden;background:#171717;color:#ffffff}
.sv-hero-in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:64px;align-items:center;min-height:540px;padding-block:56px 72px}
.sv-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 34px;font-size:13px;color:#77726b;animation:fadeUp .8s cubic-bezier(.19,1,.22,1) both}
.sv-crumbs a{color:#bdb8af;text-decoration:none;transition:color .3s}
.sv-crumbs a:hover{color:#ffffff}
.sv-crumbs [aria-current]{color:#e9e5de}
.sv-h1{margin:0 0 8px;font-size:46px;line-height:1.3;font-weight:700;color:#ffffff}
.sv-h1 .ln>span{animation:rise 1.2s .15s cubic-bezier(.19,1,.22,1) both}
.sv-en{margin:0 0 26px;font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#8f8a82;text-align:right}
.sv-tag{margin:0 0 16px;font-size:22px;line-height:1.6;font-weight:500;color:#c49ae6}
.sv-intro{margin:0 0 34px;max-width:560px;font-size:17px;line-height:1.95;font-weight:300;color:#d8d3cb}
.sv-hero .btn-line{border-color:rgba(255,255,255,.35);color:#ffffff}
.sv-hero .btn-line::before{background:#ffffff}
.sv-hero .btn-line:hover{color:#1c1c1c}
.sv-art{position:relative;display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:380px;overflow:hidden;border:1px solid #2a2a2a;background:radial-gradient(circle at 50% 55%,rgba(140,81,165,.18),rgba(140,81,165,0) 62%);animation:fin 1s .2s ease both}
.sv-art .svc-ill{position:relative;z-index:1;width:84%;max-width:520px;margin:0}
.sv-num{position:absolute;inset-inline-end:20px;bottom:-34px;z-index:0;font-size:210px;font-weight:200;line-height:1;color:#242424;pointer-events:none}

.sv-h2{position:relative;margin:0 0 44px;padding-top:24px;font-size:36px;line-height:1.35;font-weight:600}
.sv-h2::before{content:"";position:absolute;top:0;inset-inline-start:0;width:44px;height:2px;background:#8c51a5}
.sv-i{font-size:14px;font-weight:300;color:#7a3f96}

.sv-over-in{display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:48px;align-items:start}
.sv-over-in .eyebrow{margin-top:16px}
.sv-over-p{margin:0;font-size:26px;line-height:1.75;font-weight:300;color:#1c1c1c}

.sv-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid #dcd8cf;border-inline-start:1px solid #dcd8cf}
.sv-needs li{position:relative;display:flex;flex-direction:column;gap:18px;min-height:168px;padding:28px 26px;border-bottom:1px solid #dcd8cf;border-inline-end:1px solid #dcd8cf;transition:background .4s}
.sv-needs li::before{content:"";position:absolute;top:-1px;inset-inline:0;height:2px;background:#8c51a5;transform:scaleX(0);transition:transform .5s cubic-bezier(.65,0,.35,1)}
.sv-needs li:hover{background:#ffffff}
.sv-needs li:hover::before{transform:scaleX(1)}
.sv-needs p{margin:0;font-size:17px;line-height:1.8;font-weight:500;color:#1c1c1c}

.sv-help{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:64px;align-items:start}
.sv-help-head{position:sticky;top:120px}
.sv-help-list{border-top:1px solid #dcd8cf}
.sv-help-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:30px 0;border-bottom:1px solid #dcd8cf}
.sv-help-item .sv-i{padding-top:7px;font-size:15px}
.sv-help-item h3{margin:0 0 10px;font-size:21px;line-height:1.5;font-weight:600;transition:color .3s}
.sv-help-item p{margin:0;font-size:16px;line-height:1.9;font-weight:300;color:#3a3835}
.sv-help-item:hover h3{color:#7a3f96}

.sv-out-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 40px;margin-bottom:36px}
.sv-out-head .sv-h2{margin-bottom:0}
.sv-lead{margin:0;font-size:16px;font-weight:300;color:#57544f}
.sv-outs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 28px;padding:0;list-style:none}
.sv-outs li{display:flex;align-items:flex-start;gap:16px;padding:24px;background:#f5f3ef;border:1px solid transparent;font-size:16.5px;line-height:1.75;font-weight:500;transition:border-color .4s,background .4s}
.sv-outs li:hover{background:#ffffff;border-color:#dcd8cf}
.sv-check{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#8c51a5;color:#ffffff}
.sv-note{display:flex;align-items:flex-start;gap:14px;margin:0;padding:20px 24px;border:1px solid #dcc0f0;background:#faf7fc;font-size:15.5px;line-height:1.9;color:#3a3835}
.sv-note svg{flex:none;margin-top:4px;color:#8c51a5}

.sv-rel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sv-rel-card{display:flex;flex-direction:column;gap:14px;padding:34px 32px;background:#ffffff;border:1px solid #e4e0d8;color:#1c1c1c;text-decoration:none;transition:border-color .4s,box-shadow .5s}
.sv-rel-card:hover{border-color:#8c51a5;box-shadow:0 22px 48px rgba(28,28,28,.08);color:#1c1c1c}
.sv-rel-card h3{margin:0;font-size:24px;line-height:1.45;font-weight:600}
.sv-rel-card p{margin:0;font-size:15.5px;line-height:1.9;color:#57544f}
.sv-rel-card .lnk{margin-top:auto;padding-top:8px}
.sv-rel-card:hover .lnk svg{transform:translateX(-6px)}
[dir=ltr] .sv-rel-card:hover .lnk svg.arr{transform:translateX(6px) scaleX(-1)}

.sv-cta{padding:104px 0}
.sv-cta-in{max-width:860px}
.sv-cta-h{margin:0 0 34px;font-size:40px;line-height:1.45;font-weight:600;color:#ffffff}
.sv-mail{display:inline-flex;align-items:center;min-height:48px;color:#bdb8af;text-decoration:none;font-size:15px;transition:color .3s}
.sv-mail:hover{color:#ffffff}

@media (max-width:1100px){
  .sv-hero-in{grid-template-columns:minmax(0,1fr);gap:40px;min-height:0}
  .sv-art{min-height:300px}
  .sv-over-in,.sv-help{grid-template-columns:minmax(0,1fr);gap:16px}
  .sv-help-head{position:static}
  .sv-needs,.sv-outs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .sv-hero-in{padding-block:36px 48px}
  .sv-h1{font-size:32px}
  .sv-tag{font-size:18px}
  .sv-art{min-height:230px}
  .sv-num{font-size:130px;bottom:-20px}
  .sv-over-p{font-size:20px}
  .sv-h2{font-size:27px;margin-bottom:32px}
  .sv-needs,.sv-outs,.sv-rel{grid-template-columns:minmax(0,1fr)}
  .sv-needs li{min-height:0}
  .sv-help-item{grid-template-columns:36px minmax(0,1fr);gap:12px}
  .sv-rel-card{padding:28px 22px}
  .sv-cta{padding:80px 0}
  .sv-cta-h{font-size:28px}
}

/* نموذج التواصل: علامة الحقل المطلوب، وسطر الخطأ تحت كل حقل، وخيار «اختر الخدمة» باهت حتى يُختار غيره */
.req{margin-inline-start:2px;color:#8c51a5}
.fld-err{margin:0;font-size:13px;line-height:1.6;color:#b3261e}
.fld [aria-invalid=true]{border-bottom-color:#b3261e}
.fld select:invalid{color:#8f8a82}
.fld select option{color:#1c1c1c}
[dir=rtl] .fld input[dir=ltr]{text-align:right}
.form-note{grid-column:1 / -1;margin:0;font-size:13px;line-height:1.7;color:#77726b}
.form-err{grid-column:1 / -1;margin:0;padding:12px 16px;border:1px solid #f0c4c0;background:#fdf3f2;font-size:14px;line-height:1.7;color:#8a1f17}
.form .btn[aria-busy=true]{opacity:.7;cursor:progress}
.cap{display:flex;align-items:center;gap:14px}
.cap-q{display:inline-flex;flex:none;gap:8px;font-size:20px;font-weight:600;color:#1c1c1c;white-space:nowrap;font-variant-numeric:tabular-nums}
.cap input{flex:none;width:96px;text-align:center}
.cap-new{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #dcd8cf;border-radius:50%;background:transparent;color:#57544f;cursor:pointer;transition:color .3s,border-color .3s}
.cap-new:hover,.cap-new:focus-visible{color:#7a3f96;border-color:#8c51a5}
.cap-new[aria-busy=true] svg{animation:capspin .8s linear infinite}
@keyframes capspin{to{transform:rotate(360deg)}}
.tel{display:flex;align-items:stretch;direction:ltr;border-bottom:1.5px solid #cfc9bf;transition:border-color .3s,box-shadow .3s}
.tel:focus-within{border-bottom-color:#8c51a5;box-shadow:0 2px 0 0 #8c51a5}
.tel:has([aria-invalid=true]){border-bottom-color:#b3261e}
.tel input{flex:1;min-width:0;padding-inline-start:12px;border-bottom:0}
.tel input:focus{box-shadow:none}
[dir=rtl] .tel input[dir=ltr]{text-align:left}
.tel-cc{position:relative;display:flex;align-items:center;flex:none;padding-inline-end:12px;border-inline-end:1px solid #e4dfd6;margin-block:8px}
.tel-cc-v{display:flex;align-items:center;gap:8px;font-size:16px;color:#1c1c1c;font-variant-numeric:tabular-nums;pointer-events:none;transition:color .3s}
.tel-cc-v::after{content:"";width:6px;height:6px;border:solid #8f8a82;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg)}
.tel-cc:focus-within .tel-cc-v{color:#7a3f96}
.fld .tel-cc select{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;opacity:0;cursor:pointer}
[dir=rtl] .tel-cc select{direction:rtl}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cases.umb{grid-template-columns:repeat(4,minmax(0,1fr))}
.cases.umb .case-body{padding-inline:22px}
.cases.umb .case-t{font-size:20px}
.umb-list{list-style:none;margin:0;padding:0}
.umb-list a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px dashed #343434;font-size:15px;line-height:1.7;color:#bdb8af;text-decoration:none;transition:color .3s}
.umb-list a:hover,.umb-list a:focus-visible{color:#ffffff}
.umb-list a:focus-visible{outline:2px solid #c49ae6;outline-offset:2px}
.umb-list span{font-size:13px;line-height:1.9;color:#c49ae6;font-variant-numeric:tabular-nums}
@media (max-width:1279px){.cases.umb{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cases.umb{grid-template-columns:minmax(0,1fr)}}
.pane-v{margin:0 0 10px;font-size:15px;line-height:1.8;color:#c49ae6}
.needs li:nth-child(4){animation-delay:.55s}
.needs li:nth-child(5){animation-delay:.65s}

/* صفحة الأكاديمية: فهرس المسارات في الافتتاحية، ثم قسم لكل مسار. الأقسام تنزل تحت الترويسة الثابتة */
.ac-sec{scroll-margin-top:84px}
.sv-art.ac-index{flex-direction:column;align-items:stretch;justify-content:center;gap:18px;padding:40px 44px}
.ac-index-t{margin:0;font-size:14px;font-weight:500;color:#c49ae6}
.ac-index ol{margin:0;padding:0;list-style:none}
.ac-index a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:20px 0;border-top:1px solid #2c2c2c;font-size:21px;font-weight:500;line-height:1.5;color:#ffffff;text-decoration:none;transition:color .3s}
.ac-index li:last-child a{border-bottom:1px solid #2c2c2c}
.ac-index a span{font-size:14px;font-weight:300;color:#c49ae6;font-variant-numeric:tabular-nums}
.ac-index a svg{color:#77726b;transition:color .3s,transform .4s cubic-bezier(.19,1,.22,1)}
.ac-index a:hover,.ac-index a:focus-visible{color:#dcc0f0}
.ac-index a:hover svg{color:#c49ae6;transform:translateX(-6px)}
[dir=ltr] .ac-index a:hover svg.arr{transform:translateX(6px) scaleX(-1)}
.ac-index a:focus-visible{outline:2px solid #c49ae6;outline-offset:4px}

/* عنوان تحته عنوان صغير بخط؛ لا حاجة لخط ثانٍ فوقه */
.ac-h2{margin-bottom:22px;padding-top:0}
.ac-h2::before{display:none}
.ac-p{margin:0 0 34px;max-width:620px;font-size:17px;line-height:1.95;font-weight:300}
.paper .ac-p{color:#3a3835}
.dark .ac-p{color:#d8d3cb}
.ac-tagline{margin:0 0 18px;font-size:22px;line-height:1.6;font-weight:500;color:#7a3f96}
.ac-exec{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px;align-items:center}
.ac-aud{padding:38px 36px;background:#171717;color:#ffffff}
.ac-aud h3{margin:0 0 14px;font-size:15px;font-weight:500;color:#c49ae6}
.ac-aud p{margin:0;font-size:19px;line-height:1.85;font-weight:300;color:#e9e5de}

.ac-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:20px 56px;align-items:end;margin-bottom:44px}
.ac-head .sv-h2{margin-bottom:0}
.ac-lead{margin:0;max-width:600px;font-size:17px;line-height:1.9;font-weight:300;color:#57544f}
.ac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ac-card{position:relative}
.ac-card.all{justify-content:center;background:#171717;border-color:#171717;color:#ffffff}
.ac-card.all:hover{border-color:#8c51a5;color:#ffffff}
.ac-card.all p{color:#bdb8af}
.ac-card .ac-tag{font-size:13px;line-height:1.6;font-weight:500;color:#7a3f96}

.ac-co{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:64px;align-items:center}
.ac-co .sv-h2{color:#ffffff}
.ac-ben{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.ac-ben li{display:flex;align-items:flex-start;gap:18px;padding:24px 26px;background:#1f1f1f;border:1px solid #2c2c2c;transition:border-color .4s}
.ac-ben li:hover{border-color:#8c51a5}
.ac-ben h3{margin:0 0 6px;font-size:19px;font-weight:600;line-height:1.5;color:#ffffff}
.ac-ben p{margin:0;font-size:15.5px;line-height:1.85;color:#bdb8af}

.ac-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.ac-why li{padding-top:22px;border-top:1px solid #dcd8cf}
.ac-why h3{margin:12px 0 10px;font-size:20px;font-weight:600;line-height:1.5}
.ac-why p{margin:0;font-size:15.5px;line-height:1.9;color:#57544f}

/* صفحة سياسة الخصوصية: افتتاحية قصيرة، ومحتويات ثابتة بجانب النص على الشاشات الواسعة */
.pv-hero-in{padding-block:56px 64px}
.pv-hero .sv-h1{margin-bottom:14px}
.pv-updated{margin:0;font-size:15px;color:#bdb8af}
.pv-in{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:72px;align-items:start}
.pv-toc{position:sticky;top:110px;max-height:calc(100vh - 140px);overflow:auto}
.pv-toc summary{margin:0 0 14px;font-size:14px;font-weight:600;color:#7a3f96;cursor:pointer;list-style:none}
.pv-toc summary::-webkit-details-marker{display:none}
.pv-toc ol{margin:0;padding:0;list-style:none}
.pv-toc a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid #e4e0d8;font-size:14.5px;line-height:1.7;color:#57544f;text-decoration:none;transition:color .3s}
.pv-toc a span{font-size:13px;color:#8c51a5;font-variant-numeric:tabular-nums}
.pv-toc a:hover,.pv-toc a:focus-visible{color:#1c1c1c}
.pv-body{max-width:780px}
.pv-body p,.pv-body li{font-size:17px;line-height:2;color:#3a3835}
.pv-body p{margin:0 0 16px}
.pv-body .pv-lead{font-size:19px;color:#1c1c1c}
.pv-body h2{display:flex;align-items:baseline;gap:14px;margin:52px 0 16px;padding-top:24px;border-top:1px solid #e4e0d8;font-size:26px;line-height:1.5;font-weight:600;scroll-margin-top:100px}
.pv-body h2 span{flex:none;font-size:15px;font-weight:300;color:#8c51a5;font-variant-numeric:tabular-nums}
.pv-body ul{margin:0 0 18px;padding:0;list-style:none}
.pv-body li{position:relative;margin:0 0 10px;padding-inline-start:22px}
.pv-body li::before{content:"";position:absolute;top:.95em;inset-inline-start:0;width:8px;height:1.5px;background:#8c51a5}
.pv-body strong{font-weight:600;color:#1c1c1c}
.pv-body a{color:#7a3f96;text-decoration:underline;text-underline-offset:3px}
.pv-body a:hover{color:#5c2c74}

@media (max-width:1100px){
  .ac-exec,.ac-co,.ac-head{grid-template-columns:minmax(0,1fr);gap:28px}
  .ac-head{gap:14px}
  .ac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-why{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
  .pv-in{grid-template-columns:minmax(0,1fr);gap:8px}
  .pv-toc{position:static;max-height:none;padding:18px 20px;border:1px solid #e4e0d8;background:#f5f3ef}
  .pv-toc summary{display:flex;justify-content:space-between;align-items:center;margin:0}
  .pv-toc summary::after{content:"";width:8px;height:8px;border:solid #7a3f96;border-width:0 1.5px 1.5px 0;transform:translateY(-3px) rotate(45deg);transition:transform .3s}
  .pv-toc[open] summary{margin-bottom:12px}
  .pv-toc[open] summary::after{transform:translateY(2px) rotate(-135deg)}
}
@media (max-width:640px){
  .sv-art.ac-index{padding:28px 22px}
  .ac-index a{font-size:18px;padding:16px 0}
  .ac-tagline{font-size:19px}
  .ac-aud{padding:28px 24px}
  .ac-aud p{font-size:17px}
  .ac-grid,.ac-why{grid-template-columns:minmax(0,1fr)}
  .pv-hero-in{padding-block:36px 44px}
  .pv-body p,.pv-body li{font-size:16px}
  .pv-body .pv-lead{font-size:17px}
  .pv-body h2{font-size:21px;margin-top:40px}
}

/* أسماء الخدمات الإنجليزية الطويلة تلتف داخل قائمة الترويسة بدل أن تخرج عنها */
.nav .dd a{white-space:normal}

/* صفة المستشار تحت اسمه مباشرة بالبنفسجي */
.cons-role{margin-top:12px;font-size:17px;color:#8c51a5}
