.main_visual{
    position:relative;
    width:100%;
    height:calc(100vh - 85px);
    min-height:720px;
    overflow:hidden;
    background:var(--dark);
}

.main_video_wrap{
    position:absolute;
    inset:0;
    z-index:0;
    background:var(--dark);
    overflow:hidden;
}

.main_video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    opacity:0;
    transition:opacity .65s ease;
}

.main_video.is-active{
    opacity:1;
    z-index:1;
}

.main_visual_dim{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(90deg, rgba(16,19,23,.58) 0%, rgba(16,19,23,.34) 40%, rgba(16,19,23,.08) 100%),
        linear-gradient(180deg, rgba(16,19,23,.08) 0%, rgba(16,19,23,.28) 100%);
}

.main_visual_inner{
    position:relative;
    z-index:2;
    width:1500px;
    max-width:92%;
    height:100%;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#fff;
    padding-bottom:40px;
}

.main_visual_label{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-bottom:24px;
    padding:9px 18px;
    border:1px solid rgba(78,141,219,.45);
    border-radius:50px;
    background:rgba(15,61,115,.45);
    color:var(--point);
    font-size:14px;
    font-weight:800;
    letter-spacing:.12em;
}

.main_visual h2{
    color:#fff;
    font-size:48px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:-0.02em;
}

.main_visual h2 strong{
    color:var(--point);
}

.main_visual span{
    display:block;
    margin-top:28px;
    color:rgba(255,255,255,.78);
    font-size:20px;
    font-weight:400;
    line-height:1.8;
    letter-spacing:-0.02em;
}

.main_visual_btns{
    display:flex;
    gap:12px;
    margin-top:44px;
}

.main_visual_btns a {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 158px;
    height: 56px;
    padding: 0 30px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--main2), var(--main));
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 14px 34px rgba(15,61,115,.32);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.main_visual_btns a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.28) 45%, transparent 70%);
    transform: translateX(-120%);
    transition: transform .55s ease;
}

.main_visual_btns a:hover {
    transform: translateY(-4px);
    border-color: rgba(255,255,255,.36);
    box-shadow: 0 20px 46px rgba(15,61,115,.42);
}

.main_visual_btns a:hover::before {
    transform: translateX(120%);
}

.main_visual_btns a:nth-child(2) {
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.28);
    backdrop-filter: blur(10px);
    box-shadow: none;
}

.main_visual_btns a:nth-child(2):hover {
    background: rgba(255,255,255,.18);
}

@media (max-width:1200px){
    .main_visual{
        min-height:640px;
    }

    .main_visual h2{
        font-size:56px;
    }

    .main_visual span{
        font-size:18px;
    }
}

@media (max-width:768px){
    .main_visual{
        height:500px;
        min-height: 0;
    }

    .main_visual_dim{
        background:
            linear-gradient(90deg, rgba(16,19,23,.62) 0%, rgba(16,19,23,.36) 100%),
            linear-gradient(180deg, rgba(16,19,23,.08) 0%, rgba(16,19,23,.34) 100%);
    }

    .main_visual_inner{
        max-width:90%;
        padding-bottom:20px;
    }

    .main_visual_label{
        font-size:12px;
        padding:8px 14px;
        margin-bottom:18px;
    }

    .main_visual h2{
        font-size:27px;
    }

    .main_visual span{
        margin-top:20px;
        font-size:16px;
        line-height:1.7;
    }

    .main_visual span br{
        display:none;
    }

    .main_visual_btns{
        margin-top:32px;
        flex-wrap:wrap;
    }

    .main_visual_btns a{
        min-width:130px;
        height:48px;
        font-size:15px;
    }
}

@media (max-width:480px){

}



.main_inner{
    width:1500px;
    max-width:92%;
    margin:0 auto;
}

.main_product_sec{
    position:relative;
    overflow:hidden;
    padding:130px 0;
    background:#fff;
    border-bottom:1px solid var(--line);
}

.main_product_sec::before{
    content:'MOVING MIRROR';
    position:absolute;
    right: 2%;
    top: 3%;
    color:rgba(15,61,115,.045);
    font-size:140px;
    font-weight:900;
    letter-spacing:-0.04em;
    line-height:1;
    white-space:nowrap;
    z-index:0;
}

.main_product_inner{
    display:grid;
    grid-template-columns:0.92fr 1.08fr;
    gap:90px;
    align-items:center;
}

.main_product_label{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:30px;
    color:var(--main2);
    font-size:17px;
    font-weight:900;
    letter-spacing:.18em;
}

.main_product_label span{
    color:var(--text);
    font-size:17px;
    font-weight:800;
}

.main_product_label::after{
    content:'';
    width:46px;
    height:1px;
    background:var(--metal);
}

.main_product_text h2{
    color:var(--dark);
    font-size:44px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:-0.02em;
}

.main_product_desc{
    max-width:620px;
    margin-top:34px;
    color:var(--text2);
    font-size:18px;
    line-height:1.7;
    letter-spacing:-0.02em;
    word-break:keep-all;
}

