/* =========================================================
   Crossed Circles — شركة دوائر متقاطعة
   ========================================================= */

/* ---------- Fonts (Tajawal, self-hosted) ---------- */
@font-face{font-family:"Tajawal";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/tajawal-arabic-300-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/tajawal-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/tajawal-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/tajawal-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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/tajawal-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/tajawal-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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/tajawal-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/tajawal-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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/tajawal-arabic-800-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/tajawal-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/tajawal-arabic-900-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/tajawal-latin-900-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokens ---------- */
:root{
  --brand:#6A1FB0;
  --brand-600:#5A169A;
  --brand-700:#48117E;
  --logo:#7940A0;
  --violet:#8B45D9;
  --lav:#D7C4E3;
  --lav-2:#E9DDF2;
  --lav-3:#F5EFFA;
  --lav-4:#FBF8FD;
  --ink:#1B1030;
  --ink-2:#433A55;
  --muted:#7B7190;
  --line:rgba(106,31,176,.12);
  --line-2:rgba(106,31,176,.2);
  --white:#fff;
  --cyan:#35E0EE;
  --ok:#1FB57A;
  --bg:#ffffff;

  --font:"Tajawal", system-ui, -apple-system, "Segoe UI", sans-serif;
  --header-h:84px;
  --radius:28px;
  --radius-sm:18px;
  --gutter:clamp(16px, 4vw, 48px);
  --maxw:1280px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --shadow-sm:0 1px 2px rgba(27,16,48,.04), 0 4px 16px rgba(74,20,140,.06);
  --shadow:0 2px 6px rgba(27,16,48,.04), 0 18px 48px -12px rgba(74,20,140,.18);
  --shadow-lg:0 30px 80px -24px rgba(74,20,140,.35);
  --sx:1; /* direction sign: 1 = rtl-start on right */
}
[dir="ltr"]{--sx:-1}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--font);font-size:17px;line-height:1.75;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;overflow-x:clip;
}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ol,ul,figure{margin:0}
ol,ul{padding:0;list-style:none}
::selection{background:var(--brand);color:#fff}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:8px}
.latin{unicode-bidi:isolate;direction:ltr}
[dir="ltr"] body{line-height:1.65}

svg use{pointer-events:none}
.container{width:100%;max-width:calc(var(--maxw) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}

.skip-link{position:fixed;top:12px;inset-inline-start:12px;z-index:200;background:var(--brand);color:#fff;padding:10px 18px;border-radius:999px;transform:translateY(-200%);transition:transform .3s var(--ease)}
.skip-link:focus{transform:none}

/* ---------- Icon sizing ---------- */
.btn svg,.chip svg,.area svg,.svc__ic svg,.ccard svg,.totop__ic,.lang-btn svg,.toast svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* =========================================================
   PRELOADER
   ========================================================= */
.preloader{position:fixed;inset:0;z-index:150;background:#fff;display:grid;place-items:center;clip-path:circle(150% at 50% 50%)}
.preloader__inner{display:grid;justify-items:center;gap:34px}
.pl-mark{width:min(210px,46vw);overflow:visible}
.pl-mark .p-disc,.pl-mark .p-cee,.pl-mark .p-dot{transform-box:fill-box;transform-origin:center}
.pl-mark .p-ring-g{transform-box:view-box;transform-origin:149px 261.3px}
.pl-bar{width:120px;height:2px;border-radius:2px;background:var(--lav-2);overflow:hidden}
.pl-bar span{display:block;height:100%;width:100%;background:var(--brand);transform:scaleX(0);transform-origin:var(--bar-origin,right)}
[dir="ltr"] .pl-bar span{--bar-origin:left}
.js body:not(.is-loading) .preloader{pointer-events:none}
html:not(.js) .preloader{display:none}

/* Language wipe */
.lang-wipe{position:fixed;inset:0;z-index:140;background:var(--brand);pointer-events:none;clip-path:circle(0% at var(--wx,50%) var(--wy,0%));display:grid;place-items:center}
.lang-wipe__mark{width:112px;height:112px;padding:30px 20px;border-radius:50%;background:#fff;opacity:0;box-shadow:0 20px 60px -10px rgba(27,16,48,.45)}

/* Scroll progress */
.scroll-progress{position:fixed;inset-inline:0;top:0;height:3px;z-index:120;pointer-events:none}
.scroll-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--violet),var(--cyan));transform:scaleX(0);transform-origin:right}
[dir="ltr"] .scroll-progress span{transform-origin:left}

/* Custom cursor */
.cursor{position:fixed;top:0;left:0;z-index:160;pointer-events:none;display:none}
.cursor__dot,.cursor__ring{position:fixed;top:0;left:0;border-radius:50%;transform:translate(-50%,-50%)}
.cursor__dot{display:none}
.cursor__ring{width:38px;height:38px;border:1.5px solid rgba(106,31,176,.45);transition:width .35s var(--ease),height .35s var(--ease),background-color .35s,border-color .35s}
.cursor.is-hover .cursor__ring{width:64px;height:64px;background:rgba(106,31,176,.08);border-color:rgba(106,31,176,.25)}
.cursor.is-dark .cursor__dot{background:#fff}
.cursor.is-dark .cursor__ring{border-color:rgba(255,255,255,.6)}
.cursor.is-dark.is-hover .cursor__ring{background:rgba(255,255,255,.12)}
@media (hover:hover) and (pointer:fine){
  .has-cursor .cursor{display:block}
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  --h:56px;position:relative;display:inline-flex;align-items:center;gap:14px;height:var(--h);
  padding-inline:28px 10px;border-radius:999px;font-weight:700;font-size:16px;line-height:1;white-space:nowrap;
  isolation:isolate;overflow:hidden;transition:color .45s var(--ease), box-shadow .45s var(--ease);
}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--ink);transform:translateY(101%);transition:transform .55s var(--ease)}
.btn:hover::before{transform:none}
.btn__label{position:relative;padding-block-start:2px}
.btn__icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--brand);transition:transform .5s var(--ease)}
.btn__icon svg{width:18px;height:18px;transform:scaleX(var(--sx-flip,-1))}
[dir="ltr"] .btn__icon svg{--sx-flip:1}
.btn:hover .btn__icon{transform:translateX(calc(var(--sx) * -4px)) rotate(0)}
.btn--primary{background:var(--brand);color:#fff;box-shadow:0 12px 30px -10px rgba(106,31,176,.6)}
.btn--primary:hover{box-shadow:0 18px 40px -12px rgba(27,16,48,.5)}
.btn--ghost{padding-inline:28px;color:var(--ink);background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-2)}
.btn--ghost::before{background:var(--lav-3)}
.btn--ghost:hover{color:var(--brand)}
.btn--sm{--h:46px;font-size:15px;padding-inline:20px 6px;gap:10px}
.btn--sm .btn__icon{width:34px;height:34px}
.btn--sm .btn__icon svg{width:16px;height:16px}

