/* Populism Africa Review: broadsheet. Fraunces display + Literata text, centred nameplate, double rules, column grid, no boxes */
:root{--pa-wine:#831843;--pa-blush:#FBCFE8;--pa-ochre:#D97706;--pa-sheet:#FFF7FB;--pa-ink:#3B0A20;--pa-night:#260614;--pa-head:'Fraunces',Georgia,serif;--pa-body:'Literata',Georgia,serif;--pa-max:min(1200px,92vw);--pa-dbl:4px double var(--pa-ink)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pa-sheet);color:var(--pa-ink);font:400 1.07rem/1.74 var(--pa-body)}
img{max-width:100%;display:block}
a{color:var(--pa-wine);text-decoration-color:color-mix(in srgb,var(--pa-wine) 45%,transparent);text-underline-offset:.2em}
h1,h2,h3,h4{font-family:var(--pa-head);font-weight:600;font-optical-sizing:auto;line-height:1.06;margin:0 0 .5em;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(2.4rem,6vw,5.4rem);font-weight:700;letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,2.8vw,2.45rem);font-style:italic;font-weight:500}
h3{font-size:1.28rem}
h4{font-variant:small-caps;letter-spacing:.06em;font-size:1.05rem}
p,li{text-wrap:pretty;hyphens:manual}
.pa-col{width:var(--pa-max);margin-inline:auto}
.pa-skip{position:absolute;left:-999px}.pa-skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem}
/* mast: nameplate centred over a section row */
.pa-mast{position:fixed;inset:0 0 auto;z-index:50;background:var(--pa-sheet);color:var(--pa-ink);border-bottom:var(--pa-dbl);transition:background .3s,color .3s}
.pa-mast-in{width:var(--pa-max);margin:auto;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.55rem 0 .45rem}
.pa-nameplate{position:relative;display:block;height:64px}
.pa-nameplate img{height:64px;width:auto;transition:opacity .3s}
.pa-np-d{position:absolute;left:0;top:0;opacity:0}
.pa-mast.pa-inked{background:var(--pa-night);color:#fff;border-bottom-color:var(--pa-ochre)}
.pa-mast.pa-inked .pa-np-l{opacity:0}.pa-mast.pa-inked .pa-np-d{opacity:1}
.pa-mast.pa-inked .pa-mast-in{flex-direction:row;justify-content:space-between;padding:.4rem 0}
.pa-sections{display:flex;gap:1.6rem;align-items:center;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);padding-top:.35rem;width:100%;justify-content:center}
.pa-inked .pa-sections{border-top:0;width:auto;padding-top:0}
.pa-sections a{color:inherit;text-decoration:none;font:500 .95rem var(--pa-body);font-variant:small-caps;letter-spacing:.07em;white-space:nowrap}
.pa-sections a:hover,.pa-sections a[aria-current]{color:var(--pa-wine);text-decoration:underline;text-decoration-thickness:2px}
.pa-inked .pa-sections a:hover,.pa-inked .pa-sections a[aria-current]{color:var(--pa-blush)}
.pa-sections .pa-sub{font-style:italic;color:var(--pa-wine);border-bottom:2px solid var(--pa-ochre)}
.pa-inked .pa-sections .pa-sub{color:#fff}
.pa-fold{display:none;background:none;border:0;border-top:2px solid currentColor;border-bottom:2px solid currentColor;color:inherit;padding:.35rem .2rem;font:500 .95rem var(--pa-body);font-variant:small-caps;letter-spacing:.1em}
.pa-drawer{display:none}
@media (max-width:1180px){.pa-mast-in,.pa-mast.pa-inked .pa-mast-in{flex-direction:row;justify-content:space-between;padding:.45rem 0}.pa-sections{display:none}.pa-fold{display:block}
 .pa-drawer.pa-open{display:block;position:fixed;inset:76px 0 auto;z-index:49;background:var(--pa-sheet);border-bottom:var(--pa-dbl);padding:.6rem 6vw 1.2rem;columns:2;column-rule:1px solid color-mix(in srgb,var(--pa-ink) 20%,transparent)}
 .pa-drawer a{display:block;color:var(--pa-ink);text-decoration:none;font:500 1.02rem var(--pa-body);font-variant:small-caps;padding:.5rem 0}}
@media (max-width:720px){.pa-nameplate,.pa-nameplate img{height:48px}body{font-size:1.02rem}}
/* front (hero): headline-first, centred dek, wide photo under a rule */
.pa-front{padding:160px 0 2.4rem;display:flex;flex-direction:column;width:var(--pa-max);margin:auto}
.pa-front-box{order:-1;text-align:center;max-width:56rem;margin:0 auto 1.6rem}
.pa-front-pic{position:relative;height:min(46vh,470px);border-top:var(--pa-dbl);padding-top:10px;overflow:hidden}
.pa-front-pic>.pa-drift{top:10px}
.pa-overline{font:600 .82rem var(--pa-body);text-transform:uppercase;letter-spacing:.22em;color:var(--pa-ochre);margin:0 0 .9rem}
.pa-dek{font-size:1.2rem;font-style:italic;max-width:42rem;margin:0 auto .8rem}
.pa-byline{font-size:.86rem;font-variant:small-caps;letter-spacing:.06em;margin-bottom:.8rem}.pa-byline a{color:inherit}
@media (max-width:1180px){.pa-front{padding-top:104px}}
@media (max-width:1440px) and (min-width:1181px){.pa-front-pic{height:min(34vh,360px)}}
@media (max-width:860px){.pa-front-pic{height:230px}}
@media (max-width:600px){.pa-front{padding:82px 0 1.6rem}.pa-front-box{margin-bottom:1rem}.pa-front-box h1{font-size:2.3rem}.pa-dek{font-size:1.02rem;margin-bottom:.4rem}.pa-front-pic{height:150px}}
/* read buttons: text links with rules */
.pa-read{display:inline-block;background:var(--pa-wine);color:#fff;text-decoration:none;font:600 .98rem var(--pa-body);padding:.75rem 1.3rem;margin:.5rem .35rem 0;border-radius:0;transition:opacity .2s,transform .2s}
.pa-read:hover{opacity:.88;transform:translateY(-1px)}
.pa-read.pa-read-quiet{background:transparent;color:var(--pa-wine);padding:.75rem .4rem;border-bottom:2px solid var(--pa-ochre)}
.pa-ink .pa-read{background:var(--pa-ochre);color:var(--pa-night)}
/* stories */
main{display:block;overflow-x:clip}
.pa-story{padding:3.8rem 0}
.pa-story>.pa-col>h2{border-top:var(--pa-dbl);padding-top:.8rem}
/* essay: newspaper columns with pullquote margin */
.pa-essay{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:0 3rem;align-items:start;border-top:var(--pa-dbl);padding-top:1.6rem}
.pa-essay article{columns:2 22rem;column-gap:2.6rem;column-rule:1px solid color-mix(in srgb,var(--pa-ink) 18%,transparent)}
.pa-essay article>section{break-inside:avoid-column;margin:0 0 1.6rem}
.pa-essay article>section:first-child>p:first-of-type::first-letter{float:left;font:700 3.6em/.8 var(--pa-head);color:var(--pa-wine);padding:.08em .1em 0 0}
.pa-essay article>h2,.pa-essay article>table{column-span:all}
.pa-essay article h2{font-size:1.45rem;font-style:normal}
.pa-essay aside{position:sticky;top:150px;border-left:1px solid color-mix(in srgb,var(--pa-ink) 20%,transparent);padding-left:1.4rem}
.pa-pullquote{font:italic 500 1.5rem/1.3 var(--pa-head);color:var(--pa-wine);margin:0 0 1.4rem}
.pa-pullquote::before{content:"“";display:block;font-size:3rem;line-height:.6;color:var(--pa-ochre)}
.pa-boxout{border-top:3px solid var(--pa-wine);padding-top:.8rem;font-size:.95rem}
@media (max-width:980px){.pa-essay{grid-template-columns:1fr}.pa-essay aside{position:static;border-left:0;padding-left:0;border-top:1px solid color-mix(in srgb,var(--pa-ink) 20%,transparent);padding-top:1rem}}
.pa-ledger{width:100%;border-collapse:collapse;margin:1rem 0 2rem;font-size:.95rem;border-top:2px solid var(--pa-ink);border-bottom:2px solid var(--pa-ink)}
.pa-ledger th,.pa-ledger td{text-align:left;padding:.55rem .4rem;border-bottom:1px dotted color-mix(in srgb,var(--pa-ink) 40%,transparent);vertical-align:top}
.pa-ledger th{width:36%;font-variant:small-caps;letter-spacing:.05em}
details{border-bottom:1px solid color-mix(in srgb,var(--pa-ink) 22%,transparent);padding:.8rem 0}
summary{cursor:pointer;font:600 1.12rem var(--pa-head);list-style:none;display:flex;gap:1rem;justify-content:space-between;align-items:baseline}
summary::-webkit-details-marker{display:none}
summary::after{content:"Read";flex:none;font:500 .85rem var(--pa-body);font-variant:small-caps;color:var(--pa-ochre)}
details[open]>summary::after{content:"Close"}
/* ink band */
.pa-ink{background:var(--pa-night);color:#fbeef4}.pa-ink a:not(.pa-read){color:var(--pa-blush)}
.pa-ink .pa-col>h2,.pa-ink h2{border-color:#fbeef4}
.pa-close-ink{padding:3.6rem 0 6.5rem;text-align:center}
.pa-close-ink h2{border:0!important;font-size:clamp(1.9rem,4vw,3.2rem);max-width:28ch;margin:0 auto .6rem}
/* shelf: headline list, image above, no boxes */
.pa-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:2.2rem 2rem}
.pa-piece{display:block;color:inherit;text-decoration:none;border-top:1px solid var(--pa-ink);padding-top:.9rem}
.pa-piece img{width:100%;aspect-ratio:5/4;object-fit:cover;height:auto;margin-bottom:.8rem;transition:opacity .3s}
.pa-piece:hover img{opacity:.85}
.pa-piece h3{margin:0 0 .3rem;font-size:1.3rem}.pa-piece:hover h3{color:var(--pa-wine)}
.pa-piece p{margin:0;font-size:.95rem}
.pa-shelf>.pa-piece:first-child{grid-column:span 2}
.pa-shelf>.pa-piece:first-child img{aspect-ratio:16/9}
.pa-shelf>.pa-piece:first-child h3{font-size:1.8rem}
@media (max-width:640px){.pa-shelf>.pa-piece:first-child{grid-column:auto}}
.pa-shelf-list{grid-template-columns:1fr 1fr;gap:0 2.6rem}
.pa-shelf-list .pa-piece{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:1rem;align-items:start;padding:1rem 0;border-top:0;border-bottom:1px solid color-mix(in srgb,var(--pa-ink) 22%,transparent)}
.pa-shelf-list .pa-piece img{order:2;aspect-ratio:1;margin:0}
.pa-shelf-list>.pa-piece:first-child{grid-column:auto}.pa-shelf-list>.pa-piece:first-child img{aspect-ratio:1}.pa-shelf-list>.pa-piece:first-child h3{font-size:1.3rem}
@media (max-width:820px){.pa-shelf-list{grid-template-columns:1fr}.pa-shelf-list .pa-piece{grid-template-columns:minmax(0,1fr) 96px}}
.pa-ink .pa-piece{border-color:#fbeef4}
.pa-contents{columns:2 26rem;column-gap:3rem}
.pa-contents a{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1rem;break-inside:avoid;padding:.8rem 0;border-bottom:1px dotted color-mix(in srgb,var(--pa-ink) 40%,transparent);color:inherit;text-decoration:none}
.pa-contents img{width:100%;aspect-ratio:1;object-fit:cover}.pa-contents h3{margin:0 0 .2rem;font-size:1.1rem}.pa-contents p{margin:0;font-size:.92rem}
.pa-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:3rem 0}
.pa-pillars>div{padding:0 1.4rem;border-left:1px solid rgba(255,255,255,.25)}.pa-pillars>div:first-child{border-left:0;padding-left:0}
.pa-pillars h3{font-style:italic;color:var(--pa-blush)}
@media (max-width:900px){.pa-pillars{grid-template-columns:1fr 1fr;gap:1.6rem 0}}@media (max-width:520px){.pa-pillars{grid-template-columns:1fr}.pa-pillars>div{border-left:0;padding:0}}
.pa-lead-story{width:var(--pa-max);margin:auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2.4rem;border-top:var(--pa-dbl);padding-top:1.6rem;align-items:start}
.pa-lead-story img{width:100%;aspect-ratio:3/2;object-fit:cover}
.pa-lead-body h2{font-size:clamp(1.8rem,3.4vw,2.8rem);font-style:normal}
@media (max-width:860px){.pa-lead-story{grid-template-columns:1fr;gap:1rem}}
/* letters (reviews) */
main section .amr-root{--amr-font:var(--pa-body);--amr-bg:var(--pa-sheet);--amr-star:var(--pa-ochre);--amr-link:var(--pa-wine);--amr-text:var(--pa-ink);--amr-muted:#5b4350;--amr-radius:0px;--amr-card-border:transparent;--amr-body-size:1.05rem}
.pa-letters-q .pa-col{max-width:820px}
.pa-letters-h{text-align:center;border-top:var(--pa-dbl);border-bottom:1px solid var(--pa-ink);padding:.8rem 0 .4rem;margin-bottom:1.4rem}
.pa-letters-h h2{margin:0 0 .2rem}.pa-letters-h p{margin:0;font-size:.88rem;font-variant:small-caps}
.amr-root .amr-photo-fallback{color:var(--amr-text,#0f172a)!important;background:color-mix(in srgb,var(--amr-text,#0f172a) 10%,#fff)!important}
/* colophon */
.pa-colophon{background:var(--pa-night);color:#f3e2ea;padding:4rem 0 7rem;font-size:.95rem;border-top:6px double var(--pa-ochre)}
.pa-colophon a{color:#fff}
.pa-colophon-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem}
.pa-colophon-cols h4{color:var(--pa-blush);margin:0 0 .7rem}
.pa-colophon-cols nav a{display:block;padding:.18rem 0;text-decoration:none}
.pa-colophon-small{margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18);font-size:.84rem;font-style:italic}
@media (max-width:860px){.pa-colophon-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pa-colophon-cols>*{min-width:0}}
.pa-inkline{position:fixed;left:0;top:0;height:3px;width:0;background:var(--pa-ochre);z-index:60}
/* form */
.pa-form-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2.6rem;align-items:start}
.pa-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.3rem;border-top:var(--pa-dbl);padding-top:1.4rem}
.pa-form-row{display:flex;flex-direction:column;gap:.3rem;min-width:0}.pa-form-full{grid-column:1/-1}
.pa-form label{font-variant:small-caps;letter-spacing:.06em;font-weight:600}.pa-form-opt{font-weight:400}
.pa-form input,.pa-form textarea{font:inherit;color:var(--pa-ink);background:transparent;border:0;border-bottom:1.5px solid var(--pa-ink);border-radius:0;padding:.6rem .2rem;width:100%;min-height:44px}
.pa-form input:focus-visible,.pa-form textarea:focus-visible{outline:2px solid var(--pa-ochre);outline-offset:3px}
.pa-form [aria-invalid=true]{border-bottom-color:#B42318;border-bottom-width:3px}
.pa-form-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.pa-form-acts{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.pa-form-btn{font:600 1rem var(--pa-body);background:var(--pa-wine);color:#fff;border:0;padding:.85rem 1.6rem;min-height:44px;cursor:pointer}
.pa-form-msg{margin:0;font-style:italic}.pa-form-msg.pa-ok{color:var(--pa-wine)}.pa-form-msg.pa-no{color:#B42318}
@media (max-width:820px){.pa-form-wrap{grid-template-columns:1fr}}@media (max-width:560px){.pa-form{grid-template-columns:1fr}}
/* photo + motion: transform/opacity only */
.pa-drift{position:absolute;inset:0;overflow:hidden;display:block}
.pa-drift>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .pa-drift>img{animation:paRoll 34s ease-in-out infinite alternate}
 .pa-drift.pa-d1>img{animation-name:paRollUp}
 .pa-front-box>*{animation:paPrint .9s ease both}
 .pa-front-box>h1{animation-delay:.1s}.pa-front-box>.pa-dek{animation-delay:.25s}
 @supports (animation-timeline:view()){
  .pa-in1,.pa-in2,.pa-in3,.pa-piece{animation:paPrint linear both;animation-timeline:view();animation-range:entry 5% entry 50%}
 }
}
@keyframes paRoll{from{transform:scale(1.06) translateY(-2%)}to{transform:scale(1.06) translateY(2%)}}
@keyframes paRollUp{from{transform:scale(1.08) translateY(2%)}to{transform:scale(1.04) translateY(-2%)}}
@keyframes paPrint{from{opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.pa-fixed{background:var(--pa-sheet)}
@media (max-width:600px){.pa-front{min-height:100svh}}

/* pa basics (Proof 2026-10-29): FAQ open/close, trimmed button and pill type, staggered grid reveal */
html{interpolate-size:allow-keywords}
.pa-read,.pa-sub,.pa-form-btn,.pa-overline{text-box:trim-both cap alphabetic}
details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .38s cubic-bezier(.2,.7,.2,1),opacity .3s ease,content-visibility .38s allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}
@media (prefers-reduced-motion:no-preference){
.pa-shelf>*,.pa-pillars>*{animation:paStagger .62s cubic-bezier(.2,.7,.2,1) both}
.pa-shelf>:nth-child(2),.pa-pillars>:nth-child(2){animation-delay:.08s}
.pa-shelf>:nth-child(3),.pa-pillars>:nth-child(3){animation-delay:.16s}
.pa-shelf>:nth-child(4),.pa-pillars>:nth-child(4){animation-delay:.24s}
.pa-shelf>:nth-child(n+5),.pa-pillars>:nth-child(n+5){animation-delay:.3s}
@supports (animation-timeline:view()){
.pa-shelf>*,.pa-pillars>*{animation-timeline:view();animation-delay:0s;animation-range:entry 0% entry 36%}
.pa-shelf>:nth-child(3n+2),.pa-pillars>:nth-child(3n+2){animation-range:entry 7% entry 43%}
.pa-shelf>:nth-child(3n),.pa-pillars>:nth-child(3n){animation-range:entry 14% entry 50%}
}
}
@keyframes paStagger{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){.pa-shelf>*,.pa-pillars>*{animation:none!important;opacity:1;transform:none}details::details-content{transition:none}}
