.team-hero{padding:140px 0 40px;text-align:center;position:relative;z-index:1;}
.team-showcase{padding:20px 0 80px;position:relative;z-index:1;}
.jersey-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px 32px;
    max-width:960px;
    margin:0 auto;
}
/* Jersey card */
.jersey-card{
    text-align:center;
    opacity:0;
    transform:translateY(30px);
    transition:all .5s cubic-bezier(.4,0,.2,1);
}
.jersey-card.visible{opacity:1;transform:translateY(0);}
.jersey-card:hover{transform:translateY(-8px);}
/* T-shirt image wrapper */
.jersey-img-wrap{
    position:relative;
    display:inline-block;
    max-width:260px;
    width:100%;
    margin:0 auto;
}
.jersey-img{
    width:100%;
    display:block;
    transition:transform .5s ease, filter .5s ease;
    filter:drop-shadow(0 8px 24px rgba(147,51,234,.25));
}
.jersey-card:hover .jersey-img{
    transform:scale(1.05);
    filter:drop-shadow(0 14px 36px rgba(147,51,234,.4));
}
/* Name on jersey — between collar and S */
.jersey-name{
    position:absolute;
    top:14%;
    left:50%;
    transform:translateX(-50%);
    font-family:'Outfit',sans-serif;
    font-weight:900;
    font-size:1.15rem;
    color:#fff;
    letter-spacing:4px;
    text-transform:uppercase;
    text-align:center;
    white-space:nowrap;
    text-shadow:
        0 0 8px rgba(255,255,255,.5),
        0 0 20px rgba(147,51,234,.7),
        0 0 45px rgba(147,51,234,.35),
        0 2px 6px rgba(0,0,0,.95);
    z-index:2;
    transition:all .4s ease;
}
.jersey-card:hover .jersey-name{
    text-shadow:
        0 0 12px rgba(255,255,255,.8),
        0 0 30px rgba(147,51,234,1),
        0 0 60px rgba(147,51,234,.5),
        0 2px 6px rgba(0,0,0,.95);
    transform:translateX(-50%) scale(1.06);
}
/* Smaller font for longer names */
.name-long{font-size:.95rem;letter-spacing:3px;}
.dev-name{letter-spacing:5px;font-size:1.2rem;}
/* Role badge — centered */
.jersey-info{padding:10px 0;text-align:center;}
.jersey-role{
    display:inline-block;
    padding:5px 16px;
    border-radius:50px;
    font-family:'Outfit',sans-serif;
    font-size:.7rem;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
}
.role-direction{background:rgba(251,191,36,.12);color:#fbbf24;border:1px solid rgba(251,191,36,.2);}
.role-resp{background:rgba(168,85,247,.12);color:#c084fc;border:1px solid rgba(168,85,247,.2);}
.role-admin{background:rgba(56,189,248,.12);color:#7dd3fc;border:1px solid rgba(56,189,248,.2);}
.role-legal{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.2);}
.role-tech{background:rgba(34,197,94,.12);color:#86efac;border:1px solid rgba(34,197,94,.2);}
.role-dev{background:rgba(232,121,168,.12);color:#f9a8d4;border:1px solid rgba(232,121,168,.2);}
@media(max-width:900px){
    .jersey-grid{grid-template-columns:repeat(3,1fr);gap:24px 16px;max-width:700px;}
    .jersey-img-wrap{max-width:200px;}
    .jersey-name{font-size:.9rem;letter-spacing:2.5px;}
    .name-long{font-size:.8rem;letter-spacing:2px;}
}
@media(max-width:600px){
    .jersey-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px;}
    .jersey-img-wrap{max-width:170px;}
    .jersey-name{font-size:.75rem;letter-spacing:2px;top:20%;}
    .name-long{font-size:.65rem;letter-spacing:1.5px;}
}
