@font-face{font-family:"Playfair Display";src:url(fonts/playfair-display-latin.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Noto Naskh Arabic";src:url(fonts/noto-naskh-arabic-arabic.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}

:root{
  --black:#0a0a0a; --panel:#131315; --panel-2:#1b1b1e; --line:#2c2c30;
  --text:#f2f2f0; --muted:#a8a8ad; --gold:#f59e0b; --gold-deep:#d97706; --gold-soft:rgba(245,158,11,.12);
  --emerald:#065f46; --emerald-text:#6ee7b7;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1120px;
}
:lang(ar){--serif:"Noto Naskh Arabic","Geeza Pro","Traditional Arabic",Tahoma,serif;--sans:"Noto Naskh Arabic","Geeza Pro",Tahoma,"Segoe UI",sans-serif}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.65}
:lang(ar) body{font-size:1.15rem;line-height:1.9}
img,svg{max-width:100%;display:block}
a{color:var(--gold)}
a:hover{color:#fbbf24}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}
.skip{position:absolute;inset-inline-start:-999px;top:0;background:var(--gold);color:#000;padding:.6rem 1rem;z-index:10}
.skip:focus{inset-inline-start:1rem}

/* header */
.site-head{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(10,10,10,.92);backdrop-filter:blur(8px);z-index:5}
.site-head .wrap{display:flex;align-items:center;gap:1.5rem;min-height:68px}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--text);line-height:1.2}
.brand small{color:var(--muted);font-size:.78rem}
.brand strong{font-family:var(--serif);font-size:1.25rem;color:var(--gold)}
.nav{display:flex;gap:1.25rem;margin-inline-start:auto}
.nav a{color:var(--muted);text-decoration:none;font-size:.92rem}
.nav a:hover{color:var(--text)}
.langs{display:flex;gap:.25rem;border-inline-start:1px solid var(--line);padding-inline-start:1rem}
.langs a{color:var(--muted);text-decoration:none;font-size:.85rem;padding:.25rem .45rem;border-radius:4px}
.langs a[aria-current]{color:#000;background:var(--gold)}
@media (max-width:980px){.nav{display:none}.langs{margin-inline-start:auto;border:0;padding:0}}

/* hero */
.hero{padding-block:clamp(3rem,8vw,6rem) clamp(3rem,7vw,5rem);border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.status{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--emerald-text);background:rgba(6,95,70,.35);border:1px solid var(--emerald);padding:.3rem .8rem;border-radius:999px}
.status::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--emerald-text)}
h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,5.2vw,3.9rem);line-height:1.08;letter-spacing:-.01em;margin:1.2rem 0 1.4rem;max-width:16ch}
:lang(ar) h1{line-height:1.45;letter-spacing:0;max-width:20ch}
.lead{font-size:1.18rem;color:#d4d4d8;max-width:58ch;margin:0 0 2rem}
.actions{display:flex;flex-wrap:wrap;gap:.8rem}
.btn{display:inline-block;text-decoration:none;font-weight:600;padding:.8rem 1.35rem;border-radius:6px;border:1px solid var(--gold)}
.btn-primary{background:var(--gold);color:#0a0a0a}
.btn-primary:hover{background:#fbbf24;color:#0a0a0a}
.btn-ghost{color:var(--gold)}
.btn-ghost:hover{background:var(--gold-soft)}

.pod-art{width:100%;max-width:440px;margin-inline:auto}
.pod-art .grant{stroke-dasharray:260;stroke-dashoffset:260;animation:draw 1.4s .4s ease-out forwards}
.pod-art .grant.g2{animation-delay:.8s}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.pod-art .grant{animation:none;stroke-dashoffset:0}html{scroll-behavior:auto}}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.pod-art{max-width:300px;order:-1}}

/* sections */
section{padding-block:clamp(3.5rem,7vw,5.5rem);border-bottom:1px solid var(--line)}
h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.2;margin:0 0 1rem;max-width:26ch}
:lang(ar) h2{line-height:1.5}
h3{font-family:var(--serif);font-size:1.3rem;margin:0 0 .5rem;line-height:1.35}
.intro{color:#d4d4d8;max-width:64ch;margin:0 0 2.5rem;font-size:1.1rem}
p{margin:0 0 1rem}
.muted{color:var(--muted)}

.risks{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-block:1px solid var(--line)}
.risks div{padding:1.8rem 1.6rem 1.6rem 0;padding-inline:0 1.6rem}
.risks div+div{border-inline-start:1px solid var(--line);padding-inline-start:1.6rem}
.risks p{color:var(--muted);margin:0}
@media (max-width:820px){.risks{grid-template-columns:1fr}.risks div+div{border-inline-start:0;border-top:1px solid var(--line);padding-inline-start:0}}

.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}
@media (max-width:820px){.two{grid-template-columns:minmax(0,1fr);gap:1.5rem}}
.terms{margin:0;display:grid;gap:1.2rem}
.terms div{border-inline-start:3px solid var(--gold);padding-inline-start:1rem}
.terms dt{font-weight:600;color:var(--text)}
.terms dd{margin:0;color:var(--muted)}
.sources{margin-top:2rem;font-size:.95rem;color:var(--muted)}
.sources a{margin-inline-end:1rem;display:inline-block}

