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

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

.cover-container .hero-interactive-bg {
    position: absolute;
    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(180 * var(--hero-rpx));
    z-index: 500;
    max-width: calc(560 * 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(28 * var(--hero-rpx));
    line-height: calc(38 / 28);
    font-weight: 400;
    color: #183974;
    max-width: calc(450 * var(--hero-rpx));
}

.hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    overflow: hidden;
    container-type: inline-size;
    --hero-crop-top: 100;
    --hero-rpx: calc(100cqw / 1920);
}

@media (min-width: 829px) {
    .hero-inner {
        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;
}
