/* 贷款页面特定样式 */

/* 英雄区域 */
.hero {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
}

.hero-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hero-content {
    max-width: 526px;
}

.hero h1 {
    font-size: 60px;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 20px;
    line-height: 1.2;
}

.hero p {
    font-size: 22px;
    color: #333333;
    margin-bottom: 40px;
    line-height: 1.5;
}

.hero-buttons {
    display: flex;
    gap: 20px;
}

.btn-dark {
    width: 108px;
    height: 35px;
    background-color: var(--black);
    border-radius: 27px;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 14px;
    font-weight: 500;
}

.btn-dark img {
    height: 18px;
}

/* 英雄区域图片 */
.hero-image {
    position: relative;
    width: 860px;
    height: 642px;
}

.circle-bg {
    position: absolute;
    border-radius: 50%;
    background: rgba(34, 96, 255, 0.05);
    border: 1px solid white;
}

.circle-1 {
    width: 860px;
    height: 860px;
    left: 0;
    top: 51px;
}

.circle-2 {
    width: 661px;
    height: 661px;
    left: 100px;
    top: 151px;
}

.circle-3 {
    width: 399px;
    height: 399px;
    left: 231px;
    top: 282px;
}

.phone-main {
    position: absolute;
    width: 546px;
    height: 511px;
    left: 187px;
    top: -28px;
}

.decoration-element {
    position: absolute;
}

.top-right {
    width: 141px;
    height: 160px;
    left: 492px;
    top: 1px;
    transform: rotate(8deg);
}

.top-left {
    width: 55px;
    height: 66px;
    left: 117px;
    top: 65px;
    transform: rotate(-15deg);
}

.coin-container {
    position: absolute;
    width: 104px;
    height: 104px;
    left: 83px;
    top: 241px;
}

.coin-bg {
    position: absolute;
    width: 104px;
    height: 104px;
}

.coin {
    position: absolute;
    width: 57px;
    height: 68px;
    left: 24px;
    top: 18px;
}

/* 特性区域 */
.feature-section {
    padding-top: 80px;
}

.feature-section.safety,
.feature-section.fees {
    background-color: #F7F8FF;
}

.feature-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.feature-container.reverse {
    flex-direction: row-reverse;
}

.feature-image {
    position: relative;
    width: 544px;
    height: 608px;
}

.feature-bg {
    position: absolute;
    width: 544px;
    height: 560px;
    opacity: 0.8;
}

.feature-shadow {
    position: absolute;
    width: 299px;
    height: 117px;
    left: 172px;
    top: 371px;
    filter: blur(12.85px);
}

.feature-phone {
    position: absolute;
    width: 299px;
    height: 347px;
    left: 117px;
    top: 147px;
}

.feature-content {
    max-width: 668px;
}

.feature-content h2 {
    font-size: 40px;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 20px;
}

.feature-content h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 20px;
}

.feature-content p {
    font-size: 24px;
    color: var(--gray);
    line-height: 1.5;
}

/* 速度区域 */
.speed-image {
    position: relative;
    width: 507px;
    height: 616px;
}

.speed-phone {
    position: absolute;
    width: 349px;
    height: 499px;
    left: -12px;
    top: 118px;
    background: linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0) 100%);
}

.speed-top-img {
    position: absolute;
    width: 394px;
    height: 197px;
    left: 64px;
    top: 38px;
}

.speed-decoration-1 {
    position: absolute;
    left: 438px;
    top: 173px;
}

.speed-decoration-2 {
    position: absolute;
    width: 70px;
    height: 81px;
    left: 0;
    top: 221px;
    transform: rotate(-22deg);
}

.speed-decoration-3 {
    position: absolute;
    left: 128px;
    top: 69px;
}

/* 费用区域 */
.fees-image {
    position: relative;
    width: 496px;
    height: 458px;
}

.fees-bg {
    width: 496px;
}

.fees-phone-container {
    position: absolute;
    width: 273px;
    height: 458px;
    left: 122px;
    top: 0;
}

.fees-phone-screen {
    position: absolute;
    width: 259px;
    height: 447px;
    left: 8px;
    top: 11px;
}

.fees-phone-frame {
    position: absolute;
    width: 273px;
    height: 458px;
    left: 0;
    top: 0;
}

.fees-decoration {
    position: absolute;
    width: 160px;
    height: 173px;
    left: 336px;
    top: 127px;
}

/* 贷款步骤区域 */
.loan-steps {
    padding: 80px 0;
}

.section-title {
    font-size: 40px;
    font-weight: 700;
    color: var(--dark-blue);
    text-align: center;
    margin-bottom: 60px;
}

.steps-container {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    height: 30vw;
}

