.lease-main-wrap{
    width:100%;
    background:#fff;
    padding:42px 0 80px;
    overflow:hidden;
    box-sizing:border-box;
}

.lease-main-wrap *{
    box-sizing:border-box;
}

.lease-main-title{
    width:100%;
    text-align:center;
    margin:20px 0 60px;
    font-size:40px;
    line-height:1.38;
    letter-spacing:-1px;
    color:#000;
}

.lease-main-title strong{
    display:block;
    font-weight:800;
}

.lease-main-title span{
    color:#0869f9;
}

/* =========================
   PC 메인 슬라이드
========================= */
.lease-visual-area{
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
}

.lease-swiper{
    position:relative;
    width:100%;
    overflow:hidden;
}

/* 처음 진입 시 슬라이드가 움직였다가 정렬되는 현상 방지 */
.lease-swiper.lease-initializing{
    opacity:0;
    visibility:hidden;
}

.lease-swiper.lease-ready{
    opacity:1;
    visibility:visible;
    transition:opacity .22s ease;
}

.lease-swiper-viewport{
    width:100%;
    max-width:none;
    margin:0;
    overflow:hidden;
}

.lease-swiper-track{
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    gap:40px;
    transition:transform .55s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}

/* PC 가운데 이미지 더 길고 넓게 */
.lease-slide{
    flex:0 0 clamp(980px, 67vw, 1290px);
    width:clamp(980px, 67vw, 1290px);
    min-width:clamp(980px, 67vw, 1290px);
    height:clamp(390px, 27vw, 520px);
    border-radius:18px;
    overflow:hidden;
    background:#f3f7fb;
    opacity:1;
    transform:none;
    transition:none;
}

.lease-slide.active{
    opacity:1;
    transform:none;
}

.lease-slide.is-clone{
    pointer-events:none;
}

.lease-slide-banner{
    display:block;
    width:100%;
    height:100%;
    text-decoration:none;
}

.lease-slide-img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.lease-slide-img-pc{
    display:block;
}

.lease-slide-img-mo{
    display:none;
}

/* 슬라이드 점 */
.lease-swiper-dots{
    position:absolute;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}

.lease-dot{
    width:10px;
    height:10px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.35);
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
}

.lease-dot.active{
    background:#fff;
    transform:scale(1.1);
}

/* 슬라이드 카운트 */
.lease-swiper-count-box{
    position:absolute;
    right:calc(50% - 625px + 18px);
    bottom:14px;
    z-index:11;
    height:34px;
    padding:0 13px;
    border-radius:0;
    background:rgba(28,35,48,.72);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:14px;
    font-weight:700;
}

.lease-swiper-btn{
    border:0;
    background:transparent;
    color:#fff;
    font-size:13px;
    font-weight:800;
    line-height:1;
    padding:0;
    cursor:pointer;
}

.lease-swiper-count strong{
    color:#fff;
    font-weight:800;
}

/* =========================
   아이콘 메뉴
========================= */
.lease-service-menu{
    width:100%;
    max-width:1280px;
    margin:70px auto 0;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
    padding:0 10px;
}

.lease-service-item{
    position:relative;
    height:82px;
    border-radius:12px;
    background:#f4f7fa;
    color:#07182f;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-decoration:none;
    font-size:22px;
    font-weight:800;
    letter-spacing:-0.9px;
    transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
    overflow:visible;
    padding:0 14px;
}

.lease-service-item:hover{
    background:#eef4fb;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(16,40,80,.08);
    color:#07182f;
    text-decoration:none;
}

.lease-service-icon{
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 38px;
}

.lease-service-icon img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

.lease-service-text{
    display:inline-block;
    white-space:nowrap;
    color:#07182f;
}

.lease-service-badge{
    display: none;
    position:absolute;
    right:12px;
    top:-12px;
    height:26px;
    padding:0 9px;
    border-radius:14px;
    color:#fff;
    font-size:14px;
    line-height:26px;
    font-weight:800;
    letter-spacing:-.3px;
    z-index:2;
    white-space:nowrap;
}

.lease-service-badge.blue{
    background:#168bff;
}

.lease-service-badge.pink{
    background:#f56bae;
}

.lease-service-badge.red{
    background:#ff554f;
}

.lease-service-badge.green{
    background:#22b573;
}

