/* DIVINE SHADOW — fiche commune à tous les personnages */
.profile-shell{padding-top:82px;min-height:100svh;background:#0c0c12}
.profile-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:630px}
.profile-visual{min-height:580px;position:relative;background:#18131c;overflow:hidden}
.profile-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;position:absolute;inset:0}
.profile-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090a12a8,transparent 43%);pointer-events:none}
.profile-intro{display:flex;justify-content:center;flex-direction:column;padding:clamp(32px,6vw,94px);background:radial-gradient(circle at 90% 50%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 55%),#111017}
.profile-intro .eyebrow{color:var(--accent)}
.profile-intro h1{font-size:clamp(65px,9vw,138px);line-height:.87;margin:25px 0 32px;overflow-wrap:anywhere}
.profile-intro h1 em{display:block;color:var(--accent);-webkit-text-stroke:0;font-size:.7em;margin-top:9px}
.profile-intro p:not(.eyebrow){color:#c6bdc9;line-height:1.85;max-width:600px}
.profile-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.profile-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;max-width:1260px;margin:auto}
.profile-info h2{font-size:clamp(45px,6vw,86px);margin:20px 0 28px}
.profile-info h2 em{color:var(--accent)}
.profile-info p{color:#bbb4c1;line-height:1.9}
.profile-attributes{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}
.profile-attributes span{border:1px solid #ffffff30;padding:13px 16px;font-size:12px;color:#e6dfe8}
.profile-related{margin-top:28px;display:flex;flex-wrap:wrap;gap:14px}
.profile-related a{border-bottom:1px solid var(--accent);padding-bottom:8px;color:#faf4f7;font-size:11px;letter-spacing:.09em}
.profile-note{font-size:12px;color:#9e94a2!important}
@media(max-width:850px){.profile-shell{padding-top:70px}.profile-hero,.profile-info{grid-template-columns:1fr}.profile-visual{min-height:360px;aspect-ratio:16/10}.profile-intro{padding:48px 24px 65px}.profile-intro h1{font-size:clamp(65px,13vw,110px)}}


/* Composition uniforme : portrait plein cadre pour les quatre fiches */
.profile-hero{grid-template-columns:repeat(2,minmax(0,1fr));min-height:630px}
.profile-visual{display:block;position:relative;min-height:580px;overflow:hidden;background:#101018}
.profile-visual img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;max-height:none;box-shadow:none}
.profile-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090a1270,transparent 32%);pointer-events:none}
@media(max-width:850px){.profile-hero{grid-template-columns:1fr}.profile-visual{min-height:360px;aspect-ratio:16/10}}

/* Absence d'illustration validée : état neutre, sans fausse photo */
.profile-visual.portrait-pending{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 52%),#0d0e16}
.profile-visual.portrait-pending::before{content:"ILLUSTRATION OFFICIELLE À VALIDER";position:relative;z-index:1;max-width:280px;text-align:center;letter-spacing:.23em;font-size:12px;font-weight:800;line-height:2;color:#d1c6d2}
.profile-visual.portrait-pending::after{display:none}


/* Fiches uniformes : ces réglages s'appliquent à TOUS les personnages. */
.profile-intro h1{overflow-wrap:normal;word-break:normal;line-height:.94}
.profile-intro h1 em{line-height:1.1;overflow-wrap:break-word}
.profile-intro h1.long-subtitle em{font-size:clamp(32px,3.65vw,58px)}
.profile-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
@media(max-width:850px){.profile-intro h1.long-subtitle em{font-size:clamp(32px,6.7vw,54px)}}

/* QA navigateur : sous-titres longs, même règle pour tous les personnages */
.profile-intro h1.long-subtitle em{display:block;font-size:clamp(27px,2.65vw,42px);line-height:1.22;letter-spacing:0;white-space:normal;overflow-wrap:break-word;word-break:normal;max-width:100%;}
@media(max-width:850px){.profile-intro h1.long-subtitle em{font-size:clamp(27px,6vw,42px)}}

.profile-visual img{object-position:center top}

/* Mobile : un cadre uniforme au format des portraits propres, sans recadrage latéral excessif. */
@media(max-width:850px){.profile-visual{min-height:0;aspect-ratio:724/520}.profile-visual img{object-position:center top}}
