.factions-page .faction-grid { align-items:start; }
.faction-card [data-dossier] { align-self:flex-start; padding:12px 18px; margin-top:20px; min-height:44px; font-size:15px; }
.factions-page .faction-dossier { padding:clamp(20px,4vw,48px); box-sizing:border-box; border:1px solid #b8925c66; border-radius:22px; background:linear-gradient(135deg,#2a1922,#100f12 65%); scroll-margin-top:100px; }
.faction-dossier[hidden] { display:none; }
.faction-dossier:focus { outline:2px solid #dfb874; outline-offset:5px; }
.faction-dossier h2 { font-size:clamp(28px,5vw,52px); margin:14px 0; }
.faction-dossier h3 { color:#e6c38e; font-size:21px; margin:24px 0 10px; }
.faction-dossier p { color:#d0c4ba; line-height:1.75; max-width:85ch; }
.faction-dossier .faction-note { color:#a99c98; font-size:14px; }
.faction-members { display:flex; flex-wrap:wrap; gap:14px; }
.faction-members a { width:110px; text-align:center; color:#efdbb9; text-decoration:none; border:1px solid #89644166; border-radius:12px; overflow:hidden; background:#171216; }
.faction-members img { display:block; width:110px; height:115px; object-fit:cover; }
.faction-members span { display:block; padding:10px 4px; }
.faction-relations { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:24px 0; }
.faction-relations article { border:1px solid #92724a44; padding:20px; border-radius:12px; background:#09090c66; }
.faction-relations h3 { margin-top:0; }
.faction-spoilers { border:1px solid #b5445b77; border-radius:12px; padding:16px 20px; margin:24px 0; }
.faction-spoilers summary { cursor:pointer; color:#f0b2b9; min-height:24px; }
.faction-source { color:#cbb68f; font-size:14px; }
.faction-dossier a:focus-visible,.faction-spoilers summary:focus-visible { outline:2px solid #ebc481; outline-offset:4px; }
@media(max-width:600px){ .faction-relations { grid-template-columns:1fr; } .faction-members { gap:10px; } .faction-members a { width:calc(33.333% - 8px); } .faction-members img { width:100%; height:100px; } }
