.homeowner_loan { background-color: #FFFFFF; }
.homeowner_loan section { padding: 2rem 0; }

.section1_module {
    position: relative;border-radius: 1rem;
    width: 100%;aspect-ratio: 3/2;
    background-size: contain;background-position: center;background-repeat: no-repeat;
    overflow: hidden;
}
.section1_module::before {
    content: "";position: absolute;inset: 0;z-index: 0;
    background-color: rgba(73, 73, 73, 0.45);
}
.section1_module > * { position: relative;z-index: 1; }

.section1_module_title {
    color: #FFFFFF;font-size: 3rem;font-weight: 500;line-height: 1;
    padding: 1rem 1.5rem;background-color: #00000040;border-radius: 0.8rem;
    position: absolute;top: 1rem;left: 50%;transform: translateX(-50%);
}
.section1_module_left_bottom {
    position: absolute;left: 4%;bottom: 50%;
    display: flex;flex-direction: column;justify-content: center;align-items: start;
}
.section1_module_left_bottom div {
    display: inline-block;padding: 0.5rem 1rem;margin-top: 1rem;
    background-color: #059384eb;
    border-radius: 0.8rem;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    font-size: 1.5rem;color: #FFFFFF;text-align: end;
}
.section1_module_right_bottom{
    display: inline-flex;align-items: center;gap: 6px;
    background: #fff;padding: 0.5rem 1rem;
    position: absolute;border-radius: 1rem;bottom: 40%;right: 4%;
}
.section1_module_right_bottom_title {
    display: inline-block;font-size: 5rem;font-weight: 900;line-height: 0.9;
    font-style: italic;color: #53bcb1;transform: skewX(-2deg);
    text-shadow: 1px 1px 0 #57cdcf, 2px 2px 0 #57cdcf, 3px 3px 0 rgba(87, 205, 207, 0.25);
}
.section1_module_right_bottom_text {
    display: flex;flex-direction: column;align-items: end;
    padding-top: 4px;
}
.section1_module_right_bottom_text_top {
    font-size: 1.5rem;font-weight: 700;font-style: italic;line-height: 1;
    color: #57cdcf;letter-spacing: 1px;transform: skewX(-2deg);
}
.section1_module_right_bottom_text_bottom {
    margin-top: 0.2rem;font-size: 1.8rem;font-weight: 900;
    line-height: 1;color: #000000;
}

.section1_bottom {
    background-color: #059384eb;border-radius: 1rem;
    padding: 1rem;position: absolute;bottom: 4rem;right: 4%;
}
.section1_bottom_text1 { color: #FFFFFF;text-align: justify;font-size: 0.9rem; }
.section1_bottom_text2 {
    color: #FFFFFF;text-align: center;
    font-size: 1.5rem;letter-spacing: 0.2rem;
}
.section1_bottom_text2 span {
    color: transparent;font-size: 3rem;
    -webkit-text-stroke: 1.5px #FFFFFF;-webkit-text-fill-color: transparent;
}
.section1_bottom_text3 { color: #FFFFFF;text-align: center;font-size: 1.5rem; }

.section2_title {position: relative;width: 20rem;height: 10rem;}

/* 主体两个圆 */
.section2_title::before,
.section2_title::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: linear-gradient(90deg, #74c5c5 0%, #86cebb 100%);
}

.section2_title::before {
    width: 10rem;height: 10rem;left: 2rem;bottom: 0;
    background: linear-gradient(90deg, #61bdd0 0%, #74c5c5 100%);
}

.section2_title::after {width: 8rem;height: 8rem;left: 10rem;bottom: 0;}

/* 小圆点 */
.section2_title_dot {
    position: absolute;
    border-radius: 50%;
    background: linear-gradient(90deg, #6dcfd4 0%, #91ddd6 100%);
}

.section2_title_dot_left {width: 2rem;height: 2rem;left: 0;top: 0;}

.section2_title_dot_right {width: 1rem;height: 1rem;right: 0;bottom: 2rem;}

/* 文字 */
.section2_title_text {
    position: absolute;left: 50%;top: 56%;transform: translate(-50%, -50%);
    z-index: 2;text-align: center;color: #fff;white-space: nowrap;
}

.section2_title_text1 {font-size: 3rem;font-weight: 700;line-height: 1;}
.section2_title_text2 {
    font-size: 1.5rem;font-weight: 400;line-height: 1;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}

.section2_module_list {
    background-color: #3db0b1;width: 100%;
    border-radius: 1rem;margin-top: 2rem;padding: 3rem 2rem;
    display: flex;justify-content: center;align-items: start;gap: 2rem;
}
.section2_module { max-width: 12rem; }
.section2_module_img {
    border-radius: 1rem;padding: 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.section2_module_text {
    font-size: 1.5rem;color: #FFFFFF;
    text-align: center;margin-top: 1rem;
}

@media (max-width: 991px) {
    .section1 {
        background-color: #53bcb1;width: 98%;padding: 0 !important;
        border-radius: 0 1rem 1rem 0;margin-top: 2rem;
    }
    .section1 .container { padding: 0; }
    .section1_module {
        aspect-ratio: 8.7/10;border-radius: 0 1rem 0 0;
    }
    .section1_module_title { font-size: 1.2rem; }
    .section1_module_left_bottom { top: 6rem;bottom: auto;}
    .section1_module_left_bottom div {
        background-color: #53bcb1;;padding: 0.5rem;margin-top: 1rem;
        font-size: 1rem;border-radius: 0.5rem;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    }
    .section1_bottom {
        background-color: #53bcb1;border-radius: 0 0 1rem 0;padding: 1rem;
        position: unset;
    }
    .section1_bottom_text1 { color: #FFFFFF;text-align: justify;font-size: 0.9rem; }
    .section1_bottom_text2 {
        color: #FFFFFF;text-align: center;
        font-size: 1.2rem;letter-spacing: 0.2rem;
    }
    .section1_bottom_text2 span {
        color: transparent;font-size: 3rem;
        -webkit-text-stroke: 1.5px #FFFFFF;-webkit-text-fill-color: transparent;
    }
    .section1_bottom_text3 { color: #FFFFFF;text-align: center;font-size: 1.3rem; }
    .section1_module_right_bottom{ bottom: 2rem; }

    .section2 .container { padding: 0; }
    .section2_title { width: 16rem;height: 8rem; }
    .section2_title_dot_left { width: 1.3rem;height: 1.3rem; }
    .section2_title_dot_right { width: 0.9rem;height: 0.9rem;bottom: 1rem; }
    .section2_title_text1 { font-size: 2rem; }
    .section2_title_text2 { font-size: 1rem; }
    .section2_title::before { width: 8rem;height: 8rem; }
    .section2_title::after { width: 6rem;height: 6rem;left: 8rem; }
    .section2_module_list {
        background-color: #3db0b1;width: 98%;padding: 2rem 1rem;
        border-radius: 0 1rem 1rem 0;margin-top: 2rem;
        display: flex;justify-content: center;align-items: start;gap: 10px;
    }
    .section2_module_img { border-radius: 0.5rem;padding: 0.5rem; }
    .section2_module_text { font-size: 0.9rem; }
}
@media (max-width: 400px) {
    .section1_bottom_text2 { font-size: 1rem; }
    .section2_module_text {font-size: 0.8rem;}
}