/* Gifts to Sudan: calm, warm tokens (sand, Nile blue, deep green). No red "emergency" styling. */
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-latin-v21.woff2) format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-latin-v20.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Tajawal;src:url(/fonts/tajawal-400-arabic-v12.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Tajawal;src:url(/fonts/tajawal-700-arabic-v12.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
:root{
  --sand:#f6efe3;--sand-2:#efe4d1;--paper:#fffdf9;--ink:#2a2420;--ink-2:#5b5048;--line:#e2d5c0;
  --nile:#1f5f7a;--nile-2:#174a60;--green:#2f5d46;--gold:#b07a2a;--focus:#0b7bb0;
  --radius:14px;--shadow:0 1px 2px rgba(60,40,20,.06),0 6px 24px rgba(60,40,20,.07);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ar:Tajawal,"Noto Naskh Arabic","Geeza Pro","Segoe UI",Tahoma,sans-serif;--quran:"Amiri Quran",Amiri,"Noto Naskh Arabic","Traditional Arabic","Geeza Pro",serif;
}
@media (prefers-color-scheme:dark){:root{--sand:#1b1916;--sand-2:#24211d;--paper:#201d1a;--ink:#f1e9dc;--ink-2:#c9bcab;--line:#3a342d;--nile:#7fc0dc;--nile-2:#a5d4e8;--green:#8cc4a5;--gold:#e0b46a;--shadow:none}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font:17px/1.65 var(--sans)}
html[lang=ar] body{font-family:var(--ar);font-size:18px;line-height:1.9}
img{max-width:100%;height:auto;display:block}
a{color:var(--nile)}a:hover{color:var(--nile-2)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.skip{position:absolute;inset-inline-start:8px;top:-80px;background:var(--paper);padding:8px 12px;z-index:9}.skip:focus{top:8px}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.narrow{max-width:740px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.2;color:var(--ink);margin:1.4em 0 .5em}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{font-family:var(--ar);font-weight:700;line-height:1.5}
h1{font-size:clamp(2.1rem,6vw,3.4rem);margin-top:.3em}h2{font-size:clamp(1.5rem,3.6vw,2rem)}h3{font-size:1.25rem}
html[lang=ar] h1{font-size:clamp(1.9rem,5.4vw,3rem)}html[lang=ar] h2{font-size:clamp(1.35rem,3.2vw,1.75rem)}
p{margin:0 0 1em}
/* header */
.top{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top .wrap{display:flex;align-items:center;gap:12px;min-height:60px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:1.3rem;font-weight:600}
html[lang=ar] .brand{font-family:var(--ar);font-size:1.15rem}
.brand svg{width:30px;height:30px;flex:none}
.nav{margin-inline-start:auto;display:flex;gap:4px 14px;flex-wrap:wrap;align-items:center;font-size:.95rem}
.nav a{text-decoration:none;color:var(--ink-2);padding:6px 2px}.nav a[aria-current=page]{color:var(--nile);font-weight:600}
.nav .lang{border:1px solid var(--line);border-radius:999px;padding:4px 12px}
.menu-btn{display:none;margin-inline-start:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--ink);font:inherit}
@media (max-width:820px){.menu-btn{display:block}.nav{display:none;width:100%;padding:8px 0 14px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}}
/* hero */
.hero{position:relative;color:#fff;background:#2b2b2b}
.hero img{width:100%;height:min(74vh,620px);object-fit:cover;opacity:.9}
.hero .over{position:absolute;inset:0;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(10,20,25,.72))}
.hero .over .wrap{width:100%;padding-bottom:44px}
.hero h1{color:#fff;margin:0 0 .3em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero p{max-width:640px;font-size:1.12rem;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.hero figcaption{position:absolute;bottom:6px;inset-inline-end:10px;font-size:.72rem;color:rgba(255,255,255,.85)}
.hero figcaption a{color:inherit}
.page-hero img{height:min(46vh,420px)}
/* buttons */
.btns{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:13px 22px;border-radius:999px;font-weight:600;border:0;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:#244a37;color:#fff}
@media (prefers-color-scheme:dark){.btn{background:#3f7a5c}.btn:hover{background:#4b8b6a}}
.btn.alt{background:transparent;border:2px solid currentColor;color:inherit}
.hero .btn.alt{color:#fff}
.btn.small{padding:8px 16px;font-size:.92rem}
/* sections */
section{padding:12px 0}
.band{background:var(--paper);border-block:1px solid var(--line);padding:36px 0;margin:28px 0}
.lead{font-size:1.15rem;color:var(--ink-2)}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.card .in{padding:16px 18px}
.card h3{margin:.2em 0 .4em}
.card figure{margin:0}
figure{margin:24px 0}
figure img{border-radius:var(--radius);width:100%}
figcaption{font-size:.8rem;color:var(--ink-2);margin-top:6px}
.card figcaption{padding:0 18px;margin:8px 0 0}
blockquote{margin:22px 0;padding:16px 20px;background:var(--paper);border-inline-start:4px solid var(--gold);border-radius:8px}
blockquote p{margin:.2em 0}
blockquote footer{font-size:.9rem;color:var(--ink-2);margin-top:8px}
.arabic,.quran{font-family:var(--quran);font-size:1.45rem;line-height:2.1;direction:rtl;text-align:right}
html[lang=ar] .arabic{text-align:right}
.verse{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:26px 0;box-shadow:var(--shadow)}
.verse .meaning{font-style:italic;color:var(--ink-2)}
.note{font-size:.92rem;color:var(--ink-2);border-top:1px dashed var(--line);padding-top:12px;margin-top:22px}
ol.steps{counter-reset:s;list-style:none;padding:0}
ol.steps li{counter-increment:s;position:relative;padding-inline-start:52px;margin:0 0 18px}
ol.steps li::before{content:counter(s);position:absolute;inset-inline-start:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--nile);color:#fff;display:grid;place-items:center;font-weight:700}
.pill{display:inline-block;font-size:.8rem;padding:2px 10px;border-radius:999px;background:var(--sand-2);color:var(--ink-2)}
/* give */
.wallet{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.wallet h3{margin-top:0}
.addr{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95rem;word-break:break-all;background:var(--sand);border:1px solid var(--line);border-radius:10px;padding:10px 12px;direction:ltr;text-align:left;unicode-bidi:isolate}
.addr b{color:var(--nile)}
.qr{width:200px;max-width:100%;background:#fff;padding:10px;border-radius:12px;margin:14px 0}
.warn{background:#fff6e0;border:1px solid #e9cf8f;color:#5a4310;border-radius:10px;padding:10px 14px;font-weight:600}
@media (prefers-color-scheme:dark){.warn{background:#3a3020;border-color:#6a5a30;color:#f3dfae}}
.closed{background:var(--paper);border:2px dashed var(--line);border-radius:var(--radius);padding:22px;text-align:center}
form.box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
input[type=checkbox]{width:auto;margin-inline-end:8px}
.check{display:flex;align-items:flex-start;font-weight:400}
fieldset{border:1px solid var(--line);border-radius:10px;padding:4px 14px 14px;margin:18px 0 0;min-width:0}
legend{font-weight:700;padding:0 6px}
fieldset .small{margin:6px 0 0}
.req{color:#a0522d}
.hp{position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.result{margin-top:14px;padding:14px;border-radius:10px;display:none}
.result.ok{display:block;background:#e7f3ec;border:1px solid #a8d1b8;color:#1f4a33}
.result.err{display:block;background:#f6efe3;border:1px solid var(--line);color:var(--ink)}
@media (prefers-color-scheme:dark){.result.ok{background:#1f3328;border-color:#3d6b52;color:#cfe9da}}
/* ledger */
.totals{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:18px 0}
.totals div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.totals b{display:block;font-size:1.35rem;font-family:var(--serif)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 8px}
.tabs button{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 16px;border-radius:999px;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--nile);color:#fff;border-color:var(--nile)}
.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
th{background:var(--sand-2);font-weight:600;white-space:nowrap}
td.mono{font-family:ui-monospace,Consolas,monospace;direction:ltr;unicode-bidi:isolate}
.empty{padding:18px;color:var(--ink-2);font-style:italic}
/* faq */
details{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:10px 0}
summary{cursor:pointer;font-weight:600}
/* footer */
.foot{background:var(--paper);border-top:1px solid var(--line);margin-top:48px;padding:30px 0 40px;font-size:.92rem;color:var(--ink-2)}
.foot nav{display:flex;gap:6px 16px;flex-wrap:wrap;margin:12px 0}
.foot a{color:var(--ink-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.top,.foot,.btns,.hero .over{display:none}}

.hero{margin:0}.note.plain{margin-top:8px;border:0;padding:0}.grid.mid{align-items:center}.top28{margin-top:28px}p.small{font-size:.88rem;margin-top:8px}.arabic.blk{display:block}.arabic.inl{display:inline;font-size:1.2rem}
