
:root{
  --cream:#f6f3ec;
  --paper:#fbfaf6;
  --ink:#11110f;
  --muted:#6c6962;
  --lav:#9e9bd7;
  --lav-soft:#cbc9e8;
  --ochre:#deb343;
  --ochre-soft:#ead59d;
  --line:#d8d3c9;
  --olive:#b6b48d;
  --rose:#d7aaa6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.45;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
.rail{
  position:fixed;left:0;top:0;bottom:0;width:72px;background:var(--lav);
  border-right:1px solid rgba(0,0,0,.2);z-index:20;
  display:flex;flex-direction:column;align-items:center;
}
.rail-mark{font:38px/1 Georgia,serif;margin-top:28px}
.rail-code{writing-mode:vertical-rl;transform:rotate(180deg);margin:auto 0;font-weight:700;letter-spacing:.14em}
.rail-arrow{font-size:32px;margin-bottom:30px}
.site{margin-left:72px}
.topbar{
  height:92px;padding:0 4vw;display:flex;align-items:center;gap:30px;
  background:rgba(246,243,236,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15;
}
.brand{display:flex;align-items:center;gap:16px;margin-right:auto}
.seal{width:82px;height:62px;object-fit:contain;mix-blend-mode:multiply}
.brand-text{font:52px/1 Georgia,'Times New Roman',serif;letter-spacing:-.035em}
nav{display:flex;gap:32px;align-items:center;flex-wrap:wrap}
nav a,.kicker,.date,.host,.section-head h2{
  text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700
}
.search{border:0;background:none;font-size:28px;cursor:pointer}
.hero{
  min-height:590px;display:grid;grid-template-columns:42% 58%;
  border-bottom:1px solid var(--line);
}
.hero-copy{padding:72px 5vw 60px 3.7vw;display:flex;flex-direction:column;justify-content:center}
.hero h1{
  font-size:clamp(54px,6vw,94px);line-height:.97;letter-spacing:-.055em;
  margin:0 0 32px;font-weight:600;
}
.host{margin-bottom:16px}
.motto{font:italic 22px/1.2 Georgia,'Times New Roman',serif;color:#5550ae}
.hero-image{margin:0;min-height:590px;overflow:hidden;background:#ddd}
.hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.section{padding:70px 4vw}
.section-head{display:flex;align-items:center;gap:20px;margin-bottom:30px}
.section-head h2{margin:0;white-space:nowrap}
.section-rule{height:1px;background:var(--line);flex:1}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--paper);border-bottom:1px solid #bbb;display:flex;flex-direction:column;min-height:470px}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card .card-copy{padding:23px 24px 28px;display:flex;flex-direction:column;gap:9px;flex:1}
.card h3,.news-row h3,.pub h3,.library-grid h3{font:28px/1.08 Georgia,'Times New Roman',serif;margin:0;font-weight:400}
.card p,.pub p,.library-grid p,.wide-copy p{margin:0;color:#34322e}
.card .arrow{margin-top:auto;font-size:24px}
.tint-lav{background:linear-gradient(var(--lav-soft),#ddd9ef)}
.tint-ochre{background:linear-gradient(var(--ochre-soft),#efe5cb)}
.tint-olive{background:linear-gradient(#c4c5a4,#e4e1cb)}
.wide-feature{
  margin:0 4vw 70px;display:grid;grid-template-columns:65% 35%;
  background:var(--ochre);
}
.wide-image{min-height:420px}.wide-image img{width:100%;height:100%;object-fit:cover;display:block}
.wide-copy{padding:55px;display:flex;flex-direction:column;justify-content:flex-end}
.wide-copy h2{font:46px/1 Georgia,serif;margin:10px 0 18px;font-weight:400}
.wide-copy a{margin-top:28px;text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
.news-row{padding:22px 0;border-top:1px solid var(--line)}
.news-row h3{margin-top:8px}
.date{color:#6d66bd;font-size:10px}
.pause-image{margin:0}.pause-image img{width:100%;aspect-ratio:1/1;object-fit:cover}
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.pub{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start}
.cover{aspect-ratio:.7;padding:18px;font:18px/1.2 Georgia,serif}
.cover span{font-size:13px}.ochre{background:#e7c350}.lavender{background:#c9c4e8}
.paper-thumb{width:120px;aspect-ratio:.7;object-fit:cover}
.fragment{
  margin:0 4vw 60px;padding:38px 5vw;background:#efeae0;text-align:center
}
.fragment p{font:italic 40px/1.1 Georgia,serif;margin:0 0 12px}
.fragment cite{text-transform:uppercase;letter-spacing:.13em;font-style:normal;font-size:10px}
.library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:20px}
.library-grid article{padding:25px;border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:230px}
.library-grid article:last-child{border-right:0}
.library-grid .kicker{margin-bottom:18px}
.library-grid a{display:inline-block;margin-top:20px;color:#5b55b4;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.muted{color:var(--muted)}
.image-break{margin-top:25px;height:420px;overflow:hidden}
.image-break img{width:100%;height:100%;object-fit:cover}
.about{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.seal-large{width:132px;height:100px}
.about-links{display:flex;gap:36px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}
footer{
  min-height:120px;background:var(--lav);padding:35px 4vw;
  display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;
  font-size:13px;border-top:1px solid rgba(0,0,0,.2)
}
.footer-links{text-align:right;text-transform:uppercase;letter-spacing:.09em;font-size:11px}
@media(max-width:980px){
  .rail{display:none}.site{margin-left:0}
  .topbar{height:auto;min-height:84px;flex-wrap:wrap;padding:16px 24px}
  nav{order:3;width:100%;gap:18px;padding-bottom:10px}
  .brand-text{font-size:42px}
  .hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:55px 28px}.hero-image{min-height:420px}
  .featured-grid,.pub-grid{grid-template-columns:1fr 1fr}
  .wide-feature,.split{grid-template-columns:1fr}
  .library-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  body{font-size:16px}
  .topbar nav{display:none}
  .seal{width:56px}.brand-text{font-size:38px}
  .hero h1{font-size:54px}
  .featured-grid,.pub-grid,.library-grid{grid-template-columns:1fr}
  .pub{grid-template-columns:90px 1fr}.paper-thumb{width:90px}
  .wide-copy{padding:35px}.wide-copy h2{font-size:38px}
  .fragment p{font-size:30px}
  footer{grid-template-columns:1fr;gap:12px}.footer-links{text-align:left}
}

.nowrap{white-space:nowrap}

/* Long-form publication */
.chapter-page{padding:0 4vw 90px}
.chapter-header{max-width:1100px;margin:0 auto;padding:62px 0 58px;border-bottom:1px solid var(--line)}
.chapter-book-cover{width:min(100%,900px);aspect-ratio:1;margin:44px auto 0;overflow:hidden}
.chapter-book-cover img{display:block;width:177.778%;max-width:none;height:100%;object-fit:cover;transform:translateX(-21.875%)}
.chapter-back,.chapter-kicker,.chapter-actions a{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.chapter-back{display:inline-block;margin-bottom:65px;color:#5952b2}
.chapter-kicker{margin-bottom:18px}
.chapter-number{margin:0 0 13px;font:400 24px/1 Georgia,'Times New Roman',serif;color:#5952b2}
.chapter-header h1{max-width:950px;margin:0;font:500 clamp(58px,8vw,112px)/.9 Georgia,'Times New Roman',serif;letter-spacing:-.055em}
.chapter-author{margin:26px 0 0;font-size:22px}
.chapter-standfirst{max-width:780px;margin:45px 0 30px;font:26px/1.35 Georgia,'Times New Roman',serif;color:#38352f}
.preprint-notice{max-width:780px;padding:20px 22px;border-left:5px solid var(--ochre);background:var(--paper)}
.preprint-notice strong{font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.preprint-notice p{margin:7px 0 0;color:#45413c}
.chapter-actions{display:flex;gap:30px;flex-wrap:wrap;margin-top:30px}
.chapter-actions a{color:#5952b2}
.chapter-body{max-width:760px;margin:65px auto 0;font:19px/1.7 Georgia,'Times New Roman',serif}
.chapter-body>p{margin:0 0 1.35em}
.chapter-body h2,.chapter-body h3{display:grid;grid-template-columns:74px minmax(0,1fr);gap:18px;align-items:baseline;scroll-margin-top:120px;color:var(--ink)}
.chapter-body h2{margin:2.05em 0 .8em;font:400 42px/1.05 Georgia,serif;letter-spacing:-.025em}
.chapter-body h3{margin:2em 0 .75em;font:400 30px/1.12 Georgia,serif}
.chapter-body h2 span{font:400 30px/1 Georgia,'Times New Roman',serif;letter-spacing:0;color:#5952b2}
.chapter-body h3 span{font:400 23px/1 Georgia,'Times New Roman',serif;letter-spacing:0;color:#5952b2}
.chapter-body blockquote{margin:1.8em 3.2vw;padding:0;background:transparent;border:0;font-size:18px;font-style:italic;line-height:1.62}
.chapter-body blockquote.source-quote{font-style:normal}
.chapter-body blockquote p{margin:.75em 0}
.chapter-figure{width:min(100%,650px);margin:3em auto;padding:20px;background:#d8d4e9}
.chapter-figure img{display:block;width:100%;height:auto;margin:auto;border:1px solid rgba(0,0,0,.18)}
.chapter-figure figcaption{width:100%;margin:12px auto 0;font:700 10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.chapter-figure>a{display:block;width:100%;margin:auto}
.chapter-figure>a img{width:100%}
.chapter-figure figcaption a{margin-left:16px;color:#514ba8}
.fiction-cover{width:245px;margin:8px 0 34px;background:var(--paper)}
.fiction-cover-right{float:right;margin-left:38px}
.fiction-cover-left{float:left;margin-right:38px}
.fiction-cover img{display:block;width:100%;height:auto}
.fiction-cover-white{background:#fff}
.fiction-cover-white img{filter:brightness(1.045)}
.chapter-citation{max-width:760px;margin:75px auto 0;padding-top:24px;border-top:4px solid var(--ink)}
.chapter-citation p{font-size:14px;line-height:1.55}
.chapter-citation a{text-decoration:underline;text-underline-offset:3px}
.chapter-citation .chapter-buy-link{display:inline-block;margin-top:12px;color:#5952b2;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:700px){
  .chapter-page{padding-inline:24px}
  .chapter-header{padding-top:38px}.chapter-book-cover{width:100%;margin-top:32px}.chapter-back{margin-bottom:42px}
  .chapter-header h1{font-size:58px}.chapter-standfirst{font-size:22px}
  .chapter-body{font-size:18px}.chapter-body h2{font-size:36px}.chapter-body h3{font-size:27px}
  .chapter-body h2,.chapter-body h3{grid-template-columns:64px 1fr;gap:12px}.chapter-body h2 span{font-size:26px}.chapter-body h3 span{font-size:21px}
  .chapter-body blockquote{margin-inline:12px;padding:16px 18px}
  .chapter-figure{width:100%;padding:12px}
  .fiction-cover,.fiction-cover-right,.fiction-cover-left{float:none;width:min(76%,275px);margin:8px auto 32px}
}


/* Publications page */
.pub-page{padding-bottom:40px}
.pub-intro{
  display:grid;grid-template-columns:1fr auto;align-items:end;
  padding:68px 4vw 34px;border-bottom:1px solid var(--line)
}
.pub-intro h1{
  margin:0;font:clamp(58px,7vw,104px)/.95 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;font-weight:500
}
.pub-host{padding-bottom:10px;text-align:right}
.lead-publication{
  margin:56px 4vw 72px;display:grid;
  grid-template-columns:290px minmax(240px,.8fr) minmax(340px,1.25fr);
  gap:38px;align-items:stretch
}
.lead-cover{min-height:420px}
.book-cover{
  background:#e6c34e;padding:28px;display:flex;flex-direction:column;
  border:1px solid rgba(0,0,0,.18)
}
.book-rule{height:2px;background:#111;margin-bottom:16px}
.book-series{font-size:10px;letter-spacing:.14em;font-weight:700}
.book-title{font:38px/.92 Georgia,serif;margin-top:auto;letter-spacing:-.03em}
.book-sub{font:18px/1.15 Georgia,serif;margin-top:14px}
.book-author{font-size:11px;letter-spacing:.14em;font-weight:700;margin-top:28px}
.lead-copy{
  padding:20px 0 18px;display:flex;flex-direction:column;justify-content:flex-end
}
.lead-copy h2{
  font:48px/1 Georgia,serif;font-weight:400;margin:10px 0 14px;letter-spacing:-.03em
}
.lead-copy p{margin:0 0 12px}
.lead-meta{margin-top:16px;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.text-link{margin-top:32px;color:#5952b2;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}
.lead-image{margin:0;min-height:420px;overflow:hidden}
.lead-image img{width:100%;height:100%;object-fit:cover;display:block}
.publication-list{margin:0 4vw 78px;border-top:1px solid var(--line)}
.publication-row{
  display:grid;grid-template-columns:90px 150px 1fr 180px;
  gap:26px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)
}
.pub-year,.pub-type{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.pub-type{color:#66615b}
.pub-title h3{margin:0 0 6px;font:30px/1.05 Georgia,serif;font-weight:400}
.pub-title p{margin:0;color:#45413c}
.pub-art{height:115px;overflow:hidden}
.pub-art img{width:100%;height:100%;object-fit:cover;display:block}
.typographic-panel{
  display:flex;align-items:center;justify-content:center;text-align:center;
  font:24px/1 Georgia,serif;border:1px solid rgba(0,0,0,.12)
}
.lavender-panel{background:var(--lav-soft)}
.ochre-panel{background:#e4bf4b}
.cream-panel{background:#ece7dc}
.pub-break{
  margin:0 4vw 76px;display:grid;grid-template-columns:1.15fr .85fr;
  min-height:390px;background:#d4d0e8
}
.pub-break figure{margin:0;overflow:hidden}
.pub-break figure img{width:100%;height:100%;object-fit:cover;display:block}
.break-copy{padding:48px;display:flex;flex-direction:column;justify-content:flex-end}
.break-copy h2{font:italic 42px/1.08 Georgia,serif;font-weight:400;margin:14px 0 22px}
.citation{text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.pub-footer-grid{
  margin:0 4vw 60px;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.pub-footer-grid article{padding:28px 26px 34px;border-right:1px solid var(--line)}
.pub-footer-grid article:last-child{border-right:0}
.pub-footer-grid h3{font:28px/1.05 Georgia,serif;font-weight:400;margin:14px 0 12px}
.pub-footer-grid p{margin:0;color:#4d4943}

@media(max-width:980px){
  .lead-publication{grid-template-columns:220px 1fr}
  .lead-image{grid-column:1/-1;min-height:360px}
  .publication-row{grid-template-columns:70px 120px 1fr 130px}
}
@media(max-width:700px){
  .pub-intro{grid-template-columns:1fr;gap:20px}
  .pub-host{text-align:left}
  .lead-publication{grid-template-columns:1fr}
  .lead-cover{max-width:320px}
  .lead-image{grid-column:auto}
  .publication-row{grid-template-columns:64px 1fr;gap:12px 18px}
  .pub-type{grid-column:2}
  .pub-title{grid-column:2}
  .pub-art{grid-column:1/-1;height:180px}
  .pub-break{grid-template-columns:1fr}
  .pub-footer-grid{grid-template-columns:1fr}
  .pub-footer-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .pub-footer-grid article:last-child{border-bottom:0}
}


/* Projects page */
.projects-intro{
  display:flex;justify-content:space-between;align-items:end;
  padding:64px 4vw 30px;border-bottom:1px solid var(--line)
}
.projects-intro h1{
  margin:0;font:clamp(58px,7vw,104px)/.95 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;font-weight:500
}
.project-feature{
  margin:52px 4vw 72px;display:grid;grid-template-columns:1.35fr .65fr;
  min-height:470px;background:#d1cde8
}
.project-feature-image{margin:0;overflow:hidden}
.project-feature-image img{width:100%;height:100%;object-fit:cover;display:block}
.project-feature-copy{padding:46px;display:flex;flex-direction:column;justify-content:flex-end}
.project-feature-copy h2{font:48px/1 Georgia,serif;font-weight:400;margin:10px 0 14px}
.project-feature-copy p{font:22px/1.25 Georgia,serif;margin:20px 0 0;max-width:14em}
.project-meta{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:700;color:#5a55ae}
.project-index{
  margin:0 4vw 78px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px
}
.project-card{
  background:var(--paper);border-bottom:1px solid #bbb;display:flex;flex-direction:column
}
.project-card-wide{grid-column:span 2}
.project-card img,.project-card-art{width:100%;aspect-ratio:4/2.8;object-fit:cover}
.project-card-art{display:flex;align-items:center;justify-content:center;font:88px/1 Georgia,serif}
.lavender-block{background:linear-gradient(135deg,#c8c3ea,#e7d79d)}
.project-card-copy{padding:22px 24px 26px}
.project-card-copy h3{font:30px/1.05 Georgia,serif;font-weight:400;margin:10px 0}
.project-card-copy p{margin:0;color:#3f3b36}
.project-break{
  margin:0 4vw 72px;display:grid;grid-template-columns:.7fr 1.3fr;background:#e2bf4b;min-height:390px
}
.project-break-text{padding:48px;display:flex;flex-direction:column;justify-content:flex-end}
.project-break-text h2{font:44px/1.02 Georgia,serif;font-weight:400;margin:12px 0 16px}
.project-break-code{text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.project-break figure{margin:0;overflow:hidden}
.project-break figure img{width:100%;height:100%;object-fit:cover;display:block}
.project-footer-grid{
  margin:0 4vw 58px;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.project-footer-grid article{padding:28px;border-right:1px solid var(--line)}
.project-footer-grid article:last-child{border-right:0}
.project-footer-grid h3{font:28px/1.05 Georgia,serif;font-weight:400;margin:14px 0 0}
@media(max-width:900px){
  .project-feature{grid-template-columns:1fr}
  .project-index{grid-template-columns:1fr 1fr}
  .project-card-wide{grid-column:span 2}
  .project-break{grid-template-columns:1fr}
}
@media(max-width:640px){
  .projects-intro{display:block}
  .projects-intro .host{margin-top:18px}
  .project-index{grid-template-columns:1fr}
  .project-card-wide{grid-column:auto}
  .project-footer-grid{grid-template-columns:1fr}
  .project-footer-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .project-footer-grid article:last-child{border-bottom:0}
}

/* v1.5 Projects lead correction: publication-like scale, no hero */
.project-feature{display:none}
.project-lead{
  margin:52px 4vw 66px;
  display:grid;grid-template-columns:minmax(300px,1fr) 310px;
  gap:48px;align-items:end;
  padding:0 0 42px;border-bottom:1px solid var(--line)
}
.project-lead-copy{max-width:660px;padding-top:34px}
.project-lead-copy h2{
  font:52px/1 Georgia,'Times New Roman',serif;font-weight:400;
  letter-spacing:-.035em;margin:12px 0 14px
}
.project-lead-copy p{font:22px/1.3 Georgia,serif;margin:22px 0 0}
.project-lead-art{margin:0;height:230px;overflow:hidden}
.project-lead-art img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){
 .project-lead{grid-template-columns:1fr}
 .project-lead-art{height:240px}
}


/* v1.6 Projects grid reset — equal editorial modules */
.projects-page .projects-title-row{
  padding:64px 4vw 30px;
  display:flex;justify-content:space-between;align-items:end;
  border-bottom:1px solid var(--line)
}
.projects-title-row h1{
  margin:0;
  font:clamp(58px,7vw,104px)/.95 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;font-weight:500
}
.projects-title-row .host{padding-bottom:10px}

.project-grid{
  margin:52px 4vw 70px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.project-tile{
  background:var(--paper);
  border-bottom:1px solid #bbb;
  min-height:465px;
  display:flex;
  flex-direction:column
}
.project-tile img,
.project-tile-art{
  width:100%;
  height:245px;
  object-fit:cover;
  display:block
}
.project-tile-art{
  background:linear-gradient(135deg,#c8c3ea 0%,#d8d2eb 48%,#e7cf77 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  font:86px/1 Georgia,'Times New Roman',serif
}
.project-tile-copy{
  padding:22px 24px 26px;
  flex:1;
  display:flex;
  flex-direction:column
}
.project-tile-copy h3{
  margin:10px 0 12px;
  font:30px/1.05 Georgia,'Times New Roman',serif;
  font-weight:400
}
.project-tile-copy p{margin:0;color:#403c37}

.engine-strip{
  margin:0 4vw 64px;
  padding:28px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px
}
.engine-strip h2{
  margin:10px 0 0;
  font:34px/1.05 Georgia,'Times New Roman',serif;
  font-weight:400
}
.engine-code{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  white-space:nowrap
}

/* Hide earlier project-layout structures left in CSS */
.projects-page .project-feature,
.projects-page .project-lead,
.projects-page .project-index,
.projects-page .project-break{display:none !important}

@media(max-width:900px){
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .projects-page .projects-title-row{display:block}
  .projects-title-row .host{padding:16px 0 0}
  .project-grid{grid-template-columns:1fr}
  .project-tile{min-height:0}
  .project-tile img,.project-tile-art{height:230px}
  .engine-strip{align-items:start;flex-direction:column}
}


/* News page */
.news-title-row{
  padding:64px 4vw 30px;
  display:flex;justify-content:space-between;align-items:end;
  border-bottom:1px solid var(--line)
}
.news-title-row h1{
  margin:0;
  font:clamp(58px,7vw,104px)/.95 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;font-weight:500
}
.news-title-row .host{padding-bottom:10px}

.news-lead-grid{
  margin:52px 4vw 26px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.news-lead-card{
  min-height:360px;
  padding:34px;
  border:1px solid var(--line);
  background:var(--paper);
  display:flex;
  flex-direction:column;
  justify-content:flex-end
}
.news-lead-card h2{
  margin:14px 0 12px;
  font:42px/1.02 Georgia,'Times New Roman',serif;
  font-weight:400;
  letter-spacing:-.025em
}
.news-lead-card p{margin:0;max-width:34em}
.image-card{padding:0;position:relative;overflow:hidden}
.image-card img{
  width:100%;height:100%;object-fit:cover;position:absolute;inset:0
}
.image-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.62) 100%)
}
.image-card-copy{position:relative;z-index:2;color:white;padding:32px}

.news-grid{
  margin:0 4vw 62px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}
.news-tile{
  min-height:250px;
  padding:26px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.18)
}
.news-tile h3{
  margin:12px 0 18px;
  font:28px/1.08 Georgia,'Times New Roman',serif;
  font-weight:400
}
.news-tile p{margin:0;color:#45413b}

.news-photo-strip{
  margin:0 4vw 62px;
  display:grid;grid-template-columns:1.15fr .85fr;
  min-height:330px;
  background:#d2cee8
}
.news-photo-strip figure{margin:0;overflow:hidden}
.news-photo-strip img{width:100%;height:100%;object-fit:cover;display:block}
.news-photo-strip > div{
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end
}
.news-photo-strip h2{
  margin:12px 0 14px;
  font:38px/1.05 Georgia,'Times New Roman',serif;
  font-weight:400
}
.news-photo-strip p{margin:0}

.news-small-grid{
  margin:0 4vw 60px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.news-small-grid article{padding:26px;border-right:1px solid var(--line)}
.news-small-grid article:last-child{border-right:0}
.news-small-grid h3{
  margin:12px 0 0;
  font:26px/1.05 Georgia,'Times New Roman',serif;
  font-weight:400
}

@media(max-width:850px){
  .news-lead-grid{grid-template-columns:1fr}
  .news-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .news-title-row{display:block}
  .news-title-row .host{padding:16px 0 0}
  .news-grid{grid-template-columns:1fr}
  .news-photo-strip{grid-template-columns:1fr}
  .news-small-grid{grid-template-columns:1fr}
  .news-small-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .news-small-grid article:last-child{border-bottom:0}
}


/* v1.8 Publications grid reset */
.publications-grid{
  margin:52px 4vw 70px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.publication-tile{
  background:var(--paper);
  border-bottom:1px solid #bbb;
  min-height:465px;
  display:flex;
  flex-direction:column
}
.publication-tile > img,
.publication-art{
  width:100%;
  height:245px;
  object-fit:cover;
  display:block
}
.publication-art{
  display:flex;
  align-items:center;
  justify-content:center;
  border:0
}
.publication-art-code{
  font:34px/1 Georgia,'Times New Roman',serif;
  text-align:center;
  letter-spacing:.02em
}
.book-mini{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:24px
}
.book-mini-title{
  font:34px/.92 Georgia,'Times New Roman',serif;
  letter-spacing:-.03em
}
.book-mini-author{
  margin-top:22px;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  font-weight:700
}
.publication-tile-copy{
  padding:22px 24px 26px;
  flex:1;
  display:flex;
  flex-direction:column
}
.publication-tile-copy h3{
  margin:10px 0 12px;
  font:30px/1.05 Georgia,'Times New Roman',serif;
  font-weight:400
}
.publication-tile-copy p{margin:0;color:#403c37}
.publication-tile-copy .text-link{margin-top:auto;padding-top:22px}

.publication-strip{
  margin:0 4vw 62px;
  padding:28px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:150px 1fr auto;
  align-items:center;
  gap:28px
}
.publication-strip blockquote{
  margin:0;
  font:italic 30px/1.1 Georgia,'Times New Roman',serif
}
.publication-strip .citation{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  white-space:nowrap
}

/* Hide the older irregular publication layouts if still present */
.pub-page .lead-publication,
.pub-page .publication-list,
.pub-page .pub-break{display:none !important}

@media(max-width:900px){
  .publications-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publication-strip{grid-template-columns:1fr;align-items:start}
}
@media(max-width:620px){
  .publications-grid{grid-template-columns:1fr}
  .publication-tile{min-height:0}
  .publication-tile > img,.publication-art{height:230px}
}


/* Library page */
.library-title-row{
  padding:64px 4vw 30px;
  display:flex;justify-content:space-between;align-items:end;
  border-bottom:1px solid var(--line)
}
.library-title-row h1{
  margin:0;
  font:clamp(58px,7vw,104px)/.95 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;font-weight:500
}
.library-title-row .host{padding-bottom:10px}

.library-grid-page{
  margin:52px 4vw 68px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.library-card{
  min-height:465px;
  background:var(--paper);
  border-bottom:1px solid #bbb;
  display:flex;
  flex-direction:column
}
.library-card > img,
.library-art{
  width:100%;
  height:245px;
  object-fit:cover;
  display:block
}
.library-art{
  display:flex;
  align-items:center;
  justify-content:center
}
.book-yellow{
  background:#e3be45;
  padding:24px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end
}
.library-book-title{
  font:34px/.92 Georgia,'Times New Roman',serif;
  letter-spacing:-.03em
}
.library-book-author{
  margin-top:22px;
  font-size:10px;
  letter-spacing:.13em;
  font-weight:700
}
.library-art-code{
  font:34px/1 Georgia,'Times New Roman',serif;
  text-align:center
}
.library-card-copy{
  padding:22px 24px 26px;
  flex:1;
  display:flex;
  flex-direction:column
}
.library-card-copy h3{
  margin:10px 0 12px;
  font:30px/1.05 Georgia,'Times New Roman',serif;
  font-weight:400
}
.library-card-copy p{margin:0;color:#403c37}
.library-card-copy .text-link{margin-top:auto;padding-top:22px}

.library-strip{
  margin:0 4vw 62px;
  padding:28px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:150px 1fr auto;
  gap:28px;
  align-items:center
}
.library-strip blockquote{
  margin:0;
  font:italic 30px/1.1 Georgia,'Times New Roman',serif
}
.library-strip .citation{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  white-space:nowrap
}

.library-small-grid{
  margin:0 4vw 60px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.library-small-grid article{
  padding:26px;
  border-right:1px solid var(--line)
}
.library-small-grid article:last-child{border-right:0}
.library-small-grid h3{
  margin:12px 0 0;
  font:26px/1.05 Georgia,'Times New Roman',serif;
  font-weight:400
}

@media(max-width:900px){
  .library-grid-page{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-strip{grid-template-columns:1fr;align-items:start}
}
@media(max-width:620px){
  .library-title-row{display:block}
  .library-title-row .host{padding:16px 0 0}
  .library-grid-page{grid-template-columns:1fr}
  .library-card{min-height:0}
  .library-card > img,.library-art{height:230px}
  .library-small-grid{grid-template-columns:1fr}
  .library-small-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .library-small-grid article:last-child{border-bottom:0}
}


/* v2.0 Library catalogue — mixed intellectual genealogy */
.library-catalogue{
  margin:52px 4vw 68px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}
.library-record{
  min-height:285px;
  display:grid;
  grid-template-columns:72px 1fr;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.16)
}
.library-record-mark{
  display:flex;align-items:center;justify-content:center;
  font:22px/1 Georgia,'Times New Roman',serif;
  border-right:1px solid rgba(0,0,0,.10)
}
.library-record-copy{
  padding:24px 22px;
  display:flex;flex-direction:column
}
.library-record-copy h3{
  margin:12px 0 10px;
  font:25px/1.07 Georgia,'Times New Roman',serif;
  font-weight:400
}
.library-record-copy p{margin:0;color:#403c37}
.library-year{
  margin-top:8px;color:#77716a;font-size:10px;
  text-transform:uppercase;letter-spacing:.12em
}
.library-record-copy .text-link{
  margin-top:auto;padding-top:22px;
  color:#5952b2;text-transform:uppercase;
  letter-spacing:.12em;font-size:10px;font-weight:700
}
.library-record-links{margin-top:auto;display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.library-record-links .text-link{margin-top:0}
.catalogue-status{
  margin-top:auto;padding-top:22px;
  color:#77716a;text-transform:uppercase;
  letter-spacing:.12em;font-size:9px;font-weight:700
}
.library-note{
  margin:0 4vw 60px;padding:28px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:150px 1fr;gap:28px
}
.library-note p{margin:0;font:24px/1.25 Georgia,'Times New Roman',serif;max-width:34em}

/* retire the first-pass library card grid */
.library-page .library-grid-page,
.library-page .library-small-grid{display:none!important}

@media(max-width:980px){
 .library-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .library-catalogue{grid-template-columns:1fr}
 .library-note{grid-template-columns:1fr}
}


/* Archive page — finding aid / institutional evidence */
.archive-title-row{
  padding:64px 4vw 30px;display:flex;justify-content:space-between;
  align-items:end;border-bottom:1px solid var(--line)
}
.archive-title-row h1{
  margin:0;font:clamp(58px,7vw,104px)/.95 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;font-weight:500
}
.archive-title-row .host{padding-bottom:10px}

.finding-aid{margin:52px 4vw 68px;border-top:1px solid var(--line)}
.finding-head,.archive-entry{
  display:grid;grid-template-columns:150px minmax(0,1fr) 120px 170px;
  column-gap:24px
}
.finding-head{
  padding:10px 0;border-bottom:1px solid var(--line);
  font-size:9px;font-weight:700;letter-spacing:.14em;color:#6b665f
}
.archive-entry{
  padding:23px 0;border-bottom:1px solid var(--line);align-items:start
}
.archive-ref,.archive-date,.archive-status{
  font-size:10px;letter-spacing:.11em;text-transform:uppercase
}
.archive-ref{font-weight:700;color:#5b55ae}
.archive-date,.archive-status{color:#69645e}
.archive-description h3{
  margin:8px 0 8px;font:27px/1.05 Georgia,'Times New Roman',serif;font-weight:400
}
.archive-description p{margin:0;max-width:52em;color:#403c37}
.featured-entry{padding:34px 0 38px;background:linear-gradient(90deg,rgba(208,203,234,.42),transparent 74%)}
.featured-entry .archive-description h2{
  margin:9px 0 12px;font:39px/1.02 Georgia,'Times New Roman',serif;font-weight:400
}
.featured-entry blockquote{
  margin:26px 0 0;padding-left:20px;border-left:2px solid #e1bd43;
  font:italic 24px/1.4 Georgia,'Times New Roman',serif
}

.archive-evidence{
  margin:0 4vw 68px;display:grid;grid-template-columns:360px 1fr;
  gap:48px;align-items:end;background:#d3cee8;padding:30px
}
.evidence-object{margin:0}
.evidence-object img{width:100%;height:245px;object-fit:cover;display:block}
.evidence-object figcaption{
  padding-top:9px;font-size:9px;letter-spacing:.12em;text-transform:uppercase
}
.evidence-note{padding:18px 24px 18px 0;max-width:650px}
.evidence-note p{
  margin:13px 0 0;font:30px/1.15 Georgia,'Times New Roman',serif
}
.evidence-note .hand-note{
  font-style:italic;font-size:22px;margin:28px 0 0 12%
}

.archive-correspondence{margin:0 4vw 68px;border-top:1px solid var(--line)}
.archive-correspondence-head{
  display:flex;justify-content:space-between;padding:14px 0 22px;
  text-transform:uppercase;letter-spacing:.11em;font-size:10px
}
.correspondence-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line)
}
.correspondence-grid article{
  min-height:210px;padding:25px;border-right:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.correspondence-grid h3{
  margin:18px 0 16px;font:27px/1.05 Georgia,'Times New Roman',serif;font-weight:400
}
.correspondence-grid p{margin:0;font:italic 18px/1.35 Georgia,serif}

.archive-footer-note{
  margin:0 4vw 60px;padding:28px 0;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:150px 1fr auto;gap:28px;align-items:center
}
.archive-footer-note p{margin:0;font:24px/1.2 Georgia,'Times New Roman',serif}
.archive-stamp{
  padding:9px 12px;border:1px solid #716b64;transform:rotate(-1.5deg);
  font-size:9px;letter-spacing:.14em;white-space:nowrap
}

@media(max-width:900px){
  .finding-head,.archive-entry{grid-template-columns:110px 1fr}
  .finding-head span:nth-child(3),.finding-head span:nth-child(4){display:none}
  .archive-date,.archive-status{grid-column:2;margin-top:10px}
  .archive-evidence{grid-template-columns:280px 1fr}
}
@media(max-width:650px){
  .archive-title-row{display:block}
  .archive-title-row .host{padding:16px 0 0}
  .finding-head{display:none}
  .archive-entry{grid-template-columns:1fr}
  .archive-ref,.archive-date,.archive-status{grid-column:auto;margin:0 0 10px}
  .archive-evidence{grid-template-columns:1fr}
  .correspondence-grid{grid-template-columns:1fr}
  .archive-footer-note{grid-template-columns:1fr}
}


/* About page */
.about-title-row{
  padding:64px 4vw 30px;display:flex;justify-content:space-between;
  align-items:end;border-bottom:1px solid var(--line)
}
.about-title-row h1{
  margin:0;font:clamp(58px,7vw,104px)/.95 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;font-weight:500
}
.about-title-row .host{padding-bottom:10px}

.about-opening{
  margin:52px 4vw 66px;
  display:grid;grid-template-columns:210px minmax(0,780px);
  gap:55px;align-items:start
}
.about-opening-mark{
  height:210px;display:flex;align-items:center;justify-content:center;
  background:#d0cbe9
}
.about-opening-mark img{width:128px;height:128px;object-fit:contain}
.about-opening-copy .about-large{
  margin:0 0 26px;font:clamp(38px,4.3vw,62px)/1.02 Georgia,'Times New Roman',serif;
  letter-spacing:-.035em
}
.about-opening-copy > p:last-child{
  margin:0;max-width:44em;font-size:18px;line-height:1.45
}

.about-principles{
  margin:0 4vw 72px;
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line)
}
.about-principles article{
  min-height:185px;padding:24px;border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);display:flex;flex-direction:column
}
.about-principles article p{
  margin:auto 0 0;font:26px/1.08 Georgia,'Times New Roman',serif
}

.about-text-grid{
  margin:0 4vw;
  display:grid;grid-template-columns:180px 1fr;
  border-top:1px solid var(--line)
}
.about-section-label{padding:28px 24px 28px 0}
.about-body{padding:28px 0 42px;max-width:920px}
.about-body > p{
  margin:0 0 18px;font:25px/1.28 Georgia,'Times New Roman',serif;max-width:36em
}
.people-row{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.people-row h3{
  margin:0 0 8px;font:28px/1.05 Georgia,'Times New Roman',serif;font-weight:400
}
.people-row p{margin:0;text-transform:uppercase;letter-spacing:.11em;font-size:9px}
.affiliation-copy .small-note{
  font:12px/1.4 sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#6d6861
}

.about-contact{
  margin:18px 4vw 64px;padding:34px;
  background:#e2bf4b;
  display:grid;grid-template-columns:1fr 1fr;gap:40px
}
.about-contact h2{
  margin:12px 0 0;font:38px/1.02 Georgia,'Times New Roman',serif;font-weight:400
}
.about-address p{margin:0 0 7px;font:20px/1.25 Georgia,'Times New Roman',serif}

@media(max-width:800px){
 .about-opening{grid-template-columns:150px 1fr}
 .about-opening-mark{height:150px}
 .about-opening-mark img{width:92px;height:92px}
 .about-principles{grid-template-columns:repeat(2,1fr)}
 .people-row{grid-template-columns:1fr}
}
@media(max-width:620px){
 .about-title-row{display:block}
 .about-title-row .host{padding:16px 0 0}
 .about-opening{grid-template-columns:1fr}
 .about-opening-mark{width:150px}
 .about-principles{grid-template-columns:1fr}
 .about-text-grid{grid-template-columns:1fr}
 .about-section-label{padding-bottom:8px}
 .about-contact{grid-template-columns:1fr}
}


/* v2.6 About reset — agreed restrained directory version */
.about-page .about-opening,
.about-page .about-principles,
.about-page .about-text-grid,
.about-page .about-contact{display:none!important}

.about-brief{
  margin:52px 4vw 72px;
  max-width:930px
}
.about-brief .about-intro{
  margin:0 0 28px;
  font:clamp(38px,4.3vw,62px)/1.04 Georgia,'Times New Roman',serif;
  letter-spacing:-.035em
}
.about-brief > p:last-child{
  margin:0;
  font:20px/1.4 Georgia,'Times New Roman',serif;
  max-width:36em
}

.about-directory{
  margin:0 4vw 68px;
  border-top:1px solid var(--line)
}
.about-directory-head{
  padding:14px 0 22px;
  display:flex;
  justify-content:space-between;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:10px
}
.directory-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}
.directory-grid article{
  min-height:180px;
  padding:25px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:flex-end
}
.directory-grid h2{
  margin:0 0 10px;
  font:30px/1.04 Georgia,'Times New Roman',serif;
  font-weight:400
}
.directory-grid p{
  margin:0;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#625d57
}

.about-visiting{
  margin:0 4vw 68px;
  padding:28px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:180px 1fr;
  gap:28px
}
.about-visiting p{
  margin:0;
  font:28px/1.15 Georgia,'Times New Roman',serif
}

.about-correspondence{
  margin:0 4vw 64px;
  padding:34px;
  background:#e2bf4b;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
  align-items:end
}
.about-correspondence h2{
  margin:12px 0 0;
  font:38px/1.02 Georgia,'Times New Roman',serif;
  font-weight:400
}
.about-correspondence p{
  margin:0 0 10px;
  font:20px/1.25 Georgia,'Times New Roman',serif
}
.about-correspondence .further-info{
  margin-top:30px;
  font-size:14px;
  font-style:italic
}

@media(max-width:800px){
  .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .directory-grid{grid-template-columns:1fr}
  .about-visiting{grid-template-columns:1fr}
  .about-correspondence{grid-template-columns:1fr}
}


/* v2.7 About: smaller editorial copy + abstract staff images */
.about-brief{
  margin:46px 4vw 58px;
  max-width:760px
}
.about-brief .about-intro{
  margin:0 0 18px;
  font:24px/1.34 Georgia,'Times New Roman',serif;
  letter-spacing:0
}
.about-brief > p:last-child{
  font:16px/1.45 Georgia,'Times New Roman',serif;
  max-width:42em
}

.directory-visual{
  grid-template-columns:repeat(5,minmax(0,1fr));
  border:0;
  gap:20px
}
.directory-visual article{
  min-height:0;
  padding:0 0 22px;
  border:0;
  border-bottom:1px solid var(--line);
  display:block
}
.directory-visual h2{
  margin:17px 0 7px;
  font:24px/1.04 Georgia,'Times New Roman',serif
}
.directory-visual p{
  min-height:28px;
  line-height:1.35
}
.staff-art{
  height:220px;
  position:relative;
  overflow:hidden;
  background:#d3cee8
}
.staff-art span,.staff-art i,.staff-art b{
  position:absolute;display:block;font-style:normal
}
.art-blythe{background:#e7c44d}
.art-blythe span{
  width:62%;height:62%;left:18%;top:18%;
  border:1px solid rgba(42,39,36,.55);transform:rotate(8deg)
}
.art-blythe i{
  width:38%;height:76%;right:8%;top:8%;
  background:rgba(238,235,221,.65);transform:rotate(-12deg)
}

.art-mensonge{background:#d0cbea}
.art-mensonge span{
  width:70%;height:1px;left:15%;top:34%;
  background:#4f4b48;box-shadow:0 18px #4f4b48,0 36px #4f4b48,0 54px #4f4b48
}
.art-mensonge i{
  width:34%;height:76%;left:42%;top:12%;
  border-left:1px solid #e2bd43;border-right:1px solid #e2bd43;transform:skew(-10deg)
}
.art-mensonge b{
  width:12px;height:12px;border-radius:50%;left:20%;bottom:18%;background:#e2bd43
}

.art-baldois{background:#eee9da}
.art-baldois span{
  width:58%;height:70%;left:12%;top:14%;
  background:rgba(207,201,232,.75);transform:rotate(-6deg)
}
.art-baldois i{
  width:52%;height:58%;right:9%;bottom:9%;
  border:1px solid #6c6760;transform:rotate(9deg)
}
.art-baldois b{
  width:68%;height:1px;left:17%;top:48%;background:#d4ad31;transform:rotate(-17deg)
}

.art-xiaoyu{background:#d2cdea}
.art-xiaoyu span{
  width:76px;height:76px;left:25%;top:27%;
  border:1px solid #514c48;border-radius:50%
}
.art-xiaoyu i{
  width:96px;height:96px;right:10%;top:17%;
  border:18px solid rgba(226,190,66,.72);transform:rotate(23deg)
}

.art-dennistoun{background:#e6c653}
.art-dennistoun span{
  width:54%;height:70%;left:20%;top:13%;
  background:rgba(238,234,217,.78);box-shadow:10px 10px 0 rgba(91,84,75,.18)
}
.art-dennistoun i{
  width:1px;height:78%;left:48%;top:11%;background:#5b554f;transform:rotate(18deg)
}
.art-dennistoun b{
  width:48%;height:1px;left:26%;bottom:28%;background:#5b554f;
  box-shadow:0 9px #5b554f,0 18px #5b554f
}

@media(max-width:1000px){
  .directory-visual{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .directory-visual{grid-template-columns:repeat(2,minmax(0,1fr))}
  .staff-art{height:190px}
}

/* v3.5 publication-cover overflow fix */
.cover{
  overflow:hidden;
  overflow-wrap:anywhere;
}
.cover.lavender{
  font-size:clamp(13px,1.05vw,18px);
  line-height:1.08;
}

/* v3.9 — homepage hero containment
   The hero may vary in source aspect ratio, but its displayed size must not take over the first screen. */
.home-hero,
.hero,
.hero-wrap,
.hero-image{
  max-height:min(58vh,620px);
}
.hero-image{
  overflow:hidden;
}
.hero-image img{
  display:block;
  width:100%;
  height:min(58vh,620px) !important;
  max-height:min(58vh,620px) !important;
  object-fit:cover;
  object-position:center;
}
@media (max-width:800px){
  .home-hero,
  .hero,
  .hero-wrap,
  .hero-image{max-height:46vh}
  .hero-image img{
    height:46vh !important;
    max-height:46vh !important;
  }
}

/* v4.1 — robust homepage hero presentation
   Keep the first screen balanced, remove grey letterbox bars, and never crop text-heavy hero assets. */
.hero{
  min-height:0;
  align-items:stretch;
}
.hero-copy{
  min-height:0;
}
.hero-image{
  margin:0;
  min-height:0 !important;
  height:clamp(360px,48vw,610px);
  max-height:610px;
  overflow:hidden;
  background:var(--cream) !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-image img{
  width:100%;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  background:var(--cream);
}

/* Wide photographic/abstract images can fill the frame; brochure/poster assets stay fully readable. */
.hero-image img.hero-fill{
  object-fit:cover !important;
}

@media (max-width:800px){
  .hero-image{
    height:clamp(300px,68vw,460px);
    max-height:460px;
  }
}

/* v4.8 — persistent site navigation on every content page */
.global-nav{width:100%;box-sizing:border-box}
.global-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:620px){
  .global-nav nav{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;scrollbar-width:thin}
  .global-nav nav a{white-space:nowrap}
  .global-nav .search{display:none}
}

/* v4.9 — live deployment visual cleanup
   Keep the approved hero system, but stop wide desktop hero images from overwhelming
   the first screen. Legacy small raster assets now have enhanced display copies; the
   originals remain untouched in /assets for archive/reuse. */
.hero-image{
  height:clamp(340px,32vw,500px);
  max-height:500px;
}
@media (max-width:800px){
  .hero-image{
    height:clamp(300px,68vw,440px);
    max-height:440px;
  }
}

/* v4.10 — homepage scale correction
   Keep the wide current-project feature, but make it an editorial band rather than a
   second hero. This prevents variable generated titles (e.g. The Anonymous Tutorial)
   from creating an oversized block beneath Featured. */
.wide-feature{
  grid-template-columns:minmax(0,56%) minmax(0,44%);
  min-height:0;
}
.wide-image{
  min-height:0;
  height:330px;
  overflow:hidden;
}
.wide-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.wide-copy{
  padding:38px 42px;
  justify-content:center;
}
.wide-copy h2{
  font-size:clamp(32px,3vw,43px);
}
@media (max-width:800px){
  .wide-feature{grid-template-columns:1fr;}
  .wide-image{height:300px;}
  .wide-copy{padding:34px 28px;}
}

/* v4.11 — Centre Wire / Live Dispatch
   Restrained generated block beneath the homepage hero. Hidden unless generation succeeds. */
.live-dispatch{
  margin:0;
  padding:30px 5.8% 34px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.16);
}
.live-dispatch[hidden]{display:none!important}
.live-dispatch-meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  font:700 11px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.live-dispatch h2{
  max-width:980px;
  margin:0 0 10px;
  font:400 31px/1.08 Georgia,'Times New Roman',serif;
}
.live-dispatch-story{
  max-width:980px;
  margin:0;
  font:17px/1.48 Arial,Helvetica,sans-serif;
}
.live-dispatch-dateline{
  font-weight:700;
  letter-spacing:.04em;
}
.live-dispatch-dateline:not(:empty)::after{content:' — '}
.live-dispatch-note{
  max-width:980px;
  margin:16px 0 0;
  padding-top:11px;
  border-top:1px solid var(--line);
  font:11px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:.05em;
  opacity:.65;
}
@media(max-width:700px){
  .live-dispatch{padding:24px 22px 27px}
  .live-dispatch h2{font-size:26px}
  .live-dispatch-story{font-size:16px}
}

/* v4.13 — homepage hero grid correction
   Bring the hero onto the same 4vw content grid as the rest of the homepage,
   reduce its visual weight, and guarantee breathing room between title and image. */
@media (min-width:801px){
  .hero{
    margin:0 4vw;
    grid-template-columns:minmax(0,44%) minmax(0,56%);
    column-gap:34px;
    border-bottom:1px solid var(--line);
  }
  .hero-copy{
    padding:52px 0 48px 0;
  }
  .hero h1{
    font-size:clamp(46px,4.65vw,72px);
    line-height:.98;
    letter-spacing:-.05em;
    margin-bottom:26px;
  }
  .hero-image{
    height:clamp(320px,29vw,440px);
    max-height:440px;
    align-self:center;
  }
}

/* v4.14 — Bulletin Board: lighter, shorter, closer to the News voice. */
.live-dispatch{padding-top:24px;padding-bottom:27px}
.live-dispatch-meta{margin-bottom:9px}
.live-dispatch-meta #dispatchGenerated{font-weight:400;letter-spacing:.1em;opacity:.55}
.live-dispatch-meta.is-updating #dispatchGenerated{opacity:.4}
.live-dispatch h2{font-size:clamp(25px,2.15vw,34px);margin-bottom:8px;max-width:1050px}
.live-dispatch-story{font-size:16px;line-height:1.42;max-width:900px}
.live-dispatch-note{margin-top:12px;padding-top:9px;font-size:10px;opacity:.5}

/* v4.15 — persistent Bulletin Board, compact two-column grid. */
.live-dispatch{
  margin:30px 4vw 0;
  padding:30px 0;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:42px;
  align-items:stretch;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:transparent;
}
.live-dispatch[hidden]{display:grid!important}
.live-dispatch-copy{
  padding:5px 0 3px;
  align-self:center;
}
.live-dispatch-meta{
  margin:0 0 18px;
}
.live-dispatch h2{
  max-width:760px;
  margin:0 0 15px;
  font-size:clamp(24px,1.9vw,31px);
  line-height:1.08;
}
.live-dispatch-story{
  max-width:700px;
  font-size:15px;
  line-height:1.4;
}
.live-dispatch-note{
  max-width:700px;
  margin-top:18px;
  padding-top:11px;
}
.live-dispatch-image{
  margin:0;
  min-height:210px;
  max-height:250px;
  overflow:hidden;
}
.live-dispatch-image img{
  width:100%;height:100%;display:block;object-fit:cover;
}
@media(max-width:800px){
  .live-dispatch{
    margin:24px 4vw 0;
    grid-template-columns:1fr;
    gap:22px;
    padding:25px 0;
  }
  .live-dispatch-image{min-height:180px;max-height:230px;order:2}
  .live-dispatch h2{font-size:26px}
  .live-dispatch-story{font-size:15px}
}

/* v4.16 — align hero and Bulletin Board columns; fixed Cerberus plate. */
@media (min-width:801px){
  .live-dispatch{
    grid-template-columns:minmax(0,44%) minmax(0,56%);
    column-gap:34px;
  }
  .live-dispatch-image{
    min-height:260px;
    max-height:320px;
    align-self:center;
    background:var(--paper);
  }
  .live-dispatch-image img{
    object-fit:contain;
    object-position:center;
  }
}

/* v4.17 — four-quadrant homepage refinement.
   Equal hero/bulletin columns, smaller centred images with generous paper around them,
   and a two-line title block whose shorter first line is deliberately larger so both
   lines read as one compact rectangular mark. */
@media (min-width:801px){
  .hero,
  .live-dispatch{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:0;
  }

  .hero{
    margin:0 4vw;
    min-height:500px;
  }
  .hero-copy,
  .live-dispatch-copy{
    box-sizing:border-box;
    padding-left:2.2vw;
    padding-right:4.2vw;
  }
  .hero-copy{
    padding-top:62px;
    padding-bottom:58px;
  }

  .hero-title{
    width:min(100%,510px);
    margin:0 0 32px !important;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    font-family:Arial,Helvetica,sans-serif;
    font-weight:700;
    text-transform:uppercase;
    line-height:.86 !important;
    letter-spacing:-.055em !important;
  }
  .hero-title-top,
  .hero-title-bottom{
    display:block;
    white-space:nowrap;
  }
  .hero-title-top{
    font-size:clamp(64px,5.2vw,88px);
  }
  .hero-title-bottom{
    font-size:clamp(46px,3.78vw,64px);
    margin-top:8px;
  }

  .hero-image,
  .live-dispatch-image{
    box-sizing:border-box;
    width:100%;
    height:auto;
    max-height:none;
    min-height:0;
    margin:0;
    padding:42px 5.5vw;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
    background:transparent !important;
  }
  .hero-image{
    min-height:500px;
  }
  .hero-image img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:365px !important;
    object-fit:contain !important;
    object-position:center !important;
    background:transparent;
  }

  .live-dispatch{
    margin:0 4vw;
    min-height:420px;
    padding:0;
    border-top:0;
  }
  .live-dispatch-copy{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:54px;
    padding-bottom:54px;
  }
  .live-dispatch-image{
    min-height:420px;
    max-height:none;
    padding-top:38px;
    padding-bottom:38px;
  }
  .live-dispatch-image img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:350px !important;
    object-fit:contain !important;
    object-position:center !important;
  }
}

@media (max-width:800px){
  .hero-title{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:.9;
    text-transform:uppercase;
  }
  .hero-title-top{font-size:clamp(48px,14vw,68px)}
  .hero-title-bottom{font-size:clamp(35px,10vw,50px);margin-top:6px}
  .hero-image img,
  .live-dispatch-image img{object-fit:contain !important}
}

/* v4.18 — content-led two-row homepage.
   The grid repeats the same text/image relationship without forcing equal-height quadrants.
   Images are contained within calm frames; mobile simply stacks the same components. */
@media (min-width:801px){
  .hero,
  .live-dispatch{
    box-sizing:border-box;
    margin-left:4vw;
    margin-right:4vw;
    display:grid;
    grid-template-columns:minmax(0,0.96fr) minmax(360px,1.04fr);
    column-gap:clamp(38px,4.2vw,76px);
    align-items:center;
    min-height:0;
  }

  .hero{
    padding:44px 0 46px;
    border-bottom:1px solid var(--rule,#d5d0c7);
  }
  .hero-copy{
    padding:18px 0 18px 2vw !important;
    display:block;
  }
  .hero-title{
    width:min(100%,570px);
    margin:0 0 30px !important;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    font-family:Arial,Helvetica,sans-serif;
    line-height:.94 !important;
    letter-spacing:-.045em !important;
  }
  .hero-title-top,
  .hero-title-bottom{
    display:block;
    white-space:nowrap;
  }
  .hero-title-top{
    font-size:clamp(55px,4.25vw,74px);
    font-weight:750;
    text-transform:uppercase;
  }
  .hero-title-bottom{
    margin-top:3px;
    font-size:clamp(46px,3.45vw,60px);
    font-weight:700;
    text-transform:none;
  }
  .hero-copy .host{margin-top:0}

  .hero-image{
    min-height:0 !important;
    width:100%;
    height:auto !important;
    margin:0;
    padding:16px clamp(18px,2vw,36px) !important;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:visible;
    background:transparent !important;
  }
  .hero-image img{
    display:block;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:330px !important;
    object-fit:contain !important;
    object-position:center !important;
  }

  .live-dispatch{
    padding:44px 0 48px !important;
    border-top:0;
    border-bottom:1px solid var(--rule,#d5d0c7);
  }
  .live-dispatch-copy{
    padding:10px 0 10px 2vw !important;
    display:block;
    align-self:center;
  }
  .live-dispatch-meta{margin-bottom:18px}
  .live-dispatch h2{
    font-size:clamp(30px,2.5vw,42px);
    line-height:1.08;
    max-width:620px;
    margin:0 0 16px;
  }
  .live-dispatch-story{
    max-width:620px;
    font-size:clamp(17px,1.18vw,20px);
    line-height:1.42;
  }
  .live-dispatch-note{max-width:620px}
  .live-dispatch-image{
    min-height:0 !important;
    max-height:none !important;
    width:100%;
    height:auto !important;
    margin:0;
    padding:12px clamp(18px,2vw,36px) !important;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:visible;
    background:transparent !important;
  }
  .live-dispatch-image img{
    display:block;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:360px !important;
    object-fit:contain !important;
    object-position:center !important;
  }
}

@media (max-width:800px){
  .hero,
  .live-dispatch{
    margin:0;
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
  }
  .hero{
    padding:34px 22px 38px;
    border-bottom:1px solid var(--rule,#d5d0c7);
  }
  .hero-copy{
    padding:0 !important;
  }
  .hero-title{
    width:100%;
    margin:0 0 24px !important;
    gap:1px;
    line-height:.96 !important;
    letter-spacing:-.045em !important;
  }
  .hero-title-top{
    font-size:clamp(42px,13vw,61px) !important;
    font-weight:750;
    text-transform:uppercase;
  }
  .hero-title-bottom{
    font-size:clamp(35px,10.8vw,51px) !important;
    font-weight:700;
    text-transform:none;
    margin-top:2px !important;
  }
  .hero-image{
    min-height:0 !important;
    margin:30px 0 0;
    padding:0 5vw !important;
    background:transparent !important;
  }
  .hero-image img{
    width:100% !important;
    height:auto !important;
    max-height:280px !important;
    object-fit:contain !important;
  }

  .live-dispatch{
    padding:34px 22px 38px !important;
    border-top:0;
    border-bottom:1px solid var(--rule,#d5d0c7);
  }
  .live-dispatch-copy{padding:0 !important}
  .live-dispatch-meta{margin-bottom:14px}
  .live-dispatch h2{font-size:clamp(27px,8vw,34px);line-height:1.08;margin-bottom:12px}
  .live-dispatch-story{font-size:16px;line-height:1.42}
  .live-dispatch-image{
    order:2;
    min-height:0 !important;
    max-height:none !important;
    margin:28px 0 0;
    padding:0 5vw !important;
    background:transparent !important;
  }
  .live-dispatch-image img{
    width:100% !important;
    height:auto !important;
    max-height:320px !important;
    object-fit:contain !important;
  }
}

/* v4.19 — image lockup + stronger bulletin typography */
.hero-title-image{width:min(100%,620px)!important;margin:0 0 24px!important;display:block!important;line-height:1!important}
.hero-title-image img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.live-dispatch h2{font-size:clamp(38px,3.2vw,56px)!important;line-height:1.02!important;letter-spacing:-.025em}
.live-dispatch-story{font-size:clamp(20px,1.45vw,25px)!important;line-height:1.38!important}
.live-dispatch-dateline{font-weight:700}
@media(max-width:800px){
 .hero-title-image{width:min(100%,520px)!important;margin-bottom:22px!important}
 .live-dispatch h2{font-size:clamp(32px,10vw,44px)!important}
 .live-dispatch-story{font-size:18px!important;line-height:1.4!important}
}

/* v4.20 — repaired two-band homepage + transparent title lockup.
   The page uses one calm two-column rhythm on desktop and a single stack on mobile. */
@media (min-width:801px){
  .hero,
  .live-dispatch{
    margin:0 !important;
    padding-left:4vw !important;
    padding-right:4vw !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:clamp(54px,5vw,96px) !important;
    align-items:center !important;
    min-height:0 !important;
  }
  .hero{
    padding-top:54px !important;
    padding-bottom:54px !important;
    border-bottom:1px solid var(--line) !important;
  }
  .hero-copy{
    padding:18px 0 18px 1.5vw !important;
    min-width:0;
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
  }
  .hero-title-image{
    width:min(96%,590px) !important;
    max-width:590px !important;
    margin:0 0 30px !important;
    line-height:1 !important;
  }
  .hero-title-image img{
    display:block;
    width:100% !important;
    height:auto !important;
    mix-blend-mode:normal !important;
  }
  .hero-copy .host{margin:0 0 16px !important}
  .hero-copy .motto{margin:0 !important}
  .hero-image{
    width:88% !important;
    max-width:650px !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:28px 0 !important;
    justify-self:center;
    display:flex !important;
    align-items:center;
    justify-content:center;
    overflow:visible !important;
    background:transparent !important;
  }
  .hero-image img{
    display:block;
    width:100% !important;
    height:auto !important;
    max-height:330px !important;
    object-fit:contain !important;
    object-position:center !important;
  }

  .live-dispatch{
    padding-top:56px !important;
    padding-bottom:60px !important;
    border-top:0 !important;
    border-bottom:1px solid var(--line) !important;
  }
  .live-dispatch-copy{
    padding:16px 0 16px 1.5vw !important;
    min-width:0;
    max-width:680px;
    align-self:center;
  }
  .live-dispatch-meta{margin-bottom:20px !important}
  .live-dispatch h2{
    font-size:clamp(40px,3.25vw,58px) !important;
    line-height:1.01 !important;
    letter-spacing:-.028em !important;
    margin:0 0 20px !important;
    max-width:650px;
  }
  .live-dispatch-story{
    max-width:650px !important;
    font-size:clamp(21px,1.5vw,26px) !important;
    line-height:1.38 !important;
    margin-bottom:22px !important;
  }
  .live-dispatch-note{max-width:650px !important}
  .live-dispatch-image{
    width:78% !important;
    max-width:535px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 auto !important;
    padding:18px 0 !important;
    justify-self:center;
    display:flex !important;
    align-items:center;
    justify-content:center;
    overflow:visible !important;
    background:transparent !important;
  }
  .live-dispatch-image img{
    display:block;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:470px !important;
    object-fit:contain !important;
    object-position:center !important;
  }
}

@media (max-width:800px){
  .hero,
  .live-dispatch{
    margin:0 !important;
    padding-left:22px !important;
    padding-right:22px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  .hero{
    padding-top:38px !important;
    padding-bottom:42px !important;
    border-bottom:1px solid var(--line) !important;
  }
  .hero-copy{padding:0 !important}
  .hero-title-image{
    width:min(100%,520px) !important;
    margin:0 0 26px !important;
  }
  .hero-title-image img{
    display:block;
    width:100% !important;
    height:auto !important;
    mix-blend-mode:normal !important;
  }
  .hero-image{
    width:88% !important;
    max-width:520px !important;
    min-height:0 !important;
    margin:34px auto 0 !important;
    padding:0 !important;
    background:transparent !important;
  }
  .hero-image img{
    width:100% !important;
    height:auto !important;
    max-height:300px !important;
    object-fit:contain !important;
  }

  .live-dispatch{
    padding-top:40px !important;
    padding-bottom:44px !important;
    border-top:0 !important;
    border-bottom:1px solid var(--line) !important;
  }
  .live-dispatch-copy{padding:0 !important}
  .live-dispatch-meta{margin-bottom:16px !important}
  .live-dispatch h2{
    font-size:clamp(35px,10.5vw,48px) !important;
    line-height:1.02 !important;
    margin:0 0 16px !important;
  }
  .live-dispatch-story{
    font-size:clamp(19px,5.2vw,23px) !important;
    line-height:1.4 !important;
    margin-bottom:20px !important;
  }
  .live-dispatch-image{
    width:86% !important;
    max-width:520px !important;
    min-height:0 !important;
    max-height:none !important;
    margin:34px auto 0 !important;
    padding:0 !important;
    background:transparent !important;
  }
  .live-dispatch-image img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }
}

/* v4.21 — optical CSAI identity + higher bulletin */
.brand .seal,.brand .brand-text{display:none!important}
.brand{display:flex!important;align-items:center!important;width:auto!important}
.brand-circle{display:block;width:48px;height:48px;object-fit:contain}
.hero-title-image{width:min(100%,720px)!important;max-width:720px!important;margin-bottom:22px!important}
.hero-title-image img{display:block;width:100%!important;height:auto!important;mix-blend-mode:multiply}
@media(min-width:801px){
  .hero{padding-top:30px!important;padding-bottom:30px!important}
  .hero-copy{padding-top:8px!important;padding-bottom:8px!important}
  .hero-title-image{width:min(100%,700px)!important;margin-bottom:18px!important}
  .hero-image{padding-top:12px!important;padding-bottom:12px!important}
  .hero-image img{max-height:290px!important}
  .live-dispatch{padding-top:34px!important;padding-bottom:48px!important}
}
@media(max-width:800px){
  .brand-circle{width:42px;height:42px}
  .hero{padding-top:24px!important;padding-bottom:28px!important}
  .hero-title-image{width:100%!important;margin-bottom:18px!important}
  .live-dispatch{padding-top:28px!important}
}

/* v4.23 — restore the institutional editorial grid from the publications reference */
:root{--home-gutter:36px;--home-left:35%;--home-right:65%}
@media (min-width:981px){
  .rail{width:74px;background:#aaa6d8}
  .site{margin-left:74px}
  .topbar{height:76px;padding:0 var(--home-gutter);background:rgba(246,243,236,.98)}
  .brand-circle{width:42px;height:42px}
  .topbar nav{gap:30px}

  .hero{
    min-height:0!important;
    height:360px!important;
    grid-template-columns:var(--home-left) var(--home-right)!important;
    padding:0!important;
    border-bottom:1px solid var(--line);
    background:var(--cream);
  }
  .hero-copy{
    padding:38px 36px 30px!important;
    justify-content:flex-start!important;
    border-right:1px solid var(--line);
  }
  .hero-title-image{width:100%!important;max-width:420px!important;margin:0 0 34px!important}
  .hero-title-image img{width:100%!important;height:auto!important}
  .host{margin-top:auto!important;margin-bottom:0!important;font-size:10px!important;letter-spacing:.16em}
  .hero-image{
    min-height:0!important;height:360px!important;
    padding:0!important;margin:0!important;
    background:#ddd;overflow:hidden;
  }
  .hero-image img{
    width:100%!important;height:100%!important;max-height:none!important;
    object-fit:cover!important;object-position:center!important;
  }

  .live-dispatch{
    margin:0!important;
    padding:0!important;
    min-height:360px;
    grid-template-columns:var(--home-left) var(--home-right)!important;
    gap:0!important;
    border-top:0!important;
    border-bottom:1px solid var(--line)!important;
    align-items:stretch!important;
  }
  .live-dispatch-copy{
    padding:42px 36px 34px!important;
    align-self:stretch!important;
    display:flex;flex-direction:column;justify-content:center;
    border-right:1px solid var(--line);
  }
  .live-dispatch-meta{margin:0 0 22px!important;color:#5751a9}
  .live-dispatch-meta span:first-child{color:var(--ink)}
  .live-dispatch h2{
    font:400 clamp(34px,3vw,48px)/1.02 Georgia,'Times New Roman',serif!important;
    letter-spacing:-.035em!important;margin:0 0 18px!important;max-width:560px!important;
  }
  .live-dispatch-story{
    font-size:clamp(17px,1.25vw,21px)!important;line-height:1.4!important;
    max-width:590px!important;margin:0!important;
  }
  .live-dispatch-note{margin-top:auto!important;padding-top:16px!important;font-size:9px!important;letter-spacing:.04em}
  .live-dispatch-image{
    margin:0!important;padding:34px 8%!important;
    min-height:360px!important;max-height:none!important;
    background:#eee9df!important;overflow:hidden!important;
    display:flex;align-items:center;justify-content:center;
  }
  .live-dispatch-image img{
    width:100%!important;height:100%!important;max-height:292px!important;
    object-fit:contain!important;object-position:center!important;
  }

  #projects.section{padding:52px 36px 64px!important}
  #projects .section-head{margin-bottom:24px}
  .featured-grid{gap:20px}
  .card{border:1px solid var(--line);min-height:430px}
  .card img{aspect-ratio:1/1;filter:saturate(.72) contrast(.96)}
  .card .card-copy{padding:18px 20px 22px}
  .card h3{font-size:24px}
  .wide-feature{margin:0 36px 64px!important}
}

@media (max-width:980px){
  .topbar{padding:14px 20px}
  .hero{display:block!important;height:auto!important;padding:0!important}
  .hero-copy{padding:30px 22px 24px!important;border-bottom:1px solid var(--line)}
  .hero-title-image{max-width:520px!important;margin:0 0 22px!important}
  .hero-image{height:42vw!important;min-height:260px!important;max-height:430px!important;padding:0!important}
  .hero-image img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}
  .live-dispatch{display:block!important;margin:0!important;padding:0!important;border-top:0!important}
  .live-dispatch-copy{padding:34px 22px 30px!important;border-bottom:1px solid var(--line)}
  .live-dispatch h2{font-size:clamp(34px,8vw,48px)!important}
  .live-dispatch-story{font-size:clamp(18px,4.5vw,22px)!important}
  .live-dispatch-image{margin:0!important;width:100%!important;max-width:none!important;padding:28px 12%!important;background:#eee9df!important}
  .live-dispatch-image img{width:100%!important;height:auto!important;max-height:430px!important;object-fit:contain!important}
  #projects.section{padding-top:44px!important}
}

/* v4.24 — Cerberus floats as an isolated object beside the Bulletin Board */
@media (min-width:981px){
  .live-dispatch{
    grid-template-columns:46% 54%!important;
    min-height:350px!important;
    background:var(--cream)!important;
  }
  .live-dispatch-copy{
    padding:40px 42px 34px 36px!important;
    border-right:0!important;
    justify-content:center!important;
  }
  .live-dispatch-image{
    margin:0!important;
    padding:24px 4.5vw 16px 2vw!important;
    min-height:350px!important;
    background:transparent!important;
    overflow:visible!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .live-dispatch-image img{
    width:auto!important;
    height:auto!important;
    max-width:min(88%,720px)!important;
    max-height:330px!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    mix-blend-mode:multiply;
    filter:contrast(1.02);
  }
}
@media (max-width:980px){
  .live-dispatch-image{
    background:transparent!important;
    padding:22px 8% 28px!important;
    overflow:visible!important;
  }
  .live-dispatch-image img{
    width:auto!important;
    max-width:92%!important;
    height:auto!important;
    max-height:430px!important;
    object-fit:contain!important;
    mix-blend-mode:multiply;
  }
}


/* v4.25 — restore persistent optical home mark and Dispatches editorial aesthetic */
.dispatch-page{padding-bottom:48px;background:var(--cream)}
.dispatch-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:40px;align-items:end;padding:54px 4vw 42px;border-bottom:1px solid var(--line)}
.dispatch-intro h1{font:400 clamp(64px,9vw,132px)/.82 Georgia,'Times New Roman',serif;letter-spacing:-.055em;margin:18px 0 0}
.dispatch-intro-note{max-width:390px;justify-self:end;padding-bottom:8px}
.dispatch-intro-note .host{font-size:10px;letter-spacing:.16em;margin-bottom:18px;color:#5751a9}
.dispatch-intro-note p{margin:0;font-size:15px;line-height:1.45;color:#45413c}
.dispatch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 4vw 68px;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.dispatch-card{display:grid;grid-template-rows:148px 1fr;min-height:390px;color:var(--ink);text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream);transition:transform .12s ease,background .12s ease}
.dispatch-card:hover{background:#f0ece4}
.dispatch-art{position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;padding:14px 16px}
.dispatch-art span{font:700 11px/1 Arial,sans-serif;letter-spacing:.16em}
.dispatch-art-lavender{background:#aaa6d8}
.dispatch-art-ochre{background:#d4aa57}
.dispatch-art-graphite{background:repeating-linear-gradient(135deg,#222 0 1px,#ebe7dd 1px 8px)}
.dispatch-art-graphite span{background:var(--cream);padding:3px 5px}
.dispatch-art-cream{background:linear-gradient(90deg,transparent 49.7%,#8d8981 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,#8d8981 50%,transparent 50.3%),#eee9df}
.dispatch-card-copy{padding:20px 20px 26px;display:flex;flex-direction:column}
.dispatch-card-copy .kicker{color:#5751a9}
.dispatch-card h2{font:400 clamp(25px,2.1vw,34px)/1.02 Georgia,'Times New Roman',serif;letter-spacing:-.025em;margin:18px 0 12px}
.dispatch-card p{font-size:15px;line-height:1.4;color:#49453f;margin:auto 0 0}
.dispatch-strip{margin:0 4vw 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0 38px;display:grid;grid-template-columns:180px 1fr 240px;gap:34px;align-items:start}
.dispatch-strip blockquote{font:italic 30px/1.15 Georgia,'Times New Roman',serif;margin:0;max-width:780px}
.dispatch-strip .citation{font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.11em;color:#6a655f;padding-top:5px}
@media(max-width:980px){
  .dispatch-intro{grid-template-columns:1fr;padding:40px 24px 32px;gap:22px}
  .dispatch-intro-note{justify-self:start;max-width:520px}
  .dispatch-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 24px 50px}
  .dispatch-strip{margin:0 24px 34px;grid-template-columns:1fr;gap:16px}
}
@media(max-width:640px){
  .dispatch-intro h1{font-size:clamp(58px,20vw,92px)}
  .dispatch-grid{grid-template-columns:1fr;margin:0 18px 42px}
  .dispatch-card{grid-template-rows:112px 1fr;min-height:315px}
  .dispatch-card h2{font-size:30px}
  .dispatch-strip{margin:0 18px 28px}
  .dispatch-strip blockquote{font-size:25px}
}


/* CSAI v5.0 — dynamic curation cues on stable collection pages */
.collection-current{position:relative;box-shadow:inset 0 5px 0 #aaa2ff;background:rgba(170,162,255,.055)}
.collection-current-label{position:absolute;z-index:2;top:10px;right:12px;font:600 10px/1.15 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#5751a9;background:var(--cream);padding:5px 7px;border:1px solid var(--line)}
.library-record.collection-current{padding-top:34px}
.publication-tile.collection-current{padding-top:28px}
.dispatch-card.dispatch-promoted{box-shadow:inset 0 5px 0 #aaa2ff;background:#f4f0ea}
@media(max-width:700px){.collection-current-label{top:8px;right:8px;font-size:9px}.library-record.collection-current,.publication-tile.collection-current{padding-top:38px}}

/* v5.2 — hero images are treated as complete plates, never crops.
   Variable source ratios sit inside the hero field with breathing room. */
.hero-image{
  background:var(--cream)!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.hero-image img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (min-width:981px){
  .hero-image{padding:18px 22px!important;box-sizing:border-box!important}
}
@media (max-width:980px){
  .hero-image{height:auto!important;min-height:0!important;max-height:none!important;padding:18px 20px!important;box-sizing:border-box!important}
  .hero-image img{height:auto!important;max-height:430px!important}
}


/* v5.3 — refresh-safe Projects + mobile hero containment.
   Netlify may expose Projects with a clean URL, so JS detects the page from its DOM.
   On mobile, explicitly release the old 46vh hero cap so contained images remain in flow
   and can never spill across the Bulletin Board below. */
@media (max-width:980px){
  .hero{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .hero-copy,
  .hero-image{
    position:relative;
    z-index:0;
  }
  .hero-image{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .hero-image img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:430px!important;
    object-fit:contain!important;
  }
  .live-dispatch{
    position:relative;
    z-index:1;
    clear:both;
  }
}


/* v5.5 — staff research artefacts */
.directory-visual{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.staff-artifact{height:238px;background:#eee9df;border:1px solid var(--line);overflow:hidden}
.staff-artifact svg{display:block;width:100%;height:100%}
.staff-artifact .tiny{font:600 8px/1 Arial,sans-serif;letter-spacing:1.2px;fill:#2a2724}
.staff-artifact .micro{font:600 6.5px/1 Arial,sans-serif;letter-spacing:.6px;fill:#2a2724}
.staff-artifact .dark{fill:#2a2724}.staff-artifact .accent{fill:#6259a9}
.art-blythe{background:#e4c14c}.art-blythe .paper{fill:#eee9df;stroke:#2a2724;stroke-width:.7}.art-blythe .spec-grid{stroke:#b6aa83;stroke-width:.6}.art-blythe .inkbox{fill:#2a2724}.art-blythe .eye{fill:#eee9df;stroke:#6259a9;stroke-width:2}.art-blythe .feather{fill:none;stroke:#2a2724;stroke-width:2}.art-blythe .mirror{fill:#d2cdea;stroke:#2a2724}.art-blythe .brain{fill:#d2cdea;stroke:#2a2724}.art-blythe .badge{fill:none;stroke:#2a2724}.art-blythe .tool{fill:#6259a9}
.art-mensonge{background:#cbc5e5}.art-mensonge .cabinet{fill:#eee9df;stroke:#2a2724}.art-mensonge .drawer rect{fill:#e4c14c;stroke:#2a2724;stroke-width:.8}.art-mensonge .handle{stroke:#2a2724;stroke-width:2}.art-mensonge .card{fill:#fffdf4;stroke:#2a2724;stroke-width:.8}
.art-baldois{background:#eee9df}.art-baldois .source{fill:#e4c14c;stroke:#2a2724}.art-baldois .branches{fill:none;stroke:#6259a9;stroke-width:1.5}.art-baldois .nodes>*{fill:#cbc5e5;stroke:#2a2724;stroke-width:.8}
.art-xiaoyu{background:#cbc5e5}.art-xiaoyu .device-shadow{fill:#a9a3bd;opacity:.35}.art-xiaoyu .device{fill:#eee9df;stroke:#2a2724;stroke-width:1.2}.art-xiaoyu .screen{fill:#2a2724}.art-xiaoyu .wave{fill:none;stroke:#e4c14c;stroke-width:2}.art-xiaoyu .dial{fill:#e4c14c;stroke:#2a2724}.art-xiaoyu .dot,.art-xiaoyu .portdot{fill:#2a2724}.art-xiaoyu .port{fill:#6259a9}.art-xiaoyu .antenna{stroke:#2a2724;stroke-width:2}.art-xiaoyu .stamp{font:700 10px Arial,sans-serif;fill:#6259a9;letter-spacing:1px}
.art-dennistoun{background:#e4c14c}.art-dennistoun .desk{fill:#2a2724}.art-dennistoun .book{fill:#6259a9}.art-dennistoun .book2{fill:#eee9df;stroke:#2a2724}.art-dennistoun .laptop{fill:#cbc5e5;stroke:#2a2724;stroke-width:1.2}.art-dennistoun .screen2{fill:#2a2724}.art-dennistoun .graph{fill:none;stroke:#e4c14c;stroke-width:1.6}.art-dennistoun .keyboard{fill:#77716a}.art-dennistoun .cable{fill:none;stroke:#2a2724;stroke-width:2}.art-dennistoun .borrowed{fill:#eee9df;stroke:#2a2724}.art-dennistoun .cup{fill:#eee9df;stroke:#2a2724}.art-dennistoun .card2{fill:#eee9df;stroke:#2a2724}.art-dennistoun .photo{fill:#6259a9}
.art-aleksieieva{background:#eee9df}.art-aleksieieva .exercise{fill:#fffdf6;stroke:#2a2724;stroke-width:.8}.art-aleksieieva .head{font:700 10px Arial,sans-serif;letter-spacing:1.1px}.art-aleksieieva .sentence{stroke:#9d9890;stroke-width:1}.art-aleksieieva .choice{fill:none;stroke:#2a2724;stroke-width:1}.art-aleksieieva .answer{fill:none;stroke:#6259a9;stroke-width:2}.art-aleksieieva .uncertain{fill:none;stroke:#e0b72f;stroke-width:2;stroke-dasharray:4 3}
@media(max-width:950px){.directory-visual{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.directory-visual{grid-template-columns:1fr}.staff-artifact{height:auto;aspect-ratio:4/3}}

/* v5.5 — public bulletin preservation */
.bulletin-preserve{margin-top:18px;padding-top:14px;border-top:1px solid rgba(42,39,36,.25);display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.bulletin-save{appearance:none;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:10px 14px;font:600 10px/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.bulletin-save:hover{background:var(--ink);color:#eee9df}.bulletin-save:disabled{opacity:.45;cursor:default}.bulletin-save:focus-visible{outline:2px solid #6259a9;outline-offset:3px}
.bulletin-votes{font:10px/1.35 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#625d57}.bulletin-archive-link{font:10px/1.35 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#6259a9}

/* v5.5 — stable corpus / bulletin archive */
.corpus-page{padding:46px 4vw 80px}.corpus-head{display:grid;grid-template-columns:1fr minmax(260px,520px);gap:40px;align-items:end;margin-bottom:42px}.corpus-head h1{margin:0;font:clamp(54px,8vw,112px)/.88 Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}.corpus-head p{margin:0;font:18px/1.45 Georgia,'Times New Roman',serif}.corpus-index{border-top:1px solid var(--line)}.corpus-record{display:grid;grid-template-columns:150px minmax(0,1fr) 180px;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.corpus-record h2{margin:0 0 7px;font:28px/1.05 Georgia,'Times New Roman',serif;font-weight:400}.corpus-record p{margin:0;max-width:52em;line-height:1.45}.corpus-meta,.corpus-type{font:9px/1.35 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#625d57}.corpus-record a{color:inherit;text-decoration:none}.corpus-record a:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.archive-empty{padding:30px 0;border-bottom:1px solid var(--line);font:22px/1.3 Georgia,'Times New Roman',serif}.entry-page{max-width:980px;padding:60px 4vw 100px}.entry-kicker{font:9px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#6259a9}.entry-page h1{font:clamp(48px,7vw,90px)/.95 Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em;margin:16px 0 24px}.entry-story{font:clamp(23px,2.6vw,34px)/1.35 Georgia,'Times New Roman',serif}.entry-data{margin-top:45px;padding-top:18px;border-top:1px solid var(--line);font:9px/1.7 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#625d57}
.corpus-link-row{margin:22px 0 0;font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}.corpus-link-row a{color:#6259a9}
@media(max-width:720px){.corpus-head{grid-template-columns:1fr}.corpus-record{grid-template-columns:1fr;gap:8px}.corpus-type{text-align:left}.entry-page{padding-top:42px}}

/* v5.6 — photographic staff artefacts + bulletin archive explainer */
.staff-artifact{height:238px;background:#eee9df;border:1px solid var(--line);overflow:hidden}
.staff-artifact img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(.96) brightness(1.02)}
.bulletin-preserve{display:block}
.bulletin-preserve-explainer{max-width:640px;margin:0 0 12px;font:15px/1.45 Georgia,'Times New Roman',serif;color:var(--ink)}
.bulletin-preserve-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
@media(max-width:650px){.staff-artifact{height:auto;aspect-ratio:1.6/1}.bulletin-preserve-explainer{font-size:14px}}


/* v5.7 — restored staff biographies + contemporary photographic treatment */
.directory-visual article .staff-bio{
  margin-top: .75rem;
  max-width: 34rem;
  font-size: .98rem;
  line-height: 1.55;
  color: var(--ink, #171717);
}
.staff-artifact img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* Most of the Centre should look unmistakably contemporary, not uniformly archival. */
.art-blythe img,
.art-baldois img,
.art-xiaoyu img,
.art-dennistoun img,
.art-aleksieieva img{
  filter: saturate(1.12) contrast(1.03) brightness(1.06);
}
/* Mensonge's archive is the one image where a slightly aged documentary quality is intentional. */
.art-mensonge img{
  filter: saturate(.78) contrast(1.04) brightness(1.01);
}

/* v5.8 — staff biographies are prose, not labels */
.directory-visual article .staff-bio {
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* v5.10 — contemporary staff photography: no blanket archival/sepia grading */
.art-blythe img,.art-mensonge img,.art-baldois img,.art-xiaoyu img,.art-dennistoun img,.art-aleksieieva img{filter:none !important;}

/* v5.11 — restore full Centre name in global masthead */
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand-name{font-size:12px;line-height:1.05;letter-spacing:.08em;text-transform:uppercase;font-weight:700;white-space:nowrap}
@media (max-width:720px){.brand-name{font-size:10px;letter-spacing:.06em}}

/* v5.14 — mobile navigation audit/fix.
   Show the complete primary navigation on small screens instead of hiding it or
   making the remaining links discoverable only by horizontal scrolling. */
@media (max-width:620px){
  .topbar{padding:14px 18px 12px;gap:12px;align-items:center}
  .global-nav nav{
    display:flex!important;
    order:3;
    width:100%;
    overflow:visible!important;
    flex-wrap:wrap!important;
    gap:8px 16px;
    padding:2px 0 4px;
  }
  .global-nav nav a{
    white-space:nowrap;
    font-size:10px;
    line-height:1.25;
    letter-spacing:.10em;
  }
  .global-nav .search{display:none!important}
  .brand{margin-right:auto;gap:10px}
  .brand-circle{width:38px;height:38px}
  .brand-name{font-size:10px;line-height:1.05}
}