.main_product_btn{
    position:relative;
    overflow:hidden;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    width:max-content;
    min-width:158px;
    height:56px;
    margin-top:52px;
    padding:0 30px;
    border-radius:999px;
    background:linear-gradient(135deg, var(--main2), var(--main));
    color:#fff;
    font-size:17px;
    font-weight:700;
    letter-spacing:-0.01em;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 5px 10px rgba(15,61,115,.32);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.main_product_btn::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.28) 45%, transparent 70%);
    transform:translateX(-120%);
    transition:transform .55s ease;
}

.main_product_btn i{
    position:relative;
    z-index:1;
    font-size:13px;
    transition:transform .25s ease;
}

.main_product_btn span{
    position:relative;
    z-index:1;
}

.main_product_btn:hover{
    transform:translateY(-4px);
    border-color:rgba(255,255,255,.36);
    box-shadow:0 20px 46px rgba(15,61,115,.42);
    color:#fff;
}

.main_product_btn:hover::before{
    transform:translateX(120%);
}

.main_product_btn:hover i{
    transform:translateX(5px);
}

.main_product_visual{
    position:relative;
}

.main_product_img{
    position:relative;
    z-index:1;
    overflow:hidden;
    border-radius:2px;
    aspect-ratio: 1.22 / 1;
    background:var(--bg2);
    box-shadow:0 30px 70px rgba(16,19,23,.13);
}

.main_product_img::after{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(15,61,115,.10)),
        linear-gradient(180deg, transparent 60%, rgba(16,19,23,.18));
    pointer-events:none;
}

.main_product_img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .8s ease;
}

.main_product_img:hover img{
    transform:scale(1.045);
}

@media (max-width:1200px){
    .main_product_sec{
        padding:110px 0;
    }

    .main_product_inner{
        gap:60px;
    }

    .main_product_text h2{
        font-size:36px;
    }

    .main_product_desc{
        font-size:18px;
    }

    .main_product_sec::before{
        font-size:40px;
    }
}

@media (max-width:900px){
    .main_product_sec{
        padding:90px 0;
    }

    .main_product_inner{
        grid-template-columns:1fr;
        gap:50px;
    }

    .main_product_visual{
        order:-1;
    }

    .main_product_visual::before{
        display:none;
    }
}

@media (max-width:600px){
    .main_product_sec{
        padding:70px 0;
    }

    .main_product_label{
        margin-bottom:22px;
        font-size:13px;
    }

    .main_product_label span{
        font-size:13px;
    }

    .main_product_text h2{
        font-size:26px;
    }

    .main_product_text h2 br{
        display:none;
    }

    .main_product_desc{
        margin-top:24px;
        font-size:16px;
        line-height:1.75;
    }

    .main_product_btn{
        margin-top:36px;
        font-size:16px;
    }
}



.main_place_sec{
    padding:120px 0;
    background:var(--bg2);
    overflow:hidden;
}

.main_place_head{
    margin-bottom:58px;
}

.main_place_label{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:30px;
    color:var(--main2);
    font-size:17px;
    font-weight:900;
    letter-spacing:.18em;
}

.main_place_label span{
    color:var(--text);
    font-size:17px;
    font-weight:800;
}

.main_place_label::after{
    content:'';
    width:46px;
    height:1px;
    background:var(--metal);
}

.main_place_head h2{
    color:var(--dark);
    font-size:44px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:-0.02em;
}

.main_place_head > span{
    display:block;
    margin-top:34px;
    color:var(--text2);
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: -0.02em;
    word-break: keep-all;
}

.main_place_list{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:26px;
}

.main_place_list li{
    overflow:hidden;
    position:relative;
    min-height:390px;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(220,226,232,.9);
    box-shadow:0 18px 44px rgba(16,19,23,.06);
    transition:all .3s ease;
}

.main_place_list li:nth-child(5){
    grid-column:2 / 3;
}

.main_place_list li:hover{
    transform:translateY(-8px);
    box-shadow:0 26px 60px rgba(15,61,115,.13);
}

.place_img{
    position:relative;
    overflow:hidden;
}

.place_img img{
    width:100%;
    height:240px;
    object-fit:cover;
    display:block;
}

.main_place_list .place_img img + img{
    position:absolute;
    inset:0;
    opacity:0;
    animation:placeFade 4s infinite;
}

@keyframes placeFade{
    0%, 42%{
        opacity:0;
    }
    50%, 92%{
        opacity:1;
    }
    100%{
        opacity:0;
    }
}

.place_num{
    position:absolute;
    left:25px;
    top:210px;
    z-index:2;
    width:58px;
    height:58px;
    border-radius:16px;
    background:linear-gradient(135deg, var(--main2), var(--main));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:900;
    box-shadow:0 5px 10px rgba(15,61,115,.25);
}

.place_txt{
    padding:54px 28px 30px;
}

.place_txt h3{
    color:var(--dark);
    font-size:25px;
    font-weight:800;
    line-height:1.35;
    letter-spacing:-0.04em;
}

.place_txt p{
    margin-top:18px;
    color:var(--text2);
    font-size:17px;
    line-height:1.7;
    letter-spacing:-0.02em;
    word-break:keep-all;
}