/* =========================================================
   HEADER
   ========================================================= */
.header{position:fixed;inset-inline:0;top:0;z-index:100;height:var(--header-h);transition:transform .6s var(--ease), background-color .4s, box-shadow .4s, backdrop-filter .4s}
.header::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.72);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);opacity:0;transition:opacity .4s;box-shadow:0 1px 0 var(--line)}
.header.is-scrolled::after{opacity:1}
.header.is-hidden{transform:translateY(-100%)}
.header__row{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand__mark{width:58px;height:40px;overflow:visible}
.brand__text{display:grid;line-height:1.1}
.brand__name{font-weight:800;font-size:19px;color:var(--ink)}
.brand__latin{font-size:9.5px;letter-spacing:.36em;color:var(--logo);font-weight:500;direction:ltr;text-align:start;margin-top:4px}
[dir="rtl"] .brand__latin{text-align:right}
.nav{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:999px;padding:5px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav a{position:relative;white-space:nowrap;padding:9px 16px 7px;border-radius:999px;font-size:15px;font-weight:500;color:var(--ink-2);transition:color .3s}
.nav a::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--lav-3);transform:scale(.6);opacity:0;transition:transform .4s var(--ease),opacity .3s}
.nav a:hover{color:var(--brand)}
.nav a:hover::before{transform:none;opacity:1}
.nav a.is-active{color:#fff}
.nav a.is-active::before{background:var(--brand);transform:none;opacity:1}
.nav a > *{position:relative}
.nav a{isolation:isolate}
.nav a::before{z-index:-1}
.header__actions{display:flex;align-items:center;gap:10px}
.lang-btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding-inline:16px;border-radius:999px;font-weight:700;font-size:15px;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2);background:rgba(255,255,255,.6);transition:background-color .3s,color .3s,box-shadow .3s}
.lang-btn:hover{background:var(--brand);color:#fff;box-shadow:none}
.lang-btn__globe svg{width:18px;height:18px;transition:transform .8s var(--ease)}
.lang-btn:hover .lang-btn__globe svg{transform:rotate(180deg)}
.lang-btn__text{padding-top:2px}
.burger{display:none;width:46px;height:46px;border-radius:50%;background:var(--brand);position:relative}
.burger span{position:absolute;left:50%;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .5s var(--ease)}
.burger span:first-child{transform:translate(-50%,-4px)}
.burger span:last-child{transform:translate(-50%,4px)}
.menu-open .burger span:first-child{transform:translate(-50%,0) rotate(45deg)}
.menu-open .burger span:last-child{transform:translate(-50%,0) rotate(-45deg)}

/* Mobile menu */
.menu{position:fixed;inset:0;z-index:90;background:var(--brand);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--header-h) + 24px) var(--gutter) 40px;clip-path:circle(0% at var(--mx,90%) var(--my,42px));visibility:hidden;overflow:hidden}
.menu__rings span{position:absolute;border-radius:50%;border:44px solid rgba(215,196,227,.18)}
.menu__rings span:first-child{width:520px;height:520px;top:-220px;inset-inline-end:-220px}
.menu__rings span:last-child{width:340px;height:340px;bottom:-160px;inset-inline-start:-140px;border-width:30px}
.menu__nav{display:grid;gap:4px;position:relative}
.menu__nav a{display:flex;align-items:baseline;gap:16px;font-size:clamp(28px,8vw,44px);font-weight:800;line-height:1.35;padding-block:2px}
.menu__num{font-size:13px;font-weight:500;opacity:.55;min-width:24px}
.menu__foot{position:relative;margin-top:40px;display:grid;gap:6px;opacity:.8;font-size:16px}
.menu__foot a{justify-self:start}
.menu-open .header::after{opacity:0!important}
.menu-open .brand__name{color:#fff}
.menu-open .brand__latin{color:rgba(255,255,255,.7)}
.menu-open .brand__mark{filter:brightness(0) invert(1)}
.menu-open .lang-btn{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4);background:transparent}
.menu-open .burger{background:#fff}
.menu-open .burger span{background:var(--brand)}

/* =========================================================
   SHARED SECTION BITS
   ========================================================= */
.section{position:relative;padding-block:clamp(90px,12vw,160px);overflow-x:clip}
main,.contact{overflow-x:clip}
.sec-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;color:var(--brand)}
.sec-head__num{font-weight:800;font-size:15px;letter-spacing:.06em;padding-top:2px}
.sec-head__line{height:1.5px;width:64px;background:linear-gradient(to left, var(--brand), rgba(106,31,176,.1));transform-origin:right}
[dir="ltr"] .sec-head__line{background:linear-gradient(to right, var(--brand), rgba(106,31,176,.1));transform-origin:left}
.sec-head__mark{width:40px;height:28px}
.sec-title{font-weight:800;font-size:clamp(38px,5.4vw,72px);line-height:1.18;color:var(--ink);letter-spacing:0}
[dir="ltr"] .sec-title{letter-spacing:-.02em;line-height:1.08}

