
.residents-page,.resident-detail{overflow:hidden}
.residents-kicker{margin:0;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.residents-hero{padding:clamp(80px,11vw,160px) var(--pad);border-bottom:1px solid var(--border);background:radial-gradient(circle at 78% 24%,rgba(169,120,255,.13),transparent 30%)}
.residents-hero h1{margin:18px 0 28px;font-size:clamp(5rem,15vw,14rem);line-height:.7;letter-spacing:-.08em;text-transform:uppercase}
.residents-hero>p:last-child{max-width:720px;margin:0;color:var(--text-muted);font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.15}
.residents-list{padding:0 var(--pad) clamp(90px,10vw,150px)}
.resident-card{position:relative;display:grid;grid-template-columns:60px minmax(160px,28vw) 1fr auto;gap:clamp(18px,4vw,60px);align-items:center;padding:28px 0;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}
.resident-index{align-self:start;padding-top:8px;color:var(--text-muted);font-size:.72rem;font-weight:900;letter-spacing:.1em}
.resident-card-image{aspect-ratio:4/5;overflow:hidden;background:var(--bg-soft)}
.resident-card-image img,.resident-hero-photo img,.resident-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.resident-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--accent);font-size:clamp(3rem,8vw,8rem);font-weight:900}
.resident-tagline{display:block;margin-bottom:10px;color:var(--accent);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.resident-card h2{margin:0;font-size:clamp(2.3rem,6vw,6.8rem);line-height:.82;letter-spacing:-.055em;text-transform:uppercase;overflow-wrap:anywhere}
.resident-arrow{color:var(--accent);font-size:1.5rem}
.resident-card:hover .resident-card-image img{transform:scale(1.025)}
.resident-card-image img{transition:transform .35s ease}

.resident-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,44vw);min-height:78vh;border-bottom:1px solid var(--border)}
.resident-hero-copy{padding:clamp(80px,10vw,150px) var(--pad);display:flex;flex-direction:column;justify-content:flex-end}
.resident-hero-copy h1{margin:18px 0 24px;font-size:clamp(4.7rem,11vw,11rem);line-height:.74;letter-spacing:-.075em;text-transform:uppercase;overflow-wrap:anywhere}
.resident-detail-tagline{margin:0 0 24px;color:var(--text-muted);font-size:clamp(1.2rem,2vw,1.8rem)}
.resident-hero-photo{min-height:70vh;background:var(--bg-soft)}
.resident-socials{display:flex;flex-wrap:wrap;gap:10px}
.resident-socials a{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--text);transition:.2s ease}
.resident-socials a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
.resident-socials svg{width:20px;height:20px}
.resident-bio{display:grid;grid-template-columns:minmax(130px,22vw) minmax(0,850px);gap:clamp(30px,7vw,100px);padding:clamp(80px,10vw,150px) var(--pad);border-bottom:1px solid var(--border)}
.resident-bio-text{font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.55}
.resident-soundcloud,.resident-gallery{padding:clamp(80px,10vw,150px) var(--pad);border-bottom:1px solid var(--border)}
.resident-section-head h2{margin:15px 0 50px;font-size:clamp(4rem,10vw,10rem);line-height:.72;letter-spacing:-.07em;text-transform:uppercase}
.soundcloud-list{display:grid;gap:16px;max-width:1000px}
.soundcloud-frame{padding:12px;border:1px solid var(--border);background:var(--bg-soft)}
.soundcloud-frame iframe{display:block;border:0}
.resident-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.resident-gallery-grid img{aspect-ratio:4/5;background:var(--bg-soft)}
.residents-empty{padding:60px 0;color:var(--text-muted)}

@media(max-width:800px){
    .resident-card{grid-template-columns:42px 110px 1fr auto;gap:14px;padding:18px 0}
    .resident-card h2{font-size:clamp(1.8rem,8vw,3rem)}
    .resident-detail-hero{grid-template-columns:1fr;min-height:0}
    .resident-hero-photo{grid-row:1;min-height:0;aspect-ratio:4/5}
    .resident-hero-copy{grid-row:2;padding-top:55px;padding-bottom:65px}
    .resident-bio{grid-template-columns:1fr}
}
@media(max-width:560px){
    .resident-card{grid-template-columns:32px 92px minmax(0,1fr);gap:12px}
    .resident-card .resident-arrow{display:none}
    .resident-index{font-size:.65rem}
    .resident-gallery-grid{grid-template-columns:1fr}
}


/* Mobile Schutz für lange Section-Titel wie SOUNDCLOUD */
.resident-section-head{
    min-width:0;
    max-width:100%;
}
.resident-section-head h2{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
}

@media(max-width:600px){
    .resident-section-head h2{
        font-size:clamp(2.8rem,12vw,4.5rem);
        line-height:.82;
        letter-spacing:-.055em;
    }
}


.resident-backlink{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:100%;
    color:var(--text-muted);
    text-decoration:none;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:color .2s ease, transform .2s ease;
}
.resident-backlink:hover{
    color:var(--accent);
    transform:translateX(-3px);
}
.resident-backlink-top{
    margin-bottom:28px;
}
.resident-back-section{
    padding:38px var(--pad) clamp(70px,8vw,110px);
}
@media(max-width:800px){
    .resident-backlink-top{
        margin-bottom:22px;
    }
}


.resident-richtext{color:var(--text-muted);line-height:1.65}
.resident-richtext h1,.resident-richtext h2,.resident-richtext h3,.resident-richtext h4{
    color:var(--text);
    line-height:1.02;
    letter-spacing:-.045em;
    overflow-wrap:anywhere;
}
.resident-richtext h1{font-size:clamp(2.6rem,5.5vw,5.8rem)}
.resident-richtext h2{font-size:clamp(2.2rem,4.5vw,4.6rem)}
.resident-richtext h3{font-size:clamp(1.8rem,3.4vw,3.2rem)}
.resident-richtext h4{font-size:clamp(1.3rem,2.2vw,2rem)}
.resident-richtext a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}
.soundcloud-item{display:grid;gap:10px}
.soundcloud-intro{
    margin:0 0 2px;
    color:var(--text);
    font-size:clamp(1rem,1.3vw,1.15rem);
    font-weight:700;
    line-height:1.45;
}


/* Lange Resident-Namen sauber in die Karten einpassen */
.resident-card-name{
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    text-wrap:balance;
}
.resident-card-name.is-long{
    font-size:clamp(1.75rem,4.8vw,3.9rem);
    letter-spacing:-.055em;
}
.resident-card-name.is-very-long{
    font-size:clamp(1.5rem,4.1vw,3.2rem);
    line-height:.92;
    letter-spacing:-.05em;
}
@media(max-width:760px){
    .resident-card-name.is-long{
        font-size:clamp(1.75rem,7.6vw,2.8rem);
    }
    .resident-card-name.is-very-long{
        font-size:clamp(1.45rem,6.5vw,2.35rem);
    }
}


/* Residents Richtext: Absätze und Listen */
.resident-richtext p{margin:0 0 1em}
.resident-richtext p:last-child{margin-bottom:0}
.resident-richtext ul,
.resident-richtext ol{
    margin:1em 0;
    padding-left:1.45em;
}
.resident-richtext li{
    margin:.35em 0;
    padding-left:.15em;
}
.resident-richtext ul{list-style:disc}
.resident-richtext ol{list-style:decimal}
.resident-richtext li::marker{color:var(--accent);font-weight:900}
