/* What We Do — additions on top of the production newtecx.css (wd-* only).
   Uses the site's own tokens (--navy, --blue, --line, --radius-lg …). Logical properties
   throughout, so Arabic (RTL) needs no mirrored copies. */

.wd-page{--odoo:#714B67;}
.wd-page main [id]{scroll-margin-top:calc(var(--header-h) + 80px);}

/* ---------- screens + compact heroes ---------- */
.wd-screen{display:block;}
.page-hero.wd-hero{padding-block:clamp(52px,6.5vw,92px) clamp(56px,7vw,100px);}
.page-hero.has-photo.wd-hero{padding-block:clamp(56px,7vw,100px) clamp(60px,7.5vw,108px);}
.page-hero.wd-hero .lead{max-width:600px;}
.page-hero.wd-hero .h1:focus{outline:none;}
/* partners on the overview hero: official full-colour logos on one light bar */

/* ---------- one hero system: every screen carries an artwork from the same family ---------- */
.page-hero.wd-hero{padding-block:clamp(48px,6vw,84px) clamp(52px,6.5vw,92px); background:var(--navy-deep); min-height:clamp(480px,40vw,580px); display:flex; align-items:center;}
.page-hero.wd-hero > .wrap{width:100%; position:relative;}
.wd-hero .ph-grid, .wd-hero .ph-grid.solo{grid-template-columns:minmax(0,1fr);}
.wd-hero-copy{position:relative; z-index:1; max-width:860px;}
.wd-hero .h1{max-width:680px;} .wd-hero .lead{max-width:600px;}
.wd-hero-art{position:absolute; inset:0; background-size:cover; background-position:right center; background-repeat:no-repeat;}
.wd-hero-art.a-rtl{background-position:left center;}
/* one layer per direction and size: wide LTR by default */
.wd-hero-art.a-rtl, .wd-hero-art.a-m{display:none;}
html[dir="rtl"] .wd-hero-art:not(.a-rtl){display:none;}
html[dir="rtl"] .wd-hero-art.a-rtl:not(.a-m){display:block;}
.wd-hero-artveil{position:absolute; inset:0; background:linear-gradient(90deg, rgba(3,8,20,.9) 0%, rgba(3,8,20,.72) 30%, rgba(3,8,20,.28) 52%, rgba(3,8,20,0) 68%), linear-gradient(0deg, rgba(3,8,20,.55) 0%, rgba(3,8,20,0) 28%);}
html[dir="rtl"] .wd-hero-artveil{background:linear-gradient(270deg, rgba(3,8,20,.9) 0%, rgba(3,8,20,.72) 30%, rgba(3,8,20,.28) 52%, rgba(3,8,20,0) 68%), linear-gradient(0deg, rgba(3,8,20,.55) 0%, rgba(3,8,20,0) 28%);}

/* platform association under the lead: official full-colour logos on one light bar, once per screen */
.wd-assoc{margin-top:28px;}
.wd-assoc-k{display:block; margin-bottom:10px; font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-soft);}
html[dir="rtl"] .wd-assoc-k{letter-spacing:.02em;}
.wd-assoc-bar{display:inline-flex; flex-wrap:wrap; align-items:center; gap:10px 24px; padding:12px 20px; border-radius:16px; background:rgba(255,255,255,.96); box-shadow:0 20px 50px -30px rgba(0,0,0,.8);}
.wd-assoc-bar .sep{width:1px; height:26px; background:var(--line);}
.wd-assoc-i{display:inline-flex; align-items:center; gap:10px; font-size:13.5px; font-weight:700; color:var(--navy);}
.wd-assoc-i img{height:26px; width:auto;}
.wd-assoc-i.wide img{height:28px;}
.wd-badge{display:inline-grid; place-items:center;}
.wd-badge img{height:64px; width:auto;}