.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 6px;border-radius:999px;background:var(--lav-3);color:var(--brand);font-weight:700;font-size:15px;box-shadow:inset 0 0 0 1px var(--line)}
.eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(106,31,176,.15);animation:pulse 2.4s var(--ease) infinite;margin-top:-2px}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(106,31,176,.15)}50%{box-shadow:0 0 0 8px rgba(106,31,176,0)}}

/* Split words */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-block:.08em .14em;margin-block:-.08em -.14em;padding-inline:.04em;margin-inline:-.04em}
.wi{display:inline-block;will-change:transform}

/* Dotted background (from the profile) */
.dots-bg{position:absolute;width:min(46vw,620px);height:520px;pointer-events:none;background-image:radial-gradient(rgba(106,31,176,.16) 1.4px, transparent 1.6px);background-size:18px 18px;opacity:.9}
.dots-bg--end{top:40px;inset-inline-end:0;-webkit-mask-image:radial-gradient(closest-side at 70% 30%,#000,transparent);mask-image:radial-gradient(closest-side at 70% 30%,#000,transparent)}
.dots-bg--start{top:120px;inset-inline-start:0;-webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent)}

/* Corner arcs (from the profile) */
.corner-arcs{position:absolute;pointer-events:none;width:clamp(200px,24vw,340px);height:auto;overflow:visible}
.corner-arcs circle{fill:none}
.corner-arcs .ca-a{stroke:var(--logo);stroke-width:44;opacity:.9;stroke-dasharray:330 1555;stroke-linecap:round}
.corner-arcs--hero .ca-rtl .ca-a{stroke-dashoffset:-40}
.corner-arcs--hero .ca-ltr .ca-a{stroke-dashoffset:-560}
.corner-arcs--svc .ca-rtl .ca-a{stroke-dashoffset:-982}
.corner-arcs--svc .ca-ltr .ca-a{stroke-dashoffset:-1454}
.corner-arcs .ca-b{stroke:#fff;stroke-width:26}
.corner-arcs .ca-c{fill:var(--lav-2);stroke:none}
.corner-arcs--hero{top:0;inset-inline-end:0}
[dir="rtl"] .corner-arcs .ca-ltr,[dir="ltr"] .corner-arcs .ca-rtl{display:none}
.corner-arcs--svc{bottom:0;inset-inline-start:0;opacity:.95}

/* Dome media — the curved frame from the profile */
.dome{position:relative;padding-top:18px}
.dome__rim{position:absolute;inset:0 0 auto 0;height:100%;border-radius:50% 50% 26px 26px / 38% 38% 26px 26px;background:linear-gradient(160deg,var(--violet),var(--brand-700));transform-origin:bottom center}
.dome__img{position:relative;overflow:hidden;border-radius:50% 50% 24px 24px / 38% 38% 24px 24px;aspect-ratio:1.18;background:var(--lav-2);margin-inline:10px;box-shadow:var(--shadow-lg)}
.dome__img img{width:100%;height:100%;object-fit:cover;transform-origin:center;will-change:transform}
.dome--tall .dome__img{aspect-ratio:.95}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-top:calc(var(--header-h) + 24px);padding-bottom:80px;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--lav-4) 100%)}
.hero__dots{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.hero__glow--a{width:520px;height:520px;background:rgba(139,69,217,.20);top:10%;inset-inline-end:8%}
.hero__glow--b{width:380px;height:380px;background:rgba(53,224,238,.13);bottom:-80px;inset-inline-end:30%}
.hero__grid{position:relative;display:grid;grid-template-columns:1.2fr .95fr;align-items:center;gap:clamp(24px,5vw,80px)}
.hero__content{position:relative;z-index:2;min-width:0}
.hero__eyebrow{margin-bottom:26px}
.hero__title{text-wrap:balance;font-weight:900;font-size:clamp(38px,3.9vw,60px);line-height:1.12;color:var(--ink);margin-bottom:26px}
[dir="ltr"] .hero__title{letter-spacing:-.03em;line-height:1.06;font-size:clamp(34px,3.3vw,50px)}
.hero__line{display:block}

.hero__line--accent{color:var(--brand)}
.hero__line--accent .wi{background:linear-gradient(95deg,var(--brand) 0%,var(--violet) 60%,#A56BE6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.04em}
.hero__lead{font-size:clamp(17px,1.45vw,20px);color:var(--ink-2);max-width:34em;margin-bottom:38px;line-height:1.85}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}

.hero__visual{position:relative;display:grid;place-items:center;z-index:1}
.orb{position:relative;width:min(560px,42vw);aspect-ratio:1}
.orb__rings{position:absolute;inset:-4%;width:108%;height:108%;overflow:visible}
.orb__dash{fill:none;stroke:var(--lav);stroke-width:1.5;stroke-dasharray:3 9}
.orb__arc{fill:none;stroke:url(#gRing);stroke-width:26;stroke-linecap:round;stroke-dasharray:1100 1646}
.orb__arc2{fill:none;stroke:var(--lav);stroke-width:6;stroke-linecap:round;stroke-dasharray:260 1474}
.orb__spin,.orb__spin2,.orb__orbit,.orb__orbit2{transform-origin:300px 300px}
.orb__sat{fill:var(--brand);stroke:#fff;stroke-width:3}
.orb__sat2{fill:var(--cyan);stroke:#fff;stroke-width:2}
.orb__photo{position:absolute;inset:9%;border-radius:50%;overflow:hidden;box-shadow:0 40px 90px -30px rgba(74,20,140,.55), inset 0 0 0 1px rgba(255,255,255,.3);background:var(--lav-2)}
.orb__photo img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;transform:scale(1.12)}
.orb__photo::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 45%);pointer-events:none}
.orb__cross{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.orb__line{fill:none;stroke:var(--logo);stroke-width:5;stroke-linecap:round}
.orb__node{fill:#fff;stroke:var(--logo);stroke-width:7}
.orb__core{fill:var(--brand)}
.chip{position:absolute;display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap;direction:ltr}
.chip__ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--lav-3);color:var(--brand)}
.chip__ic svg{width:18px;height:18px}
.chip--1{top:9%;left:-10%}
.chip--2{top:66%;right:-10%}
.chip--3{bottom:3%;left:6%}
.hero__scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;padding:8px}
.hero__mouse{display:block;width:26px;height:42px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--line-2);position:relative}
.hero__mouse span{position:absolute;top:8px;left:50%;width:3px;height:8px;margin-left:-1.5px;border-radius:3px;background:var(--brand);animation:wheel 2s var(--ease) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee-wrap{position:relative;z-index:3;overflow:hidden;padding-block:26px;margin-block:-26px}
.marquee{position:relative;background:var(--brand);color:#fff;overflow:hidden;padding-block:22px 18px;transform:rotate(-1.6deg) scale(1.03);margin-block:-10px;z-index:3;box-shadow:0 20px 50px -20px rgba(106,31,176,.6)}
[dir="ltr"] .marquee{transform:rotate(1.6deg) scale(1.03)}
.marquee__track{display:flex;width:max-content;will-change:transform}
.marquee__group{display:flex;align-items:center;flex-shrink:0}
.marquee__group span{font-weight:800;font-size:clamp(22px,2.6vw,36px);line-height:1.3;padding-inline:26px;white-space:nowrap}
.marquee__group i{flex-shrink:0;width:14px;height:14px;border-radius:50%;border:3px solid var(--lav);position:relative}
.marquee__group i::after{content:"";position:absolute;top:50%;width:22px;height:3px;background:var(--lav);left:100%;transform:translateY(-50%)}

/* =========================================================
   ABOUT
   ========================================================= */
.about{overflow:hidden}
.about__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,96px);align-items:end}
.about__text .sec-title{margin-bottom:30px}
.about__big{font-size:clamp(21px,2.1vw,30px);line-height:1.75;font-weight:500;color:var(--ink);margin-bottom:28px}
[dir="ltr"] .about__big{line-height:1.55;letter-spacing:-.01em}
.about__big .w{overflow:visible;padding:0;margin:0}
.about__p{color:var(--ink-2);font-size:18px;max-width:40em;line-height:1.9}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(56px,8vw,100px);border-top:1px solid var(--line)}
.stat{display:flex;align-items:baseline;gap:18px;padding:32px 0 0;padding-inline-end:24px}
.stat + .stat{padding-inline-start:clamp(16px,3vw,40px);border-inline-start:1px solid var(--line)}
.stat__num{font-weight:900;font-size:clamp(56px,7vw,96px);line-height:1;color:var(--brand);font-variant-numeric:tabular-nums;background:linear-gradient(180deg,var(--violet),var(--brand-700));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat__label{font-weight:700;font-size:17px;color:var(--ink-2);line-height:1.4}

/* =========================================================
   VISION & MISSION
   ========================================================= */
.vm{background:linear-gradient(180deg,var(--lav-4),#fff);overflow:hidden}
.vm__bgword{position:absolute;top:50%;left:0;transform:translateY(-50%);white-space:nowrap;pointer-events:none;font-weight:900;font-size:clamp(120px,18vw,280px);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(106,31,176,.09);direction:ltr}
.vm__bgword span{display:inline-block;direction:rtl}
[dir="ltr"] .vm__bgword span{direction:ltr}
.vm__row{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,120px);align-items:center}
.vm__row + .vm__row{margin-top:clamp(70px,10vw,140px)}
.vm__row--rev .vm__media{order:2}
.ring-media{position:relative;width:min(100%,500px);aspect-ratio:1;margin-inline:auto}
.ring-media__svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.rm-track{fill:none;stroke:var(--lav-2);stroke-width:10}
.rm-prog{fill:none;stroke:var(--brand);stroke-width:10;stroke-linecap:round;stroke-dasharray:1496;stroke-dashoffset:1496}
.ring-media__img{position:absolute;inset:6%;border-radius:50%;overflow:hidden;box-shadow:var(--shadow-lg);background:#0b1624}
.ring-media__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.25)}
.vm__row:first-of-type .ring-media__img img{object-position:40% 50%}
.vm__tag{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#fff;box-shadow:var(--shadow);margin-bottom:22px}
.vm__tag svg{width:40px;height:28px}
.vm__body .sec-title{margin-bottom:22px;color:var(--brand)}
.vm__text{font-size:clamp(20px,1.9vw,27px);line-height:1.85;font-weight:500;color:var(--ink);max-width:24em}
[dir="ltr"] .vm__text{line-height:1.6}

/* =========================================================
   AREAS
   ========================================================= */
.areas__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:start}
.areas__side{position:sticky;top:calc(var(--header-h) + 30px)}
.areas__side .sec-title{margin-bottom:36px}
.areas__list{border-top:1px solid var(--line);counter-reset:a}
.area{position:relative;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:20px;padding:28px 18px;border-bottom:1px solid var(--line);isolation:isolate;cursor:default;transition:color .45s var(--ease)}
.area::before{content:"";position:absolute;inset:6px 0;z-index:-1;border-radius:22px;background:var(--brand);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
[dir="ltr"] .area::before{transform-origin:left}
.area::after{content:"";position:absolute;bottom:-1px;inset-inline:0;height:1.5px;background:var(--brand);transform:scaleX(var(--line-s,0));transform-origin:right}
[dir="ltr"] .area::after{transform-origin:left}
.area__num{font-weight:800;font-size:14px;color:var(--brand);min-width:26px;transition:color .45s}
.area__ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--lav-3);color:var(--brand);transition:background-color .45s,color .45s,transform .6s var(--ease)}
.area__ic svg{width:24px;height:24px}
.area__t{font-weight:700;font-size:clamp(18px,1.7vw,23px);line-height:1.5;color:var(--ink);transition:color .45s}
.area__arrow{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--brand);transition:all .5s var(--ease)}
.area__arrow svg{width:18px;height:18px;transform:scaleX(-1) rotate(-45deg);transition:transform .5s var(--ease)}
[dir="ltr"] .area__arrow svg{transform:rotate(-45deg)}
@media (hover:hover){
  .area:hover{color:#fff}
  .area:hover::before{transform:scaleX(1)}
  .area:hover .area__num,.area:hover .area__t{color:#fff}
  .area:hover .area__ic{background:rgba(255,255,255,.14);color:#fff;transform:rotate(-8deg) scale(1.06)}
  .area:hover .area__arrow{background:#fff;box-shadow:none}
  .area:hover .area__arrow svg{transform:scaleX(-1) rotate(0)}
  [dir="ltr"] .area:hover .area__arrow svg{transform:rotate(0)}
}

/* =========================================================
   SERVICES
   ========================================================= */
.services{background:var(--lav-4);overflow:hidden}
.services__head{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:clamp(24px,5vw,80px);margin-bottom:clamp(40px,5vw,64px)}
.services__sub{font-size:clamp(17px,1.5vw,21px);color:var(--ink-2);max-width:32em;line-height:1.8;justify-self:end}
.services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;perspective:1200px}
.svc{
  --mx:50%;--my:50%;
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;
  min-height:220px;padding:28px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);
  overflow:hidden;isolation:isolate;transform-style:preserve-3d;transition:box-shadow .5s var(--ease);will-change:transform
}
.svc::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(139,69,217,.14),transparent 45%);opacity:0;transition:opacity .4s}
.svc::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:radial-gradient(260px circle at var(--mx) var(--my),var(--brand),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none}
.svc:hover{box-shadow:var(--shadow)}
.svc:hover::before,.svc:hover::after{opacity:1}
.svc__num{position:absolute;top:24px;inset-inline-end:28px;font-weight:800;font-size:14px;color:var(--lav);transition:color .4s}
.svc:hover .svc__num{color:var(--brand)}
.svc__ic{position:relative;flex-shrink:0;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--lav-3);color:var(--brand);transition:background-color .5s var(--ease),color .5s var(--ease),transform .6s var(--ease)}
.svc__ic::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px dashed var(--lav);opacity:0;transform:scale(.8) rotate(0);transition:opacity .4s,transform .8s var(--ease)}
.svc:hover .svc__ic{background:var(--brand);color:#fff;transform:translateZ(30px)}
.svc:hover .svc__ic::after{opacity:1;transform:scale(1) rotate(90deg)}
.svc__ic svg{width:28px;height:28px}
.svc__t{font-weight:800;font-size:clamp(19px,1.5vw,22px);line-height:1.45;color:var(--ink);margin-top:0;padding-inline-end:40px;transform:translateZ(20px)}
.svc{display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:22px;align-items:start;min-height:0!important;padding:30px 30px 28px!important}
.svc__ic{grid-row:1 / span 2}
.svc__t,.svc__d{grid-column:2}
.svc__t{align-self:center;min-height:66px;display:flex;align-items:center}
.svc__d{margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-size:15px;line-height:1.9;color:var(--ink-2);transform:translateZ(12px)}
[dir="ltr"] .svc__d{line-height:1.7;font-size:14.5px}

/* =========================================================
   TRACK RECORD
   ========================================================= */
.record__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,120px);align-items:center}
.record__body .sec-title{margin-bottom:24px}
.record__p{font-size:clamp(18px,1.6vw,22px);line-height:1.9;color:var(--ink-2);margin-bottom:30px}
.checks{display:grid;gap:14px}
.checks li{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:20px;background:#fff;box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);font-weight:700;font-size:clamp(17px,1.4vw,19px);line-height:1.5;transition:transform .5s var(--ease), box-shadow .5s var(--ease)}
.checks li:hover{transform:translateX(calc(var(--sx) * -8px));box-shadow:var(--shadow)}
.checks__ic{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--brand);display:grid;place-items:center;box-shadow:0 8px 18px -6px rgba(106,31,176,.6)}
.checks__ic svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.checks__ic path{stroke-dasharray:24;stroke-dashoffset:0}

