html, body {
    max-width: 100vw;
    overflow-x: hidden;
    font-family: 'Microsoft YaHei', Arial, sans-serif;
    background: #ffffff;
}
.loaded{
    background: #ffffff;
}
#app{
    background: #ffffff;
}
.banner-content-mobile{
    display: none;
}
.immigration-banner-service {
    width: 100%;
    /* border-top: 1px solid #e8e6dc; */
    border-bottom: 1px solid #e5e7ed;
}

.home-ico{
    cursor: pointer;
}
/* 二级导航 */
.banner-content{
    max-width: 1440px;
  margin: 0 auto;
  display: flex;
  height: 50px;
  align-items: center;
  gap: 4px;
  box-sizing: border-box;
}
.banner-content .banner-title-service{
    margin: 0;
  padding: 0;
  font-size: 14px;
  color: #000000;
  cursor: pointer;
}



/* 列表 */
.content-section-list {
    max-width: 1440px;
    margin: 0 auto;
}

/* 头部上面项目矩阵 */
.mj-pp-main-content{
  padding: 100px 0;

}
.mj-pp-main-content-title{
  text-align: center;
}
.mj-pp-main-title{
  font-family: "Microsoft YaHei" ,sans-serif;
  font-size: 48px;
  color: #000000;
}
.mj-pp-main-desc{
  font-family: "Microsoft YaHei" ,sans-serif;
  font-size: 16px;
  font-weight: normal;
  color: #000000;
  padding-top: 10px;
  margin: 0;
}

/* 我们的服务轮播部分 */
.our-services-section {
    /* margin-top: 120px; */
    padding-bottom: 150px;
}


.services-title {
    font-size: 18px;
    color: #002768;
    font-weight: normal;
    margin: 0;
}



.services-carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.services-carousel {
    flex: 1;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.services-carousel-track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 45px;
    will-change: transform;
    transform: translateX(0);
    justify-content: center;
    flex-wrap: wrap;
}

