/* ============================================================================
   th-team.css — Team page on the theme-lab shell ($th_lab_layout).
   Binds tokens.css only. Zero raw brand hex.
   ============================================================================ */

/* ---- Masthead ---- */
.team-masthead{
    position:relative;overflow:hidden;background:var(--bg);
    border-bottom:1px solid var(--gray-line);
}
.team-masthead-inner{
    position:relative;z-index:1;
    padding-top:clamp(64px,9vw,110px);padding-bottom:clamp(48px,7vw,84px);
}
.team-masthead-inner .th-giant{max-width:12ch;margin:0}
.team-masthead-inner .lede{
    margin-top:1.4rem;max-width:54ch;color:var(--gray);
    font-size:clamp(1rem,1.3vw,1.14rem);font-weight:300;line-height:1.75;
}
.team-masthead-inner .lede a{color:var(--blue);font-weight:600;text-decoration:none}
.team-masthead-inner .lede a:hover{color:var(--blue-light)}

/* ---- Empty state ---- */
.team-empty{
    margin:0;max-width:40rem;color:var(--gray);
    font-size:1rem;line-height:1.7;
}

/* ---- Member grid ---- */
.team-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
    gap:clamp(16px,2.5vw,22px);
    margin-top:clamp(1.5rem,3vw,2.25rem);
    align-items:stretch;
}

.team-card{
    display:flex;flex-direction:column;align-items:center;
    min-width:0;
    background:var(--bg-card);
    border:1px solid var(--gray-line);
    border-radius:16px;
    padding:clamp(1.35rem,2.5vw,1.75rem);
    text-align:center;
    transition:border-color .25s var(--ease),background .25s var(--ease);
}
@media(hover:hover){
    .team-card:hover{
        background:var(--bg-card-hover);
        border-color:var(--blue-a20);
    }
}

.team-card-photo{
    width:120px;height:120px;border-radius:50%;
    object-fit:cover;display:block;
    margin:0 0 1.1rem;
    border:1px solid var(--gray-line);
    background:var(--bg-2);
}

.team-card-name{
    margin:0 0 .35rem;
    font-family:var(--font-display);
    font-weight:700;letter-spacing:-.2px;
    font-size:clamp(1.05rem,1.8vw,1.25rem);
    color:var(--white);line-height:1.25;
}

.team-card-role{
    margin:0 0 .75rem;
    font-family:var(--font-data);
    font-size:.72rem;font-weight:500;
    letter-spacing:1.2px;text-transform:uppercase;
    color:var(--gray);
    line-height:1.4;
}

.team-card-bio{
    margin:0;width:100%;
    text-align:left;
    font-family:var(--font-body);
    font-size:.9rem;font-weight:300;
    line-height:1.65;color:var(--gray);
}

@media(max-width:560px){
    .team-grid{grid-template-columns:1fr}
    .team-masthead-inner .home-hero-actions{
        flex-direction:column;align-items:stretch;
    }
    .team-masthead-inner .home-hero-actions .btn{width:100%}
}
