/* ============================================================
   Abdullah al-Ahsan / design system
   Palette is drawn from the material record of cross-civilizational
   exchange: ultramarine ground from Badakhshan lapis, traded into
   both Latin and Islamic manuscript workshops, and rubrication red,
   the shared heading-ink practice of Latin, Arabic and Hebrew scribes.
   Two loaded families only. Utility type uses the system mono stack.
   Light is the default surface. Reading research favors positive
   contrast polarity, and the primary readership is 60+.
   ============================================================ */

:root{
  --paper:#FBFAF8;
  --raise:#FFFFFF;
  --ink:#16150F;
  --slate:#545C69;
  --lapis:#1B3E70;
  --lapis-soft:rgba(27,62,112,.08);
  --rubric:#9E2B1B;
  --rubric-soft:rgba(158,43,27,.09);
  --rule:rgba(22,21,15,.14);
  --rule-hard:rgba(22,21,15,.28);
  --shadow:0 1px 2px rgba(22,21,15,.05),0 8px 24px rgba(22,21,15,.05);

  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Spectral",Georgia,"Times New Roman",serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;

  --shell:76rem;
  --measure:36rem;
  --pad:clamp(1.25rem,5vw,4.5rem);
  --gap:clamp(2.75rem,7vw,6rem);
  --hdr:4rem;
}

[data-theme="dark"]{
  --paper:#0B1420;
  --raise:#111E2E;
  --ink:#E8EBEF;
  --slate:#9CA7B5;
  --lapis:#8FB4E8;
  --lapis-soft:rgba(143,180,232,.12);
  --rubric:#E9634C;
  --rubric-soft:rgba(233,99,76,.14);
  --rule:rgba(232,235,239,.16);
  --rule-hard:rgba(232,235,239,.32);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.32);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:1.125rem;line-height:1.68;
  font-weight:400;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
[id]{scroll-margin-top:calc(var(--hdr) + 1.5rem)}

:focus-visible{outline:3px solid var(--rubric);outline-offset:3px;border-radius:2px}
::selection{background:var(--lapis);color:var(--paper)}

.skip{
  position:absolute;left:-9999px;top:0;z-index:99;background:var(--ink);color:var(--paper);
  padding:.9rem 1.25rem;font-family:var(--mono);font-size:.8rem;text-decoration:none
}
.skip:focus{left:0}

.shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--pad)}
.col{max-width:var(--measure)}
.wide{max-width:52rem}

/* ---------- TYPE ---------- */
h1,h2,h3,h4{
  font-family:var(--display);font-weight:600;line-height:1.08;margin:0;
  letter-spacing:-.018em;font-variation-settings:"opsz" 60;
}
h2{font-size:clamp(1.85rem,4vw,2.85rem);margin-bottom:1rem}
h3{font-size:clamp(1.2rem,2vw,1.4rem);line-height:1.24;font-variation-settings:"opsz" 30}
h4{font-size:1.05rem;font-variation-settings:"opsz" 20}
p{margin:0 0 1.15rem;max-width:var(--measure)}
p:last-child{margin-bottom:0}
.lede{font-size:1.2rem;color:var(--slate);line-height:1.6}
strong{font-weight:600}

.eyebrow{
  font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rubric);margin:0 0 1.1rem;max-width:none
}
.eyebrow--quiet{color:var(--slate)}

.band{padding-block:var(--gap)}
.band--rule{border-top:1px solid var(--rule)}
.band--tint{background:var(--raise);border-block:1px solid var(--rule)}

/* ---------- HEADER ---------- */
.hdr{
  position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--rule)
}
.hdr__in{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;min-height:var(--hdr)}
.hdr__id{
  font-family:var(--display);font-size:1.02rem;font-weight:600;text-decoration:none;
  white-space:nowrap;font-variation-settings:"opsz" 14;letter-spacing:-.01em;
  display:flex;align-items:center;min-height:44px
}
/* Navigation stays visible at every width. On narrow screens it wraps to its
   own row rather than collapsing into a menu the reader has to discover. */
