  :root{
    --navy:#0C2340; --navy-2:#123259; --sky:#2E9FD9; --sky-d:#1B76AC; --sky-l:#8FD0F2;
    --ink:#0C2340; --slate:#526476; --line:#DCE4EC; --bg:#FFFFFF; --soft:#F3F7FA; --tint:#E6F3FA;
    --on-dark:#C9D6E3; --radius:14px; --max:1160px;
    --f-head:'Montserrat','Segoe UI',Arial,sans-serif; --f-body:'IBM Plex Sans','Segoe UI',Arial,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scroll-padding-top:84px}
  body{font-family:var(--f-body);font-size:16px;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;padding-inline:0}
  html[dir=rtl]{--f-head:'Cairo','Segoe UI',Tahoma,sans-serif;--f-body:'IBM Plex Sans Arabic','Segoe UI',Tahoma,sans-serif}
  a{color:inherit;text-decoration:none}
  h1,h2,h3{font-family:var(--f-head);line-height:1.18;font-weight:800;letter-spacing:-.015em;text-wrap:balance}
  html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{letter-spacing:0;line-height:1.35}
  h2{font-size:clamp(1.65rem,3.3vw,2.4rem)}
  h3{font-size:1.2rem}
  p{color:var(--slate);max-width:68ch}
  .wrap{max-width:var(--max);margin-inline:auto;padding-inline:24px}
  :focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:10px;font-family:var(--f-body);font-weight:600;font-size:.97rem;cursor:pointer;border:1.5px solid transparent;transition:background .2s,transform .2s,border-color .2s}
  .btn-primary{background:var(--sky);color:#fff}
  .btn-primary:hover{background:var(--sky-d);transform:translateY(-2px)}
  .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
  .btn-ghost:hover{background:rgba(255,255,255,.1)}
  .btn-wa{background:#1FA855;color:#fff}
  .btn-wa:hover{background:#178a45;transform:translateY(-2px)}
  .eyebrow{display:block;color:var(--sky-d);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin-bottom:12px}
  html[dir=rtl] .eyebrow{letter-spacing:0;font-size:.9rem}

  /* header */
  header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
  .brand{display:flex;align-items:center;gap:10px;flex:none}
  .brand svg{width:42px;height:42px;flex:none}
  .brand .word{font-family:'Montserrat','Segoe UI',Arial,sans-serif;font-weight:800;font-size:1.4rem;letter-spacing:-.5px;color:var(--navy);line-height:1}
  .brand .word b{color:var(--sky);font-weight:800}
  .brand .by{display:block;font-family:'Montserrat',Arial,sans-serif;font-size:.5rem;letter-spacing:.24em;color:var(--slate);font-weight:700;margin-top:4px}
  .menu{display:flex;gap:26px;align-items:center}
  .menu a{font-weight:500;font-size:.94rem;color:var(--slate);transition:color .2s}
  .menu a:hover{color:var(--sky-d)}
  .menu .btn{color:#fff;padding:10px 18px}
  .menu .btn:hover{color:#fff}
  .tools{display:flex;align-items:center;gap:10px}
  .lang{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;padding:3px;background:#fff}
  .lang button{border:0;background:transparent;font:600 .8rem var(--f-body);color:var(--slate);padding:6px 12px;border-radius:999px;cursor:pointer;min-width:44px}
  .lang button[aria-pressed=true]{background:var(--navy);color:#fff}
  .burger{display:none;background:none;border:0;cursor:pointer;color:var(--navy);width:44px;height:44px;place-items:center}

  /* hero */
  .hero{background:linear-gradient(135deg,#0C2340 0%,#123259 62%,#17466f 130%);color:#fff;position:relative;overflow:hidden}
  .hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 12%,rgba(46,159,217,.28),transparent 46%);pointer-events:none}
  .hero .wrap{position:relative;z-index:1;padding-block:76px 84px;display:grid;grid-template-columns:1.08fr 1fr;gap:48px;align-items:center}
  .hero .eyebrow{color:var(--sky-l)}
  .hero h1{font-size:clamp(2.1rem,4.8vw,3.5rem);color:#fff}
  .hero .lead{color:var(--on-dark);font-size:clamp(1.02rem,1.9vw,1.2rem);margin:22px 0 32px;max-width:54ch}
  .cta{display:flex;gap:14px;flex-wrap:wrap}
  .pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px;direction:ltr}
  html[dir=rtl] .pills{justify-content:flex-end}
  .pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);padding:6px 13px;border-radius:999px;font:500 .78rem 'IBM Plex Sans',Arial,sans-serif;color:#dbe6f0}
  .sigcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:22px 22px 18px}
  .sigcard h3{color:#fff;font-size:1rem;font-weight:700;margin-bottom:6px}
  .sigcard .cap{color:var(--on-dark);font-size:.85rem;margin-top:8px}
  .sigcard svg{width:100%;height:auto;display:block;direction:ltr}

  /* sections */
  section{padding-block:84px}
  .sec-head{max-width:720px;margin-bottom:46px}
  .sec-head p{margin-top:14px;font-size:1.04rem}
  .soft{background:var(--soft)}

  .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s}
  .card:hover{border-color:var(--sky);transform:translateY(-4px)}
  .tag{align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;background:var(--tint);color:var(--sky-d);padding:4px 11px;border-radius:999px}
  html[dir=rtl] .tag{letter-spacing:0;font-size:.82rem}
  .card ul{list-style:none;display:grid;gap:8px;margin-top:6px}
  .card li{position:relative;padding-inline-start:26px;color:var(--slate);font-size:.94rem}
  .card li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;width:14px;height:8px;border-left:3px solid var(--sky);border-bottom:3px solid var(--sky);transform:rotate(-45deg) scale(.85);transform-origin:center}
  html[dir=rtl] .card li::before{transform:rotate(-45deg) scale(.85)}

  /* ip */
  .ipgrid{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:start}
  .ipcols{display:grid;gap:16px}
  .ipcol{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
  .ipcol .ico{width:44px;height:44px;border-radius:11px;background:var(--navy);display:grid;place-items:center}
  .ipcol h3{font-size:1.05rem;margin-bottom:4px}
  .ipcol p{font-size:.94rem}

  /* approach */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
  .step{position:relative;padding-top:26px;border-top:3px solid var(--line)}
  .step::before{content:"";position:absolute;top:-3px;inset-inline-start:0;width:44px;height:3px;background:var(--sky)}
  .step .n{font:700 .8rem 'Montserrat',Arial,sans-serif;color:var(--sky-d);letter-spacing:.1em}
  .step h3{margin:6px 0 8px}
  .step p{font-size:.94rem}

  /* clients */
  .clients{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .client{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
  .client .ico{width:42px;height:42px;border-radius:10px;background:var(--tint);display:grid;place-items:center;margin-bottom:14px}
  .client h3{font-size:1.02rem;margin-bottom:6px}
  .client p{font-size:.92rem}

  /* independence */
  .indep{background:var(--navy);color:#fff}
  .indep .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
  .indep h2{color:#fff}
  .indep .eyebrow{color:var(--sky-l)}
  .indep p{color:var(--on-dark);font-size:1.06rem}

  /* about */
  .about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
  .about-grid p+p{margin-top:14px}
  .facts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .fact{background:var(--soft);border-radius:12px;padding:16px 18px}
  .fact .l{font-size:.74rem;color:var(--slate);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
  html[dir=rtl] .fact .l{letter-spacing:0;font-size:.82rem}
  .fact .v{font-weight:600;color:var(--navy);margin-top:3px;font-size:.95rem;line-height:1.45}

  /* contact */
  .contact{background:var(--navy);color:#fff}
  .contact h2{color:#fff}
  .contact .eyebrow{color:var(--sky-l)}
  .contact .sec-head p{color:var(--on-dark)}
  .contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start}
  .cline{display:flex;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}
  .cline .ci{width:42px;height:42px;border-radius:10px;background:rgba(46,159,217,.22);display:grid;place-items:center;flex:none}
  .cline .k{color:var(--on-dark);font-size:.8rem}
  .cline a,.cline span.v{color:#fff;font-weight:500;overflow-wrap:anywhere}
  .cline a:hover{color:var(--sky-l)}
  .cinfo .btn{margin-top:22px}
  form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);padding:28px;border-radius:16px}
  form label{display:block;font-size:.86rem;margin:14px 0 6px;color:var(--on-dark)}
  form label:first-of-type{margin-top:0}
  form input,form select,form textarea{width:100%;padding:12px 14px;border-radius:9px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:.96rem}
  form select option{color:#0C2340;background:#fff}
  form input::placeholder,form textarea::placeholder{color:#93a9be}
  form .btn{margin-top:20px;width:100%}
  .cline[hidden]{display:none}
  .hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
  #formStatus{margin-top:14px;font-size:.9rem;color:var(--sky-l);min-height:1.3em}

  footer{background:#081a30;color:#93a9be;padding-block:46px 26px;font-size:.9rem}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:28px}
  footer h4{color:#fff;font-family:var(--f-head);font-size:.95rem;margin-bottom:12px}
  footer a{display:block;color:#93a9be;margin-bottom:8px;transition:color .2s;overflow-wrap:anywhere}
  footer a:hover{color:#fff}
  footer p{color:#93a9be;max-width:40ch;margin-top:14px}
  .foot-brand .word{font-family:'Montserrat',Arial,sans-serif;font-weight:800;font-size:1.3rem;color:#fff;display:flex;align-items:center;gap:10px}
  .foot-brand .word b{color:var(--sky)}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;font-size:.82rem;text-align:center}


  .strip{padding-block:34px;border-bottom:1px solid var(--line);background:#fff}
  .statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
  .stat .sv{font:800 1.9rem 'Montserrat',Arial,sans-serif;color:var(--sky-d);line-height:1.1;direction:ltr}
  html[dir=rtl] .stat .sv{text-align:start}
  .stat .sl{color:var(--slate);font-size:.9rem;margin-top:6px;line-height:1.5}
  .cards.three{grid-template-columns:repeat(3,1fr)}
  .cards.four{grid-template-columns:repeat(4,1fr)}
  .card .out{color:var(--navy);font-weight:600;font-size:1rem}
  .card .under{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sky-d);margin-top:6px}
  html[dir=rtl] .card .under{letter-spacing:0;font-size:.85rem}
  .dlgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
  .dl{display:grid;grid-template-columns:44px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
  .dl-n{font:700 .85rem 'Montserrat',Arial,sans-serif;color:var(--sky-d);background:var(--tint);border-radius:10px;width:44px;height:44px;display:grid;place-items:center;direction:ltr}
  .dl h3{font-size:1.02rem;margin-bottom:4px}
  .dl p{font-size:.92rem}
  .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .case{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:10px}
  .client-name{color:var(--slate);font-weight:600;font-size:.9rem}
  .case dl{display:grid;gap:4px;margin-top:6px}
  .case dt{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sky-d);margin-top:10px}
  html[dir=rtl] .case dt{letter-spacing:0;font-size:.85rem}
  .case dd{color:var(--slate);font-size:.93rem}
  .case dd.ph{border:1.5px dashed var(--sky);border-radius:8px;padding:8px 12px;color:var(--sky-d);background:var(--tint);font-style:italic}
  .eng .row{display:grid;gap:2px}
  .eng .lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sky-d)}
  html[dir=rtl] .eng .lbl{letter-spacing:0;font-size:.85rem}
  .eng p{font-size:.92rem}
  .cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .cgroup{background:var(--soft);border-radius:var(--radius);padding:26px}
  .cgroup h3{font-size:1.05rem;margin-bottom:12px}
  .cgroup ul{list-style:none;display:grid;gap:10px}
  .cgroup li{position:relative;padding-inline-start:22px;color:var(--slate);font-size:.92rem}
  .cgroup li::before{content:"";position:absolute;inset-inline-start:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--sky)}

  @media(max-width:1100px){.cards.four{grid-template-columns:repeat(2,1fr)}.cards.three,.cases,.cgrid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:960px){
    .hero .wrap,.ipgrid,.indep .wrap,.about-grid,.contact-grid{grid-template-columns:1fr}
    .steps,.clients,.statgrid{grid-template-columns:repeat(2,1fr)}
    .foot-grid{grid-template-columns:1fr 1fr}
    .foot-grid>div:first-child{grid-column:1/-1}
    .hero .wrap{padding-block:56px 64px}
    section{padding-block:64px}
    .menu{position:fixed;top:calc(72px + env(safe-area-inset-top,0px));inset-inline:0;background:#fff;flex-direction:column;align-items:stretch;padding:18px 24px 24px;gap:14px;border-bottom:1px solid var(--line);display:none}
    .menu.open{display:flex}
    .menu .btn{text-align:center}
    .burger{display:grid}
  }
  @media(max-width:640px){
    .cards,.cards.three,.cards.four,.steps,.clients,.facts,.statgrid,.dlgrid,.cases,.cgrid{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr}
    .brand .by{display:none}
    .card{padding:24px}
    form{padding:22px}
    .sigcard{padding:16px 14px}
  }
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

  .hero.compact .wrap{grid-template-columns:1fr;padding-block:56px 60px}
  .hero.compact .lead{max-width:62ch}
  .cards .card .more{margin-top:auto;padding-top:8px;font-weight:600;color:var(--sky-d);display:inline-flex;align-items:center;gap:6px}
  .cards .card .more::after{content:"\2192";transition:transform .2s}
  html[dir=rtl] .cards .card .more::after{content:"\2190"}
  .cards .card:hover .more::after{transform:translateX(4px)}
  html[dir=rtl] .cards .card:hover .more::after{transform:translateX(-4px)}
  .card-link{display:flex;flex-direction:column;gap:12px;height:100%}
  .band{background:var(--navy);color:#fff;padding-block:34px}
  .band .wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .band h3{color:#fff;font-size:1.25rem}
  .band p{color:var(--on-dark);margin-top:4px}
  .crumb{display:flex;width:fit-content;gap:8px;color:var(--sky-l);font-size:.9rem;margin-bottom:18px;font-weight:500}
  .crumb:hover{color:#fff}
  .sub-hero{background:linear-gradient(135deg,#0C2340 0%,#123259 62%,#17466f 130%);color:#fff;position:relative;overflow:hidden}
  .sub-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 12%,rgba(46,159,217,.28),transparent 46%);pointer-events:none}
  .sub-hero .wrap{position:relative;z-index:1;padding-block:56px 64px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
  .sub-hero.single .wrap{grid-template-columns:1fr}
  .sub-hero .tag{background:rgba(255,255,255,.12);color:var(--sky-l)}
  .sub-hero h1{font-size:clamp(1.9rem,4.2vw,3rem);color:#fff;margin:14px 0 16px}
  .sub-hero .lead{color:var(--on-dark);font-size:clamp(1.02rem,1.9vw,1.2rem);max-width:58ch;margin-bottom:26px}
  .why{max-width:820px}
  .why p{font-size:1.08rem;color:var(--ink)}
  .dogrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .doitem{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
  .doitem{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
  .doitem p{font-size:.98rem;color:var(--ink)}
  .exps{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:24px}
  .exp{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
  .exp .client-name{margin-bottom:6px}
  .exp p{font-size:.95rem;color:var(--ink)}
  .exp.ph{border:1.5px dashed var(--sky);background:var(--tint);display:grid;place-items:center;text-align:center;color:var(--sky-d);font-style:italic}
  .cases.one{grid-template-columns:repeat(2,1fr)}
  .subh{font-size:1.2rem;margin:34px 0 0}
  .moregrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .morelink{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-weight:600;color:var(--navy);transition:border-color .2s}
  .morelink:hover{border-color:var(--sky)}
  .fails{display:grid;gap:14px;max-width:860px}
  .fail{display:grid;grid-template-columns:44px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px}
  .fail .dl-n{background:var(--navy);color:#8FD0F2}
  .fail h3{font-size:1rem;margin-bottom:2px}
  .fail p{font-size:.93rem}
  .teaser .wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}

  @media(max-width:960px){.sub-hero .wrap{grid-template-columns:1fr;padding-block:44px 52px}.moregrid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:640px){.dogrid,.exps,.cases.one,.moregrid{grid-template-columns:1fr}}
