:root{
  --parchment:#f4ecdd;
  --paper:#fbf6ec;
  --ink:#2a201a;
  --ink-soft:#5b4c40;
  --oxblood:#8b1723;
  --oxblood-dark:#6b101a;
  --crimson:#a3164b;
  --navy:#1f3a5f;
  --rule:#cdbca0;
  --rule-soft:#e2d5bd;
  --measure:44rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"EB Garamond",Georgia,"Times New Roman",serif;
  font-size:1.135rem;
  line-height:1.66;
  color:var(--ink);
  background-color:var(--parchment);
  background-image:url('/images/fond-papier.jpg');
  background-size:600px auto;
  background-attachment:fixed;
  background-repeat:repeat;
}
body::before{
  content:"";position:fixed;inset:0;
  background:rgba(244,236,221,.86);
  z-index:-1;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--oxblood);text-underline-offset:.16em;text-decoration-thickness:.06em}
a:hover{color:var(--crimson)}

/* ---------- shell ---------- */
.shell{max-width:73rem;margin:0 auto;padding:0 1.6rem}
@media(max-width:34rem){.shell{padding:0 1.05rem}}

/* ---------- masthead ---------- */
.masthead{border-bottom:2px solid var(--oxblood);background:rgba(251,246,236,.9)}
.masthead-inner{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.6rem;padding:1.5rem 0 1.1rem;min-width:0}
.wordmark{font-family:"Cormorant Garamond","EB Garamond",Georgia,serif;font-weight:600;
  font-size:clamp(1.75rem,4.2vw,2.5rem);line-height:1.05;letter-spacing:.01em;color:var(--oxblood);
  text-decoration:none;min-width:0}
.wordmark:hover{color:var(--crimson)}
.wordmark small{display:block;font-family:"EB Garamond",Georgia,serif;font-size:.5em;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:.35rem}

/* ---------- nav (flex-wrap + min-width:0 so links can never be clipped) ---------- */
.sitenav{border-bottom:1px solid var(--rule);background:rgba(251,246,236,.72);position:static}
.sitenav ul{display:flex;flex-wrap:wrap;min-width:0;list-style:none;margin:0;padding:.55rem 0;gap:.15rem 1.35rem}
.sitenav li{min-width:0}
.sitenav a{display:inline-block;padding:.2rem 0;font-size:.86rem;letter-spacing:.11em;
  text-transform:uppercase;text-decoration:none;color:var(--ink-soft);white-space:nowrap}
.sitenav a:hover,.sitenav a[aria-current="page"]{color:var(--oxblood)}
.sitenav a[aria-current="page"]{border-bottom:2px solid var(--crimson)}

/* ---------- page head ---------- */
.pagehead{padding:3rem 0 1.4rem;text-align:center}
.kicker{font-size:.82rem;letter-spacing:.19em;text-transform:uppercase;color:var(--crimson);margin:0 0 .8rem}
h1{font-family:"Cormorant Garamond","EB Garamond",Georgia,serif;font-weight:600;
  font-size:clamp(2rem,5.4vw,3.15rem);line-height:1.12;margin:0;color:var(--oxblood-dark)}
.rule{width:5.5rem;height:2px;background:var(--crimson);margin:1.5rem auto 0;border:0}

/* ---------- figure ---------- */
figure.plate{margin:2.2rem 0 2.6rem}
figure.plate img{width:100%;border:1px solid var(--rule);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset}
figure.plate figcaption{font-size:.9rem;color:var(--ink-soft);font-style:italic;
  margin-top:.6rem;text-align:center;padding:0 .5rem}

/* ---------- prose ---------- */
main{padding-bottom:4rem}
.prose{max-width:var(--measure);margin:0 auto}
.prose.wide{max-width:60rem}
.prose h2{font-family:"Cormorant Garamond","EB Garamond",Georgia,serif;font-weight:600;
  font-size:clamp(1.45rem,3.1vw,1.95rem);line-height:1.2;color:var(--oxblood);
  margin:2.9rem 0 .9rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule-soft)}
