/* ==========================================================================
   Archivo Penelas — independent documentary reference
   Visual system: literary-review / bibliographic archive.
   Serif throughout, brick red on parchment, hairline rules, sharp corners,
   no shadows, no rounded cards. Deliberately unlike a personal blog.
   ========================================================================== */

:root{
  --brick:#a62f2f;
  --brick-dark:#8e3838;
  --brick-deep:#6f2323;
  --accent:#c20000;
  --paper:#fff9f6;
  --parchment:#f0e2d3;
  --parchment-soft:#f7ede2;
  --parchment-deep:#e6d3bf;
  --ink:#333333;
  --ink-soft:#4a423e;
  --muted:#616161;
  --rule:#bbbbbb;
  --hairline:#ddcdb9;
  --measure:70ch;
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  font-family:"Spectral","Georgia","Times New Roman",serif;
  font-size:17px;
  line-height:1.72;
  color:var(--ink);
  background-color:var(--parchment);
  background-image:
    repeating-linear-gradient(0deg, rgba(120,80,50,.035) 0 1px, rgba(0,0,0,0) 1px 4px),
    repeating-linear-gradient(90deg, rgba(120,80,50,.03) 0 1px, rgba(0,0,0,0) 1px 5px);
}

img{max-width:100%;height:auto;display:block;}

a{color:var(--brick);text-decoration:none;border-bottom:1px solid rgba(166,47,47,.35);}
a:hover,a:focus{color:var(--brick-deep);border-bottom-color:var(--brick-deep);background:rgba(166,47,47,.06);}

:focus-visible{outline:2px solid var(--brick);outline-offset:2px;}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

/* Skip link ------------------------------------------------------------- */
.skip{
  position:absolute;left:-9999px;top:0;background:var(--brick);color:#fff;
  padding:.6rem 1rem;border:0;z-index:50;
}
.skip:focus{left:0;}

/* Non-affiliation strip — LOAD-BEARING, every page, above the fold ------- */
.disclaimer-bar{
  background:#fdf1ea;
  border-bottom:1px solid var(--brick);
  border-top:4px solid var(--brick);
  color:#5a3a34;
  font-size:.86rem;
  line-height:1.5;
  letter-spacing:.005em;
}
.disclaimer-bar .wrap{padding-top:.6rem;padding-bottom:.6rem;}
.disclaimer-bar .tag{
  display:inline-block;
  font-size:.66rem;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:#fff;
  background:var(--brick);
  padding:.16rem .5rem;
  margin-right:.6rem;
  vertical-align:.08em;
}

/* Masthead --------------------------------------------------------------- */
.masthead{background:var(--paper);border-bottom:2px solid var(--brick);}
.masthead-inner{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:12px;min-width:0;padding-top:2.1rem;padding-bottom:1.5rem;
}
.brand{min-width:0;}
.brand a{border:0;display:block;color:inherit;}
.brand a:hover{background:none;}
.brand-name{
  display:block;
  font-family:"Bodoni Moda","Playfair Display",Georgia,serif;
  font-weight:600;
  font-size:clamp(2.1rem,5.2vw,3.2rem);
  line-height:1.02;
  letter-spacing:.005em;
  color:var(--brick-deep);
}
.brand-sub{
  display:block;margin-top:.55rem;
  font-size:.74rem;text-transform:uppercase;letter-spacing:.26em;color:var(--muted);
}
.colophon{
  margin:0;padding-bottom:.35rem;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);
  text-align:right;min-width:0;
}

/* Navigation — structurally overflow-safe: wraps, never clipped ---------- */
.nav{
  background:var(--paper);
  border-bottom:1px solid var(--rule);
  position:static;
}
.nav .wrap{padding-left:16px;padding-right:16px;}
.nav-list{
  display:flex;flex-wrap:wrap;min-width:0;
  list-style:none;margin:0;padding:0;
}
.nav-list li{min-width:0;flex:0 1 auto;border-right:1px solid var(--hairline);}
.nav-list li:last-child{border-right:0;}
.nav-list a{
  display:block;
  padding:.7rem .82rem;
  border:0;border-bottom:3px solid transparent;
  font-size:.83rem;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:var(--ink-soft);
  white-space:nowrap;
}
.nav-list a:hover{background:var(--parchment-soft);color:var(--brick-deep);}
.nav-list a[aria-current="page"]{color:var(--brick);border-bottom-color:var(--brick);}

/* Hero ------------------------------------------------------------------- */
.hero-fig{
  margin:0;background:var(--paper);
  border-bottom:1px solid var(--hairline);
}
.hero-fig img{width:100%;height:clamp(220px,34vw,420px);object-fit:cover;}
.hero-fig figcaption{
  padding:.55rem 0 .7rem;
  font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}