/* =========================
   빠른견적문의
========================= */
.lease-quick-area{
    display:none;
    width:100%;
    max-width:1280px;
    margin:72px auto 0;
}

.lease-quick-form{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
}

.lease-form-title{
    flex:0 0 250px;
    margin:0;
    color:#000;
    font-size:30px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.8px;
    white-space:nowrap;
}

.lease-form-fields{
    flex:1 1 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
    min-width:0;
}

.lease-form-group{
    width:100%;
    min-width:0;
}

.lease-form-group select,
.lease-form-group input[type="text"]{
    display:block;
    width:100%;
    height:44px;
    border:1px solid #dedede;
    border-radius:0;
    background:#fff;
    color:#222;
    padding:0 14px;
    font-size:14px;
    font-weight:400;
    outline:none;
    letter-spacing:-.4px;
}

.lease-form-group select:focus,
.lease-form-group input[type="text"]:focus{
    border-color:#12377c;
}

.lease-form-group select:disabled{
    background:#f8f8f8;
    color:#999;
    cursor:not-allowed;
}

.lease-phone-group{
    grid-column:span 2;
}

.lease-form-action{
    flex:0 0 300px;
    min-width:0;
}

.lease-agree{
    display:flex;
    align-items:center;
    gap:5px;
    margin:0 0 12px;
    color:#555;
    font-size:13px;
    line-height:1.3;
    letter-spacing:-.4px;
}

.lease-agree label{
    display:flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
}

.lease-agree input[type="checkbox"]{
    width:15px;
    height:15px;
    margin:0;
    accent-color:#12377c;
}

.lease-agree a{
    color:#385274;
    text-decoration:none;
}

.lease-submit-btn{
    width:100%;
    height:42px;
    border:0;
    border-radius:6px;
    background:#12377c;
    color:#fff;
    font-size:16px;
    font-weight:800;
    letter-spacing:-.5px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s ease, transform .2s ease;
}

.lease-submit-btn:hover{
    background:#0d2b62;
}

.lease-submit-btn:active{
    transform:translateY(1px);
}

/* 무한루프 위치 보정 중 깜빡임 제거 */
.lease-swiper-track.lease-no-anim,
.lease-swiper-track.lease-no-anim .lease-slide{
    transition:none !important;
}

/* =========================
   반응형 PC/TABLET
========================= */
@media (max-width:1600px){
    .lease-slide{
        flex:0 0 clamp(920px, 66vw, 1220px);
        width:clamp(920px, 66vw, 1220px);
        min-width:clamp(920px, 66vw, 1220px);
        height:clamp(380px, 26vw, 500px);
        opacity:1;
    }

    .lease-swiper-count-box{
        right:calc(50% - 590px + 18px);
    }
}

@media (max-width:1200px){
    .lease-swiper-count-box{
        right:30px;
    }

    .lease-service-menu,
    .lease-quick-area{
        max-width:1040px;
    }

    .lease-service-item{
        font-size:18px;
    }

    .lease-service-icon{
        width:34px;
        height:34px;
        flex-basis:34px;
    }
}

@media (max-width:991px){
    .lease-main-title{
        font-size:32px;
        margin-bottom:38px;
    }

    .lease-service-menu{
        grid-template-columns:repeat(2, 1fr);
        max-width:720px;
        gap:16px;
    }

    .lease-quick-form{
        flex-direction:column;
        align-items:stretch;
        gap:18px;
        max-width:720px;
        margin:0 auto;
    }

    .lease-form-title{
        flex:none;
        text-align:center;
    }

    .lease-form-action{
        flex:none;
        width:100%;
    }
}