.hdr__nav{
  display:flex;gap:1.35rem;align-items:center;order:3;width:100%;
  border-top:1px solid var(--rule);margin-top:-.25rem;overflow-x:auto;
  scrollbar-width:none
}
.hdr__nav::-webkit-scrollbar{display:none}
.hdr__nav a{
  font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;text-decoration:none;
  color:var(--slate);display:flex;align-items:center;min-height:44px;padding-inline:.15rem;
  white-space:nowrap
}
.hdr__nav a:hover,.hdr__nav a[aria-current="page"]{color:var(--ink)}
.hdr__nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--rubric)}
.hdr__tools{display:flex;align-items:center;gap:.5rem;margin-left:auto}
@media(min-width:64rem){
  .hdr__nav{order:0;width:auto;border-top:0;margin-top:0;margin-left:auto;overflow:visible}
  .hdr__tools{margin-left:1.35rem}
}

.iconbtn{
  width:44px;height:44px;display:grid;place-items:center;background:none;
  border:1px solid var(--rule);color:var(--ink);cursor:pointer;border-radius:2px
}
.iconbtn:hover{border-color:var(--rule-hard);background:var(--lapis-soft)}
.iconbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
[data-theme="dark"] .icon-sun{display:none}
.icon-moon{display:none}
[data-theme="dark"] .icon-moon{display:block}

