/* CRAVE v0.4 — character and hero image enhancements */
.character-photo{object-fit:cover;object-position:50% 16%;filter:saturate(.95) contrast(1.04);transition:transform .45s ease,filter .35s ease}
.character-card:hover .character-photo{transform:scale(1.055);filter:saturate(1.08) contrast(1.04)}
.character-card.has-photo .portrait-number{opacity:0}
.modal-art[hidden]{display:none}
.modal-art{height:260px;overflow:hidden;position:relative;margin:20px 0 0;background:#1a171d;border:1px solid #6c3b4c}
.modal-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#1510159a,transparent 48%)}
.modal-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 18%}
.modal-panel.has-photo{width:min(620px,100%)}
.modal-panel.has-photo h2{margin-top:22px}
.modal-panel.has-photo .modal-letter{display:none}
@media(max-width:540px){.modal-art{height:200px;margin-top:18px}}
