/* Character archive template */
.character-hero{display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;padding-top:5rem;padding-bottom:5rem}
.character-hero h1{font-size:clamp(3.2rem,8vw,7rem)}
.character-kicker{margin:.25rem 0 1rem;color:#ff8d94;font:700 1.2em/1.4 Georgia,serif}
.character-art-stack{max-width:390px;margin:auto}
.character-art-stack .portrait{width:100%}
.image-caption{margin:1.6rem 0 0;color:var(--muted);font-size:.9em;line-height:1.45}
.character-summary{max-width:var(--max);margin:0 auto 2rem;display:grid;grid-template-columns:repeat(4,1fr);border-block:2px solid #ddd}
.summary-item{padding:1.3rem 1.1rem;border-right:1px solid #666}
.summary-item:last-child{border-right:0}
.summary-item b,.summary-item span{display:block}
.summary-item b{color:#ff6670;font-size:.78em;letter-spacing:.09em;text-transform:uppercase}
.summary-item span{font-weight:700}
.gameplay-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:2rem;align-items:start;margin-top:2rem}
.stat-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1rem}
.stat-badge{min-height:112px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #777;border-top:5px solid var(--red);padding:1rem;background:#101012}
.stat-badge span{color:#ddd;font-weight:800;text-transform:uppercase;font-size:.78em;letter-spacing:.06em}
.stat-badge strong{font:700 2.8em/1 Georgia,serif}
.ability-card{background:var(--panel);border:1px solid #777;border-left:7px solid var(--red);padding:1.6rem}
.ability-card h3{font:700 clamp(1.8rem,3vw,2.6rem)/1.1 Georgia,serif;margin:.35rem 0 1rem}
.mechanic-note{border:1px solid #555;padding:1rem 1.2rem;color:#ddd}
.convictions{background:#f1f1ed;color:#111;padding:1.5rem;border-top:7px solid var(--red)}
.convictions h3{font:700 1.8rem/1.1 Georgia,serif;margin:.15rem 0 1rem}
.convictions dl{margin:0}
.convictions dl div{padding:.8rem 0;border-bottom:1px solid #aaa}
.convictions dt{font-size:.76em;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8d1119}
.convictions dd{margin:.1rem 0 0;font-weight:800}
.convictions p{font-size:.9em;color:#333}
.story-section{background:#f1f1ed;color:#111;padding:5rem 1.2rem}
.story-reading{max-width:800px;margin:auto;font:1.1em/1.8 Georgia,serif}
.story-reading .eyebrow{font-family:Arial,sans-serif;color:#a8151e}
.story-reading h2{font-size:clamp(2.5rem,6vw,4.5rem)}
.story-reading h3{margin:3rem 0 .8rem;font:700 clamp(1.65rem,3vw,2.25rem)/1.2 Georgia,serif;color:#7e1017}
.story-reading p{color:#222}
.content-note{margin:2rem 0 3rem;padding:1.25rem 1.4rem;background:#fff;border:2px solid #999;border-left:7px solid var(--red);font-family:Arial,sans-serif}
.content-note strong{display:block;text-transform:uppercase;letter-spacing:.08em;color:#8d1119}
.content-note p{margin:.4rem 0 0;line-height:1.6}
.story-quote{margin:2.5rem 0 0;color:#111;border-color:#a8151e;font-size:1.35em}
.art-feature{display:grid;grid-template-columns:minmax(260px,1fr) 1.2fr;gap:3rem;align-items:center}
.art-feature img{display:block;width:100%;max-height:560px;object-fit:contain;background:#fff;border:3px solid #111;box-shadow:14px 14px 0 var(--red)}
.dark-button{border-color:#111;color:#111}
.character-pagination{max-width:var(--max);margin:auto;padding:2rem 1.2rem;display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.character-pagination a{font-weight:900}
.character-pagination span{color:var(--muted)}
@media(max-width:900px){
  .character-hero,.gameplay-layout,.art-feature{grid-template-columns:1fr}
  .character-summary,.stat-badges{grid-template-columns:repeat(2,1fr)}
  .summary-item:nth-child(2){border-right:0}
  .summary-item:nth-child(-n+2){border-bottom:1px solid #666}
  .character-hero{padding-top:3rem}
  .story-section{padding-block:3.5rem}
}
@media(max-width:520px){
  .character-summary,.stat-badges{grid-template-columns:1fr}
  .summary-item,.summary-item:nth-child(2){border-right:0;border-bottom:1px solid #666}
  .summary-item:last-child{border-bottom:0}
  .stat-badge{min-height:92px}
}
