/* ==========================================
TEAM PAGE
========================================== */

:root{
    --red:#c8102e;
    --navy:#02142d;
    --light:#f8f8f8;
    --white:#ffffff;
}

/* GLOBAL */

.container{
    max-width:1400px;
    margin:auto;
    padding:0 20px;
}

/* ==========================================
FEATURED AGENT
========================================== */

.team-hero{
    background:#ffffff;
    padding:80px 0;
}

.team-featured{
    display:grid;
    grid-template-columns:1fr 450px 1fr;
    gap:50px;
    align-items:center;
}

.team-tag{
    color:var(--red);
    font-size:18px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.team-tag:after{
    content:'';
    display:inline-block;
    width:120px;
    height:2px;
    background:var(--red);
    margin-left:15px;
    vertical-align:middle;
}

.featured-left h1{
    font-size:72px;
    color:var(--navy);
    line-height:1.1;
    margin:25px 0;
}

.team-intro{
    font-size:24px;
    line-height:1.8;
    color:#444;
}

.featured-center{
    text-align:center;
}

.featured-photo{
    width:420px;
    height:420px;
    object-fit:cover;
    border-radius:50%;
    border:8px solid #f2f2f2;
    box-shadow:0 10px 30px rgba(0,0,0,.10);
}

.featured-right h2{
    font-size:56px;
    color:var(--navy);
    margin-bottom:10px;
}

.featured-right h3{
    color:var(--red);
    font-size:30px;
    font-weight:500;
    margin-bottom:20px;
}

.team-line{
    width:90px;
    height:3px;
    background:#111;
    margin:25px 0;
}

.featured-right a{
    display:block;
    margin-bottom:18px;
    text-decoration:none;
    color:#333;
    font-size:22px;
}

.featured-right a:hover{
    color:var(--red);
}

.featured-social{
    display:flex;
    gap:15px;
    margin-top:25px;
}

.featured-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:50%;
    background:#f5f5f5;
    color:var(--navy);
    text-decoration:none;
    font-weight:bold;
    font-size:14px;
}

.featured-social a:hover{
    background:var(--red);
    color:#fff;
}

/* ==========================================
TEAM GRID
========================================== */

.agents-section{
    background:#f8f8f8;
    padding:90px 0;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title h2{
    font-size:60px;
    color:var(--navy);
}

.section-title h2:after{
    content:'';
    display:block;
    width:80px;
    height:3px;
    background:var(--red);
    margin:15px auto 0;
}

.agents-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.agent-card{
    background:#fff;
    padding:35px 25px;
    border-radius:15px;
    text-align:left;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    transition:.3s;
}

.agent-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.agent-photo{
    width:180px;
    height:180px;
    object-fit:cover;
    border-radius:50%;
    margin:auto;
    display:block;
    margin-bottom:20px;
    border:5px solid #f1f1f1;
}

.agent-card h3{
    color:var(--navy);
    font-size:34px;
    margin-bottom:10px;
}

.agent-title{
    color:var(--red);
    font-size:24px;
    margin-bottom:15px;
}

.agent-divider{
    width:60px;
    height:2px;
    background:#111;
    margin:20px auto;
}

.agent-card a{
    display:block;
    text-decoration:none;
    color:#444;
    margin-bottom:12px;
    font-size:18px;
}

.agent-card a:hover{
    color:var(--red);
}

.agent-social img{
    width:48px;
    height:48px;
    
}

.agent-social a{
    width:300px;
    height:300px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f5f5f5;
    color:#02142d;
    text-decoration:none;
    font-size:20px;
    transition:all .3s ease;
}

.agent-social a:hover{
    background:#c8102e;
    color:#fff;
    transform:translateY(-3px);
}

/* ==========================================
CALL TO ACTION
========================================== */

.team-cta{
    background:#02142d;
    padding:80px 0;
}

.cta-box{
    text-align:center;
    color:#fff;
}

.cta-box h2{
    font-size:54px;
    margin-bottom:15px;
}

.cta-box p{
    font-size:22px;
    margin-bottom:30px;
}

.cta-btn{
    display:inline-block;
    background:#c8102e;
    color:#fff;
    text-decoration:none;
    padding:18px 40px;
    border-radius:8px;
    font-weight:700;
}

.cta-btn:hover{
    background:#a10c24;
}

/* ==========================================
RESPONSIVE
========================================== */

@media(max-width:1200px){

.team-featured{
    grid-template-columns:1fr;
    text-align:center;
}

.featured-photo{
    width:320px;
    height:320px;
}

.team-line{
    margin:25px auto;
}

.featured-social{
    justify-content:center;
}

.agents-grid{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.featured-left h1{
    font-size:42px;
}

.team-intro{
    font-size:18px;
}

.agents-grid{
    grid-template-columns:1fr;
}

.featured-photo{
    width:260px;
    height:260px;
}

.section-title h2{
    font-size:42px;
}

.cta-box h2{
    font-size:36px;
}

}
.agent-social{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:20px;
}

.agent-social a{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f5f5f5;
    color:#02142d;
    text-decoration:none;
    font-size:18px;
    transition:.3s;
}

.agent-social a:hover{
    background:#ffffff;
    color:#fff;
    transform:translateY(-3px);
}
.contact-link{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#333;
    margin-bottom:18px;
    font-size:20px;
}


/* CONTACT ICONS */

.agent-contact{
    width:100%;
    max-width:230px;
    margin:25px auto;
}

.contact-link{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin:12px 0;
    text-decoration:none;
    color:#333;
    font-size:18px;
    line-height:1.2;
}
.contact-link span{
    position:relative;
    top:-3px;     /* Raise the text */
}
.contact-link:hover{
    color:#c8102e;
}

.phone-icon,
.email-icon,
.website-icon{
    width:22px;
    height:22px;
    flex-shrink:0;
    object-fit:contain;
}
.contact-link img{
    width:22px;
    height:22px;
    min-width:22px;
    margin-right:12px;
}
.agent-card h3{
    text-align:center;
}

.agent-card .agent-title{
    text-align:center;
}
/* ==========================================
BROKER CONTACT
========================================== */

.broker-contact{
    width:320px;
    margin-top:35px;
    margin-left:0;
}

.broker-contact .contact-link{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    text-decoration:none;
    color:#222;
    font-size:26px;
    font-weight:500;
}

.broker-contact .contact-link:hover{
    color:#c8102e;
}

.broker-contact img{
    width:26px;
    height:26px;
    object-fit:contain;
}

.broker-social{
    display:flex;
    gap:18px;
    margin-top:35px;
}

.broker-social img{
    width:42px;
    height:42px;
    transition:.3s;
}

.broker-social img:hover{
    transform:scale(1.12);
}