.prose p{margin:0 0 1.15rem}
.prose > p:first-of-type{font-size:1.06em}
.lead{color:var(--ink)}
ul.plain{list-style:none;margin:0 0 1.4rem;padding:0}
ul.plain li{padding:.42rem 0 .42rem 1.15rem;border-bottom:1px dotted var(--rule-soft);position:relative}
ul.plain li::before{content:"\203A";position:absolute;left:0;top:.42rem;color:var(--crimson)}
ul.biblio{list-style:none;margin:0 0 1.6rem;padding:0;font-size:.99rem}
ul.biblio li{padding:.3rem 0 .3rem 1.5rem;text-indent:-1.5rem;line-height:1.5;color:var(--ink-soft)}
ul.biblio li:nth-child(odd){background:rgba(255,255,255,.28)}
.tome{background:var(--paper);border:1px solid var(--rule-soft);border-left:3px solid var(--crimson);
  padding:1.1rem 1.25rem .4rem;margin:1.5rem 0}
.tome h3{font-family:"Cormorant Garamond","EB Garamond",Georgia,serif;font-weight:600;font-size:1.2rem;
  letter-spacing:.03em;color:var(--oxblood);margin:0 0 .55rem}
blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.3rem;border-left:3px solid var(--rule);
  font-style:italic;color:var(--ink-soft)}

/* ---------- archive banner ---------- */
.notice{max-width:var(--measure);margin:0 auto 2.4rem;background:var(--paper);
  border:1px solid var(--rule);border-top:3px solid var(--oxblood);padding:1.1rem 1.3rem;
  font-size:.97rem;color:var(--ink-soft)}
.notice strong{color:var(--oxblood);font-weight:600}
.notice p{margin:0 0 .6rem}
.notice p:last-child{margin:0}

/* ---------- index cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.3rem;margin:2.2rem 0 1rem;padding:0;list-style:none}
.cards li{margin:0}
.cards a{display:block;height:100%;background:var(--paper);border:1px solid var(--rule-soft);
  padding:1rem 1.1rem;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.cards a:hover{border-color:var(--crimson);transform:translateY(-2px)}
.cards b{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.24rem;
  font-weight:600;color:var(--oxblood);margin-bottom:.3rem}
.cards span{font-size:.93rem;color:var(--ink-soft);line-height:1.45}

/* ---------- sources ---------- */
.sources{max-width:var(--measure);margin:2.8rem auto 0;padding-top:1.2rem;border-top:1px solid var(--rule)}
.sources h2{font-size:.85rem;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-soft);
  border:0;margin:0 0 .6rem;padding:0;font-family:"EB Garamond",Georgia,serif;font-weight:400}
.sources ul{list-style:none;margin:0;padding:0;font-size:.97rem}
.sources li{padding:.25rem 0}

/* ---------- footer ---------- */
footer{border-top:2px solid var(--oxblood);background:rgba(251,246,236,.92);padding:2.6rem 0 3rem;font-size:.95rem}
.footgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.6rem 2.2rem}
footer h2{font-size:.8rem;letter-spacing:.17em;text-transform:uppercase;color:var(--crimson);margin:0 0 .6rem;font-weight:400}
footer ul{list-style:none;margin:0;padding:0}
footer li{padding:.16rem 0}
footer a{color:var(--ink-soft);text-decoration:none}
footer a:hover{color:var(--oxblood);text-decoration:underline}
.colophon{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid var(--rule-soft);
  color:var(--ink-soft);font-size:.9rem;max-width:52rem}
.colophon p{margin:0 0 .55rem}

.skip{position:absolute;left:-9999px}
.skip:focus{left:.5rem;top:.5rem;position:fixed;background:var(--paper);padding:.6rem 1rem;z-index:99;border:1px solid var(--oxblood)}