/* =========================================================
   PROJECTS
   ========================================================= */
.projects{background:linear-gradient(180deg,#fff,var(--lav-4) 30%,var(--lav-4) 70%,#fff)}
.projects__title{margin-bottom:clamp(40px,5vw,64px)}
.stack{position:relative;display:grid;gap:clamp(28px,4vw,48px)}
.project{
  position:relative;display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(24px,3.4vw,48px);
  padding:clamp(18px,2.2vw,28px);border-radius:36px;background:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 0 0 1px var(--line), 0 40px 80px -40px rgba(74,20,140,.35);
  transform-origin:center top;will-change:transform
}
.project__visual{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0}
.project__media{position:relative;flex:1;min-height:300px;border-radius:26px;overflow:hidden;background:#0f0a1d;isolation:isolate}
.project__img{position:absolute;inset:0}
.project__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
.project__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,16,48,0) 45%,rgba(27,16,48,.5));pointer-events:none}
.project__inset{position:absolute;z-index:2;width:40%;max-width:280px;aspect-ratio:16/9;bottom:16px;inset-inline-start:16px;border-radius:16px;overflow:hidden;border:4px solid #fff;box-shadow:var(--shadow-lg)}
.project__inset img{width:100%;height:100%;object-fit:cover}
.project__brand{position:absolute;z-index:2;top:16px;inset-inline-end:18px;display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:20px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow)}
[dir="rtl"] .project__brand{padding:8px 8px 8px 18px}
.project__brand--img{padding:10px 18px!important}
.project__brand--img img{height:46px;width:auto}
.project__icon{width:48px;height:48px}
.project__brand strong{display:block;font-weight:800;font-size:15px;line-height:1.3;color:var(--brand)}
.project__brand small{display:block;font-size:12px;color:var(--muted);direction:ltr;text-align:start;letter-spacing:.02em}
[dir="rtl"] .project__brand small{text-align:right}
[dir="ltr"] .project__brand small{display:none}
.project__body{display:flex;flex-direction:column;padding-block:8px;padding-inline-end:clamp(4px,1.4vw,18px)}
.project__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.project__num{font-weight:900;font-size:clamp(46px,4.6vw,64px);line-height:1;background:linear-gradient(180deg,var(--lav),rgba(215,196,227,.3));-webkit-background-clip:text;background-clip:text;color:transparent}
.status{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 5px;border-radius:999px;background:rgba(31,181,122,.1);color:#10855A;font-weight:700;font-size:14px}
.status__dot{width:8px;height:8px;border-radius:50%;background:var(--ok);margin-top:-2px;box-shadow:0 0 0 0 rgba(31,181,122,.5);animation:okpulse 2s infinite}
@keyframes okpulse{0%{box-shadow:0 0 0 0 rgba(31,181,122,.5)}70%{box-shadow:0 0 0 8px rgba(31,181,122,0)}100%{box-shadow:0 0 0 0 rgba(31,181,122,0)}}
.project__name{font-weight:800;font-size:clamp(26px,2.6vw,36px);line-height:1.3;color:var(--ink);margin-bottom:14px}
.project__type,.project__nature{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-weight:700;font-size:15.5px;color:var(--brand);line-height:1.6}
.project__type{padding:10px 16px 8px;border-radius:14px;background:var(--lav-3);margin-bottom:16px}
.project__label{font-weight:500;color:var(--muted);font-size:14px}
.project__label::after{content:":"}
.project__desc{font-size:16.5px;line-height:1.85;color:var(--ink-2);margin-bottom:20px}
.project__h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;font-size:15px;color:var(--ink);padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.project__scope li{position:relative;padding-inline-start:20px;font-size:15px;line-height:1.6;color:var(--ink-2);margin-bottom:7px}
.project__scope li::before{content:"";position:absolute;inset-inline-start:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--lav-2)}
.project__scope{margin-bottom:16px}
.project__scope ul{display:grid;grid-template-columns:1fr;gap:0 24px}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px;padding:16px 20px 18px;border-radius:22px;background:var(--lav-4);box-shadow:inset 0 0 0 1px var(--line)}
.team .project__h{grid-column:1 / -1;margin-bottom:4px;padding-bottom:10px}
.team__total{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:3px 10px 0;border-radius:999px;background:var(--brand);color:#fff;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.team__row{display:flex;flex-direction:column;gap:3px;min-width:0}
.team__n{font-weight:900;font-size:26px;line-height:1.1;color:var(--brand);font-variant-numeric:tabular-nums}
.team__l{font-size:12.5px;font-weight:700;color:var(--ink-2);line-height:1.35;direction:ltr;text-align:start;min-height:2.7em}
[dir="rtl"] .team__l{text-align:right}
.team__bar{height:5px;border-radius:5px;background:var(--lav-2);overflow:hidden;margin-top:4px}
.team__bar i{display:block;height:100%;width:calc(var(--v) / 7 * 100%);border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--brand));transform-origin:right;transform:scaleX(var(--bar,1))}
[dir="ltr"] .team__bar i{transform-origin:left}
.project__nature{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line-2)}