/* ---------- BUTTONS ---------- */
.btn{
  font-family:var(--mono);font-size:.8rem;letter-spacing:.05em;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:.75rem 1.4rem;border:1px solid var(--ink);background:none;color:var(--ink);
  cursor:pointer;border-radius:2px;transition:background .18s,color .18s,border-color .18s
}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn--go{background:var(--rubric);border-color:var(--rubric);color:#fff;font-weight:500}
.btn--go:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn--quiet{border-color:var(--rule-hard);color:var(--slate)}
.btn--quiet:hover{background:var(--lapis-soft);color:var(--ink);border-color:var(--lapis)}
.btnrow{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* ---------- HERO ---------- */
.hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(2.5rem,5vw,4rem)}
.hero__name{
  font-family:var(--display);font-weight:400;font-size:clamp(2.9rem,10.5vw,7rem);
  line-height:.92;letter-spacing:-.035em;font-variation-settings:"opsz" 144;
  margin:0 0 1.5rem;max-width:none
}
.hero__name em{font-style:normal;color:var(--lapis)}
.hero__claim{
  font-family:var(--display);font-weight:400;font-size:clamp(1.35rem,2.9vw,2rem);
  line-height:1.28;letter-spacing:-.012em;font-variation-settings:"opsz" 72;
  max-width:42rem;margin:0 0 1.5rem
}
.hero__claim b{font-weight:600;box-shadow:inset 0 -.42em 0 var(--rubric-soft)}
.hero__sub{font-family:var(--mono);font-size:.84rem;line-height:1.85;color:var(--slate);max-width:38rem}

/* ---------- RECORD STRIP ---------- */
.record{border-block:1px solid var(--rule);background:var(--lapis-soft);padding-block:1.15rem}
.record p{font-family:var(--mono);font-size:.76rem;line-height:1.95;margin:0;max-width:none;color:var(--slate)}
.record b{font-weight:500;color:var(--ink)}
.record .sep{color:var(--rule-hard);padding-inline:.5rem}

/* ---------- ARGUMENT CHAIN (signature element) ---------- */
.chain{border-top:2px solid var(--ink);padding-top:1.5rem}
.chain__top{display:flex;flex-wrap:wrap;gap:1rem;align-items:baseline;justify-content:space-between;margin-bottom:.5rem}
.chain__top .eyebrow{margin:0}
.chain__note{font-size:1rem;color:var(--slate);max-width:44rem;margin:0 0 1.75rem}
.chain__grid{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);grid-template-columns:1fr}
@media(min-width:56rem){.chain__grid{grid-template-columns:repeat(4,1fr)}}
.node{background:var(--paper);padding:1.35rem 1.25rem 1.5rem;display:flex;flex-direction:column}
.node__step{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--slate);display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem
}
.node__step::before{content:"";width:1.4rem;height:2px;background:var(--lapis);flex:none}
.chain.flip .node__step::before{background:var(--rubric)}
.node__term{
  font-family:var(--display);font-size:clamp(1.5rem,2.6vw,1.85rem);font-weight:600;line-height:1.06;
  letter-spacing:-.02em;font-variation-settings:"opsz" 48;margin:0 0 .65rem;color:var(--lapis)
}
.chain.flip .node__term{color:var(--rubric)}
.node__gloss{font-size:.98rem;line-height:1.55;color:var(--ink);margin:0 0 1.15rem;max-width:none}
.node__cite{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--slate);margin:auto 0 .55rem;max-width:none
}
.node__works{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.node__works li{font-size:.85rem;line-height:1.4;color:var(--slate);padding-left:.9rem;position:relative}
.node__works li::before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;background:var(--rule-hard)}
.node__works cite{font-style:italic;color:var(--ink)}
.chain__swap{
  font-family:var(--mono);font-size:.76rem;letter-spacing:.05em;background:none;
  border:1px solid var(--rule-hard);color:var(--ink);padding:.6rem 1rem;cursor:pointer;
  min-height:44px;display:inline-flex;align-items:center;gap:.6rem;border-radius:2px
}
.chain__swap:hover{border-color:var(--rubric);color:var(--rubric)}
.chain.flip .chain__swap{border-color:var(--rubric);color:var(--rubric);background:var(--rubric-soft)}
.chain__swap .glyph{transition:transform .4s cubic-bezier(.65,0,.35,1)}
.chain.flip .chain__swap .glyph{transform:rotate(180deg)}
.chain__grid.pulse .node{animation:settle .42s cubic-bezier(.2,.7,.3,1) both}
.chain__grid.pulse .node:nth-child(2){animation-delay:.05s}
.chain__grid.pulse .node:nth-child(3){animation-delay:.1s}
.chain__grid.pulse .node:nth-child(4){animation-delay:.15s}
@keyframes settle{from{opacity:.15;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- VIDEO ---------- */
.vid{
  position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;
  border:1px solid var(--rule);cursor:pointer;width:100%;padding:0;display:block;
  overflow:hidden;color:#fff;text-align:left;border-radius:2px
}
.vid::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(6,10,16,.9))}
.vid__play{
  position:absolute;inset:0;margin:auto;width:4.5rem;height:3.2rem;border-radius:.5rem;
  background:rgba(158,43,27,.94);z-index:2;display:grid;place-items:center;
  transition:transform .22s,background .22s
}
.vid:hover .vid__play{transform:scale(1.09);background:#9E2B1B}
.vid__play svg{width:1.5rem;height:1.5rem;fill:#fff}
.vid__cap{position:absolute;left:0;right:0;bottom:0;padding:1.15rem;z-index:2}
.vid__cap strong{
  font-family:var(--display);font-size:clamp(1rem,1.9vw,1.3rem);font-weight:600;
  display:block;line-height:1.24;font-variation-settings:"opsz" 30
}
.vid__cap span{font-family:var(--mono);font-size:.7rem;color:rgba(255,255,255,.76);display:block;margin-top:.4rem}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.vidgrid{display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:1.25rem}
@media(min-width:56rem){.vidgrid{grid-template-columns:1fr 1fr}}

/* ---------- ROWS ---------- */
.rows{display:grid;border-top:1px solid var(--rule);margin-top:1.75rem}
.row{
  display:grid;gap:.35rem 2rem;grid-template-columns:1fr;padding-block:1.4rem;
  border-bottom:1px solid var(--rule);text-decoration:none;min-height:44px
}
a.row{transition:background .18s,padding-left .2s}
a.row:hover{background:var(--lapis-soft);padding-left:.7rem}
@media(min-width:52rem){.row--door{grid-template-columns:10rem 1fr auto;align-items:baseline}}
.door__who{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rubric)}
.door__what{font-size:1.06rem;line-height:1.45;margin:0;max-width:none}
.door__go{font-family:var(--mono);font-size:.74rem;color:var(--slate);white-space:nowrap}
.row--theme{grid-template-columns:1fr auto;align-items:baseline}
.theme__name{
  font-family:var(--display);font-size:1.24rem;font-weight:600;line-height:1.22;
  font-variation-settings:"opsz" 30
}
.theme__n{font-family:var(--mono);font-size:.73rem;color:var(--slate);white-space:nowrap}
.theme__note{grid-column:1/-1;font-size:.98rem;color:var(--slate);max-width:48rem;margin:.3rem 0 0;line-height:1.5}

/* ---------- WRITING ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.75rem 0 .5rem;align-items:center}
.filters__lbl{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-right:.35rem}
.chip{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.03em;background:none;
  border:1px solid var(--rule-hard);color:var(--slate);padding:.5rem .85rem;cursor:pointer;
  min-height:44px;display:inline-flex;align-items:center;border-radius:2px
}
.chip:hover{border-color:var(--lapis);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.count{font-family:var(--mono);font-size:.76rem;color:var(--slate);margin:.9rem 0 0}
.piece{
  display:grid;gap:.45rem 2rem;grid-template-columns:1fr;padding-block:1.45rem;
  border-bottom:1px solid var(--rule)
}
/* [hidden] must beat the display:grid above, or filtering silently fails */
[hidden]{display:none!important}
@media(min-width:52rem){.piece{grid-template-columns:9.5rem 1fr}}
.piece__meta{display:flex;flex-direction:column;gap:.4rem}
.tag{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.26rem .5rem;align-self:start;border:1px solid currentColor;line-height:1.4;border-radius:2px
}
.tag--peer{color:var(--lapis)}
.tag--chapter{color:var(--lapis)}
.tag--book{color:var(--lapis)}
.tag--essay{color:var(--rubric)}
.tag--audio{color:var(--slate)}
.piece__yr{font-family:var(--mono);font-size:.72rem;color:var(--slate)}
.piece__t{
  font-family:var(--display);font-size:1.18rem;font-weight:600;line-height:1.3;margin:0 0 .35rem;
  font-variation-settings:"opsz" 24;max-width:46rem
}
.piece__t a{text-decoration-color:var(--rule-hard);text-underline-offset:4px}
.piece__t a:hover{text-decoration-color:var(--rubric)}
.piece__src{font-family:var(--mono);font-size:.75rem;color:var(--slate);margin:0;max-width:none;line-height:1.6}
.linkset{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.75rem}
.linkset a{
  font-family:var(--mono);font-size:.74rem;text-decoration:none;border:1px solid var(--rule-hard);
  padding:.6rem .9rem;min-height:44px;display:inline-flex;align-items:center;border-radius:2px;color:var(--slate)
}
.linkset a:hover{border-color:var(--lapis);background:var(--lapis-soft);color:var(--ink)}

/* ---------- CARDS ---------- */
.cards{display:grid;gap:1.15rem;margin-top:1.75rem;grid-template-columns:1fr}
@media(min-width:46rem){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:70rem){.cards--3{grid-template-columns:repeat(3,1fr)}}
.card{
  border:1px solid var(--rule);border-top:3px solid var(--lapis);padding:1.35rem;
  background:var(--raise);display:flex;flex-direction:column;gap:.55rem;border-radius:2px
}
.card--mark{border-top-color:var(--rubric)}
.card__t{font-family:var(--display);font-size:1.1rem;font-weight:600;line-height:1.28;font-variation-settings:"opsz" 24;margin:0;max-width:none}
.card__m{font-family:var(--mono);font-size:.73rem;color:var(--slate);margin:0;line-height:1.65;max-width:none}
.card__lib{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.03em;color:var(--lapis);
  text-decoration:none;border-bottom:1px solid currentColor;align-self:start;padding-bottom:1px
}
.card__lib:hover{color:var(--rubric)}
.card__q{
  font-family:var(--body);font-size:1.02rem;line-height:1.5;color:var(--ink);
  margin:0;max-width:none;text-wrap:pretty
}
.eyebrow--h{font-size:.72rem;font-weight:500;margin:0 0 0;line-height:1.6;max-width:none}
.undernote{
  font-family:var(--mono);font-size:.75rem;line-height:1.8;color:var(--slate);
  margin-top:1.6rem;max-width:52rem
}
.undernote a{color:var(--lapis)}
.card__foot{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;color:var(--rubric);margin:auto 0 0;padding-top:.5rem;max-width:none}

/* ---------- PULL QUOTE ---------- */
.pull{border-left:3px solid var(--rubric);padding-left:1.5rem;margin:0}
.pull p{
  font-family:var(--display);font-size:clamp(1.2rem,2.3vw,1.55rem);line-height:1.34;
  font-weight:400;font-variation-settings:"opsz" 60;margin:0 0 .9rem;max-width:none
}
.pull footer{font-family:var(--mono);font-size:.75rem;line-height:1.75;color:var(--slate)}
.pull footer a{color:var(--lapis)}
.split{display:grid;gap:2.25rem;grid-template-columns:1fr;align-items:start}
@media(min-width:60rem){.split{grid-template-columns:1.05fr 1fr;gap:3.5rem}}
.plus{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.plus li{font-family:var(--mono);font-size:.8rem;line-height:1.65;padding-left:1.3rem;position:relative;color:var(--slate)}
.plus li::before{content:"+";position:absolute;left:0;color:var(--rubric)}
.plus a{color:var(--ink)}

/* ---------- TOPICS ---------- */
.topics{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:1.35rem}
.topics h3{margin-bottom:.35rem}
.topics p{font-size:.98rem;color:var(--slate);margin:0;line-height:1.5}
.venues{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.6rem}
.venues li{font-family:var(--mono);font-size:.79rem;color:var(--slate);line-height:1.6;padding-left:1.2rem;position:relative}
.venues li::before{content:"\2022";position:absolute;left:.2rem;color:var(--lapis)}

/* ---------- FORM ---------- */
.form{border:1px solid var(--rule);background:var(--raise);padding:1.6rem;border-radius:2px}
.form label{
  display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--slate);margin-bottom:.35rem
}
.form .opt{text-transform:none;letter-spacing:0;font-size:.72rem;color:var(--slate)}
.form input,.form select,.form textarea{
  width:100%;background:var(--paper);border:1px solid var(--rule-hard);color:var(--ink);
  font-family:var(--body);font-size:1rem;padding:.72rem .8rem;margin-bottom:1.05rem;
  border-radius:2px;min-height:48px
}
.form textarea{min-height:7rem;resize:vertical;line-height:1.5}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--rubric);outline-offset:1px}
.hide{position:absolute!important;left:-9999px}
.direct{font-family:var(--mono);font-size:.82rem;line-height:1.9;color:var(--slate);margin-top:1.25rem}
.direct a{color:var(--lapis)}

