/* Circyra — fonts: Open Sans (EN), Cairo (AR). Latin digits everywhere. */
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/opensans-latin.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+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cairo";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/cairo-arabic.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:"Cairo";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/cairo-latin.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+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
 --ink:#0f1d1a;--ink2:#3b4a46;--dim:#6b7a75;--line:#dfe7e3;
 --bg:#f7faf8;--card:#fff;--alt:#eef5f1;
 --g1:#2fb67c;--g2:#0e7c66;--lime:#b8f27c;--deep:#0b2a24;
 --r:18px;--font:"Open Sans",system-ui,-apple-system,Segoe UI,Arial,sans-serif;
 --ease:cubic-bezier(.2,.8,.2,1)}
html[lang=ar]{--font:"Cairo",system-ui,Tahoma,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html[lang=ar] body{font-size:18px;line-height:1.85}
a{color:inherit;text-decoration:none}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.02em;font-weight:700}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4{letter-spacing:0;line-height:1.35}
h2{font-size:clamp(28px,4vw,46px);max-width:20ch;margin-bottom:36px}
.kicker{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g2);margin-bottom:12px}
html[lang=ar] .kicker{letter-spacing:0;font-size:15px}
.dim{color:var(--dim)}
/* numbers: Latin digits, isolated */
.pnum,.stat b{font-variant-numeric:tabular-nums;unicode-bidi:isolate;direction:ltr;display:inline-block}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s,padding .3s;padding:18px 0}
.nav.scrolled{background:rgba(247,250,248,.85);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding:10px 0}
.navin{display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;font-family:"Open Sans",sans-serif;letter-spacing:-.02em}
.logo-mark{width:34px;height:34px}
.logo-mark .lg1,.logo-mark .lg2{stroke:var(--g2)}.logo-mark .lg2{fill:var(--g2)}.logo-mark .lg3{fill:var(--g1)}
.logo-mark .lg1{stroke-dasharray:70;stroke-dashoffset:70;animation:draw 1.4s var(--ease) .2s forwards}
.brand:hover .logo-mark{animation:spin 1.2s var(--ease)}
.links{display:flex;gap:26px;margin-inline-start:auto;font-size:15px;font-weight:600;color:var(--ink2)}
.links a{position:relative}
.links a::after{content:"";position:absolute;inset-inline:0;bottom:-4px;height:2px;background:var(--g1);transform:scaleX(0);transition:transform .3s var(--ease);transform-origin:center}
.links a:hover::after{transform:scaleX(1)}
.lang{font-weight:700;font-size:14px;padding:8px 16px;border:1.5px solid var(--ink);border-radius:999px;transition:.25s}
.lang:hover{background:var(--ink);color:#fff}
.nav .lang{font-family:"Cairo","Open Sans",sans-serif}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.burger span{width:22px;height:2px;background:var(--ink);transition:.3s}
.nav.open .burger span:first-child{transform:translateY(4px) rotate(45deg)}
.nav.open .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* hero */
.hero{position:relative;min-height:100vh;padding:130px 0 0;display:flex;flex-direction:column;overflow:hidden;
 background:radial-gradient(1000px 600px at 85% 10%,#d6f5e4 0,transparent 60%),radial-gradient(800px 500px at 0% 90%,#e8f9d6 0,transparent 60%),var(--bg)}
html[dir=rtl] .hero{background:radial-gradient(1000px 600px at 15% 10%,#d6f5e4 0,transparent 60%),radial-gradient(800px 500px at 100% 90%,#e8f9d6 0,transparent 60%),var(--bg)}
.hero>.particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.herogrid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;flex:1}
.badge{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:7px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink2);box-shadow:0 4px 18px rgba(14,124,102,.08);animation:rise .8s var(--ease) both}
.dot{width:9px;height:9px;border-radius:50%;background:var(--g1);box-shadow:0 0 0 0 rgba(47,182,124,.6);animation:pulse 2s infinite}
h1{font-size:clamp(42px,6.6vw,84px);margin:22px 0 22px;font-weight:800}
html[lang=ar] h1{font-size:clamp(40px,6vw,76px);line-height:1.3}
h1 .line{display:block;animation:rise .9s var(--ease) both}
h1 .line:nth-child(2){animation-delay:.15s}
.accent{background:linear-gradient(90deg,var(--g1),var(--g2),var(--g1));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .9s var(--ease) .15s both,shine 6s linear infinite}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--ink2);max-width:56ch;animation:rise .9s var(--ease) .3s both}
.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;animation:rise .9s var(--ease) .45s both}
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 26px;border-radius:999px;font-weight:700;font-size:16px;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.btn.primary{background:var(--g2);color:#fff;box-shadow:0 10px 30px -8px rgba(14,124,102,.55)}
.btn.primary:hover{transform:translateY(-3px);box-shadow:0 16px 36px -8px rgba(14,124,102,.6);background:#0a6c59}
.btn.ghost{border:1.5px solid var(--ink);}
.btn.ghost:hover{background:var(--ink);color:#fff;transform:translateY(-3px)}
.btn.big{margin-top:36px;font-size:17px;padding:18px 30px}

/* loop illustration */
.loop{position:relative;aspect-ratio:1;max-width:460px;width:100%;justify-self:center;animation:pop 1.1s var(--ease) .3s both}
.loop svg{width:100%;height:100%;overflow:visible}
.ring{fill:none;stroke:var(--g1);opacity:.18;stroke-width:1.5}
.r1{animation:breathe 5s ease-in-out infinite;transform-origin:200px 200px}
.r2{animation:breathe 5s ease-in-out 1.2s infinite;transform-origin:200px 200px}
.track{fill:none;stroke:var(--g2);stroke-width:3;stroke-dasharray:6 12;animation:dash 20s linear infinite}
.orbit{transform-origin:200px 200px;animation:spin 24s linear infinite}
html[dir=rtl] .orbit{animation-direction:reverse}
.node{stroke:#fff;stroke-width:4}.n1{fill:#2fb67c}.n2{fill:#f5b14c}.n3{fill:#5aa9e6}.n4{fill:#b8f27c}
.hub{transform-origin:200px 200px;animation:bob 4s ease-in-out infinite}
.hub>circle{filter:drop-shadow(0 18px 30px rgba(14,124,102,.35))}
.hub path{transform-origin:200px 200px;animation:spin 10s linear infinite}
.chip{position:absolute;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:700;box-shadow:0 10px 25px -10px rgba(15,29,26,.25);animation:float 6s ease-in-out infinite;white-space:nowrap}
.c1{top:6%;inset-inline-start:-4%}.c2{top:30%;inset-inline-end:-8%;animation-delay:-1.5s}.c3{bottom:16%;inset-inline-start:-8%;animation-delay:-3s}.c4{bottom:2%;inset-inline-end:6%;animation-delay:-4.5s}

/* marquee */
.marquee{position:relative;margin-top:60px;border-block:1px solid var(--line);background:#fff;overflow:hidden;padding:16px 0}
.mtrack{display:flex;gap:28px;width:max-content;animation:marq 38s linear infinite;font-weight:700;font-size:18px;color:var(--ink2)}
html[dir=rtl] .mtrack{animation-name:marqr}
.mtrack i{color:var(--g1);font-style:normal;font-size:10px;align-self:center}
.marquee:hover .mtrack{animation-play-state:paused}

/* sections */
.sec{padding:110px 0;position:relative}
.sec.alt{background:var(--alt)}
.sec.dark{background:var(--deep);color:#e9f5ef;overflow:hidden}
.sec.dark::before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(47,182,124,.25),transparent 65%);top:-250px;inset-inline-end:-200px;animation:breathe 8s ease-in-out infinite}
.sec.dark .kicker{color:var(--lime)}
.body{max-width:70ch;color:var(--ink2);font-size:18px;margin-top:36px}
.note{margin-top:28px;font-size:15px;opacity:.75}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;transition:transform .35s var(--ease),box-shadow .35s}
.pcard:hover{transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(14,124,102,.35)}
.pnum{font-size:56px;font-weight:800;color:var(--g2);line-height:1;margin-bottom:12px;font-family:"Open Sans",sans-serif}
.pcard p{color:var(--ink2);font-size:16px}
.pcard small{display:block;margin-top:14px;color:var(--dim);font-size:13px}

.routebox{height:80px;margin:-6px 0 20px}
.routebox svg{width:100%;height:100%;overflow:visible}
.route{fill:none;stroke:var(--g1);stroke-width:3;stroke-dasharray:1400;stroke-dashoffset:1400;stroke-linecap:round}
.routebox.in .route{animation:drawr 2.2s var(--ease) forwards}
.truck{fill:var(--g2);stroke:#fff;stroke-width:3;offset-path:path("M10 60 C 180 0, 300 80, 500 40 S 820 0, 990 30");offset-distance:0%}
.routebox.in .truck{animation:drive 6s var(--ease) .4s infinite}
html[dir=rtl] .routebox svg{transform:scaleX(-1)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{background:var(--card);border-radius:var(--r);padding:28px;border:1px solid var(--line);position:relative;transition:transform .35s var(--ease),border-color .35s}
.step:hover{transform:translateY(-6px);border-color:var(--g1)}
.stepn{position:absolute;top:20px;inset-inline-end:22px;font-weight:800;color:var(--line);font-size:30px;font-family:"Open Sans",sans-serif}
.ico{width:46px;height:46px;padding:10px;border-radius:14px;background:#dff5ea;fill:none;stroke:var(--g2);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px;transition:transform .4s var(--ease)}
.step:hover .ico{transform:rotate(-8deg) scale(1.1)}
.step h3{font-size:22px;margin-bottom:8px}.step p{color:var(--ink2);font-size:15.5px}

.core{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:44px;border-radius:26px;color:#fff;background:linear-gradient(135deg,var(--g2),#0b5b4c);position:relative;overflow:hidden;margin-bottom:22px}
.core::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;border:40px solid rgba(184,242,124,.12);inset-inline-end:-120px;bottom:-160px;animation:spin 30s linear infinite}
.core h3{font-size:clamp(26px,3vw,36px);margin:14px 0 12px}.core p{opacity:.88}
.tag{font-variant-numeric:tabular-nums;display:inline-block;font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--alt);color:var(--g2)}
.tag.light{background:rgba(255,255,255,.16);color:#fff}
html[lang=ar] .tag{font-size:14px}
.checks{list-style:none;display:grid;gap:12px;align-content:center;position:relative;z-index:1}
.checks li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.checks li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='%230b2a24' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;margin-top:3px}
.lgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.lcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:transform .35s var(--ease),box-shadow .35s}
.lcard:hover{transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(14,124,102,.35)}
.lcard h4{font-size:19px;margin:14px 0 8px}.lcard p{color:var(--ink2);font-size:15px}

.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:22px;overflow:hidden;position:relative}
.stat{background:var(--deep);padding:36px 30px;transition:background .3s}
.stat:hover{background:#0f3530}
.stat b{font-size:clamp(46px,5vw,64px);font-weight:800;color:var(--lime);line-height:1;font-family:"Open Sans",sans-serif}
.stat p{margin-top:10px;color:#b9d3c9;font-size:16px}

.wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why{padding:28px 0;border-top:3px solid var(--g1);transition:border-color .3s}
.why:hover{border-color:var(--lime)}
.why h4{font-size:20px;margin-bottom:10px}.why p{color:var(--ink2);font-size:15.5px}

.partgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pcol{background:var(--card);border-radius:var(--r);padding:26px;border:1px solid var(--line)}
.pcol h4{font-size:19px;margin-bottom:14px;color:var(--g2)}
.pcol ul{list-style:none;display:grid;gap:9px}
.pcol li{font-size:15px;color:var(--ink2);padding-inline-start:16px;position:relative}
.pcol li::before{content:"";position:absolute;inset-inline-start:0;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--g1)}

.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.jcard{padding:32px;border-radius:var(--r);background:linear-gradient(180deg,#fff,#f1f8f4);border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s}
.jcard:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 22px 40px -22px rgba(14,124,102,.35)}
.jcard h4{font-size:24px;margin-bottom:10px;color:var(--g2)}.jcard p{color:var(--ink2)}

.foot{background:var(--deep);color:#cfe3da;padding:44px 0}
.footin{display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:15px}
.foot .brand{color:#fff}.foot .logo-mark .lg1,.foot .logo-mark .lg2{stroke:var(--lime)}.foot .logo-mark .lg2{fill:var(--lime)}
.foot .lang{border-color:#cfe3da}.foot .lang:hover{background:#fff;color:var(--deep)}
.foot .dim{color:#8fb0a4}

/* reveal */
.d0{--i:0}.d1{--i:1}.d2{--i:2}.d3{--i:3}.d4{--i:4}.d5{--i:5}.d6{--i:6}.d7{--i:7}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.reveal.in{opacity:1;transform:none}

@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(47,182,124,0)}100%{box-shadow:0 0 0 0 rgba(47,182,124,0)}}
@keyframes shine{to{background-position:200% center}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes dash{to{stroke-dashoffset:-360}}
@keyframes breathe{50%{transform:scale(1.07);opacity:.32}}
@keyframes bob{50%{transform:translateY(-10px)}}
@keyframes float{50%{transform:translateY(-12px)}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes drawr{to{stroke-dashoffset:0}}
@keyframes drive{0%{offset-distance:0%}70%,100%{offset-distance:100%}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes marqr{to{transform:translateX(50%)}}

@media (max-width:980px){
 .herogrid{grid-template-columns:1fr}.loop{max-width:340px}
 .steps,.lgrid,.wgrid,.partgrid{grid-template-columns:repeat(2,1fr)}
 .core{grid-template-columns:1fr;padding:32px}
 .sgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
 .links{display:none;position:absolute;top:100%;inset-inline:0;flex-direction:column;background:#fff;padding:20px;gap:16px;box-shadow:0 20px 30px -20px rgba(0,0,0,.2)}
 .nav.open .links{display:flex}.nav .navin>.lang{margin-inline-start:auto}
 .burger{display:flex}
 .pgrid,.jgrid,.steps,.lgrid,.wgrid,.partgrid,.sgrid{grid-template-columns:1fr}
 .sec{padding:80px 0}.chip{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .reveal{opacity:1;transform:none}.route{stroke-dashoffset:0}.logo-mark .lg1{stroke-dashoffset:0}
}