/* ---------- level 1: the four capabilities ---------- */
.wd-cats{display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:clamp(32px,5vw,76px); align-items:stretch; margin-top:clamp(34px,4vw,54px);}
.wd-cat-list{border-top:1px solid var(--line); align-self:start;}
.wd-cat{position:relative; display:grid; grid-template-columns:50px minmax(0,1fr) 42px; gap:6px 20px; padding:24px 0; border-bottom:1px solid var(--line);}
.wd-cat::before{content:""; position:absolute; top:-1px; inset-inline-start:0; height:2px; width:0; background:var(--blue); transition:width .45s var(--ease);}
.wd-cat.is-active::before{width:88px;}
.wd-cat .ic{grid-row:1 / span 3; width:50px; height:50px; border-radius:14px; background:var(--blue-ghost); color:var(--blue); display:grid; place-items:center; transition:background-color .3s, color .3s;}
.wd-cat .ic svg{width:24px; height:24px;}
.wd-cat.is-active .ic{background:var(--blue); color:#fff;}
.wd-cat h3{font-size:clamp(20px,1.75vw,24px); font-weight:800; letter-spacing:-.015em; line-height:1.2;}
html[dir="rtl"] .wd-cat h3{letter-spacing:0;}
.wd-cat h3 a{color:var(--ink); transition:color .2s;}
.wd-cat h3 a::after{content:""; position:absolute; inset:0;}
.wd-cat.is-active h3 a{color:var(--blue);}
.wd-cat p{font-size:16px; line-height:1.55; color:var(--muted);}
.wd-cat .go{grid-column:3; grid-row:1 / span 2; align-self:center; width:42px; height:42px; border-radius:50%; border:1px solid var(--line-strong); display:grid; place-items:center; color:var(--ink); transition:background-color .25s, border-color .25s, color .25s, transform .25s var(--ease);}
.wd-cat .go svg{width:18px; height:18px;}
html[dir="rtl"] .wd-cat .go svg{transform:scaleX(-1);}
.wd-cat.is-active .go{background:var(--blue); border-color:var(--blue); color:#fff; transform:translateX(3px);}
html[dir="rtl"] .wd-cat.is-active .go{transform:translateX(-3px);}
.wd-sub{position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
.wd-sub a{font-size:13.5px; font-weight:700; padding:7px 13px; border-radius:999px; border:1px solid var(--line-strong); color:var(--ink); background:#fff; transition:border-color .2s, color .2s, background-color .2s;}
.wd-sub a:hover, .wd-sub a:focus-visible{border-color:var(--blue); color:var(--blue); background:var(--blue-ghost);}
.wd-sub a.strong{background:var(--navy); border-color:var(--navy); color:#fff;}
.wd-sub a.strong:hover{background:var(--blue); border-color:var(--blue); color:#fff;}
.wd-stage{position:relative; border-radius:var(--radius-lg); overflow:hidden; background:var(--navy); min-height:480px; box-shadow:var(--shadow);}
.wd-vis{position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .5s var(--ease), visibility 0s .5s;}
.wd-vis.on{opacity:1; visibility:visible; transition:opacity .5s var(--ease), visibility 0s;}
.wd-vis > img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.wd-vis .veil{position:absolute; inset:0; background:linear-gradient(180deg, rgba(7,16,38,.15) 30%, rgba(7,16,38,.86) 100%);}
.wd-vis .glow{opacity:.9;}
.wd-plate{position:absolute; inset-inline-start:24px; top:22px; display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; padding:12px 18px; border-radius:14px; background:rgba(255,255,255,.96); box-shadow:var(--shadow-sm);}
.wd-plate img{height:24px; width:auto;}
.wd-plate i{width:1px; height:20px; background:var(--line);}
.wd-vis .cap{position:absolute; inset-inline:28px; bottom:26px; color:#fff;}
.wd-vis .cap .k{font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-soft);}
html[dir="rtl"] .wd-vis .cap .k{letter-spacing:.02em;}
.wd-vis .cap b{display:block; margin-top:8px; font-size:clamp(19px,1.6vw,23px); font-weight:800; letter-spacing:-.01em; line-height:1.3; max-width:30ch;}
.wd-ai-orbit{position:absolute; inset:0 0 34% 0; display:grid; place-items:center;}
.wd-ai-orbit .ring{position:absolute; width:300px; height:300px; border-radius:50%; border:1px dashed rgba(143,182,255,.28);}
.wd-ai-orbit .ring.r2{width:180px; height:180px; border-style:solid; border-color:rgba(143,182,255,.16);}
.wd-ai-node{position:absolute; display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.06); border:1px solid rgba(150,185,255,.24); border-radius:14px; padding:10px 14px; color:#fff; font-size:13.5px; font-weight:700; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); white-space:nowrap;}
.wd-ai-node img{width:30px; height:30px; object-fit:contain;}
.wd-ai-ic{display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--blue); color:#fff;}
.wd-ai-ic svg{width:18px; height:18px;}
.wd-ai-node small{display:block; font-size:11px; font-weight:600; color:var(--text-dark-2); letter-spacing:.02em;}
.wd-ai-node.n1{transform:translate(-118px,-92px);} .wd-ai-node.n2{transform:translate(118px,-20px);} .wd-ai-node.n3{transform:translate(-96px,78px);}

/* ---------- level 2: solution choice ---------- */
.wd-choose{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(18px,2.2vw,28px); margin-top:clamp(32px,4vw,52px);}
.wd-choose.three{grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,1.8vw,22px);}
.wd-sol{position:relative; display:grid; grid-template-rows:auto 1fr; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; transition:box-shadow .35s var(--ease), transform .35s var(--ease), border-color .35s;}
.wd-sol:hover, .wd-sol:focus-within{box-shadow:var(--shadow); transform:translateY(-3px); border-color:transparent;}
.wd-sol-media{position:relative; aspect-ratio:16/7; overflow:hidden; background:var(--navy);}
.wd-choose.three .wd-sol-media{aspect-ratio:16/8;}
.wd-sol-media > img.bg{width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease);}
.wd-sol:hover .wd-sol-media > img.bg{transform:scale(1.04);}
.wd-sol-media .veil{position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,16,38,.9) 0%, rgba(7,16,38,.55) 55%, rgba(7,16,38,.2) 100%);}
html[dir="rtl"] .wd-sol-media .veil{background:linear-gradient(270deg, rgba(7,16,38,.9) 0%, rgba(7,16,38,.55) 55%, rgba(7,16,38,.2) 100%);}
.wd-sol-media .eb{position:absolute; inset-inline-start:24px; top:22px; z-index:1;}
.wd-sol-media .logos{position:absolute; inset-inline-start:20px; bottom:18px; display:flex; align-items:center; gap:14px; z-index:1; padding:9px 14px; border-radius:12px; background:rgba(255,255,255,.95); box-shadow:0 12px 30px -18px rgba(0,0,0,.7);}
.wd-sol-media .logos img{height:22px; width:auto;}
.wd-sol-media .logos img.lock{height:28px;}
.wd-sol-media .logos i{width:1px; height:20px; background:var(--line);}
/* icon-led media for capabilities without photography */
.wd-art{position:absolute; inset:0; background:linear-gradient(140deg, var(--navy) 0%, var(--navy-soft) 100%);}
.wd-art .dots{position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.08) 1.3px, transparent 1.3px); background-size:24px 24px; -webkit-mask-image:linear-gradient(90deg, transparent, #000 60%); mask-image:linear-gradient(90deg, transparent, #000 60%);}
.wd-art-ic{position:absolute; inset-inline-end:22px; top:50%; transform:translateY(-50%); display:flex; gap:10px;}
.wd-art-ic span{display:grid; place-items:center; width:52px; height:52px; border-radius:15px; background:rgba(255,255,255,.07); border:1px solid rgba(150,185,255,.22); color:#cfe0ff; transition:background-color .35s var(--ease), color .35s, transform .35s var(--ease);}
.wd-art-ic span:nth-child(2){transform:translateY(-14px);}
.wd-art-ic svg{width:24px; height:24px;}
.wd-sol:hover .wd-art-ic span{background:var(--blue); border-color:var(--blue); color:#fff;}
.wd-sol-body{padding:clamp(20px,2.2vw,28px); display:grid; gap:14px; align-content:start;}
.wd-sol h3{font-size:clamp(20px,1.8vw,26px); font-weight:800; letter-spacing:-.02em; line-height:1.2;}
html[dir="rtl"] .wd-sol h3{letter-spacing:0; line-height:1.35;}
.wd-choose.three .wd-sol h3{font-size:clamp(19px,1.5vw,22px);}
.wd-sol h3 a{color:var(--ink);}
.wd-sol h3 a::after{content:""; position:absolute; inset:0; z-index:2;}
.wd-sol p{font-size:15.5px; color:var(--muted); line-height:1.6;}
.wd-names{display:flex; flex-wrap:wrap; align-content:flex-start; align-items:flex-start; gap:7px;}
.wd-names li{font-size:13px; font-weight:700; color:var(--ink); background:var(--light); border-radius:8px; padding:5px 10px;}
.wd-sol .more{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:4px; padding-top:16px; border-top:1px solid var(--line); align-self:end;}
.wd-sol .more .textlink{pointer-events:none; white-space:normal; text-align:end;}
.wd-sol .more small{font-size:13px; color:var(--faint); font-weight:600; white-space:nowrap;}
.wd-sol.wide{grid-column:1 / -1; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); grid-template-rows:none;}
.wd-sol.wide .wd-sol-media{aspect-ratio:auto; min-height:260px;}
/* One card layout, aligned across a row: the body is a column whose footer sits on the bottom edge, and where
   subgrid is available, every card in a row shares the same tracks (media, title, summary, tags, footer), so
   titles, summaries, tag lists, dividers, counts and links line up whatever each card's content. */
/* The footer: the count under the divider and the link on the bottom edge; in the two-column grid (wide cards)
   they share one baseline. (No container query here: containment would stop the card being a subgrid.) */
.wd-sol-body{display:flex; flex-direction:column;}
.wd-sol .more{display:grid; grid-template-columns:minmax(0,1fr); align-content:space-between; align-self:stretch; gap:8px; margin-top:auto;}
.wd-sol .more small{justify-self:start;}
.wd-sol .more .textlink{justify-self:end; width:auto; margin:0; white-space:normal; text-align:end;}
@media (min-width:621px){
  .wd-choose:not(.three) .wd-sol .more{grid-template-columns:auto minmax(0,1fr); align-items:last baseline;}
}
@supports (grid-template-rows:subgrid){
  .wd-sol:not(.wide){grid-row:span 5; grid-template-rows:subgrid; row-gap:0;}
  .wd-sol:not(.wide) > .wd-sol-body{grid-row:span 4; display:grid; grid-template-rows:subgrid; row-gap:14px;}
}

.wd-duo{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5vw,80px); align-items:center;}
.wd-duo-items{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;}
.wd-duo-items > div{padding:clamp(22px,2.6vw,32px); display:grid; gap:10px; align-content:start;}
.wd-duo-items > div + div{border-inline-start:1px solid var(--line);}
.wd-duo-items img{height:34px; width:auto; margin-bottom:6px;}
.wd-duo-items h3{font-size:19px; font-weight:800;}
.wd-duo-items p{font-size:15px; color:var(--muted); line-height:1.55;}
.wd-duo-items .tier{justify-self:start; font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); background:var(--blue-ghost); padding:4px 9px; border-radius:6px;}
.wd-duo .links{margin-top:22px; display:flex; flex-wrap:wrap; gap:14px 26px;}

/* ---------- level 3: solution switcher (light sibling of .sanad-bar) ---------- */
.wd-switch{position:sticky; top:var(--header-h); z-index:80; background:rgba(255,255,255,.94); -webkit-backdrop-filter:saturate(180%) blur(14px); backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid var(--line);}
.wd-switch .wrap{display:flex; align-items:center; gap:clamp(12px,2vw,24px); min-height:62px;}
.wd-back{display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:700; color:var(--muted); white-space:nowrap; transition:color .2s;}
.wd-back svg{width:16px; height:16px; flex:none;}
html[dir="rtl"] .wd-back svg{transform:scaleX(-1);}
.wd-back:hover{color:var(--blue);}
.wd-switch .div{width:1px; height:26px; background:var(--line-strong); flex:none;}
.wd-seg{display:flex; gap:4px; padding:4px; background:var(--light); border-radius:999px; overflow-x:auto; scrollbar-width:none; min-width:0;}
.wd-seg::-webkit-scrollbar{display:none;}
.wd-seg a{padding:9px 18px; border-radius:999px; font-size:14.5px; font-weight:700; color:var(--muted); white-space:nowrap; transition:background-color .2s, color .2s, box-shadow .2s;}
.wd-seg a:hover{color:var(--ink);}
.wd-seg a[aria-current="page"]{background:#fff; color:var(--ink); box-shadow:var(--shadow-sm);}

/* ---------- ownership marks ---------- */
.wd-mark{display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:var(--muted); line-height:1.35;}
.wd-mark img, .wd-mark svg{width:15px; height:15px; flex:none; object-fit:contain;}
.wd-mark.nx{padding:3px 9px; border-radius:6px; background:var(--blue-ghost); color:var(--navy-soft); font-size:12px;}
.bg-navy .wd-mark.nx, .ms-ai .wd-mark.nx{background:rgba(143,182,255,.14); color:#dbe7ff;}
.bg-navy .wd-mark, .ms-ai .wd-mark{color:rgba(205,222,255,.78);}

/* ---------- level 3: ERP modules, grouped by business area ---------- */
.wd-groups{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-flow:dense; gap:16px; margin-top:clamp(30px,3.6vw,48px);}
.wd-grp{grid-column:span var(--n,1); display:flex; flex-direction:column; gap:14px; padding:16px; border-radius:22px; background:var(--light);}
.wd-grp-h{display:flex; align-items:center; gap:12px; padding:4px 6px 2px;}
.wd-grp-h .gi{display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:11px; background:var(--navy); color:#fff;}
.wd-grp-h .gi svg{width:18px; height:18px;}
.wd-grp-h .gi.logo{width:auto; height:auto; background:none; padding-inline-end:4px;}
.wd-grp-h .gi.logo img{height:24px; width:auto;}
.wd-grp-h h3{font-size:12.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--ink);}
html[dir="rtl"] .wd-grp-h h3{letter-spacing:.02em; font-size:14px;}
.wd-grp-h p{margin-top:3px; font-size:13.5px; line-height:1.45; color:var(--muted);}
.wd-grp-h .tier{color:var(--odoo); font-weight:700;}
.wd-grp-mods{flex:1; display:grid; grid-template-columns:repeat(var(--n,1),minmax(0,1fr)); gap:12px;}
.wd-m{display:flex; flex-direction:column; gap:10px; padding:20px; border-radius:16px; background:#fff; border:1px solid rgba(14,27,51,.06); box-shadow:0 1px 2px rgba(14,27,51,.04); transition:border-color var(--hover) var(--ease), box-shadow var(--hover) var(--ease), transform var(--hover) var(--ease);}
.wd-m:hover{border-color:rgba(42,107,255,.3); box-shadow:0 16px 34px -24px rgba(14,27,51,.5); transform:translateY(-2px);}
.wd-m .top{display:flex; align-items:center; gap:12px;}
.wd-m .mi{display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:12px; background:linear-gradient(145deg, rgba(42,107,255,.14), rgba(42,107,255,.05)); color:var(--blue); transition:background .3s var(--ease), color .3s;}
.wd-m .mi svg{width:21px; height:21px;}
.wd-m:hover .mi{background:var(--blue); color:#fff;}
.wd-m h3{font-size:17px; font-weight:800; letter-spacing:-.01em; line-height:1.25;}
html[dir="rtl"] .wd-m h3{letter-spacing:0;}
.wd-m .helps{font-size:14.5px; line-height:1.55; color:var(--muted);}
.wd-pts{display:grid; gap:7px; padding-top:12px; border-top:1px dashed var(--line-strong);}
.wd-pts li{display:flex; gap:9px; font-size:14px; line-height:1.45; color:var(--ink); font-weight:600;}
.wd-pts li::before{content:""; flex:none; width:14px; height:14px; margin-top:2px; border-radius:4px; background:var(--blue-ghost) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A6BFF' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/10px no-repeat;}
.wd-m-f{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; margin-top:auto; padding-top:4px;}
.wd-m-app a{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--blue); padding:5px 10px; border-radius:999px; background:var(--blue-ghost); transition:background-color .2s, color .2s;}
.wd-m-app a svg{width:12px; height:12px;}
html[dir="rtl"] .wd-m-app a svg{transform:scaleX(-1);}
.wd-m-app a:hover{background:var(--blue); color:#fff;}
.wd-grp-odoo{grid-column:span 2; justify-content:center; background:linear-gradient(135deg, rgba(113,75,103,.08), rgba(113,75,103,.02)); border:1px solid rgba(113,75,103,.14); padding:20px 22px;}
.wd-odoo-d{font-size:15px; line-height:1.6; color:var(--muted); max-width:620px; padding:0 6px;}
.wd-odoo-f{display:flex; flex-wrap:wrap; gap:7px; padding:0 6px;}
.wd-odoo-f li{font-size:13px; font-weight:700; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid rgba(113,75,103,.2); color:#5b3b53;}

/* ---------- level 3: CRM journey ---------- */
.wd-journey{display:grid; grid-template-columns:repeat(var(--cols,4),minmax(0,1fr)); gap:0 clamp(18px,2.4vw,34px); margin-top:clamp(32px,4vw,52px); position:relative;}
.wd-journey::before{content:""; position:absolute; top:22px; inset-inline:22px; height:2px; background:linear-gradient(90deg, var(--blue), rgba(42,107,255,.15));}
html[dir="rtl"] .wd-journey::before{background:linear-gradient(270deg, var(--blue), rgba(42,107,255,.15));}
.wd-stage-col{position:relative; display:grid; gap:16px; align-content:start;}
.wd-stage-h{display:grid; gap:6px; padding-bottom:6px;}
.wd-stage-h .dot{width:46px; height:46px; border-radius:50%; background:#fff; border:2px solid var(--blue); color:var(--blue); display:grid; place-items:center; position:relative;}
.wd-stage-h .dot svg{width:21px; height:21px;}
.wd-stage-h h3{margin-top:12px; font-size:19px; font-weight:800;}
.wd-stage-h p{font-size:14.5px; color:var(--muted); line-height:1.5;}
.wd-cm{background:var(--light); border-radius:var(--radius); padding:18px 18px 16px; display:grid; gap:7px; transition:background-color .25s, box-shadow .25s;}
.wd-cm:hover{background:#fff; box-shadow:var(--shadow-sm);}
.wd-cm b{font-size:16.5px; font-weight:800; display:flex; align-items:center; gap:10px;}
.wd-cm b svg{width:19px; height:19px; color:var(--blue); flex:none;}
.wd-cm .helps{font-size:14.5px; color:var(--muted); line-height:1.5;}
.wd-cm .wd-pts{border-top:0; padding-top:2px;}
.wd-cm .wd-mark{margin-top:2px;}
.wd-together{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px 30px; align-items:center; margin-top:clamp(32px,4vw,48px); padding:22px 26px; border:1px solid var(--line-dark); border-radius:var(--radius-lg); background:rgba(255,255,255,.03);}
.wd-together .lg{display:flex; align-items:center; gap:14px;}
.wd-together .lg img{height:30px; width:auto;}
.wd-together .lg i{width:1px; height:28px; background:rgba(255,255,255,.25);}
.wd-together b{display:block; color:#fff; font-size:18px; font-weight:800;}
.wd-together p{color:var(--text-dark); font-size:15px; margin-top:4px;}

/* ---------- level 3: capabilities of every other solution or service ---------- */
.wd-caps{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:clamp(30px,3.6vw,48px);}
.wd-caps.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.wd-cap{display:flex; gap:16px; align-items:flex-start; padding:22px; border-radius:18px; background:var(--paper-2); border:1px solid var(--line); transition:border-color var(--hover) var(--ease), background-color var(--hover), box-shadow var(--hover) var(--ease), transform var(--hover) var(--ease);}
.wd-cap:hover{background:#fff; border-color:rgba(42,107,255,.3); box-shadow:0 16px 34px -24px rgba(14,27,51,.5); transform:translateY(-2px);}
.wd-cap .mi, .wd-ritem .mi{display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:13px; background:linear-gradient(145deg, rgba(42,107,255,.14), rgba(42,107,255,.05)); color:var(--blue); transition:background .3s var(--ease), color .3s;}
.wd-cap .mi svg, .wd-ritem .mi svg{width:22px; height:22px;}
.wd-cap .mi.logo, .wd-ritem .mi.logo{background:#fff; border:1px solid var(--line);}
.wd-cap .mi.logo img, .wd-ritem .mi.logo img{width:24px; height:24px; object-fit:contain;}
.wd-cap:hover .mi:not(.logo){background:var(--blue); color:#fff;}
.wd-cap h3{font-size:17px; font-weight:800; line-height:1.3;}
.wd-cap p{margin-top:5px; font-size:14.5px; line-height:1.55; color:var(--muted);}
.wd-note{display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; margin-top:22px; padding:16px 20px; border-radius:16px; background:var(--blue-ghost); border:1px solid rgba(42,107,255,.16);}
.wd-note p{flex:1 1 320px; font-size:15px; line-height:1.55; font-weight:600;}

/* ---------- level 3: value + platforms, next ---------- */
.wd-vp{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(36px,5vw,84px); align-items:start;}
.wd-vp.solo{grid-template-columns:minmax(0,1fr); max-width:820px;}
.wd-vp .h3{margin-top:14px;}
.wd-vp .check{margin-top:22px;}
.wd-plats{margin-top:20px; border-top:1px solid var(--line);}
.wd-plats li{display:grid; grid-template-columns:124px minmax(0,1fr); gap:6px 22px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line);}
.wd-plats .lg{display:flex; align-items:center; height:32px;}
.wd-plats .lg img{width:auto; height:auto; max-height:28px; max-width:112px; object-fit:contain;}
.wd-plats .lg img[src*="dynamics365.png"]{max-height:32px; max-width:124px;}
.wd-vendor{justify-self:start; margin-top:2px; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--navy-soft); padding:4px 8px; border-radius:6px; background:#fff; border:1px solid var(--line);}
.wd-vendor.newtecx{color:var(--blue); border-color:rgba(42,107,255,.3);}
.wd-vendor.odoo{color:var(--odoo); border-color:rgba(113,75,103,.28);}
html[dir="rtl"] .wd-vendor{letter-spacing:.02em;}
.wd-plats b{font-size:16px; font-weight:800;}
.wd-plats p{font-size:14.5px; color:var(--muted); line-height:1.5; margin-top:2px;}
.wd-next{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:16px; margin-top:clamp(36px,4.5vw,56px);}
.wd-next a{display:grid; gap:6px; padding:22px 26px; border-radius:var(--radius-lg); border:1px solid var(--line); background:#fff; transition:border-color .25s, box-shadow .25s, transform .25s var(--ease);}
.wd-next a:hover{border-color:transparent; box-shadow:var(--shadow); transform:translateY(-2px);}
.wd-next span{font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--faint);}
html[dir="rtl"] .wd-next span{letter-spacing:.02em;}
.wd-next b{font-size:19px; font-weight:800; color:var(--ink);}
.wd-next a.fwd{background:var(--navy); border-color:var(--navy);}
.wd-next a.fwd span{color:var(--blue-soft);} .wd-next a.fwd b{color:#fff;}
.wd-next a.fwd b::after{content:" \2192";} .wd-next a.back b::before{content:"\2190  ";}
html[dir="rtl"] .wd-next a.fwd b::after{content:" \2190";} html[dir="rtl"] .wd-next a.back b::before{content:"\2192  ";}
.wd-next a:only-child{grid-column:1 / -1;}

/* related solutions, Newtecx products, contact: quiet lines that belong to the content */
.wd-related{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:clamp(28px,3.4vw,40px);}
.wd-related-k{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-inline-end:8px;}
html[dir="rtl"] .wd-related-k{letter-spacing:.02em;}
.wd-related a{font-size:14px; font-weight:700; color:var(--ink); padding:8px 14px; border-radius:999px; background:#fff; border:1px solid var(--line); transition:border-color .2s, color .2s;}
.wd-related a:hover{border-color:var(--blue); color:var(--blue);}
.wd-prodlinks{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:22px; padding:14px 18px; border-radius:16px; border:1px dashed var(--line-strong);}
.wd-prodlinks-k{display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--ink);}
html[dir="rtl"] .wd-prodlinks-k{letter-spacing:.02em;}

.wd-prodlinks-l{display:flex; flex-wrap:wrap; gap:6px 18px;}
.wd-prodlinks-l a{display:inline-flex; align-items:center; gap:6px; font-size:14.5px; font-weight:700; color:var(--blue);}
.wd-prodlinks-l a svg{width:14px; height:14px; transition:transform .25s var(--ease);}
html[dir="rtl"] .wd-prodlinks-l a svg{transform:scaleX(-1);}
.wd-prodlinks-l a:hover svg{transform:translateX(3px);}
html[dir="rtl"] .wd-prodlinks-l a:hover svg{transform:scaleX(-1) translateX(3px);}
.wd-prodlinks small{flex:1 1 100%; font-size:13px; color:var(--faint);}
.wd-contact{display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:clamp(28px,3.4vw,40px); padding-top:22px; border-top:1px solid var(--line);}
.wd-contact-ic{display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:11px; background:#fff; border:1px solid var(--line); color:var(--blue);}
.wd-contact-ic svg{width:18px; height:18px;}
.wd-contact p{flex:1 1 320px; font-size:15.5px; color:var(--muted);}
.wd-contact p b{color:var(--ink); font-weight:800;}
.wd-close{padding-top:clamp(44px,5vw,64px);}
.wd-close .wd-next{margin-top:0;}

/* retail and Business Applications extras */
.wd-rgrid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(28px,4vw,64px); margin-top:clamp(28px,3.6vw,44px); border-top:1px solid var(--line);}
.wd-rgrid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.wd-ritem{display:grid; grid-template-columns:46px minmax(0,1fr); gap:6px 18px; padding:24px 0; border-bottom:1px solid var(--line); align-content:start;}
.wd-ritem .mi{grid-row:1 / span 3;}
.wd-ritem b{font-size:18px; font-weight:800;}
.wd-ritem p{font-size:15px; color:var(--muted);}
.wd-ritem .textlink{font-size:14px; margin-top:4px; justify-self:start;}
.wd-clients{display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:20px;}
.wd-clients span{display:grid; place-items:center; height:64px; padding:0 22px; background:#fff; border:1px solid var(--line); border-radius:14px;}
.wd-clients span.rev{background:var(--navy);}
.wd-clients img{max-height:38px; width:auto;}

/* Technology Services: delivery lifecycle */
.wd-life{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5vw,80px); align-items:center;}
.wd-steps{position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 18px;}
.wd-steps li{display:flex; flex-direction:column; gap:10px; padding:18px; border-radius:16px; background:#fff; border:1px solid var(--line); font-size:15px; font-weight:700; line-height:1.35;}
.wd-steps .n{display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--blue-ghost); color:var(--blue); font-size:12.5px; font-weight:800;}
.wd-steps.col{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:22px;}
.wd-steps.col li{flex-direction:row; align-items:center; padding:12px 14px;}

/* ---------- menu additions ---------- */
.wd-dq{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:8px 2px 2px; padding:12px; background:var(--light); border-radius:12px;}
.wd-dq > span{font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); margin-inline-end:6px;}
html[dir="rtl"] .wd-dq > span{letter-spacing:.02em;}
.wd-dq a{font-size:14px; font-weight:700; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:999px; padding:6px 12px; transition:border-color .2s, color .2s;}
.wd-dq a:hover{border-color:var(--blue); color:var(--blue);}
.wd-dq a[aria-current="page"]{border-color:var(--blue); color:var(--blue);}
.wd-mq{display:flex; flex-wrap:wrap; gap:8px; padding:4px 0 10px; padding-inline-start:32px;}
.wd-mq > span{display:none;}
.wd-mq a{font-size:14.5px; font-weight:700; padding:7px 13px; border:1px solid var(--line-strong); border-radius:999px;}
.wd-mq a[aria-current="page"]{border-color:var(--blue); color:var(--blue);}

/* ==========================================================================
   States and surfaces — default, hover, focus and selected states that read
   without relying on colour alone (raised surface, weight, bar, arrow)
   ========================================================================== */
/* overview: the four capabilities */
.wd-cat{padding:22px 18px; margin-inline:-18px; border-radius:18px; border-bottom-color:transparent; box-shadow:0 1px 0 var(--line); transition:background-color .3s var(--ease), box-shadow .3s var(--ease);}
.wd-cat-list{border-top:0;}
.wd-cat::before{top:18px; bottom:18px; height:auto; width:3px; border-radius:3px; inset-inline-start:0; transform:scaleY(0); transition:transform .35s var(--ease);}
.wd-cat.is-active::before{width:3px; transform:none;}
.wd-cat:hover{background:var(--paper-2);}
.wd-cat.is-active{background:var(--light); box-shadow:none;}
.wd-cat .ic{background:#fff; border:1px solid var(--line); transition:background-color .3s, color .3s, border-color .3s;}
.wd-cat:hover .ic{border-color:rgba(42,107,255,.35);}
.wd-cat.is-active .ic{border-color:var(--blue);}
.wd-cat:focus-within{outline:2px solid var(--blue); outline-offset:2px;}
.wd-cat h3 a:focus-visible{outline:none;}
.wd-sub a{background:#fff; border-color:var(--line);}

/* solution cards */
.wd-sol{box-shadow:0 1px 2px rgba(14,27,51,.05); border-color:var(--line);}
.wd-sol:focus-within{outline:2px solid var(--blue); outline-offset:3px;}
.wd-sol h3 a:focus-visible{outline:none;}
.wd-sol-media .eb{font-size:11.5px; color:#fff; background:rgba(10,20,38,.55); border:1px solid rgba(255,255,255,.16); padding:6px 11px; border-radius:999px; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);}
.wd-sol-media .logos img{height:20px;}
.wd-sol-media .logos img[src*="dynamics365.png"], .wd-plate img[src*="dynamics365.png"]{height:30px;}
.wd-assoc-i img[src*="dynamics365.png"]{height:32px;}
.wd-sol:hover .more .textlink{border-bottom-color:currentColor;}
.wd-names li{border:1px solid transparent; transition:border-color .25s;}
.wd-sol:hover .wd-names li{border-color:var(--line);}

/* ERP / CRM / Retail switcher */
.wd-seg{padding:5px; border:1px solid var(--line-2);}
.wd-seg a{position:relative;}
.wd-seg a:hover{background:rgba(255,255,255,.7);}
.wd-seg a[aria-current="page"]{color:var(--navy); font-weight:800; box-shadow:0 2px 8px -2px rgba(14,27,51,.18), 0 0 0 1px rgba(14,27,51,.06);}
.wd-seg a[aria-current="page"]::after{content:""; position:absolute; inset-inline:18px; bottom:4px; height:2px; border-radius:2px; background:var(--blue);}
.wd-seg a:focus-visible{outline-offset:-2px;}

/* capability cards: a white surface on a light field, one accent (the icon tile), lift on hover */
.wd-cap{background:#fff; border-color:rgba(14,27,51,.08); box-shadow:0 1px 2px rgba(14,27,51,.04);}
.wd-cap .mi{background:var(--light); border:1px solid var(--line-2);}
.wd-cap:hover{background:#fff; border-color:rgba(42,107,255,.32);}
.wd-cap:hover .mi:not(.logo){border-color:var(--blue);}
section.bg-white .wd-caps{padding:14px; margin-inline:-14px; border-radius:26px; background:var(--light);}

/* ERP groups: the group header is the anchor; modules are white surfaces inside */
.wd-grp{border:1px solid transparent; transition:border-color .3s var(--ease);}
.wd-grp:hover{border-color:var(--line);}
.wd-grp-h .gi.odoo{background:var(--odoo);}
.wd-m{border-color:rgba(14,27,51,.07);}

/* related links, product links */
.wd-related a{display:inline-flex; align-items:center; gap:8px;}
.wd-related a::after{content:"\2192"; color:var(--blue); transition:transform .25s var(--ease);}
html[dir="rtl"] .wd-related a::after{content:"\2190";}
.wd-related a:hover{box-shadow:0 8px 18px -12px rgba(14,27,51,.4);}
.wd-related a:hover::after{transform:translateX(3px);}
html[dir="rtl"] .wd-related a:hover::after{transform:translateX(-3px);}
.wd-prodlinks{border-style:solid; border-color:var(--line); background:#fff;}
.wd-prodlinks-k{color:var(--faint);}

/* what it solves, beside what a solution includes */
.head:has(.wd-solves){align-items:start;}
.head:has(.wd-solves) > div:first-child{padding-top:12px;}
.wd-solves{padding:18px 20px; border-radius:18px; background:var(--light); border:1px solid var(--line-2);}
.wd-solves-k{font-size:11.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--faint);}
html[dir="rtl"] .wd-solves-k{letter-spacing:.02em;}
.wd-solves ul{display:grid; gap:10px; margin-top:12px;}
.wd-solves li{position:relative; padding-inline-start:16px; font-size:15px; line-height:1.5; font-weight:600; color:var(--ink);}
.wd-solves li::before{content:""; position:absolute; inset-inline-start:0; top:.25em; bottom:.25em; width:2px; border-radius:2px; background:var(--line-strong);}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .wd-choose.three{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1080px){
  .wd-groups{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wd-grp{grid-column:span min(var(--n,1), 2);}
  .wd-journey{--cols:2 !important; row-gap:36px;}
  .wd-journey::before{display:none;}
  .wd-caps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wd-rgrid.three{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wd-life{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .page-hero.wd-hero{min-height:0;}
  .wd-hero-art, html[dir="rtl"] .wd-hero-art.a-rtl:not(.a-m){display:none;}
  .wd-hero-art.a-m:not(.a-rtl){display:block; background-position:center; opacity:.6;}
  html[dir="rtl"] .wd-hero-art.a-m:not(.a-rtl){display:none;}
  html[dir="rtl"] .wd-hero-art.a-m.a-rtl{display:block; background-position:center; opacity:.6;}
  .wd-hero-artveil, html[dir="rtl"] .wd-hero-artveil{background:linear-gradient(180deg, rgba(3,8,20,.86) 0%, rgba(3,8,20,.74) 55%, rgba(3,8,20,.6) 100%);}
  .wd-cats{grid-template-columns:1fr;}
  .wd-stage{display:none;}
  .wd-choose, .wd-duo, .wd-vp{grid-template-columns:1fr;}
  .wd-sol.wide{grid-template-columns:1fr;}
  .wd-sol.wide .wd-sol-media{min-height:0; aspect-ratio:16/7;}
  .wd-together{grid-template-columns:1fr;}
  .wd-rgrid{grid-template-columns:1fr;}
  .wd-next{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .wd-back .full{display:none;}
  .wd-switch .wrap{gap:10px;}
  .wd-seg a{padding:8px 14px; font-size:14px;}
}
@media (max-width:620px){
  .wd-cat{margin-inline:-10px; padding:18px 10px;}
  section.bg-white .wd-caps{padding:10px; margin-inline:-10px;}
  .wd-choose.three, .wd-caps, .wd-caps.two, .wd-rgrid.three{grid-template-columns:minmax(0,1fr);}
  .wd-groups{grid-template-columns:minmax(0,1fr);}
  .wd-grp, .wd-grp-odoo{grid-column:auto; padding:12px;}
  .wd-grp-mods{grid-template-columns:minmax(0,1fr);}
  .wd-m{padding:18px;}
  .wd-cap{padding:18px;}
  .wd-journey{--cols:1 !important;}
  .wd-duo-items{grid-template-columns:1fr;}
  .wd-duo-items > div + div{border-inline-start:0; border-top:1px solid var(--line);}
  .wd-cat{grid-template-columns:44px minmax(0,1fr) 36px; gap:6px 14px;}
  .wd-cat .ic{width:44px; height:44px;}
  .wd-cat .go{width:36px; height:36px;}
  .wd-plats li{grid-template-columns:1fr;}
  .wd-sol-media .logos{gap:12px; inset-inline-start:20px; bottom:16px;}
  .wd-sol-media .logos img{height:16px;} .wd-sol-media .logos img.lock{height:22px;}
  .wd-sol-media .logos i{height:16px;}
  .wd-sol-media .eb{inset-inline-start:20px; top:18px;}
  .wd-art-ic span{width:44px; height:44px; border-radius:13px;} .wd-art-ic svg{width:20px; height:20px;}
  .wd-steps, .wd-steps.col{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wd-badge img{height:52px;}
  .wd-assoc-bar{padding:10px 14px; gap:8px 14px;}
  .wd-assoc-i{font-size:12.5px;}
  .wd-assoc-bar .sep{display:none;}
}
@media (prefers-reduced-motion: reduce){
  .wd-vis, .wd-sol, .wd-sol-media > img.bg, .wd-cat::before, .wd-m, .wd-cap{transition:none !important;}
}
