/* slow x1.6 applied 2026-10-23 */
/* Outsource Hub v2 (2026-10-23): the «Hub» direction chosen by the owner. Colours follow the logo:
   maroon ring + petrol nodes. Light and dark follow the device; the button stores a choice. */
@font-face{font-family:"PlexAr";font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"PlexAr";font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"PlexAr";font-weight:700;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"PlexAr";font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"PlexAr";font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"PlexAr";font-weight:700;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}

:root{
  --bg:#F7F3F2;--panel:#FFFFFF;--panel2:#F1EAE9;--line:#E2D6D6;--ink:#1D1517;--ink2:#5B5154;--ink3:#74686B;
  --accent:#7A1A2C;--petrol:#0075A9;--petrol-ink:#FFFFFF;--link:#005E88;
  --scene:#1E0F14;--scene-line:#3A2229;--scene-ink:#F3ECEE;--scene-ink2:#C5B0B6;--scene-ink3:#9A8389;
  --ring:#C23A55;--node:#3BA6E0;--node-ink:#04121A;--band:#570313;--band-ink:#FFFFFF;
  --focus:#0075A9;color-scheme:light}
:root[data-theme="dark"]{
  --bg:#160B0F;--panel:#211217;--panel2:#2A1820;--line:#3A2229;--ink:#F3ECEE;--ink2:#C5B0B6;--ink3:#9F8990;
  --accent:#E2647E;--petrol:#3BA6E0;--petrol-ink:#04121A;--link:#6CC3EA;
  --scene:#211217;--band:#7A1A2C;--focus:#6CC3EA;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#160B0F;--panel:#211217;--panel2:#2A1820;--line:#3A2229;--ink:#F3ECEE;--ink2:#C5B0B6;--ink3:#9F8990;
  --accent:#E2647E;--petrol:#3BA6E0;--petrol-ink:#04121A;--link:#6CC3EA;
  --scene:#211217;--band:#7A1A2C;--focus:#6CC3EA;color-scheme:dark}}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:"PlexAr","Segoe UI",Tahoma,Arial,sans-serif;line-height:1.75;overflow-x:hidden;font-size:17px}
html[lang="en"] body{line-height:1.6}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
ul,ol{list-style:none}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;inset-inline-start:16px;top:-60px;background:var(--petrol);color:var(--petrol-ink);padding:10px 16px;border-radius:8px;z-index:50}
.skip:focus{top:12px}
.num{unicode-bidi:isolate;direction:ltr}
.wrap{width:100%;max-width:1328px;margin-inline:auto;padding-inline:56px}

/* type */
.eyebrow{color:var(--accent);font-weight:700;font-size:15px;display:flex;align-items:center;gap:12px;margin-bottom:14px}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--petrol);border-radius:2px}
.h2{font-size:clamp(32px,2.2rem + 1.2vw,52px);line-height:1.2;font-weight:700;letter-spacing:-.3px}
.h2 em,.h1 em{font-style:normal;color:var(--petrol)}
.muted{color:var(--ink2)}
.lead{color:var(--ink2);font-size:clamp(17px,1rem + .3vw,19px);line-height:1.9}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;background:var(--petrol);color:var(--petrol-ink);padding:10px 22px;border-radius:10px;font-weight:700;font-size:15.5px;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:transform .25s,background .25s}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:20px;height:20px}
html[dir="rtl"] .btn .arrow{transform:scaleX(-1)}
.btn--line{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--line:hover{border-color:var(--petrol)}
.btn--paper{background:#FFFFFF;color:#1D1517}

/* header */
.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .3s}
.top.is-scrolled{border-bottom-color:var(--line)}
.top__in{display:flex;align-items:center;gap:22px;min-height:84px}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:48px;width:auto;display:block}
.brand .lg-d{display:none}
:root[data-theme="dark"] .brand .lg-l{display:none}:root[data-theme="dark"] .brand .lg-d{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand .lg-l{display:none}:root:not([data-theme="light"]) .brand .lg-d{display:block}}
.nav{margin-inline-start:auto}
.nav__list{display:flex;gap:28px;font-size:15.5px;color:var(--ink2)}
.nav__list a{position:relative;padding-block:6px}
.nav__list a::after{content:"";position:absolute;bottom:0;inset-inline:0;height:2px;background:var(--petrol);transform:scaleX(0);transform-origin:var(--from,right);transition:transform .3s}
html[dir="ltr"] .nav__list a::after{--from:left}
.nav__list a:hover::after,.nav__list a[aria-current]::after{transform:scaleX(1)}
.nav__list a[aria-current]{color:var(--ink)}
.nav__toggle,.nav__check,.nav__lang{display:none}
.tools{display:flex;gap:8px;align-items:center}
.tool{display:inline-grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--ink2);background:transparent;cursor:pointer;font-family:inherit;padding-inline:10px}
.tool:hover{border-color:var(--petrol);color:var(--ink)}
.tool svg{width:20px;height:20px}
.theme-btn .i-sun{display:none}
:root[data-theme="dark"] .theme-btn .i-sun{display:block}:root[data-theme="dark"] .theme-btn .i-moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-btn .i-sun{display:block}:root:not([data-theme="light"]) .theme-btn .i-moon{display:none}}