/* =========================
   모바일 메인 화면
========================= */
@media (max-width:768px){
    .lease-main-wrap{
        padding:20px 0 36px !important;
        background:#fff;
        overflow:hidden;
    }

    .lease-main-title{
        display:block !important;
        width:100%;
        margin:10px 0 40px !important;
        padding:0 16px;
        text-align:center;
        font-size:23px !important;
        line-height:1.35 !important;
        letter-spacing:-1px;
        color:#000;
    }

    .lease-main-title strong{
        display:block;
        font-weight:900;
    }

    .lease-main-title span{
        color:#0869f9;
        font-weight:900;
    }

    .lease-visual-area{
        width:100vw !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
        overflow:hidden !important;
    }

    .lease-swiper{
        width:100vw !important;
        margin:0 !important;
        overflow:hidden !important;
        position:relative;
    }

    .lease-swiper-viewport{
        width:100vw !important;
        max-width:none !important;
        margin:0 !important;
        overflow:hidden !important;
    }

    .lease-swiper-track{
        display:flex !important;
        align-items:center !important;
        gap:16px !important;
        transition:transform .55s cubic-bezier(.22,.61,.36,1);
        will-change:transform;
    }

    .lease-slide{
        flex:0 0 min(356px, calc(100vw - 82px)) !important;
        width:min(356px, calc(100vw - 82px)) !important;
        min-width:min(356px, calc(100vw - 82px)) !important;
        height:390px !important;
        border-radius:12px !important;
        overflow:hidden !important;
        opacity:1 !important;
        transform:none !important;
        background:#eaf9f1;
    }

    .lease-slide.active{
        opacity:1 !important;
        transform:none !important;
    }

    .lease-slide-banner{
        display:block;
        width:100%;
        height:100%;
    }

    .lease-slide-img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }

    .lease-slide-img-pc{
        display:none !important;
    }

    .lease-slide-img-mo{
        display:block !important;
    }

    .lease-swiper-dots{
        display:none !important;
    }

    .lease-swiper-count-box{
        display:flex !important;
        position:absolute !important;
        right:calc((100vw - min(356px, calc(100vw - 82px))) / 2 + 12px) !important;
        bottom:12px !important;
        z-index:20;
        height:30px;
        padding:0 10px;
        background:rgba(28,35,48,.78);
        color:#fff;
        font-size:13px;
        font-weight:800;
        align-items:center;
        justify-content:center;
        gap:7px;
    }

    .lease-swiper-btn{
        font-size:12px;
        color:#fff;
        border:0;
        background:transparent;
        padding:0;
        line-height:1;
    }

    .lease-swiper-count strong{
        color:#fff;
        font-weight:900;
    }

    /* 모바일 서비스 메뉴 - 가로 스와이프 */
    .lease-service-menu{
        width:100vw !important;
        max-width:none !important;
        margin:26px 0 0 !important;
        padding:12px 24px 0 !important;
        display:flex !important;
        flex-wrap:nowrap !important;
        gap:10px !important;
        overflow-x:auto !important;
        overflow-y:visible !important;
        -webkit-overflow-scrolling:touch;
        box-sizing:border-box;
        scroll-snap-type:x proximity;
        scroll-padding-left:24px;
        scroll-padding-right:24px;
        scrollbar-width:none;
        -ms-overflow-style:none;
    }

    .lease-service-menu::-webkit-scrollbar{
        display:none;
    }

    .lease-service-item{
        position:relative;
        flex:0 0 146px !important;
        width:146px !important;
        min-width:146px !important;
        height:54px !important;
        border-radius:10px !important;
        background:#f4f7fa !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:7px !important;
        color:#07182f !important;
        font-size:13px !important;
        line-height:1 !important;
        font-weight:800 !important;
        letter-spacing:-.7px;
        text-decoration:none !important;
        box-shadow:none !important;
        transform:none !important;
        white-space:nowrap;
        overflow:visible !important;
        scroll-snap-align:start;
        padding:0 10px !important;
    }

    .lease-service-icon{
        width:22px !important;
        height:22px !important;
        flex:0 0 22px !important;
    }

    .lease-service-icon img{
        width:100% !important;
        height:100% !important;
        object-fit:contain !important;
    }

    .lease-service-text{
        display:inline-block;
        white-space:nowrap;
        font-size:13px !important;
    }

    .lease-service-badge{
        position:absolute !important;
        right:6px !important;
        top:-10px !important;
        height:18px !important;
        padding:0 6px !important;
        border-radius:10px !important;
        font-size:9px !important;
        line-height:18px !important;
        font-weight:900 !important;
        color:#fff !important;
        letter-spacing:-.3px;
        z-index:3 !important;
        white-space:nowrap !important;
    }

    .lease-service-badge.blue{
        background:#168bff;
    }

    .lease-service-badge.pink{
        background:#f56bae;
    }

    .lease-service-badge.red{
        background:#ff554f;
    }

    .lease-service-badge.green{
        background:#22b573;
    }

    .lease-quick-area{
        width:100%;
        max-width:none !important;
        margin:42px auto 0 !important;
        padding:0 38px !important;
        box-sizing:border-box;
    }

    .lease-quick-form{
        width:100% !important;
        display:block !important;
        padding:0 !important;
        border-radius:0 !important;
        background:#fff !important;
        box-shadow:none !important;
    }

    .lease-form-title{
        display:block !important;
        width:100% !important;
        margin:0 0 20px !important;
        padding:0 !important;
        text-align:center !important;
        color:#000;
        font-size:21px !important;
        line-height:1.3;
        font-weight:900;
        letter-spacing:-.8px;
    }

    .lease-form-fields{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:10px 8px !important;
        width:100%;
    }

    .lease-form-group{
        width:100%;
        min-width:0;
        margin:0 !important;
        padding:0 !important;
    }

    .lease-form-group:first-child{
        grid-column:1 / -1;
        order:1;
    }

    .lease-form-group:nth-child(2){
        grid-column:1 / -1;
        order:3;
    }

    .lease-form-group:nth-child(3){
        order:2;
    }

    .lease-form-group:nth-child(4){
        order:2;
    }

    .lease-phone-group{
        grid-column:1 / -1 !important;
        order:4;
    }

    .lease-form-group select,
    .lease-form-group input[type="text"]{
        width:100%;
        height:46px !important;
        border:1px solid #dedede !important;
        border-radius:0 !important;
        background:#fff !important;
        color:#222;
        padding:0 14px !important;
        font-size:14px !important;
        font-weight:400;
        letter-spacing:-.4px;
        outline:none;
        box-shadow:none;
    }

    .lease-form-group select:disabled{
        background:#fafafa !important;
        color:#aaa;
    }

    .lease-form-action{
        width:100% !important;
        margin:15px 0 0 !important;
        padding:0 !important;
    }

    .lease-agree{
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:5px !important;
        margin:0 0 30px !important;
        padding:0 !important;
        color:#555;
        font-size:13px !important;
        line-height:1.4;
        letter-spacing:-.5px;
        flex-wrap:nowrap !important;
    }

    .lease-agree label{
        display:flex;
        align-items:center;
        gap:6px;
        white-space:nowrap;
    }

    .lease-agree input[type="checkbox"]{
        width:16px !important;
        height:16px !important;
        margin:0 !important;
        accent-color:#12377c;
        flex:0 0 auto;
    }

    .lease-agree a{
        color:#34567c;
        text-decoration:none;
        white-space:nowrap;
    }

    .lease-submit-btn{
        width:100% !important;
        height:45px !important;
        margin:0 !important;
        border:0 !important;
        border-radius:6px !important;
        background:#123f8c !important;
        color:#fff !important;
        font-size:17px !important;
        font-weight:900 !important;
        letter-spacing:-.7px;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        cursor:pointer;
    }
}