/* Sheet + two-column layout --------------------------------------------- */
.sheet{background:var(--paper);border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);}
.layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 292px;
  gap:0 54px;
  align-items:start;
  padding:2.6rem 0 3.4rem;
}
.article{min-width:0;}
.article p,.article ul,.article ol,.article h1,.article h2,.article h3{max-width:var(--measure);}
.rail{min-width:0;border-left:1px solid var(--hairline);padding-left:26px;font-size:.9rem;}

/* Article typography ----------------------------------------------------- */
.article h1{
  font-family:"Bodoni Moda","Playfair Display",Georgia,serif;
  font-weight:600;
  font-size:clamp(1.95rem,4.1vw,2.75rem);
  line-height:1.14;
  margin:0 0 .85rem;
  color:var(--brick-deep);
  letter-spacing:.002em;
}
.article h1 cite{font-style:italic;color:inherit;}
.article h2{
  font-family:"Bodoni Moda","Playfair Display",Georgia,serif;
  font-weight:600;
  font-size:1.42rem;
  line-height:1.28;
  margin:2.6rem 0 .75rem;
  padding-top:.9rem;
  color:var(--brick-dark);
  position:relative;
}
.article h2::before{
  content:"";position:absolute;top:0;left:0;width:56px;height:2px;background:var(--brick);
}
.article h3{
  font-family:"Bodoni Moda","Playfair Display",Georgia,serif;
  font-weight:600;font-size:1.1rem;margin:1.8rem 0 .5rem;color:var(--ink);
}
.article p{margin:0 0 1.05rem;}
.article ul,.article ol{margin:0 0 1.2rem;padding-left:1.3rem;}
.article li{margin-bottom:.5rem;}
.article cite{font-style:italic;color:var(--brick-deep);}
.article em{color:var(--ink-soft);}
.article strong{color:#2b2320;}

/* Lede ------------------------------------------------------------------- */
.lede{
  font-size:1.14rem;line-height:1.66;color:var(--ink-soft);
  margin:0 0 1.6rem !important;padding-bottom:1.2rem;
  border-bottom:1px solid var(--hairline);
}

/* Ficha subtitle --------------------------------------------------------- */
.ficha-sub{
  margin:-.2rem 0 1.5rem !important;
  font-size:.8rem;text-transform:uppercase;letter-spacing:.17em;color:var(--muted);
  padding-bottom:1rem;border-bottom:1px solid var(--hairline);
}

/* Notices — LOAD-BEARING. Never hidden, never collapsed. ----------------- */
.notice{
  display:block !important;visibility:visible !important;opacity:1 !important;
  background:var(--parchment-soft);
  border:1px solid var(--parchment-deep);
  border-left:6px solid var(--brick);
  padding:1.05rem 1.3rem .95rem;
  margin:1.9rem 0;
  font-size:.95rem;line-height:1.62;color:#4d3b34;
}
.notice p{margin:0 0 .7rem;}
.notice p:last-child{margin-bottom:0;}
.notice strong{color:var(--brick-deep);}
.notice-major{
  background:var(--paper);
  border:2px solid var(--brick);
  border-left:10px solid var(--brick);
  padding:1.5rem 1.6rem 1.4rem;
  font-size:1.02rem;
}

/* Series lists ----------------------------------------------------------- */
.serie{list-style:none;margin:1.1rem 0 1.6rem !important;padding:0 !important;}
.serie li{
  position:relative;padding-left:1.5rem;margin-bottom:.72rem;
  border-bottom:1px dotted var(--hairline);padding-bottom:.72rem;
}
.serie li:last-child{border-bottom:0;}
.serie li::before{
  content:"—";position:absolute;left:0;top:0;color:var(--brick);font-weight:600;
}

/* Tables ----------------------------------------------------------------- */
.table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:1.3rem 0 1.9rem;
  border-top:2px solid var(--brick);
  border-bottom:1px solid var(--rule);
}
table.biblio{
  width:100%;min-width:460px;
  border-collapse:collapse;
  font-size:.92rem;line-height:1.5;
}
table.biblio thead th{
  text-align:left;
  font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;
  color:var(--brick-dark);font-weight:600;
  padding:.7rem .8rem;
  border-bottom:1px solid var(--brick);
  background:var(--parchment-soft);
  white-space:nowrap;
}
table.biblio td,table.biblio tbody th{
  padding:.55rem .8rem;
  border-bottom:1px solid #ece0d2;
  vertical-align:top;
  text-align:left;
}
table.biblio tbody tr:nth-child(even) td,
table.biblio tbody tr:nth-child(even) th{background:rgba(240,226,211,.36);}
table.biblio tbody tr:last-child td,
table.biblio tbody tr:last-child th{border-bottom:0;}
table.biblio cite{font-style:italic;color:var(--brick-deep);}

/* Ficha table (label / value pairs) */
table.biblio.ficha{min-width:0;}
table.biblio.ficha tbody th{
  width:34%;
  font-weight:600;
  font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;
  color:var(--muted);
  padding-top:.72rem;
}
table.biblio.ficha td{padding-top:.62rem;}