.service-card {
    width: 450px;
    min-height: 680px;
    /* background: #f1eee7; */
    /* border: 1px solid #eee7; */
    border-radius: 30px;
    padding: 45px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
    flex-shrink: 0;
}
.service-card:nth-child(1){
    background-image: url("../img/jz-1.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center center;
}
.service-card:nth-child(2){
    background-image: url("../img/jz-2.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center center;
}
.service-card:nth-child(3){
    background-image: url("../img/jz-3.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center center;
}
.service-card-image {
    width: 100%;
    height: 220px;
    margin-bottom: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.service-card-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.service-card-title {
    font-family: "Microsoft YaHei";
    font-size: 30px;
    /* font-weight: bold; */
    color: #000000;
    margin: 0 0 16px 0;
}

.service-card-desc {
    font-family: "Microsoft YaHei";
    font-size: 16px;
    line-height: 28px;
    color: #000000;
    margin: 0 0 auto 0;
}

.service-card-link {
    display: inline-block;
    width: 120px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    background: #000000;
    border: none;
    border-radius: 9999px;
    font-family: "Microsoft YaHei";
    font-size: 14px;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    margin-top: auto;
}

.service-card-link:hover{
    text-decoration: none;
    color: #ffffff;
}

/* 轮播箭头 */
.carousel-arrow {
    width: 50px;
    height: 50px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
    padding: 0;
    line-height: 1;
    z-index: 10;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: none;
}

.carousel-arrow-left {
    left: 0;
}
.carousel-arrow-right {
    right: 0;
}


.carousel-arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.carousel-arrow span {
    display: block;
    line-height: 1;
}




/* ====== 移动端响应式适配 ====== */
@media (max-width: 1200px) {

    .loaded{
        height: 100vh;
        
       }
     /* 头部 */
     .immigration-banner{
        height: 4rem;
        border-top: 1px solid #e0e0e0;
        background: #ffffff;
    }
    .banner-content{
        display: none;
    }
    /* 移动端二级菜单 */
    .immigration-banner-service{
        border-top: none;
        border-bottom: none;
    }
    .banner-content-mobile{
        display: none;
        height: 3.2rem;
        padding: 0 1.6rem;
        align-items: center;
        background: #ffffff;
    }
    .home-ico-mobile{
        width: auto;
        height: 1.173rem;
    }
    .banner-title-service-mobile{
        flex: 1;
        text-align: center;
    }
    .banner-title-service{
        font-size: 1.280rem;
        color: #333333;
        margin: 0;
    }
  
    /* .banner-title{
        padding: 0;
    } */

 


    .content-section-list{
        width: 100%;
        margin-bottom: 0;
        background: #ffffff;
        margin-top: 0;
        padding: 0 1.333rem;
    }
    .mj-pp-main-content{
        padding: 4.267rem 0;
    }
    .mj-pp-main-title{
        font-size: 2.320rem;
    }
    .mj-pp-main-desc{
        font-size: 1.120rem;
    }
    .container-fluid{
        padding: 0 1.333rem;
        justify-content: center;
    }
   
    /* 移动端服务轮播适配 */
    .our-services-section {
        margin-top: 0px;
       padding: 0 1.333rem;
       display: flex;
        justify-content: center;
        /* padding-top: 1.333rem; */
    }
    .services-carousel-wrapper {
        flex-direction: column;
        width: 26.880rem;
    }

    .services-title{
        font-size: 1.227rem;
    }
    .carousel-arrow{
        display: none;
    }
    .services-carousel-track{
        flex-wrap: wrap;
        flex-direction: column;
    }
    .service-card{
        width: 26.880rem;
        height: auto;
        background: #f1eee7;
        padding: 2.4rem 2.240rem;
        margin-bottom: 2.4rem;
        min-height: auto;
    }
    .service-card-image{
        width: 100%;
    }
    .service-card-title{
        font-size: 2.00rem;
        margin-bottom: 10px;
    }
    .service-card-desc{
        font-size: 1.120rem;
        margin-bottom: 10px;
        margin-top: 3rem;
    }
    .service-card-link{
        font-size: 0.693rem;
        margin-top: 1.867rem;
    }
    .img-hover, .img-default {
        width: 0.987rem;
        height: 0.987rem;
    }
}



/* Service directory: clear project hierarchy and compact, readable summaries. */
html body.mj-services-page .content-section-list,
html body.mj-services-page .banner-content {
  max-width: var(--mj-container, 1200px);
  padding-left: 32px;
  padding-right: 32px;
}
html body.mj-services-page .mj-pp-main-content { padding: 48px 0 32px; }
html body.mj-services-page .mj-pp-main-content-title { text-align: left; }
html body.mj-services-page .mj-pp-main-title {
  margin: 0;
  font-family: var(--mj-font-head, var(--mj-font-sans));
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.3;
  letter-spacing: 0;
}
html body.mj-services-page .mj-pp-main-title::before { display: none; }
html body.mj-services-page .mj-pp-main-desc { max-width: 46em; padding-top: 16px; font-size: 16px; line-height: 1.8; }
html body.mj-services-page .mj-svc.mj-svc--wide {
  display: flex;
  gap: 32px;
  align-items: center;
  justify-content: space-between;
  padding: 24px 28px;
  margin-bottom: 32px;
  background: var(--mj-ivory, #faf9f6);
  color: var(--mj-navy);
  border: 1px solid var(--mj-line);
  border-radius: 8px;
}
html body.mj-services-page .mj-svc--wide > div { min-width: 0; }
html body.mj-services-page .mj-svc--wide .mj-svc__code { color: var(--mj-ink-3); font-size: 13px; margin-bottom: 6px; }
html body.mj-services-page .mj-svc--wide .mj-svc__title { display: block; color: var(--mj-navy); }
html body.mj-services-page .mj-svc--wide p { color: var(--mj-ink-2); font-size: 15px; }
html body.mj-services-page .mj-svc--wide .mj-svc__meta { color: var(--mj-ink-3); font-size: 13px; }
html body.mj-services-page .mj-svc--wide .mj-svc__go {
  flex: none;
  padding: 10px 0;
  background: transparent;
  color: var(--mj-navy);
  white-space: nowrap;
  border-radius: 0;
  font-size: 14px;
}
html body.mj-services-page .mj-svc-grid .mj-svc {
  grid-template-columns: 96px minmax(0, 1fr) auto;
  gap: 0 24px;
  padding: 24px 0;
}
html body.mj-services-page .mj-svc-grid .mj-svc__icon { display: none; }
html body.mj-services-page .mj-svc-grid .mj-svc__code { font-size: 14px; letter-spacing: 0; }
html body.mj-services-page .mj-svc-grid .mj-svc__title { font-size: 19px; }
html body.mj-services-page .mj-svc-grid p { line-height: 1.8; }
html body.mj-services-page .mj-svc-grid .mj-link { font-size: 14px; }
html body.mj-services-page .mj-svc-hint { text-align: left; margin: 20px 0 40px; font-size: 14px; }
html body.mj-services-page .mj-svc-detail { padding: 56px 0; }
html body.mj-services-page .mj-svc-detail__inner { gap: 40px; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .85fr); }
html body.mj-services-page .mj-svc-detail h2 { margin-top: 0; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.4; }
html body.mj-services-page .mj-svc-detail h3 { font-size: 16px; letter-spacing: 0; }
html body.mj-services-page .mj-svc-cta { background: var(--mj-ivory); border: 1px solid var(--mj-line); color: var(--mj-ink); border-radius: 8px; padding: 24px; }
html body.mj-services-page .mj-svc-cta h3 { color: var(--mj-navy); margin-top: 0; font-size: 20px; }
html body.mj-services-page .mj-svc-cta p,
html body.mj-services-page .mj-svc-cta small,
html body.mj-services-page .mj-svc-cta .mj-linkbtn--light { color: var(--mj-ink-2); }
html body.mj-services-page .mj-svc-cta .mj-btn { margin-top: 16px; }
html body.mj-services-page .mj-svc-facts { border-radius: 8px; }
/* Eligibility, service steps and facts are primary reading content. */
html body.mj-services-page { --mj-service-copy:17px; }
html body.mj-services-page :is(.mj-pp-main-desc,.mj-svc--wide p,.mj-svc-grid p,.mj-svc-detail .mj-def,.mj-svc-detail ul,.mj-svc-cta p,.mj-faq__item p) { font-size:var(--mj-service-copy); line-height:1.85; color:#334155; }
html body.mj-services-page :is(.mj-svc--wide .mj-svc__code,.mj-svc-grid .mj-svc__code,.mj-svc--wide .mj-svc__meta) { font-size:16px; line-height:1.7; color:#475569; }
html body.mj-services-page :is(.mj-svc--wide .mj-svc__go,.mj-svc-grid .mj-link,.mj-svc-cta .mj-linkbtn--light) { font-size:16px; }
html body.mj-services-page .mj-svc-detail h3 { font-size:20px; line-height:1.6; }
html body.mj-services-page .mj-svc-facts dl { font-size:var(--mj-service-copy); line-height:1.8; }
html body.mj-services-page .mj-svc-facts dt { font-size:16px; color:#475569; }
html body.mj-services-page .mj-svc-facts dd { color:#334155; }
html body.mj-services-page .mj-svc-steps li,
html body.mj-services-page .mj-svc-steps b { font-size:16px; line-height:1.7; }
html body.mj-services-page .mj-svc-steps span { color:#475569; }
html body.mj-services-page :is(.mj-svc-hint,.mj-svc-src,.mj-svc-cta small) { font-size:15px; line-height:1.8; color:#475569; }
html body.mj-services-page .mj-faq__item summary { font-size:18px; line-height:1.7; }
@media (max-width: 960px) {
  html body.mj-services-page .mj-svc-detail__inner { grid-template-columns: minmax(0, 1fr); }
  html body.mj-services-page .mj-svc-grid .mj-svc { grid-template-columns: 82px minmax(0, 1fr); }
  html body.mj-services-page .mj-svc-grid .mj-svc__code { grid-column: 1; grid-row: 1 / 4; margin-bottom: 0; }
  html body.mj-services-page .mj-svc-grid .mj-svc__title { grid-column: 2; grid-row: 1; }
  html body.mj-services-page .mj-svc-grid p { grid-column: 2; grid-row: 2; }
  html body.mj-services-page .mj-svc-grid .mj-link { grid-column: 2; grid-row: 3; margin-top: 10px; }
}
@media (max-width: 600px) {
  html body.mj-services-page { --mj-service-copy:16px; }
  html body.mj-services-page .content-section-list,
  html body.mj-services-page .banner-content { padding-left: 20px; padding-right: 20px; }
  html body.mj-services-page .mj-pp-main-content { padding: 32px 0 24px; }
  html body.mj-services-page .mj-svc.mj-svc--wide { display: block; padding: 20px; }
  html body.mj-services-page .mj-svc--wide .mj-svc__go { display: inline-block; margin-top: 8px; }
  html body.mj-services-page .mj-svc-grid .mj-svc { grid-template-columns: 1fr; }
  html body.mj-services-page .mj-svc-grid .mj-svc__code { grid-column: 1; grid-row: 1; margin-bottom: 6px; }
  html body.mj-services-page .mj-svc-grid .mj-svc__title { grid-column: 1; grid-row: 2; }
  html body.mj-services-page .mj-svc-grid p { grid-column: 1; grid-row: 3; }
  html body.mj-services-page .mj-svc-grid .mj-link { grid-column: 1; grid-row: 4; }
  html body.mj-services-page .mj-svc-detail { padding: 40px 0; }
}

/* Separate the two family immigration paths after the shared preparation steps. */
.mj-svc-steps--four{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.mj-svc-branch{margin-top:24px}.mj-svc-branch>h4{font-size:17px;color:#173556;margin:0;text-align:center;padding-bottom:20px}
.mj-svc-branch__paths{display:grid;grid-template-columns:1fr 1fr;gap:22px;position:relative;padding-top:20px}
.mj-svc-branch__paths:before{content:"";position:absolute;top:0;left:25%;right:25%;border-top:2px solid #ccd7e3}
.mj-svc-branch__paths:after{content:"";position:absolute;left:50%;height:20px;top:-20px;border-left:2px solid #ccd7e3}
.mj-svc-branch__paths>section{padding:20px;background:#f4f7fa;border:1px solid #dce4ec;border-radius:8px;position:relative}
.mj-svc-branch__paths>section:before{content:"";height:20px;border-left:2px solid #ccd7e3;position:absolute;left:50%;top:-21px}
.mj-svc-branch__paths h5{font-size:18px;color:#082d65;margin:0 0 12px}.mj-svc-branch__paths p{font-size:15px;line-height:1.8;margin:0}
@media(max-width:640px){.mj-svc-branch__paths{grid-template-columns:1fr;padding-top:0}.mj-svc-branch__paths:before,.mj-svc-branch__paths:after,.mj-svc-branch__paths>section:before{display:none}.mj-svc-steps--four{grid-template-columns:1fr!important}.mj-svc-branch>h4{text-align:left}}

/* Reuse the homepage category artwork in the service directory. */
html body.mj-services-page .mj-svc-grid .mj-svc{grid-template-columns:144px minmax(0,1fr) auto;gap:6px 28px;padding:28px 0;align-items:start}
html body.mj-services-page .mj-svc-grid .mj-svc__visual{display:block;grid-column:1;grid-row:1 / 5;width:144px;height:144px;object-fit:contain;align-self:center;border-radius:12px}
html body.mj-services-page .mj-svc-grid .mj-svc__code{grid-column:2;grid-row:1;padding:0;margin:0;font-size:14px}
html body.mj-services-page .mj-svc-grid .mj-svc__title{grid-column:2;grid-row:2;margin:0}
html body.mj-services-page .mj-svc-grid p{grid-column:2;grid-row:3;margin:4px 0 0;max-width:48em}
html body.mj-services-page .mj-svc-grid .mj-link{grid-column:3;grid-row:2;margin:0;padding:0}
@media(max-width:960px){html body.mj-services-page .mj-svc-grid .mj-svc{grid-template-columns:120px minmax(0,1fr);gap:5px 22px}html body.mj-services-page .mj-svc-grid .mj-svc__visual{width:120px;height:120px}html body.mj-services-page .mj-svc-grid .mj-link{grid-column:2;grid-row:4;margin-top:8px}}
@media(max-width:600px){html body.mj-services-page .mj-svc-grid .mj-svc{grid-template-columns:88px minmax(0,1fr);gap:4px 16px;padding:22px 0}html body.mj-services-page .mj-svc-grid .mj-svc__visual{width:88px;height:88px;grid-row:1 / 3;align-self:start}html body.mj-services-page .mj-svc-grid .mj-svc__title{font-size:18px}html body.mj-services-page .mj-svc-grid p{grid-column:1 / -1;grid-row:3;margin-top:12px}html body.mj-services-page .mj-svc-grid .mj-link{grid-column:1 / -1;grid-row:4}}