/* ---------- PRESS ---------- */
.bio{border:1px solid var(--rule);padding:1.35rem;background:var(--raise);display:flex;flex-direction:column;border-radius:2px}
.bio h3{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--rubric);font-weight:500;margin-bottom:.85rem
}
.bio p{font-size:.97rem;line-height:1.58;max-width:none;flex:1;margin-bottom:1.1rem}
.copy{
  font-family:var(--mono);font-size:.73rem;letter-spacing:.04em;background:none;
  border:1px solid var(--rule-hard);padding:.6rem .9rem;cursor:pointer;align-self:start;
  color:var(--ink);min-height:44px;display:inline-flex;align-items:center;border-radius:2px
}
.copy:hover{border-color:var(--lapis);background:var(--lapis-soft)}
.facts{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:.95rem}
.facts th,.facts td{text-align:left;vertical-align:top;padding:.75rem 1rem .75rem 0;border-bottom:1px solid var(--rule)}
.facts th{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--slate);font-weight:500;white-space:nowrap;width:14rem
}
.portrait{
  border:1px dashed var(--rule-hard);background:var(--lapis-soft);aspect-ratio:4/5;
  display:grid;place-items:center;padding:2rem;text-align:center;border-radius:2px
}
.portrait p{font-family:var(--mono);font-size:.78rem;color:var(--slate);line-height:1.7;max-width:none}

