@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/spacegrotesk-500.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/spacegrotesk-700.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/ibmplexmono-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/ibmplexmono-500.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/fraunces-600.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/fonts/fraunces-900.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/newsreader-400.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/newsreader-500.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/newsreader-600.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/spectral-400.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/spectral-500.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/spectral-800.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/bodonimoda-600.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/bodonimoda-700.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/fonts/bodonimoda-900.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/archivo-500.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/archivo-700.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/fonts/archivo-900.woff2') format('woff2')}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/anton-400.woff2') format('woff2')}
@font-face{font-family:'Gloock';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/gloock-400.woff2') format('woff2')}
@font-face{font-family:'Literata';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/literata-400.woff2') format('woff2')}
@font-face{font-family:'Literata';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/literata-700.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/instrumentserif-400.woff2') format('woff2')}
@font-face{font-family:'Zilla Slab';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/zillaslab-600.woff2') format('woff2')}
@font-face{font-family:'Zilla Slab';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/zillaslab-700.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/playfairdisplay-700.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/fonts/playfairdisplay-900.woff2') format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/bricolagegrotesque-800.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/syne-800.woff2') format('woff2')}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/amiri-700.woff2') format('woff2')}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/amiri-700-ar.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}

.theme-sahel{--paper:#fbf7f0;--paper2:#f2ece1;--band:#f6efe3;--ink:#1c1713;--ink2:#3d332b;--mut:#7a6c5e;--faint:#a89880;--line:#e6ddcd;--line2:#d8ccb7;--dark:#221b14;--accent:#c0532c;--accent2:#a3421f;--onaccent:#ffffff;--disp:'Gloock',Georgia,serif;--serif:'Newsreader',Georgia,serif;--sans:'Archivo',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;--wrap:1300px;--dispw:400;--displs:-.008em;--accenth:4px;--h1:50px;--leadh:46px;--donk:#d9cdb9;--dmut:#9d8d78;--dsep:#4d4033;--ctap:#cbbba4;--fmut:#c3b39c;--fmut2:#93826c;--fline:#33291f;--adph:repeating-linear-gradient(45deg,#f2ece1,#f2ece1 10px,#ebe3d4 10px,#ebe3d4 20px);background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.6;margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.theme-sahel *{box-sizing:border-box}
.theme-sahel img{max-width:100%;display:block}
.theme-sahel a{color:inherit;text-decoration:none}
.theme-sahel .wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
.theme-sahel h1,.theme-sahel h2,.theme-sahel h3,.theme-sahel h4{font-family:var(--disp);font-weight:var(--dispw,900);letter-spacing:var(--displs,-.01em);margin:0;line-height:1.08}
.theme-sahel .topaccent{height:var(--accenth,0);background:var(--accent)}
/* utility bar */
.theme-sahel .util{background:var(--dark);color:var(--donk,#c7ccd6)}
.theme-sahel .util .in{display:flex;align-items:center;gap:20px;height:38px;font-family:var(--mono);font-size:11.5px;letter-spacing:.3px}
.theme-sahel .util .date{color:var(--dmut,#8b93a3);text-transform:uppercase}
/* the LIVE pill is a fixed label, NOT part of the marquee — inside .mv it
   scrolled away under the fade mask and rendered as a clipped stub */
.theme-sahel .util .tick{flex:1;min-width:0;display:flex;align-items:center;gap:14px}
.theme-sahel .util .tick .live{flex:none;color:#fff;background:var(--accent);padding:2px 7px;border-radius:2px;font-weight:600}
.theme-sahel .util .tick .run{flex:1;min-width:0;overflow:hidden;white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.theme-sahel .util .tick .run .mv{display:inline-block;animation:e_tick 55s linear infinite}
.theme-sahel .util .tick a{color:var(--donk,#c7ccd6);margin-right:8px}
.theme-sahel .util .tick .sep{color:var(--dsep,#4a5160);margin:0 12px}
.theme-sahel .util .sub{color:#fff;flex-shrink:0}
.theme-sahel .util .sub:hover{color:var(--accent)}
@keyframes e_tick{to{transform:translateX(-50%)}}
/* masthead */
.theme-sahel header.mh{background:var(--paper);border-bottom:1px solid var(--line)}
.theme-sahel .mh-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:22px 26px;max-width:var(--wrap);margin:0 auto}
.theme-sahel .mh-left{font-family:var(--mono);font-size:11px;color:var(--mut);letter-spacing:.4px;text-transform:uppercase}
.theme-sahel .brand{justify-self:center;display:flex;align-items:center;gap:12px}
.theme-sahel .brand img{height:var(--logoh,44px);width:auto;filter:var(--logofilter,none)}
.theme-sahel .brand{flex-direction:column;gap:4px;text-align:center}
.theme-sahel .brand .wm{font-family:var(--disp);font-weight:var(--dispw,900);font-size:32px;letter-spacing:-.02em}
.theme-sahel .wm-alt{display:block;font-family:var(--altdisp,var(--disp));font-size:var(--altsize,17px);font-weight:var(--altw,700);letter-spacing:0;color:var(--mut);line-height:1.3}
.theme-sahel .brand-f .wm-alt{color:var(--fmut,#9aa)}
.theme-sahel .mh-right{justify-self:end;display:flex;align-items:center;gap:12px}
.theme-sahel .btn{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:9px 16px;border-radius:var(--btnrad,2px);border:1px solid var(--ink);transition:.15s}
.theme-sahel .btn.solid{background:var(--accent);color:var(--onaccent,#fff);border-color:var(--accent)}
.theme-sahel .btn.solid:hover{background:var(--accent2);border-color:var(--accent2)}
.theme-sahel .btn.ghost:hover{background:var(--ink);color:var(--paper)}
/* nav */
.theme-sahel nav.sections{border-bottom:2px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:30}
.theme-sahel nav.sections .in{display:flex;gap:0;max-width:var(--wrap);margin:0 auto;padding:0 26px;overflow-x:auto}
.theme-sahel nav.sections a{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:14px 15px;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;transition:.15s}
.theme-sahel nav.sections a:first-child{padding-left:0}
.theme-sahel nav.sections a:hover{color:var(--accent);border-color:var(--accent)}
.theme-sahel nav.sections a.home{color:var(--accent)}
/* kicker / meta */
.theme-sahel .kick{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--accent)}
.theme-sahel .meta{font-family:var(--mono);font-size:11.5px;color:var(--mut)}
.theme-sahel .byl{font-family:var(--sans);font-size:12.5px;color:var(--mut)}
.theme-sahel .byl b{color:var(--ink);font-weight:600}
.theme-sahel .dek{font-family:var(--serif);color:var(--ink2);font-size:16.5px;line-height:1.5}
/* layout */
.theme-sahel main{padding:30px 0 20px}
.theme-sahel .front{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px}
.theme-sahel .rail{position:sticky;top:64px;align-self:start;display:flex;flex-direction:column;gap:30px}
/* lead well */
.theme-sahel .lead-well{display:grid;grid-template-columns:1.55fr 1fr;gap:34px;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:30px}
.theme-sahel .lead .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--paper2);margin-bottom:16px}
.theme-sahel .lead .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.theme-sahel .lead:hover .ph img{transform:scale(1.03)}
.theme-sahel .lead h2{font-size:var(--leadh,42px);line-height:1.04;margin:12px 0 12px}
.theme-sahel .lead .dek{font-size:19px;line-height:1.48;max-width:60ch}
.theme-sahel .lead .byl{margin-top:14px}
.theme-sahel .lead-more{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.theme-sahel .lead-more .lm-h{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.theme-sahel .lead-more a{display:block;padding:11px 0;border-bottom:1px solid var(--line)}
.theme-sahel .lead-more a:last-child{border-bottom:0}
.theme-sahel .lead-more h4{font-family:var(--disp);font-weight:var(--h4w,700);font-size:19px;line-height:1.15;margin:0 0 3px}
.theme-sahel .lead-more a:hover h4{color:var(--accent)}
.theme-sahel .lead-side{display:flex;flex-direction:column;gap:20px}
.theme-sahel .sidelead{display:grid;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.theme-sahel .sidelead:last-child{border-bottom:0;padding-bottom:0}
.theme-sahel .sidelead .ph{aspect-ratio:16/9;overflow:hidden;background:var(--paper2)}
.theme-sahel .sidelead .ph img{width:100%;height:100%;object-fit:cover}
.theme-sahel .sidelead h3{font-family:var(--disp);font-weight:var(--h4w,700);font-size:21px;line-height:1.12}
.theme-sahel .sidelead:hover h3{color:var(--accent)}
/* strip */
.theme-sahel .strip{margin:6px 0 40px}
.theme-sahel .strip-h{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.theme-sahel .strip-h .lbl{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
.theme-sahel .strip-h .rule{flex:1;height:1px;background:var(--line2)}
.theme-sahel .picks{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.theme-sahel .pick .ph{aspect-ratio:3/2;overflow:hidden;background:var(--paper2);margin-bottom:10px}
.theme-sahel .pick .ph img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.theme-sahel .pick:hover .ph img{transform:scale(1.04)}
.theme-sahel .pick h3{font-family:var(--disp);font-weight:var(--h4w,700);font-size:18px;line-height:1.14;margin:6px 0}
.theme-sahel .pick:hover h3{color:var(--accent)}
/* section */
.theme-sahel .sec{padding:32px 0;border-top:3px solid var(--ink)}
.theme-sahel .sec-h{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.theme-sahel .sec-h .tag{width:12px;height:22px;background:var(--accent)}
.theme-sahel .sec-h h2{font-family:var(--disp);font-weight:900;font-size:25px}
.theme-sahel .sec-h .all{margin-left:auto;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--accent)}
.theme-sahel .sec-h .all:hover{text-decoration:underline}
.theme-sahel .sec-body{display:grid;grid-template-columns:1.35fr 1fr;gap:36px}
.theme-sahel .feature .ph{aspect-ratio:16/9;overflow:hidden;background:var(--paper2);margin-bottom:14px}
.theme-sahel .feature .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.theme-sahel .feature:hover .ph img{transform:scale(1.03)}
.theme-sahel .feature h3{font-family:var(--disp);font-weight:900;font-size:27px;line-height:1.07;margin:8px 0 10px}
.theme-sahel .feature:hover h3{color:var(--accent)}
.theme-sahel .hlist{display:flex;flex-direction:column}
.theme-sahel .hitem{display:grid;grid-template-columns:1fr 92px;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);align-items:start}
.theme-sahel .hitem:first-child{padding-top:0}
.theme-sahel .hitem:last-child{border-bottom:0}
.theme-sahel .hitem h4{font-family:var(--disp);font-weight:var(--h4w,700);font-size:17px;line-height:1.16;margin:5px 0}
.theme-sahel .hitem:hover h4{color:var(--accent)}
.theme-sahel .hitem .th{width:92px;height:66px;object-fit:cover;background:var(--paper2)}
.theme-sahel .hitem.nothumb{grid-template-columns:1fr}
.theme-sahel .sec.band{background:var(--band);border-top-color:var(--accent)}
/* river */
.theme-sahel .river{padding-top:32px;border-top:3px solid var(--ink)}
.theme-sahel .river .row{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.theme-sahel .river .ph{aspect-ratio:16/10;overflow:hidden;background:var(--paper2)}
.theme-sahel .river .ph img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.theme-sahel .river .row:hover .ph img{transform:scale(1.04)}
.theme-sahel .river h3{font-family:var(--disp);font-weight:900;font-size:24px;line-height:1.1;margin:8px 0 8px}
.theme-sahel .river .row:hover h3{color:var(--accent)}
.theme-sahel .river .dek{margin-bottom:8px}
/* rail */
.theme-sahel .rhead{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid var(--ink)}
.theme-sahel .rlatest a{display:grid;grid-template-columns:1fr 62px;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}
.theme-sahel .rlatest a:last-child{border-bottom:0}
.theme-sahel .rlatest .tm{font-family:var(--mono);font-size:10.5px;color:var(--accent)}
.theme-sahel .rlatest h4{font-family:var(--disp);font-weight:var(--h4w,700);font-size:15.5px;line-height:1.16;margin:3px 0 0}
.theme-sahel .rlatest a:hover h4{color:var(--accent)}
.theme-sahel .rlatest .th{width:62px;height:52px;object-fit:cover;background:var(--paper2)}
.theme-sahel .rread a{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);align-items:start}
.theme-sahel .rread a:last-child{border-bottom:0}
.theme-sahel .rread .n{font-family:var(--disp);font-weight:900;font-size:30px;line-height:.8;color:var(--line2)}
.theme-sahel .rread a:hover .n{color:var(--accent)}
.theme-sahel .rread h4{font-family:var(--disp);font-weight:var(--h4w,700);font-size:16px;line-height:1.14;margin:2px 0 0}
.theme-sahel .rread a:hover h4{color:var(--accent)}
.theme-sahel .cta{background:var(--ctabg,var(--dark));color:#fff;padding:24px 22px}
.theme-sahel .cta h3{font-family:var(--disp);font-weight:900;font-size:23px;line-height:1.05;color:#fff;margin-bottom:8px}
.theme-sahel .cta p{font-family:var(--serif);font-size:14.5px;color:var(--ctap,#c0bbc8);margin:0 0 16px}
.theme-sahel .cta .go{display:inline-block;background:var(--accent);color:var(--onaccent,#fff);font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:11px 18px}
.theme-sahel .cta .go:hover{background:#fff;color:var(--dark)}
.theme-sahel .topics{display:flex;flex-wrap:wrap;gap:8px}
.theme-sahel .topics a{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--ink2);border:1px solid var(--line2);padding:6px 11px;transition:.15s}
.theme-sahel .topics a:hover{border-color:var(--accent);color:var(--accent)}
/* pager */
.theme-sahel .pager{display:flex;justify-content:space-between;gap:12px;margin:34px 0 6px}
.theme-sahel .pager a{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;border:1px solid var(--ink);padding:12px 22px;transition:.15s}
.theme-sahel .pager a:hover{background:var(--ink);color:var(--paper)}
.theme-sahel .pager .sp{visibility:hidden}
/* article */
.theme-sahel .art-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;max-width:var(--wrap);margin:0 auto;padding:0 26px;align-items:start}
.theme-sahel .art-rail{position:sticky;top:64px;display:flex;flex-direction:column;gap:26px;padding-top:36px}
.theme-sahel article.post{padding:36px 0 10px}
.theme-sahel .artkick{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.theme-sahel .post .kick{font-size:12px}
.theme-sahel .post h1{font-size:var(--h1,44px);line-height:1.05;margin:16px 0 16px}
.theme-sahel .post .stand{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--ink2);margin:0 0 20px;font-style:var(--standi,normal)}
.theme-sahel .post .byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--sans);font-size:13px;color:var(--mut)}
.theme-sahel .post .byline b{color:var(--ink);font-weight:600}
.theme-sahel .post .byline .av{width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--onaccent,#fff);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:900;font-size:16px}
.theme-sahel .post .hero-img{margin:26px 0 12px}
.theme-sahel .post .hero-img img{width:100%}
.theme-sahel .post .hero-img figcaption,.theme-sahel .cfig figcaption{font-family:var(--sans);font-size:12px;color:var(--faint);margin-top:8px}
.theme-sahel .post .content{font-family:var(--serif);font-size:20px;line-height:1.72;color:var(--ink2)}
.theme-sahel .post .content>p:first-of-type::first-letter{font-family:var(--disp);font-weight:900;font-size:4.3em;line-height:.82;float:left;padding:6px 12px 0 0;color:var(--accent)}
.theme-sahel .post .content p{margin:0 0 1.3em}
.theme-sahel .post .content h2{font-family:var(--disp);font-weight:900;font-size:28px;line-height:1.1;margin:1.6em 0 .5em;color:var(--ink)}
.theme-sahel .post .content h3{font-family:var(--disp);font-weight:var(--h4w,700);font-size:22px;margin:1.4em 0 .4em;color:var(--ink)}
.theme-sahel .post .content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.theme-sahel .post .content blockquote{margin:1.5em 0;padding:4px 0 4px 24px;border-left:3px solid var(--accent);font-family:var(--disp);font-weight:var(--h4w,700);font-size:23px;line-height:1.3;color:var(--ink)}
.theme-sahel .post .content ul,.theme-sahel .post .content ol{margin:0 0 1.3em;padding-left:1.3em}
/* second-language block (bilingual titles): an Arabic/Hebrew translation of the
   same article, set right-to-left under a rule. Amiri/Noto fall back to the
   system Arabic face on themes that do not self-host one. */
.theme-sahel .content .srcnote{font-family:var(--sans);font-size:14px;color:var(--mut);margin:1.8em 0 0;padding-top:1.1em;border-top:1px solid var(--line)}
.theme-sahel .content .srcnote a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.theme-sahel .altlang{margin:3em 0 0;padding-top:1.6em;border-top:3px double var(--line2)}
.theme-sahel .altlang .altlang-h{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--mut);margin-bottom:1.1em}
.theme-sahel .altlang[dir="rtl"]{direction:rtl;text-align:right}
.theme-sahel .altlang[dir="rtl"] .altlang-h{text-align:right;letter-spacing:0}
.theme-sahel .altlang[dir="rtl"] h2,.theme-sahel .altlang[dir="rtl"] h3{text-align:right}
.theme-sahel .altlang[dir="rtl"] ul,.theme-sahel .altlang[dir="rtl"] ol{padding-left:0;padding-right:1.3em}
.theme-sahel .altlang[dir="rtl"] blockquote{border-left:0;border-right:3px solid var(--accent);padding:4px 24px 4px 0}
.theme-sahel .altlang[dir="rtl"] p:first-of-type::first-letter{font-size:inherit;float:none;padding:0;color:inherit;font-family:inherit;font-weight:inherit}
.theme-sahel .altlang[lang="ar"]{font-family:'Amiri',var(--serif);font-size:21px;line-height:1.95}
/* photo credit under a hero image */
.theme-sahel .hero-img figcaption,.theme-sahel .cfig figcaption{font-family:var(--sans);font-size:12.5px;line-height:1.45;color:var(--mut);margin-top:9px;padding-bottom:2px}
.theme-sahel .hero-img figcaption .cr,.theme-sahel .cfig figcaption .cr{color:var(--faint)}
.theme-sahel .cfig{margin:1.7em 0}
.theme-sahel .cfig img{width:100%}
.theme-sahel .cfig--wide{width:min(112%,calc(100% + 90px));margin-left:calc((100% - min(112%,calc(100% + 90px)))/2)}
.theme-sahel .cfig--inset{float:right;width:46%;margin:6px 0 18px 26px}
.theme-sahel .showstop{margin:2.2em 0;padding:34px 0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);text-align:center}
.theme-sahel .showstop q{font-family:var(--disp);font-weight:900;font-size:30px;line-height:1.16;quotes:none}
.theme-sahel .showstop q::before,.theme-sahel .showstop q::after{color:var(--accent)}
.theme-sahel .showstop q::before{content:var(--quoteopen,"\201C")}
.theme-sahel .showstop q::after{content:var(--quoteclose,"\201D")}
.theme-sahel .showstop .attr{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--mut);margin-top:16px}
/* pre-launch cover (no articles yet) */
.theme-sahel .launch{padding:76px 0 60px;border-bottom:1px solid var(--line);max-width:760px}
.theme-sahel .launch .kick{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.theme-sahel .launch h1{font-size:clamp(34px,5.2vw,var(--h1,48px));line-height:1.05;margin-bottom:22px}
.theme-sahel .launch .dek{font-size:19px;line-height:1.62;color:var(--ink2);max-width:56ch;margin:0}
.theme-sahel .launch .lact{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:34px}
.theme-sahel .lsecs{padding:44px 0;border-bottom:1px solid var(--line)}
/* borders live on the cards, not on a coloured grid gap: a partly-filled last
   row would otherwise show the gap colour as a solid block */
.theme-sahel .lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0;
  border-top:1px solid var(--line);border-left:1px solid var(--line)}
.theme-sahel .lcard{background:var(--paper);padding:22px 20px 24px;display:block;transition:.18s;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.theme-sahel .lcard:hover{background:var(--band)}
.theme-sahel .lcard-i{display:block;width:26px;height:3px;background:var(--cc,var(--accent));margin-bottom:14px}
.theme-sahel .lcard h3{font-size:19px;line-height:1.2}
.theme-sahel .lcard:hover h3{color:var(--accent)}
.theme-sahel .emptysec{font-family:var(--sans);font-size:15px;color:var(--mut);padding:40px 0;margin:0;border-bottom:1px solid var(--line)}
.theme-sahel .adbox{margin:0}
.theme-sahel .ad-lbl{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--faint);text-align:center;margin-bottom:6px}
.theme-sahel .ad-inarticle{margin:2.4em 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.theme-sahel .ad-ph{display:flex;align-items:center;justify-content:center;background:var(--adph,repeating-linear-gradient(45deg,#f4f2ee,#f4f2ee 10px,#efece7 10px,#efece7 20px))}
.theme-sahel .ad-inarticle .ad-ph{height:110px}
.theme-sahel .ad-square .ad-ph{height:250px}
.theme-sahel .ai-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--ink2);border:1px solid var(--line2);border-radius:20px;padding:4px 10px}
.theme-sahel .ai-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.theme-sahel .ai-chip:hover{border-color:var(--accent);color:var(--accent)}
.theme-sahel .ai-note{margin:34px 0 0;padding:18px 20px;background:var(--band);border-left:3px solid var(--accent);font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--ink2)}
.theme-sahel .ai-note b{color:var(--ink)}
.theme-sahel .ai-note a{color:var(--accent);text-decoration:underline}
.theme-sahel .tags{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.theme-sahel .tags a{font-family:var(--sans);font-size:12px;color:var(--ink2);border:1px solid var(--line2);padding:6px 12px}
.theme-sahel .tags a:hover{border-color:var(--accent);color:var(--accent)}
.theme-sahel .relwrap{background:var(--band);border-top:3px solid var(--ink);margin-top:44px}
.theme-sahel .relwrap .in{max-width:var(--wrap);margin:0 auto;padding:34px 26px}
.theme-sahel .cathead{border-bottom:3px solid var(--ink);padding:20px 0 18px;margin-bottom:8px}
.theme-sahel .cathead h1{font-size:44px;margin-top:8px}
.theme-sahel .staticpage{max-width:760px;margin:0 auto;padding:34px 26px 20px}
.theme-sahel .staticpage h1{font-size:44px;margin:8px 0 20px}
.theme-sahel .staticpage h2{font-family:var(--disp);font-weight:900;font-size:24px;margin:1.5em 0 .4em}
.theme-sahel .staticpage p,.theme-sahel .staticpage li{font-family:var(--serif);font-size:18px;line-height:1.7;color:var(--ink2)}
.theme-sahel .staticpage ul{padding-left:1.2em}
.theme-sahel .staticpage code{font-family:var(--mono);font-size:13px;background:var(--band);padding:2px 6px}
/* footer */
.theme-sahel footer.site{background:var(--dark);color:var(--fmut,#aab1be);margin-top:52px}
.theme-sahel footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding:46px 26px 30px;max-width:var(--wrap);margin:0 auto}
.theme-sahel footer.site .brand-f .wm{font-family:var(--disp);font-weight:900;font-size:26px;color:#fff;margin-bottom:12px}
.theme-sahel footer.site p{font-family:var(--serif);font-size:14px;color:var(--fmut2,#8b93a3);max-width:38ch;margin:0}
.theme-sahel footer.site .fh{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:14px}
.theme-sahel footer.site nav{display:flex;flex-direction:column;gap:9px;font-family:var(--sans);font-size:13.5px}
.theme-sahel footer.site nav a:hover{color:var(--accent)}
.theme-sahel footer.site .legal{border-top:1px solid var(--fline,#262a33);padding:16px 26px 44px;font-family:var(--mono);font-size:11.5px;color:var(--fmut2,#6b7280);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:var(--wrap);margin:0 auto}
.theme-sahel footer.site .legal b{color:var(--accent);font-weight:500}
.theme-sahel footer.site .legal .ai a{color:var(--fmut,#aab1be);text-decoration:underline}
/* responsive */
@media(max-width:1080px){
  .theme-sahel .front{grid-template-columns:1fr;gap:0}
  .theme-sahel .rail{position:static;flex-direction:row;flex-wrap:wrap;gap:30px;margin-top:40px;border-top:3px solid var(--ink);padding-top:28px}
  .theme-sahel .rail>*{flex:1;min-width:240px}
  .theme-sahel .art-wrap{grid-template-columns:1fr;gap:0}
  .theme-sahel .art-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:26px;border-top:3px solid var(--ink);margin-top:30px}
  .theme-sahel .art-rail>*{flex:1;min-width:250px}
}
@media(max-width:820px){
  .theme-sahel .lead-well,.theme-sahel .sec-body{grid-template-columns:1fr;gap:24px}
  .theme-sahel .picks{grid-template-columns:1fr 1fr}
  .theme-sahel footer.site .cols{grid-template-columns:1fr 1fr}
  .theme-sahel .mh-row{grid-template-columns:1fr auto}.theme-sahel .mh-left{display:none}
  .theme-sahel .cfig--inset{float:none;width:100%;margin:1.5em 0}
}
@media(max-width:560px){
  .theme-sahel .lead h2{font-size:31px}.theme-sahel .post h1{font-size:32px}
  .theme-sahel .picks{grid-template-columns:1fr}.theme-sahel .river .row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.theme-sahel .util .tick .mv{animation:none}.theme-sahel *{transition:none!important}}
.theme-sahel nav.sections{border-bottom:none;box-shadow:inset 0 -6px 0 -3px var(--ink)}.theme-sahel .topaccent{background:repeating-linear-gradient(90deg,var(--accent) 0 22px,#1c1713 22px 30px,#c99a4e 30px 38px,var(--accent) 38px 60px)}.theme-sahel .sec-h .tag{background:var(--accent)}.theme-sahel .kick{color:var(--accent);letter-spacing:1.3px}.theme-sahel .sec-h h2{font-size:26px}.theme-sahel .lead h2,.theme-sahel .post h1{line-height:1.06}.theme-sahel .launch h1{line-height:1.08}.theme-sahel .rhead{border-bottom:2px solid var(--accent)}.theme-sahel .post .content>p:first-of-type::first-letter{color:var(--accent)}