:root{
  --ink:#12304f; --blue:#2a6db5; --green:#2f9e5e; --red:#d1362d;
  --bg:#fbfcfd; --tint:#eaf1f8; --line:#d5e0ea; --text:#26394d; --muted:#5d7288; --card:#ffffff;
  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"]){--ink:#e6eef7; --blue:#6fa8e6; --green:#58c487; --red:#ef6b61; --bg:#0e1824; --tint:#14233a; --line:#26384f; --text:#cbd8e6; --muted:#8fa4ba; --card:#122032}
}
:root[data-theme="dark"]{--ink:#e6eef7; --blue:#6fa8e6; --green:#58c487; --red:#ef6b61; --bg:#0e1824; --tint:#14233a; --line:#26384f; --text:#cbd8e6; --muted:#8fa4ba; --card:#122032}
*{box-sizing:border-box;margin:0}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",sans-serif;line-height:1.9;font-size:17px}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}

/* header */
header{border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;color:var(--ink)}
.brand img{width:48px;height:48px;border-radius:50%;background:#fff}
.dnav{display:flex;gap:6px;font-size:15px;font-weight:500}
.dnav a{text-decoration:none;color:var(--muted);padding:10px 12px;border-radius:8px}
.dnav a:hover{color:var(--ink);background:var(--tint)}

/* hero */
.hero{padding:64px 0 72px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.status{display:inline-block;font-size:14px;font-weight:600;color:var(--ink);background:var(--tint);border:1px solid var(--line);padding:2px 14px;border-radius:99px;margin-bottom:20px}
h1{font-size:clamp(34px,5.4vw,56px);line-height:1.35;color:var(--ink);font-weight:700;letter-spacing:0}
.lead{margin-top:20px;font-size:19px;max-width:34em;color:var(--text)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 26px;border-radius:8px;font-weight:600;text-decoration:none;font-size:16px;border:2px solid var(--blue)}
.btn.primary{background:var(--blue);color:#fff}
.btn.primary:hover{filter:brightness(1.1)}
.btn.ghost{color:var(--blue)}
.btn.ghost:hover{background:var(--tint)}
.mark{justify-self:center;position:relative}
.mark img{width:min(208px,60vw);height:auto;aspect-ratio:1;border-radius:50%;background:#fff;display:block;box-shadow:0 0 0 10px var(--tint),0 0 0 11px var(--line)}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr}.mark{order:-1}.hero{padding-top:36px}}

/* three values, the tricolour of the logo */
.values.wrap{padding:0}
.values{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.values div{padding:26px 16px;text-align:center;font-size:26px;font-weight:700;color:var(--ink)}
.values div+div{border-inline-start:1px solid var(--line)}
.values div::before{content:"";display:block;width:36px;height:4px;border-radius:2px;margin:0 auto 12px}
.values div:nth-child(1)::before{background:var(--red)}
.values div:nth-child(2)::before{background:var(--green)}
.values div:nth-child(3)::before{background:var(--blue)}

section{padding:68px 0}
h2{font-size:clamp(26px,3.6vw,34px);color:var(--ink);line-height:1.5;margin-bottom:14px}
.sub{color:var(--muted);max-width:38em}
.about{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.about p+p{margin-top:12px}
@media(max-width:820px){.about{grid-template-columns:1fr;gap:24px}}

.goals{background:var(--tint)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.goal{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;border-top:4px solid var(--blue)}
.goal:nth-child(3n+1){border-top-color:var(--red)}
.goal:nth-child(3n+2){border-top-color:var(--green)}
.goal h3{font-size:19px;color:var(--ink);margin-bottom:6px}
.goal p{font-size:15.5px;color:var(--muted);line-height:1.8}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}

.join{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.join ul{padding-inline-start:20px;margin-top:10px}
.join li{margin-bottom:6px}
.join h3{font-size:20px;color:var(--ink);margin-bottom:4px}
.join .block+.block{margin-top:26px}
.note{margin-top:30px;padding:18px 22px;border-inline-start:4px solid var(--green);background:var(--tint);border-radius:8px;font-size:15.5px}
@media(max-width:820px){.join{grid-template-columns:1fr;gap:28px}}

.contact{background:var(--ink);color:#e8eff7}
.contact h2{color:#fff}
.contact .sub{color:#b9cadb}
.info{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}
.info dt{font-size:14px;color:#9fb4c9;margin-bottom:2px}
.info dd{font-size:18px;font-weight:500}
.info a{text-decoration:none;border-bottom:1px solid #6d89a6}
.info bdi{direction:ltr;unicode-bidi:isolate}
@media(max-width:720px){.info{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .contact{background:#0a121c}}


.wa{background:var(--tint)}
.wa .wrap{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.wa .btn.wapp{background:#1f9d57;border-color:#1f9d57;color:#fff}
.wa .btn.wapp:hover{filter:brightness(1.08)}
.qr{background:#fff;padding:12px;border-radius:12px;border:1px solid var(--line);text-align:center}
.qr img{width:200px;height:200px;display:block}
.qr span{display:block;font-size:13px;color:#5d7288;margin-top:6px}
@media(max-width:720px){.wa .wrap{grid-template-columns:1fr;justify-items:start}}

.formbox{margin-top:34px;max-width:640px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px}
.formbox h3{font-size:21px;color:var(--ink);margin-bottom:14px}
.formbox label{display:block;font-weight:500;color:var(--ink);margin:14px 0 4px;font-size:15.5px}
.formbox input[type=text],.formbox input[type=tel],.formbox input[type=email],.formbox textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.formbox textarea{min-height:110px;resize:vertical}
.formbox .ltr{direction:ltr;text-align:right}
.formbox .check{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-weight:400;font-size:15px}
.formbox .check input{margin-top:8px;width:18px;height:18px}
.formbox button{margin-top:22px;cursor:pointer;font:inherit;font-weight:600}
.alert{padding:12px 16px;border-radius:8px;margin-bottom:6px;font-size:15.5px}
.alert p{margin:0}
.alert.ok{background:#e4f5ea;color:#14532d;border:1px solid #9fd7b3}
.alert.bad{background:#fdeceb;color:#7f1d1d;border:1px solid #f0b4b0}
.hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .alert.ok{background:#12301f;color:#b9ecd0;border-color:#1f5a38}:root:not([data-theme="light"]) .alert.bad{background:#3a1715;color:#f5c3bf;border-color:#6b2a26}}
footer{padding:26px 0;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* utilities replacing inline styles */
.mt-30{margin-top:30px}

/* accessibility */
.skip{position:absolute;inset-inline-start:12px;top:-64px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:0 0 8px 8px;z-index:50;text-decoration:none;font-weight:600}
.skip:focus{top:0}

/* mobile menu (no JS needed to open) */
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--card)}
.mnav summary::-webkit-details-marker{display:none}
.bars{display:block;width:20px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
.mnav .panel{position:absolute;inset-inline-end:0;top:54px;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;display:grid;z-index:40;box-shadow:0 8px 24px rgba(10,30,50,.18)}
.mnav .panel a{padding:13px 14px;text-decoration:none;color:var(--ink);font-weight:500;border-radius:8px}
.mnav .panel a:hover{background:var(--tint)}
@media(max-width:720px){.dnav{display:none}.mnav{display:block}}

/* FAQ */
.faq .list{max-width:780px;margin-top:26px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 0;min-height:48px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue);font-size:22px;line-height:1.4}
.faq details[open] summary::after{content:"-"}
.faq details p{padding-bottom:16px;color:var(--text)}

/* text pages (privacy, 404) */
.prose{max-width:780px;padding:56px 24px 72px;margin:0 auto}
.prose h1{font-size:clamp(28px,4.4vw,40px);line-height:1.4;color:var(--ink);margin-bottom:12px}
.prose h2{font-size:22px;color:var(--ink);margin:30px 0 8px}
.prose p,.prose li{margin-bottom:8px}
.prose ul{padding-inline-start:22px}
.prose .btn{margin-top:20px}

/* cookie notice */
.consent{position:fixed;inset-inline:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));margin-inline:auto;max-width:720px;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;z-index:60;box-shadow:0 10px 30px rgba(10,30,50,.22);font-size:15px;line-height:1.7}
.consent[hidden]{display:none}
.consent p{flex:1 1 320px}
.consent .acts{display:flex;gap:10px}
.consent .btn{padding:8px 20px;min-height:44px;cursor:pointer;font:inherit;font-weight:600}
.consent .btn.primary{color:#fff}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
footer .links{display:flex;gap:18px}
footer a{color:var(--muted)}

