
:root{
  --paper:#FFFFFF;--ink:#111110;--rule:#111110;--rule-soft:#FFFFFF;
  --muted:#111110;--field:#FFFFFF;--inv-bg:#111110;--inv-fg:#FFFFFF;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --arabic:"Readex Pro","IBM Plex Sans Arabic","Segoe UI",Tahoma,sans-serif;
  --arabic-display:"Alexandria","Readex Pro","IBM Plex Sans Arabic",Tahoma,sans-serif;
  --face:var(--sans);--gut:clamp(16px,4.2vw,56px);--maxw:1500px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#111110;--ink:#FFFFFF;--rule:#111110;--rule-soft:#111110;
    --muted:#111110;--field:#111110;--inv-bg:#FFFFFF;--inv-fg:#111110;}
}
:root[data-theme="dark"]{
  --paper:#111110;--ink:#FFFFFF;--rule:#111110;--rule-soft:#111110;
  --muted:#111110;--field:#111110;--inv-bg:#FFFFFF;--inv-fg:#111110;}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--face);
  font-size:17px;line-height:1.55;font-synthesis-weight:none}
html[lang="ar"] body{--face:var(--arabic);line-height:1.8}
::selection{background:var(--ink);color:var(--paper)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}

.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.lbl{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .lbl{font-family:var(--arabic);letter-spacing:0;font-size:12.5px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}

.topbar{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--ink)}
.topbar-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);display:flex;align-items:stretch;min-height:56px}
.brand{display:flex;align-items:center;gap:9px;padding-inline-end:26px;white-space:nowrap;
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
html[lang="ar"] .brand{font-family:var(--arabic);letter-spacing:0;font-size:15px;font-weight:600}
.brand span{color:var(--muted)}
.mainnav{display:flex;flex:1;overflow-x:auto;scrollbar-width:none}
.mainnav::-webkit-scrollbar{display:none}
.mainnav a{display:flex;align-items:center;padding:0 16px;white-space:nowrap;font-family:var(--mono);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-inline-start:1px solid var(--rule-soft)}
html[lang="ar"] .mainnav a{font-family:var(--arabic);letter-spacing:0;font-size:14.5px}
.mainnav a:hover{background:var(--field)}
.mainnav a[aria-current="page"]{background:var(--inv-bg);color:var(--inv-fg)}
.langtoggle{display:flex;border-inline-start:1px solid var(--rule-soft)}
.langtoggle button{padding:0 13px;font-family:var(--mono);font-size:12px;letter-spacing:.1em}
.langtoggle button[aria-pressed="true"]{background:var(--inv-bg);color:var(--inv-fg)}

.plate{position:relative;border:1px solid var(--rule);background:var(--field);display:flex;
  align-items:center;justify-content:center;overflow:hidden;aspect-ratio:3/2}
.plate::before{content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(45deg,var(--rule) 0 1px,transparent 1px 9px);opacity:.4}
.plate figcaption{position:relative;background:var(--paper);border:1px solid var(--rule);padding:5px 10px;
  max-width:84%;text-align:center;line-height:1.5;font-family:var(--mono);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.plate.hero{aspect-ratio:21/9}.plate.sq{aspect-ratio:4/3}.plate.thumb{aspect-ratio:16/10}

.opening{padding:clamp(38px,6vw,84px) 0 clamp(34px,5vw,64px);border-bottom:0}
.thesis{margin:0;font-size:clamp(30px,5.4vw,64px);line-height:1.06;font-weight:600;
  letter-spacing:-.028em;text-wrap:balance;max-width:17ch}
html[lang="ar"] .thesis{letter-spacing:0;line-height:1.3;max-width:20ch;font-weight:700}
.thesis em{font-style:normal;background:var(--inv-bg);color:var(--inv-fg);padding:0 .18em}
.hero-name{margin:0 0 clamp(14px,2vw,22px)}
.hero-name em{font-style:normal;display:inline-block;background:var(--inv-bg);color:var(--inv-fg);
  padding:.1em .34em;font-weight:700;font-size:clamp(18px,1.9vw,25px);letter-spacing:-.01em}
html[lang="ar"] .hero-name em{letter-spacing:0}
.thesis.claim{font-size:clamp(25px,3.4vw,44px);max-width:30ch;line-height:1.3;font-weight:700}
.hero-sub{margin:clamp(16px,2vw,24px) 0 0;color:var(--muted);font-size:16.5px;max-width:62ch}
html[lang="ar"] .thesis.claim{line-height:1.42;max-width:32ch}
.opening-strap{margin:14px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);max-width:74ch}
html[lang="ar"] .opening-strap{font-family:var(--arabic);font-size:18px;letter-spacing:0;line-height:1.75;text-transform:none;color:var(--ink)}
.opening-wrap{display:grid;grid-template-columns:1fr;gap:clamp(22px,4vw,52px);margin-top:clamp(26px,4vw,44px)}
@media(min-width:980px){.opening-wrap{grid-template-columns:minmax(0,1.2fr) minmax(280px,380px);align-items:start}}

/* ---- practice / method chips under homepage introduction ---- */
.practice-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(22px,3vw,30px);max-width:1050px}
.practice-btn{border:1px solid var(--ink);padding:6px 10px;min-height:34px;display:inline-flex;align-items:center;
  justify-content:center;font-family:var(--mono);font-size:11px;line-height:1.25;letter-spacing:.08em;
  text-transform:uppercase;transition:background .14s linear,color .14s linear}
html[lang="ar"] .practice-btn{font-family:var(--arabic);font-size:13px;letter-spacing:0;text-transform:none;font-weight:500}
.practice-btn:hover,.practice-btn[aria-expanded="true"]{background:var(--inv-bg);color:var(--inv-fg)}
.practice-panel{margin-top:14px;max-width:76ch;border-top:1px solid var(--ink);padding-top:13px}
.practice-panel[hidden]{display:none}
.practice-panel p{margin:0;font-size:15.5px;line-height:1.7;color:var(--ink)}
html[lang="ar"] .practice-panel p{line-height:1.9}
.practice-panel p+p{margin-top:10px;color:var(--muted)}
.practice-note{margin:12px 0 0;max-width:76ch;font-size:13.5px;line-height:1.65;color:var(--muted);border-inline-start:1px solid var(--rule);padding-inline-start:12px}
html[lang="ar"] .practice-note{line-height:1.85}
@media(max-width:620px){.practice-tools{gap:7px}.practice-btn{font-size:10.5px;padding:6px 9px}html[lang="ar"] .practice-btn{font-size:12.5px}}
.intro-grid{display:grid;grid-template-columns:1fr;gap:clamp(18px,3vw,42px)}
@media(min-width:900px){.intro-grid{grid-template-columns:1fr 1fr}}
.intro-grid p{margin:0;font-size:16.5px;color:var(--muted);max-width:60ch}
.intro-grid p.strong{color:var(--ink);font-size:clamp(17px,1.7vw,19px)}
.hero-portrait{margin:0;border:1px solid var(--rule);background:var(--field)}
.hero-portrait img{display:block;width:100%;height:auto;filter:grayscale(100%)}
.hero-portrait figcaption{padding:10px 12px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .hero-portrait figcaption{font-family:var(--arabic);font-size:13px;letter-spacing:0;text-transform:none}

.band{padding:clamp(44px,6vw,84px) 0 0}
.band-head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;
  border-bottom:1px solid var(--ink);padding-bottom:11px;margin-bottom:clamp(18px,2.6vw,28px)}