/* reveal (only when motion is allowed: html.mo is set by theme.js) */
.mo .rv{opacity:0;transform:translateY(28px);transition:opacity 1.28s cubic-bezier(.2,.8,.2,1),transform 1.28s cubic-bezier(.2,.8,.2,1)}
.mo .rv.in{opacity:1;transform:none}

/* hero */
.hero{padding-top:30px}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.h1{font-size:clamp(44px,2rem + 4vw,84px);line-height:1.1;font-weight:700;letter-spacing:-.5px}
html[lang="en"] .h1{letter-spacing:-1.5px;line-height:1.04;font-size:clamp(40px,1.8rem + 3.4vw,74px)}
html[lang="en"] .hero__grid{grid-template-columns:1.25fr .75fr}
.h1 .w{display:inline-block}
.mo .h1 .w{opacity:0;transform:translateY(36px);animation:up 1.28s cubic-bezier(.2,.8,.2,1) forwards}
.mo .h1 .w:nth-child(2){animation-delay:.1s}.mo .h1 .w:nth-child(3){animation-delay:.2s}.mo .h1 .w:nth-child(4){animation-delay:.3s}.mo .h1 .w:nth-child(5){animation-delay:0.64s}.mo .h1 .w:nth-child(6){animation-delay:0.8s}.mo .h1 .w:nth-child(7){animation-delay:0.96s}.mo .h1 .w:nth-child(8){animation-delay:1.12s}
@keyframes up{to{opacity:1;transform:none}}
.hero .lead{max-width:540px}
.mo .hero .lead,.mo .hero__acts{opacity:0;animation:fade 1.28s 0.96s forwards}
.hero__acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@keyframes fade{to{opacity:1}}
.scene{margin-top:34px;background:var(--scene);border:1px solid var(--scene-line);border-radius:22px;position:relative;overflow:hidden;color:var(--scene-ink)}
.scene svg{display:block;width:100%;height:auto}
.scene .sv-s{display:none}
.g-grid line{stroke:var(--scene-line);stroke-width:1}
.flowp{fill:none;stroke:var(--scene-line);stroke-width:2;stroke-dasharray:4 7}
.spoke{stroke:var(--node);stroke-width:3;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;animation:draw 1.12s cubic-bezier(.4,0,.2,1) forwards}
.ring{fill:none;stroke:var(--ring);stroke-width:16;stroke-dasharray:440;stroke-dashoffset:440;animation:draw 1.76s .1s cubic-bezier(.4,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.node{transform-box:fill-box;transform-origin:center;transform:scale(0);animation:pop 0.8s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes pop{to{transform:scale(1)}}
.hubc{fill:var(--scene)}
.sc-lbl{fill:var(--scene-ink);font-size:15px;font-weight:700;font-family:"PlexAr",sans-serif}
.sc-sub{fill:var(--scene-ink2);font-size:13px;font-family:"PlexAr",sans-serif}
.sc-side{fill:var(--scene-ink3);font-size:13px;font-weight:700;font-family:"PlexAr",sans-serif;letter-spacing:.3px}
.tagin,.tagout{opacity:0;animation:fade 0.8s forwards}
.tagin{animation-delay:2.56s}.tagout{animation-delay:5.12s}
.pk-in rect{fill:var(--scene-ink)}.pk-in line{stroke:var(--scene);stroke-width:1.6}
.pk-out rect{fill:var(--node)}.pk-out line{stroke:var(--node-ink);stroke-width:1.6}
.hubnode{fill:var(--node)}
.marquee{direction:ltr;background:var(--band);color:var(--band-ink);font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;padding:13px 0}
.marquee__run{display:inline-block;animation:mq 54.4s linear infinite}
.marquee span{margin:0 22px}html[dir="rtl"] .marquee span{direction:rtl;unicode-bidi:isolate}.marquee i{font-style:normal;opacity:.6}
@keyframes mq{from{transform:translateX(-50%)}to{transform:translateX(0)}}
html[dir="ltr"] .marquee__run{animation-name:mql}
@keyframes mql{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* sections */
.sec{padding-block:clamp(70px,8vw,120px);position:relative}
.sec--panel{background:var(--panel);border-block:1px solid var(--line)}
.sec__head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}
.sec__head p{max-width:440px;color:var(--ink2)}

/* service rows */
.svc-row{display:grid;grid-template-columns:76px 64px 1.1fr 1.4fr 52px;gap:26px;align-items:center;padding:28px 0;border-top:1px solid var(--line);position:relative;transition:padding .35s}
.svc-row:last-child{border-bottom:1px solid var(--line)}
.svc-row::after{content:"";position:absolute;inset:0;background:var(--petrol);opacity:0;transform:scaleX(0);transform-origin:right;transition:transform 0.72s cubic-bezier(.2,.8,.2,1),opacity 0.72s;z-index:0;border-radius:8px}
html[dir="ltr"] .svc-row::after{transform-origin:left}
.svc-row>*{position:relative;z-index:1}
.svc-row .n{font-size:40px;color:var(--accent);line-height:1;font-weight:600}
.svc-row h3{font-size:clamp(22px,1.1rem + .6vw,28px);font-weight:700;line-height:1.3}
.svc-row h3 small{display:block;font-size:14px;color:var(--ink3);font-weight:500;margin-top:4px}
.svc-row p{color:var(--ink2);font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chips li{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--ink2)}
.svc-row .arr{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:transform .35s,background .35s}
.svc-row .arr svg{width:20px;height:20px}
html[dir="rtl"] .svc-row .arr svg{transform:scaleX(-1)}
.svc-row:hover,.svc-row:focus-visible{padding-inline:22px}
.svc-row:hover::after,.svc-row:focus-visible::after{transform:scaleX(1);opacity:.1}
.svc-row:hover .arr,.svc-row:focus-visible .arr{background:var(--petrol);border-color:var(--petrol);color:var(--petrol-ink);transform:rotate(var(--tilt,45deg))}
html[dir="ltr"] .svc-row{--tilt:-45deg}
/* little service glyphs (64px), each with its own motion on hover */
.gl{width:64px;height:64px}
.gl *{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gl .f{fill:var(--petrol);stroke:none}
.gl .p{stroke:var(--petrol)}
.gl .mv{transition:transform 0.8s cubic-bezier(.3,1.4,.5,1)}
.svc-row:hover .gl .mv{transform:translateY(-6px)}
.svc-row:hover .gl .mx{transform:translateX(-8px)}
.svc-row:hover .gl .rot{transform:rotate(20deg)}
.gl .rot{transform-box:fill-box;transform-origin:center;transition:transform 0.8s}
.gl .mx{transition:transform 0.8s}

/* process */
.flow{position:relative;margin-top:30px}
.flow__path{width:100%;height:120px;display:block}
.flow__path .pp{fill:none;stroke:var(--line);stroke-width:2;stroke-dasharray:6 8}
.flow__path .pc{fill:none;stroke:var(--petrol);stroke-width:3;stroke-dasharray:1500;stroke-dashoffset:1500;transition:stroke-dashoffset 4.16s ease-in-out}
.flow.in .flow__path .pc,html:not(.mo) .flow__path .pc{stroke-dashoffset:0}
.flow__path .dot{fill:var(--ring)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:-6px}
.step{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--panel);transition:transform .3s,border-color .3s}
.step:hover{transform:translateY(-4px);border-color:var(--petrol)}
.step:nth-child(even){margin-top:46px}
.step .k{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--band);color:var(--band-ink);font-weight:700;margin-bottom:14px}
.step h3{font-size:21px;margin-bottom:8px}
.step p{color:var(--ink2);font-size:15.5px}

/* why */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.why__item{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--bg);transition:transform .3s,border-color .3s}
.why__item:hover{transform:translateY(-4px);border-color:var(--accent)}
.why__item svg{width:42px;height:42px;margin-bottom:14px}
.why__item svg *{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:0}
.mo .why__item.rv svg *{stroke-dashoffset:120;transition:stroke-dashoffset 2.24s .2s ease-in-out}
.mo .why__item.rv.in svg *{stroke-dashoffset:0}
.why__item h3{font-size:19px;margin-bottom:6px}
.why__item p{color:var(--ink2);font-size:15.5px}
.sectors{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:34px;color:var(--ink2)}
.sectors b{color:var(--ink)}
.sector{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px 16px;background:var(--panel)}
.sector svg{width:24px;height:24px}
.sector svg *{fill:none;stroke:var(--petrol);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* group network */
.group{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.net{width:100%;height:auto}
.net .ln{stroke:var(--line);stroke-width:3;stroke-dasharray:300;stroke-dashoffset:300;transition:stroke-dashoffset 1.92s ease-in-out}
.net.in .ln,html:not(.mo) .net .ln{stroke-dashoffset:0}
.net .ln:nth-of-type(2){transition-delay:.2s}.net .ln:nth-of-type(3){transition-delay:0.64s}
.net .hubr{fill:none;stroke:var(--ring);stroke-width:12}
.net .nd{fill:var(--node)}
.net text{fill:var(--ink);font-family:"PlexAr",sans-serif;font-size:17px;font-weight:700}
.net text.s{fill:var(--ink3);font-size:13.5px;font-weight:500}
.net a:hover text{fill:var(--petrol)}
.net .pkt{fill:var(--ring)}
.group__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.group__links a{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;font-weight:600;font-size:15px;transition:border-color .25s}
.group__links a:hover{border-color:var(--petrol)}
.group__links small{color:var(--ink3);font-weight:500;font-size:13.5px}
.group__links svg{width:18px;height:18px;color:var(--petrol)}

/* group: every Sysenta system (owner 2026-10-23) */
.group__links--all{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.group__links--all a{display:flex;align-items:center;gap:10px;padding:10px 12px}
.group__links--all a img{flex:none;border-radius:7px}
.group__links--all a span{display:grid;line-height:1.35}
.group__links--all a small{font-size:12.5px}
.group__links--all a.is-daily{border-color:var(--petrol)}
.net .ln--daily{stroke:var(--petrol)}
.net .sysn image{transition:transform .4s cubic-bezier(.3,1.5,.5,1);transform-box:fill-box;transform-origin:center}
.net .sysn:hover image{transform:scale(1.12)}
.net text{font-size:15px}
.mo .net .sysn image,.mo .net .sysn text{opacity:0;transform:scale(0);transition:opacity .8s,transform .9s cubic-bezier(.3,1.6,.5,1)}
.mo .net.in .sysn image,.mo .net.in .sysn text{opacity:1;transform:none}
.mo .net.in .sysn:nth-of-type(1) image,.mo .net.in .sysn:nth-of-type(1) text{transition-delay:0.50s}.mo .net.in .sysn:nth-of-type(2) image,.mo .net.in .sysn:nth-of-type(2) text{transition-delay:0.72s}.mo .net.in .sysn:nth-of-type(3) image,.mo .net.in .sysn:nth-of-type(3) text{transition-delay:0.94s}.mo .net.in .sysn:nth-of-type(4) image,.mo .net.in .sysn:nth-of-type(4) text{transition-delay:1.16s}.mo .net.in .sysn:nth-of-type(5) image,.mo .net.in .sysn:nth-of-type(5) text{transition-delay:1.38s}.mo .net.in .sysn:nth-of-type(6) image,.mo .net.in .sysn:nth-of-type(6) text{transition-delay:1.60s}.mo .net.in .sysn:nth-of-type(7) image,.mo .net.in .sysn:nth-of-type(7) text{transition-delay:1.82s}.mo .net.in .sysn:nth-of-type(8) image,.mo .net.in .sysn:nth-of-type(8) text{transition-delay:2.04s}
.net .sysn text{transform-box:fill-box;transform-origin:center}
.mo .net.in .sysn image{animation:ohbob 4.8s 2.6s ease-in-out infinite}
.mo .net.in .sysn:nth-of-type(2n) image{animation-delay:3.8s}.mo .net.in .sysn:nth-of-type(3n) image{animation-delay:5s}
@keyframes ohbob{50%{transform:translateY(-6px)}}
.net .ln{stroke-dasharray:240;stroke-dashoffset:240}
.net .ln:nth-of-type(n){transition-delay:calc(.2s)}
@media (max-width:520px){.group__links--all{grid-template-columns:1fr}}

/* close band */
.close{padding-block:0 clamp(70px,8vw,110px)}
.close__board{background:var(--band);color:var(--band-ink);border-radius:24px;padding:clamp(34px,5vw,64px);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;position:relative;overflow:hidden}
.close__board .h2{color:#fff}
.close__board p{color:#F1DCE1;margin-top:12px;font-size:18px}
.close__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.close__acts .btn--line{color:#fff;border-color:rgba(255,255,255,.4)}
.close__acts .btn--line:hover{border-color:#fff}
.close__hours{font-size:14.5px!important;opacity:.85}
.stamp{border:4px solid #fff;color:#fff;border-radius:12px;padding:10px 26px;text-align:center;font-weight:700;font-size:34px;line-height:1.2;transform:rotate(-8deg)}
.stamp small{display:block;font-size:13px;font-weight:600;letter-spacing:.5px}
.mo .stamp{opacity:0;transform:rotate(-8deg) scale(2.4)}
.mo .close__board.in .stamp{animation:stamp .35s 0.8s cubic-bezier(.3,1.4,.5,1) forwards}
@keyframes stamp{to{opacity:1;transform:rotate(-8deg) scale(1)}}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:56px 26px;background:var(--panel);font-size:15.5px}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
.foot h2{font-size:15px;color:var(--ink3);margin-bottom:12px;font-weight:700}
.foot ul{display:grid;gap:8px}
.foot a:hover{color:var(--petrol)}
.foot__brand p{color:var(--ink2);margin-top:14px;max-width:340px}
.foot__brand p a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.foot address{font-style:normal;display:grid;gap:6px;color:var(--ink2)}
.social{display:flex;gap:8px;margin-top:14px}
.social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px}
.social svg{width:20px;height:20px}
.foot__base{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;color:var(--ink3);font-size:14px}


/* ================= service pages ================= */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--ink3);margin-bottom:22px}
.crumbs li+li::before{content:"/";margin-inline-end:8px;opacity:.6}
.crumbs a:hover{color:var(--petrol)}
.shero{padding-top:26px;padding-bottom:20px}
.shero__grid{display:grid;grid-template-columns:1fr 560px;gap:56px;align-items:center}
.shero .h1{font-size:clamp(36px,1.6rem + 2.4vw,62px)}
.shero .eyebrow .num{color:var(--ink3);font-weight:600}
.cycle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14.5px;color:var(--ink2);margin-top:18px}
.cycle i{width:8px;height:8px;border-radius:50%;background:var(--ring);animation:blink 2.56s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.shero .lead{margin-top:18px;max-width:600px}
.shero .hero__acts{opacity:1;animation:none}
.panel{background:var(--scene);border:1px solid var(--scene-line);border-radius:22px;overflow:hidden}
.panel svg{display:block;width:100%;height:auto}

/* scene parts */
.sc-card{fill:#2E1A21;stroke:#4A2C35;stroke-width:1.5}
.sc-card2{fill:#26151B;stroke:#3F2530;stroke-width:1.5}
.sc-t{fill:var(--scene-ink);font:700 17px "PlexAr",sans-serif}
.sc-s{fill:var(--scene-ink2);font:500 14px "PlexAr",sans-serif}
.sc-s2{fill:var(--scene-ink);font:600 15px "PlexAr",sans-serif}
.sc-rule{stroke:#4A2C35;stroke-width:1.5}
.sc-bar{fill:#6E5560}.sc-bar2{fill:var(--node)}.sc-bar3{fill:var(--ring)}
.sc-total{stroke:var(--scene-ink2);stroke-width:2}
.sc-ok{fill:var(--node)}.sc-okm{fill:none;stroke:var(--node-ink);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.sc-box{fill:none;stroke:var(--scene-ink3);stroke-width:1.6}
.sc-tick{fill:none;stroke:var(--node);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sc-q{fill:#2E1A21;stroke:var(--node);stroke-width:1.6}
.sc-qt{fill:var(--scene-ink);font:700 16px "PlexAr",sans-serif}
.sc-stamp{fill:#2E1A21;stroke:var(--ring);stroke-width:4}
.sc-stampt{fill:var(--ring);font:700 26px "PlexAr",sans-serif;letter-spacing:1px}
.sc-flag{fill:var(--ring)}.sc-flag2{fill:#E7A73C}
.sc-lens{fill:none;stroke:var(--scene-ink);stroke-width:5;stroke-linecap:round}
.lens{animation:lens 11.2s ease-in-out infinite}
@keyframes lens{0%,100%{transform:translate(0,0)}25%{transform:translate(0,92px)}50%{transform:translate(0,184px)}75%{transform:translate(0,238px)}}
.rk-l{fill:#3A5566}.rk-m{fill:#8C5A3C}.rk-h{fill:var(--ring)}
.sc-note{fill:#2E1A21;stroke:var(--ring);stroke-width:1.6}
.sc-person{fill:none;stroke:var(--node);stroke-width:3}
.sc-build{fill:none;stroke:var(--scene-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sc-flagp{fill:var(--ring)}
.sc-link{fill:none;stroke:var(--node);stroke-width:2}

/* motion primitives (start states only when motion is allowed) */
.mo .a-gx{transform:scaleX(0);transform-box:fill-box;transform-origin:left center;animation:gx 0.96s cubic-bezier(.2,.8,.2,1) forwards}
html[dir="rtl"].mo .a-gx{transform-origin:right center}
@keyframes gx{to{transform:scaleX(1)}}
.mo .a-fade{opacity:0;animation:fade 0.8s forwards}
.mo .a-pop{transform:scale(0);transform-box:fill-box;transform-origin:center;animation:pop 0.8s cubic-bezier(.3,1.6,.5,1) forwards}
.mo .a-drop{opacity:0;transform:translateY(-40px);animation:drop 0.96s cubic-bezier(.3,1.3,.5,1) forwards}
@keyframes drop{to{opacity:1;transform:none}}
.mo .a-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.28s ease-in-out forwards}
.mo .a-stamp{opacity:0;animation:stampin .35s cubic-bezier(.3,1.4,.5,1) forwards}
@keyframes stampin{0%{opacity:0;scale:2.2}100%{opacity:1;scale:1}}
.a-stamp{transform-box:fill-box;transform-origin:center}
.d0{animation-delay:0.00s}.d1{animation-delay:0.16s}.d2{animation-delay:0.32s}.d3{animation-delay:0.48s}.d4{animation-delay:0.64s}.d5{animation-delay:0.80s}.d6{animation-delay:0.96s}.d7{animation-delay:1.12s}.d8{animation-delay:1.28s}.d9{animation-delay:1.44s}.d10{animation-delay:1.60s}.d11{animation-delay:1.76s}.d12{animation-delay:1.92s}.d13{animation-delay:2.08s}.d14{animation-delay:2.24s}.d15{animation-delay:2.40s}.d16{animation-delay:2.56s}.d17{animation-delay:2.72s}.d18{animation-delay:2.88s}.d19{animation-delay:3.04s}.d20{animation-delay:3.20s}.d21{animation-delay:3.36s}.d22{animation-delay:3.52s}.d23{animation-delay:3.68s}.d24{animation-delay:3.84s}.d25{animation-delay:4.00s}.d26{animation-delay:4.16s}.d27{animation-delay:4.32s}.d28{animation-delay:4.48s}.d29{animation-delay:4.64s}.d30{animation-delay:4.80s}.d31{animation-delay:4.96s}.d32{animation-delay:5.12s}.d33{animation-delay:5.28s}.d34{animation-delay:5.44s}.d35{animation-delay:5.60s}.d36{animation-delay:5.76s}.d37{animation-delay:5.92s}.d38{animation-delay:6.08s}.d39{animation-delay:6.24s}.d40{animation-delay:6.40s}.d41{animation-delay:6.56s}.d42{animation-delay:6.72s}.d43{animation-delay:6.88s}.d44{animation-delay:7.04s}.d45{animation-delay:7.20s}.d46{animation-delay:7.36s}.d47{animation-delay:7.52s}.d48{animation-delay:7.68s}.d49{animation-delay:7.84s}.d50{animation-delay:8.00s}.d51{animation-delay:8.16s}.d52{animation-delay:8.32s}.d53{animation-delay:8.48s}.d54{animation-delay:8.64s}.d55{animation-delay:8.80s}.d56{animation-delay:8.96s}.d57{animation-delay:9.12s}.d58{animation-delay:9.28s}.d59{animation-delay:9.44s}.d60{animation-delay:9.60s}

/* section tabs */
.tabs{position:sticky;top:84px;z-index:15;background:var(--bg);border-block:1px solid var(--line)}
.tabs__in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.tabs a{white-space:nowrap;padding:14px 16px;font-size:15px;color:var(--ink2);border-bottom:3px solid transparent;transition:color .2s,border-color .3s}
.tabs a:hover{color:var(--ink)}
.tabs a.is-on{color:var(--ink);border-bottom-color:var(--petrol)}
.anchor{scroll-margin-top:150px}

/* scope */
.take{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:18px}
.take--2{--cols:2}
.take__group{border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--panel)}
.take__group h3{font-size:20px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.take__group h3::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--ring)}
.take__group li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line);color:var(--ink2);font-size:15.5px}
.take__group li:first-child{border-top:0}
.take__group li svg{width:20px;height:20px;margin-top:3px}
.take__group li svg path{fill:none;stroke:var(--petrol);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.mo .take__group.rv li svg path{stroke-dashoffset:1;transition:stroke-dashoffset 0.8s ease-in-out}
.mo .take__group.rv.in li svg path{stroke-dashoffset:0}
.mo .take__group.rv.in li:nth-child(1) svg path{transition-delay:0.67s}.mo .take__group.rv.in li:nth-child(2) svg path{transition-delay:0.86s}.mo .take__group.rv.in li:nth-child(3) svg path{transition-delay:1.06s}.mo .take__group.rv.in li:nth-child(4) svg path{transition-delay:1.25s}.mo .take__group.rv.in li:nth-child(5) svg path{transition-delay:1.44s}.mo .take__group.rv.in li:nth-child(6) svg path{transition-delay:1.63s}.mo .take__group.rv.in li:nth-child(7) svg path{transition-delay:1.82s}

/* handover */
.ho{display:grid;grid-template-columns:1fr 200px 1fr;gap:24px;align-items:center}
.ho__col{border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--panel)}
.ho__col--get{background:var(--band);border-color:var(--band);color:var(--band-ink)}
.ho__col h3{font-size:20px;margin-bottom:12px;display:flex;gap:10px;align-items:center}
.ho__col h3 svg{width:24px;height:24px}
.ho__col li{padding:8px 0;border-top:1px solid var(--line);font-size:15.5px;color:var(--ink2)}
.ho__col--get li{border-top-color:rgba(255,255,255,.18);color:#F4E3E7}
.ho__col li:first-child{border-top:0}
.ho__mid svg{width:100%;height:auto;display:block}
.ho__mid .flowp{stroke:var(--line)}
.ho__mid .hubc{fill:var(--bg)}
.ho__mid .pk-in rect{fill:var(--ink3)}.ho__mid .pk-in line{stroke:var(--bg)}

/* system band */
.sysband{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:28px 32px;background:var(--panel)}
.sysband .nodes{display:flex;gap:8px;align-items:center}
.sysband .nodes i{width:16px;height:16px;border-radius:50%;background:var(--node)}
.sysband .nodes b{width:34px;height:34px;border-radius:50%;border:7px solid var(--ring)}
.sysband p{color:var(--ink2)}
.sysband h2{font-size:22px;margin-bottom:4px}

/* other services */
.others{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.other{border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--panel);display:grid;gap:6px;transition:transform .3s,border-color .3s}
.other:hover{transform:translateY(-4px);border-color:var(--petrol)}
.other .gl{width:48px;height:48px}
.other b{font-size:17px}.other small{color:var(--ink3)}
.other:hover .gl .mv{transform:translateY(-6px)}.other:hover .gl .mx{transform:translateX(-8px)}.other:hover .gl .rot{transform:rotate(20deg)}

@media (max-width:1100px){
  .shero__grid{grid-template-columns:1fr}
  .panel{max-width:620px}
  .take{grid-template-columns:1fr 1fr}
  .others{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .tabs{top:68px}
  .take,.others{grid-template-columns:1fr}
  .ho{grid-template-columns:1fr}
  .ho__mid{max-width:160px;margin-inline:auto;transform:rotate(90deg)}
  .sysband{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.lens{display:none}.cycle i{animation:none}}


/* ================= about / contact / plain ================= */
.orb-path{fill:none;stroke:var(--scene-line);stroke-width:2;stroke-dasharray:4 7}
.orb-pk{fill:var(--ring)}
.orb-sp{stroke:var(--node);stroke-width:2.5}
.orb-nd{fill:var(--node)}
.orb-t{fill:var(--scene-ink);font:600 14px "PlexAr",sans-serif}
.rt-p{fill:none;stroke:var(--node);stroke-width:2.5;stroke-linecap:round}
.nf-sp{stroke:var(--ring);stroke-dasharray:6 8!important;stroke-dashoffset:0!important;animation:searching 2.24s linear infinite!important}
@keyframes searching{to{stroke-dashoffset:-28}}
.nf-hole{fill:none;stroke:var(--scene-ink3);stroke-width:2.5;stroke-dasharray:5 6}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mv__card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;padding:clamp(28px,4vw,48px);background:var(--panel)}
.mv__card h3{font-size:clamp(24px,1.2rem + .8vw,32px);margin-bottom:12px}
.mv__card p{color:var(--ink2);font-size:18px;line-height:1.9}
.mv__card--band{background:var(--band);border-color:var(--band)}
.mv__card--band h3{color:#fff}.mv__card--band p{color:#F4E3E7}
.mv__line{position:absolute;bottom:0;inset-inline:0;height:5px;background:var(--petrol);transform:scaleX(1);transform-origin:right;transition:transform 2.24s .3s cubic-bezier(.2,.8,.2,1)}
html[dir="ltr"] .mv__line{transform-origin:left}
.mv__card--band .mv__line{background:var(--node)}
.mo .mv__card.rv .mv__line{transform:scaleX(0)}
.mo .mv__card.rv.in .mv__line{transform:scaleX(1)}
.quote{border:1px solid var(--line);border-radius:22px;padding:clamp(28px,4vw,44px);background:var(--panel)}
.quote__mark{width:60px;height:44px;margin-bottom:14px}
.quote__mark path{fill:none;stroke:var(--ring);stroke-width:7;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.mo .quote.rv .quote__mark path{stroke-dashoffset:1;transition:stroke-dashoffset 1.92s .3s ease-in-out}
.mo .quote.rv.in .quote__mark path{stroke-dashoffset:0}
.quote blockquote p{font-size:clamp(21px,1.1rem + .7vw,28px);font-weight:600;line-height:1.6}
.quote figcaption{margin-top:18px;color:var(--ink2)}
.quote figcaption b{color:var(--ink)}
.how{display:grid;gap:0}
.how__item{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line);align-items:start}
.how__item:last-child{border-bottom:1px solid var(--line)}
.how__item .k{font-size:38px;font-weight:600;color:var(--accent);line-height:1}
.how__item h3{font-size:21px;margin-bottom:4px}
.how__item p{color:var(--ink2)}

/* contact */
.contact{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:start}
.form{border:1px solid var(--line);border-radius:22px;padding:clamp(24px,4vw,40px);background:var(--panel);display:grid;gap:16px}
.form .h2{font-size:clamp(26px,1.3rem + 1vw,36px)}
.hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.picks{border:0}
.picks legend{font-weight:700;margin-bottom:10px}
.picks__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick label{display:flex;align-items:center;gap:10px;min-height:56px;border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;cursor:pointer;font-weight:600;font-size:15px;transition:border-color .2s,background .2s,transform .2s}
.pick label:hover{border-color:var(--petrol)}
.pick .gl{width:34px;height:34px;flex:none}
.pick input:checked+label{border-color:var(--petrol);background:color-mix(in srgb,var(--petrol) 12%,transparent);transform:translateY(-2px)}
.pick input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:grid;gap:6px}
.field label{font-size:14.5px;font-weight:600}
.opt{color:var(--ink3);font-weight:400}
.input{width:100%;min-height:50px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;padding:10px 14px;transition:border-color .2s}
.input:focus{outline:none;border-color:var(--petrol)}
.input[aria-invalid="true"]{border-color:var(--ring)}
textarea.input{resize:vertical;min-height:120px}
.note{font-size:14px;color:var(--ink3)}
.status:empty{display:none}
.status--err{border:1.5px solid var(--ring);border-radius:10px;padding:10px 14px;color:var(--ink)}
.form .btn{justify-self:start}
.details{display:grid;gap:12px}
.details__row{display:grid;grid-template-columns:28px 1fr;gap:14px;border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--panel)}
.details__row>svg{width:24px;height:24px;color:var(--petrol)}
.details__row h3{font-size:15px;color:var(--ink3);margin-bottom:4px}
.details__row a:hover{color:var(--petrol)}
.link{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.plain__in{display:grid;grid-template-columns:1fr 520px;gap:56px;align-items:center;padding-block:clamp(50px,7vw,100px)}
.nf-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.nf-links a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14.5px}
.nf-links a:hover{border-color:var(--petrol)}
.plain .note{margin-top:18px}
@media (max-width:1100px){.contact,.plain__in{grid-template-columns:1fr}.mv{grid-template-columns:1fr}}
@media (max-width:820px){.row2{grid-template-columns:1fr}.how__item{grid-template-columns:56px 1fr}.how__item .k{font-size:28px}}
@media (prefers-reduced-motion:reduce){.orb-pk{display:none}}

/* responsive */
@media (max-width:1100px){
  .wrap{padding-inline:32px}
  .svc-row{grid-template-columns:48px 1fr 46px;grid-template-areas:"n t a" ". d d";gap:10px 16px}
  .svc-row .n{grid-area:n;font-size:30px}.svc-row h3{grid-area:t}.svc-row>div{grid-area:d}.svc-row .arr{grid-area:a}
  .svc-row .gl{display:none}
  .steps{grid-template-columns:1fr 1fr}.step:nth-child(even){margin-top:0}
  .why{grid-template-columns:1fr 1fr}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  body{font-size:16px}
  .wrap{padding-inline:16px}
  .top__in{min-height:68px;gap:8px}
  .brand img{height:38px}
  .nav{position:static;margin-inline-start:auto}
  .nav__toggle{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
  .nav__toggle svg{width:22px;height:22px}
  .nav__list{display:none;position:absolute;top:100%;inset-inline:0;background:var(--panel);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 16px 16px}
  .nav__list a{display:block;padding:12px 4px;border-bottom:1px solid var(--line)}
  .nav__check:checked~.nav__list{display:flex}
  .nav__lang{display:block}
  .tools .tool--lang,.tools .btn{display:none}
  .hero__grid,.group,.close__board{grid-template-columns:1fr}
  .hero{padding-top:14px}
  .scene{border-radius:16px;margin-top:24px}
  .scene .sv-l{display:none}.scene .sv-s{display:block}
  .sec__head{flex-direction:column;align-items:start;gap:14px}
  .steps,.why{grid-template-columns:1fr}
  .flow__path{display:none}
  .foot__grid{grid-template-columns:1fr}
  .foot__base{flex-direction:column}
  .stamp{justify-self:start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .h1 .w,.hero .lead,.hero__acts,.tagin,.tagout{opacity:1!important;transform:none!important}
  .spoke,.ring{stroke-dashoffset:0}.node{transform:none}
  .pk-in,.pk-out,.flow__path .dot,.net .pkt{display:none}
  .marquee__run{transform:none}
}
.plain .lead{margin-top:14px}

/* graphics wait until they are on screen (stacked mobile layouts): v2.js adds .in */
.mo .panel:not(.in) *,.mo .scene:not(.in) *{animation-play-state:paused!important}
