:root{--g:#C8A96E;--gl:#E8C98A;--bg:#0A0A0F;--bg2:#111118;--bg3:#1A1A24;--t:#F5F0E8;--t2:#c9c9d3;--m:#9a9aab;--ln:rgba(200,169,110,.16);--on:#111;--ov:10,10,15;--navbg:rgba(10,10,15,.82);--wm:.07;--mapf:invert(.9) hue-rotate(180deg) grayscale(.4)}
[data-theme=burgundy]{--g:#D9B26E;--gl:#F0CC8C;--bg:#12080B;--bg2:#1B0E12;--bg3:#27141A;--t:#F7EFE6;--t2:#dccfcf;--m:#b39aa0;--ln:rgba(217,178,110,.18);--ov:18,8,11;--navbg:rgba(18,8,11,.86)}
[data-theme=sand]{--g:#8E6420;--gl:#A87A2C;--bg:#F5EEDF;--bg2:#EDE3CE;--bg3:#FFFBF1;--t:#2B2118;--t2:#4B3F31;--m:#6E6250;--ln:rgba(120,88,36,.24);--on:#fff;--ov:36,26,14;--navbg:rgba(245,238,223,.92);--wm:.1;--mapf:sepia(.45) saturate(.8)}
[data-theme=bronze]{--g:#D08A4E;--gl:#E8A96E;--bg:#0E0F11;--bg2:#15171A;--bg3:#1E2125;--t:#F3EEE8;--t2:#cfcfd2;--m:#9a9da3;--ln:rgba(208,138,78,.2);--ov:14,15,17;--navbg:rgba(14,15,17,.86)}
[data-theme=sand] .nav{background:var(--navbg);border-bottom:1px solid var(--ln)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--bg);color:var(--t);font:400 16px/1.8 Cairo,sans-serif}body.en{font-family:Montserrat,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--g);outline-offset:3px}
.wrap{max-width:1180px;margin:auto;padding:96px 5vw}
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:26px;padding:14px 5vw;transition:.3s}
.nav.s{background:var(--navbg);backdrop-filter:blur(14px);border-bottom:1px solid var(--ln)}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;margin-inline-end:auto}.brand img{height:42px}
.nav nav{display:flex;gap:26px}.nav nav a{color:var(--m);transition:.2s}.nav nav a:hover,.nav nav a.on{color:var(--g)}
.lang{border:1px solid var(--ln);border-radius:20px;padding:2px 14px;font-size:13px}
.cta,.btn{display:inline-block;background:var(--g);color:var(--on);border-radius:8px;padding:10px 24px;font-weight:700;transition:.25s}
.cta:hover,.btn:hover{background:var(--gl);transform:translateY(-2px)}.btn.o{background:none;color:var(--t);border:1px solid var(--g)}.btn.o:hover{background:var(--g);color:var(--on)}
.burger{display:none;background:none;border:0;color:var(--t);font-size:26px;cursor:pointer}
.hero{position:relative;min-height:100vh;overflow:hidden}
.slide{position:absolute;inset:0;display:grid;align-items:center;padding:120px 8vw 140px;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity 1.2s,visibility 1.2s}
.slide::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(var(--ov),.93) 8%,rgba(var(--ov),.55) 60%,rgba(var(--ov),.85))}
.slide{--t:#F5F0E8;--m:#cfcfd8;color:var(--t)}.slide.on{opacity:1;visibility:visible}.slide>div{position:relative;max-width:780px}
.tag{color:var(--g);font-weight:700;margin-bottom:12px}
h1{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.25;font-weight:900;margin-bottom:18px}
.slide p{color:#cfcfd8;font-size:1.15rem;max-width:620px;margin-bottom:30px}.btns{display:flex;gap:14px;flex-wrap:wrap}
.dots{position:absolute;inset-inline:8vw;bottom:46px;display:flex;gap:10px;z-index:3}
.dots button{width:56px;height:4px;border:0;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden;padding:0;cursor:pointer}
.dots i{display:block;height:100%;width:0;background:var(--g)}.dots .on i{animation:fill 7s linear forwards}@keyframes fill{to{width:100%}}
.stats{background:var(--bg2);border-block:1px solid var(--ln)}
.stats .wrap{display:grid;grid-template-columns:1fr;padding-block:40px;text-align:center}
.stats b{display:block;font:900 3rem/1.1 Montserrat,sans-serif;color:var(--g)}.stats span{color:var(--m)}
.about{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}.pic{position:relative}
.pic img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;width:100%;border:1px solid var(--ln)}
.pic span{position:absolute;inset-block-end:-22px;inset-inline-end:-18px;background:var(--g);color:var(--on);border-radius:14px;padding:12px 22px;font:900 1.6rem/1.2 Montserrat,sans-serif;text-align:center}
.pic small{display:block;font:700 .8rem Cairo,sans-serif}
h2{font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.4;font-weight:900;margin:6px 0 16px}
.about p,.head p{color:var(--m)}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}
.feats div{padding:16px;border:1px solid var(--ln);border-radius:12px;background:var(--bg2)}.feats b{display:block}.feats small{color:var(--m)}
.svc{background:var(--bg2)}.head{text-align:center;max-width:780px;margin:0 auto 48px}
.grid{display:grid;grid-template-columns:340px 1fr;gap:32px}.tabs{display:grid;gap:8px;align-content:start}
.tabs button{display:flex;gap:14px;align-items:center;text-align:start;padding:14px 16px;background:var(--bg3);border:1px solid var(--ln);border-radius:12px;color:var(--m);font:inherit;font-weight:700;cursor:pointer;transition:.25s}
.tabs em{font:900 .9rem Montserrat,sans-serif;color:var(--g);font-style:normal}
.tabs .on{color:var(--t);background:linear-gradient(90deg,rgba(200,169,110,.18),transparent);border-color:var(--g)}
.panel{display:none;position:relative;overflow:hidden;background:var(--bg3);border:1px solid var(--ln);border-radius:18px}
.ph{height:280px;position:relative}.ph img{width:100%;height:100%;object-fit:cover}.ph.fit img{object-fit:contain}.ph::after{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(transparent,var(--bg3))}
.pb{position:relative;z-index:1;padding:8px 40px 40px}
.panel::after{content:"";position:absolute;inset-inline-end:-70px;bottom:-70px;width:380px;height:380px;background:url(../img/logo.png) center/contain no-repeat;opacity:var(--wm);pointer-events:none}
.svc{position:relative;overflow:hidden}.svc::before{content:"";position:absolute;inset-inline-start:-140px;top:30px;width:560px;height:560px;background:url(../img/logo.png) center/contain no-repeat;opacity:calc(var(--wm)*.7);pointer-events:none}.svc .wrap{position:relative}
.panel.on{display:block;animation:in .5s}@keyframes in{from{opacity:0;transform:translateY(12px)}}
.panel h3{font-size:1.6rem;margin-bottom:18px;color:var(--g);line-height:1.5}.panel p,.panel li{color:var(--t2);margin-bottom:12px}
.panel ul{padding-inline-start:20px}.panel li::marker{color:var(--g)}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}.info{display:grid;gap:14px;align-content:start}
.info>*{display:flex;gap:14px;padding:16px;background:var(--bg2);border:1px solid var(--ln);border-radius:12px;transition:.25s}
.info a:hover{border-color:var(--g)}.info b{display:block}.info small{color:var(--m)}.info i{font-style:normal;font-size:1.4rem}
.ltr{direction:ltr;unicode-bidi:embed;display:inline-block}
.map{border:0;width:100%;height:100%;min-height:380px;border-radius:18px;filter:var(--mapf)}
footer{border-top:1px solid var(--ln);padding:28px 5vw;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--m);font-size:14px}
.rv{opacity:0;transform:translateY(24px);transition:.8s}.rv.v{opacity:1;transform:none}
@media(max-width:900px){.about,.grid,.contact{grid-template-columns:1fr}.about{gap:48px}.burger{display:block}
.nav nav{display:none}.nav.open nav{display:flex;flex-direction:column;position:fixed;inset:64px 0 auto;background:var(--bg);padding:24px 5vw;border-bottom:1px solid var(--ln)}
.cta{display:none}.pb{padding:8px 24px 28px}.ph{height:210px}.feats{grid-template-columns:1fr}.stats b{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.dots .on i{width:100%}}

.th{position:relative}.tb{background:none;border:1px solid var(--ln);border-radius:20px;width:36px;height:30px;color:var(--t);cursor:pointer;font-size:15px}
.tm{display:none;position:absolute;inset-inline-end:0;top:42px;background:var(--bg2);border:1px solid var(--ln);border-radius:12px;padding:8px;min-width:200px;gap:4px;box-shadow:0 16px 40px #0005}
.th.open .tm{display:grid}.tm button{display:flex;gap:10px;align-items:center;background:none;border:0;color:var(--t);font:inherit;padding:8px 10px;border-radius:8px;cursor:pointer;text-align:start}
.tm button:hover,.tm .on{background:var(--bg3)}.tm i{width:18px;height:18px;border-radius:50%;border:1px solid var(--ln);background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%);flex:none}

/* Justified text boxes */
.panel p,.panel li,.about>div>p{text-align:justify;text-justify:inter-word}
.en .panel p,.en .panel li,.en .about>div>p{hyphens:auto}
