@media screen and (max-width: 768px) {
    .join-hero {
        height: 420px;
    }

    .join-hero .swiper,
    .join-hero .swiper-slide {
        height: 320px;
    }

    .join-content {
        padding: 32px 0 80px;
    }

    .join-main {
        padding: 32px 24px 48px;
    }

    .join-item {
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        padding: 16px 0;
        gap: 8px;
    }

    .join-item-date {
        margin-left: 0;
    }
}

/* 移动端补充：Banner 与职位标题换行 */
@media screen and (max-width: 1200px) {
    .join-hero .swiper-item-img img {
        width: auto;
        max-width: 100%;
        max-height: 100%;
        height: auto;
        object-fit: contain;
        object-position: left center;
    }
}

@media screen and (max-width: 992px) {
    .join-hero {
        height: auto;
        min-height: 0;
        padding-top: calc(64px + env(safe-area-inset-top));
    }

    .join-hero .swiper,
    .join-hero .swiper-slide {
        height: 280px;
    }

    .join-item-title {
        min-width: 0;
        line-height: 1.5;
    }

    .join-detail-content {
        overflow-wrap: break-word;
    }

    .join-detail-content img,
    .join-detail-content video,
    .join-detail-content iframe {
        max-width: 100% !important;
        height: auto !important;
    }

    .join-detail-content table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}

@media screen and (max-width: 768px) {
    .join-hero .swiper,
    .join-hero .swiper-slide {
        height: 240px;
    }

    .join-main {
        padding: 24px 16px 40px;
    }
}
