/* About page — Team directory and Loop Item #685 presentation.
 * Elementor owns the team filter query and Loop Item markup/content.
 */

/* About — Our People */
.team-section {
    padding:96px!important;
    background:#222!important;
    overflow:hidden!important;
}

.team-section > .e-con-inner {
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:0!important;
}

.team-inner {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

/* Header */
.team-eyebrow {
    justify-content:center!important;
    margin:0 0 28px!important;
}

.team-eyebrow .elementor-divider {
    padding:0!important;
}

.team-eyebrow .elementor-divider-separator {
    width:48px!important;
    border-top:2px solid #FFEF5C!important;
}

.team-eyebrow .elementor-heading-title {
    color:rgba(255,255,255,.60)!important;
}

.team-title {
    margin:0 0 24px!important;
    text-align:center!important;
}

.team-title .elementor-heading-title {
    color:#fff!important;
}

/* Intro */
.team-intro {
    width:100%!important;
    max-width:768px!important;
    margin:0 auto 64px!important;
    text-align:center!important;
}

.team-intro p {
    margin:0 0 24px!important;
    color:rgba(255,255,255,.70)!important;
    font-family:"Be Vietnam Pro",sans-serif!important;
    font-size:1.05rem!important;
    font-weight:500!important;
    line-height:1.85!important;
}

.team-intro p:last-child {
    margin-bottom:0!important;
}

/* Filter */
.team-filter {
    width:100%!important;
    margin:0 0 40px!important;
}

.team-filter .e-filter {
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:8px!important;
}

.team-filter .e-filter-item {
    min-height:0!important;
    padding:8px 20px!important;
    border:1px solid rgba(255,255,255,.20)!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.50)!important;
    font-family:"Saira",sans-serif!important;
    font-size:.7rem!important;
    font-weight:700!important;
    line-height:1.4!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    transition:
        color .2s ease,
        border-color .2s ease,
        background-color .2s ease!important;
}

.team-filter .e-filter-item:hover {
    color:rgba(255,255,255,.80)!important;
    border-color:rgba(255,255,255,.40)!important;
}

.team-filter .e-filter-item[aria-pressed="true"] {
    background:#FFEF5C!important;
    border-color:#FFEF5C!important;
    color:#222!important;
}

/* Grid */
.team-grid {
    width:100%!important;
    margin:0!important;
}

.team-grid .elementor-loop-container {
    gap:32px!important;
}

/* Team Card */
.team-card {
    position:relative!important;
    width:100%!important;
    height:520px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#222!important;
}

/* Image */
.team-photo {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
}

.team-photo .elementor-widget-container {
    width:100%!important;
    height:100%!important;
}

.team-photo img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center 15%!important;
    filter:grayscale(1);
    transition:
        filter .5s ease,
        transform .5s ease!important;
}

/* Dark teal overlay */
.team-card::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
        170deg,
        rgba(34,34,34,.92) 0%,
        rgba(0,72,81,.95) 50%,
        rgba(0,72,81,.98) 100%
    );
    opacity:0;
    pointer-events:none;
    transition:opacity .5s ease;
}

/* Content */
.team-overlay {
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:28px!important;
    margin:0!important;
    opacity:0;
    transition:opacity .5s ease!important;
}

/* Hover */
.team-card:hover::after {
    opacity:1;
}

.team-card:hover .team-overlay {
    opacity:1;
}

/* Card typography */
.team-name {
    margin:0 0 4px!important;
}

.team-name .elementor-heading-title {
    color:#fff!important;
    font-family:"Saira",sans-serif!important;
    font-size:1.05rem!important;
    font-weight:700!important;
    line-height:1.3!important;
}

/* Role */
.team-role {
    margin:0 0 10px!important;
}

.team-role .elementor-heading-title {
    color:#FFEF5C!important;
    font-family:"Saira",sans-serif!important;
    font-size:.63rem!important;
    font-weight:700!important;
    line-height:1.4!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
}

/* Education */
.team-education {
    margin:0 0 3px!important;
}

.team-education .elementor-heading-title {
    color:rgba(255,255,255,.55)!important;
    font-family:"Be Vietnam Pro",sans-serif!important;
    font-size:.72rem!important;
    font-weight:500!important;
    line-height:1.45!important;
}

/* Joined */
.team-joined {
    margin:0 0 10px!important;
}

.team-joined .elementor-heading-title {
    color:rgba(255,255,255,.40)!important;
    font-family:"Saira",sans-serif!important;
    font-size:.60rem!important;
    font-weight:700!important;
    line-height:1.4!important;
    letter-spacing:.10em!important;
    text-transform:uppercase!important;
}

/* Divider */
.team-divider {
    width:28px!important;
    margin:0 0 12px!important;
}

.team-divider .elementor-divider {
    padding:0!important;
}

.team-divider .elementor-divider-separator {
    width:28px!important;
    border-top:1px solid rgba(255,239,92,.50)!important;
}

/* Bio */
.team-bio {
    margin:0!important;
}

.team-bio p {
    margin:0!important;
    color:rgba(255,255,255,.88)!important;
    font-family:"Be Vietnam Pro",sans-serif!important;
    font-size:.8rem!important;
    font-weight:500!important;
    line-height:1.72!important;
}

/* Responsive */
@media (max-width:1023px) {
    .team-section {
        padding:80px 48px!important;
    }

    .team-section > .e-con-inner {
        max-width:none!important;
    }

    .team-grid .elementor-loop-container {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:32px!important;
    }

    .team-card {
        height:520px!important;
    }

    .team-overlay {
        padding:24px!important;
    }
}

@media (max-width:767px) {
    .team-section {
        padding:64px 24px!important;
    }

    /* Figma stacks portraits below the tablet breakpoint. */
    .team-grid .elementor-loop-container {
        grid-template-columns:minmax(0,1fr)!important;
    }

    .team-intro {
        margin-bottom:48px!important;
    }

    .team-filter {
        margin-bottom:40px!important;
    }

    .team-filter .e-filter {
        gap:8px!important;
    }

    .team-card {
        height:520px!important;
    }
}