.step-card {
    position: relative;
    height: 500px;
    width: 397px;
    border-radius: 28px;
    background-color: #F7F8FF;
    padding: 30px;
    padding-bottom: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.step-number {
    position: relative;
    width: 32px;
    height: 32px;
    margin-bottom: 20px;
}

.step-number img {
    position: absolute;
    width: 32px;
    height: 32px;
}

.step-number span {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 24px;
    font-weight: 700;
}

.step-card h3 {
    font-size: 30px;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 15px;
}

.step-card p {
    font-size: 20px;
    color: var(--gray);
    margin-bottom: 30px;
}

.step-image {
    position: relative;
    height: 280px;
    margin: 0 -30px;
    display: flex;
}

.step-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #DFE8FF;
    border-bottom-left-radius: 28px;
    border-bottom-right-radius: 28px;
    display: flex;
    justify-content: center;
    align-items: end;
}

.step-bg>img {
    width: 50%;
}

.step-colored-bg {
    position: absolute;
    width: 100%;
    height: 270px;
    top: 10px;
    border-bottom-left-radius: 28px;
    border-bottom-right-radius: 28px;
}

.step-phone {
    width: 50%;
}

.step-phone-container {
    position: absolute;
    width: 225px;
    height: 462px;
    left: 86px;
    top: 36px;
}

.step-phone-screen {
    position: absolute;
    width: 212px;
    height: 394px;
    left: 6px;
    top: 4px;
    background: #F6F6FA;
    border-radius: 24px;
}

.step-phone-screen img {
    position: absolute;
    width: 212px;
    height: 362px;
    left: 0;
    top: 25px;
    border-radius: 24px;
}

.step-phone-frame {
    position: absolute;
    width: 225px;
    height: 462px;
}

.app-buttons {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.app-button {
    width: 199px;
    height: 60px;
    background-color: var(--white);
    border-radius: 51px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 10px;
}

.app-button-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.app-store-text {
    display: flex;
    align-items: center;
    gap: 2px;
}

.download-image {
    position: relative;
    width: 749px;
    height: 514px;
}

.download-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 38px;
}

.download-decoration {
    position: absolute;
    width: 548px;
    height: 274px;
    left: 114px;
    top: 43px;
}

.download-phone-container {
    position: relative;
}

.download-phone-1 {
    position: absolute;
    width: 273px;
    height: 561px;
    left: 75px;
    top: 213px;
}

.download-phone-screen {
    position: absolute;
    width: 258px;
    height: 477px;
    left: 8px;
    top: 5px;
    background: #F6F6FA;
    border-radius: 24px;
}

.download-phone-screen img {
    position: absolute;
    width: 258px;
    height: 439px;
    left: 0;
    top: 30px;
    border-radius: 24px;
}

.download-phone-frame {
    position: absolute;
    width: 273px;
    height: 561px;
}

.download-phone-2 {
    position: absolute;
    width: 311px;
    height: 635px;
    left: 307px;
    top: 97px;
}

.download-decoration-1 {
    position: absolute;
    width: 76px;
    height: 84px;
    right: 10px;
    top: 249px;
    transform: rotate(18deg);
}

.download-decoration-2 {
    position: absolute;
    width: 57px;
    height: 66px;
    left: 529px;
    top: 163px;
    transform: rotate(-13deg);
}

.download-decoration-3 {
    position: absolute;
    left: 734px;
    top: 39px;
}

/* 响应式样式 */
@media (max-width: 1200px) {
    .hero-image {
        transform: scale(0.8);
        transform-origin: right center;
    }

    .feature-image {
        transform: scale(0.9);
        transform-origin: center;
    }

    .steps-container {
        flex-wrap: wrap;
        justify-content: center;
    }

    .step-card {
        width: 45%;
    }

    .download {
        margin: 0 40px 60px;
    }
}

@media (max-width: 992px) {
    .hero .container {
        flex-direction: column;
    }

    .hero-content {
        text-align: center;
        margin-bottom: 40px;
    }

    .hero-buttons {
        justify-content: center;
    }

    .feature-container {
        flex-direction: column;
    }

    .feature-container.reverse {
        flex-direction: column;
    }

    .feature-content {
        text-align: center;
    }

    .step-card {
        width: 100%;
        max-width: 500px;
    }

    .download-container {
        flex-direction: column;
    }

    .download-content {
        text-align: center;
        margin-bottom: 40px;
    }

    .app-buttons {
        flex-direction: row;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .hero h1 {
        font-size: 40px;
    }

    .hero p {
        font-size: 18px;
    }

    .feature-content h2 {
        font-size: 32px;
    }

    .feature-content h3 {
        font-size: 18px;
    }

    .feature-content p {
        font-size: 18px;
    }

    .section-title {
        font-size: 32px;
    }

    .step-card h3 {
        font-size: 24px;
    }

    .step-card p {
        font-size: 16px;
    }

    .download h2 {
        font-size: 50px;
    }
}