﻿/* =========================
   Our Team Page CSS
   Namespace: .team-*
   Notes:
   - No background-color / no color
   - px units only
   - no CSS variables
========================= */

.team-page {
    /* base */
}
body.about-our-team-page {
    line-height: 0;
}

body.about-our-team-page .yxc-header-container,
body.about-our-team-page .body-container,
body.about-our-team-page .foot-container,
body.about-our-team-page .login-modal,
body.about-our-team-page .modal,
body.about-our-team-page .pay-model,
body.about-our-team-page .ui-dialog,
body.about-our-team-page .opera-dialog {
    line-height: normal;
}

body.about-our-team-page .ui-dialog {
    line-height: 1.6;
}

body.about-our-team-page .yxc-header-container {
    height: 0;
}

body.about-our-team-page .body-container,
body.about-our-team-page .main-banner {
    margin-top: 0;
}

body.about-our-team-page .home-quote-section {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-left: max(80px, calc((100vw - 1480px) / 2));
    padding-right: max(80px, calc((100vw - 1480px) / 2));
}

body.about-our-team-page .home-quote-section > div:first-child {
    justify-self: start;
    width: min(100%, 1100px);
    text-align: left;
}

    .team-page .mb-team {
        background-image: url('https://static.yuxincode.com/xpartslab-com/images/69471cc0-8793-42f0-81ca-d55e64596915.webp');
        background-position: center calc(50% + 44px);
        color: #fff;
        height: 95vh;
    }
        .team-page .mb-team::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.48);
            z-index: 0;
            pointer-events: none;
        }
        .team-page .mb-team .content h1 {
            font-size: 2.8em;
        }
        .team-page .mb-team .content h1,
        .team-page .mb-team .content p {
            color: #fff;
        }
        .team-page .mb-team .content-container {
            align-self: stretch;
            height: 100%;
            display: flex;
            align-items: center;
            padding-top: 0;
            padding-bottom: 0;
        }

        .team-page .mb-team .content {
            margin-top: 0;
            margin-bottom: 0;
        }

        @media (min-width: 768px) {
            .team-page .mb-team .content {
                transform: translateY(44px);
            }
        }
    /* layout container */
    .team-page .team-hero,
    .team-page .team-section {
        max-width: 1480px; /* 92.5rem */
        margin: 0 auto;
        padding: 80px 50px;
    }

    .team-page .team-section.adv-section {
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        box-sizing: border-box;
        padding-left: max(80px, calc((100vw - 1480px) / 2));
        padding-right: max(80px, calc((100vw - 1480px) / 2));
    }

    .team-page .team-section.adv-section > h2,
    .team-page .team-section.adv-section > .team-subtitle,
    .team-page .team-section.adv-section > .team-grid,
    .team-page .team-section.adv-section > .team-role-grid,
    .team-page .team-section.adv-section > .team-collab {
        max-width: 1480px;
        margin-left: auto;
        margin-right: auto;
    }

    .team-page .team-section.adv-section > .team-subtitle {
        max-width: 1180px;
        margin-left: 0;
        margin-right: auto;
    }

    /* typography */
    .team-page .team-h1 {
        font-size: 36px;
        line-height: 1.15;
        margin: 0 0 16px 0;
        letter-spacing: -0.02em;
    }

    .team-page .team-h2 {
        font-size: 28px;
        line-height: 1.2;
        margin: 0 0 13px 0;
        letter-spacing: -0.01em;
    }

    .team-page .team-h3 {
        font-size: 18px;
        line-height: 1.25;
        margin: 0 0 10px 0;
    }

    .team-page .about-seo-hidden {
        display: none;
    }

    .team-page .team-lead {
        font-size: 17px;
        line-height: 1.65;
        margin: 0 0 20px 0;
    }

    .team-page .team-subtitle {
        font-size: 0.875rem;
        line-height: 1.65;
        margin: 0 0 24px 0;
    }

    .team-page .team-p {
        font-size: 0.875rem;
        line-height: 1.65;
        margin: 0 0 14px 0;
    }

    .team-page .team-ul {
        margin: 0;
        padding-left: 18px;
        font-size: 0.875rem;
        line-height: 1.65;
    }

        .team-page .team-ul li {
            margin: 6px 0;
        }

    /* ===== HERO ===== */
    .team-page .team-hero {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .team-page .team-hero__inner {
        display: grid;
        grid-template-columns: 1.2fr 0.8fr;
        gap: 28px;
        align-items: stretch;
    }

    .team-page .team-hero__right {
        display: flex;
        min-height: 288px; /* 18rem */
    }

    .team-page .team-hero__media {
        width: 100%;
        border-radius: 20px;
        border: 1px solid #d0d0d0;
        box-shadow: 0 6px 18px rgba(0,0,0,.06);
        /* Image slot:
       set background-image via inline style or CSS elsewhere */
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .team-page .team-hero__pillars {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin: 0 0 20px 0;
    }

    .team-page .team-pillar {
        border: 1px solid #d0d0d0;
        padding: 14px 16px;
        box-shadow: 0 6px 18px rgba(0,0,0,.06);
    }

    .team-page .team-pillar__t {
        display: block;
        font-size: 0.875rem;
        line-height: 1.2;
        margin-bottom: 6px;
    }

    .team-page .team-pillar__d {
        display: block;
        font-size: 0.875rem;
        line-height: 1.45;
    }

    /* CTA */
    .team-page .team-hero__cta {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin: 0 0 16px 0;
    }

    /* meta list */
    .team-page .team-hero__meta {
        list-style: disc;
        padding-left: 18px;
        margin: 0;
        font-size: 15.2px;
        line-height: 1.65;
    }

    /* ===== GRID / CARDS ===== */
    .team-page .team-grid {
        display: grid;
        gap: 20px;
    }

    .team-page .team-grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .team-page .team-grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .team-page .team-card {
        border: 1px solid #d0d0d0;
        padding: 15px;
        overflow: hidden;
    }

    .team-page .team-tag {
        margin-top: 16px;
        padding-top: 14px;
        border-top: 1px dashed #d0d0d0;
        font-size: 0.875rem;
        line-height: 1.4;
    }

    /* ===== ROLE & SCALE ===== */
    .team-page .team-role-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .team-page .team-role-card {
        border: 1px solid #d0d0d0;
        padding: 15px;
    }

    .team-page .team-role-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 14px;
    }

    .team-page .team-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 10px;
        border: 1px solid #d0d0d0;
        font-size: 0.8rem;
        line-height: 1.2;
    }

    .team-page .team-role-note {
        margin-top: 20px;
        border: 1px solid #d0d0d0;
        border-radius: 20px;
        padding: 16px 18px;
        box-shadow: 0 6px 18px rgba(0,0,0,.06);
        font-size: 15.2px;
        line-height: 1.65;
    }

    /* ===== COLLAB ===== */
    .team-page .team-collab {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .team-page .team-collab__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .team-page .team-collab-card,
    .team-page .team-collab__ctaCard {
        border: 1px solid #d0d0d0;
        padding: 15px;
    }

    /* ===== Button compatibility (if site has btn styles already, these are harmless) ===== */
    .team-page .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 12px 17px;
        border-radius: 14px;
        border: 1px solid rgba(0,0,0,.12);
        text-decoration: none;
        font-size: 15.2px;
        line-height: 1.2;
        cursor: pointer;
    }

        .team-page .btn.btn-primary,
        .team-page .btn.btn-outline {
            /* intentionally no background-color / no color */
        }

/* ===== Responsive ===== */
@media (max-width: 1100px) {
    .team-page .team-hero__inner {
        grid-template-columns: 1fr;
    }

    .team-page .team-hero__right {
        min-height: 256px;
    }

    .team-page .team-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .team-page .team-collab__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .team-page .mb-team {
        height: auto;
        min-height: 600px;
        padding: 30px 20px 50px 20px;
    }

    .team-page .mb-team .content-container {
        padding: 0px;
    }
    .team-page .team-h1 {
        font-size: 29.6px; /* 1.85rem */
    }

    .team-page .team-h2 {
        font-size: 23.2px; /* 1.45rem */
    }

    .team-page .team-hero__pillars {
        grid-template-columns: 1fr;
    }

    .team-page .team-grid--4,
    .team-page .team-grid--3,
    .team-page .team-role-grid {
        grid-template-columns: 1fr;
    }

    .team-page .team-section {
        padding: 50px 20px;
    }

    .team-page .team-section.adv-section {
        padding: 50px 20px;
    }

    body.about-our-team-page .home-quote-section {
        padding-left: 20px;
        padding-right: 20px;
    }
}
