/* ==========================================================================
   Qistas — site stylesheet
   Loaded AFTER bootstrap.min.css / bootstrap.rtl.min.css.
   Block 1 below re-asserts this design's own reset so Bootstrap Reboot's
   element margins / list padding / .nav & .badge component rules cannot
   change the layout. Everything after it is the original site CSS.
   ========================================================================== */
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote,fieldset,legend,pre,table,th,td,label,input,select,textarea,button,summary{margin:0;padding:0}
ul,ol{list-style:none}
hr{border:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:none;border:0}
header.nav{display:block}
.btn{text-align:inherit;text-decoration:none;vertical-align:middle;box-shadow:none}
.badge{padding:0;border-radius:0;color:inherit;font-weight:inherit;font-size:inherit;text-align:inherit;white-space:normal}
:root{--bs-body-font-family:'Inter',system-ui,-apple-system,sans-serif;--bs-body-color:#54637e;--bs-body-bg:#fff}


  :root{
    --spark:#8fd0ff; --spark-deep:#3f86cf; --spark-ink:#245aa0;
    --head:#0d1f3d; --slate:#54637e; --muted:#8494b0;
    --on-deep:var(--on-deep); --on-deep-2:var(--on-deep-2);
    --line:#e7ecf4; --alt:#f5f8fc; --blue:#eef4fb; --soft:#eaf1fb; --ink:#0e1b30;
    --navy:#0c2b50; --navy-2:#0a2340; --green:#30a46c;
    --sans:'Inter',system-ui,-apple-system,sans-serif;
    --disp:'Poppins','Inter',sans-serif;
    --serif:'Poppins','Inter',sans-serif;
    --sans-ar:'Cairo',system-ui,sans-serif;
    --disp-ar:'Cairo',system-ui,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);color:var(--slate);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.65;font-weight:400}
  a{color:inherit;text-decoration:none}
  h1,h2,h3,h4,h5{font-family:var(--disp);color:var(--head);font-weight:500;letter-spacing:-.012em;line-height:1.18}
  b,strong{font-weight:500}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  .serif-i{font-family:var(--serif);font-style:normal;font-weight:400}
  ::selection{background:rgba(63,134,207,.18)}
  :focus-visible{outline:2px solid var(--spark-deep);outline-offset:3px;border-radius:6px}

  .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.sc{transform:translateY(34px) scale(.96)}.reveal.sc.in{transform:none}
  .reveal.tl{transform:perspective(1500px) rotateX(9deg) translateY(44px);transform-origin:top center}.reveal.tl.in{transform:none}
  .d1{transition-delay:.09s}.d2{transition-delay:.18s}.d3{transition-delay:.27s}.d4{transition-delay:.36s}.d5{transition-delay:.45s}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}*{animation:none!important}[data-par]{transform:none!important}}

  .sec{padding:120px 0;position:relative;overflow:hidden}
  .sec.tint{background:var(--alt)}.sec.blue{background:var(--blue)}
  .chapter{position:relative;z-index:1}
  .chnum{display:none}
  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--head);font-weight:500}
  .eyebrow em{font-style:normal;color:var(--spark-deep);font-variant-numeric:tabular-nums;letter-spacing:.14em}
  .h2{font-family:var(--disp);font-size:clamp(30px,4.2vw,48px);font-weight:500;color:var(--head);letter-spacing:-.018em;line-height:1.12}
  .h2 .serif-i{display:block;color:var(--spark-deep);font-weight:400;margin-top:.2em}
  .h2.caps{letter-spacing:-.018em}
  .lead{color:var(--slate);font-size:18px;line-height:1.72;max-width:560px;font-weight:400}
  .center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.center .eyebrow{justify-content:center}
  .trule{width:54px;height:3px;border-radius:2px;background:var(--spark-deep);margin:22px 0 0;opacity:1;transform:scaleX(0);transform-origin:left center;transition:transform .8s cubic-bezier(.2,.7,.3,1) .1s}
  .trule.in{transform:scaleX(1)}
  html[dir="rtl"] .trule{transform-origin:right center}
  .center .trule{margin-left:auto;margin-right:auto;transform-origin:center center}
  .focusline{margin:26px auto 0;display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 20px;font-family:var(--disp);font-weight:500;font-size:14px;color:var(--head);box-shadow:0 8px 24px rgba(15,42,99,.06)}
  .focusline i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(48,164,108,.16)}

  .btn{font-family:var(--disp);font-weight:500;font-size:15px;border-radius:999px;padding:14px 26px;border:1px solid transparent;cursor:pointer;transition:.18s;display:inline-flex;align-items:center;gap:9px;line-height:1}
  .btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2}
  .btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2)}
  .btn-white{background:#fff;color:var(--navy)}.btn-white:hover{background:#eaf2ff;transform:translateY(-1px)}
  .btn-ghost-dark{background:none;color:#cfe0f5;border-color:transparent;padding-inline:18px}
  .btn-ghost-dark:hover{background:rgba(255,255,255,.08);color:#fff}
  .btn-soon{position:relative}
  .btn-soon::after{content:attr(data-soon);position:absolute;bottom:calc(100% + 10px);left:50%;
    transform:translate(-50%,4px);padding:5px 11px;border-radius:999px;white-space:nowrap;
    background:rgba(255,255,255,.94);color:var(--navy);font-family:var(--disp);font-weight:500;
    font-size:12px;letter-spacing:.01em;box-shadow:0 8px 22px rgba(3,14,34,.32);
    opacity:0;pointer-events:none;transition:opacity .16s,transform .16s}
  .btn-soon:hover::after,.btn-soon:focus-visible::after{opacity:1;transform:translate(-50%,0)}
  .btn-ghost-dark svg.play-ic{width:11px;height:11px;padding:5px;border-radius:50%;border:1px solid currentColor;box-sizing:content-box}

  .video-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
  .video-modal.open{display:flex}
  .video-modal-backdrop{position:absolute;inset:0;background:rgba(6,16,34,.65);backdrop-filter:blur(4px)}
  .video-modal-box{position:relative;background:#fff;border-radius:20px;max-width:440px;width:100%;padding:38px 32px;box-shadow:0 40px 90px rgba(4,14,34,.4);text-align:center}
  .video-modal-close{position:absolute;top:14px;right:14px;background:none;border:none;cursor:pointer;padding:8px;color:var(--slate);border-radius:8px}
  .video-modal-close:hover{background:var(--soft);color:var(--head)}
  .video-modal-close svg{width:18px;height:18px}
  .video-modal-ic{display:inline-flex;width:56px;height:56px;border-radius:50%;background:var(--soft);color:var(--spark-ink);align-items:center;justify-content:center;margin-bottom:18px}
  .video-modal-ic svg{width:24px;height:24px}
  .video-modal-inner p{color:var(--slate);font-size:15px;line-height:1.6;margin-bottom:22px}
  html[dir="rtl"] .video-modal-close{right:auto;left:14px}
  .btn-ghost-d{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.34);color:#fff}.btn-ghost-d:hover{border-color:#fff;background:rgba(255,255,255,.12)}

  /* NAV */
  header.nav{position:sticky;top:0;z-index:80;transition:background .3s,border-color .3s;background:rgba(255,255,255,.9);backdrop-filter:blur(14px)}
  header.nav.on-dark{background:transparent}
  .nav-inner{display:flex;align-items:center;gap:24px;height:78px;max-width:none;padding:0 24px}
  .logo{display:flex;align-items:center;height:100%;flex:none;transform:translateY(-3px)}
  .logo img{height:29px;width:auto;display:block}
  .nav .l-light{display:none}.nav.on-dark .l-light{display:block}.nav.on-dark .l-dark{display:none}
  /* Arabic wordmark logo: shown in RTL, dark/light variant follows the nav background */
  .nav .l-light-ar,.nav .l-dark-ar{display:none}
  html[dir="rtl"] .nav .l-light,html[dir="rtl"] .nav .l-dark{display:none}
  html[dir="rtl"] .nav .l-dark-ar{display:block}
  html[dir="rtl"] .nav.on-dark .l-dark-ar{display:none}
  html[dir="rtl"] .nav.on-dark .l-light-ar{display:block}
  .nav-links{display:flex;align-items:center;gap:26px;margin-inline-start:auto}
  .nav-links a{white-space:nowrap;position:relative;font-family:var(--disp);color:var(--slate);font-weight:400;font-size:13.5px;letter-spacing:.005em;transition:color .18s;text-decoration:none;padding:4px 0}
  .nav.on-dark .nav-links a{color:rgba(255,255,255,.82)}
  .nav-links a:hover{color:var(--spark-deep)}.nav.on-dark .nav-links a:hover{color:#fff}
  .nav-links a.active{color:var(--head);font-weight:600}.nav.on-dark .nav-links a.active{color:#fff}
  .nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;border-radius:2px;background:var(--spark-deep)}
  .nav.on-dark .nav-links a.active::after{background:#fff}
  @media(max-width:600px){.nav-links{gap:20px;font-size:14px;margin-inline-start:4px}}
  .nav-right{display:flex;align-items:center;gap:14px}
  .hamburger{display:none;background:none;border:none;padding:10px;margin-inline-start:14px;cursor:pointer;flex:none;border-radius:8px}
  .hamburger svg{width:24px;height:24px;stroke:var(--head);fill:none;stroke-width:2;stroke-linecap:round;display:block}
  .nav.on-dark .hamburger svg{stroke:#fff}
  .hamburger .icon-close{display:none}
  .nav-inner.menu-open .hamburger .icon-open{display:none}
  .nav-inner.menu-open .hamburger .icon-close{display:block}
  @media(max-width:1180px) and (min-width:901px){
    .nav-inner{gap:16px;padding:0 18px}
    .nav-links{gap:18px}
    .nav-links a{font-size:12.5px}
  }
  @media(max-width:900px){
    .hamburger{display:flex;align-items:center;justify-content:center;margin-inline-start:auto}
    .nav-links,.nav-right{display:none}
    .nav-inner{position:relative;flex-wrap:wrap;height:auto;min-height:78px}
    .nav-inner.menu-open{align-items:flex-start;padding-top:15px}
    .nav-inner.menu-open .nav-links,.nav-inner.menu-open .nav-right{display:flex}
    .nav-inner.menu-open{background:#fff;box-shadow:0 24px 48px rgba(15,42,99,.16)}
    .nav-inner.menu-open .logo,.nav-inner.menu-open .hamburger{position:relative;z-index:2}
    .nav-inner.menu-open .logo .l-light,.nav-inner.menu-open .logo .l-light-ar{display:none}
    .nav-inner.menu-open .logo .l-dark{display:inline-block}
    .nav-inner.menu-open .logo .l-dark-ar{display:none}
    html[dir="rtl"] .nav-inner.menu-open .logo .l-dark{display:none}
    html[dir="rtl"] .nav-inner.menu-open .logo .l-dark-ar{display:inline-block}
    .nav-inner.menu-open .hamburger svg{stroke:var(--head)}
    .nav-inner.menu-open .nav-links{order:3;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;margin-inline-start:0;font-size:16px;padding-top:6px}
    .nav-inner.menu-open .nav-links a{padding:15px 4px;border-top:1px solid var(--line);color:var(--head);transition:none}
    .nav-inner.menu-open .nav-links a.active{color:var(--spark-ink)}
    .nav-inner.menu-open .nav-right{order:4;flex-basis:100%;flex-direction:column;align-items:stretch;gap:14px;margin-inline-start:0;padding:16px 4px 22px;border-top:1px solid var(--line)}
    .nav-inner.menu-open .lang{align-self:flex-start;color:var(--slate);border:0}
    .nav-inner.menu-open .nav-signin{color:var(--head)}
    .nav-inner.menu-open .signin-wrap{width:100%;flex-direction:column;align-items:stretch;gap:0}
    .nav-inner.menu-open .signin-wrap .nav-signin{width:100%;justify-content:space-between;padding:13px 16px}
    .nav-inner.menu-open .signin-menu{white-space:normal;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:6px 0 0;margin-top:8px;width:100%;min-width:0;display:none}
    .nav-inner.menu-open .signin-wrap.open .signin-menu{display:flex;flex-direction:column;gap:8px}
    /* the options are full-width rows in the drawer, each in a bordered card */
    .nav-inner.menu-open .signin-opt{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
    .nav-inner.menu-open .signin-opt + .signin-opt{margin-top:0}
    .nav-inner.menu-open .signin-opt .so-txt{min-width:0}
    .nav-inner.menu-open .signin-opt .so-txt b{white-space:normal}
    .nav-inner.menu-open .signin-opt{grid-template-columns:1fr auto}
    html[dir="rtl"] .nav-inner.menu-open .signin-menu{left:auto;right:auto}
    .nav-links a,.hamburger svg,.nav-signin,.lang{transition:none}
  }
  .lang{font-size:13px;color:var(--slate);width:auto;height:auto;padding:4px 0;border:0;border-radius:0;font-family:var(--disp);font-weight:500;letter-spacing:.04em;background:none;cursor:pointer;-webkit-appearance:none;appearance:none}
  .nav.on-dark .lang{color:#fff;border:0;background:none}
  .nav.on-dark .lang:hover{background:none;color:var(--spark)}
  .nav-signin{white-space:nowrap;font-family:var(--disp);font-weight:400;font-size:13.5px;letter-spacing:.005em;color:var(--head);padding:4px 0;border:0;border-radius:0;background:none;-webkit-appearance:none;appearance:none;transition:color .18s}
  .nav-signin:hover{background:none;color:var(--spark-deep)}
  .nav.on-dark .nav-signin{color:#fff}
  .nav.on-dark .nav-signin:hover{background:none;color:var(--spark)}
  .signin-wrap{position:relative;display:flex;align-items:center}
  .signin-wrap .nav-signin{display:inline-flex;align-items:center;gap:5px;cursor:pointer;line-height:1}
  .signin-wrap .caret{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .2s;animation:none;background:none;vertical-align:baseline}
  .signin-wrap.open .caret{transform:rotate(180deg)}
  .signin-menu{position:absolute;top:calc(100% + 14px);right:0;min-width:max-content;white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:2px;box-shadow:0 12px 28px rgba(15,42,99,.09);padding:0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
  .signin-wrap.open .signin-menu{opacity:1;visibility:visible;transform:none}
  .signin-opt{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;
    padding:14px 18px;border-radius:0;transition:background .15s}
  .signin-opt:hover{background:var(--alt)}
  .signin-opt + .signin-opt{margin-top:0;position:relative}
  .signin-opt + .signin-opt::before{content:"";position:absolute;top:0;left:12px;right:12px;height:1px;background:var(--line)}
  .signin-opt .so-txt{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;
    column-gap:9px;row-gap:3px}
  .signin-opt .so-txt b{grid-column:2}
  .signin-opt .so-dot{grid-column:1;grid-row:1}
  .signin-opt .so-txt small{grid-column:2;font-size:11.5px;color:var(--muted);line-height:1.3}
  .signin-opt .so-txt b{font-family:var(--disp);font-weight:500;font-size:14px;color:var(--head);line-height:1.3;white-space:nowrap}
  .signin-opt .so-dot{width:6px;height:6px;border-radius:50%;background:var(--spark-deep);
    box-shadow:0 0 0 3px rgba(143,208,255,.22);flex:none}
  .signin-opt .so-dot.grey{background:var(--muted);box-shadow:none}
  .signin-opt .so-go{width:15px;height:15px;flex:none;stroke:var(--muted);fill:none;stroke-width:2;
    opacity:0;transform:translateX(-4px);transition:.18s}
  html[dir="rtl"] .signin-opt .so-go{transform:scaleX(-1) translateX(-4px)}
  .signin-opt:hover .so-go{opacity:1;transform:none;stroke:var(--head)}
  html[dir="rtl"] .signin-opt:hover .so-go{transform:scaleX(-1)}
  .ai-badge{display:inline-flex;align-items:center;gap:4px;margin-inline-start:8px;padding:2px 9px 2px 7px;border-radius:999px;background:linear-gradient(135deg,#eaf2ff,#f2eefc);border:1px solid #d7e6fb;font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--spark-ink);vertical-align:middle}
  html[dir="rtl"] .ai-badge{padding:2px 7px 2px 9px}
  .legacy-badge{display:inline-flex;align-items:center;margin-inline-start:8px;padding:2px 9px;border-radius:999px;background:var(--alt);border:1px solid var(--line);font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--muted);vertical-align:middle}
  .ai-badge svg{width:11px;height:11px;fill:var(--spark-deep);flex:none}
  html[dir="rtl"] .signin-menu{right:auto;left:0}
  .nav.on-dark .btn-navy{background:#fff;color:var(--navy)}.nav.on-dark .btn-navy:hover{background:#eaf2ff}

  /* HERO */
  .hero,.page-head{position:relative;overflow:hidden;padding:78px 0 130px;color:#fff;
    background:#0d2c52 url(../img/img01.jpg) center/cover no-repeat}
  .hero{margin-top:-78px}
  @keyframes rays{0%,100%{opacity:0}50%{opacity:0}}
  .hero::before,.page-head::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,16,34,.28) 0%,rgba(6,16,34,.06) 34%,rgba(7,20,42,.12) 68%,rgba(8,22,46,.34) 100%)}
  .hero::after,.page-head::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(../img/img02.png);background-size:96px 96px;opacity:.045;mix-blend-mode:overlay}
  .stars{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;opacity:.62}
  .star{position:absolute;border-radius:50%;background:#eaf3ff}
  .star.bright{background:#fff;box-shadow:0 0 6px 1px rgba(174,215,255,.85)}
  @keyframes tw{0%,100%{opacity:.1;transform:scale(.8)}50%{opacity:.72;transform:scale(1.1)}}
  @keyframes twb{0%,100%{opacity:.28;transform:scale(.6);box-shadow:0 0 3px rgba(174,215,255,.45)}50%{opacity:.8;transform:scale(1.35);box-shadow:0 0 8px 2px rgba(180,220,255,.7)}}
  .shoot{position:absolute;z-index:1;height:1.5px;border-radius:2px;pointer-events:none;opacity:0;background:linear-gradient(270deg,rgba(235,246,255,.95) 0%,rgba(235,246,255,.45) 30%,rgba(235,246,255,0) 100%);filter:drop-shadow(0 0 5px rgba(160,210,250,.55))}
  @keyframes shoot{0%{opacity:0;transform:translate(0,0) rotate(18deg)}1.2%{opacity:.55}5%{opacity:.55}6.5%{opacity:0;transform:translate(340px,110px) rotate(18deg)}100%{opacity:0;transform:translate(340px,110px) rotate(18deg)}}
  .sa{top:8%;left:5%;width:82px;animation:shoot 17s linear 2s infinite}
  .sb{top:15%;left:58%;width:66px;animation:shoot 21s linear 9s infinite}
  .sc{top:5%;left:36%;width:74px;animation:shoot 26s linear 15s infinite}
  .sd{top:22%;left:78%;width:60px;animation:shoot 23s linear 6.8s infinite}
  .se{top:12%;left:22%;width:70px;animation:shoot 29s linear 12s infinite}
  @media(prefers-reduced-motion:reduce){.shoot,.aurora,.star{animation:none}}

  .hero-inner{position:relative;z-index:3;text-align:start;max-width:1180px;margin:0 auto;padding:104px 28px 0}
  .hero-inner h1{max-width:880px}
  .pill{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 18px 7px 14px;font-size:14px;font-weight:400;letter-spacing:.01em;color:#eaf1ff;margin-bottom:26px}
  .pill .dot{width:6px;height:6px;border-radius:50%;background:var(--spark);box-shadow:0 0 0 3px rgba(143,208,255,.22)}
  .hero h1{font-family:var(--disp);font-size:clamp(34px,4.6vw,58px);font-weight:500;line-height:1.06;color:#fff;letter-spacing:-.024em}
  .hero h1 .rotline{display:block;text-transform:none;margin-top:8px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(23px,2.7vw,35px);color:#c3dbf6;letter-spacing:-.008em;line-height:1.34;max-width:37ch;min-height:1.15em;line-height:1.15}
  .hero h1 .rotline .hi{font-style:inherit;font-weight:600;color:inherit;position:relative;white-space:nowrap}
  .hero-eb,.hero h1,.hero h1 .rotline,.hero-lede .hero-cta{animation:heroUp .7s cubic-bezier(.2,.7,.3,1) both}
  .hero h1{animation-delay:.06s}
  .hero h1 .rotline{animation-delay:.14s}
  .hero-lede .hero-cta{animation-delay:.22s}
  @keyframes heroUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.hero-eb,.hero h1,.hero h1 .rotline,.hero-lede .hero-cta{animation:none}}
  .hero h1 .rot{font:inherit;color:inherit}
  .cursor{display:none}
  @keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
  .hero .sub{margin:0;max-width:560px;text-wrap:balance;color:#cfdcf4;font-size:clamp(15.5px,1.9vw,19px);line-height:1.62;font-weight:400}
  .hero .sub b{font-weight:700;color:#fff}
  .hero-cta{margin-top:0;display:flex;gap:10px;align-items:center;justify-content:flex-start;flex-wrap:wrap}
  .hero-meta{margin-top:26px;display:flex;gap:22px;justify-content:flex-start;flex-wrap:wrap;color:#9fb6d8;font-size:13px;font-family:var(--disp);font-weight:500}
  .hero-meta span{display:inline-flex;align-items:center;gap:7px}
  .hero-meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--spark)}

  .stage{position:relative;z-index:3;max-width:1020px;margin:58px auto 0;padding:0 20px 40px;-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent);mask-image:linear-gradient(180deg,#000 78%,transparent)}
  .console-wrap{border-radius:15px 15px 0 0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-bottom:none;box-shadow:0 -6px 70px rgba(120,175,235,.16),0 44px 100px rgba(0,0,0,.5);transform:perspective(1900px) rotateX(7deg);transform-origin:top center;background:#fff;transition:opacity .32s ease}
  .hfloat{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);box-shadow:0 22px 54px rgba(3,14,34,.42)}
  .hfloat .fb{width:3px;align-self:stretch;border-radius:2px;background:var(--green)}
  .hfloat b{display:block;font-family:var(--disp);font-size:13px;color:var(--head);line-height:1.2}
  .hfloat small{font-size:12px;color:var(--slate)}
  .hf1{right:0;top:22%}.hf2{right:0;top:60%}.hf3{left:0;top:44%}
  .harrow{width:20px;height:20px;stroke:var(--spark-deep);fill:none;stroke-width:2.4;flex:none;margin-left:2px}
  @media(max-width:940px){.hfloat{display:none}.stage{margin-top:44px}}

  .hero-inner{display:block}
  .hero-lede{min-width:0}
  .hero-eb{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;
    font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.13em;text-transform:uppercase;
    color:#dce8fb}
  .hero-eb .eb-dot{width:7px;height:7px;border-radius:50%;background:var(--spark);flex:none;
    animation:ebpulse 2.4s ease-in-out infinite}
  @keyframes ebpulse{0%,100%{box-shadow:0 0 0 0 rgba(143,208,255,.5),0 0 6px 1px rgba(143,208,255,.7)}
    50%{box-shadow:0 0 0 6px rgba(143,208,255,0),0 0 12px 3px rgba(143,208,255,.95)}}
  html[dir="rtl"] .hero-eb{font-size:15px;letter-spacing:0;text-transform:none;font-weight:700}
  .hero-lede{max-width:760px}
  .hero-lede .sub{margin:22px 0 0;max-width:420px;text-align:start;line-height:1.55;text-wrap:pretty}
  .hero-lede .hero-cta{margin-top:30px}
  .hero-ico{display:flex;align-items:center;gap:26px;margin-top:24px;
    animation:heroUp .7s cubic-bezier(.2,.7,.3,1) .18s both}
  .hi-ic{display:inline-flex;align-items:center;justify-content:center;color:var(--spark);opacity:.8;transition:.16s}
  .hi-ic{position:relative}
  .hi-ic:hover{opacity:1;color:var(--spark)}
  .hi-lab{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-3px);
    font-family:var(--disp);font-style:normal;font-weight:500;font-size:9px;letter-spacing:.07em;
    text-transform:uppercase;color:var(--spark);white-space:nowrap;pointer-events:none;opacity:0;
    transition:opacity .16s,transform .16s}
  html[dir="rtl"] .hi-lab{font-size:10.5px;letter-spacing:0;text-transform:none}
  .hi-ic:hover .hi-lab{opacity:1;transform:translate(-50%,0)}
  .hi-ic svg{width:22px;height:22px}
  .hi-ic .pico{width:22px;height:22px}
  .hi-ic.is-lead{opacity:1;margin:0 12px}
  .hi-ic.is-lead svg,.hi-ic.is-lead .pico{width:30px;height:30px}
  .hi-more svg{stroke-width:1.3}
  .hi-more svg path{stroke-width:2.6}
  @media(max-width:560px){.hero-ico{gap:18px}.hi-ic svg,.hi-ic .pico{width:19px;height:19px}}
  .hero-cta .btn{border-radius:999px;padding:10px 20px;font-size:13.5px;min-height:40px;line-height:1}
  .hero-cta .btn-ghost-dark{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff;padding-inline:20px}
  .hero-cta .btn-ghost-dark:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
  .hero-cta .btn-ghost-dark svg.play-ic{width:9px;height:9px;padding:4px}
  .hero-cta .btn svg{width:15px;height:15px}
  .hero-cta .btn-white{position:relative;color:#fff;border-color:rgba(143,208,255,.42);
    background:linear-gradient(135deg,#1d5c93 0%,#123f68 52%,#0c2b4a 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 0 rgba(143,208,255,.42),0 10px 26px rgba(6,22,44,.4);
    animation:ctaGlow 3.2s ease-in-out infinite}
  @keyframes ctaGlow{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 0 rgba(143,208,255,.34),0 10px 26px rgba(6,22,44,.4)}
    50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 7px rgba(143,208,255,0),0 10px 30px rgba(6,22,44,.46)}}
  .hero-cta .btn-white:hover{background:linear-gradient(135deg,#2470b0 0%,#164a78 52%,#0f3457 100%);
    border-color:rgba(143,208,255,.7);transform:translateY(-1px)}

  .hero-list{position:relative;z-index:3;min-width:0}
  .hl-lab{font-family:var(--disp);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
    color:#87a0c4;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14)}
  .hrow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;
    padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.09);transition:.16s}
  .hrow:hover{border-color:rgba(255,255,255,.24);padding-inline-start:10px}
  .hr-ic{display:flex;align-items:center;justify-content:center;flex:none;opacity:.7;transition:opacity .16s}
  .hrow:hover .hr-ic{opacity:1}
  .hr-ic svg{width:20px;height:20px;stroke:#eaf1fb;fill:none;stroke-width:1.5}
  .hr-ic .pico{width:20px;height:20px}
  .hr-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
  .hr-txt b{font-family:var(--disp);font-weight:500;font-size:14.5px;color:#fff;line-height:1.3}
  .hr-txt small{font-size:12px;color:#9db2d2;line-height:1.4}
  .hr-go{width:15px;height:15px;flex:none;color:#7f97ba;opacity:0;transform:translateX(-4px);transition:.16s}
  .hrow:hover .hr-go{opacity:1;transform:none;color:#fff}
  @media(max-width:1000px){
    .hero-inner{grid-template-columns:1fr;gap:48px}
    .hero-list{max-width:520px}
  }

  .cloud{position:absolute;background:#fff;border-radius:100px;pointer-events:none;filter:blur(5px)}
  .cloud::before,.cloud::after{content:"";position:absolute;background:#fff;border-radius:50%}
  .cloud::before{width:56%;height:180%;top:-70%;left:16%}
  .cloud::after{width:70%;height:230%;top:-95%;right:12%}
  @keyframes drift{from{transform:translateX(-8%)}to{transform:translateX(8%)}}
  .ac1{width:230px;height:56px;top:48px;left:8%;animation:drift 26s ease-in-out infinite alternate}
  .ac2{width:150px;height:40px;top:110px;left:64%;opacity:.75;animation:drift 34s ease-in-out infinite alternate-reverse}
  .ac3{width:300px;height:64px;top:140px;left:28%;opacity:.5;animation:drift 40s ease-in-out infinite alternate}

  /* client marquee */
  .clients{background:#fafbfc;padding:16px 0 18px;border-bottom:1px solid var(--line)}
  .clients .lab{text-align:center;font-family:var(--disp);font-weight:500;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
  .cmarq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .clients .cmarq img{mix-blend-mode:multiply}
  .ctrack{display:flex;gap:clamp(40px,7vw,84px);width:max-content;align-items:center;animation:scrollx 32s linear infinite}
  .cmarq:hover .ctrack{animation-play-state:paused}
  @keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  /* RTL: the track fills from the right, so it must travel the other way or it
     scrolls itself off and leaves the reel empty */
  html[dir="rtl"] .ctrack{animation-name:scrollx-rtl}
  @keyframes scrollx-rtl{from{transform:translateX(0)}to{transform:translateX(50%)}}
  .cwm{color:#5a6c86;opacity:.82;white-space:nowrap;transition:opacity .2s,color .2s;flex:none}
  .cwm:hover{opacity:1;color:#33425c}
  .cwm b,.cwm .ser,.cwm .sp{font-family:var(--disp);font-weight:500;letter-spacing:.03em;font-size:19px}

  .seam{display:none}

  /* app mockup chrome */
  .app{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 34px 74px rgba(15,42,99,.14)}
  .app-top{height:46px;background:linear-gradient(90deg,#0a2340,#123a6e);display:flex;align-items:center;padding:0 16px;gap:10px}
  .app-top .brand{height:20px}
  .app-top .jpill{font-family:var(--disp);font-weight:500;font-size:11px;color:#cfe0f7;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px 10px}
  .app-top .tctl{font-family:var(--disp);font-weight:500;font-size:11.5px;color:#cfe0f7}
  .app-top .tdot{width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.1)}
  .app-top .jpill{display:inline-flex;align-items:center;gap:5px}
  .app-top .jpill svg{width:12px;height:12px;flex:none}
  .app-top .tctl{display:inline-flex;align-items:center;gap:3px}
  .app-top .tctl svg{width:9px;height:9px;flex:none}
  .app-top-ic{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#cfe0f7;flex:none;position:relative}
  .app-top-ic svg{width:14px;height:14px}
  .app-top-ic.user{border-radius:50%;background:rgba(255,255,255,.14)}
  .app-top-ic.bell .dot{position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:#5aa4ea;border:1.5px solid #123a6e}

  .app-flex{display:flex;min-height:346px}
  .app-side{width:132px;border-right:none;padding:14px 9px;background:linear-gradient(180deg,#0a2340,#123a6e);flex:none;display:flex;flex-direction:column;gap:4px}
  .side-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;cursor:pointer;color:rgba(255,255,255,.62);transition:.15s;font-family:var(--disp);font-weight:500;font-size:11px;line-height:1.25}
  .side-item svg{width:14px;height:14px;flex:none}
  .side-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .side-item:hover{background:rgba(255,255,255,.08);color:#fff}
  .side-item.on{background:rgba(255,255,255,.15);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
  .side-sec{margin:10px 4px 3px;font-family:var(--disp);font-weight:600;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.42);display:flex;align-items:center;gap:7px}
  .side-sec:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.16)}
  .side-btn{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.55);transition:.15s;flex:none}
  .side-btn svg{width:17px;height:17px}
  /* product icons (extracted from app, used as color-inheriting masks) */
  .pico{display:inline-block;width:17px;height:17px;background-color:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;flex:none}
  .pico-chat{-webkit-mask-image:url(../img/img03.png);mask-image:url(../img/img03.png)}
  .pico-gavel{-webkit-mask-image:url(../img/img04.png);mask-image:url(../img/img04.png)}
  .pico-doc{-webkit-mask-image:url(../img/img05.png);mask-image:url(../img/img05.png)}
  .pico-bank{-webkit-mask-image:url(../img/img06.png);mask-image:url(../img/img06.png)}
  .side-btn .pico{width:17px;height:17px}
  .side-item .pico{width:14px;height:14px}
  .side-sub .pico{width:14px;height:14px}
  .arail-ic .pico{width:20px;height:20px}
  .a-head .aic .pico{width:16px;height:16px;background-color:var(--spark-ink)}

  .side-btn:hover{background:rgba(255,255,255,.08);color:#fff}
  .side-btn.on{background:rgba(255,255,255,.16);color:#fff}
  .side-sub{width:30px;height:30px;border-radius:9px}
  .side-sub svg{width:14px;height:14px}
  .side-gap{height:9px}
  .app-body{flex:1;padding:20px 22px;display:flex;flex-direction:column}
  .a-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
  .a-head .aic{width:30px;height:30px;border-radius:9px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
  .a-head .aic svg{width:16px;height:16px;stroke:var(--spark-ink);fill:none;stroke-width:1.9}
  .a-head b{font-family:var(--disp);font-size:14px;color:var(--head)}

  /* animated grounded chat inside assistant mockups */
  .mchat{display:flex;flex-direction:column;gap:9px;margin:4px 0 14px}
  .mrow{display:flex}
  .mrow.mu{justify-content:flex-end}
  .mbub{max-width:86%;border-radius:13px;padding:9px 12px;font-size:11.5px;line-height:1.45}
  .mbub.u{background:var(--navy);color:#fff;border-bottom-right-radius:4px}
  html[dir="rtl"] .mbub.u{border-bottom-right-radius:13px;border-bottom-left-radius:4px}
  .mbub.a{background:#f3f6fb;border:1px solid var(--line);color:#33425c;border-bottom-left-radius:4px;width:86%}
  html[dir="rtl"] .mbub.a{border-bottom-left-radius:13px;border-bottom-right-radius:4px}
  .mstatus{display:inline-flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:500;font-size:10.5px;color:var(--slate)}
  .mdots{display:inline-flex;gap:3px}
  .mdots i{width:4px;height:4px;border-radius:50%;background:var(--spark-ink);animation:mbounce .9s ease-in-out infinite}
  .mdots i:nth-child(2){animation-delay:.15s}.mdots i:nth-child(3){animation-delay:.3s}
  @keyframes mbounce{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-3px);opacity:1}}
  .mline{display:block;height:7px;border-radius:4px;background:#dde5f0;margin-bottom:6px;transform-origin:left center}
  html[dir="rtl"] .mline{transform-origin:right center}
  .mline.l1{width:92%}.mline.l2{width:78%}.mline.l3{width:60%}
  .mcites{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 7px}
  .mcite{display:inline-flex;align-items:center;gap:5px;font-family:var(--disp);font-weight:500;font-size:9.5px;color:var(--spark-ink);background:#fff;border:1px solid #cfe0f7;border-radius:7px;padding:4px 8px}
  .mcite svg{width:9px;height:9px;stroke:var(--spark-ink);fill:none;stroke-width:2.6;flex:none}
  .mgrounded{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);font-weight:600;font-size:9.5px;color:#0f7a4d;background:#e9f7f0;border:1px solid #bfe6d4;border-radius:999px;padding:4px 10px}
  .gdot{width:6px;height:6px;border-radius:50%;background:#18a069;animation:gping 1.7s ease-out infinite}
  @keyframes gping{0%{box-shadow:0 0 0 0 rgba(24,160,105,.45)}70%{box-shadow:0 0 0 7px rgba(24,160,105,0)}100%{box-shadow:0 0 0 0 rgba(24,160,105,0)}}
  /* 10s loop timeline */
  .kf-u{animation:kfu 10s ease infinite}
  @keyframes kfu{0%{opacity:0;transform:translateY(7px)}4%,96%{opacity:1;transform:translateY(0)}100%{opacity:0}}
  .kf-s{animation:kfs 10s ease infinite}
  @keyframes kfs{0%,7%{opacity:0;transform:translateY(4px)}11%,32%{opacity:1;transform:translateY(0)}36%,100%{opacity:0}}
  .kf-a{animation:kfa 10s ease infinite}
  @keyframes kfa{0%,34%{opacity:0;transform:translateY(8px)}39%,96%{opacity:1;transform:translateY(0)}100%{opacity:0}}
  .kf-a .mline{animation:kfl 10s ease infinite}
  @keyframes kfl{0%,36%{transform:scaleX(0)}46%,100%{transform:scaleX(1)}}
  .kf-a .mline.l2{animation-name:kfl2}
  @keyframes kfl2{0%,40%{transform:scaleX(0)}50%,100%{transform:scaleX(1)}}
  .kf-a .mline.l3{animation-name:kfl3}
  @keyframes kfl3{0%,44%{transform:scaleX(0)}54%,100%{transform:scaleX(1)}}
  .kf-c1{animation:kfc1 10s cubic-bezier(.34,1.56,.64,1) infinite}
  @keyframes kfc1{0%,55%{opacity:0;transform:scale(.7)}60%,100%{opacity:1;transform:scale(1)}}
  .kf-c2{animation:kfc2 10s cubic-bezier(.34,1.56,.64,1) infinite}
  @keyframes kfc2{0%,61%{opacity:0;transform:scale(.7)}66%,100%{opacity:1;transform:scale(1)}}
  .kf-g{animation:kfg 10s ease infinite}
  @keyframes kfg{0%,70%{opacity:0;transform:translateY(4px)}75%,100%{opacity:1;transform:translateY(0)}}
  .caret{display:inline-block;width:1.5px;height:12px;background:var(--spark-ink);vertical-align:middle;animation:blink 1.1s step-end infinite}
  @keyframes blink{0%,55%{opacity:1}56%,100%{opacity:0}}
  @media(prefers-reduced-motion:reduce){.kf-u,.kf-s,.kf-a,.kf-a .mline,.kf-c1,.kf-c2,.kf-g,.mdots i,.gdot,.caret{animation:none}.kf-s{opacity:0}.kf-u,.kf-a,.kf-c1,.kf-c2,.kf-g{opacity:1}}
  .qask{align-self:flex-end;background:#0e2f5c;color:#fff;border-radius:12px 12px 4px 12px;padding:10px 13px;font-size:13px;line-height:1.4;max-width:82%}
  .a-greet{font-family:var(--disp);font-weight:500;font-size:17px;color:var(--head);line-height:1.4;max-width:88%;margin:6px 0 18px}
  .jrow{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;align-self:flex-end}
  .jrow span{font-family:var(--disp);font-weight:500;font-size:10.5px;color:var(--spark-ink);background:var(--soft);border:1px solid #cfe0f7;border-radius:999px;padding:3px 9px}
  .gans{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:14px;background:linear-gradient(180deg,#fbfcff,#f5f9ff)}
  .gans .badge{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-family:var(--disp);font-weight:500;color:var(--spark-ink);margin-bottom:9px}
  .gans .badge i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(48,164,108,.18)}
  .gans p{font-size:13px;color:#28374f;line-height:1.58}.gans p b{color:var(--head)}
  .gans .cites{margin-top:11px;display:flex;gap:6px;flex-wrap:wrap}
  .gans .cites span{font-size:10.5px;font-family:var(--disp);font-weight:500;color:#3d4d6b;border:1px solid #dbe6f5;border-radius:999px;padding:4px 9px;background:#fff;display:inline-flex;gap:5px;align-items:center}
  .gans .cites span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--spark-ink)}
  .a-input{margin-top:auto;padding-top:16px}
  .a-inbar{border:1.5px solid #d9e3f2;border-radius:12px;padding:11px 13px;display:flex;align-items:center;gap:9px}
  .a-inbar .ph{font-size:13px;color:var(--muted);flex:1}
  .a-inbar .send{width:28px;height:28px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center}
  .a-inbar .send svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2.4}
  .wfrow{margin-top:11px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
  .wflab{font-family:var(--disp);font-weight:500;font-size:11px;color:var(--spark-ink);display:inline-flex;gap:5px;align-items:center}
  .wflab svg{width:13px;height:13px;stroke:var(--spark-ink);fill:none;stroke-width:2}
  .wfrow .wf{font-family:var(--disp);font-weight:500;font-size:11.5px;color:#33425c;border:1px solid var(--line);border-radius:999px;padding:6px 11px;background:#fff}
  @media(max-width:640px){.app-side{display:none}}

  /* research home mockup */
  .rhome-top{position:relative;padding:26px 26px 24px;color:#fff;overflow:hidden;background:#0c2447;background-image:radial-gradient(55% 90% at 18% 6%,rgba(118,176,244,.5) 0%,rgba(12,36,71,0) 58%),radial-gradient(48% 85% at 62% -8%,rgba(150,204,255,.44) 0%,rgba(12,36,71,0) 55%),radial-gradient(70% 110% at 96% 55%,rgba(70,130,210,.4) 0%,rgba(12,36,71,0) 60%),radial-gradient(85% 130% at 35% 110%,rgba(28,66,124,.55) 0%,rgba(12,36,71,0) 62%),linear-gradient(115deg,#0a1e3c 0%,#123a6b 52%,#0b2a52 100%)}
  .rgreet{position:relative;font-size:13px;color:#c3d5ef;margin-bottom:4px}
  .rhome-top h4{position:relative;color:#fff;font-size:clamp(18px,2.4vw,25px);font-weight:600;letter-spacing:-.01em}
  .rbar{position:relative;margin-top:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:8px 8px 8px 12px;display:flex;align-items:center;gap:10px;backdrop-filter:blur(3px)}
  .rbar-tools{display:inline-flex;align-items:center;gap:3px;flex:none}
  .rbtool{width:29px;height:29px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.62);flex:none}
  .rbtool svg{width:15px;height:15px}
  .rbtool.on{background:#fff;color:var(--spark-ink);box-shadow:0 1px 3px rgba(10,25,50,.25)}
  .rbtool-group{display:inline-flex;align-items:center;gap:1px;background:rgba(255,255,255,.14);border-radius:10px;padding:2.5px;flex:none}
  .rbtool-group .rbtool{width:26px;height:26px;border-radius:7px}
  .rbar-div{width:1px;height:17px;background:rgba(255,255,255,.24);flex:none;margin:0 2px}
  .rbar .ph{font-size:13.5px;color:#c4d6ef}
  .rbar-av{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--spark-ink);display:flex;align-items:center;justify-content:center;flex:none}
  .rbar-av svg{width:13px;height:13px}
  .rbar .go{width:34px;height:34px;border-radius:9px;background:var(--spark-ink);display:flex;align-items:center;justify-content:center;flex:none}
  .rbar .go svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2.2}
  .rchips{position:relative;margin-top:14px;display:flex;gap:2.7px;flex-wrap:nowrap}
  .rchips span{font-family:var(--disp);font-weight:500;font-size:8.5px;color:#dbe8fb;border:1px solid rgba(255,255,255,.24);border-radius:5.5px;padding:3.6px 5.5px;white-space:nowrap}
  @media(max-width:1179px){.rchips{flex-wrap:wrap}.rchips span{white-space:normal}}
  @media(min-width:1301px){.rchips{gap:3.2px}.rchips span{font-size:10px;padding:4.2px 6.5px;border-radius:6.5px}}
  @media(min-width:1451px){.rchips{gap:3.5px}.rchips span{font-size:11px;padding:4.6px 7.2px;border-radius:7.2px}}
  @media(min-width:1601px){.rchips{gap:3.8px}.rchips span{font-size:12px;padding:5px 7.8px;border-radius:7.8px}}
  @media(min-width:1751px){.rchips{gap:4.5px}.rchips span{font-size:14px;padding:5.9px 9.1px;border-radius:9.1px}}
  .rchips span.on{border-color:rgba(255,255,255,.5)}
  .rlower{background:#fff}
  .rtabs{display:flex;gap:16px;padding:14px 18px 0;overflow:hidden}
  .rtabs a{font-family:var(--disp);font-weight:500;font-size:13px;color:var(--slate);padding-bottom:12px;white-space:nowrap;position:relative}
  .rtabs a.on{color:var(--spark-ink)}
  .rtabs a.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--spark-ink);border-radius:2px}
  .rlower{border-top:none}
  .rtabs{border-bottom:1px solid var(--line)}
  .rskel{padding:14px 26px 24px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .rnews-head{display:flex;align-items:center;justify-content:space-between;padding:16px 26px 0}
  .rnews-head b{font-family:var(--disp);font-weight:600;font-size:13px;color:var(--head)}
  .rload{display:inline-flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:500;font-size:12px;color:var(--slate)}
  .rload i{width:7px;height:7px;border-radius:50%;background:var(--spark-deep);animation:rpulse 1.15s ease-in-out infinite}
  @keyframes rpulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
  .skcard{background:var(--alt);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
  .skb{display:block;height:11px;border-radius:6px;background:linear-gradient(90deg,#e3e9f0 0%,#eef2f7 40%,#e3e9f0 80%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}
  .skb.w1{width:78%}.skb.w2{width:52%;margin-top:11px}.skb.w3{width:34%;margin-top:11px}
  @keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
  @media(max-width:560px){.rskel{grid-template-columns:1fr}}

  /* content/source mockup */
  .cbody{padding:20px 22px}
  .doc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
  .doc-h b{font-family:var(--disp);font-size:15px;color:var(--head);line-height:1.3}
  .doc-badge{font-family:var(--disp);font-weight:500;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--spark-ink);background:var(--soft);border:1px solid #cfe0f7;border-radius:6px;padding:4px 8px;white-space:nowrap;flex:none}
  .doc-meta{margin-top:8px;font-size:12px;color:var(--slate);font-family:var(--disp);font-weight:500}
  .chain{margin-top:16px;display:flex;align-items:center;gap:0;flex-wrap:wrap}
  .chain b{font-family:var(--disp);font-size:12px;color:#3d4d6b;background:#fff;border:1px solid #dbe6f5;border-radius:8px;padding:7px 11px;font-weight:500}
  .chain s{color:var(--muted);text-decoration:none;padding:0 9px}
  .lines{margin-top:16px}
  .lines span{display:block;height:8px;border-radius:4px;background:#e9eef6;margin-bottom:9px}
  .lines span:nth-child(1){width:92%}.lines span:nth-child(2){width:84%}.lines span:nth-child(3){width:88%}.lines span:nth-child(4){width:60%}

  /* section 02 tabs */
  .s1-tabs{display:inline-flex;background:#eef2f9;border-radius:999px;padding:6px;gap:4px;margin-top:36px}
  .s1-tabs button{border:none;background:transparent;font-family:var(--disp);font-weight:500;font-size:15px;color:var(--slate);padding:12px 28px;border-radius:999px;cursor:pointer;transition:.2s}
  .s1-tabs button.active{background:var(--navy);color:#fff;box-shadow:0 8px 22px rgba(12,43,80,.22)}
  .s1-panel{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center;margin-top:46px;text-align:left}
  .s1-copy .kick{font-family:var(--disp);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--spark-deep);font-weight:500}
  .s1-copy h3{font-family:var(--disp);font-size:clamp(23px,2.9vw,31px);font-weight:500;color:var(--head);margin:12px 0 12px}
  .s1-copy>p{color:var(--slate);font-size:16px;line-height:1.6;max-width:440px}
  .clist{list-style:none;margin-top:20px}
  .clist li{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}
  .clist li svg{width:20px;height:20px;stroke:var(--spark-ink);fill:none;stroke-width:2;flex:none;margin-top:2px}
  .clist b{font-family:var(--disp);font-size:15px;color:var(--head)}
  .clist p{font-size:13.5px;color:var(--slate);margin-top:2px;line-height:1.5}
  .bene{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .bcard{border:1px solid var(--line);border-radius:12px;padding:15px 16px;background:#fff}
  .bcard .ic{width:30px;height:30px;border-radius:8px;background:var(--soft);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
  .bcard .ic svg{width:16px;height:16px;stroke:var(--spark-ink);fill:none;stroke-width:1.9}
  .bcard b{font-family:var(--disp);font-size:13.5px;color:var(--head);line-height:1.25;display:block}
  .bcard p{font-size:12.5px;color:var(--slate);margin-top:4px;line-height:1.45}
  @media(max-width:860px){.s1-panel{grid-template-columns:1fr;gap:34px}}
  @media(max-width:480px){.bene{grid-template-columns:1fr}}

  .statband{margin-top:60px;border-radius:20px;padding:44px 30px;background:radial-gradient(120% 130% at 20% 0%,#123a6e,#0a2340);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;overflow:hidden}
  .statband .st{text-align:center}
  .statband .st b{display:block;font-family:var(--sans);font-weight:500;font-size:clamp(30px,4vw,44px);letter-spacing:-.03em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
  .statband .st span{display:block;margin-top:10px;font-size:12px;color:#93a7c6;font-family:var(--sans);font-weight:400;letter-spacing:.02em}
  .statband .jur{grid-column:1/-1;text-align:center;margin-top:8px;color:#aebfdb;font-size:13.5px;font-family:var(--sans);font-weight:400;border-top:1px solid rgba(255,255,255,.1);padding-top:22px}
  @media(max-width:640px){.statband{grid-template-columns:1fr 1fr}}

  /* assistants */
  .adots{display:flex;gap:8px;margin-top:34px;justify-content:center}
  .adots span{width:8px;height:8px;border-radius:50%;background:var(--line);cursor:pointer;transition:.25s;display:inline-block}
  .adots span.on{background:var(--navy);width:26px;border-radius:5px}
  .apanel{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center;margin-top:44px;text-align:left;transition:opacity .45s ease,transform .45s ease}
  .apanel.swap{opacity:0;transform:translateY(10px)}
  .acopy .role{font-family:var(--disp);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--spark-deep)}
  .acopy h3{font-family:var(--disp);font-size:clamp(24px,3vw,32px);font-weight:500;color:var(--head);margin:8px 0 3px}
  .acopy .tagline{font-family:var(--serif);font-style:normal;font-size:17px;color:var(--spark-deep)}
  .acopy .desc{color:var(--slate);font-size:15px;line-height:1.55;max-width:440px;margin-top:11px}
  .acopy{max-height:100%;overflow-y:auto}
  .acaps{list-style:none;margin-top:12px}
  .acaps li{display:flex;gap:11px;align-items:flex-start;padding:5px 0;font-size:13.5px;color:#33425c}
  .acaps li svg{width:16px;height:16px;stroke:var(--spark-ink);fill:none;stroke-width:2.2;flex:none;margin-top:3px}
  .afeats{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
  .afeats span{font-family:var(--disp);font-weight:500;font-size:11.5px;color:#3d4d6b;border:1px solid var(--line);border-radius:999px;padding:6px 11px;background:#fff}
  .afeats span.key{color:var(--spark-ink);border-color:#cfe0f7;background:var(--soft)}
  /* platform: copy left, wide research mock on the right (bleeds off-screen edge) */
  .pgrid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:center;text-align:left;margin-bottom:52px}
  .pcopy{padding-top:0}
  .plat-mock{position:relative;min-width:0}
  html[dir="rtl"] .pgrid,html[dir="rtl"] .pcopy{text-align:right}
  .pcopy{max-width:460px}
  .pcopy .h2{font-size:clamp(26px,3vw,36px)}
  .pcopy .h2 .serif-i{font-size:.62em;line-height:1.3;margin-top:.35em}
  .pcopy .lead{font-size:15.5px;max-width:440px}
  .plat-mock .app{width:145%;max-width:none;border-radius:16px 0 0 16px;border-right:none;box-shadow:0 40px 90px rgba(15,42,99,.18);overflow:hidden}
  @media(max-width:1750px){.plat-mock .app{width:130%}}
  @media(max-width:1600px){.plat-mock .app{width:122%}}
  @media(max-width:1450px){.plat-mock .app{width:112%}}
  @media(max-width:1300px){.plat-mock .app{width:102%}}
  html[dir="rtl"] .plat-mock .app{border-radius:0 16px 16px 0;border-right:1px solid var(--line);border-left:none}
  .fcards.compact{gap:14px;margin-top:0;grid-template-columns:repeat(3,1fr)}
  .fcards.compact .fcard{padding:16px 15px 18px;min-height:0}
  .fcards.compact .fcard .fc-ic{width:32px;height:32px;margin-bottom:9px}
  .fcards.compact .fcard .fc-ic svg{width:18px;height:18px}
  .fcards.compact .fcard b{font-size:14px}
  .fcards.compact .fcard span{font-size:12.5px;line-height:1.5}
  @media(max-width:940px){.pgrid{grid-template-columns:1fr;gap:32px}.pcopy{max-width:none}.plat-mock .app{width:100%;border-radius:16px;border-right:1px solid var(--line)}.pgrid .pcopy{order:-1}}
  @media(max-width:860px){.fcards.compact{grid-template-columns:1fr 1fr}}  @media(max-width:520px){.fcards.compact{grid-template-columns:1fr}}

  /* 01 content section */
  .cgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start;text-align:left}
  html[dir="rtl"] .cgrid,html[dir="rtl"] .ccopy{text-align:right}
  .ctypes{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-top:26px}
  .ct{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:13.5px;color:var(--head);padding:6px 14px 6px 0;white-space:nowrap}
  .ct svg{width:16px;height:16px;stroke:var(--spark-ink);flex:none}
  .ct-div{width:1px;height:16px;background:#dbe3f0;flex:none;margin:0 14px 0 0}
  html[dir="rtl"] .ct{padding:6px 0 6px 14px}
  html[dir="rtl"] .ct-div{margin:0 0 0 14px}
  .cjur-lab{display:block;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--spark-deep);margin-bottom:8px}
  .cjur-sub{display:block;font-size:13px;color:var(--slate);margin-bottom:18px}
  html[dir="rtl"] .cjur-sub{letter-spacing:0}
  html[dir="rtl"] .cjur-lab{letter-spacing:0}
  /* jurisdictions: a ruled 3-up grid — flag beside its name, rows aligned */
  .cflags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;
    border-top:1px solid var(--line)}
  .cflags .cf{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;
    text-align:start;gap:10px;padding:12px 16px 12px 0;border-bottom:1px solid var(--line);min-width:0}
  .cflags .cf img{width:24px;height:24px;flex:none;border-radius:2px}
  .cflags .cf i{font-style:normal;font-family:var(--disp);font-size:13.5px;font-weight:500;
    color:var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  html[dir="rtl"] .cflags .cf{padding:12px 0 12px 16px}
  html[dir="rtl"] .cflags .cf i{font-size:14px}
  @media(max-width:520px){.cflags{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .cf-more{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);margin:0 0 20px;opacity:.6;letter-spacing:.01em}
  .cf-more .dots{display:inline-flex;gap:3px;align-items:center}
  .cf-more .dots span,.ct-more .dots span{width:3.5px;height:3.5px;border-radius:50%;background:currentColor;animation:cfBounce 1.3s ease-in-out infinite}
  .cf-more .dots span:nth-child(2),.ct-more .dots span:nth-child(2){animation-delay:.15s}
  .cf-more .dots span:nth-child(3),.ct-more .dots span:nth-child(3){animation-delay:.3s}
  @keyframes cfBounce{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-3px);opacity:.9}}
  .ct-more{color:var(--muted)!important;font-weight:500!important}
  .ct-more .dots{display:inline-flex;gap:3px;align-items:center}
  .cf{display:flex;flex-direction:column;align-items:center;gap:7px}
  .cf img{width:34px;height:34px;object-fit:cover;border-radius:50%;display:block;box-shadow:0 0 0 1px rgba(15,42,99,.12),0 3px 8px rgba(15,42,99,.1)}
  .cf i{font-style:normal;font-family:var(--disp);font-weight:600;font-size:11px;color:var(--head)}
  .cstats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .cs{background:var(--alt);border:1px solid #e3ecf7;border-radius:16px;padding:20px 22px}
  .cs b{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(26px,2.8vw,36px);color:var(--spark-deep);line-height:1}
  .cs span{display:block;font-family:var(--disp);font-weight:600;font-size:14px;color:var(--head);margin-top:9px}
  .cs small{display:block;font-size:12px;color:var(--slate);margin-top:4px;line-height:1.5}
  @media(max-width:940px){.cgrid{grid-template-columns:1fr;gap:40px}}
  @media(max-width:440px){.cstats{grid-template-columns:1fr}}
  /* Tighten the 01 -> 02 transition: cut the dead space between the content and platform sections */
  #content{padding-bottom:52px}
  #content .cgrid{align-items:start}
  #content .cside{align-self:center}
  #content .ccopy{display:flex;flex-direction:column}
  #content .ccopy .text-link{margin-top:auto!important;padding-top:26px}
  #platform{padding-top:56px}

  /* assistants: copy + verticals left, vague mock right */
  .asst-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;text-align:left}
  html[dir="rtl"] .asst-grid{text-align:right}
  .asst-copy .h2{font-size:clamp(26px,3vw,36px)}
  .asst-copy .lead{font-size:15.5px;max-width:520px}
  .avlist{display:flex;flex-direction:column;gap:10px;margin:24px 0 24px}
  .av{display:flex;align-items:flex-start;gap:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 15px;text-decoration:none;text-align:left;transition:border-color .16s,transform .16s,background .16s}
  html[dir="rtl"] .av{text-align:right}
  .av:hover{transform:translateY(-2px);border-color:rgba(143,208,255,.55);background:rgba(255,255,255,.08)}
  .av-ic{flex:none;width:27px;height:27px;border-radius:8px;background:rgba(143,208,255,.14);display:flex;align-items:center;justify-content:center;color:var(--spark)}
  .av-ic .pico{width:14px;height:14px}
  .av-h{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .av-h b{font-family:var(--disp);font-weight:600;font-size:14px;color:#fff;line-height:1.25}
  .av-h em{font-style:normal;font-family:var(--disp);font-weight:600;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--spark)}
  html[dir="rtl"] .av-h em{letter-spacing:0}
  .av-d{display:block;font-size:12.5px;color:var(--on-deep);line-height:1.5;margin-top:3px}
  .asst-mock{margin-top:0}
  .vpanel{max-width:none;margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 22px 22px;box-shadow:0 46px 100px rgba(2,12,30,.55);text-align:left}
  @media(max-width:940px){.asst-grid{grid-template-columns:1fr;gap:40px}.vpanel{max-width:640px;margin:0 auto}}
  .adist{margin-top:64px;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
  .adist .di{flex:1 1 200px;max-width:225px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 18px;text-align:center;transition:transform .25s cubic-bezier(.2,.6,.2,1),box-shadow .25s ease,border-color .25s ease}
  .adist .di:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,42,99,.09);border-color:rgba(63,134,207,.32)}
  .adist .di .ic{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin:0 auto 15px;transition:transform .25s cubic-bezier(.2,.6,.2,1)}
  .adist .di:hover .ic{transform:scale(1.08) rotate(-4deg)}
  .adist .di .ic svg{width:21px;height:21px;stroke:var(--spark-ink);fill:none;stroke-width:1.8}
  .adist .di span{font-family:var(--disp);font-weight:600;font-size:13.5px;color:#33425c;line-height:1.4;display:block}
  @media(max-width:860px){.apanel{grid-template-columns:1fr;gap:32px}.adist{gap:14px}.adist .di{flex-basis:160px}}
  @media(max-width:520px){.adist .di{flex-basis:44%;max-width:none}}

  /* assistants section shell */
  #assistants{overflow:visible}
  #assistants .chnum{top:20px}

  /* internal knowledge */
  .hub{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;margin-top:52px;text-align:left}
  .hubnodes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .hnode{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
  .hnode .ic{width:38px;height:38px;border-radius:10px;background:var(--soft);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
  .hnode .ic svg{width:19px;height:19px;stroke:var(--spark-ink);fill:none;stroke-width:1.9}
  .hnode b{font-family:var(--disp);font-size:14.5px;color:var(--head);display:block}
  .hnote{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:14px;font-size:14px;color:var(--slate);line-height:1.55;display:flex;gap:12px}
  .hnote svg{width:20px;height:20px;stroke:var(--spark-ink);fill:none;stroke-width:2;flex:none;margin-top:2px}
  @media(max-width:860px){.hub{grid-template-columns:1fr;gap:32px}}

  /* secure */
  .secure{position:relative;overflow:hidden;background:#fff}
  /* alternating deep-blue sections + starfields */
  .sec.deep{position:relative;color:#fff;overflow:hidden;
    background:radial-gradient(120% 90% at 82% 6%,#2a6b96 0%,rgba(42,107,150,0) 56%),
      radial-gradient(90% 70% at 10% 92%,#0d3450 0%,rgba(13,52,80,0) 62%),
      linear-gradient(162deg,#124a70 0%,#0f3d61 44%,#0b2c48 100%)}
  .sec.deep .chnum{color:rgba(255,255,255,.06)}
  .sec.deep .eyebrow{color:#fff}.sec.deep .eyebrow em{color:var(--spark)}
  .sec.deep .h2{color:#fff}.sec.deep .h2 .serif-i{color:var(--spark)}.sec.deep .lead{color:var(--on-deep)}.sec.deep .trule{background:var(--spark)}
  .sec.deep .adist .di{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
  .sec.deep .adist .di .ic{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
  .sec.deep .adist .di .ic svg{stroke:var(--spark)}
  .sec.deep .adist .di span{color:var(--on-deep-2)}
  .sec.deep .btn-navy{background:#fff;color:var(--navy)}.sec.deep .btn-navy:hover{background:#eaf2ff}
  .sec .wrap{position:relative;z-index:2}
  .sec>.stars{z-index:1}
  #assistants .stars{opacity:.78}
  #cta .stars{-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 18%,rgba(0,0,0,.12) 38%,rgba(0,0,0,.12) 62%,rgba(0,0,0,.55) 82%,#000 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 18%,rgba(0,0,0,.12) 38%,rgba(0,0,0,.12) 62%,rgba(0,0,0,.55) 82%,#000 100%)}
  
  .stwo{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:50px}
  .scap{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:26px}
  .scap .n{font-family:var(--disp);font-weight:500;color:var(--spark);font-size:13px}
  .scap h4{color:#fff;font-size:19px;font-weight:500;margin:8px 0 8px}
  .scap p{color:#c1d0ec;font-size:14px;line-height:1.55}
  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
  .pil{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:start;box-shadow:0 8px 22px rgba(15,42,99,.05)}
  .pil .ic{width:38px;height:38px;border-radius:10px;background:var(--soft);display:flex;align-items:center;justify-content:center;margin:0 0 13px}
  .pil .ic svg{width:19px;height:19px;stroke:var(--spark-ink);fill:none;stroke-width:1.9}
  .pil em{display:block;margin-top:8px;font-style:normal;font-size:12.5px;line-height:1.6;color:var(--slate)}
  .pil b{font-family:var(--disp);font-size:13px;color:var(--head);line-height:1.3;display:block}
  .sdeploy{margin-top:22px;background:var(--alt);border:1px solid var(--line);border-radius:14px;padding:18px 22px;color:#33425c;font-size:14.5px;line-height:1.5;display:flex;gap:12px}
  .sdeploy svg{width:20px;height:20px;stroke:var(--spark-ink);fill:none;stroke-width:2;flex:none;margin-top:2px}
  .squote{margin-top:22px;text-align:center;font-family:var(--serif);font-style:normal;font-size:22px;color:var(--spark-ink)}
  .dep-head{margin-top:46px;padding-bottom:14px;border-bottom:1px solid var(--line);
    font-family:var(--disp);font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
  html[dir="rtl"] .dep-head{letter-spacing:0;font-size:13px;text-transform:none}
  .deps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:0}
  .dep{padding:26px 26px 28px;border-inline-end:1px solid var(--line);text-align:start}
  .dep:last-child{border-inline-end:0}
  .dep-ic{width:36px;height:36px;display:flex;align-items:center;justify-content:center;
    color:var(--spark-deep);margin-bottom:14px}
  .dep-ic svg{width:22px;height:22px}
  .dep b{display:block;font-family:var(--disp);font-weight:500;font-size:16px;color:var(--head);margin-bottom:7px}
  .dep p{font-size:13.5px;line-height:1.6;color:var(--slate);margin:0;text-align:start}
  .dep-note{display:flex;align-items:flex-start;gap:11px;margin-top:8px;padding-top:22px;
    border-top:1px solid var(--line);font-size:13.5px;line-height:1.6;color:var(--slate)}
  .dep-note svg{width:19px;height:19px;flex:none;margin-top:1px;color:var(--spark-deep)}
  @media(max-width:820px){.deps{grid-template-columns:1fr}
    .dep{border-inline-end:0;border-bottom:1px solid var(--line);padding-inline:0}
    .dep:last-child{border-bottom:0}}
  @media(max-width:820px){.stwo,.pillars{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.stwo,.pillars{grid-template-columns:1fr}}

  /* ladder */
  .ladder{max-width:760px;margin:52px auto 0;text-align:left}
  .rung{display:flex;gap:22px;padding:24px 0;border-top:1px solid var(--line);align-items:flex-start}
  .rung:first-child{border-top:none}
  .rung .rn{font-family:var(--disp);font-weight:500;font-size:14px;color:var(--spark-deep);width:44px;flex:none;padding-top:3px}
  .rung .ic{width:44px;height:44px;border-radius:12px;background:var(--soft);display:flex;align-items:center;justify-content:center;flex:none}
  .rung .ic svg{width:21px;height:21px;stroke:var(--spark-ink);fill:none;stroke-width:1.9}
  .rung .rt b{font-family:var(--disp);font-size:18px;color:var(--head)}
  .rung .rt p{font-size:14.5px;color:var(--slate);margin-top:4px;line-height:1.55}
  .qbox{margin-top:44px;background:var(--blue);border-radius:16px;padding:26px 30px;display:flex;gap:16px;align-items:center;justify-content:center;text-align:center}
  .qbox svg{width:26px;height:26px;stroke:var(--spark-ink);fill:none;stroke-width:1.8;flex:none}
  .qbox p{font-family:var(--serif);font-style:normal;font-size:20px;color:var(--head)}

  /* FAQ */
  .faqwrap{max-width:820px;margin:48px auto 0;text-align:left}
  .faq{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:12px;overflow:hidden}
  .faq summary{list-style:none;cursor:pointer;padding:20px 22px;font-family:var(--disp);font-weight:500;font-size:16.5px;color:var(--head);display:flex;justify-content:space-between;align-items:center;gap:16px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";font-family:var(--disp);font-weight:400;font-size:24px;color:var(--spark-deep);transition:transform .2s;line-height:1}
  .faq[open] summary::after{transform:rotate(45deg)}
  .faq p{padding:0 22px 20px;font-size:15px;color:var(--slate);line-height:1.6}

  /* CTA */
  .cta{position:relative;overflow:hidden;color:#fff;
    background:
      radial-gradient(120% 90% at 84% 6%,rgba(143,208,255,.20),transparent 56%),
      radial-gradient(80% 70% at 10% 96%,rgba(20,74,128,.55),transparent 62%),
      linear-gradient(168deg,#12456f 0%,#0f3a60 44%,#0a2745 100%)}
  .cta::before{content:"";position:absolute;inset:0 0 auto;height:1px;
    background:linear-gradient(90deg,transparent,rgba(143,208,255,.55),transparent)}
  .cta .eyebrow{color:#cfe0f5}
  .cta .h2{color:#fff}
  .cta .lead{color:#c8d9f0;max-width:44ch}

  .cta-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:64px;align-items:center;
    margin-top:0;padding-top:0;border-top:0}
  .cta-grid .eyebrow{margin-bottom:16px}
  .cta-grid .h2{margin-top:0}

  .cta-steps{list-style:none;margin:34px 0 0;padding:0}
  .cta-steps li{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:16px;
    padding:15px 0;border-top:1px solid rgba(255,255,255,.12)}
  .cta-steps li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
  .cta-steps em{font-family:var(--disp);font-style:normal;font-weight:500;font-size:12px;
    letter-spacing:.1em;color:var(--spark)}
  .cta-steps span{font-size:14.5px;line-height:1.55;color:#d3e1f4}

  .cta-direct{margin-top:26px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
    font-size:13.5px;color:#9db7d6}
  .cta-direct a{font-family:var(--disp);font-size:15px;color:var(--spark);
    text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
  .cta-direct a:hover{color:#fff}

  .cta-form{background:#fff;border:0;border-radius:12px;padding:22px 20px;
    box-shadow:0 26px 60px rgba(3,14,30,.36)}
  .cta-form-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;
    padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}
  .cta-form-h b{font-family:var(--disp);font-weight:600;font-size:17px;color:var(--head)}
  .cta-form-h span{font-size:12px;color:var(--muted)}
  .cta-form form.qform{background:none;border:0;padding:0;box-shadow:none;gap:11px}
  .cta-form form.qform input,
  .cta-form form.qform select,
  .cta-form form.qform textarea{background:var(--alt);border:1px solid var(--line);border-radius:9px;
    color:var(--head);font-size:14.5px;padding:12px 14px}
  .cta-form form.qform input::placeholder{color:var(--muted)}
  .cta-form form.qform select{color:#6b7a8c;padding-right:38px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237b8896' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
  html[dir="rtl"] .cta-form form.qform select{background-position:left 14px center;
    padding-left:38px;padding-right:14px}
  html[dir="rtl"] .cta-form form.qform #countryCodeSelect{padding-left:32px;padding-right:12px;
    background-position:left 11px center}
  .cta-form form.qform input:focus,
  .cta-form form.qform select:focus,
  .cta-form form.qform textarea:focus{border-color:var(--spark-deep);background:#fff;
    box-shadow:0 0 0 3px rgba(143,208,255,.26)}
  .cta-form form.qform input[type="submit"]{margin-top:5px;border-radius:999px;padding:14px;
    font-size:15px;color:#fff;border:0;transition:background .18s,box-shadow .18s;
    background:linear-gradient(135deg,#4a9ad6 0%,#2f74b4 48%,#1d5c93 100%);
    box-shadow:0 8px 22px rgba(45,116,180,.28)}
  .cta-form form.qform input[type="submit"]:hover{
    background:linear-gradient(135deg,#5aa8e2 0%,#3a82c4 48%,#246aa6 100%);
    box-shadow:0 10px 28px rgba(45,116,180,.38)}

  .cline{margin-top:28px;color:#c1d0ec;font-size:15px;line-height:1.9}.cline b{font-family:var(--disp);color:#fff}
  .ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
  html[dir="rtl"] .cline{text-align:right}

  /* Colored page-header band for content-only pages (FAQ, Contact) */
  .page-head{padding:168px 0 60px}
  .page-head .wrap{position:relative;z-index:2}
  .page-head .eyebrow{color:#bcd4f2}
  .page-head h2,  .page-head .h2{color:#fff}
  .page-head h2 .serif-i,  .page-head .h2 .serif-i{color:#a9ccff}
  .page-head .lead{color:#c9d8ee}
  .page-head .trule{background:var(--spark)}

  /* Phone number with country-code prefix, used on every form on the site */
  .phone-group{display:flex;gap:8px}
  .phone-group select.cc-select{flex:0 0 168px;width:168px;padding:14px 8px;border:1px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:16px;background:#fff;color:var(--ink);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2354637e' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
  .phone-group input{flex:1;min-width:0}
  html[dir="rtl"] .phone-group select.cc-select{background-position:left 10px center}
  /* dial-code selector sizes to its content; the number field takes the rest */
  .phone-group select.cc-select{flex:none;width:auto;min-width:104px}
  form.qform{background:#fff;border-radius:20px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:13px;box-shadow:0 40px 90px rgba(4,14,34,.4)}
  form.qform .ffull{grid-column:1/-1}
  form.qform input,form.qform select,form.qform textarea{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:16px;background:#fff;color:var(--ink)}
  form.qform textarea{resize:vertical;min-height:104px;line-height:1.55}
  /* Message field kept in the form (still submitted) but not shown. */
  form.qform #LEADCF1{display:none}
  form.qform select{color:var(--slate);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2354637e' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
  html[dir="rtl"] form.qform select{background-position:left 14px center;padding-left:40px;padding-right:15px}
  html[dir="rtl"] form.qform textarea{font-family:var(--sans-ar)}
  /* Arabic: email and phone read from the right like every other field */
  html[dir="rtl"] form.qform #Email,
  html[dir="rtl"] form.qform #Phone{direction:rtl;text-align:right}
  html[dir="rtl"] form.qform #Email::placeholder,
  html[dir="rtl"] form.qform #Phone::placeholder{text-align:right}
  /* The dial code is a neutral "+" followed by digits: it must stay LTR or bidi
     reordering renders "962+". Keep the arrow on the left, as elsewhere in RTL. */
  html[dir="rtl"] form.qform #countryCodeSelect,
  html[dir="rtl"] form.qform #countryCodeSelect option{direction:ltr;text-align:right}
  html[dir="rtl"] form.qform #countryCodeSelect{padding-left:34px;padding-right:14px;background-position:left 12px center}
  form.qform input:focus,form.qform select:focus,form.qform textarea:focus{outline:none;border-color:var(--spark-deep);box-shadow:0 0 0 3px rgba(143,208,255,.28)}
  form.qform button,form.qform input[type="submit"]{grid-column:1/-1;background:var(--navy);color:#fff;border:none;padding:16px;border-radius:12px;font-family:var(--disp);font-weight:500;font-size:16px;cursor:pointer;transition:.18s}
  form.qform button:hover,form.qform input[type="submit"]:hover{background:var(--spark-ink)}
  form.qform .fine{grid-column:1/-1;font-size:12px;color:var(--muted);text-align:center}

  /* Products page */
  .prod-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;margin-top:52px}
  @media(max-width:940px){.prod-columns{grid-template-columns:1fr 1fr}}
  @media(max-width:640px){
    .prod-columns{grid-template-columns:1fr;gap:34px}
    .prod-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .prod-col .prod-head{grid-column:1/-1}
    .prod-pair{display:contents}
  }
  .prod-col{display:flex;flex-direction:column;gap:16px}
  .prod-head{display:flex;align-items:center;gap:16px;margin-bottom:6px}
  .prod-head h3{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:var(--head);white-space:nowrap}
  .prod-head .rl{flex:1;height:1px;background:var(--line)}
  .prod-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:17px 19px;display:flex;flex-direction:column;transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,border-color .28s ease}
  .prod-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .prod-card.sm{padding:14px 14px}
  .prod-card.sm h4{font-size:13px}
  .prod-card.sm .pdesc{font-size:11.5px;line-height:1.5;margin-top:5px}
  @media(max-width:480px){.prod-pair{grid-template-columns:1fr}}
  .prod-card:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(15,42,99,.12);border-color:rgba(63,134,207,.28)}
  .prod-card .prod-ic{width:33px;height:33px;border-radius:9px;background:linear-gradient(135deg,var(--soft),#dfeafc);display:flex;align-items:center;justify-content:center;margin-bottom:11px;flex:none;transition:transform .28s cubic-bezier(.2,.7,.3,1)}
  .prod-card:hover .prod-ic{transform:scale(1.08) rotate(-4deg)}
  .prod-card .prod-ic svg{width:17px;height:17px;stroke:var(--spark-ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .prod-card .prod-title-row{display:flex;align-items:center;gap:9px;margin-bottom:9px;flex-wrap:wrap}
  .prod-card h4{font-family:var(--disp);font-weight:700;font-size:14.5px;color:var(--head)}
  .prod-badge{font-family:var(--disp);font-weight:600;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
  @media(max-width:640px){.prod-card .prod-ic{width:32px;height:32px;margin-bottom:10px}}
  .prod-card p.pdesc{color:var(--slate);font-size:12.5px;line-height:1.55;flex:1}
  @media(max-width:640px){
    .prod-card{padding:16px 15px}
    .prod-card h4{font-size:14px}
    .prod-card p.pdesc{font-size:12px;line-height:1.5}
  }

  /* FAQ accordion */
  .faq-list{max-width:760px;margin:44px auto 0;display:flex;flex-direction:column;gap:12px}
  .faq-cat{display:flex;align-items:center;gap:12px;margin:34px 0 2px}
  .faq-cat:first-child{margin-top:0}
  .faq-cat .fc-ic{display:none}
  .faq-cat .fc-ic svg{width:15px;height:15px}
  .faq-cat h3{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:var(--head);white-space:nowrap}
  .faq-cat .rl{flex:1;height:1px;background:var(--line)}
  .faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
  .faq-item:hover{border-color:rgba(63,134,207,.32);box-shadow:0 10px 26px rgba(15,42,99,.07);transform:translateY(-2px)}
  .faq-item[open]{border-color:rgba(63,134,207,.4);box-shadow:0 16px 36px rgba(15,42,99,.1)}
  .faq-item[open]:hover{transform:none}
  .faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;font-family:var(--disp);font-weight:600;font-size:15.5px;color:var(--head);transition:color .2s}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item[open] summary{color:var(--spark-ink)}
  .faq-item summary svg{width:15px;height:15px;box-sizing:border-box;padding:8px;border-radius:50%;background:var(--soft);stroke:var(--spark-ink);flex:none;transition:transform .3s cubic-bezier(.2,.6,.2,1),background .2s,stroke .2s}
  .faq-item[open] summary svg{transform:rotate(180deg);background:var(--spark-deep);stroke:#fff}
  .faq-item[open] summary{border-bottom:1px solid var(--line)}
  .faq-a{padding:4px 22px 22px}
  .faq-a p{color:var(--slate);font-size:15px;line-height:1.75}
  @keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  .faq-item[open] .faq-a{animation:faqIn .32s cubic-bezier(.2,.6,.2,1)}
  html[dir="rtl"] .faq-item summary{text-align:right}

  footer{background:var(--navy);color:#c3cfe8;padding:56px 0 34px}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
  .foot-logo img{height:34px;margin-bottom:16px}
  footer h5{color:#fff;font-size:14px;font-weight:500;margin-bottom:16px;font-family:var(--disp)}
  footer ul{list-style:none}footer li{margin-bottom:10px;font-size:14px}
  footer li a{color:#a9c2e2}footer li a:hover{color:#fff}
  .foot-p{max-width:300px;font-size:14px;color:#a9c2e2;line-height:1.6}
  .entity{margin-top:30px;font-size:12px;color:#7f9bc0;line-height:1.7;max-width:820px}
  .foot-bottom{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;font-size:13px;color:#8fabce;flex-wrap:wrap;gap:10px}

  @media(max-width:960px){.cta-grid{grid-template-columns:1fr;gap:40px}.foot-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.sec{padding:82px 0}form.qform{grid-template-columns:1fr;padding:24px}.foot-grid{grid-template-columns:1fr}}
  .srcnote{margin-top:16px;display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--slate);line-height:1.55}
  .srcnote .vdot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(48,164,108,.14);flex:none;margin-top:4px}
  .chips2{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
  .chips2 span{font-family:var(--disp);font-weight:500;font-size:12.5px;color:#3d4d6b;border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:#fff}
  .egrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:46px}
  .egrid .di{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 20px;text-align:start;
    display:flex;flex-direction:column}
  .egrid .di .ic{width:40px;height:40px;border-radius:11px;background:var(--soft);display:flex;align-items:center;justify-content:center;margin:0 0 14px}
  .egrid .di .ic svg{width:20px;height:20px;stroke:var(--spark-ink);fill:none;stroke-width:1.8}
  .egrid .di span{font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--head);line-height:1.3;display:block}
  .egrid .di em{display:block;margin-top:7px;font-style:normal;font-size:12.5px;line-height:1.6;color:var(--slate)}
  .sec.deep .egrid .di em{color:var(--on-deep)}
  .ent-bridge{margin-top:34px;text-align:center;font-size:14px;color:var(--on-deep)}
  .ent-bridge a{color:var(--spark);text-decoration:underline;text-underline-offset:3px}
  .ent-bridge a:hover{color:#fff}
  .sec.deep .egrid .di{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
  .sec.deep .egrid .di .ic{background:rgba(143,208,255,.14)}
  .sec.deep .egrid .di .ic svg{stroke:var(--spark)}
  .sec.deep .egrid .di span{color:var(--on-deep-2)}
  @media(max-width:960px){.egrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:560px){.egrid{grid-template-columns:1fr}}

  /* section 01 — merged content + platform, flat search-card mockup */
  .rcore-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:start;margin-top:44px;text-align:left}
  .text-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:400;font-size:15px;letter-spacing:.005em;color:var(--spark-deep)}
  .text-link svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.6}
  .text-link:hover{gap:11px}
  /* two product rows */
  /* 01 overview (brief) */
  .ov-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;text-align:left}
  .ov-copy h2{margin-top:16px}
  .ov-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
  .ov-pill{font-family:var(--disp);font-weight:600;font-size:13px;color:var(--spark-ink);background:var(--soft);border:1px solid #dbe8f8;border-radius:999px;padding:9px 16px}
  .ov-mock{position:relative}
  .ov-mock .app{width:126%;max-width:none;border-radius:18px 0 0 18px;box-shadow:0 40px 90px rgba(15,42,99,.22);border:1px solid var(--line);border-right:none;overflow:hidden}
  .ov-mock .app .app-flex{min-height:400px}
  .dstrip{margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--alt)}
  /* 02 content (foundation) — dark */
  #content{position:relative;overflow:hidden}
  .cnt-head{max-width:760px}
  .cnt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px}
  .cnt-stats .cst{padding:0 28px;border-left:1px solid rgba(255,255,255,.12)}
  .cnt-stats .cst:first-child{padding-left:0;border-left:none}
  .cnt-stats .cst b{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(34px,4.4vw,52px);color:#fff;line-height:1}
  .cnt-stats .cst b.gold{color:var(--spark-ink)}
  .cnt-stats .cst span{display:block;font-size:14px;color:var(--on-deep);margin-top:12px;line-height:1.4}
  /* content band under the platform (01) — compact */
  .cband{margin-top:52px;border-top:1px solid var(--line);padding-top:34px}
  #content .cband .cnt-stats{grid-template-columns:repeat(3,1fr)!important;gap:0!important}
  #content .cband .cnt-stats .cst{padding:0 30px!important;border-left:1px solid var(--line)!important}
  #content .cband .cnt-stats .cst:first-child{padding-left:0!important;border-left:none!important}
  #content .cband .cnt-stats .cst b{font-size:clamp(26px,3vw,40px)!important}
  .cqual{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px;margin-top:30px;padding-top:22px;
    border-top:1px solid var(--line);font-size:13.5px;color:var(--slate)}
  .cqual .text-link{margin-inline-start:auto}

  .cqual em{font-style:normal;font-family:var(--disp);font-weight:600;color:var(--head)}
  html[dir="rtl"] #content .cband .cnt-stats .cst{padding:0 30px!important;border-left:none!important;border-right:1px solid var(--line)!important}
  html[dir="rtl"] #content .cband .cnt-stats .cst:first-child{padding-right:0!important;border-right:none!important}
  @media(max-width:760px){
    #content .cband .cnt-stats{grid-template-columns:1fr 1fr!important;gap:26px 0!important}
    #content .cband .cnt-stats .cst:nth-child(3){padding-left:0!important;border-left:none!important}
  }
  html[dir="rtl"] #content .cband .cnt-stats .cst{padding:0 30px!important;border-left:none!important;border-right:1px solid var(--line)!important}
  html[dir="rtl"] #content .cband .cnt-stats .cst:first-child{padding-right:0!important;border-right:none!important}
  .cband-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
  .cband-h{font-family:var(--disp);font-weight:600;font-size:clamp(21px,2.5vw,29px);color:var(--head);letter-spacing:-.012em;line-height:1.22;margin:12px 0 0}
  .cband-h .serif-i{color:var(--spark-deep);margin-inline-start:.28em}
  .cband-lead{margin-top:10px;color:var(--slate);font-size:15px;line-height:1.65;max-width:520px}
  #content .cband .cnt-stats{grid-template-columns:1fr 1fr;gap:20px 0;margin-top:0}
  #content .cband .cnt-stats .cst{padding:0 20px;border-left:1px solid var(--line)}
  #content .cband .cnt-stats .cst:nth-child(odd){padding-left:0;border-left:none}
  #content .cband .cnt-stats .cst b{color:var(--spark-deep);font-size:clamp(20px,2.1vw,26px)}
  #content .cband .cnt-stats .cst span{color:var(--slate);margin-top:8px;font-size:13px}
  #content .cband .cnt-stats .cst small{display:block;color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5}
  .cband .cnt-flags{margin-top:22px;gap:8px}
  .cband .cnt-flags .jf,.cband .cnt-flags .jf .flag,.cband .cnt-flags .jf .flag svg{width:30px;height:30px}
  .cband .cnt-flags .jf .flag{box-shadow:0 0 0 1px rgba(15,42,99,.14),0 3px 8px rgba(15,42,99,.08)}
  html[dir="rtl"] #content .cband .cnt-stats .cst{padding:0 24px;border-left:none;border-right:1px solid var(--line)}
  html[dir="rtl"] #content .cband .cnt-stats .cst:nth-child(odd){padding-right:0;border-right:none}
  /* Keep numeric stats reading left-to-right (e.g. "200k+", "7.6M+") in RTL so the + stays after the number */
  html[dir="rtl"] .cnum{direction:ltr;unicode-bidi:isolate;text-align:right}
  @media(max-width:860px){.cband-grid{grid-template-columns:1fr;gap:34px}}
  .cnt-sub{display:flex;align-items:center;gap:9px;margin-top:16px;font-family:var(--disp);font-weight:600;font-size:14px;letter-spacing:.01em;color:var(--spark-ink)}
  .cnt-sub svg{width:16px;height:16px;flex:none;stroke:var(--spark-ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  /* circular flags — clip at the svg so it holds in every browser */
  .flag{display:flex;align-items:center;justify-content:center}
  .flag img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
  .flag svg{display:block;border-radius:50%;clip-path:circle(50% at 50% 50%);-webkit-clip-path:circle(50% at 50% 50%)}
  .cnt-flags{display:flex;gap:10px;flex-wrap:wrap;margin-top:44px}
  .cnt-flags .jf{display:inline-flex;width:40px;height:40px;flex:none}
  .cnt-flags .jf .flag{width:40px;height:40px;flex:none;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.2);transition:transform .16s}
  .cnt-flags .jf:hover .flag{transform:translateY(-3px)}
  .cnt-flags .jf .flag svg{width:40px;height:40px;display:block}
  .cnt-foot{display:flex;gap:16px;align-items:flex-start;margin-top:44px;padding-top:34px;border-top:1px solid rgba(255,255,255,.12);max-width:900px}
  .cnt-foot-ic{flex:none;width:34px;height:34px;display:flex;align-items:center;justify-content:center}
  .cnt-foot-ic svg{width:26px;height:26px;stroke:var(--spark-ink);fill:none;stroke-width:1.6}
  .cnt-foot p{color:#c7d5ef;font-size:16.5px;line-height:1.7;margin:0}
  .cnt-foot p b{color:#fff;font-weight:600}
  @media(max-width:760px){.cnt-stats{grid-template-columns:1fr 1fr;gap:28px 0}.cnt-stats .cst:nth-child(3){padding-left:0;border-left:none}}
  @media(max-width:440px){.cnt-stats{grid-template-columns:1fr 1fr}}
  html[dir="rtl"] .cnt-stats .cst{border-left:none;border-right:1px solid rgba(255,255,255,.12);padding:0 28px}
  html[dir="rtl"] .cnt-stats .cst:first-child{border-right:none;padding-right:0}
  .dstrip-in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px}
  .dstrip-flags{display:flex;gap:8px;flex-wrap:wrap}
  .dstrip-flags .jf{display:inline-flex;width:34px;height:34px;flex:none}
  .dstrip-flags .jf .flag{width:34px;height:34px;flex:none;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(15,42,99,.1),0 4px 10px rgba(15,42,99,.1);transition:transform .16s}
  .dstrip-flags .jf:hover .flag{transform:translateY(-3px)}
  .dstrip-flags .jf .flag svg{width:34px;height:34px;display:block}
  .dstrip-stats{display:flex;gap:26px;flex-wrap:wrap}
  .dstrip-stats span{font-size:13.5px;color:var(--slate)}
  .dstrip-stats b{font-family:var(--disp);font-weight:700;font-size:18px;color:var(--spark-deep);margin-right:5px}
  #overview{overflow:hidden;padding-top:72px}
  html[dir="rtl"] .ov-grid,html[dir="rtl"] .ov-copy{text-align:right}
  html[dir="rtl"] .ov-mock .app{border-radius:0 18px 18px 0;border-right:1px solid var(--line);border-left:none}
  html[dir="rtl"] .dstrip-stats b{margin-right:0;margin-left:5px}
  @media(max-width:1100px){.ov-mock .app{width:116%}}
  @media(max-width:860px){.ov-grid{grid-template-columns:1fr;gap:30px}.ov-mock .app{width:100%;border-radius:16px;border-right:1px solid var(--line)}.dstrip-in{justify-content:center}}

  /* platform anatomy (01) */
  .ov-arch{margin-top:30px;border:1px solid #dbe8f8;border-radius:16px;background:linear-gradient(180deg,#fff,#f7faff);position:relative;box-shadow:0 14px 34px rgba(15,42,99,.06)}
  .ov-arch-tag{position:absolute;top:-12px;left:16px;font-family:var(--disp);font-weight:600;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--spark-ink);background:#fff;border:1px solid #dbe8f8;border-radius:999px;padding:4px 12px}
  html[dir="rtl"] .ov-arch-tag{left:auto;right:16px;letter-spacing:0}
  .ov-arch-top{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 16px 0}
  .ov-arch-cell{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:5px}
  .ov-arch-cell b{font-family:var(--disp);font-weight:600;font-size:13.5px;color:var(--head);line-height:1.3}
  .ov-arch-cell .oa-sub{font-size:12px;color:var(--slate);line-height:1.45}
  .oa-ic{width:29px;height:29px;border-radius:9px;background:var(--soft);display:flex;align-items:center;justify-content:center;flex:none;margin-bottom:3px}
  .oa-ic svg{width:16px;height:16px;stroke:var(--spark-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .ov-arch-join{position:relative;height:42px;display:flex;align-items:center;justify-content:center;margin:0 16px}
  .oa-stem{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,#c9dcf3,#e3c58c)}
  .oa-stem.s1{left:25%}.oa-stem.s2{left:75%}
  .oa-stem::after{content:"";position:absolute;bottom:-1px;left:-3px;border:3.5px solid transparent;border-top-color:#dcb571}
  .ov-arch-join em{font-style:normal;font-size:12px;color:var(--muted);background:linear-gradient(180deg,#fbfcff,#f8fbff);padding:0 12px;position:relative}
  .ov-arch-base{display:flex;align-items:center;gap:12px;margin-top:0;padding:14px 16px;border-top:1px solid #ecd9ae;background:linear-gradient(180deg,#fffdf6,#fbf2dd);border-radius:0 0 15px 15px}
  .oa-base-txt b{display:block;font-family:var(--disp);font-weight:600;font-size:13.5px;color:var(--head)}
  .oa-base-txt span{display:block;font-size:12px;color:#8a6d2f;margin-top:2px}
  @media(max-width:480px){.ov-arch-top{grid-template-columns:1fr}.ov-arch-join{height:34px}.oa-stem.s1{left:50%}.oa-stem.s2{display:none}}

  /* bridge into 02 */

  /* content powers chips (02) */
  .cnt-pow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:44px;padding-top:34px;border-top:1px solid rgba(255,255,255,.12)}
  .cnt-pow-ic{flex:none;display:flex;align-items:center}
  .cnt-pow-ic svg{width:24px;height:24px;stroke:var(--spark-ink);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .cnt-pow-label{color:#c7d5ef;font-size:15.5px}
  .cnt-pow-chips{display:flex;gap:8px;flex-wrap:wrap}
  .cnt-chip{font-family:var(--disp);font-weight:600;font-size:13px;color:#eaf2ff;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 15px;text-decoration:none;background:rgba(255,255,255,.04);transition:transform .16s,border-color .16s,color .16s}
  .cnt-chip:hover{transform:translateY(-2px);border-color:rgba(232,176,75,.7);color:#f4cf8a}

  .prow{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:start;margin-top:60px;text-align:left}
  .prow.rev .prow-copy{order:2}.prow.rev .prow-mock{order:1}
  .prow-copy .ptag{display:inline-block;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--spark-deep);margin-bottom:14px}
  .prow-copy h3{font-family:var(--disp);font-weight:500;font-size:clamp(24px,3vw,32px);color:var(--head);line-height:1.15;margin-bottom:18px}
  .prow-copy p{color:var(--slate);font-size:16px;line-height:1.7;max-width:400px}
  .corpus-list{list-style:none;margin:0 0 20px;padding:0}
  .corpus-list li{position:relative;padding-left:28px;margin-bottom:12px;font-size:15.5px;line-height:1.5;color:#33425c}
  .corpus-list li:before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f86cf' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}
  .prow-right{display:flex;flex-direction:column}
  .prow-head{max-width:560px;margin-bottom:28px}
  /* mockup peeks through: enlarged and bled off the right edge */
  .prow-mock{position:relative}
  .prow-mock .app{width:126%;max-width:none;border-radius:18px 0 0 18px;box-shadow:0 40px 90px rgba(15,42,99,.22);border:1px solid var(--line);border-right:none;overflow:hidden}
  .prow-mock .app .app-flex{min-height:420px}
  /* feature cards */
  .fcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
  .fcards.f6{grid-template-columns:repeat(3,1fr);max-width:1020px;margin-left:auto;margin-right:auto}
  @media(max-width:860px){.fcards.f6{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.fcards.f6{grid-template-columns:1fr}}
  .fcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;box-shadow:0 10px 26px rgba(15,42,99,.05)}
  .fcard .fc-ic{width:42px;height:42px;border-radius:12px;background:var(--soft);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
  .fcard .fc-ic svg{width:21px;height:21px;stroke:var(--spark-ink);fill:none;stroke-width:1.8}
  .fcard b{display:block;font-family:var(--disp);font-weight:600;font-size:15px;color:var(--head);margin-bottom:6px}
  .fcard span{font-size:13.5px;color:var(--slate);line-height:1.55}
  /* data tags + inline flags under the corpus row */
  .dtags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
  .dtag{display:inline-flex;align-items:center;font-family:var(--disp);font-weight:600;font-size:12.5px;color:var(--spark-ink);background:var(--soft);border:1px solid #dbe8f8;border-radius:999px;padding:8px 14px}
  .dtag b{font-weight:700;color:var(--spark-deep);margin-right:5px}
  .dflags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
  .dflags .jf{display:inline-flex;width:36px;height:36px;flex:none}
  .dflags .jf .flag{width:36px;height:36px;flex:none;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(15,42,99,.1),0 4px 10px rgba(15,42,99,.1);transition:transform .16s}
  .dflags .jf:hover .flag{transform:translateY(-3px)}
  .dflags .jf .flag svg{width:36px;height:36px;display:block}
  html[dir="rtl"] .dtag b{margin-right:0;margin-left:5px}
  #content{overflow:hidden}
  html[dir="rtl"] .prow-mock .app{border-radius:0 18px 18px 0;border-right:1px solid var(--line);border-left:none}
  html[dir="rtl"] .corpus-list li{padding-left:0;padding-right:28px}
  html[dir="rtl"] .corpus-list li:before{left:auto;right:0}
  @media(max-width:1100px){.prow-mock .app{width:116%}.fcards{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:860px){.prow,.prow.rev{grid-template-columns:1fr;gap:26px}.prow.rev .prow-copy{order:1}.prow.rev .prow-mock{order:2}.prow-mock .app{width:100%;border-radius:16px;border-right:1px solid var(--line)}.prow-right{order:-1}}
  @media(max-width:560px){.fcards{grid-template-columns:1fr}}
  html[dir="rtl"] .prow,html[dir="rtl"] .prow-copy{text-align:right}
  .rsearch{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 34px 74px rgba(15,42,99,.14);padding:26px 26px 24px}
  .rsearch-top{display:flex;align-items:center;gap:20px;margin-bottom:24px}
  .rsearch-top .wm{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--head)}
  .rsearch-top .wm .dot{color:var(--spark-deep);font-weight:400}
  .rsearch-top .rtop-link{font-family:var(--disp);font-weight:500;font-size:12px;color:var(--slate)}
  .rsearch-head{text-align:center;font-family:var(--disp);font-weight:500;font-size:clamp(17px,2vw,21px);color:var(--head);line-height:1.35;margin-bottom:20px}
  .rsearch-bar{display:flex;align-items:center;gap:10px;border:1.5px solid #d9e3f2;border-radius:12px;padding:13px 16px;margin-bottom:14px}
  .rsearch-bar svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2;flex:none}
  .rsearch-bar .ph{font-size:13px;color:var(--muted);flex:1}
  .rsearch-bar .go{background:var(--navy);color:#fff;font-family:var(--disp);font-weight:500;font-size:12.5px;border-radius:9px;padding:9px 17px;flex:none}
  .rsearch-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
  .rsearch-filters .rf{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);font-weight:500;font-size:12px;color:#33425c;border:1px solid var(--line);border-radius:9px;padding:8px 12px}
  .rsearch-filters .rf svg{width:12px;height:12px;stroke:var(--spark-ink);fill:none;stroke-width:2}
  .rsearch-filters .rf.on{border-color:#cfe0f7;color:var(--spark-ink);background:var(--soft)}
  .rsearch-filters .rf-more{margin-left:auto;font-family:var(--disp);font-weight:500;font-size:11.5px;color:var(--slate)}
  .rsearch-split{display:block}
  .rjuris{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
  .rjuris .rj{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;font-size:12.5px;color:#33425c}
  .rjuris .rj .flag{width:20px;height:20px;border-radius:50%;overflow:hidden;flex:none;display:inline-block;box-shadow:0 0 0 1px rgba(15,42,99,.08)}
  .rjuris .rj .flag svg{width:100%;height:100%;display:block}
  .rex{border:1px solid var(--line);border-radius:12px;padding:12px}
  .rex .ex-h{display:flex;align-items:center;gap:6px;font-family:var(--disp);font-weight:500;font-size:11.5px;color:var(--head);margin-bottom:9px}
  .rex .ex-h svg{width:13px;height:13px;stroke:var(--spark-ink);fill:none;stroke-width:2}
  .rex .ex-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:8px;font-size:11.5px;line-height:1.4;color:#33425c;border:1px solid var(--line);margin-bottom:7px;background:#fbfcfe}
  .rex .ex-row svg{width:12px;height:12px;stroke:var(--spark-ink);fill:none;stroke-width:2.2;flex:none}
  .rcore-bottom{margin-top:52px;display:flex;gap:18px;flex-wrap:wrap;align-items:stretch}
  .rcore-pills{flex:1 1 380px;background:#fff;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;justify-content:space-around;padding:8px;gap:6px;flex-wrap:wrap}
  .rcore-pills .rp{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:500;font-size:12.5px;color:var(--head);padding:8px 14px}
  .rcore-pills .rp .ic{width:32px;height:32px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;flex:none}
  .rcore-pills .rp .ic svg{width:15px;height:15px;stroke:var(--spark-ink);fill:none;stroke-width:1.8}
  .rcore-stats{flex:1 1 380px;display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}
  .rcore-stats .rs{display:flex;align-items:center;gap:12px}
  .rcore-stats .rs .ic{width:44px;height:44px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;flex:none}
  .rcore-stats .rs .ic svg{width:19px;height:19px;stroke:var(--spark-ink);fill:none;stroke-width:1.7}
  .rcore-stats .rs b{display:block;font-family:var(--disp);font-weight:600;font-size:19px;color:var(--head);line-height:1.1}
  .rcore-stats .rs span{font-size:12px;color:var(--slate)}
  @media(max-width:860px){.rcore-grid{grid-template-columns:1fr;gap:34px}}
  @media(max-width:480px){.rjuris{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.rcore-stats{grid-template-columns:1fr}.rcore-pills{border-radius:16px}}

  .cmock-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
  .cmock-tags span{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);font-weight:600;font-size:12px;color:var(--spark-ink);background:var(--soft);border:1px solid #cfe0f7;border-radius:999px;padding:7px 13px}
  .cmock-tags span svg{width:13px;height:13px;stroke:var(--spark-ink);fill:none;stroke-width:2.1;flex:none}

  .rcountries{margin-top:22px}
  .rcountries .rc-label{font-family:var(--disp);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
  .rc-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:10px}
  .rc-chip{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:14px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.18s;cursor:pointer}
  .rc-chip:hover{border-color:#cfe0f7;background:var(--soft);transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,42,99,.1)}
  .rc-chip .flag{width:30px;height:30px;border-radius:50%;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(15,42,99,.08)}
  .rc-chip .flag svg{width:100%;height:100%;display:block}
  .rc-chip span{font-family:var(--disp);font-weight:500;font-size:12px;color:#33425c;line-height:1.25}
  @media(max-width:940px){.rc-grid{grid-template-columns:repeat(5,1fr)}}
  @media(max-width:560px){.rc-grid{grid-template-columns:repeat(3,1fr)}}

  /* about + milestone timeline (replaces FAQ) */
  .about-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:start;margin-top:46px;text-align:left}
  .about-copy .about-p{color:var(--slate);font-size:16px;line-height:1.75;margin-top:20px;max-width:540px}
  .tline{list-style:none;position:relative;margin-top:4px}
  .tline:before{content:"";position:absolute;left:59px;top:22px;bottom:26px;width:2px;background:repeating-linear-gradient(180deg,rgba(63,134,207,.55) 0 4px,transparent 4px 12px)}
  .tnode{position:relative;display:grid;grid-template-columns:48px 1fr;column-gap:42px;padding-bottom:44px}
  .tnode:last-child{padding-bottom:0}
  .tnode .tic{width:48px;height:48px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
  .tnode .tic svg{width:22px;height:22px;stroke:var(--spark-ink);fill:none;stroke-width:1.7}
  .tnode .tdot{position:absolute;left:54px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--spark-deep);border:3px solid #fff;box-shadow:0 0 0 1px rgba(63,134,207,.3);z-index:2}
  .tnode .tyear{display:block;font-family:var(--disp);font-weight:600;font-size:15px;color:var(--spark-deep);letter-spacing:.01em;font-variant-numeric:tabular-nums}
  .tnode b{display:block;font-family:var(--disp);font-weight:600;font-size:19px;color:var(--head);margin:5px 0 8px;line-height:1.25}
  .tnode p{color:var(--slate);font-size:14.5px;line-height:1.65;max-width:430px}
  @media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:42px}}
  html[dir="rtl"] .about-grid,html[dir="rtl"] .about-copy,html[dir="rtl"] .tnode b,html[dir="rtl"] .tnode p,html[dir="rtl"] .tnode .tyear{text-align:right}
  html[dir="rtl"] .about-copy .about-p{margin-left:0;margin-right:auto}
  html[dir="rtl"] .tline:before{left:auto;right:59px}
  html[dir="rtl"] .tnode{grid-template-columns:1fr 48px}
  html[dir="rtl"] .tnode .tic{order:2}
  html[dir="rtl"] .tnode .tbody{order:1}
  html[dir="rtl"] .tnode .tdot{left:auto;right:54px}

  /* testimonials */
  .tsec-glass{position:relative;background:radial-gradient(120% 160% at 15% 0%,#dce9fb 0%,#eef4fb 45%,#f5f8fc 100%);overflow:hidden}
  .tsec-glass .chnum{color:rgba(63,134,207,.09)}
  .thead-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .tnav{display:flex;gap:10px;flex:none}
  .tnav button{width:44px;height:44px;border-radius:50%;border:1px solid #cfe0f7;background:#fff;color:var(--spark-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s;box-shadow:0 8px 20px rgba(15,42,99,.08)}
  .tnav button:hover{background:var(--soft);border-color:#b9d3f2;transform:translateY(-1px)}
  .tnav button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2}
  .tnav button:disabled{opacity:.35;cursor:default;transform:none}
  .tscroll{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 22px;margin-top:36px;-ms-overflow-style:none;scrollbar-width:none}
  .tscroll::-webkit-scrollbar{display:none}
  .tcard{scroll-snap-align:start;flex:0 0 auto;width:min(360px,82vw);background:rgba(255,255,255,.55);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.75);border-radius:20px;padding:26px 26px 22px;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(15,42,99,.1);text-align:left}
  .tcard .quote{font-size:15px;line-height:1.66;color:#233450;flex:1}
  .tcard .quote:before{content:"\201C";font-family:var(--serif);font-size:44px;line-height:0;color:var(--spark-deep);display:block;height:22px}
  .tcard .who{display:flex;align-items:center;gap:13px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(15,42,99,.12)}
  .tcard .who .av{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.7);color:var(--spark-ink);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:600;font-size:15px;flex:none;border:1px solid rgba(255,255,255,.9)}
  .tcard .who b{display:block;font-family:var(--disp);font-weight:600;font-size:14px;color:var(--head);line-height:1.3}
  .tcard .who small{font-size:12.5px;color:#4a5a76;line-height:1.35}
  .tcard .who .org{display:block;font-size:12px;color:var(--spark-deep);font-weight:600;margin-top:2px}
  .tcard .tbc{color:#8494b0;font-style:normal;font-weight:500}
  @media(max-width:620px){.tcard{width:min(320px,80vw)}}
  html[dir="rtl"] .tcard{text-align:right}
  html[dir="rtl"] .tcard .quote:before{content:"\201D"}
  html[dir="rtl"] .tscroll{direction:rtl}

  /* ===== RTL / Arabic interface ===== */
  html[dir="rtl"]{--disp:var(--disp-ar);--sans:var(--sans-ar);--serif:var(--disp-ar)}
  html[dir="rtl"] body{font-family:var(--sans-ar)}
  html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] h4,html[dir="rtl"] h5,
  html[dir="rtl"] .eyebrow,html[dir="rtl"] .btn,html[dir="rtl"] .lang,html[dir="rtl"] .nav-signin,
  html[dir="rtl"] .nav-links a,
  html[dir="rtl"] .foot-grid,html[dir="rtl"] .foot-grid a,html[dir="rtl"] .foot-p,
  html[dir="rtl"] .fc-addr,html[dir="rtl"] .fc-addr h6,html[dir="rtl"] .fc-addr p,html[dir="rtl"] .fc-emails a,
  html[dir="rtl"] .chnum,html[dir="rtl"] .acopy h3,html[dir="rtl"] .s1-copy h3,html[dir="rtl"] .a-head b,
  html[dir="rtl"] .a-greet,html[dir="rtl"] .wm,html[dir="rtl"] .rsearch-head,html[dir="rtl"] .doc-h b,
  html[dir="rtl"] .ncard b,html[dir="rtl"] .foot-logo,html[dir="rtl"] footer h5,html[dir="rtl"] .cwm b{font-family:var(--disp-ar)}
  html[dir="rtl"] .serif-i{font-style:normal}
  /* Arabic: letter-spacing breaks the joined script — drop it and carry the
     emphasis with weight instead, on every small caps-style label */
  html[dir="rtl"] .eyebrow,html[dir="rtl"] .eyebrow span,html[dir="rtl"] .eyebrow em,
  html[dir="rtl"] .lab,html[dir="rtl"] .v-lab,html[dir="rtl"] .ab-eb2,html[dir="rtl"] .ab-eb3,
  html[dir="rtl"] .cjur-lab,html[dir="rtl"] .ab-hero-eb{letter-spacing:0;text-transform:none}
  html[dir="rtl"] .eyebrow,html[dir="rtl"] .eyebrow span,
  html[dir="rtl"] .lab,html[dir="rtl"] .v-lab,html[dir="rtl"] .ab-eb2,html[dir="rtl"] .ab-eb3,
  html[dir="rtl"] .cjur-lab{font-weight:700;font-size:13px}
  html[dir="rtl"] .eyebrow em{font-weight:700}
  html[dir="rtl"] .rcore-grid,html[dir="rtl"] .apanel,html[dir="rtl"] .acopy,html[dir="rtl"] .s1-panel{text-align:right}
  html[dir="rtl"] .cursor{margin-left:0;margin-right:6px;display:none}
  html[dir="rtl"] .hero h1 .rotline{font-style:normal}
  html[dir="rtl"] .hero h1{font-size:clamp(28px,3.6vw,46px);line-height:1.28}
  html[dir="rtl"] .hero h1 .rotline{font-size:clamp(19px,2.2vw,29px);font-weight:600;line-height:1.55;max-width:34ch;margin-top:14px;
    color:var(--spark);text-align:start}
  html[dir="rtl"] .hero h1 > [data-i18n]{font-weight:700}
  html[dir="rtl"] .hero .sub{font-size:clamp(14px,1.4vw,16.5px);max-width:780px;white-space:nowrap}
  html[dir="rtl"] .pill{font-size:14.5px;padding:9px 20px 9px 16px}
  html[dir="rtl"] .hero-cta .btn{font-size:14px}
  html[dir="rtl"] .chnum{right:auto;left:2%}
  html[dir="rtl"] .hf1,html[dir="rtl"] .hf2{right:auto;left:0}
  html[dir="rtl"] .hf3{left:auto;right:0}
  html[dir="rtl"] .harrow,html[dir="rtl"] .btn svg,html[dir="rtl"] .rex .ex-row svg,html[dir="rtl"] .rf-more svg{transform:scaleX(-1)}
  html[dir="rtl"] .btn svg.play-ic{transform:none}
  html[dir="rtl"] #watchVideoBtn{display:inline-flex}
  html[dir="rtl"] #watchVideoBtn .play-ic{order:1}
  html[dir="rtl"] .rsearch-filters .rf-more{margin-left:0;margin-right:auto}
  html[dir="rtl"] .egrid,html[dir="rtl"] .adist,html[dir="rtl"] .pillars,html[dir="rtl"] .stwo{direction:rtl}
  html[dir="rtl"] .lang{cursor:pointer}


/* ===== About page: extra styles (unique to about content) ===== */

  :root{
    --spark:#8fd0ff; --spark-deep:#3f86cf; --spark-ink:#245aa0;
    --head:#0d1f3d; --slate:#54637e; --muted:#8494b0;
    --on-deep:var(--on-deep); --on-deep-2:var(--on-deep-2);
    --line:#e7ecf4; --line-2:#eef2f8; --alt:#f6f8fc; --blue:#eef4fb; --soft:#eaf1fb;
    --navy:#0c2b50; --navy-2:#0a2340; --navy-3:#081b33;
    --sans:'Inter',system-ui,-apple-system,sans-serif;
    --disp:'Poppins','Inter',sans-serif;
    --serif:'Poppins','Inter',sans-serif;
    --sans-ar:'Cairo',system-ui,sans-serif;
    --disp-ar:'Cairo',system-ui,sans-serif;
  }


  /* HERO */
  .hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.7}
  .hero-top{position:relative;z-index:2;padding:60px 0 30px}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:end}
  .hero h1{color:#fff;font-family:var(--disp);font-size:clamp(34px,4.6vw,56px);font-weight:500;letter-spacing:-.022em;line-height:1.08}
  .hero h1 .ser{color:var(--spark);font-size:1.02em}
  .hero .kick{margin-bottom:26px;color:var(--spark)}
  .hero .kick::before{background:var(--spark);opacity:.7}
  .hero .lead{color:rgba(224,235,250,.8);font-size:18px;line-height:1.72;max-width:440px}
  .stat{padding:4px 30px;border-left:1px solid rgba(255,255,255,.1)}
  .stat:first-child{border-left:none;padding-left:0}
  .ssub{margin-top:4px;color:rgba(180,200,225,.72);font-size:12.5px;line-height:1.5}
  html[dir="rtl"] .stat{border-left:none;border-right:1px solid rgba(255,255,255,.1);padding:4px 30px}
  html[dir="rtl"] .stat:first-child{border-right:none;padding-right:0}

  /* TRUST STRIP */
  .trust{background:#fff;border-bottom:1px solid var(--line-2);padding:22px 0}
  .trust .lab{text-align:center;font-family:var(--disp);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

  /* SECTIONS */
  .sec{padding:100px 0}
  .sec.tint{background:var(--alt)}
  #platform{background:#fafbfc}
  .sechead{max-width:720px}
  .sechead.center{margin:0 auto;text-align:center}
  .sechead.center .eyebrow{justify-content:center}
  .sechead h2{margin-top:20px;font-size:clamp(28px,3.5vw,40px);font-weight:500;letter-spacing:-.02em;line-height:1.14}
  .sechead h2 .ser{color:var(--spark-deep)}
  .sechead p{margin-top:16px;color:var(--slate);font-size:17px;line-height:1.7}

  .pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}

  @media(max-width:860px){.story-tl-grid{grid-template-columns:1fr;gap:40px}}

  .timeline{position:relative;max-width:940px;margin:60px auto 0;padding:4px 0}
  .rail{position:absolute;left:50%;top:0;bottom:0;width:1.5px;transform:translateX(-50%);background:var(--line)}
  .mile{position:relative;width:50%;padding:22px 52px;opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
  .mile.in{opacity:1;transform:none}
  .mile.L{left:0;text-align:right}.mile.R{left:50%;text-align:left}
  .node{position:absolute;top:30px;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(15,42,99,.07);z-index:2;transition:border-color .5s,box-shadow .5s}
  .mile.L .node{right:-23px}.mile.R .node{left:-23px}
  .node-ic{width:22px;height:22px;color:var(--muted);transition:color .5s}
  .node-ic svg{width:22px;height:22px}
  .mile.in .node{border-color:var(--spark-deep);box-shadow:0 0 0 5px rgba(63,134,207,.09),0 10px 26px rgba(15,42,99,.1)}
  .mile.in .node-ic{color:var(--spark-deep)}
  .mcard{display:inline-block;text-align:left;max-width:400px}
  .mile.L .mcard{text-align:right}
  .myear{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:.02em;color:var(--spark-ink);margin-bottom:9px}
  .myear .yd{margin:0 3px;color:var(--muted);font-weight:400}.myear .yplus{color:var(--spark-deep)}
  .mcard h3{font-size:19px;font-weight:500;margin-bottom:9px;letter-spacing:-.01em}
  .mcard p{color:var(--slate);font-size:15px;line-height:1.7}

  .serve{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
  @media(max-width:760px){.serve{grid-template-columns:1fr 1fr}}
  @media(max-width:460px){.serve{grid-template-columns:1fr}}

  .banner-sec{padding:40px 0 108px}
  .bs-reach{margin-top:20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
    font-size:14px;color:var(--slate)}
  .bs-reach a{color:var(--spark-ink);text-decoration:underline;text-underline-offset:3px;
    text-decoration-thickness:1px}
  .bs-reach a:hover{color:var(--navy)}
  .bs-reach i{width:1px;height:12px;background:var(--line);display:inline-block}
  .banner{position:relative;overflow:hidden;background:var(--alt);border:1px solid var(--line);border-radius:22px;padding:52px 56px;display:flex;align-items:center;gap:40px;box-shadow:0 30px 70px rgba(10,35,64,.22)}
  .banner::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 6% 0%,rgba(63,134,207,.07),transparent 55%);z-index:0}
  .banner .btxt{position:relative;z-index:1;flex:1}
  .banner .bk{color:var(--spark-deep);margin-bottom:16px}.banner .bk::before{background:var(--spark-deep);opacity:.7}
  .banner h2{color:var(--head);font-size:clamp(20px,2.1vw,26px);font-weight:400;letter-spacing:-.012em;line-height:1.34;max-width:34ch}
  .banner h2 .ser{display:block;color:var(--spark-deep);font-family:var(--serif);font-style:italic;font-weight:400}
  .banner .bcta{position:relative;z-index:1;flex:none}
  .banner .bcta .btn-white{background:var(--navy);color:#fff}
  .banner .bcta .btn-white:hover{background:var(--navy-2)}

  footer{position:relative;overflow:hidden;color:rgba(233,241,251,.72);padding:76px 0 34px;font-size:14.5px;
    background:radial-gradient(110% 80% at 84% 0%,#25628d 0%,rgba(37,98,141,0) 58%),
      radial-gradient(90% 70% at 6% 96%,#0d3450 0%,rgba(13,52,80,0) 62%),
      linear-gradient(168deg,#123f63 0%,#0e3252 46%,#0a2540 100%)}
  footer::before{content:"";position:absolute;inset:0 0 auto;height:1px;
    background:linear-gradient(90deg,rgba(143,208,255,0),rgba(143,208,255,.45),rgba(143,208,255,0))}
  .foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:44px}
  .foot-logo img{height:34px;margin-bottom:18px}
  .foot-logo .fl-ar{display:none}
  html[dir="rtl"] .foot-logo .fl-en{display:none}
  html[dir="rtl"] .foot-logo .fl-ar{display:inline-block}
  .foot-p{max-width:300px;line-height:1.7;color:rgba(233,241,251,.6)}
  .foot-social{display:flex;gap:10px;margin-top:20px}
  .foot-social a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(233,241,251,.75);transition:background .18s,color .18s,border-color .18s}
  .foot-social a:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24);color:#fff}
  .foot-social svg{width:17px;height:17px}
  footer h5{font-family:var(--disp);color:#fff;font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:17px}
  footer ul{list-style:none}footer li{margin-bottom:11px}
  footer li a{color:rgba(233,241,251,.7);transition:color .18s}footer li a:hover{color:#fff}
  .foot-entity{margin-top:56px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;line-height:1.75;color:rgba(233,241,251,.46)}
  .foot-contact{margin-top:56px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr 1.6fr;gap:40px}
  .fc-col h5{font-family:var(--disp);color:#fff;font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
  .fc-row{display:flex;gap:14px}
  .fc-col-wide .fc-row{margin-bottom:18px}
  .fc-col-wide .fc-row:last-child{margin-bottom:0}
  .fc-ic{width:20px;height:20px;flex:none;color:rgba(233,241,251,.55);display:flex;align-items:center;justify-content:center}
  .fc-ic svg{width:18px;height:18px}
  .fc-ic-ghost{visibility:hidden}
  .fc-div{width:1px;background:rgba(255,255,255,.16);flex:none;align-self:stretch}
  .fc-emails{display:flex;flex-direction:column;gap:12px}
  .fc-emails a{color:rgba(233,241,251,.85);font-size:14.5px;transition:color .18s}
  .fc-emails a:hover{color:#fff}
  .fc-addr h6{color:#fff;font-weight:500;font-size:14.5px;margin-bottom:6px;font-family:var(--disp)}
  .fc-addr p{font-size:13.5px;color:rgba(233,241,251,.6);line-height:1.6;margin:0}
  @media(max-width:760px){.foot-contact{grid-template-columns:1fr}}
  .foot-bottom{margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);
    display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
    font-size:13px;color:rgba(233,241,251,.6)}
  .foot-reach{display:inline-flex;align-items:center;gap:12px;color:rgba(233,241,251,.6)}
  .foot-reach a{color:rgba(233,241,251,.9)}
  .foot-reach a:hover{color:#fff}
  .foot-reach i{width:1px;height:12px;background:rgba(255,255,255,.22);display:inline-block}

  /* contact page — the detail that used to sit in the footer */
  .cdetails{display:grid;grid-template-columns:1fr 1.6fr;gap:44px;margin-top:30px}
  .cdetails .fc-col h5{color:var(--head)}
  .cdetails .fc-ic{color:var(--muted)}
  .cdetails .fc-div{background:var(--line)}
  .cdetails .fc-emails a{color:var(--spark-ink);font-size:15px}
  .cdetails .fc-emails a:hover{color:var(--navy)}
  .cdetails .fc-addr h6{color:var(--head)}
  .cdetails .fc-addr p{color:var(--slate)}
  @media(max-width:760px){.cdetails{grid-template-columns:1fr;gap:32px}}

  /* RTL */
  html[dir="rtl"] body{font-family:var(--sans-ar)}
  html[dir="rtl"] .ser{font-style:normal}
  html[dir="rtl"] .eyebrow::before{margin-left:0}
  html[dir="rtl"] .btn svg{transform:scaleX(-1)}
  html[dir="rtl"] .btn svg.play-ic{transform:none}
  html[dir="rtl"] .text-link svg{transform:scaleX(-1)}
  html[dir="rtl"] .mile.L{text-align:left}html[dir="rtl"] .mile.R{text-align:right}
  html[dir="rtl"] .mile.L .mcard{text-align:left}html[dir="rtl"] .mile.R .mcard{text-align:right}

  @media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-logo{grid-column:1/-1}}
  @media(max-width:860px){
    .hero-grid{grid-template-columns:1fr;gap:34px}.hero .lead{max-width:none}
    .stat{padding:0 24px}.stat:nth-child(odd){border-left:none;padding-left:0}
    html[dir="rtl"] .stat:nth-child(odd){border-right:none;padding-right:0}
    .pos-grid{grid-template-columns:1fr;gap:34px}
    .rail{left:24px}
    .mile,.mile.L,.mile.R{width:100%;left:0;text-align:left;padding:20px 0 20px 62px}
    .mile.L .mcard,.mile.R .mcard{text-align:left}
    .mile.L .node,.mile.R .node{left:1px;right:auto}.mcard{max-width:none}
    html[dir="rtl"] .rail{left:auto;right:24px}
    html[dir="rtl"] .mile,html[dir="rtl"] .mile.L,html[dir="rtl"] .mile.R{padding:20px 62px 20px 0;text-align:right}
    html[dir="rtl"] .mile.L .mcard,html[dir="rtl"] .mile.R .mcard{text-align:right}
    html[dir="rtl"] .mile.L .node,html[dir="rtl"] .mile.R .node{right:1px;left:auto}
  }

  @media(prefers-reduced-motion:reduce){.reveal,.mile{opacity:1!important;transform:none!important;transition:none}*{animation:none!important}}

  /* Mobile refinements: touch-target sizing + narrow-screen form fit */
  @media(max-width:560px){
    /* Country-code select was a fixed 168px, squeezing the phone number field on
       small screens. Let it shrink so the number field keeps a usable width. */
    .phone-group select.cc-select{flex:0 1 128px;width:128px;min-width:0}
    /* Footer nav links were only ~16px tall; give them a comfortable tap height. */
    footer li{margin-bottom:4px}
    footer li a{display:inline-block;padding:9px 0}
    /* Nudge social icons up to a comfortable touch size. */
    .foot-social a{width:42px;height:42px}
  }
  @media(max-width:360px){
    .phone-group select.cc-select{flex:0 1 108px;width:108px}
  }



/* Body copy: justified only where text has a fixed edge to align to (left in LTR,
   right in RTL). Centred blocks keep a ragged edge — justifying them opens rivers. */
p, .lead, .fcard p, .fc-addr p, .card p, .acard p, .pcard p, .qa p, .about-p, .sec-p{
  text-align:start;hyphens:none;-webkit-hyphens:none;text-wrap:pretty}
html[dir="rtl"] p, html[dir="rtl"] .lead{hyphens:none;-webkit-hyphens:none}

/* Centred contexts: never justify, never hyphenate */
.center p, .center .lead,
.sechead.center p, .sechead.center .lead,
.hero-inner p, .hero-inner .lead,
.statband p, .statband span,
.pil p, .di p, .rc-chip p,
.qbox p, .squote, .scap p,
.video-modal-box p,
form.qform .fine,
.clients .lab, .trust .lab,
.rsearch-head{
  text-align:center;text-justify:auto;hyphens:none;-webkit-hyphens:none;text-wrap:pretty}
h1,h2,h3,h4,h5,h6,.eyebrow,.lab,.v-lab,.chnum,.stat b,.cjur-lab,.cjur-sub,
.foot-bottom,.foot-legal,.fc-emails,.btn,.text-link,button,label,option,
th,td,li,.badge,.pill,.chip,.tag,.cwm{text-align:inherit;hyphens:none;-webkit-hyphens:none}
h1,h2,h3,h4,h5,h6{text-wrap:balance}
p{text-wrap:pretty}

/* --- Mobile nav fixes --- */
/* Language button lives in the bar itself (never inside the hamburger menu) */
.lang{display:inline-flex;align-items:center;justify-content:center;flex:none;order:0;min-width:0;
  gap:0;padding:4px 0 !important;border:0;border-radius:0}
.lang .lang-ico,.lang .lang-label,.lang .lang-code{display:none !important}
.lang .lg-t{display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--disp);font-size:12.5px;font-weight:500;letter-spacing:.06em;line-height:1;color:inherit}
.lang .lg-t.lg-ar{font-family:var(--disp-ar);font-size:16px;font-weight:500;letter-spacing:0;
  transform:translateY(-.5px)}
/* Open menu = white panel: always use the DARK wordmark, even over the dark hero (fixes double logo in Arabic) */
.nav.on-dark .nav-inner.menu-open .logo .l-light,
.nav.on-dark .nav-inner.menu-open .logo .l-light-ar{display:none}
.nav.on-dark .nav-inner.menu-open .logo .l-dark{display:inline-block}
html[dir="rtl"] .nav.on-dark .nav-inner.menu-open .logo .l-dark{display:none}
html[dir="rtl"] .nav.on-dark .nav-inner.menu-open .logo .l-light-ar{display:none}
html[dir="rtl"] .nav.on-dark .nav-inner.menu-open .logo .l-dark-ar{display:inline-block}
@media(max-width:900px){
  /* Language toggle sits in the bar, pushed to the end, just before the hamburger */
  .lang{margin-inline-start:auto;width:auto;height:auto;padding:4px 0}
  .hamburger{margin-inline-start:6px !important}
  /* The language button already sits in the top row: match the hamburger's box
     height so its centre line is the same as the close icon's. */
  .nav-inner.menu-open .lang{position:relative;z-index:2;color:var(--slate);border:0;align-self:flex-start;height:44px;margin-top:0}
}

/* ---------------------------------------------------------------- page loader
   Plain white screen with a spinner, shown while the page loads and faded out
   once everything is ready (see js/site.js / js/login.js). */
.page-loader{position:fixed;inset:0;z-index:2000;background:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .35s ease,visibility .35s ease}
.page-loader.is-done{opacity:0;visibility:hidden}
.page-loader-spin{width:42px;height:42px;border-radius:50%;border:3px solid #e7ecf4;border-top-color:#3f86cf;animation:page-loader-spin .8s linear infinite}
.visually-hidden-loader{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes page-loader-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.page-loader-spin{animation-duration:2s}}

/* ------------------------------------------------------------------ 404 page
   The dark page-head band carries the whole page: kicker, heading, rule, copy,
   and two actions. */
.error-head{padding:190px 0 150px}
.error-head .sechead{max-width:720px}
.error-head .h2{margin-top:16px}
.error-head .lead{margin-top:20px}
.error-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
@media(max-width:560px){.error-head{padding:150px 0 110px}.error-cta .btn{width:100%;justify-content:space-between}}


  /* 02 — research engine: cropped search view + 3-up feature grid */
  #platform .pgrid{grid-template-columns:.62fr 1.38fr;gap:40px;align-items:center}
  #platform .plat-mock{min-width:0;display:flex;justify-content:flex-end}
  .rmock{position:relative;overflow:hidden;border-radius:8px;pointer-events:none;user-select:none;
    width:100%;max-width:898px;height:475px;background:#fff;
    box-shadow:0 1px 3px rgba(11,47,82,.1),0 12px 28px rgba(11,47,82,.12),0 34px 64px -22px rgba(11,47,82,.22),
      0 0 0 1px rgba(11,47,82,.08)}
  .rm-scale{width:940px;height:425px;transform:scale(.923);transform-origin:top left}
  /* RTL: the 940px window sits at the right edge, so it must scale from there or
     it leaves a white band inside the frame */
  html[dir="rtl"] .rm-scale{transform-origin:top right}
  .rm-win{display:flex;flex-direction:column;width:940px;height:425px;background:#fff;text-align:start;overflow:hidden}
  .rm-areas{flex:1;min-height:0;background:#fff;border-bottom:1px solid var(--line);
    padding:14px 2.75% 22px;overflow:hidden;color:#28374f}
  .rm-input{display:flex;align-items:center;flex:1;min-width:0;height:38px;padding:0 16px 0 20px;
    color:#123a5e;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden}
  .rm-fld{display:inline-block;min-width:52px;height:26px;border:1px solid #e2e8f0;border-radius:4px;background:#f7f9fc;vertical-align:middle}
  .rmock [data-a],.rmock [data-b]{cursor:default;text-decoration:none}
  #platform .fcards.compact{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;row-gap:0;margin-top:64px;
    border-top:1px solid var(--line)}
  #platform .fcards.compact .fcard{background:none;border:0;border-radius:0;box-shadow:none;
    padding:26px 30px 26px 0;border-bottom:1px solid var(--line)}
  #platform .fcards.compact .fcard:hover{transform:none;box-shadow:none;background:none}
  html[dir="rtl"] #platform .fcards.compact .fcard{padding:22px 0}
  @media(max-width:1000px){
    #platform .pgrid{grid-template-columns:1fr;gap:40px}
    #platform .fcards.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media(max-width:640px){
    #platform .fcards.compact{grid-template-columns:1fr}
    .rmock{height:372px}.rm-scale{transform:scale(.75)}
  }

  .rm-cap{width:100%;max-width:820px;margin-top:14px;font-size:12.5px;line-height:1.6;color:var(--slate)}
  .rm-cap-on{font-family:var(--disp);font-weight:600;color:var(--spark-ink)}
  .rm-cap-off{font-family:var(--disp);font-weight:600;color:var(--head)}
  #platform .plat-mock{flex-direction:column;align-items:flex-end}
  html[dir="rtl"] #platform .plat-mock{align-items:flex-start}

  /* features sit quieter than the section's headline pair */
  #platform .fcards.compact{margin-top:56px}
  #platform .fcards.compact .fcard{padding:22px 0}
  #platform .fcards.compact .fcard{display:grid;grid-template-columns:auto 1fr;
    column-gap:11px;row-gap:8px;align-items:start;align-content:start}
  #platform .fcards.compact .fc-ic{align-self:center}
  #platform .fcards.compact .fc-ic{grid-column:1;grid-row:1;width:auto;height:auto;margin:0;
    background:none;border:0;border-radius:0;box-shadow:none;color:var(--spark-deep)}
  #platform .fcards.compact .fc-ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9}
  #platform .fcards.compact .fcard b{grid-column:2;grid-row:1;font-size:14px;letter-spacing:0;line-height:1.25}
  #platform .fcards.compact .fcard > span:last-child{grid-column:2;grid-row:2;
    font-size:12.5px;line-height:1.6;color:var(--slate)}


  /* 01 stat band — four counted cells in one row (final override) */
  #content .cband .cnt-stats{grid-template-columns:repeat(4,1fr)!important;gap:0!important;margin-top:0!important}
  #content .cband .cnt-stats .cst{padding:0 26px!important;border-left:1px solid var(--line)!important}
  #content .cband .cnt-stats .cst:first-child{padding-left:0!important;border-left:none!important}
  #content .cband .cnt-stats .cst:nth-child(odd){padding-left:26px;border-left:1px solid var(--line)}
  #content .cband .cnt-stats .cst:first-child{padding-left:0!important;border-left:none!important}
  #content .cband .cnt-stats .cst b{font-size:clamp(24px,2.6vw,36px)!important}
  html[dir="rtl"] #content .cband .cnt-stats .cst{padding:0 26px!important;border-left:none!important;border-right:1px solid var(--line)!important}
  html[dir="rtl"] #content .cband .cnt-stats .cst:first-child{padding-right:0!important;border-right:none!important}
  @media(max-width:820px){
    #content .cband .cnt-stats{grid-template-columns:repeat(2,1fr)!important;gap:26px 0!important}
    #content .cband .cnt-stats .cst:nth-child(3){padding-left:0!important;border-left:none!important}
    html[dir="rtl"] #content .cband .cnt-stats .cst:nth-child(3){padding-right:0!important;border-right:none!important}
  }

  /* 02 crop — scale tuned to the column the mock actually gets (868px) */
  #platform .rmock{max-width:none;height:459px}
  #platform .rm-scale{transform:scale(.923)}
  @media(max-width:640px){#platform .rmock{height:372px}#platform .rm-scale{transform:scale(.75)}}


  /* research crop panes */
  .rm-panes{position:relative;flex:1;min-height:0;padding:14px 26px 0;background:#fff}
  .rm-pane{position:absolute;inset:14px 26px 0;overflow:hidden}
  .rm-pane-res{animation:rpaneA 18s ease-in-out infinite}
  .rm-pane-areas{animation:rpaneB 18s ease-in-out infinite}
  .rm-pane-cases{animation:rpaneC 18s ease-in-out infinite}
  @keyframes rpaneA{0%,47%{opacity:1}51%,97%{opacity:0}99%,100%{opacity:1}}
  @keyframes rpaneC{0%,47%{opacity:0}51%,77%{opacity:1}81%,100%{opacity:0}}
  @keyframes rpaneB{0%,77%{opacity:0}81%,97%{opacity:1}99%,100%{opacity:0}}
  #platform .rmock{height:392px}
  #platform .rm-scale{transform:scale(.923)}
  @media(max-width:640px){#platform .rmock{height:320px}#platform .rm-scale{transform:scale(.75)}}


  /* research crop: pointer following the tab it selects */
  .rm-cursor{position:absolute;z-index:60;left:0;top:0;width:17px;height:17px;pointer-events:none;
    filter:drop-shadow(0 2px 4px rgba(2,10,24,.5));animation:rmCursor 18s cubic-bezier(.5,0,.2,1) infinite}
  .rm-cursor svg{width:100%;height:100%;fill:#fff;stroke:#123a5e;stroke-width:1.1}
  .rm-cursor::after{content:"";position:absolute;left:-7px;top:-7px;width:30px;height:30px;border-radius:50%;
    background:rgba(143,208,255,.6);opacity:0;transform:scale(.3);animation:rmTap 18s ease-out infinite}
  @keyframes rmCursor{
    0%,6%{transform:translate(300px,220px)}
    16%,32%{transform:translate(166px,86px)}
    45%,62%{transform:translate(250px,86px)}
    75%,100%{transform:translate(620px,86px)}}
  @keyframes rmTap{
    0%,17%{opacity:0;transform:scale(.3)}
    19%{opacity:.9;transform:scale(.5)}
    25%{opacity:0;transform:scale(1.25)}
    46%{opacity:0;transform:scale(.3)}
    48%{opacity:.9;transform:scale(.5)}
    54%{opacity:0;transform:scale(1.25)}
    76%{opacity:0;transform:scale(.3)}
    78%{opacity:.9;transform:scale(.5)}
    84%,100%{opacity:0;transform:scale(1.25)}}
  @media(prefers-reduced-motion:reduce){.rm-cursor,.rm-cursor::after{animation:none}.rm-cursor{display:none}}


  /* practice-area list: a slow scroll while its tab is active */
  .rm-areas-scroll{position:relative;height:224px;overflow:hidden;border-top:1px solid #eef2f6}
  .rm-areas-scroll::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;pointer-events:none;
    background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
  .rm-areas-track{animation:rmAreasScroll 18s linear infinite}
  @keyframes rmAreasScroll{0%,80%{transform:translateY(0)}97%,100%{transform:translateY(-300px)}}
  @media(prefers-reduced-motion:reduce){.rm-areas-track{animation:none}}


  /* ---------- 03 assistants (redesign) ---------- */
  #assistants .asst-grid{grid-template-columns:1.04fr .96fr;gap:56px;align-items:center}
  #assistants .asst-copy .lead{max-width:480px}

  /* Taqadi preview — real product crop: rail, prompts panel, thread */
  .tqmock{position:relative;overflow:hidden;height:412px;background:#fff;pointer-events:none;user-select:none;
    box-shadow:0 1px 3px rgba(2,10,24,.2),0 18px 40px rgba(2,10,24,.28),0 46px 90px -26px rgba(2,10,24,.45),
      0 0 0 1px rgba(180,214,246,.16)}
  .tq-scale{width:1080px;height:540px;transform:scale(.763);transform-origin:top left}
  html[dir="rtl"] .tq-scale{transform-origin:top right}
  .tq-win{display:flex;width:1080px;height:540px;background:#fff;text-align:start;overflow:hidden}
  .tq-rail{flex:none;width:58px;box-sizing:border-box;padding:12px 8px;display:flex;flex-direction:column;
    overflow:hidden;background:linear-gradient(161.14deg,rgba(5,26,75,.92) -2.94%,#134782 1.77%,#0A3B77 29.8%,#2C729E 69.47%)}
  .tq-panel{flex:none;width:372px;box-sizing:border-box;padding:20px 22px 0;display:flex;flex-direction:column;
    min-height:0;border-inline-end:1px solid #e9edf3;overflow:hidden;background:#fff}
  .tq-wf{flex:1;min-height:0;overflow:hidden}
  .tq-fld{display:flex;align-items:center;width:100%;box-sizing:border-box;height:32px;padding:0 12px;
    font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:8px}
  .tqmock [data-a],.tqmock [data-b]{cursor:default;text-decoration:none}

  .tq-chat{flex:1;min-width:0;display:flex;flex-direction:column;padding:22px 26px 18px;background:#fff}
  .tq-thread{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden}
  .tq-file{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;padding:7px 12px;
    background:var(--alt);border:1px solid var(--line);border-radius:8px}
  .tq-file span{font-size:12px;color:var(--slate)}
  .tq-file em{font-style:normal;font-size:10.5px;color:var(--muted)}
  .tq-q{align-self:flex-end;max-width:76%;background:var(--navy);color:#fff;border-radius:12px 12px 3px 12px;
    padding:11px 15px;font-size:13.5px;line-height:1.5}
  .tq-a{align-self:flex-start;max-width:92%;background:var(--alt);border:1px solid var(--line);
    border-radius:12px 12px 12px 3px;padding:13px 16px}
  .tq-a p{margin:0;font-size:13.5px;line-height:1.68;color:#28374f;text-align:start}
  .tq-a p + p{margin-top:9px}
  .tq-cites{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
  .tq-cites span{font-size:11px;color:#1d6fb8;background:#eaf2fb;border:1px solid #cfe1f5;
    border-radius:4px;padding:4px 9px;white-space:nowrap}
  .tq-comp{margin-top:14px;display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;
    padding:11px 15px;color:var(--muted);font-size:12.5px}
  @media(max-width:1000px){.tqmock{height:360px}.tq-scale{transform:scale(.667)}}
  @media(max-width:620px){.tqmock{height:300px}.tq-scale{transform:scale(.556)}}

  #assistants .asst-copy .btn{padding:14px 28px;font-size:15.5px}
  #assistants .asst-copy .btn svg{width:17px;height:17px}

  /* name-led cards */
  .acards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:66px;
    border-top:1px solid rgba(255,255,255,.09)}
  .acard{padding:26px 26px 4px 0;border-inline-start:0;padding-inline-start:26px;text-align:start}
  .acard:first-child{border-inline-start:0;padding-inline-start:0}
  .ac-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
  .ac-ic{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;color:var(--spark)}
  .ac-ic svg{width:22px;height:22px}
  .ac-role{display:block;font-family:var(--disp);font-weight:500;font-size:10.5px;letter-spacing:.11em;
    text-transform:uppercase;color:rgba(255,255,255,.6);line-height:1.35;padding-inline-start:34px}
  html[dir="rtl"] .ac-role{padding-inline-start:34px}
  html[dir="rtl"] .ac-role{letter-spacing:0;text-transform:none;font-size:12px}
  .ac-name{margin:0;font-family:var(--disp);font-weight:300;font-size:clamp(17px,1.5vw,21px);
    line-height:1.1;letter-spacing:-.008em;color:var(--spark)}
  html[dir="rtl"] .ac-name{letter-spacing:0}
  .ac-role.ac-sub{margin-top:6px;text-transform:none;letter-spacing:.01em;font-size:14.5px;
    font-weight:400;color:rgba(255,255,255,.55)}
  .ac-line{margin:12px 0 0;font-size:13px;line-height:1.62;color:rgba(255,255,255,.92)}
  .ac-tasks{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:0}
  .ac-tasks li{position:relative;font-size:12px;line-height:1.5;color:rgba(255,255,255,.86);
    padding:9px 0 9px 15px;border-top:1px solid rgba(255,255,255,.09)}
  html[dir="rtl"] .ac-tasks li{padding:9px 15px 9px 0}
  .ac-tasks li::before{content:"";position:absolute;inset-inline-start:0;top:15px;
    width:5px;height:1px;background:rgba(143,208,255,.7)}

  @media(max-width:1000px){
    #assistants .asst-grid{grid-template-columns:1fr;gap:40px}
    .acards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 0}
    .acard:nth-child(3){border-inline-start:0;padding-inline-start:0}
    .acard:nth-child(n+3){border-top:1px solid rgba(255,255,255,.09);margin-top:8px;padding-top:26px}
  }
  @media(max-width:620px){
    .acards{grid-template-columns:1fr}
    .acard{border-inline-start:0;padding-inline-start:0;border-top:1px solid rgba(255,255,255,.09);padding-top:26px}
    .acard:first-child{border-top:0;padding-top:26px}
  }

  #assistants .ac-line,#assistants .ad-a,#assistants .ad-q{text-align:start;hyphens:none}


  /* 03 assistant preview — the app's closed sidebar drives the cycle */
  .tq-rail{flex:none;box-sizing:border-box;width:58px;padding:12px 8px;display:flex;flex-direction:column;
    overflow:hidden;white-space:nowrap;
    background:linear-gradient(161.14deg,rgba(5,26,75,.92) -2.94%,#134782 1.77%,#0A3B77 29.8%,#2C729E 69.47%)}
  .tq-row{display:flex;align-items:center;justify-content:center;gap:12px;height:38px;padding:0 11px;flex:none;
    color:rgba(255,255,255,.6);border-top:1px solid rgba(255,255,255,.09);border-radius:6px}
  .tq-row:first-child{border-top:0}
  .tq-row svg{flex:none;width:18px;height:18px}

  /* 03 assistant preview — cycles through the four assistants */
  .tq-views{position:relative;flex:1;min-width:0;display:flex}
  .tq-view{position:absolute;inset:0;display:flex;min-width:0}
  .tq-v0{animation:tqA 13s ease-in-out infinite}
  .tq-v1{animation:tqB 13s ease-in-out infinite}
  .tq-v2{animation:tqC 13s ease-in-out infinite}
  .tq-v3{animation:tqD 13s ease-in-out infinite}
  @keyframes tqA{0%,21%{opacity:1}24%,97%{opacity:0}100%{opacity:1}}
  @keyframes tqB{0%,21%{opacity:0}24%,46%{opacity:1}49%,100%{opacity:0}}
  @keyframes tqC{0%,46%{opacity:0}49%,71%{opacity:1}74%,100%{opacity:0}}
  @keyframes tqD{0%,71%{opacity:0}74%,97%{opacity:1}100%{opacity:0}}
  .tq-r0{animation:tqR0 13s steps(1,end) infinite}
  .tq-r1{animation:tqR1 13s steps(1,end) infinite}
  .tq-r2{animation:tqR2 13s steps(1,end) infinite}
  .tq-r3{animation:tqR3 13s steps(1,end) infinite}
  @keyframes tqR0{0%,22%{background:rgba(255,255,255,.16);color:#fff}23%,99%{background:transparent;color:rgba(255,255,255,.6)}100%{background:rgba(255,255,255,.16);color:#fff}}
  @keyframes tqR1{0%,22%{background:transparent;color:rgba(255,255,255,.6)}23%,47%{background:rgba(255,255,255,.16);color:#fff}48%,100%{background:transparent;color:rgba(255,255,255,.6)}}
  @keyframes tqR2{0%,47%{background:transparent;color:rgba(255,255,255,.6)}48%,72%{background:rgba(255,255,255,.16);color:#fff}73%,100%{background:transparent;color:rgba(255,255,255,.6)}}
  @keyframes tqR3{0%,72%{background:transparent;color:rgba(255,255,255,.6)}73%,99%{background:rgba(255,255,255,.16);color:#fff}100%{background:transparent;color:rgba(255,255,255,.6)}}
  @media(prefers-reduced-motion:reduce){
    .tq-v0,.tq-v1,.tq-v2,.tq-v3,.tq-r0,.tq-r1,.tq-r2,.tq-r3{animation:none}
    .tq-v1,.tq-v2,.tq-v3{opacity:0}.tq-v0{opacity:1}}


  /* blue usage: sky blue on dark grounds, deeper blue on light grounds */
  .sec:not(.deep):not(.cta) .eyebrow em,
  .sec:not(.deep):not(.cta) .h2 .serif-i,
  .sec:not(.deep):not(.cta) .text-link{color:var(--spark-deep)}
  .sec:not(.deep):not(.cta) .trule{background:var(--spark-deep)}
  .sec.deep .eyebrow em,.sec.deep .h2 .serif-i,.sec.deep .text-link,
  .cta .eyebrow em,.cta .h2 .serif-i{color:var(--spark)}
  .sec.deep .trule,.cta .trule{background:var(--spark)}

  /* section grounds: navy separates, enterprise sits on soft grey */
  #enterprise{background:#fafbfc;color:var(--head)}
  #enterprise .eyebrow,#enterprise .eyebrow span{color:var(--head)}
  #enterprise .eyebrow em{color:var(--spark-deep)}
  #enterprise .lead b,#enterprise strong{color:var(--head)}
  #enterprise .text-link{color:var(--spark-deep)}
  #enterprise .h2{color:var(--head)}
  #enterprise .h2 .serif-i{color:var(--spark-deep)}
  #assistants .asst-copy .btn{font-size:14px;padding:11px 21px}
  #assistants .asst-copy .btn svg{width:15px;height:15px}
  #enterprise .lead{color:var(--slate)}
  #enterprise .trule{background:var(--spark-deep)}
  #enterprise .btn-white{background:var(--navy);color:#fff}
  #enterprise .btn-white:hover{background:var(--navy-2)}
  #enterprise .chnum{color:rgba(13,31,61,.05)}

  /* ---------- Solutions: three groups, high level ---------- */
  #solHead{position:relative;overflow:hidden;padding-top:92px;padding-bottom:58px}
  #solHead::after{content:"";position:absolute;z-index:1;pointer-events:none;
    inset-inline-end:-70px;bottom:-84px;width:300px;height:300px;opacity:.13;
    background:url(../img/img07.png) no-repeat left top;background-size:auto 300px}
  html[dir="rtl"] #solHead::after{transform:scaleX(-1)}
  #solHead .wrap{position:relative;z-index:2}
  #solHead .h2{font-size:clamp(26px,2.9vw,36px);max-width:22ch;line-height:1.2;font-weight:400}
  #solHead .serif-i{margin-top:.14em}

  .solmenu-page{padding:64px 0 132px}
  .sol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 60px}
  .sg-col{position:relative;padding-top:24px;border-top:1px solid rgba(13,31,61,.18)}
  .sg-col + .sg-col{padding-inline-start:60px;margin-inline-start:-60px}


  .sg-t{display:flex;align-items:center;gap:11px;margin:0;font-family:var(--disp);font-weight:500;
    font-size:clamp(15px,1.5vw,17.5px);color:var(--head);letter-spacing:-.008em;line-height:1.3}
  .sg-ic{display:flex;align-items:center;justify-content:center;flex:none;color:var(--spark-deep)}
  .sg-ic svg{width:19px;height:19px}
  html[dir="rtl"] .sg-t{font-family:var(--disp-ar);font-weight:600;font-size:clamp(16px,1.6vw,18.5px);letter-spacing:0}

  .sg-s{margin:14px 0 0;padding-inline-start:30px;font-size:14.5px;line-height:1.75;color:var(--slate);text-align:start}

  .sg-d{margin:26px 0 0;padding-inline-start:30px}
  .sg-d > div{padding:13px 0}
  .sg-d > div + div{border-top:1px solid rgba(84,99,126,.13)}
  .sg-d dt{font-family:var(--disp);font-weight:500;font-size:13.5px;color:var(--spark-ink);letter-spacing:-.002em}
  .sg-d dd{margin:2px 0 0;font-size:13.5px;line-height:1.62;color:var(--slate);opacity:.86;text-align:start}
  html[dir="rtl"] .sg-d dt{font-family:var(--disp-ar);font-weight:600;font-size:14.5px;letter-spacing:0}

  @media(max-width:1000px){
    .solmenu-page{padding:52px 0 104px}
    .sol-grid{grid-template-columns:1fr;gap:0}
    .sg-col{padding:24px 0 34px}
    .sg-col + .sg-col{padding-inline-start:0;margin-inline-start:0}
    .sg-col + .sg-col::before{display:none}
    .sg-s{max-width:66ch}
    .sg-d{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;padding-inline-start:30px}
    .sg-d > div + div{border-top:1px solid rgba(84,99,126,.13)}
  }
  @media(max-width:620px){.sg-d{grid-template-columns:1fr}}

  /* solutions page reads as a reference sheet — no justification in narrow columns */
  #solHead .h2,.solmenu-page p,.solmenu-page dd,.sg-s,.sg-d dd{text-align:start;hyphens:none;-webkit-hyphens:none}

  /* directory head/body seam: the navy band closes tight onto one continuous rule */
  .dir-head{padding-bottom:46px}
  .dir-grid{padding-top:0}
  .dir-grid .sol-grid{border-top:1px solid rgba(13,31,61,.22);padding-top:38px}
  .dir-grid .sg-col{border-top:0;padding-top:0}
  @media(max-width:1000px){
    .dir-head{padding-bottom:38px}
    .dir-grid .sol-grid{padding-top:30px}
    .dir-grid .sg-col{padding:0 0 34px}
    .dir-grid .sg-col + .sg-col{border-top:1px solid rgba(13,31,61,.14);padding-top:30px}
  }

  .dir-grid #research .sg-s,.dir-grid #assistants .sg-s{color:var(--head);font-weight:400}

  /* Enterprise is a different kind of engagement, so the directory gives it the
     navy panel: same grid cell, different ground. */
  .dir-grid #enterprise-solutions{background:var(--navy);color:#fff;
    border-inline-start:0;padding:32px 30px 36px;margin-top:-32px}
  .dir-grid #enterprise-solutions .sg-t{color:#fff}
  .dir-grid #enterprise-solutions .sg-ic{color:var(--spark)}
  .dir-grid #enterprise-solutions .sg-s{color:rgba(226,238,252,.78)}
  .dir-grid #enterprise-solutions .sg-d{border-top-color:rgba(255,255,255,.16)}
  .dir-grid #enterprise-solutions .sg-d > div{border-color:rgba(255,255,255,.12)}
  .dir-grid #enterprise-solutions .sg-d dt{color:var(--spark)}
  .dir-grid #enterprise-solutions .sg-d dd{color:rgba(226,238,252,.74)}
  .dir-grid #enterprise-solutions .sg-go a{color:var(--spark);border-bottom-color:rgba(143,208,255,.45)}
  .dir-grid #enterprise-solutions .sg-go a:hover{color:#fff;border-bottom-color:#fff}
  @media(max-width:1000px){
    .dir-grid #enterprise-solutions{margin-top:24px;padding:28px 24px 30px;border-top:0}
  }

  .dir-grid .sg-d dt{color:var(--spark-deep)}
  .dir-grid .sg-d{margin-top:22px;border-top:1px solid rgba(84,99,126,.13)}
  .dir-grid .sg-d > div:first-child{padding-top:14px}

  /* solutions page reads as a directory: plain notes, quiet secondary names, one exit per column */
  .sol-dir-note{max-width:70ch;margin:18px 0 0;font-size:14.5px;line-height:1.7;
    color:rgba(233,241,250,.82);text-align:start;hyphens:none;-webkit-hyphens:none}
  .sol-dir-note a{color:var(--spark);text-decoration:none;border-bottom:1px solid rgba(143,208,255,.45)}
  .sol-dir-note a:hover{border-bottom-color:currentColor}
  .sg-alt{font-weight:400;color:var(--slate);opacity:.7}
  .sg-go{margin:22px 0 0;padding-inline-start:30px;font-size:13px}
  .sg-go a{font-family:var(--disp);font-weight:500;color:var(--spark-deep);text-decoration:none;
    border-bottom:1px solid rgba(63,134,207,.35);padding-bottom:1px}
  .sg-go a:hover{border-bottom-color:currentColor}
  html[dir="rtl"] .sg-alt{opacity:.75}

  /* ---------- Subscriptions ---------- */
  .sub-intro{max-width:70ch;margin:0 0 52px;font-size:16px;line-height:1.78;color:var(--slate);text-align:start}
  .sub-ask{padding:0 0 120px}
  .sub-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:0 64px;align-items:start;
    padding-top:52px;border-top:1px solid rgba(13,31,61,.18)}
  .sub-copy{max-width:56ch}
  .sub-h{margin:0 0 18px;font-family:var(--disp);font-weight:500;font-size:clamp(19px,2vw,24px);
    color:var(--head);letter-spacing:-.014em;line-height:1.25}
  html[dir="rtl"] .sub-h{font-family:var(--disp-ar);font-weight:600;letter-spacing:0}
  .sub-copy p{margin:0 0 15px;font-size:15px;line-height:1.78;color:var(--slate);text-align:start;hyphens:none}
  .sub-note{margin-top:22px !important;padding-top:16px;border-top:1px solid rgba(84,99,126,.16);
    font-size:13.5px !important;color:var(--muted) !important}
  @media(max-width:900px){
    .sub-grid{grid-template-columns:1fr;gap:44px}
    .sub-copy{max-width:66ch}
  }


  /* ============================ About ============================ */
  .ab-eb,.ab-eb2,.ab-eb3{display:block;font-family:var(--disp);font-weight:500;font-size:11px;
    letter-spacing:.18em;text-transform:uppercase;color:var(--spark-ink)}
  .ab-evo .ab-eb3{color:var(--spark)}
  html[dir="rtl"] .ab-eb,html[dir="rtl"] .ab-eb2,html[dir="rtl"] .ab-eb3{
    font-family:var(--disp-ar);font-weight:600;font-size:13px;letter-spacing:0;text-transform:none}

  .ab-hero{position:relative;overflow:hidden;background:#fff;padding:104px 0 84px}
  .ab-hero .wrap{position:relative;z-index:1}
  .ab-h1{margin:0;max-width:24ch;font-family:var(--disp);font-weight:500;color:var(--head);
    font-size:clamp(32px,4.6vw,58px);line-height:1.1;letter-spacing:-.026em;text-align:start}
  .ab-h1 .ab-y{display:block;margin-top:.14em;color:var(--spark-deep);
    font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.018em}
  html[dir="rtl"] .ab-h1 .ab-y{display:block}
  html[dir="rtl"] .ab-h1{font-family:var(--disp-ar);font-weight:600;font-size:clamp(25px,3.6vw,44px);
    line-height:1.34;letter-spacing:0}
  html[dir="rtl"] .ab-h1 .ab-y{font-family:var(--disp-ar);font-style:normal;font-weight:500;letter-spacing:0}
  .ab-lead{margin:28px 0 0;max-width:58ch;font-size:17.5px;line-height:1.72;color:var(--slate);
    text-align:start;hyphens:none}
  .ab-story{margin:34px 0 0;max-width:66ch;font-size:17px;line-height:1.85;color:var(--slate);
    text-align:start;hyphens:none}
  html[dir="rtl"] .ab-story{font-size:16px;line-height:2.05}
  html[dir="rtl"] .ab-lead{font-size:16px;line-height:1.92}

  /* numbers — navy band, icons, weighted numerals */
  .ab-numbers{position:relative;overflow:hidden;color:#fff;padding:48px 0;
    background:radial-gradient(120% 90% at 82% 6%,#2a6b96 0%,rgba(42,107,150,0) 56%),
      radial-gradient(90% 70% at 10% 92%,#0d3450 0%,rgba(13,52,80,0) 62%),
      linear-gradient(160deg,#114a70 0%,#0e3c5e 44%,#0a2c46 100%)}
  .ab-numbers .wrap{position:relative;z-index:1}
  .ab-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 36px}
  .ab-num{position:relative;padding-inline-start:0}
  .ab-num + .ab-num{padding-inline-start:36px;border-inline-start:1px solid rgba(143,208,255,.2)}
  .ab-nic{display:block;width:20px;height:20px;color:var(--spark);margin-bottom:14px}
  .ab-nic svg{width:100%;height:100%}
  .ab-num b{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(30px,3.8vw,48px);
    line-height:1;color:#fff;letter-spacing:-.034em;font-variant-numeric:tabular-nums}
  .ab-nl{display:block;margin-top:11px;font-size:12.5px;letter-spacing:.02em;color:rgba(207,224,245,.78)}
  html[dir="rtl"] .ab-num b{font-family:var(--disp-ar);font-weight:600;font-size:clamp(24px,3vw,38px);letter-spacing:0}
  html[dir="rtl"] .ab-nl{font-family:var(--disp-ar);font-size:13.5px;letter-spacing:0}

  /* shared section head: title left, lead right */
  .ab-thead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 64px;align-items:end}
  .ab-h2{margin:14px 0 0;max-width:24ch;font-family:var(--disp);font-weight:500;color:var(--head);
    font-size:clamp(23px,2.6vw,32px);line-height:1.22;letter-spacing:-.02em}
  html[dir="rtl"] .ab-h2{font-family:var(--disp-ar);font-weight:600;font-size:clamp(20px,2.2vw,26px);
    line-height:1.46;letter-spacing:0}
  .ab-tlead{margin:0;font-size:15.5px;line-height:1.75;color:var(--slate);text-align:start;hyphens:none}
  html[dir="rtl"] .ab-tlead{font-size:15px;line-height:1.9}

  /* trust — staggered: one wide card, three beside it */
  .ab-trust{padding:84px 0 80px;background:#fff}
  .ab-tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 52px;margin-top:44px;
    border-top:1px solid var(--head)}
  .ab-tcard{padding:26px 0 30px;border:0;border-radius:0;background:none;transition:none}

  .ab-tcard.is-lead{grid-column:span 3;display:grid;grid-template-columns:26px minmax(0,22ch) minmax(0,1fr);
    gap:0 26px;align-items:start;padding:26px 0 30px;background:none;
    border-bottom:1px solid var(--line)}
  .ab-tic{display:block;width:20px;height:20px;color:var(--spark-deep);opacity:.75;margin-bottom:14px}
  .ab-tcard.is-lead .ab-tic{width:26px;height:26px;margin-bottom:0}
  .ab-tic svg{width:100%;height:100%}
  .ab-tcard b{display:block;font-family:var(--disp);font-weight:500;font-size:16px;color:var(--head);letter-spacing:-.012em}
  .ab-tcard.is-lead b{font-size:19px}
  .ab-tcard p{margin:9px 0 0;font-size:14.5px;line-height:1.68;color:var(--slate);text-align:start;hyphens:none}
  .ab-tcard.is-lead p{margin:0;font-size:15.5px}
  html[dir="rtl"] .ab-tcard b{font-family:var(--disp-ar);font-weight:600;font-size:17px;letter-spacing:0}
  html[dir="rtl"] .ab-tcard.is-lead b{font-size:20px}
  html[dir="rtl"] .ab-tcard p{font-size:15px;line-height:1.85}
  .ab-tcard.is-lead .ab-tic{opacity:1}

  /* evolution — the dark moment, with the timeline as a light rail */
  .ab-evo{position:relative;overflow:hidden;color:#fff;padding:92px 0;
    background:radial-gradient(120% 90% at 82% 6%,#2a6b96 0%,rgba(42,107,150,0) 56%),
      radial-gradient(90% 70% at 10% 92%,#0d3450 0%,rgba(13,52,80,0) 62%),
      linear-gradient(160deg,#114a70 0%,#0e3c5e 44%,#0a2c46 100%)}
  .ab-evo .wrap{position:relative;z-index:1}
  .ab-evo .ab-tl{padding:22px 24px;border-top:0;border:1px solid rgba(255,255,255,.16);border-radius:4px;
    background:rgba(255,255,255,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .ab-evo .ab-tl li:last-child{border-bottom:0;padding-bottom:0}
  .ab-evo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:0 72px;align-items:start}
  .ab-eh2{margin:14px 0 0;max-width:22ch;font-family:var(--disp);font-weight:500;color:#fff;
    font-size:clamp(23px,2.6vw,32px);line-height:1.24;letter-spacing:-.02em}
  html[dir="rtl"] .ab-eh2{font-family:var(--disp-ar);font-weight:600;font-size:clamp(20px,2.2vw,26px);
    line-height:1.48;letter-spacing:0}
  .ab-evo-prose{margin-top:24px}
  .ab-evo-prose p{margin:0;font-size:16px;line-height:1.8;color:#c8d9f0;text-align:start;hyphens:none}
  .ab-evo-prose p + p{margin-top:18px}
  html[dir="rtl"] .ab-evo-prose p{font-size:15.5px;line-height:1.95}
  .ab-tl{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.22)}
  .ab-tl li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 20px;align-items:baseline;
    padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .ab-tl b{font-family:var(--disp);font-weight:400;font-size:14px;color:var(--spark);
    font-variant-numeric:tabular-nums;letter-spacing:.01em}
  .ab-tl span{font-size:14px;line-height:1.6;color:#c8d9f0;text-align:start;hyphens:none}
  html[dir="rtl"] .ab-tl span{font-size:14.5px;line-height:1.8}

  /* team — icon rows */
  .ab-team{padding:84px 0 80px;background:#fff}
  .ab-rows{margin-top:40px;border-top:1px solid rgba(84,99,126,.34)}
  .ab-trow{display:grid;grid-template-columns:26px minmax(0,220px) minmax(0,1fr);gap:0 22px;
    align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);transition:background .15s}
  .ab-trow:hover{background:var(--alt)}
  .ab-ric{display:block;width:19px;height:19px;color:var(--spark-ink);transform:translateY(3px)}
  .ab-ric svg{width:100%;height:100%}
  .ab-trow b{font-family:var(--disp);font-weight:500;font-size:15.5px;color:var(--head);letter-spacing:-.01em}
  .ab-trow p{margin:0;font-size:14.5px;line-height:1.65;color:var(--slate);text-align:start;hyphens:none}
  html[dir="rtl"] .ab-trow b{font-family:var(--disp-ar);font-weight:600;font-size:16.5px;letter-spacing:0}
  html[dir="rtl"] .ab-trow p{font-size:15px;line-height:1.85}

  /* offices */
  .ab-offices{padding:0 0 104px;background:#fff}
  .ab-off{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:32px}
  .ab-offc{padding:22px 20px 24px;border:1px solid var(--line);border-radius:3px}
  .ab-offc.is-hq{border-color:rgba(143,208,255,.3);
    background:linear-gradient(150deg,rgba(17,74,112,.95) 0%,rgba(14,60,94,.95) 48%,rgba(10,44,70,.96) 100%)}
  .ab-oic{display:block;width:18px;height:18px;color:var(--spark-ink);margin-bottom:14px}
  .ab-offc.is-hq .ab-oic{color:var(--spark)}
  .ab-oic svg{width:100%;height:100%}
  .ab-offc b{display:block;font-family:var(--disp);font-weight:500;font-size:18px;color:var(--head);letter-spacing:-.014em}
  .ab-offc span{display:block;margin-top:4px;font-size:13px;color:var(--slate)}
  .ab-offc em{display:block;margin-top:10px;font-style:normal;font-family:var(--disp);font-size:10.5px;
    letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .ab-offc.is-hq b{color:#fff}
  .ab-offc.is-hq span{color:rgba(214,229,246,.8)}
  .ab-offc.is-hq em{color:var(--spark)}
  html[dir="rtl"] .ab-offc b{font-family:var(--disp-ar);font-weight:600;font-size:19px;letter-spacing:0}
  html[dir="rtl"] .ab-offc em{font-family:var(--disp-ar);font-size:12px;letter-spacing:0;text-transform:none}

  @media(max-width:1000px){
    .ab-nums{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 30px}
    .ab-num + .ab-num{padding-inline-start:0;border-inline-start:0}
    .ab-num:nth-child(even){padding-inline-start:30px;border-inline-start:1px solid rgba(255,255,255,.14)}
    .ab-thead{grid-template-columns:1fr;gap:18px;align-items:start}
    .ab-tgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ab-tcard.is-lead{grid-column:span 2;grid-template-columns:1fr;gap:14px}
    .ab-tcard.is-lead .ab-tic{margin-bottom:0}
    .ab-evo-grid{grid-template-columns:1fr;gap:40px}
    .ab-off{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ab-trow{grid-template-columns:24px minmax(0,180px) minmax(0,1fr);gap:0 16px}
  }
  @media(max-width:620px){
    .ab-hero{padding-top:64px}
    .ab-nums{grid-template-columns:1fr}
    .ab-num:nth-child(even){padding-inline-start:0;border-inline-start:0}
    .ab-tgrid,.ab-off{grid-template-columns:1fr}
    .ab-tcard.is-lead{grid-column:span 1}
    .ab-trow{grid-template-columns:22px minmax(0,1fr);gap:0 14px}
    .ab-trow p{grid-column:2}
    .ab-tl li{grid-template-columns:50px minmax(0,1fr);gap:0 14px}
  }

  .ab-row > b{display:flex;align-items:center;gap:11px}
  .ab-ic{display:flex;flex:none;color:var(--spark-deep);opacity:.7}
  .ab-ic svg{width:18px;height:18px}
  .ab-row:hover .ab-ic{opacity:1}

  .ab-nrow{display:flex;align-items:center;gap:12px}
  .ab-num .ab-nic{margin-bottom:0;width:20px;height:20px;flex:none;opacity:.6}
  .ab-num .ab-nrow b{margin:0}
  .ab-num .ab-nl{margin-top:10px}

  /* trust — three ruled lines, prose-led */
  .ab-tlines{margin-top:40px;border-top:1px solid var(--head)}
  .ab-tline{display:grid;grid-template-columns:24px minmax(0,1fr);gap:0 20px;align-items:start;
    padding:26px 0;border-bottom:1px solid var(--line)}
  .ab-tline .ab-tic{width:20px;height:20px;margin:2px 0 0;color:var(--spark-deep);opacity:.75}
  .ab-tline b{display:block;font-family:var(--disp);font-weight:500;font-size:17px;color:var(--head);
    letter-spacing:-.014em}
  .ab-tline p{margin:8px 0 0;max-width:74ch;font-size:15px;line-height:1.72;color:var(--slate);
    text-align:start;hyphens:none}
  html[dir="rtl"] .ab-tline b{font-family:var(--disp-ar);font-weight:600;font-size:18px;letter-spacing:0}
  html[dir="rtl"] .ab-tline p{font-size:15.5px;line-height:1.9}

  /* team + offices — looser, no boxes */
  .ab-team .ab-rows{border-top:1px solid var(--head)}
  .ab-trow{padding:22px 0}
  .ab-off{gap:0 48px}
  .ab-offc{padding:22px 0 24px;border:0;border-top:1px solid var(--line);border-radius:0;background:none}
  .ab-offc.is-hq{border-top:1px solid var(--head)}
  .ab-oic{opacity:.7}

  @media(max-width:620px){
    .ab-tline{grid-template-columns:1fr;gap:12px}
  }

  /* ---------- About: institutional pass ----------
     The page now opens on the same dark photographic band as every other
     secondary page, carries the founding numbers inside that band, ends on an
     ask, and gives the four offices equal weight. */
  .ab-hero{background:#0d2c52 url(../img/img01.jpg) center/cover no-repeat;
    color:#fff;padding:150px 0 0}
  .ab-hero::before{content:"";position:absolute;inset:0;z-index:0;
    background:linear-gradient(160deg,rgba(9,32,56,.9) 0%,rgba(11,42,70,.82) 46%,rgba(10,44,70,.9) 100%)}
  .ab-hero .wrap{position:relative;z-index:2}
  .ab-h1{color:#fff;max-width:22ch}
  .ab-h1 .ab-y{color:var(--spark)}
  .ab-hero .ab-story{color:rgba(214,229,246,.9);max-width:60ch}
  /* founding numbers: a ruled row at the foot of the band, not a second section */
  .ab-hero .ab-nums{margin-top:56px;padding:34px 0 44px;gap:34px 36px;
    border-top:1px solid rgba(143,208,255,.24)}
  @media(min-width:1001px){.ab-hero .ab-nums{gap:0 36px}}
  .ab-hero .ab-num + .ab-num{border-inline-start-color:rgba(143,208,255,.2)}

  /* offices read as a set: the headquarters is marked, not filled */
  .ab-offc.is-hq{background:none;border-top:2px solid var(--spark-ink)}
  .ab-offc.is-hq b{color:var(--head)}
  .ab-offc.is-hq span{color:var(--slate)}
  .ab-offc.is-hq em{color:var(--spark-ink)}
  .ab-offc.is-hq .ab-oic{color:var(--spark-ink)}
  .ab-offices{padding-bottom:96px}

  /* closing band */
  .ab-cta{position:relative;overflow:hidden;color:#fff;padding:88px 0 96px;
    background:radial-gradient(120% 90% at 82% 6%,#2a6b96 0%,rgba(42,107,150,0) 56%),
      radial-gradient(90% 70% at 10% 92%,#0d3450 0%,rgba(13,52,80,0) 62%),
      linear-gradient(160deg,#114a70 0%,#0e3c5e 44%,#0a2c46 100%)}
  .ab-cta .wrap{position:relative;z-index:2}
  .ab-cta .ab-eb2{color:#bcd4f2}
  .ab-ch2{margin:14px 0 0;font-family:var(--disp);font-weight:500;color:#fff;
    font-size:clamp(26px,3.1vw,40px);line-height:1.16;letter-spacing:-.022em;text-align:start}
  .ab-ch2 .ab-cy{display:block;margin-top:.12em;color:var(--spark);
    font-family:var(--serif);font-style:italic;font-weight:400}
  html[dir="rtl"] .ab-ch2{font-family:var(--disp-ar);font-weight:600;font-size:clamp(22px,2.6vw,32px);line-height:1.4;letter-spacing:0}
  html[dir="rtl"] .ab-ch2 .ab-cy{font-family:var(--disp-ar);font-style:normal;font-weight:500}
  .ab-clead{margin:20px 0 0;max-width:52ch;font-size:16.5px;line-height:1.75;
    color:rgba(214,229,246,.9);text-align:start;hyphens:none}
  html[dir="rtl"] .ab-clead{font-size:16px;line-height:1.95}
  .ab-cbtns{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
  @media(max-width:620px){
    .ab-hero{padding-top:120px}
    .ab-hero .ab-nums{margin-top:38px;padding:26px 0 34px}
    .ab-cta{padding:64px 0 72px}
    .ab-cbtns .btn{width:100%;justify-content:space-between}
  }

  /* About: the commitment, stated once at full size between the band and the reasons */
  .ab-stmt{background:#fff;padding:84px 0 76px}
  .ab-stmt-t{margin:20px 0 0;max-width:46ch;font-family:var(--disp);font-weight:400;
    color:var(--head);font-size:clamp(19px,2.2vw,27px);line-height:1.5;letter-spacing:-.014em;
    text-align:start;text-wrap:pretty;hyphens:none}
  .ab-stmt-t em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--spark-ink)}
  html[dir="rtl"] .ab-stmt-t{font-family:var(--disp-ar);font-weight:600;font-size:clamp(17px,1.9vw,22px);
    line-height:1.85;letter-spacing:0;max-width:46ch}
  html[dir="rtl"] .ab-stmt-t em{font-family:var(--disp-ar);font-style:normal;font-weight:500}
  .ab-trust{padding-top:0}
  @media(max-width:620px){.ab-stmt{padding:60px 0 52px}}

  /* ---------- About: rebuilt flow ----------
     Order: broad title band → commitment → where it started (legal research)
     → numbers → institutions → partnerships → AI evolution (with the product
     in view) → people → presence → ask. */
  .ab-hero{padding:150px 0 104px}
  .ab-hero .ab-h1{max-width:20ch;font-size:clamp(34px,5vw,64px)}
  html[dir="rtl"] .ab-hero .ab-h1{font-size:clamp(27px,3.9vw,48px)}
  .ab-stmt{padding-top:78px}
  .ab-trust{padding-top:76px}

  /* where it started */
  .ab-begin{padding:76px 0}
  .ab-bprose p{margin:0;font-size:16.5px;line-height:1.8;color:var(--slate);text-align:start;hyphens:none}
  .ab-bprose p + p{margin-top:16px}
  html[dir="rtl"] .ab-bprose p{font-size:16px;line-height:2}

  /* partnerships */
  .ab-part{padding:76px 0}
  .ab-pbody p{margin:0;font-size:16.5px;line-height:1.8;color:var(--slate);text-align:start;hyphens:none}
  .ab-pbody p + p{margin-top:14px}
  .ab-pbody .btn{margin-top:24px}
  html[dir="rtl"] .ab-pbody p{font-size:16px;line-height:2}

  /* the AI evolution keeps the product in view */
  .ab-mock{margin-top:56px;position:relative;z-index:2}
  .ab-mock .app{width:100%;max-width:none;box-shadow:0 40px 90px rgba(4,20,38,.42)}
  .ab-mock .app .app-flex{min-height:430px}
  @media(max-width:640px){.ab-mock{margin-top:38px}.ab-mock .app .app-flex{min-height:340px}}

  /* people: figures first, then the disciplines as cells rather than a table */
  .ab-pfig{display:flex;gap:0 56px;margin-top:38px;padding:26px 0;
    border-top:1px solid var(--head);border-bottom:1px solid var(--line)}
  .ab-pf b{display:block;font-family:var(--disp);font-weight:500;font-size:clamp(38px,5vw,60px);
    line-height:1;letter-spacing:-.03em;color:var(--head)}
  .ab-pf span{display:block;margin-top:8px;font-family:var(--disp);font-size:11px;
    letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
  html[dir="rtl"] .ab-pf span{font-family:var(--disp-ar);font-size:13px;letter-spacing:0;text-transform:none}
  .ab-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
  .ab-pcard{padding:24px 22px 26px;background:var(--alt);border:1px solid var(--line);border-radius:3px}
  .ab-pcard .ab-ric{display:block;width:20px;height:20px;color:var(--spark-ink);margin-bottom:16px}
  .ab-pcard .ab-ric svg{width:100%;height:100%}
  .ab-pcard b{display:block;font-family:var(--disp);font-weight:500;font-size:17px;color:var(--head);letter-spacing:-.014em}
  .ab-pcard p{margin:8px 0 0;font-size:14.5px;line-height:1.66;color:var(--slate);text-align:start;hyphens:none}
  html[dir="rtl"] .ab-pcard b{font-family:var(--disp-ar);font-weight:600;font-size:18px;letter-spacing:0}
  html[dir="rtl"] .ab-pcard p{font-size:14.5px;line-height:1.9}
  .ab-pcard:first-child{grid-column:span 3;display:grid;grid-template-columns:20px minmax(0,1fr);gap:0 18px;align-items:start;
    background:none;border:0;border-top:2px solid var(--spark-ink);border-radius:0;padding:22px 0 24px}
  .ab-pcard:first-child .ab-ric{margin:0}
  .ab-pcard:first-child b,.ab-pcard:first-child p{grid-column:2}
  .ab-pcard:first-child b{font-size:19px}

  /* presence: operating offices, then the ones opening next */
  /* offices head has no h2, so align the eyebrow and lead on their first baseline */
  .ab-offices .ab-thead{margin-bottom:8px;align-items:baseline}
  .ab-offices .ab-thead .ab-eb2{line-height:1.6}
  .ab-offices .ab-tlead{margin-top:0}
  /* same tracks as the operating offices so the rules and columns line up */
  .ab-off-soon{margin-top:0}
  .ab-offc.is-soon{border-top:1px dashed var(--line);background:#fafbfc}
  .ab-offc.is-soon b,.ab-offc.is-soon span{color:var(--muted)}
  .ab-offc.is-soon em{color:var(--spark-ink)}
  .ab-offc.is-soon .ab-oic{opacity:.45}

  @media(max-width:1000px){
    .ab-people{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ab-pcard:first-child{grid-column:span 2}
  }
  @media(max-width:620px){
    .ab-hero{padding:120px 0 72px}
    .ab-begin,.ab-part{padding:56px 0}
    .ab-people{grid-template-columns:1fr}
    .ab-pcard:first-child{grid-column:span 1}
    .ab-pfig{gap:0 34px}
  }

  /* About hero: shorter band, with the three things the commitment names carried
     as icons rather than a paragraph. */
  .ab-hero{padding:132px 0 0}
  .ab-hero .ab-h1{max-width:18ch;font-size:clamp(32px,4.4vw,56px)}
  html[dir="rtl"] .ab-hero .ab-h1{font-size:clamp(26px,3.5vw,43px)}
  .ab-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px;
    margin-top:48px;padding:30px 0 40px;border-top:1px solid rgba(143,208,255,.24)}
  .ab-idea{display:flex;align-items:center;gap:14px}
  .ab-idea + .ab-idea{padding-inline-start:36px;border-inline-start:1px solid rgba(143,208,255,.2)}
  .ab-iic{flex:none;width:26px;height:26px;color:var(--spark)}
  .ab-iic svg{width:100%;height:100%}
  .ab-idea b{font-family:var(--disp);font-weight:500;font-size:15px;line-height:1.35;color:#fff;letter-spacing:-.008em}
  html[dir="rtl"] .ab-idea b{font-family:var(--disp-ar);font-weight:600;font-size:15.5px;letter-spacing:0}
  @media(max-width:860px){
    .ab-ideas{grid-template-columns:1fr;gap:18px;padding:24px 0 32px}
    .ab-idea + .ab-idea{padding-inline-start:0;border-inline-start:0}
  }
  @media(max-width:620px){.ab-hero{padding:110px 0 0}}

  /* About: enterprise-grade solutions, stated after the company itself */
  .ab-ent{padding:76px 0 84px}
  .ab-egrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin-top:34px;
    border-top:1px solid var(--head)}
  .ab-ecard{padding:26px 0 28px;border-top:1px solid var(--line)}
  .ab-ecard:nth-child(1),.ab-ecard:nth-child(2){border-top:0}
  .ab-ecard .ab-ric{display:block;width:20px;height:20px;color:var(--spark-ink);margin-bottom:14px}
  .ab-ecard .ab-ric svg{width:100%;height:100%}
  .ab-ecard b{display:block;font-family:var(--disp);font-weight:500;font-size:17.5px;color:var(--head);letter-spacing:-.014em}
  .ab-ecard p{margin:8px 0 0;font-size:15px;line-height:1.7;color:var(--slate);text-align:start;hyphens:none}
  html[dir="rtl"] .ab-ecard b{font-family:var(--disp-ar);font-weight:600;font-size:18px;letter-spacing:0}
  html[dir="rtl"] .ab-ecard p{font-size:15px;line-height:1.95}
  .ab-ebtn{margin-top:36px}
  @media(max-width:760px){
    .ab-egrid{grid-template-columns:1fr;gap:0}
    .ab-ecard:nth-child(2){border-top:1px solid var(--line)}
  }
  @media(max-width:620px){.ab-ent{padding:56px 0 64px}}

  .ab-hero-eb{margin-bottom:18px}
  .ab-hero .ab-h1{margin-top:0}

  /* corporate ownership, stated under the offices it applies to */
  .ab-owner{margin:34px 0 0;padding-top:22px;border-top:1px solid var(--line);
    max-width:70ch;font-size:14.5px;line-height:1.75;color:var(--muted);text-align:start;hyphens:none}
  .ab-owner b{font-weight:500;color:var(--slate)}
  html[dir="rtl"] .ab-owner{font-size:14.5px;line-height:1.95}

  /* what the team ships and what it deploys */
  .ab-deliv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin-top:30px;
    border-top:1px solid var(--head)}
  .ab-dcell{padding:24px 0 0}
  .ab-dcell b{display:block;font-family:var(--disp);font-weight:500;font-size:17px;color:var(--head);letter-spacing:-.014em}
  .ab-dcell p{margin:8px 0 0;font-size:15px;line-height:1.7;color:var(--slate);text-align:start;hyphens:none}
  html[dir="rtl"] .ab-dcell b{font-family:var(--disp-ar);font-weight:600;font-size:18px;letter-spacing:0}
  html[dir="rtl"] .ab-dcell p{font-size:15px;line-height:1.95}

  /* corporate statement, last before the ask */
  .ab-corp{background:#fff;padding:0 0 88px}
  .ab-corp .ab-owner{margin:0;padding-top:26px}
  @media(max-width:760px){.ab-deliv{grid-template-columns:1fr;gap:0}.ab-dcell + .ab-dcell{border-top:1px solid var(--line);margin-top:24px}}

  /* #enterprise is repainted as a light section, so the two elements that kept
     their on-dark colors need the light-ground treatment. */
  #enterprise .btn-navy{background:var(--navy);color:#fff}
  #enterprise .btn-navy:hover{background:var(--spark-ink);color:#fff}
  #enterprise .ent-bridge a{color:var(--spark-ink)}
  #enterprise .ent-bridge a:hover{color:var(--spark-deep)}

  /* "Where it started": a soft watermark of the search bar the company began as,
     with query words suspended above it. Decorative only. */
  .ab-begin{position:relative;overflow:hidden}
  .ab-begin .wrap{position:relative}
  .ab-wm{position:absolute;z-index:0;pointer-events:none;color:var(--head);opacity:.07;
    width:420px;height:260px;inset-inline-end:-26px;top:50%;transform:translateY(-50%)}
  html[dir="rtl"] .ab-wm{transform:translateY(-50%) scaleX(-1)}
  .ab-wm .ab-wm-t{stroke-dasharray:3 7;opacity:.75}
  .ab-wm .ab-wm-w{opacity:.85}
  .ab-begin .ab-thead{position:relative;z-index:1}
  @media(max-width:1180px){.ab-wm{opacity:.05;inset-inline-end:-90px}}
  @media(max-width:900px){.ab-wm{display:none}}

  /* stat icons scale with the numeral beside them instead of sitting at a fixed 20px */
  .ab-num .ab-nic{width:clamp(24px,2.7vw,33px);height:clamp(24px,2.7vw,33px);opacity:.55}
  .ab-nrow{gap:14px}
  html[dir="rtl"] .ab-num .ab-nic{width:clamp(22px,2.3vw,28px);height:clamp(22px,2.3vw,28px)}

  /* what this submission is for, stated at the head of the form */
  form.qform .qf-note{grid-column:1/-1;margin:0 0 4px;padding:12px 14px;background:var(--alt);
    border-inline-start:2px solid var(--spark-ink);font-size:14px;line-height:1.6;color:var(--head);text-align:start}
  /* a partner or enterprise enquiry needs room to describe the requirement */
  form.qform.is-detailed #LEADCF1{display:block}

  /* About / evolution: what we build and run, as one strip rather than a product shot */
  .ab-strip{margin-top:54px;padding-top:26px;border-top:1px solid rgba(143,208,255,.24)}
  .ab-strip-lab{display:block;font-family:var(--disp);font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--spark)}
  html[dir="rtl"] .ab-strip-lab{font-family:var(--disp-ar);font-size:13px;letter-spacing:0;text-transform:none}
  .ab-strip-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:20px}
  .ab-scell{padding:18px 18px 18px 0;border-inline-start:1px solid rgba(143,208,255,.18)}
  .ab-scell:first-child{border-inline-start:0;padding-inline-start:0}
  .ab-scell:not(:first-child){padding-inline-start:18px}
  .ab-scell b{display:block;font-family:var(--disp);font-weight:500;font-size:15px;line-height:1.35;color:#fff;letter-spacing:-.01em}
  .ab-scell em{display:block;margin-top:8px;font-family:var(--disp);font-style:normal;font-size:10.5px;
    letter-spacing:.14em;text-transform:uppercase;color:rgba(196,222,255,.62)}
  html[dir="rtl"] .ab-scell b{font-family:var(--disp-ar);font-weight:600;font-size:15.5px;letter-spacing:0}
  html[dir="rtl"] .ab-scell em{font-family:var(--disp-ar);font-size:12.5px;letter-spacing:0;text-transform:none}
  @media(max-width:900px){.ab-strip-row{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ab-scell:nth-child(3n+1){border-inline-start:0;padding-inline-start:0}
    .ab-scell:nth-child(n+4){border-top:1px solid rgba(143,208,255,.18)}}
  @media(max-width:560px){.ab-strip-row{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ab-scell{padding-block:14px}
    .ab-scell:nth-child(3n+1){border-inline-start:1px solid rgba(143,208,255,.18);padding-inline-start:18px}
    .ab-scell:nth-child(odd){border-inline-start:0;padding-inline-start:0}}

  /* About hero: lighter than the other bands — the photograph carries it, the
     navy only anchors the type at top and bottom. */
  .ab-hero{background-color:#12406f;background-position:center 32%}
  .ab-hero::before{background:linear-gradient(180deg,rgba(6,16,34,.46) 0%,rgba(8,26,52,.14) 30%,rgba(10,32,62,.06) 58%,rgba(10,30,58,.24) 100%)}
  .ab-hero::after{opacity:.03}
  .ab-hero .stars{opacity:.4}
  .ab-hero .ab-ideas{border-top-color:rgba(214,236,255,.34)}
  .ab-hero .ab-idea + .ab-idea{border-inline-start-color:rgba(214,236,255,.28)}

  /* ------------------------------------------------------------ policy dialog
     A document read over the page. Prose styling comes from the .legal rules in
     legal.css, which the panel body carries. */
  .doc-modal{position:fixed;inset:0;z-index:1800;display:none;align-items:center;justify-content:center;padding:28px}
  .doc-modal.on{display:flex}
  .doc-modal-back{position:absolute;inset:0;background:rgba(6,16,34,.62)}
  .doc-modal-panel{position:relative;display:flex;flex-direction:column;width:760px;max-width:100%;
    max-height:88vh;background:#fff;box-shadow:0 40px 90px rgba(4,20,38,.45)}
  .doc-modal-head{display:flex;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line)}
  .doc-modal-head b{flex:1;font-family:var(--disp);font-weight:500;font-size:17px;color:var(--head)}
  html[dir="rtl"] .doc-modal-head b{font-family:var(--disp-ar);font-weight:600}
  .doc-modal-full{font-family:var(--disp);font-size:13px;color:var(--spark-ink);text-decoration:underline}
  .doc-modal-full:hover{color:var(--spark-deep)}
  html[dir="rtl"] .doc-modal-full{font-family:var(--disp-ar);font-size:14px}
  .doc-modal-x{flex:none;width:34px;height:34px;display:grid;place-items:center;color:var(--slate);cursor:pointer}
  .doc-modal-x:hover{color:var(--head)}
  .doc-modal-x svg{width:19px;height:19px}
  .doc-modal-body{overflow-y:auto;padding:26px 30px 34px;-webkit-overflow-scrolling:touch}
  .doc-modal-body h2:first-child{margin-top:0}
  .doc-modal-load{color:var(--muted)}
  @media(max-width:600px){.doc-modal{padding:0}.doc-modal-panel{max-height:100vh;height:100%}
    .doc-modal-body{padding:20px 20px 28px}}

  /* ------------------------------------------------------------------ footer
     Four columns: the brand, the site map (the header, in full), the solutions,
     and how to reach us. The mark prints white here — the yellow is reserved
     for the header, where it sits on the photograph. */
  .foot-grid{grid-template-columns:1.5fr 1fr 1.2fr 1.1fr}
  .foot-logo img{height:30px}
  .foot-reachcol .foot-rblock{margin-bottom:20px}
  .foot-reachcol .foot-rblock:last-child{margin-bottom:0}
  .foot-rblock span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    font-family:var(--disp);color:rgba(233,241,251,.42);margin-bottom:7px}
  html[dir="rtl"] .foot-rblock span{font-family:var(--disp-ar);font-size:12.5px;letter-spacing:0;text-transform:none}
  .foot-rblock a{font-size:14.5px;color:rgba(233,241,251,.92)}
  .foot-rblock a:hover{color:#fff}
  .foot-rblock p{margin:0;font-size:14px;line-height:1.7;color:rgba(233,241,251,.72)}
  .foot-rblock em{display:block;margin-top:6px;font-style:normal;font-size:13px;color:var(--spark)}
  @media(max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
  @media(max-width:560px){.foot-grid{grid-template-columns:1fr}.foot-brand{grid-column:auto}}

  /* three bases now: what we ship, what we deploy, and how we support it */
  .ab-deliv{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 44px}
  @media(max-width:760px){.ab-deliv{grid-template-columns:1fr}}

  /* ------------------------------------------------------ CTA button system
     One pair everywhere, so the calls to action read the same on every page.
     On a dark band: primary = the navy gradient used in the hero, secondary =
     outlined white. On a light band: primary = solid navy. Nothing is black. */
  .ab-cbtns .btn-white,.error-cta .btn-white,.cta .btn-white,#cta .btn-navy{
    color:#fff;border-color:rgba(143,208,255,.42);
    background:linear-gradient(135deg,#1d5c93 0%,#123f68 52%,#0c2b4a 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 26px rgba(6,22,44,.4)}
  .ab-cbtns .btn-white:hover,.error-cta .btn-white:hover,.cta .btn-white:hover,#cta .btn-navy:hover{
    background:linear-gradient(135deg,#2470b0 0%,#164a78 52%,#0f3457 100%);
    border-color:rgba(143,208,255,.7);transform:translateY(-1px)}
  .ab-cbtns .btn-ghost-dark,.error-cta .btn-ghost-dark,.cta .btn-ghost-dark{
    background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}
  .ab-cbtns .btn-ghost-dark:hover,.error-cta .btn-ghost-dark:hover,.cta .btn-ghost-dark:hover{
    background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
  /* light grounds: navy fill, never the near-black ink */
  /* light grounds: the same navy gradient as the CTA buttons, never flat near-black */
  .ab-pbody .btn-navy,.ab-ebtn{color:#fff;border-color:transparent;
    background:linear-gradient(135deg,#1d5c93 0%,#123f68 52%,#0c2b4a 100%);
    box-shadow:0 10px 26px rgba(6,22,44,.22)}
  .ab-pbody .btn-navy:hover,.ab-ebtn:hover{color:#fff;
    background:linear-gradient(135deg,#2470b0 0%,#164a78 52%,#0f3457 100%);transform:translateY(-1px)}
  #enterprise .btn-navy{background:var(--navy);color:#fff;border-color:transparent}
  #enterprise .btn-navy:hover{background:var(--spark-ink);color:#fff}
  /* the form's own submit matches the primary on its dark band */
  #cta form.qform input[type="submit"]{background:var(--navy);color:#fff}
  #cta form.qform input[type="submit"]:hover{background:var(--spark-ink)}

  /* ---------------------------------------------------------- demo dialog
     The dialog shows the page's own full form (it is moved in and out), so the
     card is wide enough for it and the form drops to a single column inside. */
  .demo-card{width:560px}
  #demoSlot form.qform{grid-template-columns:1fr;padding:0;background:none;border:0;box-shadow:none;margin:0}
  #demoSlot form.qform .ffull{grid-column:auto}
  #demoSlot form.qform .qf-note{margin-bottom:8px}
  @media(max-width:620px){.demo-card{width:100%}}

  .demo-back{position:fixed;inset:0;z-index:1600;background:rgba(8,24,44,.55);
    display:none;align-items:center;justify-content:center;padding:24px}
  .demo-back.on{display:flex}
  .demo-card{max-width:100%;max-height:90vh;overflow:auto;background:#fff;border-radius:10px;
    box-shadow:0 26px 64px rgba(8,28,52,.3);padding:26px}
  .demo-head{display:flex;align-items:flex-start;gap:16px}
  .demo-t{flex:1;font-family:var(--disp);font-weight:500;font-size:20px;color:var(--head)}
  html[dir="rtl"] .demo-t{font-family:var(--disp-ar);font-weight:600}
  .demo-x{flex:none;width:32px;height:32px;font-size:26px;line-height:1;color:var(--muted);cursor:pointer}
  .demo-x:hover{color:var(--head)}
  .demo-sub{margin:8px 0 20px;font-size:14.5px;line-height:1.6;color:var(--slate)}

  /* Every form says why it asks for what it asks for. */
  form.qform .qf-lead{grid-column:1/-1;margin:0 0 6px;font-size:13.5px;line-height:1.6;
    color:var(--slate);text-align:start}
  html[dir="rtl"] form.qform .qf-lead{font-size:13.5px;line-height:1.85}

  /* the enterprise action on the light band: the same navy gradient as the CTA
     buttons, so it reads blue rather than near-black */
  #enterprise .btn-navy{border-color:transparent;
    background:linear-gradient(135deg,#1d5c93 0%,#123f68 52%,#0c2b4a 100%);color:#fff}
  #enterprise .btn-navy:hover{
    background:linear-gradient(135deg,#2470b0 0%,#164a78 52%,#0f3457 100%);color:#fff}

  /* ---- 04 Enterprise: dark band, flush left ----------------------------------
     Security by Design follows it with the same centred head on a light ground,
     so this one returns to the deep navy it was built for and sets its type
     flush left. The two sections now differ in ground, alignment and rhythm. */
  #enterprise{background:radial-gradient(120% 90% at 82% 6%,#2a6b96 0%,rgba(42,107,150,0) 56%),
      radial-gradient(90% 70% at 10% 92%,#0d3450 0%,rgba(13,52,80,0) 62%),
      linear-gradient(162deg,#124a70 0%,#0f3d61 44%,#0b2c48 100%);color:#fff}
  #enterprise .wrap.center{text-align:start}
  #enterprise .eyebrow,#enterprise .eyebrow span,#enterprise .h2{color:#fff}
  #enterprise .eyebrow em,#enterprise .h2 .serif-i{color:var(--spark)}
  #enterprise .trule{background:var(--spark);margin-inline:0}
  #enterprise .lead{color:rgba(226,238,252,.82);margin-inline:0;max-width:62ch}
  #enterprise .chnum{color:rgba(255,255,255,.06)}
  #enterprise .ent-bridge{text-align:start;color:rgba(226,238,252,.7)}
  #enterprise .ent-bridge a{color:var(--spark)}
  #enterprise .ent-bridge a:hover{color:#fff}
  #enterprise .center{text-align:start}
  #enterprise .btn-navy{background:#fff;color:var(--navy);border-color:transparent}
  #enterprise .btn-navy:hover{background:#eaf2ff;color:var(--navy)}

  /* security pillars: the icon sits on the card, not in a tinted tile */
  #secure .pil .ic{width:auto;height:auto;background:none;border-radius:0;display:block;margin:0 0 14px}
  #secure .pil .ic svg{width:22px;height:22px}

  /* the bridge line is now the section's action: flush left with the head above it */
  #enterprise .ent-bridge{margin:36px 0 0;text-align:start;font-size:15.5px;line-height:1.7}
  #enterprise .ent-bridge a{text-decoration:underline;text-underline-offset:3px}
  html[dir="rtl"] #enterprise .ent-bridge{font-size:15.5px;line-height:1.9}

  /* the form panel is tightened proportionally — same layout, less bulk */
  form.qform{padding:24px;gap:12px}
  form.qform input,form.qform select,form.qform textarea{padding:11px 13px;font-size:15px;border-radius:10px}
  form.qform textarea{min-height:84px}
  form.qform button,form.qform input[type="submit"]{padding:12px 22px;font-size:15px}
  .cta-form-h{margin-bottom:14px}
  .cta-form-h b{font-size:18px}
  form.qform .qf-lead{margin:0 0 4px;font-size:13px;line-height:1.55}
  @media(max-width:560px){form.qform{padding:20px}}

  /* the section is flush left: the lead and the rule must follow the head */
  #enterprise .wrap.center .lead{text-align:start;margin-inline:0;max-width:60ch}
  #enterprise .wrap.center .trule{margin-inline-start:0;margin-inline-end:auto}
  #enterprise .wrap.center .h2{text-align:start}
  html[dir="rtl"] #enterprise .wrap.center .lead{max-width:64ch}

  /* security pillars follow the research-features pattern: the icon sits on the
     title's line, in the site's standard icon blue. */
  #secure .pil{display:grid;grid-template-columns:auto 1fr;column-gap:11px;row-gap:8px;align-items:center}
  #secure .pil .ic{grid-column:1;grid-row:1;width:auto;height:auto;margin:0;
    background:none;border:0;border-radius:0;box-shadow:none;color:var(--spark-deep)}
  #secure .pil .ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9}
  #secure .pil b{grid-column:2;grid-row:1;line-height:1.25}
  #secure .pil em{grid-column:1/-1;grid-row:2;margin-top:0}
  /* the flush-left rule must grow from its left edge, not its centre */
  #enterprise .wrap.center .trule{transform-origin:left center}
  html[dir="rtl"] #enterprise .wrap.center .trule{transform-origin:right center}

  /* "Where it started": softer ground than the standard tint, with the watermark
     brought up so it reads as a background graphic rather than a smudge. */
  .ab-begin.sec.tint{background:#fbfcfd}
  .ab-begin::before{content:"";position:absolute;z-index:0;pointer-events:none;
    inset-inline-end:-140px;top:-90px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(63,134,207,.09) 0%,rgba(63,134,207,0) 68%)}
  .ab-begin::after{content:"";position:absolute;z-index:0;pointer-events:none;
    inset-inline-start:-180px;bottom:-200px;width:460px;height:460px;border-radius:50%;
    background:radial-gradient(circle,rgba(143,208,255,.14) 0%,rgba(143,208,255,0) 66%)}
  .ab-wm{opacity:.12;width:520px;height:322px;color:var(--spark-ink);inset-inline-end:-56px}
  @media(max-width:1180px){.ab-wm{opacity:.08;inset-inline-end:-120px}}

  /* each stage of the journey carries its own mark, left of the year */
  .ab-tl li{grid-template-columns:20px 52px minmax(0,1fr);gap:0 14px;align-items:center}
  .ab-tlic{display:block;width:20px;height:20px;color:var(--spark);opacity:.85}
  .ab-tlic svg{width:100%;height:100%}
  @media(max-width:1080px){.ab-tl li{grid-template-columns:18px 46px minmax(0,1fr);gap:0 11px}
    .ab-tlic{width:18px;height:18px}}

  /* ---- About / team and capacity, rebuilt ------------------------------------
     One head, one numbered row of what the team does, one roster of disciplines.
     The three stacked grids the section used before are gone; the figures now
     ride under the heading as a meta line rather than as display numerals. */
  .ab-team{background:#fff;padding:88px 0 96px}
  .ab-team-head{max-width:760px}
  .ab-team-head .ab-h2{margin-top:12px}
  .ab-team-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:20px 0 0}
  .ab-team-meta span{font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:.06em;
    text-transform:uppercase;color:var(--head)}
  .ab-team-meta span + span{margin-inline-start:16px;padding-inline-start:16px;
    border-inline-start:1px solid var(--line)}
  html[dir="rtl"] .ab-team-meta span{font-family:var(--disp-ar);font-size:14.5px;letter-spacing:0;text-transform:none}
  .ab-team-lead{margin:18px 0 0;max-width:62ch;font-size:16.5px;line-height:1.8;color:var(--slate);
    text-align:start;hyphens:none}
  html[dir="rtl"] .ab-team-lead{font-size:16px;line-height:2;max-width:66ch}

  .ab-cap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;margin-top:52px}
  .ab-cap-cell{padding:20px 0 0;border-top:2px solid var(--head)}
  .ab-cap-n{display:block;font-family:var(--disp);font-weight:400;font-size:12px;letter-spacing:.16em;
    color:var(--spark-deep);font-variant-numeric:tabular-nums;margin-bottom:12px}
  .ab-cap-cell b{display:block;font-family:var(--disp);font-weight:500;font-size:18px;color:var(--head);
    letter-spacing:-.015em;line-height:1.3}
  .ab-cap-cell p{margin:9px 0 0;font-size:15px;line-height:1.7;color:var(--slate);text-align:start;hyphens:none}
  html[dir="rtl"] .ab-cap-cell b{font-family:var(--disp-ar);font-weight:600;font-size:19px;letter-spacing:0}
  html[dir="rtl"] .ab-cap-cell p{font-size:15px;line-height:1.95}

  .ab-roster{margin-top:64px}
  .ab-roster-lab{display:block;font-family:var(--disp);font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  html[dir="rtl"] .ab-roster-lab{font-family:var(--disp-ar);font-size:13px;letter-spacing:0;text-transform:none}
  .ab-roster dl{margin:0;border-top:1px solid var(--line)}
  .ab-rrow{display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:0 40px;
    padding:18px 0;border-bottom:1px solid var(--line)}
  .ab-rrow dt{font-family:var(--disp);font-weight:500;font-size:16px;color:var(--head);letter-spacing:-.012em}
  .ab-rrow dd{margin:0;font-size:15px;line-height:1.7;color:var(--slate);text-align:start;hyphens:none}
  html[dir="rtl"] .ab-rrow dt{font-family:var(--disp-ar);font-weight:600;font-size:17px;letter-spacing:0}
  html[dir="rtl"] .ab-rrow dd{font-size:15px;line-height:1.95}

  @media(max-width:900px){
    .ab-cap{grid-template-columns:1fr;gap:0}
    .ab-cap-cell{margin-top:22px}
    .ab-cap-cell:first-child{margin-top:0}
  }
  @media(max-width:620px){
    .ab-team{padding:64px 0 72px}
    .ab-roster{margin-top:48px}
    .ab-rrow{grid-template-columns:1fr;gap:6px}
  }

  /* the contact form inside the dialog: single column, no panel of its own */
  .form-modal .doc-modal-panel{width:620px}
  .form-modal .doc-modal-body{padding:22px 26px 30px}
  .form-modal form.qform{grid-template-columns:1fr;padding:0;background:none;border:0;box-shadow:none;margin:0}
  .form-modal form.qform .ffull{grid-column:auto}
  .form-modal form.qform .fine{margin-top:6px}

  /* solutions and subscriptions heads: the second line takes the site's light
     accent blue, as on every other dark band */
  #solHead .h2 .serif-i{color:var(--spark)}

  /* the enquiry band gets its own ground so it reads as a separate act from the
     three columns above it: a soft blue tint, one bloom behind the copy, and the
     form lifted onto white. */
  /* the enquiry band uses the site's own soft ground: no tinted gradient, no blooms */
  .sub-ask{position:relative;padding:60px 0 108px;background:#fafbfc}
  .sub-ask .wrap{position:relative;z-index:1}
  .sub-ask .sub-grid{border-top:1px solid var(--line);padding-top:44px}
  .sub-ask .sub-h{color:var(--navy);margin-top:10px}
  .sub-ask .sub-copy .ab-eb2{color:var(--spark-deep)}
  .sub-ask .sub-copy p{color:var(--slate)}
  .sub-ask .sub-copy .sub-p1{color:#3c4351;font-weight:500}
  .sub-ask .sub-note{padding-top:16px;border-top:1px solid var(--line);color:var(--muted)}
  .sub-ask .cta-form{position:relative;overflow:hidden;border:0;color:#fff;
    background:
      radial-gradient(120% 90% at 88% 4%,rgba(74,154,214,.42) 0%,rgba(74,154,214,0) 58%),
      radial-gradient(100% 80% at 4% 100%,rgba(11,32,58,.55) 0%,rgba(11,32,58,0) 62%),
      linear-gradient(160deg,#164a70 0%,#123f68 52%,#0f3457 100%);
    box-shadow:0 18px 40px rgba(15,42,99,.16)}
  .sub-ask .cta-form::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(200deg,rgba(143,208,255,.16) 0%,rgba(143,208,255,0) 38%)}
  .sub-ask .cta-form > *{position:relative;z-index:1}
  .sub-ask .cta-form-h{border-bottom-color:rgba(255,255,255,.16)}
  .sub-ask .cta-form-h b{color:#fff}
  .sub-ask .cta-form .qf-lead{color:rgba(226,238,252,.78)}
  .sub-ask .cta-form form.qform input,
  .sub-ask .cta-form form.qform select,
  .sub-ask .cta-form form.qform textarea{background-color:rgba(255,255,255,.07);
    border-color:rgba(255,255,255,.2);color:#fff}
  .sub-ask .cta-form form.qform input::placeholder,
  .sub-ask .cta-form form.qform textarea::placeholder{color:rgba(210,228,248,.62)}
  .sub-ask .cta-form form.qform select{color:rgba(210,228,248,.72);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a8c8e8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
  html[dir="rtl"] .sub-ask .cta-form form.qform select{background-position:left 14px center}
  html[dir="rtl"] .sub-ask .cta-form form.qform #countryCodeSelect{background-position:left 11px center}
  .sub-ask .cta-form form.qform select option{color:var(--head);background:#fff}
  .sub-ask .cta-form form.qform input:focus,
  .sub-ask .cta-form form.qform select:focus,
  .sub-ask .cta-form form.qform textarea:focus{border-color:var(--spark);
    background-color:rgba(255,255,255,.12);box-shadow:0 0 0 3px rgba(143,208,255,.2)}
  .sub-ask .cta-form form.qform input[type="submit"]{background:#fff;color:var(--navy);
    box-shadow:none}
  .sub-ask .cta-form form.qform input[type="submit"]:hover{background:var(--soft);
    color:var(--navy);box-shadow:0 8px 22px rgba(3,14,30,.2)}

  /* ---------- Subscriptions: value, philosophy, objections --------------------
     The page argues in four moves: how price is thought about, what a price is
     built from, what to measure, and what people ask before they commit. Grounds
     alternate so no two adjacent sections read the same. */
  .sub-hlead{margin-top:22px;max-width:64ch;color:rgba(226,238,252,.86)}
  html[dir="rtl"] .sub-hlead{font-size:16.5px;line-height:2;max-width:68ch}
  .sub-head{max-width:720px;margin-bottom:44px}
  .sub-head .ab-h2,.sub-head .vm-h{margin-top:12px}

  /* pricing philosophy — numbered rows on a soft ground */
  .sub-phil{background:#fbfcfd;padding:84px 0}
  .phil-rows{border-top:1px solid var(--line)}
  .phil-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 20px;
    padding:26px 0;border-bottom:1px solid var(--line)}
  .phil-n{font-family:var(--disp);font-weight:400;font-size:12px;letter-spacing:.16em;
    color:var(--spark-deep);font-variant-numeric:tabular-nums;padding-top:5px}
  .phil-row b{display:block;font-family:var(--disp);font-weight:500;font-size:19px;color:var(--head);
    letter-spacing:-.016em;line-height:1.3}
  .phil-row p{margin:9px 0 0;max-width:70ch;font-size:15.5px;line-height:1.75;color:var(--slate);
    text-align:start;hyphens:none}
  html[dir="rtl"] .phil-row b{font-family:var(--disp-ar);font-weight:600;font-size:20px;letter-spacing:0}
  html[dir="rtl"] .phil-row p{font-size:15.5px;line-height:1.95}

  /* what to measure — the navy gradient band, same family as the enterprise panel
     and the quote button */
  .sub-value{position:relative;padding:88px 0 96px;color:#fff;
    background:linear-gradient(160deg,#164a70 0%,#123f68 52%,#0f3457 100%)}
  .sub-value .wrap{position:relative;z-index:1}
  .vm-h{font-family:var(--disp);font-weight:400;font-size:clamp(25px,3.2vw,38px);line-height:1.2;
    letter-spacing:-.024em;color:#fff}
  html[dir="rtl"] .vm-h{font-family:var(--disp-ar);font-weight:600;font-size:clamp(21px,2.5vw,30px);
    line-height:1.5;letter-spacing:0}
  .sub-value .ab-eb3{color:var(--spark)}
  .vm-lead{margin:18px 0 0;max-width:62ch;font-size:16.5px;line-height:1.8;
    color:rgba(226,238,252,.82);text-align:start;hyphens:none}
  html[dir="rtl"] .vm-lead{font-size:16px;line-height:2}
  .vm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;
    border-top:1px solid rgba(255,255,255,.18)}
  .vm-cell{padding:26px 0 30px;border-bottom:1px solid rgba(255,255,255,.12)}
  .vm-ic{display:block;width:22px;height:22px;margin-bottom:14px;color:var(--spark)}
  .vm-ic svg{width:100%;height:100%;display:block}
  .vm-cell b{display:block;font-family:var(--disp);font-weight:500;font-size:16.5px;color:#fff;letter-spacing:-.012em}
  .vm-cell p{margin:9px 0 0;font-size:14.5px;line-height:1.7;color:rgba(226,238,252,.74);text-align:start;hyphens:none}
  html[dir="rtl"] .vm-cell b{font-family:var(--disp-ar);font-weight:600;font-size:17.5px;letter-spacing:0}
  html[dir="rtl"] .vm-cell p{font-size:14.5px;line-height:1.95}

  /* questions we are asked */
  .sub-obj{background:#fff;padding:84px 0}
  .obj-list{margin:0;border-top:1px solid var(--line)}
  .obj-row{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:0 44px;
    padding:24px 0;border-bottom:1px solid var(--line)}
  .obj-row dt{font-family:var(--disp);font-weight:500;font-size:17px;color:var(--head);
    letter-spacing:-.014em;line-height:1.35}
  .obj-row dd{margin:0;font-size:15.5px;line-height:1.75;color:var(--slate);text-align:start;hyphens:none}
  html[dir="rtl"] .obj-row dt{font-family:var(--disp-ar);font-weight:600;font-size:18px;letter-spacing:0;line-height:1.6}
  html[dir="rtl"] .obj-row dd{font-size:15.5px;line-height:1.95}

  @media(max-width:1000px){.vm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}}
  @media(max-width:720px){
    .sub-phil,.sub-obj{padding:60px 0}
    .sub-value{padding:64px 0 68px}
    .vm-grid{grid-template-columns:1fr;gap:0}
    .phil-row{grid-template-columns:36px minmax(0,1fr);gap:0 14px}
    .obj-row{grid-template-columns:1fr;gap:8px}
  }

  /* Inside the narrow enquiry card the two-column grid leaves a select's content
     box too small for its own label ("Organization Size" clipped), so the form
     runs single-column there — Arabic labels are longer still. */
  .cta-form form.qform{grid-template-columns:1fr}
  .cta-form form.qform .ffull{grid-column:auto}

  /* Usage and tokens — set apart from the philosophy rows above it, because it is
     the one thing a buyer new to AI pricing has to understand before a figure
     makes sense. */
  /* the label column was dropped with the philosophy rows: the body is now the
     only child, so it spans the section and needs no rule above it */
  .tok{display:block;margin-top:0;padding-top:0;border-top:0}
  .tok-h{margin:12px 0 0;font-family:var(--disp);font-weight:500;font-size:clamp(20px,2.1vw,25px);
    line-height:1.28;letter-spacing:-.018em;color:var(--head)}
  html[dir="rtl"] .tok-h{font-family:var(--disp-ar);font-weight:600;font-size:clamp(18px,1.8vw,22px);
    line-height:1.55;letter-spacing:0}
  .tok-body p{margin:0;max-width:72ch;font-size:15.5px;line-height:1.8;color:var(--slate);
    text-align:start;hyphens:none}
  .tok-body p + p{margin-top:14px}
  html[dir="rtl"] .tok-body p{font-size:15.5px;line-height:2}

  /* ---- About / team ----------------------------------------------------------
     Soft grey ground, and the ruled grid is the graphic: the figures sit in a navy
     panel of equal cells divided by rules, and the capability cells and roster
     rows below hang off the same vertical structure. No cards, no blooms. */
  .ab-team{position:relative;background:#fafbfc;padding:88px 0 96px}
  .ab-team .wrap{position:relative;z-index:1}
  .ab-team-head{max-width:760px}
  .ab-team-lead{margin-top:18px}

  .ab-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:44px;
    background:linear-gradient(160deg,#164a70 0%,#123f68 52%,#0f3457 100%);color:#fff}
  .ab-fig{padding:30px 26px 32px;border-inline-start:1px solid rgba(255,255,255,.16)}
  .ab-fig:first-child{border-inline-start:0}
  .ab-fig b{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(34px,4vw,48px);
    line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
  .ab-fig span{display:block;margin-top:12px;font-family:var(--disp);font-weight:500;font-size:12px;
    letter-spacing:.11em;text-transform:uppercase;color:var(--spark);line-height:1.5}
  html[dir="rtl"] .ab-fig b{font-family:var(--disp);letter-spacing:0}
  html[dir="rtl"] .ab-fig span{font-family:var(--disp-ar);font-weight:600;font-size:14px;
    letter-spacing:0;text-transform:none}

  .ab-cap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:56px;
    border-top:1px solid var(--line)}
  .ab-cap-cell{padding:22px 28px 8px 0;background:none;border:0;box-shadow:none;
    border-inline-start:1px solid var(--line);padding-inline-start:28px}
  .ab-cap-cell:first-child{border-inline-start:0;padding-inline-start:0}
  .ab-cap-cell:hover{transform:none;box-shadow:none}
  .ab-cap-n{display:block;width:auto;height:auto;margin-bottom:14px;background:none;
    font-family:var(--disp);font-weight:400;font-size:12px;letter-spacing:.16em;
    color:var(--spark-deep);font-variant-numeric:tabular-nums}

  /* the disciplines sit on their own white field so the list reads as a block,
     and each row is marked by an icon rather than by type alone */
  .ab-roster{margin-top:60px;background:#fff;border:1px solid var(--line);padding:26px 28px 8px}
  .ab-roster dl{border-top:1px solid var(--line);margin-top:14px}
  .ab-rrow{position:relative;padding:18px 0;border-bottom:1px solid var(--line);transition:.18s;align-items:start}
  .ab-rrow:last-child{border-bottom:0}
  .ab-rrow:hover{background:none}
  .ab-rrow dt{display:flex;align-items:center;gap:12px;color:var(--head)}
  .ab-ric{flex:none;display:grid;place-items:center;width:30px;height:30px;
    background:var(--alt);color:var(--spark-deep)}
  .ab-ric svg{width:16px;height:16px}
  @media(max-width:620px){.ab-roster{padding:22px 20px 6px}}

  @media(max-width:1000px){
    .ab-figs{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ab-fig:nth-child(3){border-inline-start:0;border-top:1px solid rgba(255,255,255,.16)}
  }
  @media(max-width:900px){
    .ab-cap{grid-template-columns:1fr}
    .ab-cap-cell{padding:20px 0 4px;border-inline-start:0;padding-inline-start:0}
    .ab-cap-cell + .ab-cap-cell{border-top:1px solid var(--line);margin-top:0;padding-top:20px}
  }
  @media(max-width:620px){
    .ab-figs{grid-template-columns:1fr}
    .ab-fig{border-inline-start:0;padding:24px 22px 26px}
    .ab-fig + .ab-fig{border-top:1px solid rgba(255,255,255,.16)}
  }

  /* each office is marked by its dial code, which distinguishes them; a repeated
     map pin did not. */
  .ab-ocode{display:block;margin-bottom:10px;font-family:var(--disp);font-weight:500;font-size:12.5px;
    letter-spacing:.1em;color:var(--spark-deep);font-variant-numeric:tabular-nums;unicode-bidi:isolate}
  .ab-offc.is-hq .ab-ocode{color:var(--spark)}
  .ab-offc.is-soon .ab-ocode{color:var(--muted)}
  html[dir="rtl"] .ab-ocode{font-family:var(--disp)}

  /* About hero: a shorter band — the ideas row already closes it, so the top
     padding and the gap above the rule carry less air. */
  .ab-hero{padding:112px 0 0}
  .ab-hero .ab-ideas{margin-top:36px;padding:24px 0 30px}
  @media(max-width:620px){.ab-hero{padding:96px 0 0}.ab-hero .ab-ideas{margin-top:26px;padding:20px 0 24px}}


  /* ---------------------------------------------------------- enterprise band
     04 sat directly under the navy assistants section, so two dark bands ran
     together and the chapter read as heavier than it is. It returns to the
     light ground and keeps the navy for its action only. */
  #enterprise{padding:76px 0 80px;color:var(--head);
    background:linear-gradient(168deg,#fafbfc 0%,#f4f6f8 62%,#eef1f4 100%)}
  #enterprise::before,#enterprise::after{content:"";position:absolute;z-index:0;
    pointer-events:none;border-radius:50%}
  #enterprise::before{inset-inline-end:-170px;top:-140px;width:540px;height:540px;
    background:radial-gradient(circle,rgba(84,99,126,.09) 0%,rgba(84,99,126,0) 68%)}
  #enterprise::after{inset-inline-start:-190px;bottom:-210px;width:470px;height:470px;
    background:radial-gradient(circle,rgba(132,148,176,.14) 0%,rgba(132,148,176,0) 66%)}
  #enterprise .wrap{position:relative;z-index:1}
  #enterprise .eyebrow,#enterprise .eyebrow span,#enterprise .h2{color:var(--head)}
  #enterprise .eyebrow em,#enterprise .h2 .serif-i{color:var(--spark-deep)}
  #enterprise .trule{background:var(--spark-deep)}
  #enterprise .lead{color:var(--slate)}
  #enterprise .chnum{color:rgba(13,31,61,.05)}
  #enterprise .ent-bridge{color:var(--slate)}
  #enterprise .ent-bridge a{color:var(--spark-ink)}
  #enterprise .ent-bridge a:hover{color:var(--spark-deep)}
  #enterprise .btn-navy{border-color:transparent;color:#fff;
    background:linear-gradient(135deg,#1d5c93 0%,#123f68 52%,#0c2b4a 100%)}
  #enterprise .btn-navy:hover{color:#fff;
    background:linear-gradient(135deg,#2470b0 0%,#164a78 52%,#0f3457 100%)}


  /* ---------------------------------------------------------- homepage polish
     Body copy is flush left site-wide (the justified setting opened rivers at
     these measures). The rest tidies what that exposed. */

  /* the logo marquee clipped mid-word at both edges: fade it out instead */
  .cmarq{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}

  /* security section: flush left like every other chapter, cards on one line */
  #secure .wrap.center{text-align:start}
  #secure .wrap.center .h2,#secure .wrap.center .lead{text-align:start}
  #secure .wrap.center .lead{margin-inline:0;max-width:64ch}
  #secure .wrap.center .trule{margin-inline-start:0;margin-inline-end:auto;
    transform-origin:left center}
  html[dir="rtl"] #secure .wrap.center .trule{transform-origin:right center}
  #secure .pillars{align-items:stretch}
  #secure .pil{height:100%}

  /* the homepage enquiry form was the heaviest element on the page */
  #cta .cta-form{max-width:440px;margin-inline-start:auto}
  #cta form.qform{padding:22px;gap:10px}
  #cta form.qform input,#cta form.qform select,#cta form.qform textarea{
    padding:10px 13px;font-size:14px}
  #cta form.qform textarea{min-height:72px}
  #cta form.qform button,#cta form.qform input[type="submit"]{padding:12px 20px;font-size:14.5px}
  #cta .cta-form-h b{font-size:17px}
  #cta .qf-lead{font-size:12.5px;line-height:1.6}
  @media(max-width:900px){#cta .cta-form{max-width:none;margin-inline-start:0}}


  /* ---------------------------------------------------------- nav actions
     The language toggle is a utility and the sign-in is the terminal action,
     so on desktop AR sits before it. Sign-in becomes a pill so it reads as an
     action rather than a fifth nav link. */
  @media(min-width:901px){
    .nav-inner .nav-links{order:0}
    .nav-inner .lang{order:1 !important;margin-inline-start:0}
    .nav-inner .nav-right{order:2}
  }
  .nav-signin{border:1px solid rgba(13,31,61,.22);border-radius:999px;
    padding:8px 15px;font-weight:500;transition:background .18s,border-color .18s,color .18s}
  .nav-signin:hover{background:rgba(63,134,207,.08);
    border-color:var(--spark-deep);color:var(--spark-ink)}
  .nav.on-dark .nav-signin{border-color:rgba(255,255,255,.34);color:#fff}
  .nav.on-dark .nav-signin:hover{background:rgba(255,255,255,.12);
    border-color:#fff;color:#fff}
  .nav-signin:focus-visible{outline:2px solid var(--spark-deep);outline-offset:2px}
  @media(max-width:900px){
    .nav-inner.menu-open .nav-signin{border-radius:10px;text-align:center}
  }

  a.nav-signin{display:inline-flex;align-items:center;text-decoration:none;line-height:1}


  /* nav tail: AR is a utility, so it is separated from the links by a hairline
     and sits quieter than the sign-in pill next to it. */
  @media(min-width:901px){
    .nav-inner .lang{position:relative;margin-inline-start:6px;padding-inline-start:18px !important;
      font-size:12px;letter-spacing:.06em;opacity:.85}
    .nav-inner .lang::before{content:"";position:absolute;inset-inline-start:0;top:50%;
      transform:translateY(-50%);width:1px;height:13px;background:rgba(13,31,61,.18)}
    .nav.on-dark .nav-inner .lang::before{background:rgba(255,255,255,.28)}
    .nav-inner .lang:hover{opacity:1}
    .nav-inner .nav-right{margin-inline-start:4px}
  }
  .nav-signin{padding:7px 16px;font-size:13px;letter-spacing:.01em}


  /* Arabic small labels: no letter-spacing (it breaks the joined script), weight instead */
  html[dir="rtl"] .eyebrow,html[dir="rtl"] .eyebrow span,html[dir="rtl"] .eyebrow em,
  html[dir="rtl"] .lab,html[dir="rtl"] .v-lab,html[dir="rtl"] .ab-eb2,html[dir="rtl"] .ab-eb3,
  html[dir="rtl"] .cjur-lab,html[dir="rtl"] .ab-hero-eb,html[dir="rtl"] .ab-hero-eb span{
    letter-spacing:0;text-transform:none}
  html[dir="rtl"] .eyebrow,html[dir="rtl"] .eyebrow span,html[dir="rtl"] .eyebrow em,
  html[dir="rtl"] .lab,html[dir="rtl"] .v-lab,html[dir="rtl"] .ab-eb2,html[dir="rtl"] .ab-eb3,
  html[dir="rtl"] .cjur-lab,html[dir="rtl"] .ab-hero-eb span{font-weight:700;font-size:13px}


  /* five founding figures, not four */
  .ab-nums{grid-template-columns:repeat(5,minmax(0,1fr))}
  @media(max-width:1000px){.ab-nums{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px}}
  @media(max-width:620px){.ab-nums{grid-template-columns:repeat(2,minmax(0,1fr))}}


  /* Arabic About hero: the headline sets on two lines, not three */
  html[dir="rtl"] .ab-hero .ab-h1{max-width:30ch;font-size:clamp(25px,3.3vw,41px);line-height:1.3}
  html[dir="rtl"] .ab-hero .ab-h1 .ab-y{white-space:nowrap}


  /* the second line of a heading carries the emphasis in Arabic */
  html[dir="rtl"] .ab-h1 .ab-y,
  html[dir="rtl"] .ab-ch2 .ab-cy,
  html[dir="rtl"] .h2 .serif-i,
  html[dir="rtl"] .ab-stmt-t em{font-weight:700}

  /* about — title typography driven by Tweaks */
  .ab-h1,.ab-h2,.ab-eh2,.ab-num b,.ab-tline b,.ab-trow b,.ab-offc b,.ab-tl b{
    font-family:var(--ab-title-font,var(--disp));
    font-weight:var(--ab-title-weight,500);
    letter-spacing:var(--ab-title-track,-.026em)}
  html[dir="rtl"] .ab-h1,html[dir="rtl"] .ab-h2,html[dir="rtl"] .ab-eh2,
  html[dir="rtl"] .ab-num b,html[dir="rtl"] .ab-tline b,html[dir="rtl"] .ab-trow b,
  html[dir="rtl"] .ab-offc b,html[dir="rtl"] .ab-tl b{
    font-family:var(--ab-title-font,var(--disp-ar));
    font-weight:var(--ab-title-weight,600);
    letter-spacing:0}

  /* tweaks panel */
  .tw-panel{position:fixed;right:16px;bottom:16px;z-index:3000;width:264px;display:none;
    background:#fff;border:1px solid var(--line);border-radius:6px;
    box-shadow:0 20px 48px rgba(15,42,99,.18);font-family:var(--disp);color:var(--head)}
  .tw-panel.is-on{display:block}
  .tw-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:11px 14px;border-bottom:1px solid var(--line)}
  .tw-head b{font-size:13px;font-weight:500}
  .tw-x{border:0;background:none;font-size:20px;line-height:1;color:var(--muted);cursor:pointer;padding:0 2px}
  .tw-x:hover{color:var(--head)}
  .tw-sec{padding:12px 14px 0;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
  .tw-body{padding:10px 14px 16px;display:flex;flex-direction:column;gap:12px}
  .tw-row{display:flex;flex-direction:column;gap:5px}
  .tw-lab{font-size:11.5px;color:var(--slate)}
  .tw-sel{width:100%;height:32px;padding:0 9px;font:inherit;font-size:12.5px;color:var(--head);
    background:var(--alt);border:1px solid var(--line);border-radius:4px}
  .tw-slide{display:flex;align-items:center;gap:10px}
  .tw-slide input{flex:1;accent-color:var(--spark-deep)}
  .tw-val{min-width:30px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:end}

  .ab-tline b,.ab-trow b,.ab-offc b{font-family:var(--disp);font-weight:500;
    letter-spacing:.01em;color:var(--spark-ink)}
  .ab-offc.is-hq b{color:var(--spark)}
  html[dir="rtl"] .ab-tline b,html[dir="rtl"] .ab-trow b,html[dir="rtl"] .ab-offc b{
    font-family:var(--disp-ar);font-weight:600;letter-spacing:0}

  .ab-cap.ab-cap-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  @media(max-width:760px){.ab-cap.ab-cap-2{grid-template-columns:1fr}}

  /* city names: one treatment for all six offices */
  .ab-offc.is-hq b,.ab-offc.is-soon b{color:var(--spark-ink)}
  .ab-offc.is-soon span{color:var(--slate)}

  /* the accent word sits mid-sentence in Arabic — keep it inline */
  html[dir="rtl"] .ab-h1 .ab-y{display:inline;white-space:nowrap}
  html[dir="rtl"] .ab-h1{text-wrap:balance}

  html[dir="rtl"] .ab-num b span[dir="ltr"]{display:inline-block;unicode-bidi:isolate}
  html[dir="rtl"] .ab-num b{display:flex;align-items:baseline;gap:.18em;white-space:nowrap}

  /* about headline — one balanced block, more room between lines */
  .ab-h1{max-width:22ch;line-height:1.14;letter-spacing:-.03em;text-wrap:balance}
  .ab-h1 .ab-y{display:inline;white-space:nowrap}
  html[dir="rtl"] .ab-h1{line-height:1.42;letter-spacing:0}

  /* the two qualifier chips: label above value, so the pair reads as one unit */
  .cqual > span{display:flex;flex-direction:column;gap:3px;line-height:1.35}
  .cqual em{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--spark-deep)}
  .cqual > span > span{font-family:var(--disp);font-weight:500;font-size:17px;color:var(--head)}
  html[dir="rtl"] .cqual em{font-family:var(--disp-ar);font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--spark-deep)}
  html[dir="rtl"] .cqual > span > span{font-family:var(--disp-ar);font-weight:600;font-size:18px}
  .cqual{gap:18px 56px;align-items:flex-end}


  /* privacy policy link — document icon marks it as a policy page */
  .dep-note .pp-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
  .dep-note .pp-link svg{width:14px;height:14px;flex:none}

  /* the policy link sits on its own line under the note */
  .dep-note{flex-wrap:wrap}
  .dep-note > span{flex:1 1 auto;min-width:0}
  .dep-note > .pp-link{flex:0 0 100%;margin-top:8px;margin-inline-start:0}
  .dep-note > .pp-link svg{width:19px;height:19px;margin-inline-end:11px}

  /* about hero — space between the headline and the section rule */
  .ab-hero{padding-bottom:64px}

  /* "Where it started" — a tinted ground so it separates from the white sections */
  .ab-begin{background:var(--alt);border-block:1px solid var(--line)}
  .ab-begin .ab-wm{opacity:.05}

  /* strip cells: names pinned to one line, labels aligned across the row */
  .ab-scell{display:grid;grid-template-rows:auto auto;align-content:start}
  .ab-scell b{white-space:nowrap;font-size:14px}
  .ab-scell em{margin-top:8px}
  @media(max-width:1180px){.ab-scell b{font-size:13px}}
  @media(max-width:900px){.ab-scell b{white-space:normal;font-size:14px}}

  /* dial codes read the same across all offices */
  .ab-offc.is-hq .ab-ocode,.ab-offc.is-soon .ab-ocode{color:var(--spark-deep)}

  .ab-off .ab-offc .ab-ocode{color:var(--spark-deep) !important}
  .ab-off .ab-offc.is-hq{border-top:1px solid var(--line)}

  .ab-h1 .ab-y{font-family:var(--disp);font-style:normal;font-weight:500;letter-spacing:inherit}


  /* About hero runs under the nav, as on the home page, so the nav stays
     transparent over it and shows the light logo */
  .ab-hero.page-head{margin-top:-78px;padding-top:190px}
  @media(max-width:700px){.ab-hero.page-head{margin-top:-64px;padding-top:150px}}



  /* jurisdictions not yet live: a quiet line under the flag grid, on the light ground */
  .csoon{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-top:18px;
    padding-top:16px;border-top:1px solid var(--line)}
  .csoon-lab{font-family:var(--disp);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--muted)}
  html[dir="rtl"] .csoon-lab{font-family:var(--disp-ar);font-size:12px;letter-spacing:0;
    text-transform:none;font-weight:700}
  .csoon .cf{display:inline-flex;flex-direction:row;align-items:center;gap:8px}
  .csoon .cf .cf-ph{width:24px;height:24px;border-radius:50%;flex:none;display:block;
    border:1px dashed var(--line);background:#f4f7fa}
  .csoon .cf i{font-style:normal;font-size:13px;color:var(--slate)}
  html[dir="rtl"] .csoon .cf i{font-size:14px}

/* =============================================================================
   Laravel-side fix — the open drawer is a white panel, and on dark pages
   .nav.on-dark .nav-signin{color:#fff} (declared after the drawer rule, same
   specificity) would leave a white label on it. Outranks both, scoped to the
   open drawer only.
   ========================================================================== */
@media(max-width:900px){
  .nav.on-dark .nav-inner.menu-open .nav-signin{color:var(--head)}
}
