section.hero {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: var(--page-bg);
}

.hero-interactive {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    overflow: hidden;
}

.cover-container .hero-interactive-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: fill;
    object-position: center top;
    pointer-events: none;
    z-index: 0;
}

section.hero.hero-intro-pending .hero-interactive-bg {
    opacity: 0;
}

.hero-slogan {
    position: absolute;
    left: calc(80 * var(--hero-rpx));
    top: calc(160 * var(--hero-rpx));
    z-index: 500;
    max-width: calc(720 * var(--hero-rpx));
    visibility: hidden;
    pointer-events: none;
}

.hero-slogan-toolbar {
    display: none;
}

body.wfEditorMode .hero-slogan-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: calc(6 * var(--hero-rpx));
    margin-bottom: calc(6 * var(--hero-rpx));
    pointer-events: auto;
}

body.wfEditorMode .hero-slogan .editor-link-mockup {
    position: static;
    pointer-events: auto;
}

section.hero.hero-intro-pending .hero-slogan {
    visibility: hidden;
}

.hero-title {
    margin: 0;
    font-size: calc(58 * var(--hero-rpx));
    font-weight: 600;
    line-height: 1.12;
    color: #183974;
    letter-spacing: 0;
}

.hero-subtitle {
    margin: calc(12 * var(--hero-rpx)) 0 0;
    font-size: calc(40 * var(--hero-rpx));
    line-height: calc(50 / 40);
    font-weight: 400;
    color: #183974;
    max-width: calc(680 * var(--hero-rpx));
}

.hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    overflow: hidden;
    container-type: inline-size;
    --hero-crop-top: 100;
    /* 无 cqw：按视口宽近似；adapt.js 在不支持时会写入精确值 */
    --hero-rpx: calc(100vw / 1920);
}

@supports (width: 1cqw) {
    .hero-inner {
        --hero-rpx: calc(100cqw / 1920);
    }
}

@media (min-width: 829px) {
    .hero-inner {
        /* 无 aspect-ratio：用 16:9 padding 撑高 */
        height: 0;
        padding-bottom: 56.25%;
    }
}

@supports (aspect-ratio: 1 / 1) {
    @media (min-width: 829px) {
        .hero-inner {
            height: auto;
            padding-bottom: 0;
            aspect-ratio: 1920 / 1080;
        }
    }
}

@media (min-width: 829px) {
    .hero-mobile-bg,
    .hero-mobile-fade,
    .hero-mobile {
        display: none;
    }
}

section.hero.hero-intro-pending .topic-box {
    opacity: 0;
}

section.hero.hero-intro-done .hero-slogan {
    visibility: visible;
}

section.hero.hero-intro-done .hero-interactive-bg,
section.hero.hero-intro-done .topic-box {
    opacity: 1;
}
