
    :root {
      color-scheme: dark;
      --ink: #020406;
      --navy: #06111a;
      --midnight: #0a1824;
      --line: rgba(22,52,72,.62);
      --white: #fff;
      --soft: #e9edf0;
      --muted: #9aa4ad;
      --lime: #3cc34f;
      --lime-dark: #3cc34f;
      --blue-light: #0577e8;
      --blue-detail: #0577e8;
      --dark-bg: #06090e;
      --dark-bg-rgb: 6 9 14;
      --page: var(--dark-bg);
      --surface: #06111a;
      --text: #fff;
      --text-soft: #aeb8c0;
      --dark-text: #fff;
      --dark-soft: #bac3ca;
      --hero-start: rgba(2,4,6,.98);
      --hero-mid: rgba(2,4,6,.96);
      --hero-end: rgba(6,17,26,.92);
      --hero-glow: rgba(11,58,90,.72);
      --impact-bg: var(--dark-bg);
      --control-bg: rgba(255,255,255,.08);
      --control-hover: rgba(255,255,255,.14);
      --control-active: #fff;
      --control-active-text: #020406;
      --section-pad: clamp(4.5rem, 9vw, 8.5rem);
      --max: 1240px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      min-width: 320px;
      background: var(--page);
      color: var(--text);
      font-family: Manrope, Cairo, sans-serif;
      font-size: 16px;
      line-height: 1.6;
      overflow-x: hidden;
    }
    body.rtl { font-family: Cairo, Manrope, sans-serif; }
    button, a { font: inherit; }
    a { color: inherit; }
    button { cursor: pointer; }
    svg { display: block; }
    .container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
    .skip { position: fixed; inset-block-start: -100px; inset-inline-start: 16px; z-index: 100; background: var(--lime); color: var(--ink); padding: 10px 16px; font-weight: 800; }
    .skip:focus { inset-block-start: 16px; }

    .hero {
      min-height: 760px;
      color: var(--text);
      background: var(--page);
      border-bottom: 1px solid var(--line);
      position: relative;
      isolation: isolate;
      overflow: hidden;
    }
    .hero::before,
    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
    }
    .hero::before {
      z-index: -1;
      background: linear-gradient(90deg, rgba(2,4,6,.97) 0%, rgba(2,4,6,.9) 29%, rgba(2,4,6,.54) 53%, rgba(2,4,6,.1) 78%);
    }
    .hero::after {
      z-index: -1;
      background: linear-gradient(180deg, rgba(2,4,6,.26) 0%, transparent 24%, transparent 72%, rgba(2,4,6,.76) 100%);
    }
    .hero-map { position:absolute; inset:0; z-index:-2; overflow:hidden; pointer-events:none; background:var(--dark-bg); }
    .hero-map > img { width:100%; height:100%; object-fit:contain; object-position:74% 50%; opacity:1; filter:contrast(1.08); }
    .hero-scan { position:absolute; inset:0; width:100%; height:100%; mix-blend-mode:screen; }
    .hero > .container { position:relative; z-index:1; }
    .nav {
      height: 92px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 30px;
      direction: ltr;
      border-bottom: 1px solid rgba(22,52,72,.5);
    }
    .brand { margin-inline-end: auto; display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; }
    .brand img { display: block; width: 146px; height: auto; }
    footer .brand img { width: 126px; }
    .nav-links { display: flex; align-items: center; gap: 28px; }
    .nav-links a { text-decoration: none; font-size: .83rem; font-weight: 700; color: var(--text-soft); position: relative; }
    .nav-links a::after { content: ""; position: absolute; inset-inline: 0; bottom: -9px; height: 2px; background: var(--blue-detail); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
    .nav-links a:hover::after, .nav-links a:focus-visible::after { transform: scaleX(1); }
    .utility-controls { display:flex; align-items:center; flex:0 0 auto; }
    .language-toggle { width:44px; height:44px; flex:0 0 44px; border:1px solid var(--line); border-radius:4px; display:grid; place-items:center; color:var(--text-soft); background:transparent; transition:background .22s ease,color .22s ease,border-color .22s ease; }
    .language-toggle:hover, .language-toggle:focus-visible { color:var(--ink); background:var(--lime); border-color:var(--lime); }
    .language-toggle:active { background:var(--lime-dark); border-color:var(--lime-dark); }
    .language-toggle svg { width:23px; height:23px; }
    .lang-menu { position:relative; display:inline-block; }
    .lang-btn { display:inline-flex; align-items:center; gap:9px; background:#0b0f0c; color:#fff; border:1px solid #0b0f0c; border-radius:999px; padding:10px 16px; font-weight:600; font-size:.92rem; line-height:1; white-space:nowrap; box-shadow:0 6px 18px rgba(2,6,3,.28); transition:background .2s ease,border-color .2s ease; }
    .lang-btn:hover, .lang-btn:focus-visible { background:#16211a; border-color:#2a3a2f; outline:none; }
    .lang-btn > svg { width:19px; height:19px; flex:0 0 19px; }
    .lang-btn .lang-chev { width:15px; height:15px; flex-basis:15px; transition:transform .22s ease; }
    .lang-menu.open .lang-chev { transform:rotate(180deg); }
    .lang-list { position:absolute; top:calc(100% + 8px); inset-inline-end:0; min-width:196px; background:#fff; color:#10160f; border:1px solid rgba(10,20,12,.1); border-radius:14px; box-shadow:0 20px 44px rgba(2,8,4,.28); padding:6px; z-index:300; }
    .lang-list[hidden] { display:none; }
    html[data-theme="dark"] .lang-list { background:#0c1216; color:#eef3ee; border-color:rgba(255,255,255,.13); }
    .lang-opt { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; padding:10px 12px; border:0; background:transparent; border-radius:9px; font-size:.95rem; color:inherit; text-align:start; transition:background .15s ease; }
    .lang-opt:hover, .lang-opt:focus-visible { background:rgba(60,195,79,.14); outline:none; }
    .lang-opt[aria-selected="true"] { font-weight:700; }
    .lang-opt .lang-check { width:17px; height:17px; flex:0 0 17px; color:var(--lime,#3cc34f); opacity:0; }
    .lang-opt[aria-selected="true"] .lang-check { opacity:1; }
    .pk button.lang-btn { padding:8px 13px; font-size:.85rem; box-shadow:none; color:#fff; background:#0b0f0c; }
    .pk button.lang-btn > svg { width:17px; height:17px; flex-basis:17px; }
    /* Uploaded stroke icons (Lucide paths from user SVGs), recolored via currentColor */
    .u-ic { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
    .u-ic svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
    .ic-green { color:#3cc34f; } .ic-teal { color:#19cece; } .ic-blue { color:#4d79f4; } .ic-red { color:#e3172d; }
    .nav-links a { display:inline-flex; align-items:center; gap:7px; }
    .tools-menu { position:relative; display:inline-block; }
    .tools-btn { display:inline-flex; align-items:center; gap:7px; background:transparent; border:0; padding:0; font:inherit; font-size:.79rem; font-weight:650; color:#c4cdc7; cursor:pointer; position:relative; white-space:nowrap; }
    .tools-btn::after { content:""; position:absolute; inset-inline:0; bottom:-9px; height:2px; background:var(--blue-detail); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
    .tools-btn:hover::after, .tools-btn:focus-visible::after, .tools-menu.open .tools-btn::after { transform:scaleX(1); }
    .tools-btn:focus-visible { outline:none; }
    .tools-btn .tools-chev { width:15px; height:15px; flex:0 0 15px; transition:transform .22s ease; }
    .tools-menu.open .tools-chev { transform:rotate(180deg); }
    .tools-list { position:absolute; top:calc(100% + 14px); inset-inline-start:0; min-width:252px; background:#fff; color:var(--ink); border:1px solid rgba(10,20,12,.1); border-radius:14px; box-shadow:0 20px 44px rgba(2,8,4,.28); padding:6px; z-index:300; }
    .tools-list[hidden] { display:none; }
    .tools-item { display:flex; align-items:center; gap:11px; width:100%; padding:11px 12px; border:0; background:transparent; border-radius:9px; font:inherit; font-size:.93rem; font-weight:600; color:var(--ink); text-align:start; text-decoration:none; cursor:pointer; transition:background .15s ease; }
    .nav-links .tools-list .tools-item { color:var(--ink); }
    .nav-links .tools-list .tools-item:hover, .nav-links .tools-list .tools-item:focus-visible { color:var(--ink); }
    .tools-item:hover, .tools-item:focus-visible { background:rgba(60,195,79,.14); outline:none; }
    .tools-item .u-ic svg { width:19px; height:19px; }
    .footer-contact a { display:inline-flex; align-items:center; gap:9px; }
    .footer-contact .u-ic svg { width:16px; height:16px; }
    .contact-link-icon svg.u-ic-svg { display:block; width:38px; height:38px; }
    @media (max-width:640px) { .tools-list { min-width:min(252px,80vw); } }
    @media (max-width:640px) {
      header.hero .nav { gap:10px; }
      header.hero .brand img { width:102px; }
      .lang-btn { padding:8px 12px; gap:7px; font-size:.85rem; }
      .lang-btn > svg { width:17px; height:17px; flex-basis:17px; }
      .lang-list { min-width:176px; }
    }
    @media (max-width:380px) {
      header.hero .brand img { width:92px; }
      .lang-btn { padding:8px 10px; }
    }
    .menu-btn { display: none; width: 44px; height: 44px; background: transparent; color: var(--text); border: 1px solid var(--line); align-items: center; justify-content: center; }
    .menu-btn span, .menu-btn::before, .menu-btn::after { content: ""; display: block; width: 18px; height: 1px; background: currentColor; position: absolute; transition: .25s ease; }
    .menu-btn::before { transform: translateY(-6px); }
    .menu-btn::after { transform: translateY(6px); }
    .menu-btn.open span { opacity: 0; }
    .menu-btn.open::before { transform: rotate(45deg); }
    .menu-btn.open::after { transform: rotate(-45deg); }

    .hero-grid { min-height: 667px; display:flex; align-items:center; padding-block:74px 86px; }
    .hero-copy { width:min(660px, 56vw); position:relative; }
    .kicker { display: flex; align-items: center; gap: 12px; color: var(--soft); text-transform: uppercase; letter-spacing: .24em; font-size: .72rem; font-weight: 700; }
    .kicker::before { content: ""; width: 30px; height: 2px; background: var(--blue-detail); }
    h1 { margin: 24px 0; max-width: 800px; font-size: clamp(3.25rem, 7.2vw, 7.25rem); line-height: .92; letter-spacing: -.065em; font-weight: 800; }
    h1 .accent { display: block; color: var(--lime); }
    .hero-copy > p { max-width: 590px; color: var(--dark-soft); font-size: clamp(1rem, 1.45vw, 1.2rem); }
    .actions { display:flex; align-items:center; gap:20px; margin-top:36px; direction:ltr; }
    .hero-avatar-group { display:flex; align-items:center; direction:ltr; padding:4px 10px 4px 4px; flex:0 0 auto; }
    .hero-action-buttons { display:flex; align-items:stretch; gap:12px; direction:ltr; }
    .hero-button { min-height:58px; display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:13px 24px; border:1px solid var(--lime); color:var(--text); background:rgba(2,4,6,.5); text-decoration:none; font-size:.84rem; font-weight:800; white-space:nowrap; transition:background .22s ease,color .22s ease,border-color .22s ease; }
    .hero-button.primary { color:var(--ink); background:var(--lime); }
    .hero-button:hover, .hero-button:focus-visible { color:var(--ink); background:var(--lime-dark); border-color:var(--lime-dark); }
    .hero-button:focus-visible { outline:2px solid var(--white); outline-offset:3px; }
    .hero-avatar { position:relative; display:block; width:68px; height:68px; flex:0 0 68px; border-radius:50%; padding:3px; background:conic-gradient(from 210deg,#f9ce34,#ee2a7b 35%,#6228d7 68%,#f9ce34); box-shadow:0 12px 30px rgba(0,0,0,.34); transition:transform .22s ease,filter .22s ease; }
    .hero-avatar + .hero-avatar { margin-inline-start:-17px; }
    .hero-avatar:nth-child(1) { z-index:3; }
    .hero-avatar:nth-child(2) { z-index:2; }
    .hero-avatar:nth-child(3) { z-index:1; }
    .hero-avatar img { width:100%; height:100%; display:block; object-fit:cover; border-radius:50%; border:3px solid var(--navy); }
    .hero-avatar:hover, .hero-avatar:focus-visible { filter:brightness(1.08); }
    .hero-avatar:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
    .hero-avatar .profile-online { position:absolute; right:0; bottom:2px; width:17px; height:17px; border-radius:50%; background:var(--lime); border:3px solid var(--navy); box-shadow:0 0 0 1px rgba(60,195,79,.28); }
    .arrow { font-size: 1.2em; line-height: 1; }

    .stage { position: relative; min-height: 480px; perspective: 1000px; }
    .stage-frame { position: absolute; border: 1px solid var(--line); background: linear-gradient(145deg, var(--midnight), var(--page)); box-shadow: 0 26px 70px rgba(0,0,0,.18); will-change: transform; }
    .stage-frame.one { inset: 5% 8% 17% 7%; animation: frame-main 8s cubic-bezier(.45,0,.2,1) infinite alternate; }
    .stage-frame.two { width: 46%; height: 62%; inset: 21% auto auto -1%; transform: rotate(-5deg); animation: frame-left 6.5s cubic-bezier(.45,0,.2,1) infinite alternate; }
    .stage-frame.three { width: 40%; height: 50%; inset: auto -2% 7% auto; transform: rotate(6deg); animation: frame-right 7.2s cubic-bezier(.45,0,.2,1) .7s infinite alternate; }
    @keyframes frame-main { to { transform: translate3d(0,-10px,18px); } }
    @keyframes frame-left { to { transform: translate3d(8px,-15px,28px) rotate(-3deg); } }
    @keyframes frame-right { to { transform: translate3d(-9px,-12px,36px) rotate(3deg); } }
    .frame-bar { height: 42px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 7px; padding: 0 14px; }
    .frame-bar i { width: 5px; height: 5px; border-radius: 50%; background: #324453; }
    .frame-bar i:first-child { background: var(--blue-detail); }
    .frame-content { position: relative; height: calc(100% - 42px); overflow: hidden; }
    .frame-content::before { content: ""; position: absolute; width: 58%; aspect-ratio: 1; border: 1px solid rgba(60,195,79,.36); border-radius: 50%; inset: 16% 21%; }
    .frame-content::after { content: ""; position: absolute; width: 2px; height: 120%; background: var(--lime); left: 52%; top: -10%; transform: rotate(34deg); box-shadow: 0 0 18px rgba(60,195,79,.22); animation: scan-line 4.8s ease-in-out infinite alternate; }
    @keyframes scan-line { from { left: 37%; opacity: .55; } to { left: 68%; opacity: 1; } }
    .stage-label { position: absolute; right: -8px; top: 9%; color: var(--lime); font-size: .72rem; text-transform: uppercase; letter-spacing: .2em; writing-mode: vertical-rl; }
    .signal { position: absolute; left: 4%; bottom: 2%; display: grid; grid-template-columns: repeat(5, 6px); gap: 5px; align-items: end; height: 42px; }
    .signal b { background: var(--soft); opacity: .9; transform-origin: bottom; animation: signal 1.8s ease-in-out infinite alternate; }
    .signal b:nth-child(1) { height: 22%; }.signal b:nth-child(2) { height: 48%; animation-delay:.15s}.signal b:nth-child(3) { height: 76%; animation-delay:.3s}.signal b:nth-child(4) { height: 100%; background:var(--lime); animation-delay:.45s}.signal b:nth-child(5){height:68%; animation-delay:.6s}
    @keyframes signal { to { transform: scaleY(.45); opacity: .45; } }
    .stage-arrow { position:absolute; width:38%; right:1%; top:12%; color:var(--lime); opacity:.82; }
    .stage-arrow path { stroke-dasharray:9 10; animation:arrow-flow 1.35s linear infinite; }
    @keyframes arrow-flow { to { stroke-dashoffset:-38; } }

    .marquee { background: var(--navy); color: var(--text); border-bottom: 1px solid var(--line); overflow: hidden; position: relative; }
    .marquee::before, .marquee::after { content:""; position:absolute; z-index:2; inset-block:0; width:70px; pointer-events:none; }
    .marquee::before { inset-inline-start:0; background:linear-gradient(90deg,var(--navy),transparent); }
    .marquee::after { inset-inline-end:0; background:linear-gradient(-90deg,var(--navy),transparent); }
    .marquee-track { display:flex; width:max-content; animation:crawl 28s linear infinite; }
    .marquee-sequence { display:flex; align-items:center; flex:0 0 auto; gap:clamp(22px,3vw,42px); padding:16px clamp(22px,3vw,42px); }
    .marquee-item { flex:0 0 auto; color:var(--soft); font-size:.68rem; font-weight:700; letter-spacing:.18em; line-height:1; text-transform:uppercase; white-space:nowrap; }
    .marquee-separator { flex:0 0 auto; color:var(--lime); font-size:.82rem; line-height:1; }
    @keyframes crawl { to { transform:translateX(-50%); } }

    section { padding-block: var(--section-pad); }
    .section-head { display: grid; grid-template-columns: 1fr .72fr; align-items: end; gap: 50px; margin-bottom: 54px; }
    .section-index { color: var(--lime-dark); font-size: .72rem; letter-spacing: .19em; font-weight: 800; display: block; margin-bottom: 14px; }
    h2 { margin: 0; font-size: clamp(2.25rem, 5vw, 4.9rem); letter-spacing: -.055em; line-height: .98; }
    .section-head p { color: var(--text-soft); margin: 0 0 4px; max-width: 520px; }

    .services { background: var(--page); }
    .service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
    .service { min-width:0; min-height:330px; display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; position:relative; overflow:hidden; transition:background .3s ease; }
    .service::after { content:"→"; position:absolute; inset-inline-end:25px; top:27px; color:var(--lime); font-size:1.25rem; transition:transform .3s ease; }
    .service::before { content:""; position:absolute; inset-inline:0; bottom:0; height:3px; background:var(--lime); transform:scaleX(0); transform-origin:var(--origin,left); transition:transform .35s cubic-bezier(.2,.8,.2,1); }
    .service:hover { background:var(--surface); }
    .service:hover::after { transform:translateX(7px); }
    .service:hover::before { transform:scaleX(1); }
    .service-num { color:var(--muted); font-size:.7rem; letter-spacing:.12em; order:1; }
    .service h3 { margin:auto 0 12px; font-size:clamp(1.2rem,2vw,1.65rem); line-height:1.08; letter-spacing:-.03em; order:3; }
    .service p { color:var(--text-soft); margin:0; font-size:.84rem; order:4; }
    .service-icon { width:72px; height:72px; margin-top:42px; border:1px solid var(--line); display:grid; place-items:center; color:var(--lime); order:2; transition:color .25s,border-color .25s,transform .35s,background .25s; }
    .service-icon svg, .service-icon img { width:34px; height:34px; object-fit:contain; transition:filter .25s ease; }
    .service-icon path, .service-icon circle, .service-icon rect { transition:stroke-dashoffset .7s ease; }
    .service:hover .service-icon { color:var(--ink); border-color:var(--lime); background:var(--lime); transform:rotate(-4deg) translateY(-5px); }
    .service:hover .service-icon img { filter:brightness(0); }
    .capabilities-summary { margin-top:68px; padding:clamp(42px,6vw,72px); background:#0a1824; border:1px solid #163448; }
    .capabilities-summary-head { max-width:1080px; margin:0 auto 48px; text-align:center; }
    .capabilities-summary h3 { margin:0 auto; max-width:none; overflow:visible; white-space:normal; text-overflow:clip; font-size:clamp(1.7rem,3vw,2.7rem); line-height:1.08; letter-spacing:-.045em; }
    .capabilities-summary-head p { margin:18px auto 0; max-width:920px; color:var(--text-soft); font-size:clamp(.9rem,1.25vw,1.02rem); text-align:center; }
    .capabilities-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:clamp(28px,4vw,64px); row-gap:20px; }
    .capability-link { min-width:0; display:flex; align-items:center; gap:13px; padding:9px 0; color:var(--text); text-decoration:none; font-weight:700; line-height:1.35; transition:color .22s ease; }
    .capability-link::before { content:"⊕"; flex:0 0 auto; color:var(--lime); font-size:1.45rem; font-weight:400; line-height:1; transition:color .22s ease,transform .22s ease; }
    .capability-link:hover,.capability-link:focus-visible { color:var(--lime); outline:none; }
    .capability-link:hover::before,.capability-link:focus-visible::before { color:var(--blue-detail); transform:rotate(90deg); }
    .capability-link:focus-visible { text-decoration:underline; text-underline-offset:5px; }
    .capability-link .catalog-icon { display:none; }
    .capabilities-page { display:none; min-height:100vh; background:var(--page); padding:0 0 var(--section-pad); }
    body.capabilities-open { overflow-x:hidden; }
    body.capabilities-open > .hero, body.capabilities-open > .marquee, body.capabilities-open > main, body.capabilities-open > footer, body.capabilities-open > .social-dock, body.capabilities-open > .assistant-panel, body.capabilities-open > .assistant-launcher { display:none; }
    body.capabilities-open > .capabilities-page { display:block; }
    .capabilities-page-bar { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:8; background:rgba(2,4,6,.96); }
    .capabilities-back { display:inline-flex; align-items:center; gap:10px; color:var(--soft); text-decoration:none; font-size:.84rem; font-weight:800; }
    .capabilities-back span { color:var(--lime); font-size:1.15rem; transition:transform .2s ease; }
    .capabilities-back:hover span,.capabilities-back:focus-visible span { transform:translateX(-4px); }
    body.rtl .capabilities-back span { transform:scaleX(-1); }
    body.rtl .capabilities-back:hover span,body.rtl .capabilities-back:focus-visible span { transform:scaleX(-1) translateX(-4px); }
    .capabilities-page-head { max-width:1120px; margin:clamp(54px,8vw,92px) auto 42px; text-align:center; }
    .capabilities-page-head h1 { margin:0; max-width:none; overflow:visible; text-overflow:clip; font-size:clamp(2.35rem,4.25vw,4rem); line-height:1.04; }
    .capabilities-page-head p { margin:20px auto 0; max-width:920px; color:var(--text-soft); text-align:center; }
    .service-catalog {
      --catalog-gap: 18px;
      --catalog-card-basis: clamp(288px, calc((100% - 40px) / 3.18), 380px);
      display: flex;
      align-items: stretch;
      gap: var(--catalog-gap);
      overflow-x: auto;
      overflow-y: hidden;
      padding: 2px 0 18px;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: 0;
      overscroll-behavior-inline: contain;
      -webkit-overflow-scrolling: touch;
      cursor: grab;
      scrollbar-width: thin;
      scrollbar-color: var(--lime) #0a1824;
    }
    .service-catalog::-webkit-scrollbar { height: 4px; }
    .service-catalog::-webkit-scrollbar-track { background: #0a1824; }
    .service-catalog::-webkit-scrollbar-thumb { background: var(--lime); }
    .service-catalog.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
    .service-catalog.is-auto-moving { scroll-snap-type: none; }
    .service-catalog:focus-visible { outline: 2px solid var(--lime); outline-offset: 6px; }
    .catalog-card {
      flex: 0 0 var(--catalog-card-basis);
      min-width: 0;
      padding: clamp(24px, 3.4vw, 42px);
      background: #0a1824;
      border: 1px solid #163448;
      scroll-snap-align: start;
      scroll-snap-stop: normal;
      transition: border-color .3s ease, box-shadow .3s ease;
    }
    .catalog-card:hover { border-color:var(--lime); box-shadow:inset 0 3px var(--lime); }
    .catalog-card:hover .catalog-icon { transform:rotate(6deg); background:var(--lime); color:var(--ink); border-color:var(--lime); }
    .catalog-card.is-selected { background:#fff; border-color:#fff; color:#020406; box-shadow:none; }
    .catalog-card.is-selected .catalog-icon { color:#020406; border-color:rgba(2,4,6,.32); background:rgba(2,4,6,.05); }
    .catalog-card.is-selected small { color:rgba(2,4,6,.68); }
    .catalog-card.is-selected .catalog-items li { color:#020406; border-color:rgba(2,4,6,.24); background:rgba(2,4,6,.055); }
    .catalog-card-head { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 24px; }
    .catalog-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; color: var(--blue-detail); border: 1px solid var(--line); transition:transform .3s ease,background .25s,color .25s,border-color .25s; }
    .catalog-card h4 { margin: 0; font-size: 1.18rem; letter-spacing: -.025em; }
    .catalog-card small { display: block; margin-top: 4px; color: var(--muted); }
    .catalog-items { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
    .catalog-items li { border: 1px solid var(--line); padding: 8px 11px; color: var(--soft); font-size: .78rem; line-height: 1.25; background: rgba(2,4,6,.24); }

    .assistant-launcher { position: fixed; z-index: 70; right: 22px; bottom: 22px; width: 58px; height: 58px; padding: 0; border: 0; border-radius: 0; color: var(--text); background: transparent; box-shadow: none; display: grid; place-items: center; overflow: visible; transition: transform .22s ease, filter .22s ease; }
    .assistant-launcher:hover, .assistant-launcher:focus-visible { transform: translateY(-4px); filter: drop-shadow(0 10px 12px rgba(0,0,0,.42)); }
    .assistant-launcher[aria-expanded="true"] .bot-face { opacity: 0; transform: scale(.7); }
    .assistant-launcher .close-mark { position: absolute; opacity: 0; transform: rotate(-30deg); transition: .2s; }
    .assistant-launcher[aria-expanded="true"] .close-mark { opacity: 1; transform: rotate(0); }
    .bot-face { width: 100%; height: 100%; object-fit: contain; transition: .2s; }
    .assistant-panel { position: fixed; z-index: 69; right: 22px; bottom: 92px; width: min(360px, calc(100vw - 32px)); background: var(--navy); color: var(--text); border: 1px solid var(--line); box-shadow: 0 22px 70px rgba(0,0,0,.5); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .22s ease, transform .22s ease, visibility .22s; }
    .assistant-panel.open { opacity: 1; visibility: visible; transform: translateY(0); }
    .assistant-head { display: flex; align-items: center; gap: 13px; padding: 18px; border-bottom: 1px solid var(--line); background: linear-gradient(110deg, rgba(60,195,79,.08), transparent 68%); }
    .assistant-avatar { width: 38px; height: 38px; padding: 0; flex: 0 0 38px; border: 0; background: transparent; display: grid; place-items: center; overflow: visible; }
    .assistant-avatar img { width: 100%; height: 100%; object-fit: contain; }
    .assistant-head strong { display: block; font-size: .93rem; }
    .assistant-head small { color: var(--text-soft); }
    .assistant-body { padding: 18px; }
    .assistant-message { margin: 0 0 16px; color: var(--soft); font-size: .9rem; }
    .assistant-options { display: grid; gap: 8px; }
    .assistant-option { width: 100%; border: 1px solid var(--line); background: rgba(60,195,79,.045); color: var(--text); text-align: start; padding: 11px 13px; font-size: .82rem; transition: background .2s, border-color .2s; }
    .assistant-option:hover { background: rgba(60,195,79,.1); border-color: var(--blue-detail); }
    .assistant-note { margin: 14px 0 0; color: var(--muted); font-size: .72rem; }
    .social-dock { position: fixed; z-index: 68; right: 92px; bottom: 22px; display: flex; gap: 10px; }
    .social-link { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; color: var(--text); background: var(--navy); border: 1px solid var(--line); box-shadow: 0 12px 30px rgba(0,0,0,.18); text-decoration: none; transition: transform .22s ease, color .22s ease, background .22s ease, border-color .22s ease; }
    .social-link:hover, .social-link:focus-visible { transform: translateY(-3px); color: var(--ink); background: var(--lime); border-color: var(--lime); }
    .social-link svg { width: 25px; height: 25px; }

    .impact { background: var(--impact-bg); color: var(--text); position: relative; overflow: hidden; }
    .impact::before { content:""; position:absolute; inset:0; background: linear-gradient(90deg, transparent 49.9%, rgba(22,52,72,.25) 50%); background-size: 25% 100%; pointer-events:none; }
    .impact .section-head p { color: var(--dark-soft); }
    .impact-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 18px; position: relative; }
    .manifesto { background: var(--navy); border: 1px solid var(--line); padding: clamp(26px, 4vw, 52px); min-height: 480px; display: flex; flex-direction: column; justify-content: space-between; }
    .manifesto blockquote { font-size: clamp(1.75rem, 3.8vw, 3.5rem); line-height: 1.06; letter-spacing: -.045em; margin: 0; font-weight: 700; }
    .manifesto blockquote em { color: var(--lime); font-style: normal; }
    .manifesto p { color: var(--muted); max-width: 390px; margin: 40px 0 0; }
    .outcomes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .outcome { border: 1px solid var(--line); background: var(--midnight); padding: 32px; min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; }
    .outcome svg { color: var(--lime); }
    .outcome h3 { margin: 26px 0 8px; font-size: 1.14rem; }
    .outcome p { margin: 0; color: var(--muted); font-size: .88rem; }

    .process { background: var(--surface); }
    .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .step { padding: 34px 30px 38px; border-inline-end: 1px solid var(--line); min-height: 255px; }
    .step:last-child { border: 0; }
    .step b { display: block; color: var(--lime-dark); font-size: .78rem; margin-bottom: 70px; }
    .step h3 { margin: 0 0 12px; font-size: 1.28rem; }
    .step p { margin: 0; color: var(--text-soft); font-size: .9rem; }

    .contact { background: var(--navy); color: var(--text); border-top: 1px solid var(--line); }
    .contact-wrap { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; }
    .contact h2 { max-width: 850px; }
    .contact h2 span { color: var(--lime); }
    .contact p { color: var(--dark-soft); max-width: 620px; margin: 25px 0 0; }
    .contact-actions { display: flex; flex-direction: column; gap: 10px; min-width: 290px; }
    .contact-link { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 14px; min-height: 74px; padding: 12px 14px; color: var(--text); text-decoration: none; border: 1px solid var(--line); background: color-mix(in srgb, var(--page) 38%, transparent); transition: background .25s ease, border-color .25s ease; }
    .contact-link:hover, .contact-link:focus-visible { background: var(--midnight); border-color: var(--lime-dark); }
    .contact-link-icon { width: 46px; height: 46px; display: grid; place-items: center; color: var(--blue-detail); border: 1px solid var(--line); }
    .contact-link-icon svg { width: 23px; height: 23px; }
    .contact-link-copy small { display: block; color: var(--muted); margin-bottom: 1px; }
    .contact-link-copy strong { font-size: 1.05rem; color: var(--text); }
    .contact-link .arrow { color: var(--lime); transition: transform .25s ease; }
    .contact-link:hover .arrow { transform: translateX(5px); }
    footer { background:#07100c; color:#f4f7f4; border-top:0; padding:clamp(46px,6vw,72px) 0 24px; }
    .footer-row { display:grid; grid-template-columns:minmax(220px,1.1fr) minmax(250px,1fr) minmax(220px,.8fr); align-items:start; gap:clamp(28px,5vw,76px); font-size:.82rem; }
    .footer-identity .brand { margin:0 0 24px; }
    .footer-identity .brand img { width:138px; }
    .footer-company { margin:0; display:grid; gap:5px; color:#aeb9b1; line-height:1.55; }
    .footer-company strong { color:#fff; font-size:.9rem; font-weight:750; letter-spacing:.01em; }
    .footer-block { min-width:0; }
    .footer-block-title { margin:2px 0 16px; color:#fff; font-size:.74rem; font-weight:750; }
    .footer-details { margin:0; color:#aeb9b1; font-style:normal; line-height:1.8; }
    .footer-contact { display:grid; gap:10px; }
    .footer-contact a { width:max-content; max-width:100%; color:#dbe3dd; text-decoration:none; text-underline-offset:4px; overflow-wrap:anywhere; }
    .footer-contact a:hover,.footer-contact a:focus-visible { color:#3cc34f; text-decoration:underline; outline:none; }
    .footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:clamp(34px,5vw,58px); padding-top:20px; border-top:1px solid rgba(255,255,255,.12); color:#89958d; font-size:.74rem; line-height:1.5; }
    body.rtl footer { text-align:right; }
    body.rtl .footer-contact a { width:auto; justify-self:start; }

    body.rtl { --origin:right; }
    body.rtl .nav-links a { direction:rtl; }
    body.rtl .kicker, body.rtl .section-index { letter-spacing: 0; }
    body.rtl .arrow { transform: scaleX(-1); }
    body.rtl .service::after { content:"←"; }
    body.rtl .service:hover::after { transform:translateX(-7px); }
    body.rtl .stage-label { right: auto; left: -8px; }
    body.rtl .contact-link:hover .arrow { transform:translateX(-5px) scaleX(-1); }

    .motion-ready .section-head > *, .motion-ready .capabilities-summary, .motion-ready .manifesto, .motion-ready .outcome, .motion-ready .step { opacity:.72; transform:translateY(22px); }
    .motion-ready .service { opacity:1; transform:translateY(24px); }
    .motion-ready .in-view { opacity:1; transform:none; transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1); }
    .motion-ready .service.in-view:nth-child(2), .motion-ready .outcome.in-view:nth-child(2), .motion-ready .step.in-view:nth-child(2) { transition-delay:.08s; }
    .motion-ready .service.in-view:nth-child(3), .motion-ready .outcome.in-view:nth-child(3), .motion-ready .step.in-view:nth-child(3) { transition-delay:.16s; }
    .motion-ready .service.in-view:nth-child(4), .motion-ready .outcome.in-view:nth-child(4), .motion-ready .step.in-view:nth-child(4) { transition-delay:.24s; }
    .motion-ready .service.in-view:nth-child(5) { transition-delay:.32s; }
    .motion-ready .service.in-view:nth-child(6) { transition-delay:.4s; }

    @media (min-width: 901px) {
      .actions { width:min(660px, 100%); justify-content:flex-start; }
      .capabilities-summary h3, .capabilities-page-head h1 { white-space:nowrap; }
    }
    @media (max-width: 1100px) {
      .service-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
    }
    @media (max-width: 900px) {
      .hero { min-height: auto; }
      .nav { height: 76px; gap: 12px; }
      .brand img { width: 128px; }
      .menu-btn { display: flex; position: relative; }
      .nav-links { position: absolute; z-index: 30; top: 76px; left: 0; right: 0; background: var(--surface); border-bottom: 1px solid var(--line); padding: 24px 20px 30px; flex-direction: column; align-items: flex-start; gap: 20px; transform: translateY(-130%); transition: transform .28s ease; }
      .nav-links.open { transform: translateY(0); }
      .utility-controls { margin-inline-start:auto; }
      .hero-grid { padding-block: 68px 72px; }
      .hero-copy { width:min(650px, 76vw); }
      .section-head { grid-template-columns: 1fr; gap: 18px; }
      .service-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .service { min-height:300px; }
      .capabilities-summary { padding:42px 28px; }
      .capabilities-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .service-catalog { --catalog-card-basis: calc((100% - 18px) / 2.2); }
      .impact-grid { grid-template-columns: 1fr; }
      .process-grid { grid-template-columns: repeat(2, 1fr); }
      .step:nth-child(2) { border-inline-end: 0; }
      .step:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
      .contact-wrap { grid-template-columns: 1fr; align-items: start; }
      .contact-actions { flex-direction: row; flex-wrap: wrap; }
    }
    @media (max-width: 640px) {
      .container { width: min(calc(100% - 32px), var(--max)); }
      .hero { min-height:960px; }
      .hero-grid { min-height:884px; padding-block: 64px 74px; align-items:flex-start; }
      .hero-copy { width:100%; }
      h1 { font-size: clamp(3.1rem, 16vw, 5rem); }
      .hero-copy > p { font-size: .98rem; }
      .hero::before { background:linear-gradient(180deg, rgba(2,4,6,.97) 0%, rgba(2,4,6,.87) 50%, rgba(2,4,6,.38) 77%, rgba(2,4,6,.6) 100%); }
      .hero-map img { object-position:50% 90%; opacity:.92; }
      .actions { flex-direction:column; align-items:flex-start; gap:16px; margin-top:30px; }
      .hero-action-buttons { width:min(100%, 360px); gap:9px; }
      .hero-button { min-height:52px; flex:1 1 auto; gap:12px; padding:11px 13px; font-size:.74rem; }
      .hero-avatar { width:62px; height:62px; flex-basis:62px; padding:2px; }
      .hero-avatar + .hero-avatar { margin-inline-start:-15px; }
      .hero-avatar img { border-width:2px; }
      .hero-avatar .profile-online { width:15px; height:15px; border-width:2px; }
      .service-list { grid-template-columns:1fr; }
      .service { min-height:270px; padding:24px; }
      .service-icon { margin-top:32px; width:64px; height:64px; }
      .service-num { font-size: .65rem; }
      .outcomes { grid-template-columns: 1fr; }
      .outcome { min-height: 190px; }
      .manifesto { min-height: 400px; }
      .process-grid { grid-template-columns: 1fr; }
      .step, .step:nth-child(2) { border-inline-end: 0; border-bottom: 1px solid var(--line); min-height: auto; }
      .step:last-child { border-bottom: 0; }
      .step b { margin-bottom: 36px; }
      .contact-actions { flex-direction: column; min-width: 0; }
      .footer-row { grid-template-columns:1fr; gap:30px; }
      .footer-contact { gap:9px; }
      .footer-bottom { align-items:flex-start; }
      .marquee-sequence { gap:22px; padding:15px 22px; }
      .marquee-item { font-size:.64rem; }
      .capabilities-summary { margin-top:48px; padding:34px 18px 18px; }
      .capabilities-summary-head { margin-bottom:30px; }
      .capabilities-summary-head p { margin-top:14px; }
      .capabilities-grid { grid-template-columns:1fr; }
      .capability-link { min-height:0; padding:10px 0; }
      .capabilities-page-bar { min-height:72px; }
      .capabilities-page-head { margin:46px auto 32px; text-align:center; }
      .service-catalog { --catalog-gap: 14px; --catalog-card-basis: calc(100% - 42px); padding-bottom: 14px; }
      .catalog-card { padding: 24px 20px; }
      .assistant-launcher { right: 16px; bottom: 16px; width: 54px; height: 54px; }
      .assistant-panel { right: 16px; bottom: 80px; }
      .social-dock { right: 80px; bottom: 16px; gap: 8px; }
      .social-link { width: 54px; height: 54px; }
      body.rtl .assistant-launcher { right: auto; left: 16px; }
      body.rtl .assistant-panel { right: auto; left: 16px; }
      body.rtl .social-dock { right: auto; left: 80px; }
    }
    @media (max-width: 360px) {
      .nav { gap: 7px; }
      .brand img { width: 112px; }
      .language-toggle { width: 38px; height: 38px; flex-basis: 38px; }
      .language-toggle svg { width: 20px; height: 20px; }
      .menu-btn { width: 38px; height: 38px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      .motion-ready .section-head > *, .motion-ready .capabilities-summary, .motion-ready .manifesto, .motion-ready .outcome, .motion-ready .step, .motion-ready .service { opacity:1; transform:none; }
    }


    /* A cinematic map-led hero, followed by a light editorial system */
    .hero {
      min-height:clamp(740px,94svh,920px);
      background:var(--dark-bg);
      border-bottom:1px solid rgba(255,255,255,.09);
      --hero-pan-x:0px;
      --hero-pan-y:0px;
      --hero-map-scale:1.035;
    }
    .hero::before { background:linear-gradient(90deg,rgb(var(--dark-bg-rgb) / .98) 0%,rgb(var(--dark-bg-rgb) / .91) 31%,rgb(var(--dark-bg-rgb) / .47) 57%,rgb(var(--dark-bg-rgb) / .08) 83%); }
    .hero::after { background:linear-gradient(180deg,rgb(var(--dark-bg-rgb) / .2) 0%,transparent 27%,transparent 70%,rgb(var(--dark-bg-rgb) / .72) 100%); }
    .hero-map { inset:-2%; background:var(--dark-bg); }
    .hero-map > img { object-position:75% 50%; filter:contrast(1.1) saturate(.94); transform:translate3d(var(--hero-pan-x),var(--hero-pan-y),0) scale(var(--hero-map-scale)); transform-origin:72% 50%; will-change:transform; }
    .nav { height:86px; border-bottom:1px solid rgba(255,255,255,.1); }
    .nav-links { gap:30px; }
    .nav-links a { color:#c4cdc7; font-size:.79rem; font-weight:650; }
    .language-toggle,.menu-btn { border-color:rgba(255,255,255,.16); border-radius:10px; color:#edf2ee; }
    .hero-grid { min-height:calc(clamp(740px,94svh,920px) - 86px); padding-block:80px 98px; }
    .hero-copy { width:min(720px,58vw); }
    .kicker { color:#d7ded9; letter-spacing:.2em; font-size:.68rem; }
    .kicker::before { width:38px; background:#3cc34f; }
    .hero h1 { margin:26px 0; max-width:760px; font-size:clamp(3.7rem,7.6vw,7.7rem); line-height:.9; letter-spacing:-.072em; text-wrap:balance; }
    .hero h1 .accent { color:#3cc34f; }
    .hero-copy > p { max-width:570px; color:#bec8c1; font-size:clamp(1rem,1.42vw,1.18rem); line-height:1.75; }
    .hero .actions { margin-top:38px; gap:22px; }
    .hero-button { min-height:56px; border-radius:10px; padding:13px 22px; gap:18px; border-color:rgba(255,255,255,.19); background:rgba(2,7,5,.46); backdrop-filter:blur(8px); }
    .hero-button.primary { color:#041108; background:#3cc34f; border-color:#3cc34f; }
    .hero-button:hover,.hero-button:focus-visible { color:#041108; background:#fff; border-color:#fff; }
    .hero-avatar { width:64px; height:64px; flex-basis:64px; box-shadow:0 14px 34px rgba(0,0,0,.3); }
    .hero-avatar img,.hero-avatar .profile-online { border-color:#07100c; }
    .marquee { background:#08130e; border-bottom-color:rgba(255,255,255,.09); }
    .marquee::before { background:linear-gradient(90deg,#08130e,transparent); }
    .marquee::after { background:linear-gradient(-90deg,#08130e,transparent); }

    /* Light editorial system below the hero */
    main, footer, .capabilities-page, .approach-page, .assistant-panel, .service-detail-dialog, .social-dock {
      --c-bg:#f7f8f5;
      --c-surface:#ffffff;
      --c-surface-soft:#f0f3ef;
      --c-ink:#121714;
      --c-muted:#66706a;
      --c-line:#dde2dc;
      --c-line-strong:#c8d0c9;
      --c-green:#3cc34f;
      --c-green-soft:color-mix(in srgb,#3cc34f 12%,#fff);
      --c-blue:#0577e8;
      color-scheme:light;
    }
    main { background:var(--c-bg); color:var(--c-ink); }
    main section { position:relative; padding-block:clamp(5.5rem,9vw,9rem); }
    main .container { position:relative; }
    main .section-head {
      grid-template-columns:minmax(0,1.18fr) minmax(280px,.62fr);
      gap:clamp(42px,8vw,120px);
      align-items:end;
      margin-bottom:clamp(38px,6vw,68px);
    }
    main .section-index { color:var(--c-green); font-size:.68rem; letter-spacing:.16em; }
    main h2 { color:var(--c-ink); font-size:clamp(2.55rem,5.2vw,5.7rem); line-height:.96; letter-spacing:-.062em; max-width:920px; }
    main .section-head p { color:var(--c-muted); font-size:.95rem; line-height:1.75; }

    .services { background:var(--c-bg); }
    .service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; border:0; }
    .service {
      appearance:none; width:100%; min-width:0; min-height:238px; padding:26px; border:1px solid var(--c-line);
      border-radius:12px; background:var(--c-surface); color:var(--c-ink); text-align:start; text-decoration:none;
      display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto; gap:16px; position:relative; overflow:hidden;
      box-shadow:0 1px 2px rgba(18,23,20,.02); transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease;
    }
    .service::before,.service::after { display:none; }
    .service-arrow { grid-column:2; grid-row:1; width:18px; height:18px; color:var(--c-muted); transition:color .2s ease,transform .2s ease; }
    .service-arrow svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
    .service:hover,.service:focus-visible { background:var(--c-surface); border-color:var(--c-line-strong); box-shadow:0 12px 32px rgba(18,23,20,.07); transform:translateY(-2px); outline:none; }
    .service:focus-visible { box-shadow:0 0 0 3px rgba(60,195,79,.18),0 12px 32px rgba(18,23,20,.07); }
    .service:hover .service-arrow,.service:focus-visible .service-arrow { color:var(--c-green); transform:translate(2px,-2px); }
    .service-num { grid-column:1; grid-row:1; order:0; color:var(--c-muted); font:600 .68rem/1 Manrope,Cairo,sans-serif; letter-spacing:.1em; }
    .service-icon { grid-column:1/3; grid-row:2; order:0; align-self:end; width:42px; height:42px; margin:0; border:0; display:grid; place-items:center; color:var(--c-ink); background:transparent; }
    .service-icon svg { width:27px; height:27px; stroke-linecap:round; stroke-linejoin:round; }
    .service-icon img { display:none; }
    .service:hover .service-icon,.service:focus-visible .service-icon { color:var(--c-green); border:0; background:transparent; transform:none; }
    .service h3 { grid-column:1/3; grid-row:3; order:0; margin:0; color:var(--c-ink); font-size:clamp(1.08rem,1.7vw,1.38rem); line-height:1.2; letter-spacing:-.03em; }
    .service p { display:none; }
    .service-action { grid-column:1/3; grid-row:4; color:var(--c-muted); font-size:.72rem; font-weight:600; margin-top:-4px; }

    .capabilities-summary { margin-top:clamp(24px,4vw,48px); padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
    .capabilities-summary-head { max-width:980px; margin:0 auto clamp(38px,5vw,58px); }
    .capabilities-summary h3 { color:var(--c-ink); font-size:clamp(2rem,3.7vw,3.7rem); line-height:1.03; letter-spacing:-.055em; }
    .capabilities-summary h3.is-scroll-driven {
      opacity:var(--cap-title-opacity,1);
      transform:scale(var(--cap-title-scale,1));
      transform-origin:center center;
      will-change:transform,opacity;
    }
    .capabilities-summary-head p { color:var(--c-muted); font-size:clamp(.94rem,1.3vw,1.05rem); line-height:1.75; }
    .capabilities-grid { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:clamp(28px,5vw,70px); row-gap:0; border-top:1px solid var(--c-line); }
    .capability-link { min-height:72px; gap:9px; padding:17px 2px; color:var(--c-ink); border-bottom:1px solid var(--c-line); font-size:.9rem; font-weight:650; }
    .capability-link::before { display:none; }
    .capability-link .catalog-icon { width:22px; height:22px; flex:0 0 22px; display:grid; place-items:center; color:currentColor; border:0; }
    .capability-link .catalog-icon svg { width:19px; height:19px; stroke-linecap:round; stroke-linejoin:round; }
    .capability-link[href="#capabilities/c1"] .catalog-icon { color:#4d79f4; }
    .capability-link[href="#capabilities/c2"] .catalog-icon { color:#e3172d; }
    .capability-link[href="#capabilities/c3"] .catalog-icon { color:#e3172d; }
    .capability-link[href="#capabilities/c4"] .catalog-icon { color:#4d79f4; }
    .capability-link[href="#ai-solutions"] .catalog-icon { color:#19cece; }
    .capability-link[href="#capabilities/c6"] .catalog-icon { color:#19cece; }
    .capability-link:hover,.capability-link:focus-visible { color:var(--c-green); text-decoration:none; }
    .capability-link::after { content:"→"; margin-inline-start:auto; color:var(--c-muted); font-size:.9rem; transition:transform .2s ease,color .2s ease; }
    .capability-link:hover::after,.capability-link:focus-visible::after { color:var(--c-green); transform:translateX(3px); }
    body.rtl .capability-link::after { content:"←"; }
    body.rtl .capability-link:hover::after,body.rtl .capability-link:focus-visible::after { transform:translateX(-3px); }

    .impact { background:var(--c-surface); color:var(--c-ink); overflow:hidden; border-top:1px solid var(--c-line); border-bottom:0; }
    .impact::before { display:none; }
    .impact .section-head p { color:var(--c-muted); }
    .impact-grid { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:14px; }
    .manifesto { min-height:468px; padding:clamp(32px,5vw,58px); border:1px solid var(--c-line); border-radius:12px; background:var(--c-green-soft); color:var(--c-ink); box-shadow:none; }
    .manifesto blockquote { font-size:clamp(2rem,4vw,4.2rem); line-height:1.02; letter-spacing:-.06em; }
    .manifesto blockquote em { color:var(--c-green); }
    .manifesto p { color:var(--c-muted); line-height:1.75; }
    .outcomes { gap:14px; }
    .outcome { min-height:227px; padding:28px; border:1px solid var(--c-line); border-radius:12px; background:var(--c-bg); color:var(--c-ink); box-shadow:none; }
    .outcome svg { width:25px; height:25px; color:var(--c-ink); stroke-linecap:round; stroke-linejoin:round; }
    .outcome h3 { margin:24px 0 7px; font-size:1.08rem; letter-spacing:-.025em; }
    .outcome p { color:var(--c-muted); font-size:.83rem; line-height:1.65; }

    .process { background:var(--c-surface-soft); color:var(--c-ink); }
    .process-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; border:0; counter-reset:steps; }
    .step { min-height:270px; padding:28px; border:1px solid var(--c-line); border-radius:12px; background:var(--c-surface); display:flex; flex-direction:column; }
    .step:last-child { border:1px solid var(--c-line); }
    .step b { color:var(--c-green); font-size:.7rem; margin-bottom:auto; }
    .step h3 { color:var(--c-ink); margin:46px 0 9px; font-size:1.18rem; letter-spacing:-.025em; }
    .step p { color:var(--c-muted); font-size:.84rem; line-height:1.65; }

    .contact { background:color-mix(in srgb,#3cc34f 11%,#fff); color:#111612; border:0; }
    .contact-wrap { grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr); align-items:center; gap:clamp(48px,7vw,104px); padding:0; background:transparent; border:0; border-radius:0; }
    .contact h2 { max-width:900px; color:#111612; font-size:clamp(3rem,5.8vw,6rem); line-height:.96; }
    .contact h2 span { color:#3cc34f; }
    .contact h2 .contact-title-line { color:#111612; white-space:nowrap; }
    .contact p { max-width:760px; color:#6d766f; line-height:1.75; font-size:clamp(.96rem,1.18vw,1.12rem); }
    .contact .section-index { color:#3cc34f; }
    .contact-actions { width:100%; min-width:0; max-width:580px; }
    .contact-link {
      --contact-orb-x:72px;
      --contact-orb-y:50%;
      --contact-orb-angle:0deg;
      --contact-orb-stretch:1;
      --contact-orb-squash:1;
      position:relative;
      isolation:isolate;
      display:flex;
      grid-template-columns:none;
      justify-content:center;
      min-height:112px;
      gap:30px;
      padding:22px 42px;
      overflow:hidden;
      border:0;
      border-radius:999px;
      background:#3cc34f;
      color:#07110d;
      box-shadow:none;
      transition:background .25s ease,transform .25s ease;
      touch-action:manipulation;
    }
    .contact-link:hover,.contact-link:focus-visible { background:#3cc34f; border-color:transparent; transform:translateY(-2px); outline:none; }
    .contact-link:focus-visible { box-shadow:0 0 0 3px color-mix(in srgb,#3cc34f 11%,#fff),0 0 0 6px #07110d; }
    .contact-link-orb {
      position:absolute;
      z-index:-1;
      left:0;
      top:0;
      width:112px;
      height:112px;
      border-radius:50%;
      background:#fff;
      opacity:0;
      transform:translate3d(var(--contact-orb-x),var(--contact-orb-y),0) translate(-50%,-50%) rotate(var(--contact-orb-angle)) scaleX(var(--contact-orb-stretch)) scaleY(var(--contact-orb-squash));
      transform-origin:center;
      will-change:transform,opacity;
      transition:opacity .22s ease;
      pointer-events:none;
    }
    .contact-link.is-magnetic .contact-link-orb { opacity:1; }
    .contact-link-icon { position:relative; z-index:2; flex:0 0 58px; width:58px; height:58px; border:0; color:#07110d; }
    .contact-link-icon img { display:block; width:58px; height:58px; object-fit:contain; }
    .contact-link-copy { position:relative; z-index:2; color:#07110d; font-size:clamp(1.18rem,1.65vw,1.58rem); font-weight:500; white-space:nowrap; }
    .contact-link-copy strong { color:#07110d; font-weight:800; }
    body.rtl .contact-link { direction:rtl; }
    footer { background:#07100c; color:#f4f7f4; border-top:0; }
    footer .brand img { width:138px; }
    footer .footer-contact a { color:#dbe3dd; }
    footer .footer-contact a:hover,footer .footer-contact a:focus-visible { color:#3cc34f; }

    .capabilities-page { background:var(--c-bg); color:var(--c-ink); padding:0 0 clamp(5.5rem,9vw,9rem); }
    .capabilities-page-bar { min-height:84px; border-bottom:1px solid var(--c-line); background:rgba(247,248,245,.94); backdrop-filter:blur(16px); }
    .capabilities-back { color:var(--c-ink); }
    .capabilities-back span:first-child { color:var(--c-green); }
    .capabilities-page .language-toggle { color:var(--c-ink); border-color:var(--c-line); border-radius:10px; }
    .capabilities-page .language-toggle:hover,.capabilities-page .language-toggle:focus-visible { color:#fff; background:var(--c-green); border-color:var(--c-green); }
    .capabilities-page-head { margin:clamp(64px,9vw,108px) auto clamp(44px,6vw,68px); }
    .capabilities-page-head h1 { color:var(--c-ink); font-size:clamp(2.7rem,4vw,3.65rem); letter-spacing:-.06em; }
    .capabilities-page-head p { max-width:760px; color:var(--c-muted); font-size:1rem; line-height:1.75; }
    .service-catalog { --catalog-gap:14px; --catalog-card-basis:clamp(296px,calc((100% - 28px)/3.12),386px); padding:4px 2px 26px; scrollbar-color:var(--c-green) var(--c-line); }
    .service-catalog::-webkit-scrollbar-track { background:var(--c-line); }
    .service-catalog::-webkit-scrollbar-thumb { background:var(--c-green); }
    .catalog-card { padding:clamp(26px,3.2vw,40px); background:var(--c-surface-soft); border:1px solid var(--c-line); border-radius:12px; color:var(--c-ink); box-shadow:none; transition:border-color .25s ease,box-shadow .25s ease,background .25s ease; }
    .catalog-card:hover { border-color:var(--c-line-strong); box-shadow:0 12px 34px rgba(18,23,20,.06); }
    .catalog-card:hover .catalog-icon { transform:none; background:transparent; color:var(--c-green); border:0; }
    .catalog-card.is-selected { background:var(--c-surface); border-color:var(--c-green); color:var(--c-ink); box-shadow:0 0 0 3px rgba(60,195,79,.1),0 18px 48px rgba(18,23,20,.07); }
    .catalog-card.is-selected .catalog-icon { color:var(--c-green); border:0; background:transparent; }
    .catalog-card.is-selected small { color:var(--c-muted); }
    .catalog-card.is-selected .catalog-items li { color:var(--c-ink); border-color:var(--c-line); background:var(--c-surface-soft); }
    .catalog-card-head { gap:10px; margin-bottom:28px; align-items:center; }
    .catalog-icon { flex:0 0 22px; width:22px; height:22px; color:var(--c-ink); border:0; }
    .catalog-icon svg { width:20px; height:20px; stroke-linecap:round; stroke-linejoin:round; }
    .catalog-card h4 { color:inherit; font-size:1.12rem; }
    .catalog-card small { color:var(--c-muted); font-size:.76rem; }
    .catalog-items { gap:7px; }
    .catalog-items li { border:1px solid var(--c-line); border-radius:999px; padding:7px 10px; color:var(--c-muted); background:var(--c-surface); font-size:.74rem; }

    .social-dock { bottom:22px; right:22px; }
    .social-link { width:54px; height:54px; color:var(--c-ink); background:var(--c-surface); border:1px solid var(--c-line); box-shadow:0 10px 30px rgba(18,23,20,.12); }
    .social-link:hover,.social-link:focus-visible { color:#fff; background:var(--c-green); border-color:var(--c-green); }
    .social-link svg { width:22px; height:22px; }
    .assistant-launcher { width:58px; height:58px; border-radius:12px; background:var(--c-surface); border:1px solid var(--c-line); box-shadow:0 10px 30px rgba(18,23,20,.12); }
    .assistant-launcher:hover,.assistant-launcher:focus-visible { transform:translateY(-3px); filter:none; border-color:var(--c-green); }
    .assistant-launcher .close-mark { color:var(--c-ink); }
    .assistant-panel { background:var(--c-surface); color:var(--c-ink); border:1px solid var(--c-line); border-radius:12px; box-shadow:0 22px 60px rgba(18,23,20,.16); overflow:hidden; }
    .assistant-head { border-bottom:1px solid var(--c-line); background:var(--c-green-soft); }
    .assistant-head small,.assistant-note { color:var(--c-muted); }
    .assistant-message { color:var(--c-ink); }
    .assistant-option { border:1px solid var(--c-line); border-radius:9px; background:var(--c-bg); color:var(--c-ink); }
    .assistant-option:hover { background:var(--c-green-soft); border-color:rgba(60,195,79,.35); }

    .service-detail-dialog { width:min(620px,calc(100vw - 32px)); max-height:min(720px,calc(100dvh - 32px)); padding:0; border:1px solid var(--c-line); border-radius:14px; background:var(--c-surface); color:var(--c-ink); box-shadow:0 28px 100px rgba(18,23,20,.24); overflow:auto; }
    .service-detail-dialog::backdrop { background:rgba(10,16,12,.48); backdrop-filter:blur(5px); }
    .service-detail-shell { padding:clamp(28px,5vw,52px); position:relative; }
    .service-detail-close { position:absolute; top:18px; right:18px; width:40px; height:40px; display:grid; place-items:center; padding:0; border:1px solid var(--c-line); border-radius:10px; background:var(--c-bg); color:var(--c-ink); }
    body.rtl .service-detail-close { right:auto; left:18px; }
    .service-detail-close:hover,.service-detail-close:focus-visible { border-color:var(--c-green); color:var(--c-green); outline:none; }
    .service-detail-icon { width:40px; height:40px; display:grid; place-items:center; color:var(--c-green); margin-bottom:34px; }
    .service-detail-icon svg { width:30px; height:30px; stroke-linecap:round; stroke-linejoin:round; }
    .service-detail-icon img { width:34px; height:38px; object-fit:contain; }
    .service-detail-kicker { margin:0 0 12px; color:var(--c-green); font-size:.68rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
    .service-detail-title { margin:0; max-width:520px; color:var(--c-ink); font-size:clamp(2rem,5vw,3.4rem); line-height:1.02; letter-spacing:-.055em; }
    .service-detail-copy { margin:24px 0 20px; color:var(--c-muted); font-size:1rem; line-height:1.8; }
    .service-detail-items { display:none; list-style:none; padding:0; margin:0 0 34px; border-top:1px solid var(--c-line); }
    .service-detail-items.is-visible { display:block; }
    .service-detail-items li { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid var(--c-line); color:var(--c-ink); font-size:.9rem; font-weight:650; }
    .service-detail-items li::before { content:""; width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:var(--c-green); }
    .service-detail-note { display:none; margin:0 0 34px; padding:14px 16px; border:1px solid var(--c-line); border-radius:10px; background:var(--c-bg); color:var(--c-muted); font-size:.82rem; line-height:1.65; }
    .service-detail-note.is-visible { display:block; }
    .service-detail-cta {
      min-height:48px;
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:0 18px;
      border:1px solid var(--c-green);
      border-radius:10px;
      background:var(--c-green);
      color:#07110d;
      text-decoration:none;
      font-size:.82rem;
      font-weight:800;
      position:relative;
      isolation:isolate;
      overflow:hidden;
      transition:color .32s ease,border-color .32s ease;
    }
    .service-detail-cta::before {
      content:"";
      position:absolute;
      z-index:-1;
      left:50%;
      top:100%;
      width:165%;
      aspect-ratio:1;
      border-radius:50%;
      background:#07110d;
      transform:translateX(-50%);
      transition:top .58s cubic-bezier(.72,0,.22,1);
      pointer-events:none;
    }
    .service-detail-cta > span { position:relative; z-index:1; }
    .service-detail-cta:hover,.service-detail-cta:focus-visible { color:#fff; border-color:#07110d; outline:none; }
    .service-detail-cta:hover::before,.service-detail-cta:focus-visible::before { top:-225%; }
    .service-detail-cta:focus-visible { box-shadow:0 0 0 3px rgba(60,195,79,.2); }

    .motion-ready .section-head > *, .motion-ready .capabilities-summary, .motion-ready .manifesto, .motion-ready .outcome, .motion-ready .step, .motion-ready .service { opacity:.98; transform:none; }
    .motion-ready .in-view { opacity:1; transform:none; transition:opacity .45s ease,border-color .22s ease,box-shadow .22s ease; }

    @media (max-width:900px) {
      main .section-head { grid-template-columns:1fr; gap:18px; }
      .service-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .capabilities-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .impact-grid { grid-template-columns:1fr; }
      .manifesto { min-height:390px; }
      .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .step:nth-child(2),.step:last-child { border:1px solid var(--c-line); }
      .contact-wrap { grid-template-columns:1fr; align-items:start; }
      .contact-actions { max-width:420px; }
    }
    @media (max-width:640px) {
      .hero { min-height:920px; --hero-map-scale:1.02; }
      .hero-map { inset:0; }
      .hero-map > img { object-position:50% 88%; transform:scale(var(--hero-map-scale)); }
      .hero::before { background:linear-gradient(180deg,rgb(var(--dark-bg-rgb) / .98) 0%,rgb(var(--dark-bg-rgb) / .91) 52%,rgb(var(--dark-bg-rgb) / .34) 78%,rgb(var(--dark-bg-rgb) / .62) 100%); }
      .hero-grid { min-height:844px; padding-block:62px 72px; align-items:flex-start; }
      .hero-copy { width:100%; }
      .hero h1 { font-size:clamp(3.25rem,16vw,5.1rem); }
      .hero .actions { gap:16px; }
      main section { padding-block:4.75rem; }
      main h2 { font-size:clamp(2.35rem,12vw,3.6rem); }
      .service-list,.capabilities-grid,.outcomes,.process-grid { grid-template-columns:1fr; }
      .service { min-height:210px; padding:22px; }
      .capabilities-summary { margin-top:28px; padding:0; }
      .capabilities-summary h3 { font-size:2rem; }
      .capability-link { min-height:64px; }
      .manifesto { min-height:360px; }
      .outcome,.step { min-height:210px; }
      .contact-wrap { padding:0; }
      .contact h2 .contact-title-line { white-space:normal; }
      .contact-actions { max-width:100%; }
      .contact-link { min-height:88px; gap:18px; padding:16px 24px; }
      .contact-link-orb { width:80px; height:80px; }
      .contact-link-icon,.contact-link-icon img { width:46px; height:46px; }
      .contact-link-icon { flex-basis:46px; }
      .contact-link-copy { font-size:clamp(1.02rem,4.8vw,1.18rem); }
      .capabilities-page-head { text-align:start; }
      .capabilities-page-head h1 { font-size:clamp(2.4rem,12vw,3.6rem); }
      .service-catalog { display:grid; grid-template-columns:1fr; gap:12px; overflow:visible; padding:0; cursor:default; }
      .catalog-card { width:100%; min-width:0; }
      .social-dock { right:14px; bottom:14px; }
      .social-link { width:52px; height:52px; }
      body.rtl .social-dock { right:auto; left:14px; }
      body.hero-visible .social-dock { right:14px; left:auto; top:112px; bottom:auto; }
      body.rtl.hero-visible .social-dock { right:auto; left:14px; }
    }
    @media (prefers-color-scheme:dark) {
      main, footer, .capabilities-page, .approach-page, .assistant-panel, .service-detail-dialog, .social-dock {
        --c-bg:var(--dark-bg); --c-surface:#181e1a; --c-surface-soft:#141915; --c-ink:#f4f7f4; --c-muted:#a7b0a9; --c-line:#2b342d; --c-line-strong:#3f4a42; --c-green-soft:color-mix(in srgb,#3cc34f 14%,var(--dark-bg));
        color-scheme:dark;
      }
      .capabilities-page-bar,.approach-page-bar { background:rgb(var(--dark-bg-rgb) / .94); }
      .assistant-launcher { background:var(--c-surface); }
      .service-detail-dialog::backdrop { background:rgba(0,0,0,.66); }
    }

    /* 2026 hero: editorial foreground, living map camera, connected studio panel */
    .hero {
      min-height:clamp(790px,96svh,980px);
      --hero-depth-x:0px;
      --hero-depth-y:0px;
      background:var(--dark-bg);
      border-bottom:0;
    }
    .hero::before {
      z-index:-1;
      background:
        linear-gradient(90deg,rgb(var(--dark-bg-rgb) / .99) 0%,rgb(var(--dark-bg-rgb) / .94) 35%,rgb(var(--dark-bg-rgb) / .52) 57%,rgb(var(--dark-bg-rgb) / .08) 83%),
        radial-gradient(circle at 77% 44%,rgba(65,139,218,.18),transparent 36%);
    }
    .hero::after {
      z-index:-1;
      background:linear-gradient(180deg,rgb(var(--dark-bg-rgb) / .08) 0%,transparent 57%,rgb(var(--dark-bg-rgb) / .58) 84%,var(--dark-bg) 100%);
    }
    .hero-map { inset:0; background:var(--dark-bg); }
    .hero-globe { position:absolute; inset:0; width:100%; height:100%; transform:translate3d(calc(var(--hero-depth-x) * .24),calc(var(--hero-depth-y) * .24),0); will-change:transform; }
    .nav { height:88px; border-bottom:1px solid rgba(255,255,255,.12); }
    .nav::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:linear-gradient(90deg,#3cc34f 0 74px,transparent 74px); }
    .hero-grid {
      min-height:calc(clamp(790px,96svh,980px) - 88px);
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr);
      align-items:center;
      gap:clamp(44px,8vw,128px);
      padding-block:clamp(72px,10vh,112px) clamp(104px,13vh,142px);
    }
    .hero-copy { width:auto; max-width:760px; transform:translate3d(calc(var(--hero-depth-x) * -.16),calc(var(--hero-depth-y) * -.16),0); will-change:transform; }
    .hero-signal { display:flex; align-items:center; gap:11px; margin-bottom:28px; color:#c8d3cc; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
    .hero-signal i { width:8px; height:8px; border-radius:50%; background:#3cc34f; box-shadow:0 0 0 6px rgba(60,195,79,.1),0 0 20px rgba(60,195,79,.62); animation:hero-pulse 2.4s ease-in-out infinite; }
    @keyframes hero-pulse { 50% { box-shadow:0 0 0 10px rgba(60,195,79,0),0 0 26px rgba(60,195,79,.75); } }
    .hero h1 {
      margin:0;
      max-width:740px;
      font-size:clamp(4.15rem,8.2vw,8.8rem);
      line-height:.82;
      letter-spacing:-.082em;
      font-weight:800;
      text-wrap:balance;
    }
    .hero h1 .line { display:block; color:#f5f7f5; }
    .hero h1 .accent { display:block; margin-inline-start:clamp(20px,5vw,84px); color:#77b7ff; }
    .hero-copy > p { max-width:530px; margin:30px 0 0; padding-inline-start:clamp(20px,5vw,84px); color:#bec9c2; font-size:clamp(.98rem,1.35vw,1.14rem); line-height:1.78; }
    .hero .actions { width:auto; margin:38px 0 0; padding-inline-start:clamp(20px,5vw,84px); display:flex; align-items:center; gap:14px; }
    .hero-action-buttons { gap:10px; }
    .hero-button { min-height:58px; border-radius:4px; padding:8px 9px 8px 20px; gap:22px; font-size:.8rem; border-color:rgba(255,255,255,.22); background:rgba(7,17,13,.58); backdrop-filter:blur(12px); }
    .hero-button .arrow { width:40px; height:40px; display:grid; place-items:center; background:#07110d; color:#fff; }
    .hero-button.primary { background:#f5f7f5; border-color:#f5f7f5; color:#07110d; }
    .hero-button.secondary { padding-inline:18px; background:transparent; }
    .hero-button:hover,.hero-button:focus-visible { background:#3cc34f; border-color:#3cc34f; color:#07110d; }
    .hero-button:hover .arrow,.hero-button:focus-visible .arrow { background:#07110d; color:#fff; }
    .hero-network {
      align-self:end;
      justify-self:end;
      width:min(100%,310px);
      margin-bottom:clamp(16px,5vh,56px);
      transform:translate3d(var(--hero-depth-x),var(--hero-depth-y),0);
      will-change:transform;
    }
    .hero-route-label { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:13px; color:#edf2ee; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
    .hero-route-label::after { content:""; flex:1; height:1px; background:linear-gradient(90deg,#3cc34f,rgba(255,255,255,.14)); }
    .hero-network-card { padding:18px 19px; border:1px solid rgba(255,255,255,.16); background:rgba(7,20,35,.64); backdrop-filter:blur(16px); box-shadow:0 24px 70px rgba(0,0,0,.22); }
    .hero-network-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
    .hero-network-head strong { max-width:172px; color:#f5f7f5; font-size:.94rem; line-height:1.28; letter-spacing:-.025em; }
    .hero-network-head span { color:#3cc34f; font-size:.66rem; font-weight:700; white-space:nowrap; }
    .hero-avatar-group { display:flex; align-items:center; direction:ltr; width:auto; padding:4px 0; }
    .hero-avatar { position:relative; display:block; width:66px; height:66px; flex:0 0 66px; border-radius:50%; padding:3px; overflow:visible; border:0; background:conic-gradient(from 210deg,#f9ce34,#ee2a7b 35%,#6228d7 68%,#f9ce34); box-shadow:0 12px 28px rgba(0,0,0,.3); }
    .hero-avatar + .hero-avatar { margin-inline-start:-16px; }
    .hero-avatar:nth-child(1) { z-index:3; }
    .hero-avatar:nth-child(2) { z-index:2; }
    .hero-avatar:nth-child(3) { z-index:1; }
    .hero-avatar img { width:100%; height:100%; object-fit:cover; border:3px solid var(--dark-bg); border-radius:50%; filter:saturate(.9); transition:transform .32s ease,filter .3s ease; }
    .hero-avatar:hover img,.hero-avatar:focus-visible img { transform:scale(1.035); filter:saturate(1); }
    .hero-avatar:focus-visible { outline:2px solid #3cc34f; outline-offset:4px; }
    .hero-avatar .profile-online { right:0; bottom:2px; width:15px; height:15px; border:3px solid var(--dark-bg); background:#3cc34f; }
    .hero-network-foot { display:flex; justify-content:space-between; gap:14px; margin-top:17px; color:#a9b8c4; font-size:.65rem; }
    .hero-network-foot b { color:#f5f7f5; font-weight:650; }
    .marquee { background:#f7f8f5; color:#121714; border-bottom:1px solid #dde2dc; }
    .marquee::before { background:linear-gradient(90deg,#f7f8f5,transparent); }
    .marquee::after { background:linear-gradient(-90deg,#f7f8f5,transparent); }
    .marquee-item { color:#384139; }
    .marquee-separator { color:#3cc34f; }

    body.rtl .hero h1 { letter-spacing:-.045em; }
    body.rtl .hero h1 .accent { margin-inline-start:clamp(20px,5vw,84px); }
    body.rtl .hero-copy > p,body.rtl .hero .actions { padding-inline-start:clamp(20px,5vw,84px); }

    @media (max-width:900px) {
      .hero-grid { grid-template-columns:minmax(0,1fr) minmax(220px,.45fr); gap:30px; }
      .hero h1 { font-size:clamp(3.65rem,10vw,6.6rem); }
      .hero-network { width:min(100%,270px); }
    }
    @media (max-width:640px) {
      .hero { min-height:980px; }
      .hero-map { inset:0; }
      .hero-globe { opacity:.95; }
      .hero::before { background:linear-gradient(180deg,rgba(7,17,13,.99) 0%,rgba(7,17,13,.92) 49%,rgba(7,17,13,.35) 73%,rgba(7,17,13,.9) 100%); }
      .hero-grid { min-height:892px; grid-template-columns:1fr; align-content:start; gap:50px; padding-block:58px 64px; }
      .hero-copy { width:100%; transform:none; }
      .hero-signal { margin-bottom:23px; font-size:.64rem; }
      .hero h1 { font-size:clamp(3.55rem,17vw,5.2rem); line-height:.84; }
      .hero h1 .accent { margin-inline-start:18px; }
      .hero-copy > p { margin-top:26px; padding-inline-start:18px; max-width:450px; }
      .hero .actions { padding-inline-start:18px; flex-direction:row; align-items:center; margin-top:31px; }
      .hero-action-buttons { width:100%; max-width:380px; }
      .hero-button { min-height:54px; }
      .hero-button.secondary { flex:0 0 auto; }
      .hero-network { align-self:auto; justify-self:end; width:238px; margin:0 3px 0 0; transform:none; }
      .hero-route-label { font-size:.61rem; }
      .hero-network-card { padding:12px; }
      .hero-network-head { margin-bottom:12px; }
      .hero-network-head strong { font-size:.82rem; max-width:125px; }
      .hero-avatar-group { grid-template-rows:56px 56px; gap:6px; }
      .hero-network-foot { margin-top:10px; font-size:.61rem; }
    }
    @media (max-width:420px) {
      .hero { min-height:1000px; }
      .hero h1 { font-size:clamp(3.2rem,16.5vw,4.5rem); }
      .hero .actions { align-items:stretch; }
      .hero-action-buttons { flex-direction:column; }
      .hero-button { width:100%; justify-content:space-between; }
      .hero-button.secondary { justify-content:center; }
    }
    @media (prefers-reduced-motion:reduce) {
      .hero-copy,.hero-network,.hero-scan { transform:none !important; }
      .hero-signal i { animation:none; }
    }


    /* Hero transferred from t-Teffras_Plus.html. Selectors are scoped so the
       rest of the existing site keeps its current design. */
    .hero {
      --page: var(--dark-bg);
      --text: #f6f8fc;
      --line: #ffffff17;
      --green: #3cc34f;
      --blue: #679cff;
      --max: 1180px;
      min-height: 0;
      background: var(--dark-bg);
      isolation: isolate;
      position: relative;
      overflow: hidden;
      border-bottom: 1px solid var(--line);
    }
    .hero > .container { width: min(calc(100% - 64px), var(--max)); margin-inline: auto; position: relative; z-index: 1; }
    .hero .hero-map { position: absolute; inset: 0; z-index: -3; overflow: hidden; pointer-events: none; background: var(--dark-bg); }
    .hero .hero-map img { position: absolute; inset-block: 0; inset-inline-end: -8%; width: 78%; height: 100%; object-fit: contain; object-position: 50% 50%; opacity: .8; filter: contrast(1.13) brightness(.92); transform: none; transform-origin: center; will-change: auto; }
    .hero::before { content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none; background: linear-gradient(90deg,var(--dark-bg) 0%,rgb(var(--dark-bg-rgb) / .96) 20%,rgb(var(--dark-bg-rgb) / .62) 48%,rgb(var(--dark-bg-rgb) / .13) 76%),radial-gradient(ellipse at 86% 50%,#1269bb17,transparent 65%); }
    .hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg,rgb(var(--dark-bg-rgb) / .5) 0%,transparent 25%,transparent 72%,rgb(var(--dark-bg-rgb) / .91) 100%); }
    .hero .hero-atmosphere { position: absolute; inset-block-start: 14%; inset-inline-end: 9%; width: 420px; height: 420px; z-index: -2; border-radius: 50%; background: radial-gradient(circle,#1a69c533,#3cc34f0c 43%,transparent 68%); filter: blur(26px); pointer-events: none; animation: atmosphere 12s ease-in-out infinite alternate; }
    @keyframes atmosphere { from { opacity: .55; transform: translate3d(0,10px,0) scale(.92); } to { opacity: 1; transform: translate3d(0,-15px,0) scale(1.08); } }
    .hero .hero-scan { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; mix-blend-mode: screen; }
    .hero .nav { height: 90px; display: flex; align-items: center; justify-content: normal; gap: 28px; direction: initial; border-bottom: 1px solid var(--line); position: relative; z-index: 20; }
    .hero .nav::after { content: none; }
    .hero .brand { display: inline-flex; align-items: center; margin-inline-end: auto; text-decoration: none; flex: 0 0 auto; }
    .hero .brand img { width: 138px; height: auto; display: block; }
    .hero .nav-links { display: flex; gap: 28px; align-items: center; position: static; padding: 0; background: transparent; border: 0; transform: none; }
    .hero .nav-links a { font-size: .83rem; font-weight: 600; color: #b4bfce; text-decoration: none; padding-block: 12px; transition: color .2s; }
    .hero .nav-links a::after { content: none; }
    .hero .nav-links a:hover { color: #fff; }
    .hero .nav-links a:last-child { color: #eaf8f0; }
    .hero .utility-controls { display: flex; margin-inline-start: 0; }
    .hero .language-toggle { width: auto; height: auto; flex: 0 1 auto; display: inline-block; place-items: initial; padding: 7px 12px; min-height: 42px; background: #ffffff06; color: #e0e8f3; border: 1px solid #ffffff22; border-radius: 7px; font-size: .78rem; }
    .hero .language-toggle:hover { color: #e0e8f3; border-color: #679cff99; background: #679cff0e; }
    .hero .language-label { font-family: Cairo, Manrope, sans-serif; }
    .hero .menu-btn { display: none; position: relative; flex: 0 0 42px; width: 42px; height: 42px; background: #ffffff06; color: var(--text); border: 1px solid #ffffff22; border-radius: 7px; align-items: center; justify-content: center; }
    .hero .menu-btn span, .hero .menu-btn::before, .hero .menu-btn::after { content: ""; width: 18px; height: 1.5px; background: currentColor; position: absolute; }
    .hero .menu-btn::before { transform: translateY(-6px); }.hero .menu-btn::after { transform: translateY(6px); }
    .hero .menu-btn.open span { opacity: 0; }.hero .menu-btn.open::before { transform: rotate(45deg); }.hero .menu-btn.open::after { transform: rotate(-45deg); }
    .hero .hero-grid { display: flex; align-items: center; min-height: 620px; padding-block: 75px 82px; gap: 0; }
    .hero .hero-copy { width: min(660px, 61%); max-width: none; position: relative; transform: none; will-change: auto; animation: appear .7s ease both; }
    .hero .kicker { display: flex; gap: 11px; align-items: center; text-transform: uppercase; letter-spacing: .15em; font-size: .68rem; color: #b7c5d6; font-weight: 600; }
    .hero .kicker::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 14px #679cff9c; flex: 0 0 6px; }
    .hero h1 { font-size: clamp(56px, 7vw, 94px); line-height: 1.04; font-weight: 800; letter-spacing: -.06em; margin: 25px 0; max-width: none; text-wrap: wrap; }
    .hero h1 .accent { display: block; color: var(--green); margin-inline-start: 0; }
    .hero .hero-copy > p { max-width: 530px; color: #bbc6d5; font-size: 1.03rem; line-height: 1.85; margin: 0; padding-inline-start: 0; }
    .hero .actions { width: auto; display: flex; flex-direction: column; gap: 27px; align-items: flex-start; justify-content: normal; margin-top: 32px; padding-inline-start: 0; direction: initial; }
    .hero .hero-action-buttons { display:flex; align-items:center; gap:12px; flex-wrap:nowrap; direction:initial; }
    .hero .hero-button { display:inline-flex; justify-content:center; align-items:center; gap:14px; min-height:56px; padding:11px 24px; border-radius:999px; text-decoration:none; white-space:nowrap; font-size:.82rem; font-weight:700; border:1px solid #7f7f7f; background:#090f17; color:#fff; backdrop-filter:none; transition:background .2s,border-color .2s,box-shadow .2s,transform .2s; }
    .hero .hero-button.primary { background:#3cc34f; color:#07110d; border-color:#3cc34f; box-shadow:none; }
    .hero .hero-button.primary:hover { background:#3cc34f; border-color:#3cc34f; box-shadow:none; transform:translateY(-2px); filter:brightness(1.06); }
    .hero .hero-button.secondary { color:#fff; background:rgba(2,7,5,.46); border-color:rgba(255,255,255,.19); padding:11px 26px; backdrop-filter:blur(8px); }
    .hero .hero-button.secondary:hover,.hero .hero-button.secondary:focus-visible { color:#041108; border-color:#fff; background:#fff; transform:translateY(-2px); }
    .hero .hero-button.secondary:active { transform:translateY(0); }
    .hero .hero-button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
    .hero .hero-button .arrow { display:inline-block; width:auto; height:auto; background:transparent; color:inherit; line-height:1; font-size:1.15em; }
    .hero .hero-team { display: flex; align-items: center; gap: 14px; }
    .hero .hero-avatar-group { display: flex; align-items: center; direction: ltr; width: auto; padding: 0 6px 0 0; }
    .hero .hero-avatar { width: 42px; height: 42px; display: block; flex: 0 0 42px; border-radius: 50%; padding: 1.5px; border: 0; overflow: visible; background: linear-gradient(145deg,#9c72ff,#348cf9 50%,#3cc34f); box-shadow: 0 0 0 3px var(--dark-bg); position: relative; }
    .hero .hero-avatar + .hero-avatar { margin-inline-start: -8px; }
    .hero .hero-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 2px solid var(--dark-bg); display: block; filter: none; transition: none; }
    .hero .hero-avatar:hover { z-index: 3; transform: translateY(-3px); transition: transform .2s; }
    .hero .hero-avatar:hover img, .hero .hero-avatar:focus-visible img { transform: none; filter: none; }
    .hero .hero-team-label { font-size: .74rem; color: #b7c3d3; }
    body.rtl .hero::before { background: linear-gradient(270deg,var(--dark-bg) 0%,rgb(var(--dark-bg-rgb) / .96) 20%,rgb(var(--dark-bg-rgb) / .62) 48%,rgb(var(--dark-bg-rgb) / .13) 76%),radial-gradient(ellipse at 14% 50%,#1269bb17,transparent 65%); }
    body.rtl .hero h1 { font-size: clamp(54px,6.4vw,88px); line-height: 1.35; letter-spacing: 0; font-weight: 800; }
    body.rtl .hero .kicker { letter-spacing: 0; }
    body.rtl .hero .hero-copy > p { line-height: 1.95; }
    body.rtl .hero .arrow { transform: scaleX(-1); }
    @keyframes appear { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
    @media (max-width: 1000px) { .hero .hero-copy { width: 64%; } }
    @media (max-width: 800px) {
      .hero > .container { width: min(calc(100% - 40px),var(--max)); }
      .hero .nav { height: 78px; gap: 12px; }.hero .brand img { width: 124px; }.hero .menu-btn { display: flex; }
      .hero .nav-links { display: none; position: absolute; top: 77px; inset-inline: -20px; padding: 18px 24px; background: #0c1523fa; backdrop-filter: blur(20px); border-bottom: 1px solid #679cff40; }
      .hero .nav-links.open { display: flex; flex-direction: column; align-items: stretch; gap: 2px; transform: none; }.hero .nav-links a { padding: 11px 4px; }
      .hero .hero-grid { min-height: 590px; padding-block: 64px 70px; }.hero .hero-copy { width: min(620px,85%); }.hero .hero-map img { width: 110%; inset-inline-end: -40%; opacity: .6; }
      .hero h1 { font-size: clamp(60px,9vw,80px); }.rtl .hero h1 { font-size: clamp(52px,8vw,70px); }
    }
    @media (max-width: 520px) {
      .hero .hero-grid { min-height: 570px; padding-block: 54px 70px; }.hero .hero-copy { width: 100%; }.hero .hero-map img { width: 150%; inset-inline-end: -70%; object-position: 50% 80%; opacity: .55; }
      .hero::before { background: linear-gradient(90deg,rgb(var(--dark-bg-rgb) / .94),rgb(var(--dark-bg-rgb) / .66) 65%,rgb(var(--dark-bg-rgb) / .46)); }.rtl .hero::before { background: linear-gradient(270deg,rgb(var(--dark-bg-rgb) / .94),rgb(var(--dark-bg-rgb) / .66) 65%,rgb(var(--dark-bg-rgb) / .46)); }
      .hero h1 { font-size: clamp(48px,13vw,65px); }.rtl .hero h1 { font-size: clamp(46px,11.8vw,59px); margin-block: 22px; }.hero .hero-copy > p { font-size: .94rem; }.hero .kicker { font-size: .62rem; letter-spacing: .06em; }
      .hero .actions { margin-top: 27px; gap: 25px; }.hero .hero-action-buttons { width:100%; gap:9px; flex-direction:row; }.hero .hero-button { width:auto; min-width:0; justify-content:center; padding:10px 15px; gap:11px; font-size:.72rem; min-height:50px; }.hero .hero-button.primary { flex:1 1 auto; }.hero .hero-button.secondary { flex:0 0 auto; padding-inline:18px; }.hero .hero-team-label { font-size: .71rem; }.hero .hero-avatar { width: 39px; height: 39px; flex-basis: 39px; }
    }
    @media (max-width: 360px) { .hero .brand img { width: 106px; }.hero .nav { gap: 8px; }.hero .language-toggle { padding-inline: 9px; }.hero .hero-button { padding-inline:10px; gap:8px; font-size:.68rem; }.hero .hero-button.secondary { padding-inline:14px; }.hero .hero-team { gap: 10px; } }
    @media (prefers-reduced-motion: reduce) { .hero .hero-copy { opacity: 1; transform: none; } }

    /* Hanging coverflow from the supplied services design. */
    .services .section-head {
      display:block;
      max-width:900px;
      margin-bottom:clamp(14px,3vw,30px);
    }
    .services .section-head > div { max-width:900px; }
    .services .section-head h2 {
      max-width:900px;
      font-size:clamp(42px,5.15vw,66px);
      line-height:.98;
      letter-spacing:-.052em;
      font-weight:800;
      text-wrap:balance;
    }
    .services .section-head > p {
      max-width:690px;
      margin:16px 0 0;
      color:var(--c-muted);
      font-size:clamp(18px,1.9vw,24px);
      line-height:1.35;
      letter-spacing:-.018em;
    }
    .service-stage {
      --w:min(256px,66vw);
      --stage-top-clearance:clamp(54px,5vw,64px);
      position:relative;
      height:calc(390px + var(--stage-top-clearance));
      margin:0 -24px;
      overflow:clip;
      perspective:1200px;
      touch-action:pan-y;
      user-select:none;
      -webkit-user-select:none;
      cursor:grab;
    }
    .service-stage.dragging { cursor:grabbing; }
    .services .service-card {
      appearance:none;
      position:absolute;
      left:50%;
      top:var(--stage-top-clearance);
      width:var(--w);
      height:300px;
      margin-left:calc(var(--w) / -2);
      display:flex;
      flex-direction:column;
      padding:18px 18px 15px;
      overflow:hidden;
      isolation:isolate;
      text-align:start;
      cursor:inherit;
      border:1px solid #34743f;
      border-radius:14px;
      background-color:#080b09;
      background-image:var(--service-bg);
      background-size:cover;
      background-position:center;
      color:#fff;
      box-shadow:0 22px 44px rgba(16,28,20,.24);
      transform-origin:50% 0;
      will-change:transform,opacity;
      backface-visibility:hidden;
      transition:border-color .25s ease,filter .08s ease-out,box-shadow .25s ease;
    }
    .services .service-card::before {
      content:"";
      position:absolute;
      z-index:-1;
      inset:0;
      background:rgba(0,0,0,.75);
      pointer-events:none;
    }
    .services .service-card.is-pressed { filter:brightness(.96); }
    .services .service-card[data-active="true"] {
      border-color:var(--c-green);
      box-shadow:0 22px 44px rgba(16,28,20,.28),0 0 0 1px var(--c-green);
    }
    .services .service-card:focus-visible { outline:none; }
    .services .service-card[data-active="true"]:focus-visible { box-shadow:0 22px 44px rgba(16,28,20,.28),0 0 0 2px var(--c-green); }
    .services .card-top {
      display:flex;
      align-items:center;
      justify-content:space-between;
      color:#fff;
      margin-top:2px;
      text-shadow:0 1px 8px rgba(0,0,0,.85);
    }
    .services .count {
      font-size:10px;
      line-height:1;
      font-weight:700;
      letter-spacing:.12em;
    }
    .services .card-arrow {
      width:16px;
      height:16px;
      transition:transform .25s ease,color .25s ease;
    }
    .services .card-arrow path { stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
    .services .service-card[data-active="true"] .card-arrow { color:var(--c-green); transform:translate(2px,-2px); }
    body.rtl .services .service-card[data-active="true"] .card-arrow { transform:scaleX(-1) translate(2px,-2px); }
    body.rtl .services .card-arrow { transform:scaleX(-1); }
    .services .card-body {
      display:block;
      margin-top:auto;
      padding-top:8px;
      text-shadow:0 2px 12px rgba(0,0,0,.92),0 1px 2px rgba(0,0,0,.95);
    }
    .services .service-kicker {
      display:block;
      margin-bottom:4px;
      color:#fff;
      font-size:8px;
      line-height:1;
      font-weight:700;
      letter-spacing:.2em;
      text-transform:uppercase;
    }
    body.rtl .services .service-kicker { letter-spacing:0; }
    .services .card-body h3 {
      margin:0;
      color:#fff;
      font-size:22px;
      line-height:1.02;
      letter-spacing:-.042em;
      font-weight:800;
      text-wrap:balance;
    }
    .services .card-body h3 .title-accent { color:#3cc34f; }
    body.rtl .services .card-body h3 { letter-spacing:0; line-height:1.2; }
    .services .card-copy {
      margin:7px 0 0;
      color:#fff;
      font-size:10.5px;
      line-height:1.32;
      display:-webkit-box;
      -webkit-line-clamp:3;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .services .service-icon-row {
      display:block;
      width:100%;
      height:30px;
      margin-top:9px;
      object-fit:contain;
      object-position:center;
      filter:drop-shadow(0 1px 4px rgba(0,0,0,.72));
      pointer-events:none;
    }
    @media (max-width:760px) {
      .services .section-head h2 { max-width:620px; font-size:clamp(35px,10vw,48px); line-height:1.01; }
      .services .section-head > p { max-width:560px; margin-top:13px; font-size:16px; line-height:1.42; }
      .service-stage { margin:0 -14px; }
    }
    @media (prefers-color-scheme:dark) {
      .services .service-card { box-shadow:0 22px 44px rgba(0,0,0,.4); }
    }

    /* Quiet, continuously moving reel ribbon with a deliberately staggered rhythm. */
    .video-stage {
      --video-w:clamp(210px,18vw,252px);
      --video-h:390px;
      --ribbon-gap:clamp(18px,2vw,28px);
      position:relative;
      width:100vw;
      height:558px;
      margin:-10px 0 0 calc(50% - 50vw);
      overflow:hidden;
      direction:ltr;
      contain:layout paint;
      cursor:grab;
      touch-action:pan-y;
      user-select:none;
    }
    .video-stage.is-dragging { cursor:grabbing; }
    .video-stage::before,.video-stage::after {
      content:"";
      position:absolute;
      z-index:4;
      inset-block:0;
      width:clamp(24px,6vw,92px);
      pointer-events:none;
    }
    .video-stage::before { left:0; background:linear-gradient(90deg,var(--c-surface),transparent); }
    .video-stage::after { right:0; background:linear-gradient(-90deg,var(--c-surface),transparent); }
    .video-track {
      display:flex;
      width:max-content;
      height:100%;
      will-change:transform;
      transform:translate3d(0,0,0);
    }
    .video-sequence {
      display:flex;
      align-items:flex-start;
      gap:var(--ribbon-gap);
      flex:0 0 auto;
      height:100%;
      padding:24px calc(var(--ribbon-gap) / 2) 30px;
    }
    .video-card {
      position:relative;
      flex:0 0 var(--video-w);
      width:var(--video-w);
      height:calc(var(--video-h) + 72px);
      color:#111713;
      text-decoration:none;
      transform:translateY(0);
      transition:transform .25s ease;
      -webkit-user-drag:none;
    }
    .video-card:nth-child(even) { transform:translateY(56px); }
    .video-card:focus-visible { outline:2px solid var(--c-green); outline-offset:5px; }
    .video-card video {
      width:100%;
      height:var(--video-h);
      display:block;
      object-fit:cover;
      border:1px solid var(--c-line);
      border-radius:10px 10px 0 0;
      background:#07100c;
      box-shadow:0 18px 42px rgba(16,28,20,.16);
      pointer-events:none;
    }
    .video-card-copy {
      --sticker-fill:#fff;
      position:relative;
      z-index:2;
      isolation:isolate;
      display:block;
      width:100%;
      min-height:102px;
      margin:-42px 0 0;
      padding:55px 16px 15px;
      border-radius:0 0 10px 10px;
      background:transparent;
      color:#111713;
      box-shadow:0 12px 28px rgba(16,28,20,.13);
      text-align:center;
    }
    .video-card-copy::before {
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      border-radius:0 0 10px 10px;
      background:var(--sticker-fill);
      -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 254 20' preserveAspectRatio='none'%3E%3Cpath d='M253.99 6.24C223.36 16.28 198.29 18.30 181.21 18.33C129.81 18.41 103.35.51 43.16 2C24.65 2.46 9.59 3.66 0 6.25V20H254V6.24Z' fill='black'/%3E%3C/svg%3E"),linear-gradient(#000,#000);
      -webkit-mask-position:top,bottom;
      -webkit-mask-size:100% 20px,100% calc(100% - 19px);
      -webkit-mask-repeat:no-repeat;
      mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 254 20' preserveAspectRatio='none'%3E%3Cpath d='M253.99 6.24C223.36 16.28 198.29 18.30 181.21 18.33C129.81 18.41 103.35.51 43.16 2C24.65 2.46 9.59 3.66 0 6.25V20H254V6.24Z' fill='black'/%3E%3C/svg%3E"),linear-gradient(#000,#000);
      mask-position:top,bottom;
      mask-size:100% 20px,100% calc(100% - 19px);
      mask-repeat:no-repeat;
    }
    .video-card:nth-child(even) .video-card-copy { --sticker-fill:var(--c-green); color:#fff; }
    .reel-badge { position:absolute; z-index:2; top:19px; left:16px; display:inline-flex; align-items:center; gap:7px; color:#000; direction:ltr; font-size:.82rem; font-weight:800; line-height:1; letter-spacing:-.02em; }
    .reel-badge img { display:block; width:25px; height:24px; object-fit:contain; }
    .video-card-copy strong { position:relative; z-index:1; display:block; font-size:1rem; font-weight:800; line-height:1.12; letter-spacing:-.035em; }
    .video-card-copy small { position:relative; z-index:1; display:block; margin-top:5px; color:#111713; font-size:.68rem; line-height:1.3; font-weight:600; }
    .video-card:nth-child(even) .video-card-copy small { color:#fff; }
    .portfolio-more-wrap { display:flex; justify-content:center; margin-top:38px; }
    .portfolio-more {
      --orb-x:calc(100% - 41px);
      --orb-y:50%;
      --orb-angle:0deg;
      --orb-stretch:1;
      --orb-squash:1;
      position:relative;
      isolation:isolate;
      width:min(100%,310px);
      min-height:82px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      overflow:hidden;
      padding:18px 86px 18px 32px;
      border:0;
      border-radius:999px;
      background:#f3f4f1;
      color:var(--c-ink);
      text-decoration:none;
      font-size:clamp(.82rem,1.2vw,.94rem);
      font-weight:800;
      letter-spacing:.12em;
      line-height:1.2;
      text-transform:uppercase;
      box-shadow:0 10px 30px rgba(18,23,20,.06);
      transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
      touch-action:manipulation;
    }
    .portfolio-more:hover,.portfolio-more:focus-visible { box-shadow:0 16px 42px rgba(18,23,20,.1); outline:none; }
    .portfolio-more:focus-visible { box-shadow:0 0 0 3px rgba(60,195,79,.18),0 16px 42px rgba(18,23,20,.1); }
    .portfolio-more-label { position:relative; z-index:2; white-space:nowrap; }
    .portfolio-more-orb {
      position:absolute;
      z-index:-1;
      left:0;
      top:0;
      width:68px;
      height:68px;
      border-radius:50%;
      background:#d9dcd7;
      opacity:0;
      transform:translate3d(var(--orb-x),var(--orb-y),0) translate(-50%,-50%) rotate(var(--orb-angle)) scaleX(var(--orb-stretch)) scaleY(var(--orb-squash));
      transform-origin:center;
      will-change:transform,opacity;
      transition:opacity .22s ease;
      pointer-events:none;
    }
    .portfolio-more-plus {
      position:absolute;
      z-index:3;
      inset-inline-end:20px;
      top:50%;
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      background:transparent;
      color:var(--c-ink);
      font-size:1.65rem;
      font-weight:500;
      line-height:1;
      opacity:1;
      transform:translateY(-50%);
      transition:transform .36s cubic-bezier(.18,.82,.25,1);
      pointer-events:none;
    }
    .portfolio-more.is-magnetic .portfolio-more-orb,.portfolio-more:hover .portfolio-more-orb,.portfolio-more:focus-visible .portfolio-more-orb { opacity:.86; }
    .portfolio-more.is-magnetic .portfolio-more-plus,.portfolio-more:hover .portfolio-more-plus,.portfolio-more:focus-visible .portfolio-more-plus { opacity:1; transform:translateY(-50%) scale(1) rotate(0); }
    body.rtl .portfolio-more { padding:18px 32px 18px 86px; }
    @media (hover:none),(pointer:coarse) {
      .portfolio-more { width:min(100%,300px); min-height:68px; padding:15px 64px 15px 28px; justify-content:flex-start; letter-spacing:.08em; }
      .portfolio-more-orb,.contact-link-orb { display:none; }
    }

    .approach-page {
      display:none;
      min-height:100vh;
      padding:0 0 clamp(5.5rem,9vw,9rem);
      background:var(--c-bg);
      color:var(--c-ink);
    }
    body.approach-open { overflow-x:hidden; }
    body.approach-open > .hero,
    body.approach-open > .marquee,
    body.approach-open > main,
    body.approach-open > footer,
    body.approach-open > .capabilities-page,
    body.approach-open > .social-dock,
    body.approach-open > .assistant-panel,
    body.approach-open > .assistant-launcher { display:none; }
    body.approach-open > .approach-page { display:block; }
    .approach-page-bar { min-height:84px; border-bottom:1px solid var(--c-line); background:rgba(247,248,245,.94); backdrop-filter:blur(16px); }
    .approach-page .language-toggle { width:auto; flex:0 0 auto; padding:7px 12px; color:var(--c-ink); border-color:var(--c-line); border-radius:10px; }
    .approach-page .language-toggle:hover,.approach-page .language-toggle:focus-visible { color:#fff; background:var(--c-green); border-color:var(--c-green); }
    .approach-page-head { max-width:920px; margin:clamp(58px,8vw,96px) auto clamp(38px,5vw,58px); text-align:center; }
    .approach-page-head h1 { margin:0; max-width:none; color:var(--c-ink); font-size:clamp(2.7rem,5vw,5.1rem); line-height:.98; letter-spacing:-.06em; }
    .approach-page-head p { margin:20px auto 0; max-width:720px; color:var(--c-muted); line-height:1.75; }

    @media (max-width:760px) {
      .video-stage { --video-w:min(218px,62vw); --video-h:350px; height:502px; }
      .video-card { height:calc(var(--video-h) + 70px); }
      .video-card:nth-child(even) { transform:translateY(46px); }
      .video-card-copy { min-height:96px; margin-top:-39px; padding:51px 13px 13px; }
      .reel-badge { top:18px; left:13px; gap:6px; font-size:.76rem; }
      .reel-badge img { width:23px; height:22px; }
      .video-card-copy strong { font-size:.9rem; }
      .video-card-copy small { font-size:.64rem; }
      .portfolio-more-wrap { margin-top:25px; }
      .approach-page-bar { min-height:72px; }
      .approach-page-head { margin:46px auto 32px; }
    }
    @media (prefers-color-scheme:dark) {
      .video-card video { box-shadow:0 20px 44px rgba(0,0,0,.38); }
    }
    @media (prefers-reduced-motion:reduce) {
      .video-stage { width:auto; height:auto; margin:0; overflow:visible; contain:none; }
      .video-stage::before,.video-stage::after { display:none; }
      .video-track { display:block; width:auto; animation:none; }
      .video-sequence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; height:auto; padding:0; }
      .video-sequence[aria-hidden="true"] { display:none; }
      .video-card { width:100%; height:auto; transform:none !important; }
      .video-card video { height:auto; aspect-ratio:9/16; }
    }
    @media (prefers-reduced-motion:reduce) and (max-width:760px) {
      .video-sequence { grid-template-columns:repeat(2,minmax(0,1fr)); }
    }

    /* Isolated photographic gallery embed. */
    .impact {
      padding-bottom:clamp(.75rem,1.5vw,1.25rem);
    }
    .photo-gallery-section {
      padding:0;
      background:#fff;
      border:0;
      overflow:hidden;
    }
    .gallery-title-wrap {
      width:min(calc(100% - 40px),var(--max));
      margin-inline:auto;
      padding:clamp(.25rem,.7vw,.65rem) 0 .125rem;
      text-align:center;
    }
    .gallery-section-title {
      margin:0;
      color:#121714;
      font-size:clamp(2rem,3.7vw,3.7rem);
      font-weight:700;
      line-height:1.03;
      letter-spacing:-.055em;
    }
    .gallery-section-title.is-scroll-driven {
      opacity:var(--cap-title-opacity,1);
      transform:scale(var(--cap-title-scale,1));
      transform-origin:center center;
      will-change:transform,opacity;
    }
    .teffras-gallery-frame {
      display:block;
      width:100%;
      height:360px;
      min-height:0;
      margin-top:0;
      border:0;
      background:transparent;
    }
    @media (max-width:640px) {
      .impact { padding-bottom:.75rem; }
      .gallery-title-wrap { padding:.25rem 0 .125rem; }
      .gallery-section-title { font-size:2rem; }
      .teffras-gallery-frame { margin-top:0; }
    }

    /* Theme switch and explicit light/dark palettes. The photographic service cards
       deliberately keep their established dark treatment in both modes. */
    .hero .utility-controls,
    .page-utilities { display:flex; align-items:center; gap:10px; }
    .page-utilities { margin-inline-start:auto; }
    .theme-toggle {
      width:58px;
      height:30px;
      flex:0 0 58px;
      padding:0;
      border:0;
      border-radius:999px;
      background:transparent;
      color:inherit;
      position:relative;
      direction:ltr;
    }
    .theme-toggle-track {
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:0 7px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:inherit;
      background:rgba(255,255,255,.08);
      color:#aeb9c7;
      transition:background-color .34s ease,border-color .34s ease,color .34s ease;
    }
    .theme-toggle-icon { width:13px; height:13px; }
    .theme-toggle-icon path,
    .theme-toggle-icon circle { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .theme-toggle-thumb {
      position:absolute;
      z-index:1;
      left:3px;
      top:3px;
      width:24px;
      height:24px;
      border-radius:50%;
      background:#f8faf8;
      box-shadow:0 2px 8px rgba(0,0,0,.28);
      transform:translateX(0);
      transition:transform .34s cubic-bezier(.2,.8,.2,1),background-color .34s ease,box-shadow .34s ease;
    }
    html[data-theme="dark"] .theme-toggle-thumb { transform:translateX(28px); background:#3cc34f; }
    .theme-toggle:hover .theme-toggle-track { border-color:#3cc34f; }
    .theme-toggle:focus-visible { outline:2px solid #3cc34f; outline-offset:3px; }
    .capabilities-page .theme-toggle-track,
    .approach-page .theme-toggle-track { border-color:var(--c-line); background:var(--c-surface-soft); color:var(--c-muted); }
    .capabilities-page .theme-toggle-thumb,
    .approach-page .theme-toggle-thumb { background:var(--c-ink); box-shadow:0 2px 7px rgba(18,23,20,.18); }
    html[data-theme="dark"] .capabilities-page .theme-toggle-thumb,
    html[data-theme="dark"] .approach-page .theme-toggle-thumb { background:#3cc34f; }

    html[data-theme="light"] main,
    html[data-theme="light"] footer,
    html[data-theme="light"] .capabilities-page,
    html[data-theme="light"] .approach-page,
    html[data-theme="light"] .assistant-panel,
    html[data-theme="light"] .service-detail-dialog,
    html[data-theme="light"] .social-dock {
      --c-bg:#f7f8f5;
      --c-surface:#ffffff;
      --c-surface-soft:#f0f3ef;
      --c-ink:#121714;
      --c-muted:#66706a;
      --c-line:#dde2dc;
      --c-line-strong:#c8d0c9;
      --c-green:#3cc34f;
      --c-green-soft:color-mix(in srgb,#3cc34f 12%,#fff);
      color-scheme:light;
    }
    html[data-theme="dark"] main,
    html[data-theme="dark"] footer,
    html[data-theme="dark"] .capabilities-page,
    html[data-theme="dark"] .approach-page,
    html[data-theme="dark"] .assistant-panel,
    html[data-theme="dark"] .service-detail-dialog,
    html[data-theme="dark"] .social-dock {
      --c-bg:var(--dark-bg);
      --c-surface:#171c18;
      --c-surface-soft:#121713;
      --c-ink:#f4f7f4;
      --c-muted:#a7b0a9;
      --c-line:#2b342d;
      --c-line-strong:#465248;
      --c-green:#3cc34f;
      --c-green-soft:color-mix(in srgb,#3cc34f 14%,var(--dark-bg));
      color-scheme:dark;
    }
    body,
    main,
    main section,
    .marquee,
    .contact,
    footer,
    .capabilities-page,
    .approach-page,
    .capabilities-page-bar,
    .approach-page-bar,
    .assistant-panel,
    .assistant-launcher,
    .service-detail-dialog,
    .photo-gallery-section,
    .teffras-gallery-frame,
    .portfolio-more {
      transition:background-color .36s ease,color .36s ease,border-color .36s ease;
    }
    html[data-theme="light"] .marquee { background:#f7f8f5; color:#121714; border-bottom-color:#dde2dc; }
    html[data-theme="light"] .marquee::before { background:linear-gradient(90deg,#f7f8f5,transparent); }
    html[data-theme="light"] .marquee::after { background:linear-gradient(-90deg,#f7f8f5,transparent); }
    html[data-theme="light"] .marquee-item { color:#384139; }
    html[data-theme="dark"] .marquee { background:var(--dark-bg); color:#f4f7f4; border-bottom-color:#2b342d; }
    html[data-theme="dark"] .marquee::before { background:linear-gradient(90deg,var(--dark-bg),transparent); }
    html[data-theme="dark"] .marquee::after { background:linear-gradient(-90deg,var(--dark-bg),transparent); }
    html[data-theme="dark"] .marquee-item { color:#cbd3cd; }
    html[data-theme="light"] .capabilities-page-bar,
    html[data-theme="light"] .approach-page-bar { background:rgba(247,248,245,.94); }
    html[data-theme="dark"] .capabilities-page-bar,
    html[data-theme="dark"] .approach-page-bar { background:rgba(6,9,14,.94); }
    html[data-theme="dark"] .contact { background:color-mix(in srgb,#3cc34f 9%,var(--dark-bg)); color:var(--c-ink); }
    html[data-theme="dark"] .contact h2,
    html[data-theme="dark"] .contact h2 .contact-title-line { color:var(--c-ink); }
    html[data-theme="dark"] .contact p { color:var(--c-muted); }
    html[data-theme="dark"] .portfolio-more { background:#171c18; color:#f4f7f4; border-color:#2b342d; box-shadow:0 10px 30px rgba(0,0,0,.2); }
    html[data-theme="dark"] .portfolio-more-orb { background:#263029; }
    html[data-theme="dark"] .impact,
    html[data-theme="dark"] .photo-gallery-section { background:var(--dark-bg); }
    html[data-theme="dark"] .video-stage::before { background:linear-gradient(90deg,var(--dark-bg),transparent); }
    html[data-theme="dark"] .video-stage::after { background:linear-gradient(-90deg,var(--dark-bg),transparent); }
    html[data-theme="dark"] .gallery-section-title { color:#f4f7f4; }
    html[data-theme="light"] .photo-gallery-section,
    html[data-theme="light"] .teffras-gallery-frame { background:#fff; }
    html[data-theme="light"] .gallery-section-title { color:#121714; }
    html[data-theme="dark"] .service-detail-dialog::backdrop { background:rgba(0,0,0,.7); }
    html[data-theme="light"] body { background:#f7f8f5; }
    html[data-theme="dark"] body,
    html[data-theme="dark"] main,
    html[data-theme="dark"] main section,
    html[data-theme="dark"] footer,
    html[data-theme="dark"] .capabilities-page,
    html[data-theme="dark"] .approach-page,
    html[data-theme="dark"] .photo-gallery-section,
    html[data-theme="dark"] .teffras-gallery-frame { background:var(--dark-bg); }

    /* Dark mode uses one continuous, flat canvas from the hero through the gallery. */
    html[data-theme="dark"] main,
    html[data-theme="dark"] footer,
    html[data-theme="dark"] .capabilities-page,
    html[data-theme="dark"] .approach-page,
    html[data-theme="dark"] .assistant-panel,
    html[data-theme="dark"] .service-detail-dialog,
    html[data-theme="dark"] .social-dock {
      --c-bg:#06090e;
      --c-surface:#06090e;
      --c-surface-soft:#06090e;
      --c-green-soft:#06090e;
    }
    html[data-theme="dark"] body,
    html[data-theme="dark"] .hero,
    html[data-theme="dark"] .hero-map,
    html[data-theme="dark"] .marquee,
    html[data-theme="dark"] main,
    html[data-theme="dark"] main section,
    html[data-theme="dark"] .services,
    html[data-theme="dark"] .impact,
    html[data-theme="dark"] .process,
    html[data-theme="dark"] .contact,
    html[data-theme="dark"] footer,
    html[data-theme="dark"] .capabilities-page,
    html[data-theme="dark"] .approach-page,
    html[data-theme="dark"] .capabilities-page-bar,
    html[data-theme="dark"] .approach-page-bar,
    html[data-theme="dark"] .photo-gallery-section,
    html[data-theme="dark"] .gallery-title-wrap,
    html[data-theme="dark"] .teffras-gallery-frame {
      background:#06090e !important;
      background-image:none !important;
    }
    html[data-theme="dark"] .hero::before,
    html[data-theme="dark"] .hero::after,
    html[data-theme="dark"] .hero .hero-atmosphere,
    html[data-theme="dark"] .marquee::before,
    html[data-theme="dark"] .marquee::after,
    html[data-theme="dark"] .video-stage::before,
    html[data-theme="dark"] .video-stage::after {
      background:none !important;
      box-shadow:none !important;
      filter:none !important;
    }
    html[data-theme="dark"] body * { box-shadow:none !important; }

    @media (max-width:800px) {
      .hero .utility-controls { gap:8px; }
      .theme-toggle { width:52px; height:28px; flex-basis:52px; }
      .theme-toggle-thumb { width:22px; height:22px; }
      html[data-theme="dark"] .theme-toggle-thumb { transform:translateX(24px); }
      .theme-toggle-track { padding-inline:6px; }
    }
    @media (prefers-reduced-motion:reduce) {
      .theme-toggle-thumb,
      .theme-toggle-track,
      body,
      main,
      main section,
      .marquee,
      .contact,
      footer,
      .capabilities-page,
      .approach-page,
      .capabilities-page-bar,
      .approach-page-bar,
      .assistant-panel,
      .assistant-launcher,
      .service-detail-dialog,
      .photo-gallery-section,
      .teffras-gallery-frame,
      .portfolio-more { transition:none; }
    }
    /* Pill-button layering guarantee: the magnetic orb always stays below the button text.
       The buttons are isolated stacking contexts (isolation:isolate), so a negative
       z-index paints the orb above the button's own background but below every
       content layer — the text and icon always render fully on top of the orb,
       in hover, magnetic, focus, RTL and dark-mode states alike. */
    .portfolio-more-orb,.contact-link-orb { z-index:-1; mix-blend-mode:normal; }
    .portfolio-more-label,.contact-link-copy,.contact-link-icon { position:relative; z-index:2; }
    .portfolio-more-plus { z-index:3; }
  