@media (max-width:430px){
    .lease-main-title{
        font-size:25px !important;
    }

    .lease-slide{
        flex-basis:min(340px, calc(100vw - 70px)) !important;
        width:min(340px, calc(100vw - 70px)) !important;
        min-width:min(340px, calc(100vw - 70px)) !important;
        height:374px !important;
    }

    .lease-swiper-count-box{
        right:calc((100vw - min(340px, calc(100vw - 70px))) / 2 + 12px) !important;
    }

    .lease-quick-area{
        padding:0 38px !important;
    }

    .lease-service-menu{
        padding:12px 24px 0 !important;
    }

    .lease-service-item{
        flex-basis:140px !important;
        width:140px !important;
        min-width:140px !important;
    }

    .lease-service-text{
        font-size:12px !important;
    }
}

@media (max-width:390px){
    .lease-slide{
        flex-basis:min(320px, calc(100vw - 58px)) !important;
        width:min(320px, calc(100vw - 58px)) !important;
        min-width:min(320px, calc(100vw - 58px)) !important;
        height:354px !important;
    }

    .lease-swiper-count-box{
        right:calc((100vw - min(320px, calc(100vw - 58px))) / 2 + 12px) !important;
    }

    .lease-quick-area{
        padding:0 26px !important;
    }

    .lease-service-menu{
        padding:12px 20px 0 !important;
        gap:9px !important;
    }

    .lease-service-item{
        flex-basis:134px !important;
        width:134px !important;
        min-width:134px !important;
        height:52px !important;
    }

    .lease-service-text{
        font-size:12px !important;
    }
}