/* ============================================================
   apostles.css — rules from styles.css used by one page, /apostles.
   They were moved here so that no other page downloads them; their
   order, and the comments that went with them, are as they were.
   Linked straight after styles.css (and any family sheet).
   ============================================================ */

/* ───────────────── APOSTLES ───────────────── */
.page-apostles{
  background:
    radial-gradient(circle at 78% 6%, rgba(201,168,90,.08), transparent 36%),
    var(--paper);
}
.page-apostles .apostle-pagehead{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:64px 0 46px;
  background:var(--espresso);
}
.page-apostles .apostle-pagehead::before{
  content:"";
  position:absolute;
  inset:-2%;
  z-index:-2;
  background:url("images/apostles/last-supper-masthead.webp") center 53% / cover no-repeat;
  filter:saturate(.7) sepia(.12) contrast(1.08);
  transform:scale(1.025);
}
.page-apostles .apostle-pagehead::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(26,18,11,.58) 0%,rgba(26,18,11,.7) 64%,rgba(26,18,11,.94) 100%),
    linear-gradient(90deg,rgba(18,11,6,.58),transparent 26%,transparent 74%,rgba(18,11,6,.58)),
    radial-gradient(ellipse at 50% 28%,rgba(201,168,90,.08),rgba(26,18,11,.28) 68%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}
