:root{--bg:#F6F5EE;--ink:#10231A;--mute:#55655C;--card:#fff;--line:#DCDDD0;--green:#0F3B28;--wheat:#E3A92B;--water:#1B86A6;--iot:#6B5BD2;--on:#F6F5EE;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0B1812;--ink:#EDEFE6;--mute:#9DB0A5;--card:#12251C;--line:#23392D;--green:#0A1F16;--on:#EDEFE6}}
:root[data-theme="dark"]{--bg:#0B1812;--ink:#EDEFE6;--mute:#9DB0A5;--card:#12251C;--line:#23392D;--green:#0A1F16;--on:#EDEFE6}
html{scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 'Instrument Sans',system-ui,sans-serif}
h1,h2,h3{font-family:'Bricolage Grotesque',Georgia,sans-serif;line-height:1.05;margin:0;letter-spacing:-.02em}
a{color:inherit}
:focus-visible{outline:3px solid var(--wheat);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
section{padding:96px 0}
/* nav */
nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:10;transition:.3s}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
nav.s{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{font:800 24px 'Bricolage Grotesque',sans-serif;text-decoration:none;color:#fff;display:flex;gap:8px;align-items:center}
nav.s .logo{color:var(--ink)}
.logo i{width:14px;height:14px;border-radius:50% 50% 50% 0;background:var(--wheat);transform:rotate(-45deg)}
.links{display:flex;gap:28px;align-items:center}
.links a{text-decoration:none;font-weight:500;font-size:15px;color:#E8EDE3;position:relative;padding:4px 0}
nav.s .links a{color:var(--mute)}
.links a::after{content:"";position:absolute;inset-inline-start:0;bottom:-2px;height:2px;width:0;background:var(--wheat);transition:.25s}
.links a:hover::after,.links a.on::after{width:100%}
nav.s .links a.on,.links a:hover{color:var(--ink)}
nav:not(.s) .links a:hover{color:#fff}
.btn{display:inline-block;padding:13px 24px;border-radius:99px;background:var(--wheat);color:#10231A!important;font-weight:600;text-decoration:none;border:0;cursor:pointer;font-size:16px;font-family:inherit;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(227,169,43,.35)}
.btn.o{background:transparent;color:#fff!important;border:1.5px solid rgba(255,255,255,.5)}
.menu{display:none;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}
nav.s .menu{color:var(--ink)}
/* hero */
.hero{background:radial-gradient(1000px 500px at 80% 20%,#17573B 0,transparent 60%),var(--green);color:#fff;min-height:100svh;display:flex;align-items:center;padding:120px 0 72px;overflow:hidden;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(44px,6.4vw,84px);font-weight:800}
.hero h1 em{font-style:normal;color:var(--wheat)}
.hero p{max-width:480px;color:#C9D6CC;font-size:19px;margin:24px 0 32px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.map{width:100%;height:auto}
.ticker{position:absolute;bottom:0;left:0;right:0;border-top:1px solid rgba(255,255,255,.12);padding:14px 0;overflow:hidden;white-space:nowrap;color:#9DB8A8;font-size:14px}
.ticker div{display:inline-block;animation:tk 40s linear infinite}
@keyframes tk{to{transform:translateX(-50%)}}
/* heads */
.head{max-width:640px;margin-bottom:48px}
.head h2{font-size:clamp(32px,4.4vw,52px);font-weight:700}
.head p{color:var(--mute);margin:16px 0 0}
/* process */
.alt{background:color-mix(in srgb,var(--green) 6%,var(--bg))}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s;position:relative}
.step{border-top:3px solid var(--wheat);padding-top:20px;counter-increment:s}
.step::before{content:counter(s);font:800 44px 'Bricolage Grotesque';color:var(--wheat);display:block;line-height:1}
.step h3{font-size:22px;margin:10px 0 8px}
.step p{margin:0;color:var(--mute);font-size:15.5px}
/* why */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.why div{padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--card);transition:.3s}
.why div:hover{border-color:var(--water);transform:translateY(-4px)}
.why h3{font-size:22px;margin-bottom:8px}.why p{margin:0;color:var(--mute);font-size:16px}
/* contact */
.contact{background:var(--green);color:#fff;border-radius:28px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact h2{font-size:clamp(32px,4vw,48px)}
.contact p{color:#C9D6CC}
form{display:grid;gap:14px}
label{font-size:14px;color:#C9D6CC;display:grid;gap:6px}
input,select,textarea{font:inherit;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;width:100%}
select option{background:#12251C;color:#fff;padding:10px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--wheat);border-color:transparent}
.ok{display:none;padding:16px;border-radius:12px;background:rgba(227,169,43,.18);color:#FBE7B0}
footer{padding:40px 0 56px;color:var(--mute);font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rv{opacity:0;transform:translateY(18px);transition:.7s}.rv.v{opacity:1;transform:none}
html[lang=ar] .seg button{font-family:'Cairo',sans-serif}
.links a.btn{padding:13px 24px}.links a.btn::after{display:none}
.seg{display:inline-flex;padding:3px;gap:2px;border-radius:99px;border:1.5px solid rgba(255,255,255,.35)}
.seg button{border:0;background:transparent;color:#fff;font:600 13px inherit;font-family:inherit;padding:6px 13px;border-radius:99px;cursor:pointer;transition:background .2s,color .2s}
.seg button:hover{background:rgba(227,169,43,.25)}
.seg button[aria-pressed=true]{background:var(--wheat);color:#10231A}
nav.s .seg{border-color:var(--line)}nav.s .seg button{color:var(--ink)}nav.s .seg button[aria-pressed=true]{color:#10231A}
select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-inline-end:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%23E3A92B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M1 1l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;transition:border-color .2s,background-color .2s}
html[dir=rtl] select{background-position:left 16px center}
select:hover{border-color:var(--wheat);background-color:rgba(255,255,255,.12)}
html[lang=ar] body,html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] .logo,html[lang=ar] .step::before{font-family:'Cairo',sans-serif;letter-spacing:0}
html[lang=ar] body{line-height:1.8}.ticker{direction:ltr}
@media (max-width:860px){.seg{border-color:var(--line)}.seg button{color:var(--ink)}.seg button[aria-pressed=true]{color:#10231A}
section{padding:68px 0}
.menu{display:block}
.links{position:fixed;inset:0 0 auto 0;top:calc(68px + env(safe-area-inset-top,0px));background:var(--bg);flex-direction:column;padding:24px;gap:18px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.35s;z-index:-1}
.links.open{transform:none}.links a,nav:not(.s) .links a{color:var(--ink);font-size:18px;padding:12px 0;border-bottom:1px solid var(--line)}.links a.btn{border:0!important;text-align:center;margin-top:6px;font-size:17px}.seg{align-self:flex-start;margin-top:6px}
.hero .wrap,.contact,.why{grid-template-columns:1fr}
.steps{grid-template-columns:1fr 1fr}
.contact{padding:32px 24px}
.hero{padding-bottom:110px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}
.mapwrap{position:relative;width:100%}.map{display:block;width:100%;height:auto;overflow:visible}
.base{fill:none;stroke:#E3A92B;stroke-opacity:.3;stroke-width:1}
.comet{fill:none;stroke:#FFE08A;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:.07 1.2;animation:cm var(--d,6s) linear infinite;filter:drop-shadow(0 0 4px #E3A92B)}
@keyframes cm{from{stroke-dashoffset:.07}to{stroke-dashoffset:-1.2}}
.hr{fill:none;animation:hub 3.2s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes hub{from{transform:scale(1);opacity:.9}to{transform:scale(4);opacity:0}}
.dt{stroke-width:1.7}.comet{stroke-width:1.5}.base{stroke-width:.7}
.hero .wrap{grid-template-columns:1fr;position:relative;z-index:2}.hero .wrap>div{max-width:560px}
.hero .mapwrap{position:absolute;z-index:0;top:50%;right:-2%;width:100%;max-width:1500px;transform:translateY(-50%);pointer-events:none}
html[dir=rtl] .hero .mapwrap{right:auto;left:-2%}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--green) 6%,color-mix(in srgb,var(--green) 72%,transparent) 36%,transparent 68%)}
html[dir=rtl] .hero::before{background:linear-gradient(270deg,var(--green) 6%,color-mix(in srgb,var(--green) 72%,transparent) 36%,transparent 68%)}
.ticker{z-index:2}
@media (max-width:860px){.hero{padding-bottom:110px}.hero .mapwrap,html[dir=rtl] .hero .mapwrap{top:50%;bottom:auto;left:auto;right:50%;width:185%;max-width:none;transform:translate(50%,-50%);opacity:.7}
.hero::before,html[dir=rtl] .hero::before{background:linear-gradient(180deg,var(--green) 4%,color-mix(in srgb,var(--green) 50%,transparent) 30%,color-mix(in srgb,var(--green) 50%,transparent) 70%,var(--green) 96%)}}
.dt{stroke-opacity:.55}.dt[stroke="#E3A92B"]{stroke-opacity:.95}.base{stroke-opacity:.5}.comet{stroke-width:1.9}
.hero h1,.hero p{text-shadow:0 2px 14px rgba(0,0,0,.55)}
@media (max-width:860px){.hero .mapwrap,html[dir=rtl] .hero .mapwrap{opacity:1;width:215%}.dt{stroke-width:2;stroke-opacity:.7}.base{stroke-width:.9;stroke-opacity:.6}
.hero::before,html[dir=rtl] .hero::before{background:linear-gradient(180deg,var(--green) 2%,color-mix(in srgb,var(--green) 22%,transparent) 28%,color-mix(in srgb,var(--green) 22%,transparent) 72%,var(--green) 98%)}}
@keyframes pan{from{translate:-17% 0}to{translate:17% 0}}
@media (max-width:860px){
.hero .mapwrap,html[dir=rtl] .hero .mapwrap{top:50%;width:330%;opacity:1;animation:pan 70s ease-in-out infinite alternate}
.dt{stroke-width:1.15;stroke-opacity:.34}.dt[stroke="#E3A92B"]{stroke-width:1.25;stroke-opacity:.6}
.base{stroke-width:.6;stroke-opacity:.4}.comet{stroke-width:1.1}
.hero::before,html[dir=rtl] .hero::before{background:linear-gradient(180deg,var(--green) 2%,color-mix(in srgb,var(--green) 42%,transparent) 26%,color-mix(in srgb,var(--green) 42%,transparent) 74%,var(--green) 98%)}
.hero h1,.hero p{text-shadow:0 1px 3px rgba(0,0,0,.7),0 2px 20px rgba(0,0,0,.7)}}
.dtabs{position:relative;display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x mandatory;border-bottom:1px solid var(--line);scrollbar-width:none;margin-bottom:36px}.dtabs::-webkit-scrollbar{display:none}
.dtab{flex:none;scroll-snap-align:center;display:flex;align-items:baseline;gap:9px;padding:14px 20px;background:none;border:0;color:var(--mute);font:600 16px inherit;font-family:inherit;cursor:pointer;white-space:nowrap;transition:color .25s}
.dtab b{font:700 12px 'Bricolage Grotesque',sans-serif;color:var(--wheat);opacity:.6;transition:opacity .25s}.dtab:hover{color:var(--ink)}.dtab[aria-selected=true]{color:var(--ink)}.dtab[aria-selected=true] b{opacity:1}
.ind{position:absolute;bottom:-1px;left:0;width:0;height:3px;border-radius:3px;background:var(--wheat);transition:left .45s cubic-bezier(.7,0,.2,1),width .45s cubic-bezier(.7,0,.2,1)}
.dp{display:none;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}.dp.on{display:grid}
.dp.on .dtx>*{animation:up .6s cubic-bezier(.2,.7,.2,1) both}.dp.on .dtx p{animation-delay:.08s}.dp.on .dart{animation:zoom .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes up{from{opacity:0;transform:translateY(16px)}}@keyframes zoom{from{opacity:0;transform:scale(.94)}}
.dp h3{font-size:clamp(30px,4vw,44px);margin-bottom:14px}.dp p{color:var(--mute);margin:0 0 24px;max-width:480px}
.dp ul{list-style:none;margin:0 0 28px;padding:0;display:grid}
.dp li{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);animation:up .55s cubic-bezier(.2,.7,.2,1) both}
.dp li:nth-child(1){animation-delay:.14s}.dp li:nth-child(2){animation-delay:.2s}.dp li:nth-child(3){animation-delay:.26s}.dp li:nth-child(4){animation-delay:.32s}
.dp li svg{width:18px;height:18px;flex:none;color:var(--wheat)}
.dlink{display:inline-flex;gap:10px;align-items:center;font-weight:600;text-decoration:none;color:var(--ink);border-bottom:2px solid var(--wheat);padding-bottom:4px;transition:gap .25s}.dlink::after{content:"→"}html[dir=rtl] .dlink::after{content:"←"}.dlink:hover{gap:16px}
.dart{position:relative;aspect-ratio:1/1;max-height:440px;width:100%;justify-self:center;display:grid;place-items:center;border-radius:28px;border:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--c) 26%,transparent),transparent 68%),var(--green)}
.dart::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.2px) 0 0/16px 16px;-webkit-mask:radial-gradient(circle,#000 25%,transparent 75%);mask:radial-gradient(circle,#000 25%,transparent 75%)}
.dart>svg{position:relative;width:78%;height:78%}.dn{position:absolute;top:14px;inset-inline-start:22px;font:800 clamp(44px,7vw,72px)/1 'Bricolage Grotesque',sans-serif;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22)}
.r1{transform-origin:120px 120px;animation:spin 60s linear infinite}.r2{transform-origin:120px 120px;animation:spin 40s linear infinite reverse}.orb{transform-origin:120px 120px;animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:860px){.dp.on{grid-template-columns:1fr;gap:28px}.dart{order:-1;max-height:300px;aspect-ratio:4/3}.dtab{padding:12px 16px}.dtabs{margin-inline:-24px;padding-inline:12px}}
.ab{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.ab .head{margin:0;max-width:none}
.chain{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:30px}
.chain::before{content:"";position:absolute;inset-inline-start:27px;top:28px;bottom:28px;width:2px;border-radius:2px;background:linear-gradient(var(--wheat),var(--water));transform:scaleY(0);transform-origin:top;transition:transform 1.5s ease .2s}
.chain.v::before{transform:scaleY(1)}
.chain li{display:flex;gap:18px;align-items:center;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s;transition-delay:calc(var(--i)*.28s + .2s)}
.chain.v li{opacity:1;transform:none}
.chain i{flex:none;width:56px;height:56px;border-radius:50%;background:var(--bg);border:1.5px solid var(--wheat);display:grid;place-items:center;position:relative;z-index:1}.chain i svg{width:28px;height:28px}
.chain h3{font-size:20px;margin-bottom:3px}.chain p{margin:0;color:var(--mute);font-size:15.5px;line-height:1.5}
@media (max-width:860px){.ab{grid-template-columns:1fr;gap:44px}}
.ab{grid-template-columns:1fr;gap:48px;align-items:start}.ab .head{max-width:660px}
.chain{grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:c}.chain::before{display:none}
.chain li{display:block;position:relative;counter-increment:c;padding:24px 22px 26px;background:var(--card);border:1px solid var(--line);border-radius:22px;transition:opacity .6s,transform .6s,border-color .3s,box-shadow .3s;transition-delay:calc(var(--i)*.28s + .2s),calc(var(--i)*.28s + .2s),0s,0s}
.chain li:hover{border-color:var(--wheat);box-shadow:0 14px 34px -16px rgba(227,169,43,.45)}
.chain li::before{content:"0" counter(c);position:absolute;top:16px;inset-inline-end:20px;font:800 34px/1 'Bricolage Grotesque',sans-serif;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--ink) 22%,transparent)}
.chain li::after{content:"";position:absolute;top:49px;inset-inline-start:84px;width:calc(100% - 50px);height:2px;z-index:2;pointer-events:none;background:repeating-linear-gradient(90deg,var(--wheat) 0 6px,transparent 6px 14px);background-size:14px 2px;opacity:.55;animation:flow 1.2s linear infinite}
html[dir=rtl] .chain li::after{animation-direction:reverse}.chain li:last-child::after{display:none}
@keyframes flow{to{background-position-x:14px}}
.chain i{margin-bottom:18px;transition:transform .35s}.chain li:hover i{transform:scale(1.08)}
.chain i::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1.5px solid var(--wheat);animation:ripple 3.6s ease-out infinite;animation-delay:calc(var(--i)*.9s)}
@keyframes ripple{from{transform:scale(1);opacity:.6}to{transform:scale(1.6);opacity:0}}
.chain h3{font-size:19px;margin-bottom:6px}.chain p{font-size:15px}
@media (max-width:860px){.chain{grid-template-columns:1fr 1fr;gap:12px}.chain li{padding:18px 16px 20px}.chain li::after{display:none}.chain li::before{font-size:26px;top:14px;inset-inline-end:14px}.chain i{width:48px;height:48px;margin-bottom:14px}.chain h3{font-size:16.5px}.chain p{font-size:13.5px}}
.hero .wrap,nav .wrap{width:100%}
.hero{justify-content:center}.hero .wrap>div{max-width:620px}.hero p{max-width:520px}
@media (min-width:861px){
.hero .mapwrap{right:-6%;width:94%}html[dir=rtl] .hero .mapwrap{right:auto;left:-6%}
.hero::before{background:linear-gradient(90deg,var(--green) 0,color-mix(in srgb,var(--green) 88%,transparent) 28%,color-mix(in srgb,var(--green) 55%,transparent) 48%,transparent 72%)}
html[dir=rtl] .hero::before{background:linear-gradient(270deg,var(--green) 0,color-mix(in srgb,var(--green) 88%,transparent) 28%,color-mix(in srgb,var(--green) 55%,transparent) 48%,transparent 72%)}}
/* skip link */
.skip{position:fixed;top:8px;inset-inline-start:8px;z-index:100;background:var(--wheat);color:#10231A;padding:10px 18px;border-radius:10px;font-weight:600;text-decoration:none;transform:translateY(-200%);transition:transform .2s}
.skip:focus{transform:none}
/* honeypot */
.hp{position:absolute;inset-inline-start:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
/* form states */
.err{display:none;padding:16px;border-radius:12px;background:rgba(214,69,69,.16);color:#F5B8B8}
.ok a,.err a,.cemail a{color:#FBE7B0}
.btn[disabled]{opacity:.65;cursor:progress;transform:none;box-shadow:none}
.cemail{margin-top:14px}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}