@media (min-width:1100px) and (min-height:780px){
  .stack{gap:0}
  .project{position:sticky;top:calc(var(--header-h) + 8px + var(--i) * 18px);height:calc(100vh - var(--header-h) - 40px - var(--i) * 18px);max-height:760px;margin-bottom:12vh}
  .project:last-child{margin-bottom:0}
}

/* =========================================================
   WHY
   ========================================================= */
.why{background:#fff}
.why__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,7vw,120px);align-items:center}
.why__orb{position:relative;width:min(100%,480px);aspect-ratio:1;margin-inline:auto}
.why__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.wr-track{fill:none;stroke:var(--lav-2);stroke-width:14}
.wr-prog{fill:none;stroke:var(--brand);stroke-width:14;stroke-linecap:round;stroke-dasharray:1483;stroke-dashoffset:1483}
.why__img{position:absolute;inset:7%;border-radius:50%;overflow:hidden;background:#07121c}
.why__img img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.2)}
.why__q{position:absolute;inset-inline-end:-6%;bottom:-8%;font-weight:900;font-size:clamp(150px,17vw,260px);line-height:1;color:var(--brand);text-shadow:0 20px 50px rgba(106,31,176,.35);-webkit-text-stroke:6px #fff;paint-order:stroke fill}
.why__body .sec-title{margin-bottom:34px}
.why__list{display:grid}
.why__item{display:flex;align-items:baseline;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);transition:opacity .5s var(--ease)}
.why__item:first-child{border-top:1px solid var(--line)}
.why__n{font-weight:800;font-size:14px;color:var(--brand);min-width:26px}
.why__t{font-weight:800;font-size:clamp(20px,2.1vw,30px);line-height:1.45;color:var(--ink);transition:color .5s var(--ease)}
@media (hover:hover){.why__item:hover .why__t{color:var(--brand)}}