/* flow */
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:0}
.flow-col{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.4rem}
.flow-col.permit{border-color:var(--gold);background:linear-gradient(var(--gold-soft),var(--gold-soft)),var(--panel)}
.flow-col h3{font-size:1.1rem;color:var(--gold)}
.flow-col ul{margin:0;padding-inline-start:1.1rem;color:#d4d4d8}
.flow-col li{margin-bottom:.35rem}
.arrow{display:flex;align-items:center;justify-content:center;width:3rem;color:var(--gold)}
.arrow svg{width:28px}
[dir=rtl] .arrow svg{transform:scaleX(-1)}
@media (max-width:860px){.flow{grid-template-columns:1fr}.arrow{width:auto;height:2.4rem}.arrow svg{transform:rotate(90deg)}[dir=rtl] .arrow svg{transform:rotate(90deg)}}
.principle{margin-top:2rem;padding:1.2rem 1.4rem;border-inline-start:3px solid var(--emerald-text);background:var(--panel);max-width:75ch;color:#e4e4e7}

.uses{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem 3rem}
.uses h3{font-size:1.15rem}
.uses p{color:var(--muted);margin:0}
@media (max-width:760px){.uses{grid-template-columns:1fr}}

.checks{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;gap:.9rem;max-width:78ch}
.checks li{position:relative;padding-inline-start:2rem;color:#d4d4d8}
.checks li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:1.05rem;height:.55rem;border-inline-start:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
[dir=rtl] .checks li::before{transform:rotate(45deg)}
.limits{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.6rem;max-width:78ch}
.limits p{color:var(--muted);margin:0}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:s}
.steps li{counter-increment:s;border-top:2px solid var(--line);padding-top:1.2rem}
.steps li:first-child{border-top-color:var(--gold)}
.steps li::before{content:counter(s);font-family:var(--serif);font-size:2.4rem;color:var(--gold);line-height:1;display:block;margin-bottom:.6rem}
.steps p{color:var(--muted);margin:0}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

.units{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.unit{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.4rem;display:flex;flex-direction:column}
.unit.here{border-color:var(--gold)}
.unit p{color:var(--muted);flex:1}
.tag{font-size:.82rem;color:var(--muted)}
.unit.here .tag{color:var(--gold)}
@media (max-width:820px){.units{grid-template-columns:1fr}}
.lab-link{margin-top:1.5rem}

.contact{background:var(--panel-2)}
.contact .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center}
.contact .mail{font-size:1.1rem}
@media (max-width:820px){.contact .wrap{grid-template-columns:1fr}}

footer{padding-block:2.5rem;color:var(--muted);font-size:.92rem}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem}
footer strong{color:var(--text)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
footer .fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.2rem;font-size:.84rem}
@media (max-width:700px){footer .wrap{grid-template-columns:1fr}}
@media (max-width:430px){.site-head .wrap{gap:.6rem}.brand small{font-size:.7rem}.langs{gap:0}.langs a{padding:.2rem .3rem;font-size:.78rem}}
#uses h2,#roadmap h2{margin-bottom:2.2rem}

/* ---- it.adafp.org additions ---- */
.brand strong{font-size:1.2rem}
.index{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.index h2{font-size:1rem;font-family:var(--sans);font-weight:600;color:var(--muted);margin:0;padding:1rem 1.3rem;border-bottom:1px solid var(--line);max-width:none}
.index a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.3rem;text-decoration:none;color:var(--text);border-bottom:1px solid var(--line)}
.index a:last-child{border-bottom:0}
.index a:hover{background:var(--panel-2)}
.index a.lead-prog{background:var(--gold-soft)}
.index b{font-family:var(--serif);font-weight:700;font-size:1.12rem}
.pill{font-size:.78rem;white-space:nowrap;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.pill.now{border-color:var(--gold);color:var(--gold)}
.pill.live{border-color:var(--emerald);color:var(--emerald-text)}

.progs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.prog{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;gap:.4rem}
.prog p{color:var(--muted);flex:1;margin:0 0 .6rem}
.prog.feature{grid-column:1/-1;border-color:var(--gold);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:center;padding:2rem}
.prog.feature h3{font-size:1.7rem}
.prog.feature p{color:#d4d4d8;font-size:1.08rem}
.prog-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}
@media (max-width:900px){.progs{grid-template-columns:minmax(0,1fr)}.prog.feature{grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.5rem}}

#presence{background:linear-gradient(180deg,rgba(245,158,11,.05),transparent 40%)}
#presence .steps{margin-bottom:3.5rem}
.assist{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem;border-top:1px solid var(--line);padding-top:2.5rem}
.assist .checks{margin:0}
@media (max-width:820px){.assist{grid-template-columns:minmax(0,1fr);gap:1rem}}

.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;margin:0}
.principles div{padding-block:1.3rem;border-top:1px solid var(--line)}
.principles dt{font-family:var(--serif);font-weight:700;font-size:1.2rem;margin-bottom:.3rem}
.principles dd{margin:0;color:var(--muted)}
@media (max-width:760px){.principles{grid-template-columns:minmax(0,1fr)}}
.also{margin-top:2rem;color:var(--muted);max-width:75ch}
#programmes h2,#principles h2{margin-bottom:1rem}