/* ---------- FOOTER ---------- */
.foot{border-top:1px solid var(--rule);background:var(--raise);padding-block:clamp(2.75rem,6vw,4rem) 2rem;margin-top:var(--gap)}
.foot__grid{display:grid;gap:2.25rem;grid-template-columns:1fr}
@media(min-width:52rem){.foot__grid{grid-template-columns:1.4fr 1fr 1fr}}
.foot h4,.foot .foot__h{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--slate);margin:0 0 .9rem;font-weight:500
}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-family:var(--mono);font-size:.79rem}
.foot a{color:var(--slate);text-underline-offset:3px}
.foot a:hover{color:var(--ink)}
.foot__ids{font-family:var(--mono);font-size:.75rem;color:var(--slate);line-height:1.9;margin:0;max-width:none}
.foot__note{
  font-family:var(--mono);font-size:.72rem;color:var(--slate);line-height:1.8;
  margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--rule);max-width:none;opacity:.85
}

/* ---------- PRE-LAUNCH ---------- */
.prelaunch{background:#FFF6E3;color:#4A3620;border-top:3px solid #9E2B1B;padding:1.5rem var(--pad);font-family:var(--mono);font-size:.75rem;line-height:1.85}
.prelaunch p{max-width:62rem;margin:0 0 .55rem}
.prelaunch b{color:#9E2B1B}
.prelaunch code{background:rgba(0,0,0,.06);padding:.1rem .3rem}

/* ---------- MOTION + PRINT ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
@media print{
  .hdr,.skip,.prelaunch,.btnrow,.form,.vid,.filters,.iconbtn,.copy{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .band{padding-block:1rem}
  a::after{content:" (" attr(href) ")";font-size:8pt;color:#555}
  .card,.bio{break-inside:avoid}
}


/* Civilizational Unity source-polish layer */
.hdr__id{letter-spacing:.02em}
.hdr__id::after{content:"Abdullah al-Ahsan";display:block;font-family:Spectral,Georgia,serif;font-size:.68rem;font-weight:400;letter-spacing:.08em;opacity:.72;margin-top:.08rem}
.provenance{max-width:72ch;margin:.75rem 0 1.5rem;padding:.9rem 1rem;border-left:2px solid currentColor;opacity:.82;font-size:.95rem}
.topic__request{margin:.35rem 0 .7rem;font-size:.92rem}
.topic__request a{text-decoration-thickness:1px;text-underline-offset:.2em}
.framework-quote{max-width:22ch;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,5vw,4.25rem);line-height:1.06;letter-spacing:-.025em;margin:1.5rem 0 2rem}
.framework-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule,#d9d5cf);border:1px solid var(--rule,#d9d5cf);margin:2rem 0}
.framework-card{background:var(--bg,#fbfaf8);padding:1.4rem;min-height:12rem}
.framework-card .eyebrow{margin-bottom:.6rem}
.source-note{font-size:.9rem;opacity:.78;max-width:76ch}
@media(max-width:760px){.framework-grid{grid-template-columns:1fr 1fr}.hdr__id::after{display:none}}
@media(max-width:480px){.framework-grid{grid-template-columns:1fr}}
@media print{.hdr,.foot,.btnrow,.no-print{display:none!important}.band,.hero{padding:1rem 0!important}.framework-quote{font-size:28pt}.framework-grid{grid-template-columns:repeat(4,1fr)}body{background:white!important;color:black!important}}


/* E2E expert-audit layer: trust, teaching, AEO and accessibility */
.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.75rem}
.answer-card{border:1px solid var(--rule);background:var(--raise);padding:1.4rem;display:flex;flex-direction:column;min-height:13rem}
.answer-card h3{margin-bottom:.7rem}.answer-card p{font-size:.98rem;line-height:1.55;color:var(--slate)}
.answer-card a{margin-top:auto;font-family:var(--mono);font-size:.76rem;color:var(--lapis);text-underline-offset:3px}
.access-note,.notice{max-width:52rem;margin:1rem 0 1.5rem;padding:1rem 1.1rem;background:var(--lapis-soft);border-left:3px solid var(--lapis);font-size:.93rem;line-height:1.6}
.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:1.75rem}
.method-step{background:var(--paper);padding:1.35rem;min-height:15rem;display:flex;flex-direction:column}
.method-step>span{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--rubric);margin-bottom:.75rem}
.method-step h3{margin-bottom:.65rem}.method-step p{font-size:.96rem;line-height:1.55}.method-step small{margin-top:auto;font-family:var(--mono);font-size:.7rem;line-height:1.55;color:var(--slate)}
.source-ladder{display:grid;gap:.75rem;margin-top:1.5rem;max-width:58rem}
.source-ladder article{border-left:3px solid var(--lapis);padding:.85rem 1rem;background:var(--raise)}
.source-ladder strong{font-family:var(--mono);font-size:.76rem;letter-spacing:.05em}.source-ladder p{font-size:.96rem;margin-top:.35rem}
.provenance--wide{max-width:58rem}.form-note{font-family:var(--mono);font-size:.7rem;line-height:1.55;color:var(--slate);margin:-.35rem 0 1rem}
.vid--playing{cursor:default}
@media(max-width:760px){.answer-grid,.method-grid{grid-template-columns:1fr}.answer-card,.method-step{min-height:0}}