@media (max-width:1200px){
    .main_place_list{
        grid-template-columns:repeat(2, 1fr);
    }

    .main_place_list li:nth-child(5){
        grid-column:auto;
    }
}

@media (max-width:768px){
    .main_place_sec{
        padding:80px 0;
    }

    .main_place_head{
        margin-bottom:38px;
    }

    .main_place_head h2{
        font-size:26px;
    }

    .main_place_head span{
        font-size:16px;
        display: none;
    }

    .main_place_head span br{
        display:none;
    }

    .main_place_list{
        grid-template-columns:1fr;
        gap:18px;
    }

    .main_place_list li{
        min-height:auto;
    }

    .main_place_list .place_img img{
        height:200px;
    }

    .place_num{
        top:175px;
        left:22px;
        width:52px;
        height:52px;
        border-radius:14px;
        font-size:16px;
    }

    .place_txt{
        padding:48px 22px 26px;
    }

    .place_txt h3{
        font-size:22px;
    }
}



.main_board_sec{
    padding:120px 0;
    background:#fff;
    position: relative;
}

.main_board_sec::before{
    content: 'SEONGWANG TECH';
    position: absolute;
    left: 2%;
    top: 3%;
    color: rgba(15, 61, 115, .045);
    font-size: 140px;
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1;
    white-space: nowrap;
    z-index: 0;
}

.main_board_grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:stretch;
}

.main_notice_box,
.inquiry_card{
    height:100%;
    border:1px solid var(--line);
    border-radius:28px;
    background:#fff;
    box-shadow:0 24px 60px rgba(16,19,23,.06);
}

.main_notice_box{
    padding:48px;
}

.main_board_head p,
.inquiry_label{
    margin-bottom:14px;
    color:var(--main2);
    font-size:14px;
    font-weight:900;
    letter-spacing:.18em;
}

.main_board_head h2,
.inquiry_card h2{
    color:var(--dark);
    font-size:36px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:-0.04em;
}

.main_board_head a{
    color:var(--main2);
    font-size:15px;
    font-weight:800;
}

.main_board_head span,
.inquiry_desc{
    display:block;
    margin-top:16px;
    color:var(--text2);
    font-size:16px;
    line-height:1.7;
    letter-spacing:-0.02em;
}

.main_notice_more{
    position:absolute;
    overflow:hidden;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    height:50px;
    padding:0 24px;
    border-radius:999px;
    background:linear-gradient(135deg, var(--main2), var(--main));
    color:#fff;
    font-size:15px;
    font-weight:800;
    box-shadow:0 12px 28px rgba(15,61,115,.24);
    transition:all .25s ease;
    top: 42px;
    right: 42px;
}

.main_notice_more:hover{
    transform:translateY(-3px);
    color:#fff;
    box-shadow:0 18px 38px rgba(15,61,115,.34);
}

.main_notice_more i{
    font-size:13px;
}

.main_board_grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:start;
}

.main_board_left{
    display:flex;
    flex-direction:column;
    gap:32px;
}

.main_notice_box{
    padding:42px;
    border:1px solid var(--line);
    border-radius:28px;
    background:#fff;
    box-shadow:0 20px 50px rgba(16,19,23,.06);
}

.main_notice_latest{
    margin-top:20px;
}

.inquiry_card{
    padding:48px;
}

.inquiry_desc{
    margin-top:16px;
    color:var(--text2);
    font-size:16px;
    line-height:1.7;
}

.inquiry_form_grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px 16px;
    margin-top:34px;
}

.form_item label{
    display:block;
    margin-bottom:10px;
    color:var(--text);
    font-size:15px;
    font-weight:800;
}

.form_item input,
.form_item textarea{
    width:100%;
    height:52px;
    padding:0 17px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    color:var(--text);
    font-size:15px;
    transition:all .25s;
}

.form_item textarea{
    height:132px;
    padding:16px 17px;
    resize:none;
    line-height:1.6;
}

.form_item input:focus,
.form_item textarea:focus{
    border-color:var(--main2);
    box-shadow:0 0 0 4px rgba(30,90,168,.08);
    outline:none;
}

.form_full{
    grid-column:1 / -1;
}

.main_agree{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:22px;
    color:var(--text2);
    font-size:14px;
    font-weight:600;
}

.main_inquiry_submit{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:100%;
    height:58px;
    margin-top:26px;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg, var(--main2), var(--main));
    color:#fff;
    font-size:17px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 14px 34px rgba(15,61,115,.28);
    transition:all .25s ease;
}

.main_inquiry_submit:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 46px rgba(15,61,115,.38);
}

@media(max-width:900px){
    .main_board_grid{
        grid-template-columns:1fr;
    }

    .main_notice_box,
    .inquiry_card{
        padding:34px 24px;
    }

    .main_board_sec::before{font-size: 40px; top: 1%;}
}

@media(max-width:600px){
    .main_board_sec{
        padding:80px 0;
    }

    .inquiry_form_grid{
        grid-template-columns:1fr;
    }

    .main_board_head h2,
    .inquiry_card h2{
        font-size:23px;
    }
}