/* Character threads remain outside opaque cards and readable intro titles. */
.characters{overflow:hidden;padding:100px 0 130px}
.characters>.wrap{max-width:1440px;padding-inline:clamp(52px,12vw,210px)}
.characters h2{text-align:center;margin-bottom:42px}
.characters>.wrap>.eyebrow{text-align:center}
.character-stage{position:relative;isolation:isolate}
.character-grid{gap:clamp(42px,5vw,80px);position:relative;align-items:stretch}
.character-column{position:relative;min-width:0;display:flex;flex-direction:column}
.character-intro{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:3.3em;margin:0 0 28px;font-size:clamp(1.3rem,2.15vw,2rem);line-height:1.35;text-align:center;text-wrap:balance;background:#14131d;color:#f1d7a2}
.sandra-column .character-intro{color:#e6d5f7}
.character-column .character{position:relative;z-index:1;flex:1;box-shadow:0 18px 50px #0003}
.thread-edge{position:absolute;top:0;height:calc(100% + 45px);width:clamp(80px,14vw,220px);pointer-events:none;z-index:0;overflow:visible}
.thread-gold{right:100%;color:#c99b50}
.thread-violet{left:100%;color:#b68bdb}
.paired-threads{position:absolute;left:50%;transform:translateX(-50%);top:0;width:clamp(34px,4vw,64px);height:calc(100% + 65px);pointer-events:none;z-index:0}
@media(max-width:700px){
.characters{padding:64px 0 90px}
.characters>.wrap{padding-inline:38px}
.characters h2{font-size:2.6rem;margin-bottom:32px}
.character-grid{grid-template-columns:1fr;gap:76px}
.character-intro{font-size:1.6rem;min-height:0;margin-bottom:24px}
.thread-edge{width:60px;height:calc(100% + 25px);opacity:.85}
.paired-threads{left:-25px;transform:none;width:18px;top:0;height:calc(100% + 35px)}
.character-copy{padding:26px 22px}
.character-column .character{margin:0}
}
