.page-hero {
    padding: clamp(90px, 12vw, 140px) clamp(16px, 5vw, 60px) clamp(40px, 6vw, 60px);
    max-width: 1100px;
    margin: 0 auto;
    border-bottom: 1px solid var(--border);
}


/* ROLE LEGEND */

.role-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 48px;
    margin-bottom: 0;
}

.rl-item {
    font-family: 'Share Tech Mono', monospace;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 5px 12px;
    border: 1px solid;
}


/* TEAM GRID */

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
    gap: 12px;
    margin-top: 32px;
}

.t-card {
    background: var(--bg2);
    border: 1px solid var(--border2);
    padding: clamp(20px, 3vw, 28px) 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: border-color .25s, background .25s, transform .2s;
}

.t-card:hover {
    background: #110909;
    border-color: rgba(192, 57, 43, .35);
    transform: translateY(-3px);
}

.t-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    transform: scaleX(0);
    transition: transform .3s ease;
    transform-origin: left;
}

.t-card:hover::after {
    transform: scaleX(1);
}

.t-avatar {
    width: clamp(56px, 8vw, 70px);
    height: clamp(56px, 8vw, 70px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(20px, 3vw, 26px);
    border: 2px solid;
    transition: border-color .25s;
}

.t-name {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 6px;
}

.t-role {
    font-family: 'Share Tech Mono', monospace;
    font-size: 9px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 3px 10px;
    display: inline-block;
    margin-bottom: 10px;
    border: 1px solid;
}

.t-discord {
    font-family: 'Share Tech Mono', monospace;
    font-size: 11px;
    color: var(--muted);
}

.t-open {
    opacity: .45;
}

.t-open .t-name {
    color: var(--muted);
}

a:hover {
    cursor: url('link.png'), default;
}


/* Role color variants */

.r-owner .t-avatar {
    background: rgba(231, 76, 60, .1);
    border-color: rgba(231, 76, 60, .35);
    color: #e74c3c;
}

.r-owner .t-role {
    color: #e74c3c;
    border-color: rgba(231, 76, 60, .3);
    background: rgba(231, 76, 60, .08);
}

.r-owner::after {
    background: #e74c3c;
}

.r-cowner .t-avatar {
    background: rgba(230, 126, 34, .1);
    border-color: rgba(230, 126, 34, .35);
    color: #e67e22;
}

.r-cowner .t-role {
    color: #e67e22;
    border-color: rgba(230, 126, 34, .3);
    background: rgba(230, 126, 34, .08);
}

.r-cowner::after {
    background: #e67e22;
}

.r-admin .t-avatar {
    background: rgba(52, 152, 219, .1);
    border-color: rgba(52, 152, 219, .35);
    color: #3498db;
}

.r-admin .t-role {
    color: #3498db;
    border-color: rgba(52, 152, 219, .3);
    background: rgba(52, 152, 219, .08);
}

.r-admin::after {
    background: #3498db;
}

.r-mod .t-avatar {
    background: rgba(46, 204, 113, .1);
    border-color: rgba(46, 204, 113, .35);
    color: #2ecc71;
}

.r-mod .t-role {
    color: #2ecc71;
    border-color: rgba(46, 204, 113, .3);
    background: rgba(46, 204, 113, .08);
}

.r-mod::after {
    background: #2ecc71;
}

.r-dev .t-avatar {
    background: rgba(155, 89, 182, .1);
    border-color: rgba(155, 89, 182, .35);
    color: #9b59b6;
}

.r-dev .t-role {
    color: #9b59b6;
    border-color: rgba(155, 89, 182, .3);
    background: rgba(155, 89, 182, .08);
}

.r-dev::after {
    background: #9b59b6;
}

.r-sup .t-avatar {
    background: rgba(241, 196, 15, .1);
    border-color: rgba(241, 196, 15, .35);
    color: #f1c40f;
}

.r-sup .t-role {
    color: #f1c40f;
    border-color: rgba(241, 196, 15, .3);
    background: rgba(241, 196, 15, .08);
}

.r-sup::after {
    background: #f1c40f;
}


/* join cta */

.join-cta {
    margin-top: 56px;
    padding: clamp(28px, 4vw, 40px);
    background: rgba(192, 57, 43, .05);
    border: 1px solid var(--border);
    border-left: 3px solid var(--red);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.join-cta p {
    font-size: 15px;
    color: var(--muted2);
    font-weight: 500;
}