/* =========================================================
   CONTACT / FOOTER
   ========================================================= */
.contact{position:relative;background:var(--brand);color:#fff;overflow:hidden;padding-top:clamp(90px,12vw,160px)}
.contact__rings{position:absolute;top:-440px;inset-inline-end:-260px;width:min(820px,110vw);pointer-events:none;opacity:.85}
.contact__rings svg{width:100%;height:auto;overflow:visible}
.contact__rings circle{fill:none}
.cr-a{stroke:rgba(215,196,227,.5);stroke-width:64;stroke-dasharray:1500 888}
.cr-b{stroke:rgba(255,255,255,.12);stroke-width:2;stroke-dasharray:4 14}
.cr-c{stroke:rgba(215,196,227,.5);stroke-width:64;stroke-dasharray:820 562}
.contact__dots{position:absolute;inset:auto auto 0 0;width:50%;height:60%;background-image:radial-gradient(rgba(255,255,255,.14) 1.4px,transparent 1.6px);background-size:18px 18px;-webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent);pointer-events:none}
[dir="rtl"] .contact__dots{inset:auto 0 0 auto}
.contact__inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:end}
.contact__logo{width:clamp(170px,18vw,240px);margin-bottom:34px}
.contact__title{font-weight:900;font-size:clamp(52px,8vw,120px);line-height:1.1}
[dir="ltr"] .contact__title{letter-spacing:-.035em;line-height:1}
.contact__cards{display:grid;gap:16px}
.ccard{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:18px;align-items:center;padding:22px 22px;border-radius:26px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background-color .4s,transform .5s var(--ease)}
.ccard{cursor:pointer}
.ccard:hover{background:rgba(255,255,255,.16);transform:translateY(-3px)}
.ccard__val::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.ccard__copy{position:relative;z-index:2}
.ccard__ic{transition:transform .5s var(--ease)}
.ccard:hover .ccard__ic{transform:rotate(-8deg) scale(1.06)}
.ccard:hover .ccard__val{background-size:100% 1.5px}
.ccard__ic{grid-row:1 / span 2;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#fff;color:var(--brand)}
.ccard__ic svg{width:24px;height:24px}
.ccard__label{font-size:14px;font-weight:500;opacity:.75}
.ccard__val{grid-column:2;font-weight:800;font-size:clamp(20px,2.2vw,30px);line-height:1.3;justify-self:start;background:linear-gradient(currentColor,currentColor) no-repeat 0 100% / 0 1.5px;transition:background-size .5s var(--ease)}
[dir="rtl"] .ccard__val{background-position:100% 100%}
.ccard__val:hover{background-size:100% 1.5px}
.ccard__copy{grid-row:1 / span 2;grid-column:3;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3);transition:background-color .3s,color .3s}
.ccard__copy:hover{background:#fff;color:var(--brand)}
.ccard__copy svg{width:18px;height:18px}
.ccard__copy .i-done{display:none}
.ccard__copy.is-done .i-copy{display:none}
.ccard__copy.is-done .i-done{display:block}
.contact__bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:clamp(70px,9vw,120px);padding-block:28px;font-size:14.5px}
.contact__bottom::before{content:"";position:absolute;top:0;inset-inline:var(--gutter);height:1px;background:rgba(255,255,255,.16)}
.contact__legal{opacity:.85;font-weight:500}
.contact__copy{opacity:.7}
.totop{position:relative;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;transition:background-color .3s}
.totop:hover{background:rgba(255,255,255,.1)}
.totop__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.totop__ring circle{fill:none;stroke:rgba(255,255,255,.2);stroke-width:2}
.totop__ring .totop__prog{stroke:#fff;stroke-dasharray:138.3;stroke-dashoffset:138.3;stroke-linecap:round}
.totop__ic{width:20px;height:20px}
.toast{position:fixed;bottom:28px;left:50%;z-index:130;display:flex;align-items:center;gap:10px;padding:12px 20px 10px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:15px;transform:translate(-50%,calc(100% + 60px));visibility:hidden;transition:transform .6s var(--ease),visibility 0s .6s;box-shadow:var(--shadow-lg)}
.toast svg{width:18px;height:18px;color:var(--cyan);margin-top:-2px}
.toast.is-on{transform:translate(-50%,0);visibility:visible;transition:transform .6s var(--ease),visibility 0s}


/* Trust / verification logos */
.trust{position:relative;margin-top:clamp(56px,7vw,90px)}
.trust__head{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:22px}
.trust__title{font-weight:800;font-size:clamp(20px,1.8vw,24px);line-height:1.4;color:#fff}
.trust__line{display:flex;align-items:center;gap:6px}
.trust__line i{width:7px;height:7px;border-radius:50%;background:var(--lav)}
.trust__line b{width:56px;height:5px;border-radius:5px;background:#fff}
.trust__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.trust__item{display:grid;place-items:center;height:104px;padding:16px 22px;border-radius:20px;background:#fff;box-shadow:0 14px 34px -18px rgba(20,6,40,.55);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.trust__item:hover{transform:translateY(-4px);box-shadow:0 22px 44px -18px rgba(20,6,40,.6)}
.trust__item img{width:100%;height:58px;object-fit:contain}
@media (max-width:1060px){.trust__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.trust__list{gap:10px}.trust__item{height:84px;padding:12px 14px;border-radius:16px}.trust__item img{height:46px}}

/* =========================================================
   INITIAL (pre-animation) STATES — only when JS runs
   ========================================================= */
.js [data-reveal]{opacity:0}
.js .hero__eyebrow,.js .hero__lead,.js .hero__actions > *,.js .chip,.js .orb__photo,.js .orb__rings,.js .hero__scroll{opacity:0}
.js .orb__line{stroke-dasharray:700;stroke-dashoffset:700}
.js .orb__node,.js .orb__core{opacity:0}
.js [data-split] .wi{transform:translateY(110%)}
.no-motion [data-reveal],.no-motion .hero *{opacity:1!important}
.no-motion [data-split] .wi{transform:none!important}
.no-motion .orb__line{stroke-dashoffset:0!important}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1280px){
  .nav a{padding-inline:11px;font-size:14.5px}
}
@media (max-width:1180px){
  .nav,.header__cta{display:none}
  .burger{display:block}
}
@media (max-width:1060px){
  :root{--header-h:74px}
  .nav,.header__cta{display:none}
  .burger{display:block}
  .hero__grid{grid-template-columns:1fr;text-align:start}
  .hero{padding-top:calc(var(--header-h) + 36px)}
  .hero__title,[dir="ltr"] .hero__title{font-size:clamp(34px,6.6vw,60px)}
  .hero__visual{order:-1;margin-bottom:12px}
  .orb{width:min(420px,74vw)}
  .chip--1{left:-6%}
  .chip--2{right:-6%}
  .about__grid,.record__grid,.areas__grid,.contact__inner,.why__grid{grid-template-columns:1fr}
  .areas__side{position:relative;top:0}
  .areas__side .dome{max-width:560px}
  .about__media .dome{max-width:560px}
  .vm__row{grid-template-columns:1fr}
  .vm__row--rev .vm__media{order:0}
  .ring-media{width:min(100%,420px)}
  .services__head{grid-template-columns:1fr}
  .services__sub{justify-self:start}
  .services__grid{grid-template-columns:1fr}
  .project{grid-template-columns:1fr}
  .project__visual{display:contents}
  .project__media{flex:none;min-height:0;aspect-ratio:16/10;order:1}
  .project__body{order:2}
  .project .team{order:3}
  .why__orb{width:min(100%,380px)}
  .record__media{order:2}
}
@media (max-width:640px){
  body{font-size:16px}
  .brand__mark{width:48px;height:34px}
  .brand__name{font-size:17px}
  .brand__latin{font-size:8.5px;letter-spacing:.3em}
  .lang-btn{padding-inline:12px;height:42px;font-size:14px}
  .lang-btn__globe{display:none}
  .burger{width:42px;height:42px}
  .hero__title{font-size:clamp(32px,9.2vw,46px)}
  [dir="ltr"] .hero__title{font-size:clamp(30px,8.4vw,42px)}
  .hero__actions .btn{flex:1 1 auto;justify-content:space-between}
  .hero__actions .btn--ghost{justify-content:center}
  .chip{font-size:12.5px;padding:6px 12px 6px 6px}
  .chip__ic{width:28px;height:28px}
  .chip__ic svg{width:15px;height:15px}
  .chip--1{top:2%;left:-2%}
  .chip--2{right:-3%}
  .chip--3{bottom:0;left:0}
  .hero__scroll{display:none}
  .stats{grid-template-columns:1fr}
  .stat{padding-top:22px;padding-inline:0!important;border-inline-start:0!important;padding-bottom:18px;border-bottom:1px solid var(--line)}
  .services__grid{grid-template-columns:1fr;gap:12px}
  .svc{padding:22px!important;border-radius:22px;column-gap:16px}
  .svc__ic{width:54px;height:54px}
  .svc__ic svg{width:24px;height:24px}
  .svc__t{font-size:18px;min-height:54px}
  .svc__d{font-size:14.5px;grid-column:1 / -1}
  .svc__ic{grid-row:1}
  .svc__num{top:18px;inset-inline-end:20px}
  .area{grid-template-columns:auto 1fr auto;gap:14px;padding:20px 6px}
  .area__num{display:none}
  .area__ic{width:46px;height:46px;border-radius:14px}
  .area__arrow{width:38px;height:38px}
  .project{border-radius:28px}
  .team{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:16px}
  .team__l{min-height:0}
  .project__brand{top:12px;inset-inline-end:12px;padding:6px 14px 6px 6px}
  .project__brand--img img{height:34px}
  .project__icon{width:38px;height:38px}
  .project__brand strong{font-size:13.5px}
  .project__inset{width:52%;border-width:4px;border-radius:14px}
  .ccard{grid-template-columns:auto 1fr auto;padding:18px;column-gap:14px}
  .ccard__ic{width:48px;height:48px;border-radius:15px}
  .ccard__val{font-size:19px}
  .ccard__copy{width:40px;height:40px}
  .contact__bottom{flex-direction:column;align-items:flex-start}
  .totop{position:absolute;inset-inline-end:var(--gutter);top:22px}
  .contact__legal{padding-inline-end:70px}
  .why__q{font-size:130px}
  .marquee{padding-block:16px 12px}
}


/* ---- Device-range refinements ---- */
/* Tablets in landscape & large tablets: keep the two-column hero */
@media (min-width:901px) and (max-width:1060px){
  .hero__grid{grid-template-columns:1.15fr 1fr;text-align:start}
  .hero__visual{order:0;margin-bottom:0}
  .orb{width:min(400px,38vw)}
  .hero__title,[dir="ltr"] .hero__title{font-size:clamp(34px,4.2vw,46px)}
}
/* Phones held sideways / short landscape screens: side-by-side, compact hero */
@media (max-width:1060px) and (orientation:landscape) and (max-height:560px){
  .hero{min-height:0;padding-top:calc(var(--header-h) + 20px);padding-bottom:48px}
  .hero__grid{grid-template-columns:1.2fr 1fr;gap:28px}
  .hero__visual{order:0;margin-bottom:0}
  .orb{width:min(260px,34vw)}
  .chip{font-size:11.5px;padding:5px 10px 5px 5px}
  .chip__ic{width:24px;height:24px}
  .chip__ic svg{width:13px;height:13px}
  .hero__title,[dir="ltr"] .hero__title{font-size:clamp(26px,4vw,36px);margin-bottom:14px}
  .hero__eyebrow{margin-bottom:14px}
  .hero__lead{font-size:15px;margin-bottom:20px;line-height:1.75}
  .hero__actions .btn{--h:46px;font-size:14.5px}
  .hero__scroll{display:none}
}
/* Very small phones (320–360px) */
@media (max-width:360px){
  :root{--gutter:14px}
  .header__row{gap:10px}
  .brand{gap:8px}
  .brand__mark{width:40px;height:28px}
  .brand__name{font-size:15.5px}
  .brand__latin{font-size:7.5px;letter-spacing:.24em}
  .header__actions{gap:6px}
  .lang-btn{height:38px;padding-inline:10px;font-size:13px}
  .burger{width:38px;height:38px}
  .hero__actions .btn{padding-inline:22px 8px}
}
/* Large monitors */
@media (min-width:1800px){
  :root{--maxw:1480px}
  .hero__title{font-size:clamp(60px,3.4vw,78px)}
  [dir="ltr"] .hero__title{font-size:clamp(54px,3.1vw,70px)}
  .orb{width:min(640px,34vw)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