.band-head h2{margin:0;font-family:var(--mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
html[lang="ar"] .band-head h2{font-family:var(--arabic);letter-spacing:0;font-size:16px;font-weight:600}
.band-head .more{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .band-head .more{font-family:var(--arabic);letter-spacing:0;font-size:13.5px}
.band-head .more:hover{color:var(--ink)}
.band-sub{margin:-6px 0 clamp(20px,3vw,32px);color:var(--muted);font-size:15.5px;max-width:70ch}
.railhead{display:flex;align-items:center;gap:14px}

.rail{display:flex;gap:clamp(16px,2.2vw,30px);overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding-bottom:4px}
.rail::-webkit-scrollbar{display:none}
.card{flex:0 0 clamp(250px,72vw,390px);scroll-snap-align:start;display:block}
.card .meta{margin-top:13px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .card .meta{font-family:var(--arabic);letter-spacing:0;font-size:12.5px}
.card h3{margin:8px 0 7px;font-size:clamp(19px,2.1vw,23px);line-height:1.2;font-weight:600;
  letter-spacing:-.018em;text-wrap:balance}
html[lang="ar"] .card h3{letter-spacing:0;line-height:1.42;font-weight:700}
.card p{margin:0 0 12px;font-size:15px;color:var(--muted);line-height:1.5}
.card .foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.card .cta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  border-bottom:1px solid var(--ink);padding-bottom:3px}
html[lang="ar"] .card .cta{font-family:var(--arabic);letter-spacing:0;font-size:13px}
.card:hover .cta{background:var(--inv-bg);color:var(--inv-fg);border-color:transparent;padding:3px 8px}
.card:hover .plate{border-color:var(--ink)}
.card-media{aspect-ratio:16/10;border:1px solid var(--rule);background:#FFFFFF;overflow:hidden;margin:0}
.card-media img{display:block;width:100%;height:100%;object-fit:cover}
.card-media.contain img{object-fit:contain;padding:clamp(18px,4vw,38px);background:#FFFFFF}
.card:hover .card-media{border-color:var(--ink)}
.chip{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--rule);padding:3px 8px;color:var(--muted)}
html[lang="ar"] .chip{font-family:var(--arabic);letter-spacing:0;font-size:12px}
.railnav{display:flex;border:1px solid var(--rule)}
.railnav button{width:44px;height:32px;display:flex;align-items:center;justify-content:center;
  border-inline-end:1px solid var(--rule);font-family:var(--mono);font-size:15px}
.railnav button:last-child{border-inline-end:0}
.railnav button:hover:not([disabled]){background:var(--inv-bg);color:var(--inv-fg)}
.railnav button[disabled]{opacity:.3;cursor:default}

.pregwrap{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:1040px){.pregwrap{grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:clamp(32px,4vw,64px);align-items:start}}
.prow{display:grid;grid-template-columns:56px 92px 1fr auto;gap:16px;align-items:center;padding:16px 0;
  border-bottom:1px solid var(--rule-soft);transition:padding-inline-start .16s ease}
.prow:hover{padding-inline-start:10px;background:var(--field)}
.prow .n{font-family:var(--mono);font-size:14px;color:var(--muted)}
.prow .plogo{width:92px;height:58px;border:1px solid var(--rule);background:#FFFFFF;display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden}
.prow .plogo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.prow .t{font-size:clamp(19px,2.3vw,27px);font-weight:600;letter-spacing:-.018em;line-height:1.2;min-width:0}
html[lang="ar"] .prow .t{letter-spacing:0;line-height:1.4;font-weight:700}
.prow .t small{display:block;margin-top:6px;font-size:14.5px;font-weight:400;color:var(--muted);line-height:1.5}
.prow .p{font-family:var(--mono);font-size:13px;color:var(--muted);white-space:nowrap}
@media(max-width:700px){.prow{grid-template-columns:42px 72px 1fr;gap:11px}.prow .plogo{width:72px;height:48px;padding:6px}.prow .p{grid-column:3}.prow .t{font-size:19px}}
/* ---- project reader (Blackwood-style split) ---- */
/* ---- now-ticker (Blackwood range bar) ---- */
.ticker{border-block:1px solid var(--ink);margin-top:clamp(40px,6vw,80px);padding:16px 0 18px;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,48px)}
@media(max-width:900px){.ticker{grid-template-columns:1fr;gap:14px}}
.tk .trange{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;
  direction:ltr;unicode-bidi:isolate;color:var(--ink)}
html[dir="rtl"] .tk .trange{justify-content:flex-end}
.tk .leader{flex:1;min-width:24px;position:relative;height:1px;
  background-image:repeating-linear-gradient(to right,var(--muted) 0 2px,transparent 2px 7px)}
.tk .leader .nowdot{position:absolute;top:50%;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%}
.tk .leader .nowdot.live{background:var(--status-green-dot)}
.tk .leader .nowdot.wait{background:transparent;border:1.6px solid var(--muted)}
.tk .ttitle{margin-top:7px;font-size:16.5px;font-weight:700;line-height:1.45}
.tk .ttitle a:hover{text-decoration:underline;text-underline-offset:4px}
.tk .tvenue{margin-top:2px;font-size:13.5px;color:var(--muted)}
.tk .tstat{display:inline-block;margin-inline-start:8px;font-size:11.5px;font-weight:700;vertical-align:middle}
.tk .tstat.live{color:#111110}
.tk .tstat.wait{border:1px solid var(--ink);padding:1px 7px}

/* ---- museum spines ---- */
.spine-groups{display:flex;gap:clamp(22px,3.5vw,52px);align-items:stretch;flex-wrap:wrap;
  margin-top:clamp(16px,2.4vw,26px)}
.spine-group{min-width:0;display:flex;flex-direction:column}
.spine-group:first-child{flex:5 1 340px}
.spine-group:last-child{flex:2 1 160px}
.sg-label{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);
  font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
html[lang="ar"] .sg-label{font-family:var(--arabic);letter-spacing:0;font-size:12.5px}
.sgk{width:9px;height:9px;flex:none;display:inline-block}
.spines{display:flex;gap:8px;flex:1}
.spine{flex:1 1 0;min-width:50px;max-width:150px;height:clamp(250px,29vw,400px);border:1px solid var(--ink);
  background:var(--field);display:flex;flex-direction:column;align-items:center;
  justify-content:space-between;padding:16px 0 12px;min-width:0;
  transition:background .15s linear,color .15s linear}
.spine .sp-t{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:700;
  font-size:clamp(13.5px,1.25vw,17.5px);line-height:1.15;letter-spacing:-.01em;
  max-height:100%;overflow:hidden;font-family:var(--sans)}
html[lang="ar"] .spine .sp-t{font-family:var(--arabic-display);letter-spacing:0}
.spine .sp-n{width:27px;height:27px;border:1px dotted currentColor;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;margin-top:12px}
.spine:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.spine[data-m="spm"]:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:760px){
  .spine-groups{flex-direction:column;align-items:stretch;gap:20px}
  .spines{flex-direction:column;width:100%}
  .spine{width:100%;height:auto;flex-direction:row;justify-content:space-between;padding:13px 15px}
  .spine .sp-t{writing-mode:horizontal-tb;transform:none;max-height:none}
  .spine .sp-n{margin-top:0}
}

/* ---- investigations pipeline row ---- */
.ticker-inv{border-top:1px solid var(--rule);margin-top:14px;padding-top:13px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,48px)}
@media(max-width:900px){.ticker-inv{grid-template-columns:1fr;gap:14px}
  .ti .ti-line{flex-wrap:wrap;row-gap:6px}
  .ti .ti-now{white-space:normal;overflow:visible;text-overflow:clip}
  .ti .ti-next{white-space:normal}
  .ti .ti-leader{display:none}}
.ti .ti-museum{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);
  font-size:11px;letter-spacing:.08em;color:var(--muted)}
html[lang="ar"] .ti .ti-museum{font-family:var(--arabic);letter-spacing:0;font-size:12.5px}
.ti .tik{width:9px;height:9px;flex:none;display:inline-block}
.ti .ti-line{display:flex;align-items:baseline;gap:12px;margin-top:7px;min-width:0}
.ti .ti-now{font-weight:700;font-size:15.5px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[lang="ar"] .ti .ti-now{font-family:var(--arabic-display)}
.ti .ti-now a:hover{text-decoration:underline;text-underline-offset:4px}
.ti .ti-pub{color:#111110;font-size:11px;font-weight:700;margin-inline-start:6px}
.ti .ti-leader{flex:1;min-width:20px;height:1px;align-self:center;
  background-image:repeating-linear-gradient(to right,var(--muted) 0 2px,transparent 2px 7px)}
.ti .ti-next{display:inline-flex;align-items:baseline;gap:8px;color:var(--muted);
  font-size:14px;font-weight:600;white-space:nowrap}
.ti .ti-next i{width:9px;height:9px;border-radius:50%;border:1.6px solid var(--muted);
  align-self:center;flex:none;font-style:normal}
.ti .ti-date{font-size:11.5px;font-weight:700;border:1px solid var(--ink);color:var(--ink);padding:1px 7px}

.reader{border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr}
@media(min-width:1040px){.reader{grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr)}}
.reader-list{display:flex;flex-direction:column}
@media(min-width:1040px){.reader-list{border-inline-end:1px solid var(--ink)}}
.rrow{position:relative;display:flex;gap:16px;align-items:center;
  padding:17px clamp(14px,1.6vw,22px) 17px 0;border-bottom:1px solid var(--ink);min-width:0}
.rrow::before{content:"";position:absolute;inset-inline-start:0;top:-1px;bottom:-1px;width:5px;background:transparent}
.rrow.active::before{background:#FEFEA4}
.rrow:hover{background:var(--field)}
.rrow .rdot{flex:none;width:10px;height:10px;border-radius:50%;margin-inline-start:clamp(12px,1.4vw,20px)}
.rrow .rdot.on{background:var(--status-green-dot)}
.rrow .rdot.soon{background:#FEFEA4;border:1px solid rgba(17,17,16,.4)}
.rrow .rdot.done{background:transparent;border:1.5px solid var(--muted)}
.rrow .rr{min-width:0}
.rrow .rr .rmeta{display:block;font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.03em;direction:ltr;unicode-bidi:isolate}
html[lang="ar"] .rrow .rr .rmeta{text-align:start}
.rrow .rr .rtitle{display:block;margin-top:4px;font-size:clamp(19px,2.2vw,26px);font-weight:600;letter-spacing:-.016em;line-height:1.22}
html[lang="ar"] .rrow .rr .rtitle{letter-spacing:0;line-height:1.4;font-weight:700}
.reader-pane{display:none}
@media(min-width:1040px){
  .reader-pane{display:block;position:sticky;top:86px;align-self:start;
    padding:clamp(18px,2.4vw,30px) 0 6px clamp(18px,2.6vw,36px)}
  html[dir="ltr"] .reader-pane{padding:clamp(18px,2.4vw,30px) clamp(18px,2.6vw,36px) 6px 0;padding-inline-start:clamp(18px,2.6vw,36px);padding-inline-end:0}
}
.rpane-visual{aspect-ratio:16/10;border:1px solid var(--rule);background:#111110;overflow:hidden;
  display:flex;align-items:center;justify-content:center}
.rpane-visual img{width:100%;height:100%;object-fit:cover;transition:filter .25s ease}
.rpane-visual img.contain{object-fit:contain;padding:26px;background:#FFFFFF}
.rpane-visual img.desaturate{filter:grayscale(100%)}
.rpane-cap{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--rule);
  padding:9px 2px 10px;font-family:var(--mono);font-size:12px;color:var(--muted)}
html[lang="ar"] .rpane-cap{font-family:var(--arabic);font-size:13px}
.rpane-cap b{color:var(--ink);font-weight:600}
.rpane-text{margin:16px 0 0;font-size:15.5px;line-height:1.7;color:var(--ink);max-width:58ch;
  border-inline-start:2px solid var(--ink);padding-inline-start:clamp(12px,1.4vw,18px)}
.rpane-cta{display:inline-flex;gap:8px;margin-top:16px;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}
html[lang="ar"] .rpane-cta{font-family:var(--arabic);letter-spacing:0;font-size:13.5px}
.rpane-cta:hover{background:var(--inv-bg);color:var(--inv-fg);border-color:transparent;padding:3px 9px}

.psticky{display:none}
@media(min-width:1040px){.psticky{display:block;position:sticky;top:86px}
  .psticky-visual{aspect-ratio:16/10;border:1px solid var(--rule);background:#111110;display:flex;align-items:center;justify-content:center;overflow:hidden}
  .psticky-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .25s ease}
  .psticky-visual img.contain{object-fit:contain;padding:28px;background:#FFFFFF}
  .psticky-visual img.desaturate{filter:grayscale(100%)}
  .psticky .cap{display:flex;justify-content:space-between;gap:12px;padding-top:10px;
    font-family:var(--mono);font-size:12px;color:var(--muted)}
  html[lang="ar"] .psticky .cap{font-family:var(--arabic);font-size:13.5px}}

.projlist{padding:0 0 clamp(50px,8vw,100px)}
.proj{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,40px);padding:clamp(40px,6vw,80px) 0;
  border-bottom:1px solid var(--rule-soft);align-items:center}
@media(min-width:900px){.proj{grid-template-columns:minmax(300px,.95fr) minmax(0,1.15fr);gap:clamp(36px,5vw,68px)}
  .proj.flip .proj-txt{order:2}.proj.flip .proj-img{order:1}}
.proj-num{display:block;font-family:var(--mono);font-size:clamp(42px,6.6vw,80px);line-height:.9;
  letter-spacing:-.04em;color:var(--rule);margin-bottom:13px}
.proj h3{margin:0 0 9px;font-size:clamp(23px,3.2vw,38px);line-height:1.1;font-weight:600;letter-spacing:-.02em}
html[lang="ar"] .proj h3{letter-spacing:0;line-height:1.28;font-weight:700}
.proj .period{font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.05em}
.proj .line{margin:15px 0 21px;max-width:46ch;color:var(--muted);font-size:16.5px}
.proj .go{display:inline-flex;gap:9px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}
html[lang="ar"] .proj .go{font-family:var(--arabic);letter-spacing:0;font-size:13.5px}
.proj:hover .go{background:var(--inv-bg);color:var(--inv-fg);border-color:transparent;padding:4px 9px}
.proj-img,.project-hero,.about-portrait{border:1px solid var(--rule);background:#FFFFFF}
.proj-img{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;overflow:hidden;padding:0;background:#111110}
.proj-img img.main-visual{display:block;width:100%;height:100%;object-fit:cover;transition:filter .28s ease,transform .35s ease}
.proj-img img.main-visual.contain{object-fit:contain;padding:clamp(18px,3vw,34px);background:#FFFFFF}
.proj-img img.main-visual.desaturate{filter:grayscale(100%)}
.proj:hover .proj-img img.main-visual.desaturate{filter:grayscale(0%)}
.proj:hover .proj-img img.main-visual:not(.contain){transform:scale(1.018)}
.project-mini-logo{position:absolute;inset:auto 12px 12px auto;background:rgba(255,255,255,.94);border:1px solid rgba(17,17,16,.18);padding:7px 9px;display:flex;align-items:center;justify-content:center;max-width:150px;max-height:54px}
html[dir="rtl"] .project-mini-logo{inset:auto auto 12px 12px}
.project-mini-logo img{display:block;max-width:130px;max-height:34px;width:auto;height:auto;object-fit:contain}
.project-hero{position:relative;overflow:hidden;margin-bottom:clamp(16px,2vw,24px);background:#111110;min-height:clamp(300px,52vw,650px);display:flex;align-items:center;justify-content:center}
.project-hero img.hero-main{display:block;width:100%;height:100%;min-height:clamp(300px,52vw,650px);object-fit:cover}
.project-hero img.hero-main.contain{object-fit:contain;padding:clamp(20px,4vw,48px);background:#FFFFFF}
.project-hero .hero-logo{position:absolute;inset:auto 18px 18px auto;background:rgba(255,255,255,.95);border:1px solid rgba(17,17,16,.18);padding:10px 14px;display:flex;align-items:center;justify-content:center;max-width:230px;max-height:82px}
html[dir="rtl"] .project-hero .hero-logo{inset:auto auto 18px 18px}
.project-hero .hero-logo img{display:block;max-width:200px;max-height:54px;width:auto;height:auto;object-fit:contain}
.visual-groups{display:flex;flex-direction:column;gap:clamp(36px,5vw,64px)}
.visual-group h3{font-size:clamp(18px,2vw,24px);margin:0 0 16px;font-weight:600}
.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.visual-card{margin:0;border:1px solid var(--rule);background:#111110;overflow:hidden;display:flex;flex-direction:column}
.visual-frame{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111110}
.visual-frame img{display:block;width:100%;height:100%;object-fit:cover}
.visual-frame img.contain{object-fit:contain;background:#FFFFFF;padding:12px}
.visual-card figcaption{background:var(--paper);color:var(--muted);padding:10px 12px;font-size:12.5px;line-height:1.45;border-top:1px solid var(--rule)}
@media(max-width:700px){.visual-grid{grid-template-columns:1fr}.project-hero{min-height:260px}.project-hero img.hero-main{min-height:260px}}
.about-portrait{margin:0 0 26px;padding:0;max-width:420px}
.about-portrait img{display:block;width:100%;height:auto;filter:grayscale(100%)}
.about-portrait figcaption{padding:10px 12px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .about-portrait figcaption{font-family:var(--arabic);font-size:13px;letter-spacing:0;text-transform:none}

.pfile{padding:clamp(24px,4vw,42px) 0 clamp(60px,9vw,110px)}
.backlink{display:inline-flex;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:clamp(24px,4vw,44px)}
html[lang="ar"] .backlink{font-family:var(--arabic);letter-spacing:0;font-size:13.5px}
.backlink:hover{color:var(--ink)}
.phead{display:grid;grid-template-columns:1fr;gap:clamp(18px,3vw,40px);margin-bottom:clamp(28px,4vw,52px)}
@media(min-width:900px){.phead{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end}}
.phead .pnum{font-family:var(--mono);font-size:clamp(38px,5.6vw,70px);line-height:.9;color:var(--rule);letter-spacing:-.04em}
.phead h1{margin:13px 0 11px;font-size:clamp(31px,5.4vw,60px);line-height:1.04;font-weight:700;
  letter-spacing:-.03em;text-wrap:balance;max-width:16ch}
html[lang="ar"] .phead h1{letter-spacing:0;line-height:1.24}
.phead .period{font-family:var(--mono);font-size:14px;color:var(--muted);letter-spacing:.05em}
.phead .period b{font-weight:400;color:var(--ink)}
.phead .intro{font-size:clamp(17px,1.7vw,20px);line-height:1.55;max-width:56ch}
html[lang="ar"] .phead .intro{line-height:1.8}

.sec{padding:clamp(42px,6.5vw,86px) 0 0;border-top:1px solid var(--rule-soft);margin-top:clamp(42px,6.5vw,86px)}
.sec-head{display:flex;gap:16px;align-items:baseline;margin-bottom:clamp(18px,2.6vw,30px);flex-wrap:wrap}
.sec-head .n{font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.1em}
.sec-head h2{margin:0;font-size:clamp(19px,2.2vw,26px);font-weight:600;letter-spacing:-.015em}
html[lang="ar"] .sec-head h2{letter-spacing:0}
.prose{max-width:64ch;font-size:17px}
.prose p{margin:0 0 1.15em}.prose p:last-child{margin-bottom:0}
.prose .q{font-style:normal;color:var(--muted);border-inline-start:2px solid var(--rule);
  padding-inline-start:16px;margin:0 0 1.15em}

.roles{display:flex;flex-wrap:wrap;border:1px solid var(--ink);max-width:900px;margin-bottom:20px}
.roles span{padding:9px 15px;border-inline-end:1px solid var(--rule);font-family:var(--mono);
  font-size:12px;letter-spacing:.12em;text-transform:uppercase}
html[lang="ar"] .roles span{font-family:var(--arabic);letter-spacing:0;font-size:14px}
.roles span:last-child{border-inline-end:0}

.deflist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
  gap:0;border-top:1px solid var(--rule)}
.deflist div{padding:15px 0;border-bottom:1px solid var(--rule-soft);padding-inline-end:24px}
.deflist b{display:block;font-weight:600;font-size:16px;margin-bottom:5px}
.deflist span{color:var(--muted);font-size:14.5px;line-height:1.5}

.works{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:clamp(22px,3vw,40px)}
.work .kind{display:inline-block;margin:12px 0 6px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .work .kind{font-family:var(--arabic);letter-spacing:0;font-size:12.5px}
.work h4{margin:0 0 6px;font-size:18.5px;line-height:1.25;font-weight:600;letter-spacing:-.012em}
html[lang="ar"] .work h4{letter-spacing:0;line-height:1.45}
.work p{margin:0;font-size:15px;color:var(--muted);line-height:1.5}

.linklist{border-top:1px solid var(--ink)}
.linklist a,.linklist .item-row{display:flex;justify-content:space-between;gap:18px;align-items:baseline;
  padding:14px 0;border-bottom:1px solid var(--rule-soft);font-size:16px}
.linklist a:hover{padding-inline-start:9px;background:var(--field)}
.linklist .meta{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}

.exhibit{border:1px solid var(--ink);padding:clamp(20px,3vw,32px);max-width:900px}
.exhibit h4{margin:0 0 8px;font-size:clamp(19px,2.2vw,24px);font-weight:600;letter-spacing:-.015em}
html[lang="ar"] .exhibit h4{letter-spacing:0}
.exhibit .where{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:16px}
.exhibit ul{margin:16px 0 0;padding-inline-start:1.1em;color:var(--muted);font-size:15.5px}
.exhibit li{margin-bottom:.45em}

.pager{display:flex;justify-content:space-between;gap:18px;margin-top:clamp(50px,7vw,86px);
  border-top:1px solid var(--ink);padding-top:16px}
.pager a{max-width:46%;font-size:16px}
.pager .lbl{display:block;margin-bottom:5px}
.pager a:hover{text-decoration:underline;text-underline-offset:4px}

.arch{padding:clamp(38px,5.5vw,72px) 0 clamp(60px,9vw,110px)}
.filters{display:flex;flex-wrap:wrap;border:1px solid var(--rule);margin:24px 0 clamp(28px,4vw,48px)}
.filters button{padding:8px 14px;font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;border-inline-end:1px solid var(--rule)}
html[lang="ar"] .filters button{font-family:var(--arabic);letter-spacing:0;font-size:13.5px}
.filters button:last-child{border-inline-end:0}
.filters button:hover{background:var(--field)}
.filters button[aria-pressed="true"]{background:var(--inv-bg);color:var(--inv-fg)}
.yeargroup{margin-bottom:clamp(34px,5vw,62px)}
.yearhead{font-family:var(--mono);font-size:clamp(28px,4.4vw,54px);line-height:1;color:var(--rule);
  letter-spacing:-.03em;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-bottom:6px}
.arow{display:grid;grid-template-columns:118px 1fr auto;gap:16px;align-items:baseline;padding:15px 0;
  border-bottom:1px solid var(--rule-soft)}
@media(max-width:700px){.arow{grid-template-columns:1fr;gap:7px}}
.arow:hover{padding-inline-start:9px;background:var(--field)}
.arow .d{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em;white-space:nowrap}
.arow .t{font-size:17.5px;font-weight:500;line-height:1.32;min-width:0}
html[lang="ar"] .arow .t{font-weight:600;line-height:1.5}
.arow .t small{display:block;margin-top:5px;font-size:14px;font-weight:400;color:var(--muted)}
.arow .ty{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap}
html[lang="ar"] .arow .ty{font-family:var(--arabic);letter-spacing:0;font-size:12.5px}

.about{display:grid;grid-template-columns:1fr;gap:clamp(34px,5vw,68px);padding:clamp(38px,6vw,74px) 0 clamp(60px,9vw,110px)}
@media(min-width:960px){.about{grid-template-columns:1fr;max-width:980px}}
.dl{border-top:1px solid var(--ink)}
.dl .e{display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:baseline;padding:13px 0;
  border-bottom:1px solid var(--rule-soft)}
.dl .e .y{font-family:var(--mono);font-size:12px;color:var(--muted)}
.dl .e .t{font-size:15.5px}
.timeline-detail .e{grid-template-columns:110px 1fr;align-items:start;padding:20px 0}
.timeline-detail .e .y{font-size:13px;color:var(--ink);padding-top:3px}
.timeline-detail .e .t{font-size:16.5px;line-height:1.6}
.timeline-detail .e p{margin:0}
.timeline-detail .e ul{margin:0;padding-inline-start:1.25em;display:grid;gap:8px}
.timeline-detail .e li{padding-inline-start:.15em}
html[lang="ar"] .timeline-detail .e .t{line-height:1.8}
@media(max-width:620px){.timeline-detail .e{grid-template-columns:1fr;gap:7px}.timeline-detail .e .y{font-size:15px}}
.dl a{text-decoration:underline;text-underline-offset:3px}
.contact{padding:clamp(44px,7vw,100px) 0;max-width:820px}
.contact h1{margin:0 0 24px;font-size:clamp(30px,5vw,54px);line-height:1.06;font-weight:600;letter-spacing:-.026em}
html[lang="ar"] .contact h1{letter-spacing:0;line-height:1.28}
.contact .big{display:inline-block;font-size:clamp(20px,2.6vw,30px);font-weight:500;letter-spacing:-.015em;
  border-bottom:1px solid var(--ink);padding-bottom:5px}
html[lang="ar"] .contact .big{letter-spacing:0}

.tag-pending{display:inline-block;vertical-align:middle;margin-inline-start:8px;font-family:var(--mono);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule);
  color:var(--muted);padding:1px 5px}
.soon{border-color:var(--ink);color:var(--ink)}

footer.site{border-top:1px solid var(--ink);padding:30px 0 48px;display:grid;
  grid-template-columns:1fr;gap:20px}
@media(min-width:820px){footer.site{grid-template-columns:1.2fr 1fr auto;align-items:start}}
footer.site .fbrand{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
html[lang="ar"] footer.site .fbrand{font-family:var(--arabic);letter-spacing:0;font-size:15px;font-weight:600}
footer.site .ftag{margin-top:8px;color:var(--muted);font-size:14.5px}
footer.site .links{display:flex;flex-direction:column;gap:7px;font-size:15px}
footer.site a:hover{text-decoration:underline;text-underline-offset:4px}
footer.site .place{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.1em}

.plate-copy{position:relative;z-index:1;width:82%;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.plate-copy .pk{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.plate-copy strong{font-size:clamp(20px,3vw,38px);line-height:1.05;letter-spacing:-.025em;max-width:13ch}
html[lang="ar"] .plate-copy .pk{font-family:var(--arabic);letter-spacing:0;font-size:12px}
html[lang="ar"] .plate-copy strong{letter-spacing:0;line-height:1.25}
.archive-search{display:flex;gap:12px;align-items:center;margin:22px 0 0;border-bottom:1px solid var(--ink)}
.archive-search label{white-space:nowrap}
.archive-search input{width:100%;border:0;background:transparent;color:var(--ink);font:inherit;padding:12px 0;outline:0}
.archive-search input::placeholder{color:var(--muted)}
.work-link{display:block}.work-link:hover h4{text-decoration:underline;text-underline-offset:4px}


.project-text-logo{display:block;width:160px;height:52px;object-fit:contain;object-position:left center}
html[dir="rtl"] .project-text-logo{object-position:right center}
@media(max-width:700px){.project-text-logo{width:138px;height:46px}.proj{padding:34px 0}.proj-img{aspect-ratio:16/10}}

/* Homepage events timeline */
.events-band{margin-top:clamp(54px,8vw,100px);background:#FEFEA4;color:#111110;border:1px solid #111110}
.events-head{display:flex;justify-content:space-between;gap:22px;align-items:end;padding:clamp(22px,3vw,34px);border-bottom:1px solid #111110;flex-wrap:wrap}
.events-head h2{margin:0;font-size:clamp(24px,3.2vw,38px);line-height:1.12;font-weight:700;max-width:24ch}
.events-head p{margin:7px 0 0;max-width:58ch;font-size:15.5px;line-height:1.55}
.events-head .more{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #111110;padding-bottom:3px;white-space:nowrap}
html[lang="ar"] .events-head .more{font-family:var(--arabic);font-size:13px;letter-spacing:0}
.event-row{display:grid;grid-template-columns:170px minmax(220px,.8fr) minmax(0,1.45fr) 110px;border-bottom:1px solid rgba(17,17,16,.68);min-height:92px}
.event-row:last-child{border-bottom:0}
.event-cell{padding:18px 20px;display:flex;flex-direction:column;justify-content:center}
.event-cell:last-child{border-inline-end:0}
.event-date{font-family:var(--mono);font-size:12px;letter-spacing:.04em;line-height:1.5;direction:ltr;unicode-bidi:isolate}
html[lang="ar"] .event-date{text-align:right}
.event-venue strong,.event-title strong{font-size:16px;line-height:1.35}
.event-venue span,.event-title span{margin-top:4px;font-size:13.5px;line-height:1.45;opacity:.72}
.event-title-inner{display:flex;gap:16px;align-items:center;justify-content:space-between;min-width:0}
.event-title-copy{min-width:0;display:flex;flex-direction:column}
.event-status{font-size:13px;font-weight:700;display:flex;align-items:center;gap:7px;white-space:nowrap}
.event-upcoming{font-size:12px;font-weight:700;border:1px solid rgba(17,17,16,.75);padding:2px 9px;white-space:nowrap;align-self:center}
.status-dot{width:9px;height:9px;border-radius:50%;background:#111110;display:inline-block;box-shadow:0 0 0 2px rgba(17,17,16,.14)}
@media(max-width:860px){
  .event-row{grid-template-columns:1fr;min-height:0;padding:18px 20px;gap:7px}
  .event-cell{padding:0;border:0;display:block}
  .event-title-inner{align-items:flex-start;gap:14px}
    .event-date{font-size:11.5px}.event-title strong{font-size:17px}.event-status{margin-top:4px}
}

/* Featured investigations on homepage */
.featured-investigations{padding:clamp(54px,8vw,100px) 0}
.featured-investigations .band-head{margin-bottom:10px}
.inv-grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,52px);margin-top:26px}
@media(min-width:920px){.inv-grid{grid-template-columns:1fr 1fr}}
.inv-card{border-top:1px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;min-width:0}
.inv-visual{aspect-ratio:16/10;border:1px solid var(--rule);background:#FFFFFF;overflow:hidden;margin-bottom:18px}
.inv-visual img{display:block;width:100%;height:100%;object-fit:contain;background:#FFFFFF}
.inv-kind{font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
html[lang="ar"] .inv-kind{font-family:var(--arabic);font-size:12px;letter-spacing:0}
.inv-card h3{font-size:clamp(23px,2.7vw,34px);line-height:1.15;margin:0 0 8px;letter-spacing:-.02em}
html[lang="ar"] .inv-card h3{letter-spacing:0;line-height:1.35}
.inv-card h4{font-size:17px;line-height:1.45;margin:0 0 14px;font-weight:600}
.inv-card p{margin:0 0 15px;font-size:15.5px;line-height:1.65;color:var(--muted)}
.inv-meta{display:flex;flex-wrap:wrap;gap:5px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--rule-soft);padding-top:12px;margin-top:auto}
html[lang="ar"] .inv-meta{font-family:var(--arabic);font-size:12px;letter-spacing:0;text-transform:none}
.inv-cta{display:inline-block;margin-top:17px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px;align-self:flex-start}
html[lang="ar"] .inv-cta{font-family:var(--arabic);font-size:13px;letter-spacing:0}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(18px,2.5vw,30px)}
.vcard{display:block}
.vthumb{position:relative;aspect-ratio:16/9;background:var(--field);border:1px solid var(--rule);overflow:hidden}
.vthumb img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:filter .18s ease,transform .18s ease}
.vcard:hover .vthumb img{filter:grayscale(0%);transform:scale(1.015)}
.vplay{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:54px;height:40px;border:1px solid rgba(255,255,255,.85);background:rgba(17,17,16,.66);display:flex;align-items:center;justify-content:center;color:white;font-family:var(--mono);font-size:18px}
.vmeta{margin-top:11px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .vmeta{font-family:var(--arabic);letter-spacing:0;font-size:12px}
.vcard h3{margin:6px 0 0;font-size:17px;line-height:1.4;font-weight:600}
.social-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;font-size:14px}
.social-links a{border-bottom:1px solid var(--rule);padding-bottom:2px}


/* ---- Arabic display face: Alexandria for headings ---- */
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4,
html[lang="ar"] .thesis,html[lang="ar"] .hero-name em,
html[lang="ar"] .rrow .rtitle,html[lang="ar"] .tk .ttitle,
html[lang="ar"] .prow .t,html[lang="ar"] .proj h3,html[lang="ar"] .card h3,
html[lang="ar"] .work h4,html[lang="ar"] .vhead h3,
html[lang="ar"] .event-venue strong,html[lang="ar"] .event-title-copy strong,
html[lang="ar"] .arow .t{font-family:var(--arabic-display)}

/* ===== v19 editorial / accessibility / mobile refinements ===== */
:root{--status-green:#111110;--status-green-dot:#111110;--accent:#FEFEA4}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--status-green:#111110;--status-green-dot:#111110}}
:root[data-theme="dark"]{--status-green:#111110;--status-green-dot:#111110}
.ticker{border-block:0!important;margin-top:clamp(38px,5vw,68px);padding:0;}
.tk .leader .nowdot.live,.status-dot{background:var(--status-green)!important}
.tk .tstat.live,.ti .ti-pub{color:var(--status-green)!important}
.spine[data-m="spm"]:hover{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
.events-kicker{margin-top:clamp(52px,7vw,88px);margin-bottom:14px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
html[lang="ar"] .events-kicker{font-family:var(--arabic);letter-spacing:0;font-size:15px;font-weight:600}
.hero-role{margin:8px 0 16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--muted)}
html[lang="ar"] .hero-role{font-family:var(--arabic);letter-spacing:0;font-size:13.5px}
.hero-deck{margin:14px 0 0;max-width:38ch;font-size:clamp(20px,2.45vw,29px);line-height:1.4;font-weight:500;letter-spacing:-.015em}
html[lang="ar"] .hero-deck{font-family:var(--arabic-display);letter-spacing:0;line-height:1.62;max-width:40ch}
.opening .thesis.claim{max-width:26ch;font-size:clamp(30px,4.5vw,52px);line-height:1.16}
html[lang="ar"] .opening .thesis.claim{max-width:28ch;line-height:1.38}
.practice-tools{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px}
.practice-btn{display:inline-flex;align-items:center;gap:13px;border:1px solid var(--ink);padding:7px 10px;font-family:var(--face);font-size:13.5px;letter-spacing:0;text-transform:none;background:transparent}
html[lang="ar"] .practice-btn{font-family:var(--arabic);font-size:14px}
.practice-btn .practice-mark{font-family:var(--mono);font-size:15px;line-height:1;min-width:10px;text-align:center}
.practice-btn:hover,.practice-btn[aria-expanded="true"]{background:var(--inv-bg);color:var(--inv-fg)}
.practice-panel-shell{min-height:0;margin-top:14px}
.practice-panel{margin-top:0;border-top:1px solid var(--ink);padding:15px 0 0;max-width:78ch}
.practice-panel p{margin:0 0 10px;color:var(--muted);font-size:15.5px;line-height:1.7}
.practice-panel p:first-child{color:var(--ink)}
.practice-note{display:none!important}
.spine{height:clamp(230px,24vw,330px);padding:12px 0 10px;position:relative}
.spine .sp-year{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);direction:ltr;unicode-bidi:isolate}
.spine:hover .sp-year{color:currentColor;opacity:.72}
.spine .sp-t{margin:auto 0;display:block}
.inv-meta{gap:0!important}
.inv-meta span:not(:last-child)::after{content:" · ";color:var(--muted);margin:0 6px}
.about{max-width:none!important}
@media(min-width:960px){
  .about{grid-template-columns:minmax(300px,420px) minmax(0,1fr)!important;align-items:start}
  .about-media{position:sticky;top:86px}
  .about-copy{padding-top:0}
}
@media(max-width:760px){
  .spine{height:auto!important}
  .spine .sp-year{order:0;margin-inline-end:10px}
  .spine .sp-t{margin:0;flex:1}
  .practice-panel-shell{min-height:0}
}
@media(max-width:480px){
  .brand{padding-inline-end:8px;font-size:10px}
  html[lang="ar"] .brand{font-size:12px}
  .mainnav{max-width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0,#111110 12px,#111110 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#111110 12px,#111110 calc(100% - 16px),transparent 100%)}
  .mainnav a{padding:0 8px;font-size:10.5px}
  html[lang="ar"] .mainnav a{font-size:12px;padding:0 8px}
  .langtoggle button{padding:0 7px;font-size:10px}
}


/* ===== v20 design development ===== */
:root{--accent:#FEFEA4;--accent-ink:#111110}
.band-head h2{font-family:var(--sans);font-stretch:118%;font-weight:700;font-size:13.5px;letter-spacing:.22em}
.events-kicker{font-family:var(--sans);font-stretch:118%;font-weight:700;letter-spacing:.22em}
html[lang="ar"] .band-head h2,html[lang="ar"] .events-kicker{font-family:var(--arabic);font-stretch:100%;letter-spacing:0;font-weight:600}
.events-kicker::before{content:"";display:inline-block;width:9px;height:9px;background:var(--accent);border:1px solid var(--ink);margin-inline-end:10px}
.opening{padding:clamp(34px,5vw,66px) 0 clamp(26px,3.5vw,46px)}
.opening-grid{display:grid;gap:clamp(28px,4vw,64px)}
@media(min-width:1000px){.opening-grid.has-ex{grid-template-columns:minmax(0,1.12fr) minmax(320px,440px);align-items:center}}
.practice-panel-shell{min-height:0}
.band{padding-top:clamp(40px,5.5vw,72px)}
.exhibit-plate{position:relative;display:flex;flex-direction:column;width:100%;max-width:460px;justify-self:end}
@media(max-width:999px){.exhibit-plate{max-width:420px;justify-self:start;margin-top:4px}}
.ex-frame{position:relative;display:block;border:1px solid var(--ink);background:#FFFFFF;padding:clamp(16px,2vw,26px)}
.ex-frame img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}
.ex-tag{position:absolute;z-index:2;top:-11px;inset-inline-start:14px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent-ink);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:3px 8px}
html[lang="ar"] .ex-tag{font-family:var(--arabic);letter-spacing:0;font-size:11.5px}
.ex-cap{display:flex;flex-direction:column;gap:3px;border:1px solid var(--ink);border-top:0;background:var(--paper);padding:10px 12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ex-cap b{color:var(--ink);font-weight:500;letter-spacing:.14em}
html[lang="ar"] .ex-cap{font-family:var(--arabic);letter-spacing:0;font-size:12.5px;text-transform:none}
html[lang="ar"] .ex-cap b{letter-spacing:0}
.exhibit-plate:hover .ex-cap b{text-decoration:underline;text-underline-offset:3px}
.reg-ticks::after{content:"";position:absolute;inset:-8px;pointer-events:none;color:var(--ink);opacity:.55;background:
 linear-gradient(currentColor,currentColor) left 0 top 0/12px 1.5px no-repeat,
 linear-gradient(currentColor,currentColor) left 0 top 0/1.5px 12px no-repeat,
 linear-gradient(currentColor,currentColor) right 0 top 0/12px 1.5px no-repeat,
 linear-gradient(currentColor,currentColor) right 0 top 0/1.5px 12px no-repeat,
 linear-gradient(currentColor,currentColor) left 0 bottom 0/12px 1.5px no-repeat,
 linear-gradient(currentColor,currentColor) left 0 bottom 0/1.5px 12px no-repeat,
 linear-gradient(currentColor,currentColor) right 0 bottom 0/12px 1.5px no-repeat,
 linear-gradient(currentColor,currentColor) right 0 bottom 0/1.5px 12px no-repeat}
.events-band{background:var(--inv-bg);color:var(--inv-fg);border:1px solid var(--inv-bg)}
.events-head{border-bottom:1px solid;border-bottom-color:color-mix(in srgb,currentColor 32%,transparent)}
.events-head .more{color:currentColor;border-bottom-color:currentColor}
.event-row{position:relative;border-bottom:1px solid;border-bottom-color:color-mix(in srgb,currentColor 20%,transparent)}
.event-row:last-child{border-bottom:0}
.event-row.is-live::before{content:"";position:absolute;inset-inline-start:0;top:-1px;bottom:-1px;width:5px;background:var(--accent)}
.event-date{opacity:.72}
.event-upcoming{border-color:currentColor}
.status-dot{background:#111110!important;box-shadow:none!important;border:0}
.inv-card:hover .inv-visual{border-color:var(--ink)}
@media(prefers-reduced-motion:no-preference){
  .opening-copy>*{opacity:0;animation:v20rise .55s cubic-bezier(.22,.61,.21,1) forwards}
  .opening-copy>*:nth-child(1){animation-delay:.02s}
  .opening-copy>*:nth-child(2){animation-delay:.08s}
  .opening-copy>*:nth-child(3){animation-delay:.14s}
  .opening-copy>*:nth-child(4){animation-delay:.2s}
  .opening-copy>*:nth-child(5){animation-delay:.26s}
  .opening-copy>*:nth-child(6){animation-delay:.32s}
  .opening-copy>*:nth-child(7){animation-delay:.38s}
  .exhibit-plate{opacity:0;animation:v20rise .6s .24s cubic-bezier(.22,.61,.21,1) forwards}
}
@keyframes v20rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.events-kicker{margin-top:clamp(44px,6vw,74px);margin-bottom:12px}
.events-kicker + .events-band{margin-top:0}
.colophon{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;border-top:1px solid var(--rule);margin-top:8px;padding-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .colophon{font-family:var(--arabic);letter-spacing:0;font-size:12px}


/* ===== v25: screening room — video interviews ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.screening{margin-top:clamp(54px,8vw,100px);background:#111110;color:#FFFFFF;
  padding:clamp(40px,6vw,78px) 0 clamp(46px,7vw,90px)}
.screening .wrap{max-width:1180px}

.screening-head{border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:12px;
  margin-bottom:clamp(22px,3vw,34px);display:flex;justify-content:space-between;
  align-items:baseline;gap:20px;flex-wrap:wrap}
.screening-head h2{margin:0;font-family:var(--sans);font-stretch:118%;font-weight:700;
  font-size:13.5px;letter-spacing:.22em;text-transform:uppercase;color:#FFFFFF}
html[lang="ar"] .screening-head h2{font-family:var(--arabic);font-stretch:100%;
  letter-spacing:0;font-weight:600;font-size:16px}
.screening-head p{margin:0;max-width:62ch;font-size:15px;line-height:1.55;color:#111110}
html[lang="ar"] .screening-head p{font-size:15.5px}

/* stage */
.stage-frame{position:relative;aspect-ratio:16/9;background:#111110;overflow:hidden}
.stage-poster{display:block;width:100%;height:100%;object-fit:cover;
  filter:grayscale(100%) contrast(1.04);transition:filter .2s ease}
.stage-frame:hover .stage-poster{filter:grayscale(0%) contrast(1)}
.stage-embed{display:block;width:100%;height:100%;border:0}

.stage-play{position:absolute;inset-inline-start:0;bottom:0;width:clamp(58px,6vw,76px);
  height:clamp(58px,6vw,76px);border:0;background:rgba(17,17,16,.72);color:#FFFFFF;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .16s ease,color .16s ease}
html[dir="rtl"] .stage-play svg{transform:scaleX(-1)}
.stage-play:hover,.stage-play:focus-visible{background:var(--accent-yellow);color:#111110}

.stage-frame{cursor:pointer}
.stage.is-playing .stage-frame{cursor:default}

/* segmented position bar — one tick per interview, not a scrubber */
.stage-bar{display:flex;gap:4px;margin-top:14px}
.tick{flex:1 1 0;border:0;background:none;padding:9px 0;cursor:pointer;line-height:0}
.tick span{display:block;height:3px;background:rgba(255,255,255,.26);transition:background .16s ease}
.tick:hover span{background:rgba(255,255,255,.6)}
.tick.is-on span{background:var(--accent-yellow);height:5px;margin-top:-1px}

.stage-foot{display:flex;justify-content:space-between;align-items:baseline;
  gap:14px 24px;margin-top:4px;flex-wrap:wrap}
.stage-title{margin:0;flex:1 1 320px;min-width:0;font-size:17px;line-height:1.35;font-weight:600}
html[lang="ar"] .stage-title{font-family:var(--arabic-display);font-size:18px}
.stage-side{flex:none;display:flex;align-items:center;gap:18px;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:#111110}
html[lang="ar"] .stage-side{font-family:var(--arabic);letter-spacing:0;
  font-size:13px;text-transform:none}
.stage-count{direction:ltr;unicode-bidi:isolate}
.stage-out{color:#111110;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}
.stage-out:hover{color:#FFFFFF;border-color:#FFFFFF}

/* list */
.vlist{margin-top:clamp(26px,3.6vw,42px);border-top:1px solid rgba(255,255,255,.2)}
.vrow{display:flex;align-items:center;gap:16px;width:100%;text-align:start;
  padding:15px 6px;border:0;border-bottom:1px solid rgba(255,255,255,.2);
  background:none;color:#FFFFFF;cursor:pointer;font:inherit;
  transition:background .14s ease,padding .14s ease}
.vrow:hover{background:rgba(255,255,255,.07);padding-inline-start:14px}
.vrow-ico{flex:none;display:flex;color:#FFFFFF;opacity:.8;transition:color .14s ease,opacity .14s ease}
html[dir="rtl"] .vrow-ico svg{transform:scaleX(-1)}
.vrow:hover .vrow-ico{opacity:1}
.vrow-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.vrow-t{font-size:16.5px;line-height:1.35;font-weight:600}
html[lang="ar"] .vrow-t{font-family:var(--arabic-display);font-size:17px}
.vrow-m{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:#111110}
html[lang="ar"] .vrow-m{font-family:var(--arabic);letter-spacing:0;font-size:12.5px;text-transform:none}
.vrow-n{flex:none;font-family:var(--mono);font-size:11px;color:#111110;
  direction:ltr;unicode-bidi:isolate}
.vrow.is-on{background:rgba(255,255,255,.06)}
.vrow.is-on .vrow-ico{color:var(--accent-yellow);opacity:1}
.vrow.is-on .vrow-n{color:var(--accent-yellow)}

.screening :focus-visible{outline:2px solid var(--accent-yellow);outline-offset:2px}

@media(max-width:720px){
  .screening-head{display:block}
  .screening-head p{margin-top:9px}
  .stage-play{width:52px;height:52px}
  .stage-bar{margin-top:10px;gap:3px}
  .tick{padding:11px 0}
  .stage-foot{gap:8px 16px}
  .stage-title{flex:1 1 100%;font-size:16px}
  .vrow{gap:12px;padding:13px 4px}
  .vrow-t{font-size:15.5px}
  .vrow-n{display:none}
}


/* ===== v23: black & grey site; yellow and green only where they mean something ===== */
/* Rules:
   grey/black  — the whole typographic and structural system.
   yellow      — two meanings only: "you are here / open" (active register row,
                 open method chip, in-preparation dot) and the public-events zone
                 (kicker square, yellow table, colophon registration mark).
   green       — one meaning only: happening now / published (live dots, Ongoing,
                 Published markers). Nothing else is coloured. */
:root{
  --accent-yellow:#FEFEA4;
}

/* Method buttons: monochrome chips; yellow underlines the one that is open. */
.practice-btn{position:relative;overflow:hidden}
.practice-btn[aria-expanded="true"]::after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--accent-yellow)}

/* Museum keys: ISIS Prisons Museum = filled square, Syria Prisons Museum = outlined square. */
.sg-label[data-m="ipm"] .sgk{background:var(--ink)}
.sg-label[data-m="spm"] .sgk{background:transparent;border:1.5px solid var(--ink)}
.ti:nth-child(1) .tik{background:var(--ink)}
.ti:nth-child(2) .tik{background:transparent;border:1.5px solid var(--ink)}

/* Video cards: hover stays monochrome — the ring simply sharpens. */
.vcard:hover .vplay{border-color:#FFFFFF;background:rgba(17,17,16,.85)}

/* Registration mark in the colophon — same yellow square family as the events kicker. */
.colophon span:first-child::before{content:"";display:inline-block;width:8px;height:8px;background:var(--accent-yellow);border:1px solid var(--ink);margin-inline-end:8px}

/* Mobile: all navigation choices are visible; no hidden horizontal discovery is required. */
@media(max-width:520px){
  .topbar-in{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0 var(--gut);min-height:0}
  .brand{min-height:48px;padding-inline-end:8px;align-self:stretch}
  .langtoggle{min-height:48px;border-inline-start:1px solid var(--rule-soft)}
  .mainnav{grid-column:1/-1;order:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:none;overflow:visible;border-top:1px solid var(--rule-soft);-webkit-mask-image:none!important;mask-image:none!important}
  .mainnav a{min-width:0;min-height:40px;padding:0 4px;justify-content:center;text-align:center;border-inline-start:1px solid var(--rule-soft);font-size:9.5px;letter-spacing:.07em}
  .mainnav a:first-child{border-inline-start:0}
  html[lang="ar"] .mainnav a{font-size:11.5px;padding:0 3px}
  .langtoggle button{padding:0 9px}
  .opening{padding-top:30px}
  .practice-tools{gap:6px}
  .practice-btn{flex:1 1 calc(50% - 6px);justify-content:space-between;text-align:start}
  }


/* ===== v26 final refinements ===== */
@media(max-width:520px){.mainnav{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
.stage-copy{flex:1 1 360px;min-width:0}.stage-copy .stage-title{font-size:clamp(19px,2.1vw,25px);margin:0}.stage-meta{margin:5px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#111110}.screening-all{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#FFFFFF;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:3px}.screening-all:hover{border-color:#FFFFFF}.about-chronology{margin-top:38px;border-top:1px solid var(--ink);padding-top:16px}.about-chronology a{display:inline-flex;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}.about-chronology a:hover{background:var(--inv-bg);color:var(--inv-fg);border-color:transparent;padding:3px 8px}html[lang="ar"] .stage-meta,html[lang="ar"] .screening-all,html[lang="ar"] .about-chronology a{font-family:var(--arabic);letter-spacing:0;text-transform:none}


/* ===== v27: projects register ===== */
.p2list{padding:0 0 clamp(46px,7vw,90px);border-top:1px solid var(--ink)}
.p2{display:grid;grid-template-columns:76px minmax(0,7fr) minmax(0,5fr);
  gap:clamp(18px,2.6vw,40px);align-items:center;
  padding:clamp(24px,3.4vw,44px) 0;border-bottom:1px solid var(--rule)}
.p2:hover{background:var(--field)}
.p2-rail{display:flex;flex-direction:column;align-items:flex-start;gap:12px;align-self:start;padding-top:6px}
.p2-num{font-family:var(--mono);font-weight:500;font-size:15px;letter-spacing:.06em;
  color:var(--muted);border-top:1px solid var(--ink);padding-top:8px;min-width:44px;
  direction:ltr;unicode-bidi:isolate}
.p2-dot{width:10px;height:10px;border-radius:50%;display:block}
.p2-dot.on{background:var(--status-green,#111110)}
.p2-dot.soon{background:var(--accent,#FEFEA4);border:1px solid rgba(17,17,16,.4)}
.p2-dot.done{background:transparent;border:1.5px solid var(--muted)}
.p2-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.p2-period{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted)}
html[lang="ar"] .p2-period{font-family:var(--arabic);letter-spacing:0;
  text-transform:none;font-size:13px}
.p2-title{display:block;margin:8px 0 10px;font-size:clamp(24px,2.8vw,38px);
  line-height:1.08;font-weight:700;letter-spacing:-.02em}
html[lang="ar"] .p2-title{font-family:var(--arabic-display);letter-spacing:0;line-height:1.35}
.p2:hover .p2-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.p2-line{display:block;max-width:52ch;color:var(--muted);font-size:16px;line-height:1.6}
html[lang="ar"] .p2-line{line-height:1.9;font-size:15.5px}
.p2-cta{display:inline-block;margin-top:15px;font-family:var(--mono);font-size:11px;
  letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}
html[lang="ar"] .p2-cta{font-family:var(--arabic);letter-spacing:0;text-transform:none;font-size:13.5px}
.p2:hover .p2-cta{background:var(--accent);border-color:var(--accent);color:#111110}
.p2-visual{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;
  border:1px solid var(--rule);background:#111110;max-width:520px;justify-self:end;width:100%}
html[dir="rtl"] .p2-visual{justify-self:start}
.p2-visual img{display:block;width:100%;height:100%;object-fit:cover;
  filter:grayscale(100%);transition:filter .25s ease,transform .3s ease}
.p2:hover .p2-visual img{filter:grayscale(0%);transform:scale(1.015)}
.p2-visual.is-plate{background:var(--field);border-color:var(--rule)}
.p2-visual.is-plate img{object-fit:contain;padding:clamp(20px,3vw,40px);
  filter:none;transform:none!important}
:root[data-theme="dark"] .p2-visual.is-plate img,
html[data-theme="dark"] .p2-visual.is-plate img{filter:invert(1) hue-rotate(180deg)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .p2-visual.is-plate img{filter:invert(1) hue-rotate(180deg)}}
.p2-mark{position:absolute;inset-inline-end:10px;bottom:10px;background:rgba(255,255,255,.94);
  border:1px solid rgba(17,17,16,.2);padding:6px 8px;display:flex;max-width:140px}
.p2-mark img{display:block;max-width:124px;max-height:30px;width:auto;height:auto;
  object-fit:contain;filter:none!important;transform:none!important}
@media(max-width:900px){
  .p2{grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
  .p2-rail{flex-direction:row;align-items:center;gap:10px;padding-top:0}
  .p2-num{border-top:0;padding-top:0;min-width:0}
  .p2-visual{max-width:none;justify-self:stretch;order:3}
  .p2-copy{order:2}
  .p2-rail{order:1}
}


/* v28: year anchors reachable from the chronology */
.yeargroup{scroll-margin-top:clamp(84px,14vw,150px)}


/* ===== v28 mobile ===== */
@media(max-width:760px){
  /* the spine keeps its desktop 150px cap on phones, so the title is squeezed
     into ~85px and collides with the year. A stacked spine is a full-width row. */
  .spine{max-width:none!important;min-width:0;width:100%;
    display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;gap:12px;padding:13px 14px}
  .spine .sp-n{order:1;margin:0}
  .spine .sp-t{order:2;margin:0;font-size:15px;line-height:1.35;
    writing-mode:horizontal-tb;transform:none;max-height:none;
    overflow-wrap:anywhere;text-align:start}
  .spine .sp-year{order:3;margin:0;white-space:nowrap;align-self:center}
  .spines{gap:9px}
}

/* horizontal scrollers get an edge fade so it reads as scrollable */
.mainnav,.filters,.years{-webkit-overflow-scrolling:touch}
@media(max-width:760px){
  .filters,.years,.mainnav{
    -webkit-mask-image:linear-gradient(to right,#111110 0,#111110 calc(100% - 26px),transparent 100%);
    mask-image:linear-gradient(to right,#111110 0,#111110 calc(100% - 26px),transparent 100%);}
  html[dir="rtl"] .filters,html[dir="rtl"] .years,html[dir="rtl"] .mainnav{
    -webkit-mask-image:linear-gradient(to left,#111110 0,#111110 calc(100% - 26px),transparent 100%);
    mask-image:linear-gradient(to left,#111110 0,#111110 calc(100% - 26px),transparent 100%);}
}


/* ===== v29: projects as a time axis =====
   Six projects on one 2010→now axis. The bars carry the fact the old
   reader hid: four institutions running in parallel for fifteen years.
   Clicking a row opens its mark and a few sentences in place, inside the
   row, so the axis columns never shift. Works without hover, and the
   panel exists at every width — the old preview pane was display:none
   below 900px, which removed the image and the description on phones. */
.axis{margin-top:clamp(20px,3vw,32px);border-top:1px solid var(--ink);
  --axname:minmax(0,1.05fr);--axtrack:minmax(0,2.6fr)}
.axis-head{display:grid;grid-template-columns:var(--axname) var(--axtrack);
  gap:clamp(14px,2.2vw,30px);align-items:end;padding:9px 0 7px;
  border-bottom:1px solid var(--rule)}
.axis-ticks{display:flex;justify-content:space-between;font-family:var(--mono);
  font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;
  direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] .axis-ticks{flex-direction:row-reverse}
.axi{border-bottom:1px solid var(--rule-soft)}
.axi.is-open{background:var(--field)}
.axh{display:grid;grid-template-columns:var(--axname) var(--axtrack);
  gap:clamp(14px,2.2vw,30px);align-items:center;width:100%;text-align:start;
  padding:12px 0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;
  border-inline-start:3px solid transparent}
.axh:hover{background:var(--field)}
.axi.is-open .axh{border-inline-start-color:var(--accent)}
.axn{display:flex;align-items:center;gap:10px;min-width:0}
.axt{font-size:16px;font-weight:600;line-height:1.22;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[lang="ar"] .axt{font-family:var(--arabic-display);font-size:16.5px}
.axc{margin-inline-start:auto;flex:none;font-family:var(--mono);font-size:13px;
  color:var(--muted);transition:transform .18s ease}
.axi.is-open .axc{transform:rotate(45deg)}

.axtr{position:relative;height:32px;min-width:0}
.axtr::before{content:"";position:absolute;inset:24px 0 auto;height:1px;background:var(--rule-soft)}
.axb{position:absolute;top:19px;height:11px;background:var(--ink)}
.axi.is-open .axb{background:var(--accent);outline:1px solid var(--ink)}
.axb.soon{background:none;border-top:2px dotted var(--muted);height:0;top:24px}
.axcap{position:absolute;inset-inline-end:0;top:18px;width:13px;height:13px;
  border:1.5px solid var(--muted);border-radius:50%;background:var(--paper)}
.axy{position:absolute;top:1px;font-family:var(--mono);font-size:10px;color:var(--muted);
  white-space:nowrap;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.axi.is-open .axy{color:var(--ink)}

.axp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s ease}
.axi.is-open .axp{grid-template-rows:1fr}
.axp-in{overflow:hidden;min-height:0}
.axp-pad{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);
  gap:clamp(16px,2.6vw,32px);padding:4px 0 22px}
.axlogo{border:1px solid var(--rule);background:#FFFFFF;display:grid;place-items:center;
  padding:16px;min-height:96px}
.axlogo img{max-height:64px;width:auto;object-fit:contain}
.axcopy{min-width:0}
.axcopy p{margin:0;font-size:15.5px;line-height:1.65;color:var(--muted);max-width:58ch}
html[lang="ar"] .axcopy p{line-height:1.95;font-size:15.5px}
.axmeta{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:0 0 8px!important;direction:ltr;unicode-bidi:isolate}
html[lang="ar"] .axmeta{font-family:var(--arabic);letter-spacing:0;text-transform:none;font-size:12.5px}
html[lang="ar"] .axmeta{text-align:right}
.axgo{display:inline-block;margin-top:13px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}
html[lang="ar"] .axgo{font-family:var(--arabic);letter-spacing:0;text-transform:none;font-size:13.5px}
.axgo:hover{background:var(--accent);border-color:var(--accent);color:#111110}

.axleg{display:flex;gap:18px;flex-wrap:wrap;align-items:center;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin-top:16px;padding-top:12px;border-top:1px solid var(--rule-soft)}
.axleg span{display:inline-flex;align-items:center;gap:7px}
.axleg .axspan{margin-inline-start:auto}
html[lang="ar"] .axleg{font-family:var(--arabic);letter-spacing:0;text-transform:none;font-size:12.5px}

@media(max-width:720px){
  .axis-head,.axh{grid-template-columns:minmax(0,1fr);gap:4px}
  .axis-ticks{margin-top:2px}
  .axh{padding:13px 0 11px}
  .axp-pad{grid-template-columns:minmax(0,1fr)}
  .axlogo{min-height:0;padding:14px}
  .axlogo img{max-height:52px}
}
@media(prefers-reduced-motion:reduce){.axp,.axc{transition:none}}

/* the axis draws its own dots and caps its own logo plate:
   site.css only sized .rdot as a descendant of .rrow, and an SVG mark with
   an 8.5:1 viewBox ignored max-height and spilled across the panel text. */
.axn .rdot,.axleg .rdot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block}
.axn .rdot.on,.axleg .rdot.on{background:var(--status-green,#111110)}
.axn .rdot.soon,.axleg .rdot.soon{background:var(--accent);border:1px solid rgba(17,17,16,.35)}
.axn .rdot.done,.axleg .rdot.done{background:transparent;border:1.5px solid var(--muted)}
.axlogo img{max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}


/* ============================================================
   v29 FINAL — consolidated archive / chronology system
   ============================================================ */
.langtoggle a{padding:0 13px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;display:flex;align-items:center;justify-content:center;min-width:44px}
.langtoggle a[aria-current="true"]{background:var(--inv-bg);color:var(--inv-fg)}
html[lang="ar"] .langtoggle a{font-family:var(--arabic);letter-spacing:0;font-size:14px}

/* Home project axis: restrained chronology, image revealed only on selection */
.axt{display:flex;align-items:baseline;gap:10px}
.axnum{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);min-width:2.3em}
.axname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.axvisual{border:1px solid var(--rule);background:#FFFFFF;min-height:120px;overflow:hidden;display:block}
.axvisual img{width:100%;height:100%;min-height:120px;max-height:190px;object-fit:cover;display:block;filter:grayscale(100%);transition:filter .2s ease,transform .25s ease}
.axi.is-open .axvisual img{filter:grayscale(10%);transform:scale(1.015)}
.axleg{justify-content:flex-end}.axleg .axspan{margin-inline-start:0}
.axn .rdot{display:none!important}
.axi.is-open .axb{background:var(--ink);outline:0}.axi.is-open .axh{border-inline-start-color:var(--ink)}
.axgo:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
@media(max-width:720px){.axtr{height:24px}.axtr::before{top:18px}.axb{top:13px}.axb.soon{top:18px}.axy{font-size:9px}.axvisual img{max-height:none;aspect-ratio:16/10}}

.home-gateways{display:grid;grid-template-columns:1fr 1fr;margin:0 calc(var(--gut)*-1);background:#111110;color:#FFFFFF;border-block:1px solid #111110}
.home-gateway{padding:clamp(26px,4vw,54px) var(--gut);min-height:230px;display:grid;grid-template-columns:1fr auto;align-content:start;gap:10px 18px;border-inline-end:1px solid #111110;position:relative;overflow:hidden}
.home-gateway:last-child{border-inline-end:0}.home-gateway span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:#111110;text-transform:uppercase;grid-column:1/-1}.home-gateway strong{font-size:clamp(27px,3.5vw,46px);line-height:1.06;letter-spacing:-.025em}.home-gateway em{font-style:normal;color:#111110;max-width:42ch;grid-column:1}.home-gateway b{font-family:var(--mono);font-size:26px;font-weight:400;grid-column:2;grid-row:2/4;align-self:center}.home-gateway:hover{background:#FFFFFF;color:#111110}.home-gateway:hover span,.home-gateway:hover em{color:#111110}
html[lang="ar"] .home-gateway span{font-family:var(--arabic);letter-spacing:0;text-transform:none;font-size:13px}html[lang="ar"] .home-gateway strong{font-family:var(--arabic-display);letter-spacing:0;line-height:1.35}
@media(max-width:760px){.home-gateways{grid-template-columns:1fr}.home-gateway{border-inline-end:0;border-bottom:1px solid #111110;min-height:180px}.home-gateway:last-child{border-bottom:0}}

/* Black rooms */
body.dark-page{--paper:#111110;--ink:#FFFFFF;--rule:#111110;--rule-soft:#111110;--muted:#111110;--field:#111110;--inv-bg:#FFFFFF;--inv-fg:#111110;background:#111110;color:#FFFFFF}
body.dark-page .topbar{background:#111110;border-color:#111110}body.dark-page .mainnav a,body.dark-page .langtoggle{border-color:#111110}body.dark-page .mainnav a:hover{background:#111110}body.dark-page footer.site{border-color:#111110}body.dark-page ::selection{background:#FFFFFF;color:#111110}
.dark-main{background:#111110;color:#FFFFFF;min-height:75vh;padding-bottom:clamp(70px,9vw,120px)}
.dark-hero{padding:clamp(48px,7vw,96px) 0 clamp(30px,5vw,64px);border-bottom:1px solid #111110}.dark-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#111110;margin:0 0 16px}.dark-hero h1{font-size:clamp(38px,7vw,94px);line-height:.96;letter-spacing:-.045em;margin:0;max-width:12ch}.dark-hero p:not(.dark-kicker){max-width:68ch;color:#111110;font-size:16px;margin:24px 0 0}html[lang="ar"] .dark-kicker{font-family:var(--arabic);letter-spacing:0;text-transform:none;font-size:13px}html[lang="ar"] .dark-hero h1{font-family:var(--arabic-display);letter-spacing:0;line-height:1.22;max-width:15ch}

/* Archive */
.archive-stats{display:grid;grid-template-columns:auto auto auto auto;gap:4px 10px;align-items:baseline;margin-top:28px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#111110}.archive-stats b{font-size:20px;color:#FFFFFF;font-weight:500;letter-spacing:0}.archive-controls{position:sticky;top:56px;z-index:25;background:rgba(17,17,16,.96);backdrop-filter:blur(8px);padding:15px 0 12px;border-bottom:1px solid #111110}.archive-search-dark{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;border-bottom:1px solid #111110;padding-bottom:8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#111110}.archive-search-dark input{border:0;background:transparent;color:#FFFFFF;font:inherit;font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:none;outline:0;padding:5px 0}.archive-search-dark input::placeholder{color:#111110}.archive-filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-top:12px}.archive-filters::-webkit-scrollbar{display:none}.afilter{white-space:nowrap;border:1px solid #111110;padding:5px 8px;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#111110}.afilter span{opacity:.55;margin-inline-start:6px}.afilter:hover,.afilter.is-on{background:#FFFFFF;color:#111110;border-color:#FFFFFF}.archive-year{scroll-margin-top:150px}.archive-year-head{display:flex;justify-content:space-between;align-items:baseline;padding:42px 0 12px;border-bottom:1px solid #111110}.archive-year-head h2{margin:0;font-family:var(--mono);font-size:clamp(26px,4vw,54px);font-weight:400;letter-spacing:-.03em}.archive-year-head span{font-family:var(--mono);font-size:10px;color:#111110}.archive-record{display:grid;grid-template-columns:130px minmax(0,1.5fr) minmax(120px,.55fr) 135px 20px;gap:18px;align-items:start;padding:14px 0;border-bottom:1px solid #111110;transition:background .12s ease,padding .12s ease}.archive-record:hover{background:#111110;padding-inline:10px}.archive-date,.archive-type,.archive-project{font-family:var(--mono);font-size:9.8px;letter-spacing:.055em;text-transform:uppercase;color:#111110}.archive-main strong{display:block;font-size:15.5px;line-height:1.38;font-weight:550}.archive-main small{display:block;margin-top:4px;color:#111110;font-size:12.5px}.archive-arrow{text-align:end;color:#111110}.archive-record:hover .archive-arrow{color:#FFFFFF}.archive-record[hidden]{display:none}.archive-year[hidden]{display:none}
html[lang="ar"] .archive-search-dark,html[lang="ar"] .afilter,html[lang="ar"] .archive-date,html[lang="ar"] .archive-type,html[lang="ar"] .archive-project{font-family:var(--arabic);letter-spacing:0;text-transform:none}html[lang="ar"] .archive-main strong{line-height:1.65}
@media(max-width:900px){.archive-record{grid-template-columns:92px minmax(0,1fr) 18px}.archive-project,.archive-type{display:none}.archive-stats{grid-template-columns:auto 1fr}.archive-controls{top:56px}}@media(max-width:560px){.archive-record{grid-template-columns:1fr 20px;gap:5px 10px}.archive-date{grid-column:1;grid-row:1}.archive-main{grid-column:1;grid-row:2}.archive-arrow{grid-column:2;grid-row:1/3}.archive-main strong{font-size:15px}}

/* Chronology */
.chrono-years{position:sticky;top:56px;z-index:24;background:rgba(17,17,16,.96);backdrop-filter:blur(8px);display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding:11px 0;border-bottom:1px solid #111110}.chrono-years::-webkit-scrollbar{display:none}.chrono-years a{font-family:var(--mono);font-size:10px;color:#111110;border:1px solid #111110;padding:5px 8px}.chrono-years a:hover{background:#FFFFFF;color:#111110}.chrono-year{display:grid;grid-template-columns:minmax(100px,.28fr) minmax(0,1.72fr);border-bottom:1px solid #111110;scroll-margin-top:110px}.chrono-year-label{position:sticky;top:104px;align-self:start;padding:36px 20px 36px 0;display:flex;align-items:baseline;gap:12px}.chrono-year-label span{font-family:var(--mono);font-size:clamp(31px,5vw,68px);letter-spacing:-.05em}.chrono-year-label i{font-family:var(--mono);font-size:9px;color:#111110;font-style:normal}.chrono-events{border-inline-start:1px solid #111110}.chrono-entry{padding:36px 0 44px clamp(20px,3vw,46px);border-bottom:1px solid #111110;display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:14px 34px}.chrono-entry:last-child{border-bottom:0}.chrono-meta{grid-column:1;display:flex;flex-direction:column;gap:7px;font-family:var(--mono);font-size:9.8px;letter-spacing:.08em;text-transform:uppercase;color:#111110}.chrono-meta time{color:#FFFFFF}.chrono-copy{grid-column:2}.chrono-copy h3{font-size:clamp(24px,3vw,40px);line-height:1.08;letter-spacing:-.025em;margin:0;max-width:22ch}.chrono-copy p{margin:14px 0 0;max-width:68ch;color:#111110;font-size:15.5px;line-height:1.7}.chrono-source{display:inline-block;margin-top:15px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #111110;padding-bottom:3px}.chrono-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;position:relative}.chrono-thumb{padding:0;border:1px solid #111110;background:#111110;aspect-ratio:4/3;overflow:hidden}.chrono-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(18%);transition:filter .15s ease,transform .2s ease}.chrono-thumb:hover img{filter:grayscale(0);transform:scale(1.015)}.chrono-more{position:absolute;inset-inline-end:12px;bottom:12px;background:#FFFFFF;color:#111110;border:0;padding:6px 9px;font-family:var(--mono);font-size:10px}.chrono-gallery.count-1{grid-template-columns:minmax(0,1fr)}.chrono-gallery.count-1 .chrono-thumb{aspect-ratio:16/9}.chrono-gallery.count-2{grid-template-columns:1fr 1fr}.chrono-gallery.count-3{grid-template-columns:2fr 1fr 1fr}.chrono-gallery.count-3 .chrono-thumb:first-child{grid-row:span 1}.chrono-gallery.count-4{grid-template-columns:repeat(4,1fr)}
html[lang="ar"] .chrono-meta,html[lang="ar"] .chrono-source{font-family:var(--arabic);letter-spacing:0;text-transform:none}html[lang="ar"] .chrono-copy h3{font-family:var(--arabic-display);letter-spacing:0;line-height:1.35}html[lang="ar"] .chrono-copy p{line-height:1.95}
@media(max-width:860px){.chrono-year{grid-template-columns:1fr}.chrono-year-label{position:static;padding:34px 0 12px;border-bottom:1px solid #111110}.chrono-events{border-inline-start:0}.chrono-entry{padding:28px 0;grid-template-columns:1fr}.chrono-meta,.chrono-copy{grid-column:1}.chrono-gallery{grid-template-columns:repeat(2,1fr)!important}.chrono-gallery.count-1{grid-template-columns:1fr!important}.chrono-copy h3{max-width:none}}


/* ===== v29.1 final corrections ===== */
/* Five-item primary navigation is intentional in v29.1. */
@media(max-width:520px){
  .mainnav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  html[lang="ar"] .mainnav a{font-size:10.5px;line-height:1.2}
}

/* Project register: restore project identities/logos from the approved v29 proposal. */
.axlogo{background:#FFFFFF;border:1px solid var(--rule);min-height:132px;padding:clamp(18px,3vw,34px);display:grid;place-items:center;overflow:hidden}
.axlogo img{display:block;width:auto;height:auto;max-width:min(100%,320px);max-height:82px;object-fit:contain;filter:none!important;transform:none!important}
html[dir="rtl"] .axlogo img{max-width:min(100%,300px)}
@media(max-width:720px){.axlogo{min-height:96px;padding:16px}.axlogo img{max-height:62px}}

/* Chronology v29.1 — a visual record rather than a dense list. */
body.chronology-page .chronology-shell{max-width:1680px;padding-bottom:80px}
body.chronology-page .dark-hero{padding-bottom:clamp(30px,4vw,58px);border-bottom:1px solid #111110}
body.chronology-page .dark-hero h1{max-width:14ch;font-size:clamp(48px,8vw,118px);line-height:.89;letter-spacing:-.06em}
body.chronology-page .dark-hero p{max-width:64ch;color:#111110;font-size:clamp(15px,1.25vw,19px);line-height:1.65}

.chrono-years{top:56px;padding:10px 0 11px;gap:0;border-bottom:1px solid #111110;background:rgba(17,17,16,.985)}
.chrono-years a{border:0;border-inline-end:1px solid #111110;padding:6px 12px;color:#111110;transition:color .15s ease,background .15s ease}
.chrono-years a:first-child{border-inline-start:1px solid #111110}
.chrono-years a:hover,.chrono-years a.is-active{background:#FFFFFF;color:#111110}

.chrono-year{grid-template-columns:clamp(120px,13vw,210px) minmax(0,1fr);border-bottom:1px solid #111110;scroll-margin-top:112px;position:relative}
.chrono-year-label{top:112px;padding:50px 28px 50px 0;display:block}
html[dir="rtl"] .chrono-year-label{padding:50px 0 50px 28px}
.chrono-year-label span{display:block;font-size:clamp(48px,7vw,102px);line-height:.86;letter-spacing:-.075em}
.chrono-year-label i{display:block;margin-top:15px;color:#111110;font-size:10px;letter-spacing:.12em}
.chrono-events{border-inline-start:1px solid #111110}

.chrono-entry{padding:clamp(34px,5vw,76px) 0 clamp(42px,6vw,88px) clamp(24px,4vw,62px);display:grid;grid-template-columns:minmax(130px,.36fr) minmax(260px,.72fr) minmax(340px,1.25fr);gap:20px clamp(22px,3.2vw,54px);align-items:start;border-bottom:1px solid #111110}
html[dir="rtl"] .chrono-entry{padding-inline-start:clamp(24px,4vw,62px);padding-inline-end:0}
.chrono-entry:last-child{border-bottom:0}
.chrono-meta{grid-column:1;grid-row:1;gap:9px;padding-top:4px;font-size:9.6px;line-height:1.55;color:#111110}
.chrono-meta time{font-size:11px;letter-spacing:.07em;color:#FFFFFF}
.chrono-copy{grid-column:2;grid-row:1;min-width:0}
.chrono-copy h3{font-size:clamp(28px,3.35vw,53px);line-height:1.02;letter-spacing:-.04em;max-width:18ch}
.chrono-copy p{margin-top:18px;color:#111110;font-size:clamp(14px,1vw,16.5px);line-height:1.75;max-width:56ch}
.chrono-source{margin-top:20px;color:#FFFFFF;border-color:#111110}
.chrono-entry:not(:has(.chrono-gallery)) .chrono-copy{grid-column:2/4;max-width:860px}

.chrono-gallery{grid-column:3;grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:0;align-self:start}
.chrono-gallery .chrono-thumb{border:1px solid #111110;background:#111110;aspect-ratio:4/3;min-height:0;cursor:zoom-in}
.chrono-gallery .chrono-thumb:first-child{grid-column:1/-1;aspect-ratio:16/10}
.chrono-gallery .chrono-thumb img{filter:grayscale(9%);transition:filter .18s ease,transform .28s ease,opacity .18s ease}
.chrono-gallery .chrono-thumb:hover img{filter:grayscale(0);transform:scale(1.018)}
.chrono-gallery.count-1{display:block}
.chrono-gallery.count-1 .chrono-thumb{width:100%;aspect-ratio:16/10}
.chrono-gallery.count-2,.chrono-gallery.count-3,.chrono-gallery.count-4{grid-template-columns:repeat(3,minmax(0,1fr))}
.chrono-gallery.count-2 .chrono-thumb:nth-child(2){grid-column:1/2}
.chrono-gallery.count-3 .chrono-thumb:nth-child(2){grid-column:1/2}.chrono-gallery.count-3 .chrono-thumb:nth-child(3){grid-column:2/3}
.chrono-gallery.count-4 .chrono-thumb:nth-child(2){grid-column:1/2}.chrono-gallery.count-4 .chrono-thumb:nth-child(3){grid-column:2/3}.chrono-gallery.count-4 .chrono-thumb:nth-child(4){grid-column:3/4}
.chrono-more{inset-inline-end:10px;bottom:10px;background:#FFFFFF;color:#111110;border:1px solid #111110;padding:7px 10px;z-index:3}

/* A restrained marker makes each event read like an archival record. */
.chrono-entry::before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#FFFFFF;inset-inline-start:-4px;margin-top:8px}
.chrono-entry{position:relative}

html[lang="ar"] .chrono-copy h3{font-size:clamp(27px,3vw,48px);line-height:1.25;max-width:20ch}
html[lang="ar"] .chrono-copy p{font-size:clamp(14px,1vw,16px);line-height:2}
html[lang="ar"] .chrono-meta time{letter-spacing:0}

@media(max-width:1120px){
  .chrono-entry{grid-template-columns:minmax(110px,.3fr) minmax(0,1fr);gap:18px 34px}
  .chrono-meta{grid-column:1;grid-row:1}
  .chrono-copy{grid-column:2;grid-row:1}
  .chrono-gallery{grid-column:1/-1;grid-row:2;margin-top:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .chrono-gallery .chrono-thumb:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:280px}
  .chrono-gallery.count-1{display:block}.chrono-gallery.count-1 .chrono-thumb{min-height:0;aspect-ratio:16/9}
  .chrono-entry:not(:has(.chrono-gallery)) .chrono-copy{grid-column:2}
}
@media(max-width:760px){
  body.chronology-page .dark-hero h1{font-size:clamp(44px,15vw,78px)}
  .chrono-years{top:88px}
  .chrono-year{grid-template-columns:1fr;scroll-margin-top:150px}
  .chrono-year-label{position:static;display:flex;align-items:baseline;gap:12px;padding:38px 0 14px;border-bottom:1px solid #111110}
  .chrono-year-label span{font-size:clamp(52px,19vw,88px)}.chrono-year-label i{margin-top:0}
  .chrono-events{border-inline-start:0}
  .chrono-entry{padding:30px 0 42px;grid-template-columns:1fr;gap:15px}
  .chrono-entry::before{display:none}
  .chrono-meta,.chrono-copy,.chrono-gallery,.chrono-entry:not(:has(.chrono-gallery)) .chrono-copy{grid-column:1;grid-row:auto}
  .chrono-copy h3{max-width:none;font-size:clamp(29px,8.4vw,44px)}
  .chrono-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
  .chrono-gallery .chrono-thumb:first-child{grid-column:1/-1;grid-row:auto;min-height:0;aspect-ratio:16/10}
  .chrono-gallery.count-2,.chrono-gallery.count-3,.chrono-gallery.count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chrono-gallery.count-4 .chrono-thumb:nth-child(4){grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.chrono-thumb img{transition:none!important}}


/* ===== v29.2 consolidation ===== */
html[data-build] .mainnav{white-space:nowrap}
html[data-build] .chrono-level{display:inline-flex;width:max-content;border:1px solid #111110;color:#111110;padding:4px 7px;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
html[lang="ar"][data-build] .chrono-level{font-family:var(--arabic);letter-spacing:0;text-transform:none}

/* Timeline hierarchy: milestones, events, documents */
html[data-build] .chrono-entry.is-major{background:linear-gradient(90deg,rgba(255,255,255,.028),transparent 55%);border-top:1px solid #111110;border-bottom:1px solid #111110;padding-top:clamp(52px,7vw,96px);padding-bottom:clamp(56px,8vw,110px)}
html[data-build] .chrono-entry.is-major::before{width:11px;height:11px;inset-inline-start:-6px;background:#FFFFFF;box-shadow:0 0 0 5px #111110}
html[data-build] .chrono-entry.is-major .chrono-copy h3{font-size:clamp(38px,5vw,76px);line-height:.98;max-width:16ch}
html[lang="ar"][data-build] .chrono-entry.is-major .chrono-copy h3{font-size:clamp(34px,4.4vw,66px);line-height:1.2;max-width:18ch}
html[data-build] .chrono-entry.is-major:not(.is-cluster) .chrono-gallery{grid-column:2/4;grid-row:2;margin-top:18px;grid-template-columns:2fr 1fr 1fr}
html[data-build] .chrono-entry.is-major:not(.is-cluster) .chrono-gallery .chrono-thumb:first-child{grid-column:1;grid-row:1/3;aspect-ratio:16/11;min-height:360px}
html[data-build] .chrono-entry.is-event .chrono-copy h3{font-size:clamp(27px,3vw,46px)}
html[data-build] .chrono-entry.is-document{background:#111110}
html[data-build] .chrono-entry.is-document .chrono-copy h3{font-size:clamp(24px,2.5vw,38px);max-width:22ch}
html[data-build] .chrono-entry.is-document .chrono-gallery{max-width:760px}
html[data-build] .chrono-thumb.document-thumb{background:#111110}
html[data-build] .chrono-thumb.document-thumb img{object-fit:contain!important;background:#111110;filter:none}

/* Security-file cluster */
html[data-build] .chrono-entry.is-cluster{grid-template-columns:minmax(130px,.34fr) minmax(0,.7fr) minmax(340px,1.3fr)}
html[data-build] .chrono-entry.is-cluster .chrono-copy{grid-column:2/4}
html[data-build] .chrono-entry.is-cluster .chrono-copy h3{max-width:18ch}
html[data-build] .chrono-cluster-steps{grid-column:2/4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #111110;border-bottom:1px solid #111110;margin-top:12px}
html[data-build] .cluster-step{padding:18px 18px 22px 0;border-inline-end:1px solid #111110}
html[dir="rtl"][data-build] .cluster-step{padding:18px 0 22px 18px}
html[data-build] .cluster-step:last-child{border-inline-end:0;padding-inline-end:0}
html[data-build] .cluster-step time{font-family:var(--mono);font-size:9px;color:#FFFFFF;letter-spacing:.07em;text-transform:uppercase}
html[data-build] .cluster-step h4{margin:11px 0 7px;font-size:18px;line-height:1.15}
html[data-build] .cluster-step p{margin:0;color:#111110;font-size:12.5px;line-height:1.55}
html[lang="ar"][data-build] .cluster-step time{font-family:var(--arabic);letter-spacing:0;text-transform:none}
html[lang="ar"][data-build] .cluster-step h4{font-family:var(--arabic-display);line-height:1.35}
html[lang="ar"][data-build] .cluster-step p{line-height:1.8}
html[data-build] .chrono-entry.is-cluster .cluster-gallery{grid-column:2/4;grid-row:auto;margin-top:18px;grid-template-columns:repeat(4,minmax(0,1fr))}
html[data-build] .chrono-entry.is-cluster .cluster-gallery .chrono-thumb:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3;min-height:0}

/* Archive: slightly stronger scan rhythm */
html[data-build] .archive-record:hover{background:#FFFFFF;color:#111110}
html[data-build] .archive-record:hover .archive-project,html[data-build] .archive-record:hover .archive-type,html[data-build] .archive-record:hover .archive-date,html[data-build] .archive-record:hover small{color:#111110}

@media(max-width:1100px){
 html[data-build] .chrono-entry.is-major:not(.is-cluster) .chrono-gallery{grid-column:1/-1;grid-row:2}
 html[data-build] .chrono-entry.is-cluster{grid-template-columns:minmax(110px,.3fr) minmax(0,1fr)}
 html[data-build] .chrono-entry.is-cluster .chrono-copy{grid-column:2}
 html[data-build] .chrono-cluster-steps,html[data-build] .chrono-entry.is-cluster .cluster-gallery{grid-column:1/-1}
}
@media(max-width:760px){
 html[data-build] .chrono-entry.is-major .chrono-copy h3{font-size:clamp(34px,11vw,52px)}
 html[lang="ar"][data-build] .chrono-entry.is-major .chrono-copy h3{font-size:clamp(31px,9.5vw,46px)}
 html[data-build] .chrono-entry.is-major:not(.is-cluster) .chrono-gallery .chrono-thumb:first-child{min-height:0;grid-column:1/-1;grid-row:auto}
 html[data-build] .chrono-cluster-steps{grid-template-columns:1fr 1fr}
 html[data-build] .cluster-step:nth-child(2){border-inline-end:0}
 html[data-build] .cluster-step:nth-child(-n+2){border-bottom:1px solid #111110}
 html[data-build] .chrono-entry.is-cluster .cluster-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
 html[data-build] .chrono-cluster-steps{grid-template-columns:1fr}
 html[data-build] .cluster-step{border-inline-end:0!important;border-bottom:1px solid #111110!important;padding:16px 0!important}
 html[data-build] .cluster-step:last-child{border-bottom:0!important}
}


/* v32 — chronology semantics, responsive media, and robust lightbox */
.chrono-year-label h2{font-family:var(--mono);font-size:clamp(31px,5vw,68px);line-height:1;letter-spacing:-.05em;margin:0;color:#FFFFFF;font-weight:500}
.chrono-year-label .chrono-year-count{font-family:var(--mono);font-size:9px;color:#111110;font-style:normal}
.chrono-thumb img{background:#111110}
.chrono-thumb img[loading="lazy"]{content-visibility:auto}

.media-lightbox{position:fixed;inset:0;z-index:9999;background:#111110;display:none;color:#FFFFFF;overscroll-behavior:contain}
.media-lightbox.is-open{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.lb-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 16px;border-bottom:1px solid #111110;font-family:var(--mono);font-size:10px;letter-spacing:.1em;background:#111110}
.lb-close{color:#FFFFFF;border:1px solid #111110;background:#111110;padding:6px 9px;cursor:pointer}
.lb-stage{min-height:0;position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:stretch;overflow:hidden;background:#111110}
.lb-figure{margin:0;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;overflow:hidden;padding:12px 18px 8px}
.lb-image-wrap{width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden;position:relative}
.lb-stage img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;opacity:1;transition:opacity .12s ease}
.lb-stage.is-loading img{opacity:.12}
.lb-stage.is-loading .lb-image-wrap::after{content:"";width:24px;height:24px;border:2px solid #111110;border-top-color:#FFFFFF;border-radius:50%;animation:lbspin .8s linear infinite;position:absolute}
@keyframes lbspin{to{transform:rotate(360deg)}}
.lb-caption{width:100%;max-width:1200px;padding:7px 0 2px;color:#111110;font-size:12px;line-height:1.45;text-align:center}
.lb-error{display:none;color:#FFFFFF;font-family:var(--mono);font-size:12px;text-align:center;padding:20px}
.lb-stage.has-error .lb-error{display:block}.lb-stage.has-error img{display:none}
.lb-prev,.lb-next{font-size:28px;color:#FFFFFF;background:#111110;border:0;cursor:pointer;align-self:stretch;display:grid;place-items:center}
.lb-prev:hover,.lb-next:hover{background:#111110}.lb-prev[hidden],.lb-next[hidden]{display:none}
.lb-foot{display:flex;justify-content:center;gap:18px;padding:9px 16px;border-top:1px solid #111110;font-family:var(--mono);font-size:10px;color:#111110;text-align:center;background:#111110}
.lb-foot .lb-counter{min-width:64px}.lb-foot .lb-download{color:#FFFFFF;text-decoration:none;border-bottom:1px solid #111110}
@media(max-width:720px){.lb-stage{grid-template-columns:38px minmax(0,1fr) 38px}.lb-figure{padding:8px 4px 5px}.lb-caption{font-size:11px;padding-inline:8px}.lb-prev,.lb-next{font-size:22px}.lb-top{padding:9px 10px}}
@media(prefers-reduced-motion:reduce){.lb-stage img{transition:none}.lb-stage.is-loading .lb-image-wrap::after{animation:none}}


/* ===== v32 chronology additions supplied 24 Aug 2026 ===== */
.chrono-overview{
  padding:30px clamp(20px,4vw,62px) 34px;
  border-bottom:1px solid #111110;
  background:rgba(255,255,255,.018);
}
.chrono-overview .overview-kicker{margin:0 0 8px;font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#111110}
.chrono-overview h3{margin:0;font-size:clamp(22px,2.4vw,36px);line-height:1.08;letter-spacing:-.025em;max-width:26ch}
.chrono-overview ul{margin:18px 0 0;padding:0;list-style:none;columns:2;column-gap:44px;max-width:1160px}
.chrono-overview li{break-inside:avoid;margin:0 0 11px;padding-inline-start:16px;position:relative;color:#111110;font-size:14.5px;line-height:1.62}
.chrono-overview li::before{content:"—";position:absolute;inset-inline-start:0;color:#111110}
.chrono-phase .chrono-year-label h2{font-size:clamp(34px,4.4vw,66px)!important;letter-spacing:-.055em!important;white-space:nowrap}
.foundation-overview{padding-top:50px;padding-bottom:56px;background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 70%)}
.foundation-overview p:last-child{color:#111110;max-width:62ch;font-size:16px;line-height:1.75}
html[lang="ar"] .chrono-overview .overview-kicker{font-family:var(--arabic);letter-spacing:0;text-transform:none}
html[lang="ar"] .chrono-overview h3{font-family:var(--arabic-display);letter-spacing:0;line-height:1.4}
html[lang="ar"] .chrono-overview li{line-height:1.9}
@media(max-width:900px){.chrono-overview ul{columns:1}.chrono-overview{padding-inline:0}.foundation-overview{padding-inline:0}.chrono-phase .chrono-year-label h2{white-space:normal}}


/* ===== v32 definitive lightbox placement fix ===== */
.media-lightbox{direction:ltr}
.lb-stage{
  grid-template-columns:54px minmax(0,1fr) 54px;
  grid-template-areas:"prev figure next";
  direction:ltr;
}
.lb-prev{grid-area:prev}.lb-figure{grid-area:figure}.lb-next{grid-area:next}
.lb-figure{direction:ltr}
.lb-caption{direction:auto;unicode-bidi:plaintext}
@media(max-width:720px){
  .lb-stage{grid-template-columns:38px minmax(0,1fr) 38px;grid-template-areas:"prev figure next"}
}

/* v37: explicit section themes and stable browser controls. */
html{color-scheme:light} [hidden]{display:none!important} :where(a,button,input,select,summary):focus-visible{outline:2px solid currentColor;outline-offset:4px} button{touch-action:manipulation} :target{scroll-margin-top:calc(var(--nav-height,64px) + 24px)} .topbar-in{min-width:0}.brand{white-space:nowrap}