.apostles-body{
  padding:42px 0 66px;
}
.apostle-index{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  max-width:960px;
  margin:0 auto 24px;
}
.apostle-index a,
.apostle-index span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px 6px;
  border:1px solid rgba(157,122,46,.32);
  background:rgba(251,248,239,.74);
  color:var(--gold-deep);
  font-family:var(--display);
  font-size:10px;
  letter-spacing:.13em;
  line-height:1.25;
  text-transform:uppercase;
}
.apostle-index span{
  color:var(--muted);
  opacity:.78;
}
.apostle-index a:hover,
.apostle-index a:focus-visible{
  color:var(--espresso);
  border-color:var(--gold);
  background:var(--paper-card);
}
.apostle-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px 14px;
  margin:0 auto 34px;
}
.legend-title,
.source-badge{
  font-family:var(--display);
  font-size:10px;
  line-height:1;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.legend-title{color:var(--muted);}
.source-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 8px 4px;
  border:1px solid currentColor;
  color:var(--gold-deep);
  background:rgba(251,248,239,.62);
  white-space:nowrap;
}
.apostle-dist{
  max-width:1180px;margin:0 auto 30px;padding:30px 32px 26px;
  border:1px solid var(--rule);background:rgba(251,248,239,.7);
  box-shadow:0 12px 34px rgba(60,37,18,.08);
}
.apostle-dist-head{max-width:720px;margin:0 auto 22px;text-align:center;}
.apostle-dist-head h2{
  margin:8px 0 6px;color:var(--ink);font-family:var(--display);
  font-size:clamp(25px,3vw,34px);letter-spacing:.05em;
}
.apostle-dist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.apostle-dist-grid article{
  display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:18px;
  border:1px solid rgba(221,208,180,.92);background:var(--paper-card);
}
.apostle-dist-grid h3{
  margin:12px 0 7px;color:var(--gold-deep);font-family:var(--display);
  font-size:13px;letter-spacing:.12em;line-height:1.25;text-transform:uppercase;
}
.apostle-dist-grid a{
  margin-top:auto;padding-top:14px;color:var(--gold-deep);font-family:var(--display);
  font-size:10px;font-weight:600;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;
}
.apostle-dist-grid a:hover,.apostle-dist-grid a:focus-visible{color:var(--espresso);}
.apostle-dist-note{
  max-width:900px;margin:20px auto 0;color:var(--muted);font-size:14px;font-style:italic;line-height:1.45;text-align:center;
}
.apostle-card{
  max-width:1180px;
  margin:0 auto 30px;
  border:1px solid var(--rule);
  background:linear-gradient(180deg,var(--paper-card),#f3ead8);
  box-shadow:0 20px 52px rgba(60,37,18,.12);
}
.apostle-card-head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  padding:28px 32px 22px;
  border-bottom:1px solid var(--rule);
  background:
    linear-gradient(90deg,rgba(201,168,90,.17),transparent 58%),
    rgba(255,255,255,.28);
}
.apostle-number{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid rgba(154,122,46,.42);
  color:var(--gold-deep);
  font-family:var(--display);
  font-size:22px;
  line-height:1;
}
.apostle-card h2{
  margin:0 0 7px;
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(27px,3.4vw,40px);
  letter-spacing:.05em;
}
.apostle-card-body{
  display:grid;
  grid-template-columns:minmax(240px,300px) minmax(0,1fr);
  align-items:start;
}
.apostle-visuals{
  padding:20px;
  border-right:1px solid var(--rule);
  background:#14110c;
}
.apostle-portrait{
  overflow:hidden;
  aspect-ratio:853 / 1844;
  border:1px solid rgba(201,168,90,.44);
  background:#14110c;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.apostle-portrait img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}
.apostle-symbol{
  width:104px;
  margin:12px auto 0;
  text-align:center;
}
.apostle-symbol img{
  display:block;
  width:64px;
  max-height:116px;
  object-fit:contain;
  margin:0 auto 6px;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.34));
}
.apostle-symbol figcaption{
  color:#d6c18d;
  font-family:var(--display);
  font-size:10px;
  letter-spacing:.16em;
  line-height:1.45;
  text-transform:uppercase;
}
.apostle-dossier{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-self:start;
  gap:1.75rem;
  padding:30px 34px 34px;
}
.apostle-vitals{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
  margin:0;
  padding:0 0 24px;
  border-bottom:1px solid var(--rule);
}
.apostle-vitals div{min-width:0;}
.apostle-vitals dt,
.apostle-fact h3{
  color:var(--gold-deep);
  font-family:var(--display);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  line-height:1.25;
  text-transform:uppercase;
}
.apostle-vitals dd{
  margin-top:4px;
  color:var(--ink);
  font-size:18px;
  line-height:1.3;
}
.apostle-fact{
  margin:0;
  padding:0;
}
.apostle-fact h3{
  margin:0 0 6px;
}
.apostle-quote{
  margin:0;
  padding:16px 0 16px 22px;
  border-left:2px solid var(--gold);
  color:var(--espresso);
  font-family:var(--head);
  font-size:23px;
  font-style:italic;
  line-height:1.32;
}
.apostle-quote cite{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-family:var(--display);
  font-size:10px;
  font-style:normal;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.apostle-added-facts{
  max-width:1180px;
  margin:8px auto 30px;
  padding:30px 32px 34px;
  border:1px solid var(--rule);
  background:
    linear-gradient(180deg,rgba(255,255,255,.36),rgba(243,234,216,.88)),
    var(--paper-card);
  box-shadow:0 18px 44px rgba(60,37,18,.1);
}
.apostle-added-head{
  max-width:760px;
  margin:0 auto 24px;
  text-align:center;
}
.apostle-added-head h2{
  margin:13px 0 8px;
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(25px,3vw,34px);
  letter-spacing:.05em;
}
.apostle-notes-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.apostle-note{
  min-width:0;
  padding:18px 18px 20px;
  border:1px solid rgba(221,208,180,.92);
  background:rgba(251,248,239,.62);
}
.apostle-note h3{
  margin:0 0 8px;
  color:var(--gold-deep);
  font-family:var(--display);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  line-height:1.25;
  text-transform:uppercase;
}
.page-apostles .colophon{
  margin-top:0;
}
.apostle-back{
  margin-top:24px;
  text-align:center;
}
@media(max-width:820px){
  .apostle-dist-grid{grid-template-columns:1fr 1fr;}
  .apostle-card-body{grid-template-columns:1fr;}
  .apostle-visuals{border-right:0;border-bottom:1px solid var(--rule);}
  .apostle-portrait{max-width:320px;margin:0 auto;}
  .apostle-vitals{grid-template-columns:1fr;}
  .apostle-notes-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .page-apostles .apostle-pagehead{
    padding:50px 0 36px;
  }
  .page-apostles .apostle-pagehead::before{
    background-position:center 50%;
  }
  .apostles-body{padding-top:28px;}
  .apostle-dist{padding:24px 18px 20px;}
  .apostle-dist-grid{grid-template-columns:1fr;}
  .apostle-card-head{grid-template-columns:1fr;padding:24px 22px;text-align:center;}
  .apostle-number{margin:0 auto;}
  .apostle-visuals,
  .apostle-dossier,
  .apostle-coming,
  .apostle-added-facts{padding:24px 22px;}
  .apostle-notes-grid{grid-template-columns:1fr;}
  .apostle-index{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;}
  .apostle-index a,
  .apostle-index span{white-space:nowrap;}
}
