.first {
    position: relative;
    width: 100%;
    max-width: 19.2rem;
    height: 8rem;
    margin: 0 auto;
    background: #1a1a1a url('../assets/images/industries/first-img.webp') no-repeat center / cover;
    box-sizing: border-box;
    padding: 0 1.6rem;
    color: #FFF;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.first__content {
    flex: 1;
    min-width: 0;
}

.first__title {
    color: #FFF;
    font-family: Montserrat, sans-serif;
    font-size: 0.44rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: capitalize;
    margin: 0 0 0.24rem;
}

.first__desc {
    color: #FFF;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    text-transform: capitalize;
    margin: 0;
}

.first__breadcrumb {
    position: absolute;
    left: 1.6rem;
    bottom: 0.30rem;
    color: #FFF;
    font-family: Montserrat, sans-serif;
    font-size: 0.18rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    text-transform: capitalize;
    display: flex;
    align-items: center;
    gap: 0.10rem;
    margin: 0;
    padding: 0;
}

.first__breadcrumb a {
    color: #FFF;
    text-decoration: none;
    transition: opacity 0.25s ease;
}

.first__breadcrumb a:hover {
    opacity: 0.75;
}

.first__breadcrumb-sep {
    color: #FFF;
    opacity: 0.85;
}

.first__breadcrumb-current {
    color: #FFF;
}

/* ============================================================
   第二屏：Industries We Serve 分类内容
   ============================================================ */

/* ---------- 分类栏 ---------- */
.second {
    background: #F3F3F3;
    padding-bottom: 0.6rem;
}

.second__tabs {
    display: flex;
    flex-wrap: wrap;
    min-height: 1.44rem;
    padding: 0.3rem 1.6rem;
    justify-content: center;
    align-items: center;
    gap: 0.2rem 0;
    background: #FFF;
    box-shadow: 0 0.04rem 0.084rem 0 rgba(0, 0, 0, 0.05);
    position: relative;
    z-index: 2;
}

.second__tab {
    color: #999;
    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 0.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: capitalize;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0 0.5rem;
    transition: color 0.3s ease;
    white-space: nowrap;
    /* 元素由 button 改为锚点 a：去掉链接默认的下划线 */
    text-decoration: none;
}

.second__tab:hover {
    color: #02347D;
}

.second__tab.is-active {
    color: #02347D;
    font-weight: 700;
}

.second__tab-divider {
    width: 0.01rem;
    height: 0.26rem;
    flex-shrink: 0;
    background: #D9D9D9;
}