/* Inline figures --------------------------------------------------------- */
figure.fig{
  margin:2.2rem 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  padding:1.1rem 0;
}
figure.fig img{width:100%;}
figure.fig figcaption{
  margin-top:.6rem;
  font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
}

/* Rail ------------------------------------------------------------------- */
.rail h2{
  font-family:"Bodoni Moda","Playfair Display",Georgia,serif;
  font-size:.76rem;text-transform:uppercase;letter-spacing:.2em;
  color:var(--brick-dark);
  margin:0 0 .8rem;padding-bottom:.45rem;
  border-bottom:1px solid var(--brick);
  font-weight:600;
}
.rail section{margin-bottom:2.3rem;}
.rail ul{list-style:none;margin:0;padding:0;}
.rail li{border-bottom:1px dotted var(--hairline);}
.rail li:last-child{border-bottom:0;}
.rail li a{display:block;padding:.42rem 0;border:0;font-size:.9rem;color:var(--ink-soft);}
.rail li a:hover{color:var(--brick);background:none;}
.rail li a[aria-current="page"]{color:var(--brick);font-weight:600;}
.rail .year{color:var(--muted);font-size:.8rem;}
.rail .rail-note{
  font-size:.83rem;line-height:1.6;color:var(--muted);
  background:var(--parchment-soft);
  border:1px solid var(--parchment-deep);
  padding:.85rem 1rem;
}
.rail .rail-note p{margin:0 0 .6rem;}
.rail .rail-note p:last-child{margin-bottom:0;}

/* Footer ----------------------------------------------------------------- */
.site-footer{
  background:var(--paper);
  border-top:2px solid var(--brick);
  margin-top:0;
  padding:2.4rem 0 2.8rem;
  font-size:.87rem;
}
.footer-notice{
  border:1px solid var(--parchment-deep);
  border-left:6px solid var(--brick);
  background:var(--parchment-soft);
  padding:.95rem 1.2rem;
  color:#4d3b34;
  margin-bottom:2rem;
  line-height:1.6;
}
.footer-notice .tag{
  display:inline-block;font-size:.64rem;letter-spacing:.19em;text-transform:uppercase;
  color:#fff;background:var(--brick);padding:.14rem .5rem;margin-right:.55rem;vertical-align:.1em;
}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.8rem 2.4rem;}
.footer-cols h2{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--brick-dark);
  margin:0 0 .7rem;padding-bottom:.4rem;border-bottom:1px solid var(--hairline);font-weight:600;
}
.footer-cols ul{list-style:none;margin:0;padding:0;}
.footer-cols li{margin-bottom:.34rem;}
.footer-cols a{border:0;color:var(--ink-soft);font-size:.87rem;}
.footer-cols a:hover{color:var(--brick);background:none;}
.footer-cols p{margin:0 0 .6rem;color:var(--muted);font-size:.85rem;line-height:1.6;}
.footer-base{
  margin-top:2.2rem;padding-top:1.1rem;border-top:1px solid var(--hairline);
  font-size:.78rem;color:var(--muted);letter-spacing:.03em;
}

/* 404 -------------------------------------------------------------------- */
.error-code{
  font-family:"Bodoni Moda","Playfair Display",Georgia,serif;
  font-size:clamp(3.4rem,12vw,6.5rem);line-height:1;color:var(--brick);margin:0 0 .4rem;
}

/* Motion — entrance animation ends visible; content never depends on JS -- */
@keyframes riseIn{from{opacity:.001;transform:translateY(8px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:no-preference){
  .article > h1{animation:riseIn .5s ease-out both;}
}
[data-aos]{opacity:1 !important;transform:none !important;}

/* Responsive ------------------------------------------------------------- */
@media (max-width:960px){
  .layout{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:2.4rem;}
  .rail{
    border-left:0;padding-left:0;margin-top:2.6rem;
    border-top:2px solid var(--brick);padding-top:1.6rem;
  }
}
@media (max-width:700px){
  body{font-size:16.5px;}
  .wrap{padding:0 16px;}
  .colophon{text-align:left;padding-bottom:0;}
  .masthead-inner{padding-top:1.5rem;padding-bottom:1.1rem;}
  .nav-list a{padding:.6rem .62rem;font-size:.78rem;}
  .notice-major{padding:1.1rem 1.1rem 1rem;}
}

@media print{
  .nav,.hero-fig,.rail{display:none;}
  body{background:#fff;}
  .disclaimer-bar,.footer-notice{border-color:#000;}
}

/* Horizontal-scroll hint for wide tables (set by /js/main.js; purely cosmetic) */
.table-wrap.is-scrollable{
  background-image:linear-gradient(to right, rgba(166,47,47,.10), rgba(166,47,47,0) 34px);
}