/* ---------- 卡片列表 ---------- */
.second__cards {
    max-width: 16.0rem;
    margin: 0.6rem auto 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.second__card {
    display: flex;
    width: 100%;
    max-width: 16.0rem;
    margin: 0 auto;
    background: #FFF;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.second__card:nth-child(even) {
    flex-direction: row-reverse;
}

/* ---------- 卡片悬浮动效 ---------- */
.second__card:hover {
    transform: translateY(-0.03rem);
    box-shadow: 0 0.1rem 0.24rem rgba(2, 52, 125, 0.12);
}

html[data-mode="h5"] .second__card:hover {
    transform: none;
}

/* ---------- 图片 ---------- */
.second__img {
    width: 8rem;
    height: 5rem;
    flex-shrink: 0;
    overflow: hidden;
}

.second__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.second__card:hover .second__img img {
    transform: scale(1.05);
}

/* ---------- 文字模块 ---------- */
.second__body {
    width: 8rem;
    height: 5rem;
    padding: 0 0.8rem 0 0.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

.second__title {
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 0.34rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 0 0 0.2rem;
}

.second__desc {
    color: #666;
    font-family: Inter, sans-serif;
    font-size: 0.18rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin: 0 0 0.2rem;
}

.second__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.1rem;
    margin: 0 0 1.2rem;
}

.second__tag {
    display: flex;
    padding: 0.05rem 0.2rem;
    justify-content: center;
    align-items: center;
    gap: 0.1rem;
    border-radius: 0.02rem;
    background: rgba(2, 52, 125, 0.15);
    color: #02347D;
    font-family: Inter, sans-serif;
    font-size: 0.14rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    transition: background 0.3s ease, transform 0.3s ease;
}

.second__card:hover .second__tag {
    background: rgba(2, 52, 125, 0.25);
}

/* ============================================================
   Learn More 按钮悬浮微交互（与首页统一）
   底色渐变自左向右擦入 + 高光斜向扫过 + 轻微上浮
   阴影采用紧致柔和的小投影，不再使用大扩散阴影与 brightness 提亮
   ============================================================ */
.second__btn {
    display: inline-flex;
    padding: 0.18rem 0.4rem;
    justify-content: center;
    align-items: center;
    gap: 0.1rem;
    background: var(--Style, #02347D);
    color: #FFF;
    font-family: Inter, sans-serif;
    font-size: 0.18rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: capitalize;
    border: none;
    cursor: pointer;
    text-decoration: none;
    align-self: flex-start;
    /* 建立包含块，供高光层定位并裁切 */
    position: relative;
    overflow: hidden;
    /* 擦入层：默认宽度 0，悬浮时铺满 */
    background-image: linear-gradient(100deg, #0A4BA8 0%, #014ADC 100%);
    background-repeat: no-repeat;
    background-size: 0% 100%;
    background-position: 0 0;
    transition: background-size 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
        transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
        box-shadow 0.3s ease,
        color 0.3s ease;
}

/* 高光扫过层：半透明白色斜条，掠过按钮表面 */
.second__btn::after {
    content: "";
    position: absolute;
    top: -30%;
    left: 0;
    width: 34%;
    height: 160%;
    background: linear-gradient(100deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.38) 50%,
            rgba(255, 255, 255, 0) 100%);
    transform: translateX(-220%) skewX(-18deg);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.25s ease;
}

.second__btn:hover {
    background-size: 100% 100%;
    transform: translateY(-0.02rem);
    box-shadow: 0 0.05rem 0.14rem rgba(2, 52, 125, 0.22);
    filter: none;
}

.second__btn:hover::after {
    transform: translateX(320%) skewX(-18deg);
    opacity: 1;
}

.second__btn:active {
    transform: translateY(0);
    box-shadow: 0 0.01rem 0.04rem rgba(2, 52, 125, 0.16);
    transition-duration: 0.12s;
}

.third {
    height: 7.58rem;
    padding-left: 1.6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: url('../assets/images/industries/third-img1.webp') no-repeat center / cover;
    position: relative;
}

.third__title {
    color: #FFF;
    font-family: Inter;
    font-size: 0.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 0.2rem;
}

.third__desc {
    color: rgba(255, 255, 255, 0.80);
    font-family: Inter;
    font-size: 0.18rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    /* 27px */
}

.third__map {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 11.13rem;
    height: 6.25rem;
}

.third__img {
    width: 100%;
    height: 100%;
    display: block;
}

.third__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
}

.third__item-label {
    width: 1.26rem;
    height: 0.32rem;
    border-radius: 0.49rem;
    background: #02091B;
    color: #FFF;
    font-family: Inter;
    font-size: 0.14rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    /* 21px */
    display: flex;
    align-items: center;
    justify-content: center;
}

.third__item-line {
    width: 0.01rem;
    height: 1rem;
    background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
}

.third__item img {
    width: 0.33rem;
    height: 0.16rem;
}

/* ---------- 滚动入场动效 ---------- */
html.js .second .second__tabs:not(.is-in-view),
html.js .second .second__card:not(.is-in-view) {
    opacity: 0;
    transform: translateY(0.2rem);
}

.second .second__tabs.is-in-view {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0s backwards;
}

.second .second__card.is-in-view:nth-child(1) {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.1s backwards;
}

.second .second__card.is-in-view:nth-child(2) {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.15s backwards;
}

.second .second__card.is-in-view:nth-child(3) {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards;
}

.second .second__card.is-in-view:nth-child(4) {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.25s backwards;
}

.second .second__card.is-in-view:nth-child(5) {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards;
}

.second .second__card.is-in-view:nth-child(6) {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.35s backwards;
}

.second .second__card.is-in-view:nth-child(7) {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.4s backwards;
}

.second .second__card.is-in-view:nth-child(8) {
    animation: secondFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.45s backwards;
}

/* 分类点击切换时：单卡统一 0s 延迟入场。
   必须以更高优先级覆盖 .is-in-view:nth-child(n) 的按序延迟规则 */
html.js .second .second__card.is-in-view.is-switching,
.second__card.is-switching {
    animation: secondFadeUp 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0s backwards;
}

@keyframes secondFadeUp {
    from {
        opacity: 0;
        transform: translateY(0.2rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 系统开启"减少动态效果"时：直接显示 */
@media (prefers-reduced-motion: reduce) {

    html.js .second .second__tabs:not(.is-in-view),
    html.js .second .second__card:not(.is-in-view) {
        opacity: 1;
        transform: none;
    }

    /* 按钮悬浮：只保留颜色变化，去掉上浮与扫光 */
    .second__btn::after {
        display: none;
    }

    .second__btn:hover,
    .second__btn:active {
        transform: none;
    }
}

/* ---------- H5 适配 ---------- */
html[data-mode="h5"] .first {
    height: 4.4rem;
    padding: 0 0.3rem;
}

html[data-mode="h5"] .first__title {
    font-size: 0.36rem;
    margin-bottom: 0.16rem;
}

html[data-mode="h5"] .first__desc {
    font-size: 0.14rem;
    max-width: 100%;
}

html[data-mode="h5"] .first__breadcrumb {
    left: 0.3rem;
    bottom: 0.20rem;
    font-size: 0.14rem;
    gap: 0.06rem;
}

html[data-mode="h5"] .second__tabs {
    padding: 0.2rem 0.3rem;
    gap: 0.1rem 0;
}

html[data-mode="h5"] .second__tab {
    font-size: 0.14rem;
    padding: 0 0.12rem;
}

html[data-mode="h5"] .second__tab-divider {
    height: 0.18rem;
}

html[data-mode="h5"] .second__cards {
    margin: 0.3rem auto 0.4rem;
    gap: 0.3rem;
    padding: 0 0.3rem;
}

html[data-mode="h5"] .second__card,
html[data-mode="h5"] .second__card:nth-child(even) {
    flex-direction: column;
    max-width: 100%;
}

html[data-mode="h5"] .second__img {
    width: 100%;
    height: 3.5rem;
}

html[data-mode="h5"] .second__body {
    width: 100%;
    height: auto;
    padding: 0.3rem;
}

html[data-mode="h5"] .second__title {
    font-size: 0.24rem;
    margin-bottom: 0.12rem;
}

html[data-mode="h5"] .second__desc {
    font-size: 0.14rem;
    margin-bottom: 0.12rem;
}

html[data-mode="h5"] .second__tags {
    margin-bottom: 0.3rem;
}

html[data-mode="h5"] .second__tag {
    font-size: 0.12rem;
}

html[data-mode="h5"] .second__btn {
    font-size: 0.14rem;
    padding: 0.12rem 0.3rem;
}

/* ============================================================
   第三屏：Delivering to Projects Worldwide
   - 标记点定位（设计稿坐标 1920：px ÷ 100 = rem）
   - 标记点悬浮动效
   - 滚动入场动效
   ============================================================ */

/* ---------- 标记点定位（百分比，相对地图容器，PC/H5 等比缩放不错位） ---------- */
.third__item:nth-of-type(1) { left: 1.35%;  top: 59.36%; }
.third__item:nth-of-type(2) { left: 14.92%; top: 28.64%; }
.third__item:nth-of-type(3) { left: 31.68%; top: 2%; }
.third__item:nth-of-type(4) { left: 37.38%; top: 30.4%; }
.third__item:nth-of-type(5) { left: 49.96%; top: 2%; }
.third__item:nth-of-type(6) { left: 77.54%; top: 41.6%; }

/* ---------- 标记点悬浮动效 ---------- */
.third__item {
    transition: transform 0.35s ease;
}

.third__item-label {
    transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.third__item img {
    transition: transform 0.3s ease;
}

.third__item:hover {
    transform: translateY(-0.06rem);
}

.third__item:hover .third__item-label {
    background: #FFF;
    color: #02347D;
    box-shadow: 0 0.06rem 0.16rem rgba(0, 0, 0, 0.22);
}

.third__item:hover img {
    transform: scale(1.12);
}

/* ---------- 第三屏滚动入场动效（index.js 为 #third 添加 .is-in-view 触发） ---------- */
html.js .third:not(.is-in-view) .third__title,
html.js .third:not(.is-in-view) .third__desc,
html.js .third:not(.is-in-view) .third__img,
html.js .third:not(.is-in-view) .third__item {
    opacity: 0;
}

html.js .third:not(.is-in-view) .third__title,
html.js .third:not(.is-in-view) .third__desc {
    transform: translateX(-0.3rem);
}

html.js .third:not(.is-in-view) .third__item {
    transform: translateY(0.3rem);
}

.third.is-in-view .third__title {
    animation: thirdFadeLeft 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0s backwards;
}

.third.is-in-view .third__desc {
    animation: thirdFadeLeft 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.1s backwards;
}

.third.is-in-view .third__img {
    animation: thirdFadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.15s backwards;
}

.third.is-in-view .third__item:nth-of-type(1) { animation: thirdFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards; }
.third.is-in-view .third__item:nth-of-type(2) { animation: thirdFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.28s backwards; }
.third.is-in-view .third__item:nth-of-type(3) { animation: thirdFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.36s backwards; }
.third.is-in-view .third__item:nth-of-type(4) { animation: thirdFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.44s backwards; }
.third.is-in-view .third__item:nth-of-type(5) { animation: thirdFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.52s backwards; }
.third.is-in-view .third__item:nth-of-type(6) { animation: thirdFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.6s backwards; }

@keyframes thirdFadeUp {
    from {
        opacity: 0;
        transform: translateY(0.3rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes thirdFadeLeft {
    from {
        opacity: 0;
        transform: translateX(-0.3rem);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 系统开启"减少动态效果"时：直接显示 */
@media (prefers-reduced-motion: reduce) {
    html.js .third:not(.is-in-view) .third__title,
    html.js .third:not(.is-in-view) .third__desc,
    html.js .third:not(.is-in-view) .third__img,
    html.js .third:not(.is-in-view) .third__item {
        opacity: 1;
        transform: none;
    }
}

/* ---------- H5 适配：地图等比缩放，标记点保持落在地图上 ---------- */
html[data-mode="h5"] .third {
    height: auto;
    padding: 0.5rem 0.3rem 0.6rem;
    justify-content: flex-start;
}

html[data-mode="h5"] .third__title {
    font-size: 0.3rem;
    margin-bottom: 0.14rem;
}

html[data-mode="h5"] .third__desc {
    font-size: 0.16rem;
    margin-bottom: 0.1rem;
}

html[data-mode="h5"] .third__map {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    height: auto;
    margin-top: 0.3rem;
    overflow: visible;
}

html[data-mode="h5"] .third__img {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    margin-top: 0;
}

html[data-mode="h5"] .third__item {
    position: absolute;
    flex-direction: column;
    align-items: center;
}

html[data-mode="h5"] .third__item-label {
    width: auto;
    height: auto;
    padding: 0.04rem 0.14rem;
    font-size: 0.2rem;
    white-space: nowrap;
}

html[data-mode="h5"] .third__item-line {
    width: 0.01rem;
    height: 0.5rem;
    background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0) 100%);
}

html[data-mode="h5"] .third__item img {
    width: 0.22rem;
    height: auto;
}

html[data-mode="h5"] .third__item:hover {
    transform: none;
}