:root{
    --blue:#1769ff;
    --blue2:#58a4ff;
    --navy:#081b3a;
    --text:#16243a;
    --gray:#76859a;
    --line:#e2eaf5;
    --bg:#f7faff;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:"Pretendard",sans-serif;
    color:var(--text);
    background:#fff;
	word-break:keep-all !important
}

a{
    color:inherit;
    text-decoration:none;
}


/* ==========================================
   CONTAINER
========================================== */

.one_container{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding-left:30px;
    padding-right:30px;
}


/* ==========================================
   HEADER
========================================== */

.one_header{
    position:fixed;
    left:0;
    top:0;

    width:100%;

    z-index:1000;

    transition:.3s;
}

.one_header.scrolled{
    background:rgba(255,255,255,.94);

    backdrop-filter:blur(15px);

    box-shadow:
        0 10px 35px rgba(45,80,130,.08);
}

.one_header_inner{
    height:92px;

    display:flex;
    align-items:center;
}

.one_logo{
    display:flex;
    align-items:center;

    gap:10px;
}

.one_logo_mark{
    width:44px;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    font-size:25px;
    font-weight:900;

    border-radius:14px 5px 14px 5px;

    background:
        linear-gradient(
            135deg,
            #0759ee,
            #69b4ff
        );

    box-shadow:
        0 10px 25px rgba(23,105,255,.25);
}

.one_logo_text{
    display:flex;
    flex-direction:column;

    font-size:19px;
    line-height:16px;

    font-weight:900;
}

.one_logo_text small{
    margin-top:4px;

    font-size:7px;

    letter-spacing:2px;

    color:#7f99b9;
}


/* MENU */

.one_nav{
    margin-left:auto;

    gap:37px;
}

.one_nav a{
    position:relative;

    font-size:14px;

    font-weight:600;

    color:#334158;
}

.one_nav a:hover{
    color:var(--blue);
}

.one_nav a:after{
    content:"";

    position:absolute;

    left:50%;
    bottom:-12px;

    width:0;
    height:2px;

    transform:translateX(-50%);

    background:var(--blue);

    transition:.25s;
}

.one_nav a:hover:after,
.one_nav a.active:after{
    width:100%;
}

.one_nav a.active{
    color:var(--blue);
}


/* HEADER RIGHT */

.one_header_right{
    margin-left:auto;
}

.one_header_contact{
    height:45px;

    padding:0 19px;

    align-items:center;

    gap:18px;

    border-radius:30px;

    color:#fff;

    background:var(--navy);

    font-size:13px;
}

.one_header_contact:hover{
    color:#fff;
}

.one_mobile_btn{
    width:42px;
    height:42px;

    padding:8px;

    border:0;

    border-radius:12px;

    background:#edf5ff;
}

.one_mobile_btn span{
    display:block;

    width:100%;
    height:2px;

    margin:5px 0;

    background:#16345e;
}

.one_mobile_menu{
    width:330px!important;
}

.one_mobile_nav{
    display:flex;
    flex-direction:column;
}

.one_mobile_nav a{
    padding:18px 5px;

    border-bottom:1px solid #edf1f6;

    font-size:17px;

    font-weight:700;
}


/* ==========================================
   HERO
========================================== */

.one_hero{
    position:relative;

    width:100%;

    min-height:850px;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(89,164,255,.2),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #fff 0%,
            #f7fbff 100%
        );
}

.one_hero_grid{
    position:absolute;

    inset:0;

    pointer-events:none;

    opacity:.32;

    background-image:

        linear-gradient(
            rgba(50,110,190,.08) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(50,110,190,.08) 1px,
            transparent 1px
        );

    background-size:
        58px 58px;
}


/* SWIPER */

.one_hero_swiper{
    width:100%;
}

.one_hero_swiper .swiper-slide{
    height:auto;
}

.one_hero_row{
    min-height:850px;

    padding-top:80px;
}


/* ==========================================
   HERO TEXT
========================================== */

.one_hero_content{
    position:relative;

    z-index:5;

    max-width:780px;

    opacity:0;

    transform:translateY(35px);

    transition:
        opacity .8s ease,
        transform .8s ease;
}

.swiper-slide-active
.one_hero_content{
    opacity:1;

    transform:translateY(0);
}

.one_eyebrow{
    display:flex;
    align-items:center;

    gap:12px;

    margin-bottom:25px;

    font-size:11px;

    letter-spacing:2px;

    font-weight:800;

    color:#587699;
}

.one_eyebrow span{
    width:35px;
    height:2px;

    background:var(--blue);
}


/* TITLE */

.one_hero h1{
    margin:0;

    font-size:100px;

    line-height:.9;

    font-weight:900;

    letter-spacing:-7px;

    color:#071a38;
}

.one_hero h1 span{
    display:block;

    color:transparent;

    -webkit-text-stroke:
        1.5px #8abaff;
}

.one_hero h2{
    margin:
        38px 0 20px;

    font-size:34px;

    line-height:1.35;

    letter-spacing:-1.5px;

    font-weight:500;
}

.one_hero h2 strong{
    color:var(--blue);
}


/* TEXT */

.one_hero_desc{
    max-width:650px;

    margin:0 0 8px;

    font-size:17px;

    line-height:1.8;

    color:#59697e;
}

.one_hero_sub{
    max-width:650px;

    margin:0;

    font-size:14px;

    line-height:1.8;

    color:#8b98a8;
}


/* BUTTON */

.one_hero_buttons{
    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:35px;
}

.one_btn_blue,
.one_btn_white{
    height:55px;

    padding:
        0 25px;

    display:inline-flex;

    align-items:center;

    gap:24px;

    border-radius:30px;

    font-size:14px;

    font-weight:700;
}

.one_btn_blue{
    color:#fff;

    background:
        linear-gradient(
            135deg,
            #1265f6,
            #4896ff
        );

    box-shadow:
        0 15px 35px rgba(23,105,255,.23);
}

.one_btn_blue:hover{
    color:#fff;
}

.one_btn_white{
    background:#fff;

    border:
        1px solid #dce6f2;
}

.one_status_dot{
    width:8px;
    height:8px;

    border-radius:50%;

    background:#36d37e;

    box-shadow:
        0 0 0 5px rgba(54,211,126,.12);
}


/* STATS */

.one_hero_stats{
    display:flex;

    gap:55px;

    margin-top:60px;
}

.one_hero_stats div{
    display:flex;

    flex-direction:column;
}

.one_hero_stats strong{
    font-size:24px;

    color:#152d52;
}

.one_hero_stats span{
    margin-top:3px;

    font-size:8px;

    letter-spacing:1px;

    color:#9aabba;
}


/* ==========================================
   HERO VISUAL
========================================== */

.one_hero_visual{
    position:relative;

    width:520px;
    height:520px;

    margin-left:auto;

    opacity:0;

    transform:
        translateX(50px)
        scale(.94);

    transition:
        opacity .9s,
        transform .9s;
}

.swiper-slide-active
.one_hero_visual{
    opacity:1;

    transform:
        translateX(0)
        scale(1);
}

.one_hero_visual:before{
    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:430px;
    height:430px;

    transform:
        translate(-50%,-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            #e8f4ff,
            #dceeff 48%,
            transparent 70%
        );
}


/* ORBIT */

.one_orbit{
    position:absolute;

    left:50%;
    top:50%;

    transform:
        translate(-50%,-50%);

    border:
        1px solid rgba(48,122,222,.18);

    border-radius:50%;
}

.orbit01{
    width:300px;
    height:300px;
}

.orbit02{
    width:400px;
    height:400px;
}

.orbit03{
    width:500px;
    height:500px;
}


/* CUBE */

.one_main_cube{
    position:absolute;

    left:50%;
    top:50%;

    width:425px;
    height:425px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

}

.one_cube_dev{
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.35),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #1769ff,
            #42a4ff
        );
}

.one_cube_support{
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.35),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #0c56da,
            #74b9ff
        );
}

.one_cube_logo{
    width:55px;
    height:55px;

    margin-bottom:12px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    color:var(--blue);

    background:#fff;

    font-size:28px;

    font-weight:900;
}

.one_main_cube strong{
    text-align:center;

    font-size:24px;

    line-height:1;
}

.one_main_cube small{
    margin-top:10px;

    font-size:10px;

    letter-spacing:2px;

    opacity:.8;
}


/* FLOAT */

.one_float{
    position:absolute;

    z-index:10;

    min-width:145px;

    height:57px;

    padding:
        0 17px;

    display:flex;

    align-items:center;

    gap:10px;

    border:
        1px solid rgba(255,255,255,.9);

    border-radius:17px;

    background:
        rgba(255,255,255,.84);

    backdrop-filter:
        blur(12px);

    box-shadow:
        0 18px 50px
        rgba(70,110,165,.13);

    font-size:11px;

    font-weight:700;

    opacity:0;

    transform:
        translateY(20px);
}

.one_float i{
    color:var(--blue);
}

.swiper-slide-active
.one_float{
    opacity:1;

    transform:
        translateY(0);
}

.swiper-slide-active
.one_float_01{
    transition:
        .7s .4s;
}

.swiper-slide-active
.one_float_02{
    transition:
        .7s .55s;
}

.swiper-slide-active
.one_float_03{
    transition:
        .7s .7s;
}

.one_float_01{
    left:0;
    top:110px;
}

.one_float_02{
    right:-20px;
    top:250px;
}

.one_float_03{
    left:55px;
    bottom:65px;
}


/* ==========================================
   SLIDER CONTROL
========================================== */

.one_hero_pagination{
    position:absolute!important;

    left:50%!important;
    bottom:34px!important;

    width:auto!important;

    transform:
        translateX(-50%);

    z-index:20;
}

.one_hero_pagination
.swiper-pagination-bullet{
    width:8px;
    height:8px;

    margin:
        0 4px!important;

    opacity:1;

    background:#bfd1e8;

    transition:.3s;
}

.one_hero_pagination
.swiper-pagination-bullet-active{
    width:35px;

    border-radius:10px;

    background:var(--blue);
}


.one_hero_control{
    position:absolute;

    right:40px;
    bottom:26px;

    z-index:20;

    display:flex;

    gap:8px;
}

.one_hero_prev,
.one_hero_next{
    width:43px;
    height:43px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:
        1px solid #dce6f2;

    border-radius:50%;

    background:
        rgba(255,255,255,.9);

    color:#174a86;

    transition:.25s;
}

.one_hero_prev:hover,
.one_hero_next:hover{
    color:#fff;

    background:var(--blue);

    border-color:var(--blue);
}


/* ==========================================
   SERVICE
========================================== */

.one_section{
    padding:
        120px 0;
}

.one_section_title{
    margin-bottom:50px;
}

.one_section_title > span{
    display:block;

    margin-bottom:15px;

    color:var(--blue);

    font-size:11px;

    font-weight:800;

    letter-spacing:1.5px;
}

.one_section_title h2{
    margin:0;

    font-size:43px;

    line-height:1.3;

    font-weight:700;

    letter-spacing:-2px;
}

.one_section_title h2 strong{
    color:var(--blue);
}

.one_service_card{
    height:353px;

    padding:35px;

    border:
        1px solid #e1e9f3;

    border-radius:25px;

    background:#fff;

    transition:.3s;
}

.one_service_card > i{
    width:56px;
    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:17px;

    color:var(--blue);

    background:#edf5ff;

    font-size:20px;
}

.one_service_card h3{
    margin:
        35px 0 12px;

    font-size:20px;

    font-weight:800;
}

.one_service_card p{
    margin:0;

    color:#7d8b9e;

    line-height:1.7;

    font-size:14px;
}

.one_service_card:hover{
    transform:
        translateY(-8px);

    border-color:#afd0ff;

    box-shadow:
        0 25px 55px
        rgba(55,100,160,.1);
}


/* TEMP SECTION */

.one_dummy_section{
    min-height:500px;

    padding:
        120px 0;

    background:#f7faff;

    border-top:
        1px solid #e8eef6;
}

.one_dummy_section:nth-child(even){
    background:#fff;
}

.one_dummy_section h2{
    font-size:45px;

    font-weight:800;
}


/* CONTACT */

.one_contact_section{
    padding:
        120px 0;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #071c3e,
            #1769ff
        );
}

.one_contact_section h2{
    font-size:60px;

    font-weight:900;
}

.one_contact_section p{
    font-size:17px;

    opacity:.8;
}


/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:1199px){

    .one_hero h1{
        font-size:80px;
    }

    .one_hero_visual{
        width:440px;
        height:440px;
    }

}


@media(max-width:991px){

    .one_container{
        padding-left:20px;
        padding-right:20px;
    }

    .one_header_inner{
        height:78px;
    }

    .one_hero{
        min-height:auto;
    }

    .one_hero_row{
        min-height:auto;

        padding:
            150px 0 90px;
    }

    .one_hero_visual{
        margin:
            70px auto 0;
    }

}


@media(max-width:767px){

    .one_container{
        padding-left:15px;
        padding-right:15px;
    }

    .one_hero_row{
        padding:
            125px 0 85px;
    }

    .one_hero h1{
        font-size:55px;

        letter-spacing:-4px;
    }

    .one_hero h2{
        margin-top:28px;

        font-size:26px;
    }

    .one_hero_desc{
        font-size:15px;
    }

    .one_hero_stats{
        justify-content:space-between;

        gap:15px;

        margin-top:45px;
    }

    .one_hero_stats strong{
        font-size:19px;
    }

    .one_hero_stats span{
        font-size:7px;
    }

    .one_hero_visual{
        width:100%;
        max-width:360px;

        height:380px;
    }

    .one_main_cube{
        width:175px;
        height:175px;
    }

    .one_main_cube strong{
        font-size:20px;
    }

    .orbit01{
        width:230px;
        height:230px;
    }

    .orbit02{
        width:300px;
        height:300px;
    }

    .orbit03{
        width:365px;
        height:365px;
    }

    .one_float{
        min-width:125px;

        height:50px;

        padding:
            0 12px;

        font-size:10px;
    }

    .one_float_01{
        left:0;
        top:55px;
    }

    .one_float_02{
        right:0;
        top:180px;
    }

    .one_float_03{
        left:10px;
        bottom:20px;
    }

    .one_hero_control{
        display:none;
    }

    .one_section{
        padding:
            80px 0;
    }

    .one_section_title h2{
        font-size:32px;
    }

}


@media(max-width:480px){

    .one_hero h1{
        font-size:48px;
    }

    .one_hero h2{
        font-size:23px;
    }

    .one_btn_blue,
    .one_btn_white{
        width:100%;

        justify-content:space-between;
    }

}
/* ==========================================
   HERO BASIC
========================================== */

.one_hero{
    position:relative;
    width:100%;
    height:780px;
    min-height:780px;
    overflow:hidden;
    background:
        radial-gradient(circle at 80% 30%, rgba(89,164,255,.17), transparent 28%),
        linear-gradient(180deg,#fff 0%,#f7fbff 100%);
}

.one_hero_grid{
    position:absolute;
    inset:0;
    opacity:.26;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(50,110,190,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(50,110,190,.07) 1px,transparent 1px);
    background-size:60px 60px;
}

.one_hero_swiper,
.one_hero_swiper .swiper-wrapper,
.one_hero_swiper .swiper-slide{
    height:100%;
}

.one_hero_row{
    height:780px;
    min-height:780px;
    padding-top:70px;
}


/* ==========================================
   TEXT
========================================== */

.one_hero_content{
    position:relative;
    z-index:5;
    max-width:730px;
    opacity:0;
    transform:translateY(25px);
    transition:.75s ease;
}

.swiper-slide-active .one_hero_content{
    opacity:1;
    transform:translateY(0);
}

.one_eyebrow{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 18px;
    color:#55769e;
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
}

.one_eyebrow span{
    width:30px;
    height:2px;
    background:#1769ff;
}

.one_hero h1{
    margin:0;
    font-size:86px;
    line-height:.88;
    font-weight:900;
    letter-spacing:-6px;
    color:#071a38;
}

.one_hero h1 span{
    display:block;
    color:transparent;
    -webkit-text-stroke:1.5px #86b7ff;
}

.one_hero h2{
    margin:28px 0 14px;
    font-size:31px;
    line-height:1.25;
    font-weight:500;
    letter-spacing:-1.3px;
}

.one_hero h2 strong{
    color:#1769ff;
}

.one_hero_desc{
    max-width:620px;
    margin:0;
    color:#607087;
    font-size:15px;
    line-height:1.65;
}

.one_hero_sub{
    margin:6px 0 0;
    color:#8b98a8;
    font-size:13px;
    line-height:1.55;
}


/* BUTTON */

.one_hero_buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:27px;
}

.one_btn_blue,
.one_btn_white{
    height:50px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    border-radius:26px;
    font-size:13px;
    font-weight:700;
}

.one_btn_blue{
    color:#fff;
    background:linear-gradient(135deg,#1265f6,#4896ff);
    box-shadow:0 12px 28px rgba(23,105,255,.2);
}

.one_btn_white{
    border:1px solid #dce6f2;
    background:#fff;
}

.one_status_dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#36d37e;
}


/* STAT */

.one_hero_stats{
    display:flex;
    gap:42px;
    margin-top:38px;
}

.one_hero_stats div{
    display:flex;
    flex-direction:column;
}

.one_hero_stats strong{
    font-size:21px;
    line-height:1;
    color:#152d52;
}

.one_hero_stats span{
    margin-top:5px;
    color:#9aabba;
    font-size:8px;
    letter-spacing:1px;
}


/* ==========================================
   SLIDE 01 VISUAL
========================================== */

.one_hero_visual{
    position:relative;
    width:480px;
    height:480px;
    margin-left:auto;
    opacity:0;
    transform:translateX(40px) scale(.95);
    transition:.8s;
}

.swiper-slide-active .one_hero_visual{
    opacity:1;
    transform:translateX(0) scale(1);
}

.one_hero_visual:before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:400px;
    height:400px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:radial-gradient(circle,#edf6ff,#deefff 50%,transparent 72%);
}

.one_orbit{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:1px solid rgba(48,122,222,.17);
    border-radius:50%;
}

.orbit01{width:270px;height:270px;}
.orbit02{width:365px;height:365px;}
.orbit03{width:460px;height:460px;}

.one_main_cube{
    position:absolute;
    left:50%;
    top:50%;
    width:505px;
    height:505px;
    transform:translate(-50%,-50%) rotate(-7deg);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:38px;
    color:#fff;
}

.one_cube_logo{
    width:50px;
    height:50px;
    margin-bottom:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#fff;
    color:#1769ff;
    font-size:26px;
    font-weight:900;
}

.one_main_cube strong{
    text-align:center;
    font-size:22px;
    line-height:1;
}

.one_main_cube small{
    margin-top:8px;
    font-size:7px;
    letter-spacing:1.7px;
}

.one_float{
    position:absolute;
    z-index:10;
    min-width:135px;
    height:52px;
    padding:0 15px;
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid rgba(255,255,255,.9);
    border-radius:15px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(12px);
    box-shadow:0 15px 40px rgba(70,110,165,.12);
    font-size:10px;
    font-weight:700;
}

.one_float i{
    color:#1769ff;
}

.one_float_01{left:0;top:95px;}
.one_float_02{right:-10px;top:225px;}
.one_float_03{left:48px;bottom:55px;}


/* ==========================================
   SLIDE 02
========================================== */

.one_slide_type02{
    background:
        radial-gradient(circle at 20% 50%,rgba(82,157,255,.13),transparent 28%);
}

.one_content_right{
    margin-left:auto;
    max-width:610px;
}

.one_title_medium{
    font-size:74px!important;
}

.one_dev_visual{
    position:relative;
    width:100%;
    height:470px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.one_dev_window{
    width:92%;
    max-width:560px;
    height:355px;
    overflow:hidden;
    border:1px solid #dce8f5;
    border-radius:25px;
    background:#fff;
    box-shadow:0 35px 70px rgba(39,93,158,.15);
    transform:rotate(-3deg);
}

.one_dev_window_top{
    height:48px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#0d244a;
    color:#fff;
}

.one_dev_window_top > div{
    display:flex;
    gap:5px;
}

.one_dev_window_top span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#5797ff;
}

.one_dev_window_top small{
    font-size:8px;
    letter-spacing:1.7px;
}

.one_dev_body{
    height:calc(100% - 48px);
    display:flex;
}

.one_dev_sidebar{
    width:70px;
    padding:22px 15px;
    background:#edf4fd;
}

.one_dev_sidebar span{
    display:block;
    height:8px;
    margin-bottom:14px;
    border-radius:10px;
    background:#d0e0f3;
}

.one_dev_content{
    flex:1;
    padding:30px;
}

.one_dev_code{
    padding:22px;
    border-radius:15px;
    background:#f5f9fe;
}

.one_dev_code span{
    display:block;
    height:8px;
    margin-bottom:10px;
    border-radius:8px;
    background:#bdd7f6;
}

.one_dev_code .w70{width:70%;}
.one_dev_code .w45{width:45%;}
.one_dev_code .w85{width:85%;}
.one_dev_code .w55{width:55%;}
.one_dev_code .w75{width:75%;margin-bottom:0;}

.one_dev_cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:18px;
}

.one_dev_cards div{
    height:85px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #e3ecf7;
    border-radius:13px;
    background:#fff;
    font-size:11px;
}

.one_dev_cards i{
    color:#1769ff;
    font-size:17px;
}

.one_dev_badge{
    position:absolute;
    right:0;
    bottom:35px;
    width:150px;
    height:100px;
    padding:18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-radius:20px;
    color:#fff;
    background:linear-gradient(135deg,#1769ff,#65afff);
    box-shadow:0 20px 45px rgba(23,105,255,.23);
}

.one_dev_badge span{
    font-size:25px;
    font-weight:900;
}

.one_dev_badge small{
    margin-top:3px;
    font-size:7px;
    letter-spacing:1px;
}

.one_inline_points{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:22px;
}

.one_inline_points span{
    padding:9px 13px;
    border:1px solid #dfe9f5;
    border-radius:20px;
    background:#fff;
    color:#52647c;
    font-size:11px;
    font-weight:600;
}

.one_inline_points i{
    margin-right:5px;
    color:#1769ff;
}


/* ==========================================
   SLIDE 03
========================================== */

.one_slide_type03{
    background:
        radial-gradient(circle at 50% 45%,rgba(105,175,255,.18),transparent 35%);
}

.one_support_row{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.one_support_content{
    width:100%;
    max-width:1000px;
    margin:0 auto;
    padding-top:55px;
}

.one_eyebrow_center{
    justify-content:center;
}

.one_eyebrow_center span:last-child{
    display:block;
}

.one_slide_type03 .one_hero_desc{
    margin:0 auto;
    max-width:700px;
}

.one_support_cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    max-width:900px;
    margin:32px auto 0;
}

.one_support_card{
    min-height:125px;
    padding:22px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid #dfe9f5;
    border-radius:20px;
    background:rgba(255,255,255,.78);
    box-shadow:0 15px 35px rgba(55,100,160,.06);
}

.one_support_card i{
    margin-bottom:10px;
    color:#1769ff;
    font-size:20px;
}

.one_support_card strong{
    font-size:19px;
    line-height:1;
    color:#17355e;
}

.one_support_card span{
    margin-top:7px;
    color:#8190a4;
    font-size:11px;
}

.one_support_card.active{
    color:#fff;
    border-color:#1769ff;
    background:linear-gradient(135deg,#1769ff,#62afff);
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(23,105,255,.2);
}

.one_support_card.active i,
.one_support_card.active strong,
.one_support_card.active span{
    color:#fff;
}


/* ==========================================
   SLIDER CONTROLS
========================================== */

.one_hero_pagination{
    bottom:24px!important;
}

.one_hero_control{
    bottom:17px;
}


/* ==========================================
   MOBILE
========================================== */

@media(max-width:991px){

    .one_hero{
        height:auto;
        min-height:0;
    }

    .one_hero_swiper .swiper-slide{
        height:auto;
    }

    .one_hero_row{
        height:auto;
        min-height:0;
        padding:125px 0 80px;
    }

    .one_hero_visual,
    .one_dev_visual{
        margin:45px auto 0;
    }

    .one_content_right{
        margin:0;
    }

    .one_support_row{
        padding-top:130px;
        padding-bottom:90px;
    }

}

@media(max-width:767px){

    .one_hero h1{
        font-size:52px;
        letter-spacing:-4px;
    }

    .one_title_medium{
        font-size:48px!important;
    }

    .one_hero h2{
        margin-top:22px;
        font-size:24px;
    }

    .one_hero_desc{
        font-size:14px;
        line-height:1.55;
    }

    .one_hero_stats{
        margin-top:30px;
    }

    .one_hero_visual{
        width:100%;
        max-width:350px;
        height:350px;
    }

    .one_dev_visual{
        height:350px;
    }

    .one_dev_window{
        width:100%;
        height:280px;
    }

    .one_dev_content{
        padding:18px;
    }

    .one_dev_badge{
        right:0;
        bottom:0;
        width:125px;
        height:82px;
    }

    .one_dev_badge span{
        font-size:20px;
    }

    .one_support_cards{
        grid-template-columns:repeat(2,1fr);
    }

    .one_support_card{
        min-height:105px;
        padding:15px;
    }

    .one_hero_control{
        display:none;
    }

}

@media(max-width:480px){

    .one_hero h1{
        font-size:44px;
    }

    .one_hero h2{
        font-size:21px;
    }

    .one_hero_buttons{
        margin-top:22px;
    }

    .one_btn_blue,
    .one_btn_white{
        width:100%;
    }

}
/* ==========================================
   TEXT MINIMUM SIZE
   최소 10pt ≒ 13.33px → 14px 사용
========================================== */

.one_tosino_section{
    font-size:14px;
}

.one_tosino_section small,
.one_tosino_section span,
.one_tosino_section p,
.one_tosino_section a{
    font-size:14px;
}

/* 작은 영문 라벨도 최소 14px */
.one_section_label,
.one_admin_logo span,
.one_admin_title small,
.one_live,
.one_chart_title small,
.one_status_title,
.one_admin_status span,
.one_admin_status strong,
.one_tosino_feature .num{
    font-size:14px;
}

.one_tosino_header > p,
.one_tosino_info p{
    font-size:14px;
}

.one_tosino_tags span{
    font-size:14px;
}

.one_tosino_feature p{
    font-size:14px;
}

.one_tosino_feature h4{
    font-size:17px;
}

.one_admin_stats span,
.one_admin_stats small{
    font-size:14px;
}

.one_admin_stats strong{
    font-size:22px;
}

.one_tosino_link{
    font-size:14px;
}


/* ==========================================
   ADMIN MOCKUP MOTION
========================================== */

/* 전체 관리자창 - 아주 천천히 위아래 */
.one_admin_mockup{
    animation:oneAdminFloat 6.5s ease-in-out infinite;
}

@keyframes oneAdminFloat{
    0%,100%{
        transform:translateY(0) rotate(0deg);
    }

    50%{
        transform:translateY(-8px) rotate(.25deg);
    }
}


/* ==========================================
   SIDEBAR ICONS
========================================== */

.one_admin_side > div:nth-child(1){
    animation:oneIconMove01 3.6s ease-in-out infinite;
}

.one_admin_side > div:nth-child(2){
    animation:oneIconMove02 4.4s ease-in-out .3s infinite;
}

.one_admin_side > div:nth-child(3){
    animation:oneIconMove03 3.9s ease-in-out .7s infinite;
}

.one_admin_side > div:nth-child(4){
    animation:oneIconMove04 4.8s ease-in-out .2s infinite;
}

.one_admin_side > div:nth-child(5){
    animation:oneIconMove05 4.1s ease-in-out .9s infinite;
}


/* 1번 - 위 아래 */
@keyframes oneIconMove01{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-5px);
    }

}


/* 2번 - 좌우 */
@keyframes oneIconMove02{

    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(4px);
    }

}


/* 3번 - 살짝 회전 */
@keyframes oneIconMove03{

    0%,100%{
        transform:rotate(0deg);
    }

    50%{
        transform:rotate(5deg);
    }

}


/* 4번 - 위 + 회전 */
@keyframes oneIconMove04{

    0%,100%{
        transform:translateY(0) rotate(0);
    }

    50%{
        transform:translateY(-4px) rotate(-4deg);
    }

}


/* 5번 - 살짝 확대 */
@keyframes oneIconMove05{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.08);
    }

}


/* ==========================================
   TOP DOT MOTION
========================================== */

.one_admin_top_right span:nth-child(1){
    animation:oneDot01 2.4s ease-in-out infinite;
}

.one_admin_top_right span:nth-child(2){
    animation:oneDot02 3.1s ease-in-out .5s infinite;
}

.one_admin_top_right span:nth-child(3){
    animation:oneDot03 2.7s ease-in-out .9s infinite;
}

@keyframes oneDot01{

    0%,100%{
        opacity:.4;
        transform:scale(1);
    }

    50%{
        opacity:1;
        transform:scale(1.4);
    }

}

@keyframes oneDot02{

    0%,100%{
        opacity:.5;
        transform:translateY(0);
    }

    50%{
        opacity:1;
        transform:translateY(-3px);
    }

}

@keyframes oneDot03{

    0%,100%{
        opacity:.45;
        transform:scale(1);
    }

    50%{
        opacity:1;
        transform:scale(.7);
    }

}


/* ==========================================
   STAT CARDS
========================================== */

.one_admin_stats > div:nth-child(1){
    animation:oneStat01 5.2s ease-in-out infinite;
}

.one_admin_stats > div:nth-child(2){
    animation:oneStat02 6s ease-in-out .7s infinite;
}

.one_admin_stats > div:nth-child(3){
    animation:oneStat03 5.6s ease-in-out 1.1s infinite;
}

@keyframes oneStat01{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-5px);
    }

}

@keyframes oneStat02{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(4px);
    }

}

@keyframes oneStat03{

    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(4px);
    }

}


/* ==========================================
   CHART MOTION
========================================== */

.one_chart_area svg{
    animation:oneChartFloat 7s ease-in-out infinite;
}

@keyframes oneChartFloat{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-4px);
    }

}


/* 차트 라인 흐르는 느낌 */
.one_chart_area path:last-child{
    stroke-dasharray:12 8;
    animation:oneChartDash 9s linear infinite;
}

@keyframes oneChartDash{

    from{
        stroke-dashoffset:0;
    }

    to{
        stroke-dashoffset:-100;
    }

}


/* ==========================================
   SYSTEM STATUS
========================================== */

.one_admin_status > div:nth-child(2){
    animation:oneStatus01 4.4s ease-in-out infinite;
}

.one_admin_status > div:nth-child(3){
    animation:oneStatus02 5.1s ease-in-out .4s infinite;
}

.one_admin_status > div:nth-child(4){
    animation:oneStatus03 4.7s ease-in-out .8s infinite;
}

@keyframes oneStatus01{

    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(3px);
    }

}

@keyframes oneStatus02{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-3px);
    }

}

@keyframes oneStatus03{

    0%,100%{
        opacity:1;
    }

    50%{
        opacity:.7;
    }

}


/* ==========================================
   BOTTOM FEATURE CARDS
========================================== */

.one_tosino_feature:nth-child(1){
    animation:oneFeature01 6s ease-in-out infinite;
}

.one_tosino_feature:nth-child(2){
    animation:oneFeature02 7s ease-in-out .8s infinite;
}

.one_tosino_feature:nth-child(3){
    animation:oneFeature03 6.5s ease-in-out 1.3s infinite;
}


@keyframes oneFeature01{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-6px);
    }

}

@keyframes oneFeature02{

    0%,100%{
        transform:translateY(0) rotate(0deg);
    }

    50%{
        transform:translateY(4px) rotate(.2deg);
    }

}

@keyframes oneFeature03{

    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(5px);
    }

}


/* ==========================================
   FEATURE ICON MOTION
========================================== */

.one_tosino_feature:nth-child(1) > i{
    animation:oneFeatureIcon01 3s ease-in-out infinite;
}

.one_tosino_feature:nth-child(2) > i{
    animation:oneFeatureIcon02 3.7s ease-in-out infinite;
}

.one_tosino_feature:nth-child(3) > i{
    animation:oneFeatureIcon03 4.1s ease-in-out infinite;
}

@keyframes oneFeatureIcon01{

    0%,100%{
        transform:rotate(0deg);
    }

    50%{
        transform:rotate(-8deg);
    }

}

@keyframes oneFeatureIcon02{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.12);
    }

}

@keyframes oneFeatureIcon03{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-5px);
    }

}


/* ==========================================
   LIVE DOT
========================================== */

.one_live i{
    animation:oneLivePulse 1.8s ease-out infinite;
}

@keyframes oneLivePulse{

    0%{
        box-shadow:0 0 0 0 rgba(34,203,117,.4);
    }

    70%{
        box-shadow:0 0 0 8px rgba(34,203,117,0);
    }

    100%{
        box-shadow:0 0 0 0 rgba(34,203,117,0);
    }

}


/* ==========================================
   ACCESSIBILITY
========================================== */

@media(prefers-reduced-motion:reduce){

    .one_admin_mockup,
    .one_admin_side > div,
    .one_admin_top_right span,
    .one_admin_stats > div,
    .one_chart_area svg,
    .one_chart_area path,
    .one_admin_status > div,
    .one_tosino_feature,
    .one_tosino_feature > i,
    .one_live i{
        animation:none !important;
    }

}
/* =========================================================
   ONE SOLUTION - TOSINO / SPORTS SOLUTION
========================================================= */

:root{
    --one-blue:#1769ff;
    --one-blue-light:#eef5ff;
    --one-navy:#0b2349;
    --one-navy2:#102c56;
    --one-text:#10213b;
    --one-gray:#728198;
    --one-line:#dfe8f3;
    --one-bg:#f7faff;
}


/* =========================================================
   SECTION
========================================================= */

.one_tosino_section{
    position:relative;
    width:100%;
    padding:90px 0;
    overflow:hidden;
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    color:var(--one-text);
    font-size:14px;
}

.one_tosino_section *{
    box-sizing:border-box;
}


/* =========================================================
   HEADER
========================================================= */

.one_tosino_header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:40px;
}

.one_section_label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    color:var(--one-blue);
    font-size:14px;
    font-weight:800;
    line-height:1.2;
}

.one_section_label > span{
    color:var(--one-blue);
    font-size:14px;
}

.one_tosino_header h2{
    margin:0;
    color:var(--one-text);
    font-size:44px;
    font-weight:800;
    line-height:1.18;
    letter-spacing:-2px;
}

.one_tosino_header h2 strong{
    color:var(--one-blue);
}

.one_tosino_header > p{
    width:100%;
    max-width:530px;
    margin:0 0 3px;
    color:var(--one-gray);
    font-size:14px;
    line-height:1.55;
}


/* =========================================================
   LEFT INFO
========================================================= */

.one_tosino_info{
    position:relative;
    height:100%;
    min-height:490px;
    padding:38px;
    overflow:hidden;
    border:1px solid #e1eaf5;
    border-radius:28px;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(23,105,255,.08),
            transparent 30%
        ),
        #f4f8ff;
}

.one_tosino_big_num{
    position:absolute;
    top:-8px;
    right:15px;
    color:rgba(23,105,255,.055);
    font-size:145px;
    font-weight:900;
    line-height:1;
    pointer-events:none;
}

.one_tosino_info h3{
    position:relative;
    z-index:2;
    margin:0 0 18px;
    color:var(--one-text);
    font-size:31px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:-1.5px;
}

.one_tosino_info h3 span{
    color:var(--one-blue);
}

.one_tosino_info p{
    position:relative;
    z-index:2;
    margin:0 0 10px;
    color:var(--one-gray);
    font-size:14px;
    line-height:1.6;
}


/* TAG */

.one_tosino_tags{
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:21px;
}

.one_tosino_tags span{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 13px;
    border:1px solid #d6e4f5;
    border-radius:20px;
    background:#fff;
    color:#3b6395;
    font-size:14px;
    font-weight:700;
    line-height:1;
}


/* LINK */

.one_tosino_link{
    position:absolute;
    left:38px;
    bottom:35px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    gap:18px;
    color:#15345c;
    font-size:14px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
}

.one_tosino_link i{
    color:var(--one-blue);
    transition:transform .25s ease;
}

.one_tosino_link:hover{
    color:var(--one-blue);
}

.one_tosino_link:hover i{
    transform:translateX(5px);
}


/* =========================================================
   ADMIN MOCKUP
   박스 자체는 움직이지 않음
========================================================= */

.one_admin_mockup{
    position:relative;
    height:100%;
    min-height:490px;
    overflow:hidden;
    border:1px solid #dce6f2;
    border-radius:28px;
    background:#fff;
    box-shadow:0 24px 65px rgba(45,88,145,.10);
}


/* =========================================================
   ADMIN TOP
========================================================= */

.one_admin_top{
    height:60px;
    padding:0 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:var(--one-navy);
}

.one_admin_logo{
    display:flex;
    align-items:center;
    gap:7px;
    color:#fff;
    font-size:15px;
    font-weight:900;
    line-height:1;
}

.one_admin_logo span{
    color:#6aabff;
    font-size:14px;
    font-weight:700;
}

.one_admin_top_right{
    display:flex;
    align-items:center;
    gap:7px;
}

.one_admin_top_right span{
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#6489b9;
}


/* 점마다 살짝 다른 효과 */

.one_admin_top_right span:nth-child(1){
    animation:one_dot_01 2.6s ease-in-out infinite;
}

.one_admin_top_right span:nth-child(2){
    animation:one_dot_02 3.3s ease-in-out infinite;
}

.one_admin_top_right span:nth-child(3){
    animation:one_dot_03 4s ease-in-out infinite;
}

@keyframes one_dot_01{
    0%,100%{
        opacity:.4;
    }
    50%{
        opacity:1;
    }
}

@keyframes one_dot_02{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.3);
    }
}

@keyframes one_dot_03{
    0%,100%{
        opacity:.35;
        transform:scale(1);
    }
    50%{
        opacity:1;
        transform:scale(1.15);
    }
}


/* =========================================================
   ADMIN BODY
========================================================= */

.one_admin_body{
    display:flex;
    height:430px;
}


/* =========================================================
   SIDEBAR
========================================================= */

.one_admin_side{
    width:68px;
    flex:none;
    padding:20px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:9px;
    background:var(--one-navy2);
}

.one_admin_side > div{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    color:#7597c3;
    font-size:15px;
    transition:
        color .25s ease,
        background .25s ease;
}

.one_admin_side > div.active{
    color:#fff;
    background:var(--one-blue);
}


/* 아이콘 박스는 고정
   아이콘 자체만 아주 약하게 움직임 */

.one_admin_side > div:nth-child(2) i{
    animation:one_side_pulse 3.5s ease-in-out infinite;
}

.one_admin_side > div:nth-child(3) i{
    animation:one_side_rotate 5s ease-in-out infinite;
}

.one_admin_side > div:nth-child(5) i{
    animation:one_side_gear 14s linear infinite;
}

@keyframes one_side_pulse{
    0%,100%{
        opacity:.6;
    }
    50%{
        opacity:1;
    }
}

@keyframes one_side_rotate{
    0%,100%{
        transform:rotate(0deg);
    }
    50%{
        transform:rotate(7deg);
    }
}

@keyframes one_side_gear{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}


/* =========================================================
   ADMIN CONTENT
========================================================= */

.one_admin_content{
    flex:1;
    min-width:0;
    padding:23px;
    background:var(--one-bg);
}


/* TITLE */

.one_admin_title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.one_admin_title > div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.one_admin_title small{
    color:#94a5ba;
    font-size:14px;
    font-weight:600;
    line-height:1;
}

.one_admin_title strong{
    color:#17345d;
    font-size:18px;
    font-weight:800;
    line-height:1.2;
}


/* LIVE */

.one_live{
    display:flex;
    align-items:center;
    gap:8px;
    color:#607790;
    font-size:14px;
    font-weight:800;
    line-height:1;
}

.one_live i{
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#27ca75;
    animation:one_live_pulse 1.8s ease-out infinite;
}

@keyframes one_live_pulse{
    0%{
        box-shadow:0 0 0 0 rgba(39,202,117,.45);
    }

    70%{
        box-shadow:0 0 0 8px rgba(39,202,117,0);
    }

    100%{
        box-shadow:0 0 0 0 rgba(39,202,117,0);
    }
}


/* =========================================================
   STATS
   카드 움직임 없음
========================================================= */

.one_admin_stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:17px;
}

.one_admin_stats > div{
    min-width:0;
    padding:15px;
    border:1px solid #e0e8f3;
    border-radius:14px;
    background:#fff;
    box-shadow:0 7px 18px rgba(50,90,140,.025);
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.one_admin_stats > div:hover{
    border-color:#c5ddfb;
    box-shadow:0 10px 22px rgba(48,92,150,.06);
}

.one_admin_stats span{
    display:block;
    overflow:hidden;
    color:#8191a6;
    font-size:14px;
    line-height:1.2;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.one_admin_stats strong{
    display:block;
    margin-top:5px;
    color:#18375f;
    font-size:21px;
    font-weight:800;
    line-height:1.2;
}

.one_admin_stats small{
    display:block;
    margin-top:3px;
    color:var(--one-blue);
    font-size:14px;
    font-weight:700;
    line-height:1.2;
}


/* =========================================================
   ADMIN BOTTOM
========================================================= */

.one_admin_bottom{
    display:grid;
    grid-template-columns:minmax(0,1fr) 165px;
    gap:10px;
    margin-top:11px;
}


/* =========================================================
   CHART
========================================================= */

.one_admin_chart{
    min-width:0;
    padding:14px;
    overflow:hidden;
    border:1px solid #e0e8f3;
    border-radius:15px;
    background:#fff;
}

.one_chart_title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.one_chart_title span{
    color:#233e62;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
}

.one_chart_title small{
    color:#8fa0b4;
    font-size:14px;
    line-height:1.2;
}

.one_chart_area{
    position:relative;
    width:100%;
    height:150px;
    margin-top:7px;
    overflow:hidden;
}

.one_chart_grid{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(
            #edf2f8 1px,
            transparent 1px
        );
    background-size:100% 38px;
}

.one_chart_area svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}


/* 그래프 자체는 고정
   선의 점선만 천천히 이동 */

.one_chart_area path:last-child{
    stroke-dasharray:12 8;
    animation:one_chart_dash 12s linear infinite;
}

@keyframes one_chart_dash{
    from{
        stroke-dashoffset:0;
    }
    to{
        stroke-dashoffset:-100;
    }
}


/* =========================================================
   SYSTEM STATUS
========================================================= */

.one_admin_status{
    padding:14px;
    overflow:hidden;
    border:1px solid #e0e8f3;
    border-radius:15px;
    background:#fff;
}

.one_status_title{
    margin-bottom:7px;
    color:#8294aa;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
}

.one_admin_status > div:not(.one_status_title){
    padding:9px 0;
    display:flex;
    flex-direction:column;
    gap:3px;
    border-bottom:1px solid #edf1f6;
}

.one_admin_status > div:last-child{
    border-bottom:0;
}

.one_admin_status span{
    color:#8292a6;
    font-size:14px;
    line-height:1.2;
}

.one_admin_status strong{
    font-size:14px;
    font-weight:800;
    line-height:1.2;
}

.one_admin_status .on{
    color:#1dbd6c;
}


/* NORMAL 텍스트만 아주 은은하게 */

.one_admin_status .on{
    animation:one_status_light 2.8s ease-in-out infinite;
}

@keyframes one_status_light{
    0%,100%{
        opacity:.65;
    }
    50%{
        opacity:1;
    }
}


/* =========================================================
   FEATURE ROW
========================================================= */

.one_tosino_features{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:15px;
}

.one_tosino_feature{
    position:relative;
    min-height:125px;
    padding:23px;
    display:flex;
    align-items:flex-start;
    gap:16px;
    overflow:hidden;
    border:1px solid var(--one-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 25px rgba(50,90,140,.025);
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}


/* 카드 자체 이동 없음 */

.one_tosino_feature:hover{
    border-color:#b7d3fa;
    box-shadow:0 18px 35px rgba(48,92,150,.08);
}


/* ICON */

.one_tosino_feature > i{
    width:46px;
    height:46px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    color:var(--one-blue);
    background:var(--one-blue-light);
    font-size:17px;
}

.one_tosino_feature > div{
    min-width:0;
    flex:1;
}


/* 각각 아이콘만 다른 효과 */

.one_tosino_feature:nth-child(1) > i i,
.one_tosino_feature:nth-child(1) > i{
    animation:one_feature_icon01 5s ease-in-out infinite;
}

.one_tosino_feature:nth-child(2) > i{
    animation:one_feature_icon02 3.5s ease-in-out infinite;
}

.one_tosino_feature:nth-child(3) > i{
    animation:one_feature_icon03 3.2s ease-in-out infinite;
}

@keyframes one_feature_icon01{
    0%,100%{
        transform:rotate(0deg);
    }

    50%{
        transform:rotate(-6deg);
    }
}

@keyframes one_feature_icon02{
    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.07);
    }
}

@keyframes one_feature_icon03{
    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(3px);
    }
}


/* NUMBER */

.one_tosino_feature .num{
    position:absolute;
    top:14px;
    right:17px;
    color:#b6c4d5;
    font-size:14px;
    font-weight:700;
    line-height:1;
}


/* TEXT */

.one_tosino_feature h4{
    margin:2px 0 6px;
    color:#203754;
    font-size:17px;
    font-weight:800;
    line-height:1.25;
}

.one_tosino_feature p{
    margin:0;
    color:#7d8da2;
    font-size:14px;
    line-height:1.5;
}


/* =========================================================
   1199
========================================================= */

@media(max-width:1199px){

    .one_tosino_header h2{
        font-size:38px;
    }

    .one_admin_bottom{
        grid-template-columns:minmax(0,1fr) 145px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .one_tosino_section{
        padding:70px 0;
    }

    .one_tosino_header{
        display:block;
        margin-bottom:30px;
    }

    .one_tosino_header > p{
        max-width:700px;
        margin-top:14px;
    }

    .one_tosino_info{
        min-height:420px;
    }

    .one_admin_mockup{
        min-height:480px;
    }

    .one_tosino_features{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .one_tosino_section{
        padding:55px 0;
    }

    .one_tosino_header{
        margin-bottom:24px;
    }

    .one_tosino_header h2{
        font-size:31px;
        line-height:1.2;
        letter-spacing:-1.2px;
    }

    .one_tosino_header > p{
        margin-top:11px;
        line-height:1.5;
    }


    /* LEFT */

    .one_tosino_info{
        min-height:0;
        padding:25px;
        border-radius:22px;
    }

    .one_tosino_big_num{
        font-size:100px;
    }

    .one_tosino_info h3{
        margin-bottom:14px;
        font-size:25px;
    }

    .one_tosino_info p{
        line-height:1.5;
    }

    .one_tosino_link{
        position:relative;
        left:auto;
        bottom:auto;
        margin-top:25px;
    }


    /* ADMIN */

    .one_admin_mockup{
        min-height:0;
        border-radius:22px;
    }

    .one_admin_top{
        height:55px;
        padding:0 16px;
    }

    .one_admin_body{
        height:auto;
    }

    .one_admin_side{
        display:none;
    }

    .one_admin_content{
        padding:15px;
    }


    /* STATS */

    .one_admin_stats{
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin-top:14px;
    }

    .one_admin_stats > div{
        padding:13px;
    }

    .one_admin_stats > div:last-child{
        grid-column:1 / -1;
    }


    /* CHART */

    .one_admin_bottom{
        grid-template-columns:1fr;
        gap:8px;
        margin-top:8px;
    }

    .one_chart_area{
        height:130px;
    }

    .one_admin_status{
        display:none;
    }


    /* FEATURE */

    .one_tosino_features{
        gap:9px;
        margin-top:12px;
    }

    .one_tosino_feature{
        min-height:0;
        padding:20px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .one_tosino_header h2{
        font-size:28px;
    }

    .one_admin_stats{
        grid-template-columns:1fr;
    }

    .one_admin_stats > div:last-child{
        grid-column:auto;
    }

    .one_tosino_tags{
        gap:5px;
    }

}


/* =========================================================
   접근성
========================================================= */

@media(prefers-reduced-motion:reduce){

    .one_admin_top_right span,
    .one_admin_side i,
    .one_live i,
    .one_chart_area path,
    .one_admin_status .on,
    .one_tosino_feature > i{
        animation:none !important;
    }

}
/* =========================================================
   모든 오르락/내리락/좌우/확대/회전 강제 제거
========================================================= */

.one_admin_mockup,
.one_admin_mockup *,
.one_tosino_feature,
.one_tosino_feature *,
.one_admin_stats > div,
.one_admin_side > div,
.one_admin_side > div i,
.one_admin_status > div{
    transform:none !important;
}

/* 기존 움직임 애니메이션 강제 중지 */
.one_admin_mockup,
.one_admin_stats > div,
.one_tosino_feature,
.one_tosino_feature > i,
.one_admin_side > div,
.one_admin_side > div i,
.one_admin_status > div{
    animation:none !important;
}


/* =========================================================
   허용할 애니메이션
   위치 변화 없는 효과만 사용
========================================================= */

/* LIVE 점 - 투명도만 */
.one_live i{
    animation:one_safe_live 1.6s ease-in-out infinite !important;
}

@keyframes one_safe_live{
    0%,100%{
        opacity:.45;
    }
    50%{
        opacity:1;
    }
}


/* 상단 점 3개 - 투명도만 */
.one_admin_top_right span{
    transform:none !important;
}

.one_admin_top_right span:nth-child(1){
    animation:one_safe_dot 2s ease-in-out infinite !important;
}

.one_admin_top_right span:nth-child(2){
    animation:one_safe_dot 2.7s ease-in-out .4s infinite !important;
}

.one_admin_top_right span:nth-child(3){
    animation:one_safe_dot 3.4s ease-in-out .8s infinite !important;
}

@keyframes one_safe_dot{
    0%,100%{
        opacity:.3;
    }
    50%{
        opacity:1;
    }
}


/* NORMAL 상태 글자 - 색 밝기만 */
.one_admin_status .on{
    animation:one_safe_status 2.5s ease-in-out infinite !important;
}

@keyframes one_safe_status{
    0%,100%{
        opacity:.55;
    }
    50%{
        opacity:1;
    }
}


/* =========================================================
   차트
   그래프 위치는 절대 움직이지 않음
========================================================= */

.one_chart_area svg{
    transform:none !important;
    animation:none !important;
}

/* 선의 dash만 이동 */
.one_chart_area path:last-child{
    transform:none !important;
    stroke-dasharray:12 8;
    animation:one_safe_chart 12s linear infinite !important;
}

@keyframes one_safe_chart{
    from{
        stroke-dashoffset:0;
    }
    to{
        stroke-dashoffset:-100;
    }
}


/* =========================================================
   HOVER에서도 위치 이동 금지
========================================================= */

.one_admin_mockup:hover,
.one_admin_stats > div:hover,
.one_tosino_feature:hover,
.one_admin_side > div:hover,
.one_tosino_link:hover,
.one_tosino_link:hover i{
    transform:none !important;
}

/* =========================================================
   SOLUTION
========================================================= */

.one_solution_block{
    position:relative;
    width:100%;
    padding:90px 0;
    overflow:hidden;
    background:#f5f9ff;
    color:#10213b;
    font-size:14px;
}

.one_solution_block *{
    box-sizing:border-box;
}


/* =========================================================
   HEADER
========================================================= */

.one_solution_block_head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:45px;
    margin-bottom:40px;
}

.one_section_label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    color:#1769ff;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
}

.one_section_label span{
    font-size:14px;
}

.one_solution_block_head h2{
    margin:0;
    color:#10213b;
    font-size:44px;
    font-weight:800;
    line-height:1.18;
    letter-spacing:-2px;
}

.one_solution_block_head h2 strong{
    color:#1769ff;
}

.one_solution_block_head > p{
    width:100%;
    max-width:540px;
    margin:0;
    color:#728198;
    font-size:14px;
    line-height:1.55;
}


/* =========================================================
   CORE
========================================================= */

.one_solution_core{
    display:grid;
    grid-template-columns:42% 58%;
    overflow:hidden;
    border:1px solid #dce6f3;
    border-radius:28px;
    background:#fff;
    box-shadow:0 25px 60px rgba(45,88,145,.07);
}


/* =========================================================
   CORE LEFT
========================================================= */

.one_solution_core_text{
    position:relative;
    min-height:470px;
    padding:42px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(23,105,255,.18),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #0b2349 0%,
            #123f7d 100%
        );
}

.one_solution_core_num{
    position:absolute;
    top:-5px;
    right:18px;
    color:rgba(255,255,255,.06);
    font-size:150px;
    font-weight:900;
    line-height:1;
}

.one_solution_core_text h3{
    position:relative;
    z-index:2;
    margin:0;
    color:#fff;
    font-size:31px;
    font-weight:700;
    line-height:1.28;
    letter-spacing:-1.3px;
}

.one_solution_core_text h3 strong{
    color:#73b8ff;
}

.one_solution_core_text > p{
    position:relative;
    z-index:2;
    margin:20px 0 0;
    color:#c3d3e7;
    font-size:14px;
    line-height:1.6;
}


/* TAG */

.one_solution_core_tags{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:28px;
}

.one_solution_core_tags span{
    min-height:47px;
    padding:0 13px;
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:13px;
    background:rgba(255,255,255,.07);
    color:#d8e7f7;
    font-size:14px;
    font-weight:600;
}

.one_solution_core_tags i{
    color:#67afff;
    font-size:15px;
}


/* =========================================================
   CORE RIGHT
========================================================= */

.one_solution_core_visual{
    padding:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(61,139,255,.11),
            transparent 28%
        ),
        #fff;
}


/* =========================================================
   SYSTEM
========================================================= */

.one_solution_system{
    width:100%;
    max-width:670px;
    overflow:hidden;
    border:1px solid #dce6f2;
    border-radius:20px;
    background:#fff;
    box-shadow:0 20px 50px rgba(48,90,145,.11);
}


/* TOP */

.one_solution_system_top{
    height:55px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:#0c2853;
}

.one_solution_system_top > span{
    color:#fff;
    font-size:14px;
    font-weight:800;
}

.one_solution_system_top > div{
    display:flex;
    gap:6px;
}

.one_solution_system_top i{
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#638abc;
}


/* 점은 위치 이동 없이 밝기만 */

.one_solution_system_top i:nth-child(1){
    animation:one_solution_dot 2s ease-in-out infinite;
}

.one_solution_system_top i:nth-child(2){
    animation:one_solution_dot 2.6s ease-in-out .3s infinite;
}

.one_solution_system_top i:nth-child(3){
    animation:one_solution_dot 3.2s ease-in-out .6s infinite;
}

@keyframes one_solution_dot{

    0%,100%{
        opacity:.3;
    }

    50%{
        opacity:1;
    }

}


/* =========================================================
   SYSTEM BODY
========================================================= */

.one_solution_system_body{
    display:grid;
    grid-template-columns:155px minmax(0,1fr);
    min-height:330px;
}


/* =========================================================
   SYSTEM MENU
========================================================= */

.one_solution_system_menu{
    padding:17px 12px;
    background:#f1f6fc;
}

.one_solution_system_menu > div{
    height:49px;
    padding:0 12px;
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:7px;
    border-radius:11px;
    color:#72849a;
    font-size:14px;
    font-weight:600;
}

.one_solution_system_menu > div:last-child{
    margin-bottom:0;
}

.one_solution_system_menu > div.active{
    color:#1769ff;
    background:#fff;
    box-shadow:0 8px 20px rgba(48,91,145,.06);
}

.one_solution_system_menu i{
    width:20px;
    color:#1769ff;
    font-size:15px;
}

.one_solution_system_menu span{
    font-size:14px;
}


/* =========================================================
   SYSTEM CONTENT
========================================================= */

.one_solution_system_content{
    min-width:0;
    padding:22px;
    background:#fafcff;
}


/* TITLE */

.one_solution_system_title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.one_solution_system_title > div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.one_solution_system_title small{
    color:#91a2b7;
    font-size:14px;
}

.one_solution_system_title strong{
    color:#18375e;
    font-size:18px;
    font-weight:800;
}

.one_solution_secure{
    display:flex;
    align-items:center;
    gap:7px;
    color:#1abc69;
    font-size:14px;
    font-weight:800;
}

.one_solution_secure i{
    font-size:14px;
}


/* =========================================================
   SYSTEM CARDS
========================================================= */

.one_solution_system_cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin-top:18px;
}

.one_solution_system_cards > div{
    min-width:0;
    min-height:115px;
    padding:15px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #e0e8f2;
    border-radius:14px;
    background:#fff;
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.one_solution_system_cards > div:hover{
    border-color:#bcd7ff;
    box-shadow:0 10px 25px rgba(45,88,145,.07);
}

.one_solution_system_cards i{
    margin-bottom:10px;
    color:#1769ff;
    font-size:19px;
}

.one_solution_system_cards strong{
    color:#18375e;
    font-size:16px;
    font-weight:800;
    line-height:1;
}

.one_solution_system_cards span{
    margin-top:7px;
    color:#8494a8;
    font-size:14px;
}


/* =========================================================
   STATUS
========================================================= */

.one_solution_system_bottom{
    margin-top:14px;
    padding:15px;
    border:1px solid #e0e8f2;
    border-radius:14px;
    background:#fff;
}

.one_solution_system_bottom > div:first-child{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.one_solution_system_bottom span{
    color:#7b8ba0;
    font-size:14px;
}

.one_solution_system_bottom strong{
    color:#1abc69;
    font-size:14px;
    font-weight:800;
}


/* PROGRESS */

.one_solution_progress{
    height:7px;
    margin-top:12px;
    overflow:hidden;
    border-radius:10px;
    background:#e6eef8;
}

.one_solution_progress span{
    display:block;
    width:90%;
    height:100%;
    border-radius:10px;
    background:linear-gradient(
        90deg,
        #1769ff,
        #69b2ff
    );
    animation:one_solution_progress 2.5s ease-in-out infinite;
}

@keyframes one_solution_progress{

    0%,100%{
        opacity:.55;
    }

    50%{
        opacity:1;
    }

}


/* =========================================================
   FEATURES
========================================================= */

.one_solution_features{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:15px;
}

.one_solution_feature{
    position:relative;
    min-height:145px;
    padding:24px;
    display:flex;
    align-items:flex-start;
    gap:17px;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#fff;
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.one_solution_feature:hover{
    border-color:#b8d5ff;
    box-shadow:0 17px 35px rgba(48,90,145,.07);
}


/* ICON */

.one_solution_feature_icon{
    width:50px;
    height:50px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#edf5ff;
    color:#1769ff;
    font-size:19px;
}

.one_solution_feature_icon i{
    font-size:19px;
}


/* TEXT */

.one_solution_feature > div:last-child{
    min-width:0;
    flex:1;
}

.one_solution_feature_num{
    position:absolute;
    right:20px;
    top:18px;
    color:#b7c5d6;
    font-size:14px;
    font-weight:700;
}

.one_solution_feature h3{
    margin:2px 0 7px;
    color:#1c3659;
    font-size:18px;
    font-weight:800;
    line-height:1.25;
}

.one_solution_feature p{
    margin:0;
    color:#7b8a9e;
    font-size:14px;
    line-height:1.5;
}


/* =========================================================
   SCROLL REVEAL
   스크롤 시 딱 한번 등장
========================================================= */

.one_reveal{
    opacity:0;
    will-change:opacity,transform;

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.22,.61,.36,1);
}


/* 왼쪽에서 */

.one_reveal_left{
    transform:translate3d(-45px,0,0);
}


/* 오른쪽에서 */

.one_reveal_right{
    transform:translate3d(45px,0,0);
}


/* 아래에서 */

.one_reveal_up{
    transform:translate3d(0,35px,0);
}


/* 위에서 */

.one_reveal_down{
    transform:translate3d(0,-35px,0);
}


/* 등장 완료 */

.one_reveal.one_reveal_show{
    opacity:1;
    transform:translate3d(0,0,0);
}


/* 순차 등장 */

.one_reveal_delay_1{
    transition-delay:.05s;
}

.one_reveal_delay_2{
    transition-delay:.15s;
}

.one_reveal_delay_3{
    transition-delay:.25s;
}

.one_reveal_delay_4{
    transition-delay:.35s;
}


/* =========================================================
   1199
========================================================= */

@media(max-width:1199px){

    .one_solution_block_head h2{
        font-size:38px;
    }

    .one_solution_core{
        grid-template-columns:40% 60%;
    }

    .one_solution_core_visual{
        padding:28px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .one_solution_block{
        padding:70px 0;
    }

    .one_solution_block_head{
        display:block;
        margin-bottom:30px;
    }

    .one_solution_block_head > p{
        max-width:750px;
        margin-top:14px;
    }

    .one_solution_core{
        grid-template-columns:1fr;
    }

    .one_solution_core_text{
        min-height:0;
    }

    .one_solution_core_visual{
        padding:30px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .one_solution_block{
        padding:55px 0;
    }

    .one_solution_block_head{
        margin-bottom:24px;
    }

    .one_solution_block_head h2{
        font-size:31px;
        line-height:1.2;
        letter-spacing:-1.2px;
    }

    .one_solution_block_head > p{
        margin-top:12px;
    }


    /* CORE */

    .one_solution_core{
        border-radius:22px;
    }

    .one_solution_core_text{
        padding:27px;
    }

    .one_solution_core_text h3{
        font-size:25px;
    }

    .one_solution_core_num{
        font-size:100px;
    }

    .one_solution_core_tags{
        grid-template-columns:1fr;
    }


    /* SYSTEM */

    .one_solution_core_visual{
        padding:17px;
    }

    .one_solution_system{
        border-radius:17px;
    }

    .one_solution_system_body{
        grid-template-columns:1fr;
    }

    .one_solution_system_menu{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:6px;
        padding:10px;
    }

    .one_solution_system_menu > div{
        margin:0;
    }

    .one_solution_system_content{
        padding:15px;
    }

    .one_solution_system_cards{
        grid-template-columns:1fr;
    }

    .one_solution_system_cards > div{
        min-height:90px;
    }


    /* FEATURES */

    .one_solution_features{
        grid-template-columns:1fr;
        gap:9px;
        margin-top:10px;
    }

    .one_solution_feature{
        min-height:0;
        padding:20px;
    }


    /* 모바일 등장 거리 줄임 */

    .one_reveal_left{
        transform:translate3d(-20px,0,0);
    }

    .one_reveal_right{
        transform:translate3d(20px,0,0);
    }

    .one_reveal_up{
        transform:translate3d(0,20px,0);
    }

    .one_reveal_down{
        transform:translate3d(0,-20px,0);
    }

    .one_reveal.one_reveal_show{
        transform:translate3d(0,0,0);
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .one_solution_block_head h2{
        font-size:28px;
    }

    .one_solution_core_text h3{
        font-size:23px;
    }

    .one_solution_system_title{
        align-items:flex-start;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    .one_reveal{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }

    .one_solution_system_top i,
    .one_solution_progress span{
        animation:none !important;
    }

}
/* =========================================================
   SOLUTION
========================================================= */

.one_solution_block{
    position:relative;
    width:100%;
    padding:90px 0;
    overflow:hidden;
    background:#f5f9ff;
    color:#10213b;
    font-size:14px;
}

.one_solution_block *{
    box-sizing:border-box;
}


/* =========================================================
   HEADER
========================================================= */

.one_solution_block_head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:45px;
    margin-bottom:40px;
}

.one_section_label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    color:#1769ff;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
}

.one_section_label span{
    font-size:14px;
}

.one_solution_block_head h2{
    margin:0;
    color:#10213b;
    font-size:44px;
    font-weight:800;
    line-height:1.18;
    letter-spacing:-2px;
}

.one_solution_block_head h2 strong{
    color:#1769ff;
}

.one_solution_block_head > p{
    width:100%;
    max-width:540px;
    margin:0;
    color:#728198;
    font-size:14px;
    line-height:1.55;
}


/* =========================================================
   CORE
========================================================= */

.one_solution_core{
    display:grid;
    grid-template-columns:42% 58%;
    overflow:hidden;
    border:1px solid #dce6f3;
    border-radius:28px;
    background:#fff;
    box-shadow:0 25px 60px rgba(45,88,145,.07);
}


/* =========================================================
   CORE LEFT
========================================================= */

.one_solution_core_text{
    position:relative;
    min-height:470px;
    padding:42px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(23,105,255,.18),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #0b2349 0%,
            #123f7d 100%
        );
}

.one_solution_core_num{
    position:absolute;
    top:-5px;
    right:18px;
    color:rgba(255,255,255,.06);
    font-size:150px;
    font-weight:900;
    line-height:1;
}

.one_solution_core_text h3{
    position:relative;
    z-index:2;
    margin:0;
    color:#fff;
    font-size:31px;
    font-weight:700;
    line-height:1.28;
    letter-spacing:-1.3px;
}

.one_solution_core_text h3 strong{
    color:#73b8ff;
}

.one_solution_core_text > p{
    position:relative;
    z-index:2;
    margin:20px 0 0;
    color:#c3d3e7;
    font-size:14px;
    line-height:1.6;
}


/* TAG */

.one_solution_core_tags{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:28px;
}

.one_solution_core_tags span{
    min-height:47px;
    padding:0 13px;
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:13px;
    background:rgba(255,255,255,.07);
    color:#d8e7f7;
    font-size:14px;
    font-weight:600;
}

.one_solution_core_tags i{
    color:#67afff;
    font-size:15px;
}


/* =========================================================
   CORE RIGHT
========================================================= */

.one_solution_core_visual{
    padding:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(61,139,255,.11),
            transparent 28%
        ),
        #fff;
}


/* =========================================================
   SYSTEM
========================================================= */

.one_solution_system{
    width:100%;
    max-width:670px;
    overflow:hidden;
    border:1px solid #dce6f2;
    border-radius:20px;
    background:#fff;
    box-shadow:0 20px 50px rgba(48,90,145,.11);
}


/* TOP */

.one_solution_system_top{
    height:55px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:#0c2853;
}

.one_solution_system_top > span{
    color:#fff;
    font-size:14px;
    font-weight:800;
}

.one_solution_system_top > div{
    display:flex;
    gap:6px;
}

.one_solution_system_top i{
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#638abc;
}


/* 점은 위치 이동 없이 밝기만 */

.one_solution_system_top i:nth-child(1){
    animation:one_solution_dot 2s ease-in-out infinite;
}

.one_solution_system_top i:nth-child(2){
    animation:one_solution_dot 2.6s ease-in-out .3s infinite;
}

.one_solution_system_top i:nth-child(3){
    animation:one_solution_dot 3.2s ease-in-out .6s infinite;
}

@keyframes one_solution_dot{

    0%,100%{
        opacity:.3;
    }

    50%{
        opacity:1;
    }

}


/* =========================================================
   SYSTEM BODY
========================================================= */

.one_solution_system_body{
    display:grid;
    grid-template-columns:155px minmax(0,1fr);
    min-height:330px;
}


/* =========================================================
   SYSTEM MENU
========================================================= */

.one_solution_system_menu{
    padding:17px 12px;
    background:#f1f6fc;
}

.one_solution_system_menu > div{
    height:49px;
    padding:0 12px;
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:7px;
    border-radius:11px;
    color:#72849a;
    font-size:14px;
    font-weight:600;
}

.one_solution_system_menu > div:last-child{
    margin-bottom:0;
}

.one_solution_system_menu > div.active{
    color:#1769ff;
    background:#fff;
    box-shadow:0 8px 20px rgba(48,91,145,.06);
}

.one_solution_system_menu i{
    width:20px;
    color:#1769ff;
    font-size:15px;
}

.one_solution_system_menu span{
    font-size:14px;
}


/* =========================================================
   SYSTEM CONTENT
========================================================= */

.one_solution_system_content{
    min-width:0;
    padding:22px;
    background:#fafcff;
}


/* TITLE */

.one_solution_system_title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.one_solution_system_title > div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.one_solution_system_title small{
    color:#91a2b7;
    font-size:14px;
}

.one_solution_system_title strong{
    color:#18375e;
    font-size:18px;
    font-weight:800;
}

.one_solution_secure{
    display:flex;
    align-items:center;
    gap:7px;
    color:#1abc69;
    font-size:14px;
    font-weight:800;
}

.one_solution_secure i{
    font-size:14px;
}


/* =========================================================
   SYSTEM CARDS
========================================================= */

.one_solution_system_cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin-top:18px;
}

.one_solution_system_cards > div{
    min-width:0;
    min-height:115px;
    padding:15px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #e0e8f2;
    border-radius:14px;
    background:#fff;
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.one_solution_system_cards > div:hover{
    border-color:#bcd7ff;
    box-shadow:0 10px 25px rgba(45,88,145,.07);
}

.one_solution_system_cards i{
    margin-bottom:10px;
    color:#1769ff;
    font-size:19px;
}

.one_solution_system_cards strong{
    color:#18375e;
    font-size:16px;
    font-weight:800;
    line-height:1;
}

.one_solution_system_cards span{
    margin-top:7px;
    color:#8494a8;
    font-size:14px;
}


/* =========================================================
   STATUS
========================================================= */

.one_solution_system_bottom{
    margin-top:14px;
    padding:15px;
    border:1px solid #e0e8f2;
    border-radius:14px;
    background:#fff;
}

.one_solution_system_bottom > div:first-child{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.one_solution_system_bottom span{
    color:#7b8ba0;
    font-size:14px;
}

.one_solution_system_bottom strong{
    color:#1abc69;
    font-size:14px;
    font-weight:800;
}


/* PROGRESS */

.one_solution_progress{
    height:7px;
    margin-top:12px;
    overflow:hidden;
    border-radius:10px;
    background:#e6eef8;
}

.one_solution_progress span{
    display:block;
    width:90%;
    height:100%;
    border-radius:10px;
    background:linear-gradient(
        90deg,
        #1769ff,
        #69b2ff
    );
    animation:one_solution_progress 2.5s ease-in-out infinite;
}

@keyframes one_solution_progress{

    0%,100%{
        opacity:.55;
    }

    50%{
        opacity:1;
    }

}


/* =========================================================
   FEATURES
========================================================= */

.one_solution_features{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:15px;
}

.one_solution_feature{
    position:relative;
    min-height:145px;
    padding:24px;
    display:flex;
    align-items:flex-start;
    gap:17px;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#fff;
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.one_solution_feature:hover{
    border-color:#b8d5ff;
    box-shadow:0 17px 35px rgba(48,90,145,.07);
}


/* ICON */

.one_solution_feature_icon{
    width:50px;
    height:50px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#edf5ff;
    color:#1769ff;
    font-size:19px;
}

.one_solution_feature_icon i{
    font-size:19px;
}


/* TEXT */

.one_solution_feature > div:last-child{
    min-width:0;
    flex:1;
}

.one_solution_feature_num{
    position:absolute;
    right:20px;
    top:18px;
    color:#b7c5d6;
    font-size:14px;
    font-weight:700;
}

.one_solution_feature h3{
    margin:2px 0 7px;
    color:#1c3659;
    font-size:18px;
    font-weight:800;
    line-height:1.25;
}

.one_solution_feature p{
    margin:0;
    color:#7b8a9e;
    font-size:14px;
    line-height:1.5;
}


/* =========================================================
   SCROLL REVEAL
   스크롤 시 딱 한번 등장
========================================================= */

.one_reveal{
    opacity:0;
    will-change:opacity,transform;

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.22,.61,.36,1);
}


/* 왼쪽에서 */

.one_reveal_left{
    transform:translate3d(-45px,0,0);
}


/* 오른쪽에서 */

.one_reveal_right{
    transform:translate3d(45px,0,0);
}


/* 아래에서 */

.one_reveal_up{
    transform:translate3d(0,35px,0);
}


/* 위에서 */

.one_reveal_down{
    transform:translate3d(0,-35px,0);
}


/* 등장 완료 */

.one_reveal.one_reveal_show{
    opacity:1;
    transform:translate3d(0,0,0);
}


/* 순차 등장 */

.one_reveal_delay_1{
    transition-delay:.05s;
}

.one_reveal_delay_2{
    transition-delay:.15s;
}

.one_reveal_delay_3{
    transition-delay:.25s;
}

.one_reveal_delay_4{
    transition-delay:.35s;
}


/* =========================================================
   1199
========================================================= */

@media(max-width:1199px){

    .one_solution_block_head h2{
        font-size:38px;
    }

    .one_solution_core{
        grid-template-columns:40% 60%;
    }

    .one_solution_core_visual{
        padding:28px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .one_solution_block{
        padding:70px 0;
    }

    .one_solution_block_head{
        display:block;
        margin-bottom:30px;
    }

    .one_solution_block_head > p{
        max-width:750px;
        margin-top:14px;
    }

    .one_solution_core{
        grid-template-columns:1fr;
    }

    .one_solution_core_text{
        min-height:0;
    }

    .one_solution_core_visual{
        padding:30px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .one_solution_block{
        padding:55px 0;
    }

    .one_solution_block_head{
        margin-bottom:24px;
    }

    .one_solution_block_head h2{
        font-size:31px;
        line-height:1.2;
        letter-spacing:-1.2px;
    }

    .one_solution_block_head > p{
        margin-top:12px;
    }


    /* CORE */

    .one_solution_core{
        border-radius:22px;
    }

    .one_solution_core_text{
        padding:27px;
    }

    .one_solution_core_text h3{
        font-size:25px;
    }

    .one_solution_core_num{
        font-size:100px;
    }

    .one_solution_core_tags{
        grid-template-columns:1fr;
    }


    /* SYSTEM */

    .one_solution_core_visual{
        padding:17px;
    }

    .one_solution_system{
        border-radius:17px;
    }

    .one_solution_system_body{
        grid-template-columns:1fr;
    }

    .one_solution_system_menu{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:6px;
        padding:10px;
    }

    .one_solution_system_menu > div{
        margin:0;
    }

    .one_solution_system_content{
        padding:15px;
    }

    .one_solution_system_cards{
        grid-template-columns:1fr;
    }

    .one_solution_system_cards > div{
        min-height:90px;
    }


    /* FEATURES */

    .one_solution_features{
        grid-template-columns:1fr;
        gap:9px;
        margin-top:10px;
    }

    .one_solution_feature{
        min-height:0;
        padding:20px;
    }


    /* 모바일 등장 거리 줄임 */

    .one_reveal_left{
        transform:translate3d(-20px,0,0);
    }

    .one_reveal_right{
        transform:translate3d(20px,0,0);
    }

    .one_reveal_up{
        transform:translate3d(0,20px,0);
    }

    .one_reveal_down{
        transform:translate3d(0,-20px,0);
    }

    .one_reveal.one_reveal_show{
        transform:translate3d(0,0,0);
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .one_solution_block_head h2{
        font-size:28px;
    }

    .one_solution_core_text h3{
        font-size:23px;
    }

    .one_solution_system_title{
        align-items:flex-start;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    .one_reveal{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }

    .one_solution_system_top i,
    .one_solution_progress span{
        animation:none !important;
    }

}

/* =========================================================
   WEBSITE DEVELOPMENT
========================================================= */

.one_build_section{
    position:relative;
    width:100%;
    padding:95px 0;
    overflow:hidden;
    background:#fff;
    color:#10213b;
    font-size:14px;
}

.one_build_section *{
    box-sizing:border-box;
}


/* =========================================================
   HEADER
========================================================= */

.one_build_head{
    display:grid;
    grid-template-columns:1fr 500px;
    align-items:end;
    gap:60px;
    margin-bottom:45px;
}

.one_build_head h2{
    margin:0;
    color:#10213b;
    font-size:46px;
    font-weight:800;
    line-height:1.17;
    letter-spacing:-2px;
}

.one_build_head h2 strong{
    color:#1769ff;
}

.one_build_head_desc{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding-bottom:4px;
}

.one_build_line{
    width:45px;
    height:2px;
    flex:none;
    margin-top:10px;
    background:#1769ff;
}

.one_build_head_desc p{
    margin:0;
    color:#738299;
    font-size:14px;
    line-height:1.6;
}


/* =========================================================
   MAIN
========================================================= */

.one_build_main{
    display:grid;
    grid-template-columns:280px minmax(0,1fr) 260px;
    gap:20px;
    align-items:stretch;
}


/* =========================================================
   INTRO
========================================================= */

.one_build_intro{
    position:relative;
    min-height:540px;
    padding:32px 28px;
    overflow:hidden;
    border-radius:25px;
    background:#0c2853;
    color:#fff;
}

.one_build_number{
    position:absolute;
    right:-3px;
    top:-10px;
    color:rgba(255,255,255,.055);
    font-size:125px;
    font-weight:900;
    line-height:1;
}

.one_build_intro h3{
    position:relative;
    z-index:2;
    margin:0 0 20px;
    color:#fff;
    font-size:26px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:-1px;
}

.one_build_intro h3 strong{
    color:#70b5ff;
}

.one_build_intro > p{
    position:relative;
    z-index:2;
    margin:0 0 12px;
    color:#c2d1e3;
    font-size:14px;
    line-height:1.6;
}


/* PERIOD */

.one_build_period{
    position:absolute;
    left:28px;
    right:28px;
    bottom:28px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:17px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:16px;
    background:rgba(255,255,255,.07);
}

.one_build_period_icon{
    width:46px;
    height:46px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#1769ff;
    color:#fff;
    font-size:18px;
}

.one_build_period > div:last-child{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.one_build_period span{
    color:#83a5ca;
    font-size:14px;
    font-weight:700;
}

.one_build_period strong{
    color:#fff;
    font-size:19px;
    font-weight:900;
}

.one_build_period small{
    color:#b5c6da;
    font-size:14px;
}


/* =========================================================
   PREVIEW
========================================================= */

.one_build_preview{
    position:relative;
    min-width:0;
    min-height:540px;
    padding:28px;
    border:1px solid #dfe8f3;
    border-radius:25px;
    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(23,105,255,.12),
            transparent 30%
        ),
        #f5f9ff;
}


/* BROWSER */

.one_build_browser{
    width:100%;
    overflow:hidden;
    border:1px solid #d6e2f0;
    border-radius:17px;
    background:#fff;
    box-shadow:0 22px 50px rgba(45,88,145,.12);
}

.one_build_browser_top{
    height:48px;
    padding:0 14px;
    display:grid;
    grid-template-columns:80px 1fr 40px;
    align-items:center;
    gap:10px;
    border-bottom:1px solid #e4ebf4;
    background:#fff;
}

.one_build_browser_dots{
    display:flex;
    gap:5px;
}

.one_build_browser_dots i{
    width:8px;
    height:8px;
    display:block;
    border-radius:50%;
    background:#c8d4e2;
}

.one_build_browser_url{
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:8px;
    background:#f2f6fa;
    color:#8796aa;
    font-size:14px;
}

.one_build_browser_url i{
    font-size:14px;
}

.one_build_browser_more{
    text-align:right;
    color:#8b9bae;
}


/* =========================================================
   FAKE WEB
========================================================= */

.one_build_web{
    background:#fff;
}

.one_build_web_nav{
    height:60px;
    padding:0 23px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.one_build_web_nav strong{
    color:#10294e;
    font-size:19px;
    font-weight:900;
}

.one_build_web_nav strong span{
    color:#1769ff;
}

.one_build_web_nav > div{
    display:flex;
    gap:15px;
}

.one_build_web_nav i{
    width:28px;
    height:3px;
    display:block;
    border-radius:10px;
    background:#d8e2ee;
}


/* WEB HERO */

.one_build_web_hero{
    min-height:290px;
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
    background:#eef5ff;
}

.one_build_web_copy{
    padding:36px 28px;
}

.one_build_web_copy > span{
    color:#1769ff;
    font-size:14px;
    font-weight:800;
}

.one_build_web_copy h4{
    margin:10px 0 12px;
    color:#0e2850;
    font-size:35px;
    font-weight:800;
    line-height:.95;
}

.one_build_web_copy h4 strong{
    color:#1769ff;
}

.one_build_web_copy p{
    margin:0;
    color:#8292a6;
    font-size:14px;
}

.one_build_web_copy button{
    margin-top:23px;
    padding:12px 17px;
    border:0;
    border-radius:30px;
    background:#1769ff;
    color:#fff;
    font-size:14px;
    font-weight:700;
}

.one_build_web_copy button i{
    margin-left:7px;
}


/* WEB VISUAL */

.one_build_web_visual{
    position:relative;
    overflow:hidden;
}

.one_build_shape{
    position:absolute;
    border-radius:50%;
}

.one_build_shape.shape_01{
    width:210px;
    height:210px;
    right:-45px;
    top:-55px;
    background:#1769ff;
    opacity:.08;
}

.one_build_shape.shape_02{
    width:120px;
    height:120px;
    left:5px;
    bottom:-40px;
    border:20px solid rgba(23,105,255,.12);
}


/* DEVICE */

.one_build_device{
    position:absolute;
    width:185px;
    height:220px;
    right:25px;
    top:38px;
    overflow:hidden;
    border:7px solid #0e2850;
    border-radius:18px;
    background:#fff;
    box-shadow:0 20px 35px rgba(24,59,105,.18);
}

.one_build_device_head{
    height:35px;
    background:#1769ff;
}

.one_build_device_content{
    padding:17px;
}

.one_build_device_content > span{
    display:block;
    width:45%;
    height:7px;
    border-radius:10px;
    background:#1769ff;
}

.one_build_device_content > strong{
    display:block;
    width:80%;
    height:25px;
    margin-top:12px;
    border-radius:5px;
    background:#dceaff;
}

.one_build_device_content > div{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    margin-top:15px;
}

.one_build_device_content i{
    height:65px;
    border-radius:7px;
    background:#edf3fa;
}


/* =========================================================
   DEVICE CARDS
========================================================= */

.one_build_web_cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid #e5edf6;
}

.one_build_web_cards > div{
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-right:1px solid #e5edf6;
    color:#718298;
}

.one_build_web_cards > div:last-child{
    border-right:0;
}

.one_build_web_cards i{
    color:#1769ff;
    font-size:17px;
}

.one_build_web_cards span{
    font-size:14px;
    font-weight:700;
}


/* RESPONSIVE */

.one_build_responsive{
    margin-top:16px;
    padding:0 5px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.one_build_responsive span,
.one_build_responsive strong{
    font-size:14px;
}

.one_build_responsive span{
    color:#1769ff;
    font-weight:800;
}

.one_build_responsive span i{
    margin-right:5px;
}

.one_build_responsive strong{
    color:#8292a6;
}


/* =========================================================
   RIGHT SPECS
========================================================= */

.one_build_specs{
    display:grid;
    grid-template-rows:repeat(3,1fr);
    gap:10px;
}

.one_build_spec{
    position:relative;
    padding:22px;
    overflow:hidden;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#fff;
    transition:border-color .25s, box-shadow .25s;
}

.one_build_spec:hover{
    border-color:#b8d5ff;
    box-shadow:0 15px 30px rgba(45,88,145,.07);
}

.one_build_spec > span{
    position:absolute;
    right:17px;
    top:15px;
    color:#bdc9d8;
    font-size:14px;
    font-weight:700;
}

.one_build_spec_icon{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
    border-radius:12px;
    background:#edf5ff;
    color:#1769ff;
    font-size:17px;
}

.one_build_spec h4{
    margin:0 0 6px;
    color:#1b365a;
    font-size:17px;
    font-weight:800;
}

.one_build_spec p{
    margin:0;
    color:#7c8ca0;
    font-size:14px;
    line-height:1.5;
}


/* =========================================================
   PROCESS
========================================================= */

.one_build_process{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:20px;
    margin-top:20px;
}

.one_build_process_title{
    padding:27px;
    border-radius:20px;
    background:#1769ff;
    color:#fff;
}

.one_build_process_title > span{
    color:#b9d6ff;
    font-size:14px;
    font-weight:800;
}

.one_build_process_title h3{
    margin:10px 0 0;
    color:#fff;
    font-size:23px;
    line-height:1.3;
}

.one_build_process_title h3 strong{
    color:#fff;
}

.one_build_process_list{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#fff;
}

.one_build_step{
    position:relative;
    min-height:170px;
    padding:25px 20px;
    border-right:1px solid #e5ecf4;
}

.one_build_step:last-child{
    border-right:0;
}

.one_build_step > span{
    position:absolute;
    right:15px;
    top:14px;
    color:#c1ccda;
    font-size:14px;
}

.one_build_step > i{
    display:block;
    margin-bottom:18px;
    color:#1769ff;
    font-size:22px;
}

.one_build_step strong{
    display:block;
    color:#203a5d;
    font-size:16px;
}

.one_build_step p{
    margin:7px 0 0;
    color:#8493a6;
    font-size:14px;
    line-height:1.45;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1199px){

    .one_build_main{
        grid-template-columns:260px minmax(0,1fr);
    }

    .one_build_specs{
        grid-column:1 / -1;
        grid-template-columns:repeat(3,1fr);
        grid-template-rows:auto;
    }

    .one_build_head{
        grid-template-columns:1fr 430px;
    }

}


@media(max-width:991px){

    .one_build_section{
        padding:70px 0;
    }

    .one_build_head{
        grid-template-columns:1fr;
        gap:18px;
    }

    .one_build_head h2{
        font-size:38px;
    }

    .one_build_head_desc{
        max-width:650px;
    }

    .one_build_main{
        grid-template-columns:1fr;
    }

    .one_build_intro{
        min-height:430px;
    }

    .one_build_specs{
        grid-column:auto;
        grid-template-columns:repeat(3,1fr);
    }

    .one_build_process{
        grid-template-columns:1fr;
    }

}


@media(max-width:767px){

    .one_build_section{
        padding:55px 0;
    }

    .one_build_head{
        margin-bottom:25px;
    }

    .one_build_head h2{
        font-size:31px;
        letter-spacing:-1.2px;
    }

    .one_build_intro{
        min-height:0;
        padding:27px;
    }

    .one_build_intro h3{
        font-size:24px;
    }

    .one_build_period{
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        margin-top:25px;
    }

    .one_build_preview{
        min-height:0;
        padding:15px;
    }

    .one_build_browser_top{
        grid-template-columns:55px 1fr 20px;
    }

    .one_build_web_hero{
        grid-template-columns:1fr;
    }

    .one_build_web_visual{
        min-height:240px;
    }

    .one_build_device{
        left:50%;
        right:auto;
        transform:translateX(-50%);
    }

    .one_build_specs{
        grid-template-columns:1fr;
    }

    .one_build_process_list{
        grid-template-columns:1fr 1fr;
    }

    .one_build_step:nth-child(2){
        border-right:0;
    }

    .one_build_step:nth-child(1),
    .one_build_step:nth-child(2){
        border-bottom:1px solid #e5ecf4;
    }

}


@media(max-width:480px){

    .one_build_head h2{
        font-size:28px;
    }

    .one_build_web_cards{
        grid-template-columns:1fr;
    }

    .one_build_web_cards > div{
        min-height:55px;
        border-right:0;
        border-bottom:1px solid #e5edf6;
    }

    .one_build_web-cards > div:last-child{
        border-bottom:0;
    }

    .one_build_process_list{
        grid-template-columns:1fr;
    }

    .one_build_step{
        min-height:130px;
        border-right:0;
        border-bottom:1px solid #e5ecf4;
    }

    .one_build_step:last-child{
        border-bottom:0;
    }

}

/* =========================================================
   SIMPLE OPERATION MANAGEMENT
========================================================= */

.one_manage_simple{
    position:relative;
    padding:100px 0;
    overflow:hidden;
    background:#fff;
    color:#10213b;
    font-size:14px;
}

.one_manage_simple *{
    box-sizing:border-box;
}


/* LEFT */

.one_manage_simple_visual{
    position:relative;
    min-height:520px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.one_manage_simple_visual:before{
    content:"";
    position:absolute;
    left:30px;
    bottom:20px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:#f4f8ff;
}


/* MONITOR */

.one_manage_monitor_box{
    position:relative;
    z-index:2;
    width:88%;
    max-width:560px;
    overflow:hidden;
    border:8px solid #27384f;
    border-radius:18px;
    background:#fff;
    box-shadow:0 30px 60px rgba(45,88,145,.13);
}

.one_manage_monitor_top{
    height:50px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:#0c2853;
}

.one_manage_monitor_top > span{
    font-size:14px;
    font-weight:800;
}

.one_manage_monitor_top > div{
    display:flex;
    gap:6px;
}

.one_manage_monitor_top i{
    width:8px;
    height:8px;
    display:block;
    border-radius:50%;
    background:#6489b9;
}


/* BODY */

.one_manage_monitor_body{
    display:flex;
    height:330px;
}

.one_manage_sidebar{
    width:65px;
    flex:none;
    padding:20px 13px;
    background:#12325e;
}

.one_manage_sidebar span{
    display:block;
    height:9px;
    margin-bottom:15px;
    border-radius:10px;
    background:#3f6696;
}

.one_manage_screen{
    flex:1;
    min-width:0;
    padding:22px;
    background:#f8fbff;
}

.one_manage_screen_title{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.one_manage_screen_title > div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.one_manage_screen_title small{
    color:#8798ad;
    font-size:14px;
}

.one_manage_screen_title strong{
    color:#18375f;
    font-size:18px;
}

.one_manage_screen_title > span{
    display:flex;
    align-items:center;
    gap:7px;
    color:#647991;
    font-size:14px;
    font-weight:800;
}

.one_manage_screen_title > span i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#27c976;
    animation:one_manage_live 1.8s ease-in-out infinite;
}

@keyframes one_manage_live{
    0%,100%{opacity:.4;}
    50%{opacity:1;}
}


/* CARDS */

.one_manage_screen_cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    margin-top:18px;
}

.one_manage_screen_cards div{
    height:70px;
    border:1px solid #e0e8f2;
    border-radius:12px;
    background:#fff;
}


/* CHART */

.one_manage_screen_chart{
    position:relative;
    height:130px;
    margin-top:15px;
    border:1px solid #e0e8f2;
    border-radius:14px;
    background:
        repeating-linear-gradient(
            to bottom,
            #fff 0,
            #fff 31px,
            #edf2f7 32px
        );
    overflow:hidden;
}

.one_manage_screen_chart svg{
    width:100%;
    height:100%;
}


/* BADGE */

.one_manage_badge{
    position:absolute;
    right:35px;
    bottom:35px;
    z-index:4;
    width:115px;
    height:115px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:50%;
    color:#fff;
    background:#1769ff;
    box-shadow:0 15px 35px rgba(23,105,255,.25);
}

.one_manage_badge i{
    font-size:25px;
}

.one_manage_badge span{
    font-size:14px;
    font-weight:800;
}


/* =========================================================
   RIGHT
========================================================= */

.one_manage_simple_content{
    max-width:620px;
    margin-left:auto;
}

.one_manage_simple_content h2{
    margin:0;
    color:#10213b;
    font-size:44px;
    line-height:1.18;
    font-weight:800;
    letter-spacing:-2px;
}

.one_manage_simple_content h2 strong{
    color:#1769ff;
}

.one_manage_simple_intro{
    margin:22px 0 0;
    color:#738299;
    font-size:14px;
    line-height:1.6;
}


/* LIST */

.one_manage_simple_list{
    margin-top:38px;
}

.one_manage_simple_item{
    display:grid;
    grid-template-columns:62px 1fr;
    gap:20px;
    padding:22px 0;
    border-bottom:1px solid #e8eef5;
}

.one_manage_simple_item:last-child{
    border-bottom:0;
}

.one_manage_simple_icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#1769ff;
    background:#edf5ff;
    font-size:20px;
}

.one_manage_simple_item h3{
    margin:2px 0 7px;
    color:#172e4e;
    font-size:18px;
    font-weight:800;
    line-height:1.3;
}

.one_manage_simple_item p{
    max-width:500px;
    margin:0;
    color:#7b899c;
    font-size:14px;
    line-height:1.55;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:991px){

    .one_manage_simple{
        padding:75px 0;
    }

    .one_manage_simple_visual{
        min-height:460px;
    }

    .one_manage_simple_content{
        max-width:none;
        margin-top:30px;
    }

}

@media(max-width:767px){

    .one_manage_simple{
        padding:55px 0;
    }

    .one_manage_simple_visual{
        min-height:380px;
    }

    .one_manage_monitor_box{
        width:100%;
        border-width:5px;
    }

    .one_manage_monitor_body{
        height:270px;
    }

    .one_manage_sidebar{
        width:45px;
        padding:15px 9px;
    }

    .one_manage_screen{
        padding:14px;
    }

    .one_manage_screen_cards div{
        height:55px;
    }

    .one_manage_screen_chart{
        height:105px;
    }

    .one_manage_badge{
        width:90px;
        height:90px;
        right:5px;
        bottom:10px;
    }

    .one_manage_badge i{
        font-size:21px;
    }

    .one_manage_simple_content h2{
        font-size:31px;
        letter-spacing:-1.2px;
    }

    .one_manage_simple_list{
        margin-top:25px;
    }

    .one_manage_simple_item{
        grid-template-columns:52px 1fr;
        gap:14px;
        padding:18px 0;
    }

    .one_manage_simple_icon{
        width:50px;
        height:50px;
        font-size:18px;
    }

}

@media(max-width:480px){

    .one_manage_simple_visual{
        min-height:320px;
    }

    .one_manage_monitor_top{
        height:43px;
        padding:0 10px;
    }

    .one_manage_monitor-body,
    .one_manage_monitor_body{
        height:230px;
    }

    .one_manage_screen_cards{
        gap:5px;
    }

    .one_manage_screen_chart{
        height:85px;
    }

    .one_manage_badge{
        display:none;
    }

    .one_manage_simple_content h2{
        font-size:28px;
    }

}
/* =========================================================
   SECURITY & TECH SUPPORT
========================================================= */

.one_security_section{
    position:relative;
    width:100%;
    padding:100px 0;
    overflow:hidden;
    background:#f7faff;
    color:#10213b;
    font-size:14px;
}

.one_security_section *{
    box-sizing:border-box;
}


/* =========================================================
   MAIN
========================================================= */

.one_security_wrap{
    display:grid;
    grid-template-columns:42% 58%;
    gap:70px;
    align-items:start;
}


/* =========================================================
   LEFT
========================================================= */

.one_security_intro{
    position:sticky;
    top:130px;
    max-width:520px;
}

.one_security_intro h2{
    margin:0;
    color:#10213b;
    font-size:46px;
    font-weight:800;
    line-height:1.18;
    letter-spacing:-2px;
}

.one_security_intro h2 strong{
    color:#1769ff;
}

.one_security_intro > p{
    max-width:500px;
    margin:22px 0 0;
    color:#748399;
    font-size:14px;
    line-height:1.65;
}


/* STATUS */

.one_security_status{
    width:100%;
    max-width:360px;
    margin-top:30px;
    padding:18px;
    display:flex;
    align-items:center;
    gap:14px;
    border:1px solid #dce7f4;
    border-radius:18px;
    background:#fff;
}

.one_security_status_icon{
    width:50px;
    height:50px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    color:#1769ff;
    background:#edf5ff;
    font-size:20px;
}

.one_security_status > div:last-child{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.one_security_status span{
    color:#8a9aaf;
    font-size:14px;
    font-weight:700;
}

.one_security_status strong{
    display:flex;
    align-items:center;
    gap:8px;
    color:#17385f;
    font-size:16px;
    font-weight:800;
}

.one_security_status strong i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#21bd6c;
    animation:oneSecurityStatus 2s ease-in-out infinite;
}

@keyframes oneSecurityStatus{

    0%,100%{
        opacity:.4;
    }

    50%{
        opacity:1;
    }

}


/* =========================================================
   RIGHT LIST
========================================================= */

.one_security_list{
    border-top:1px solid #dfe8f3;
}

.one_security_item{
    position:relative;
    display:grid;
    grid-template-columns:68px 1fr;
    gap:20px;
    padding:28px 0;
    border-bottom:1px solid #dfe8f3;
}

.one_security_icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#1769ff;
    background:#edf5ff;
    font-size:21px;
}

.one_security_item > div:last-child{
    max-width:620px;
}

.one_security_item > div:last-child > span{
    display:block;
    margin-bottom:6px;
    color:#1769ff;
    font-size:14px;
    font-weight:800;
}

.one_security_item h3{
    margin:0 0 7px;
    color:#172f50;
    font-size:19px;
    font-weight:800;
    line-height:1.3;
}

.one_security_item p{
    margin:0;
    color:#7b899c;
    font-size:14px;
    line-height:1.55;
}


/* HOVER */

.one_security_item{
    transition:padding .25s ease;
}

.one_security_item:hover{
    padding-left:10px;
}

.one_security_item:hover .one_security_icon{
    color:#fff;
    background:#1769ff;
}


/* =========================================================
   BOTTOM
========================================================= */

.one_security_bottom{
    margin-top:55px;
    padding:26px 30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    border:1px solid #dce7f4;
    border-radius:20px;
    background:#fff;
}

.one_security_bottom_title{
    flex:none;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.one_security_bottom_title span{
    color:#1769ff;
    font-size:14px;
    font-weight:800;
}

.one_security_bottom_title strong{
    color:#19375d;
    font-size:17px;
    font-weight:800;
}


/* KEYWORDS */

.one_security_keywords{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}

.one_security_keywords span{
    min-height:38px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-radius:20px;
    background:#f1f6fd;
    color:#526b8b;
    font-size:14px;
    font-weight:700;
}

.one_security_keywords i{
    color:#1769ff;
    font-size:14px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .one_security_section{
        padding:75px 0;
    }

    .one_security_wrap{
        grid-template-columns:1fr;
        gap:45px;
    }

    .one_security_intro{
        position:relative;
        top:auto;
        max-width:none;
    }

    .one_security_intro > p{
        max-width:700px;
    }

    .one_security_bottom{
        display:block;
    }

    .one_security_keywords{
        justify-content:flex-start;
        margin-top:20px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .one_security_section{
        padding:55px 0;
    }

    .one_security_wrap{
        gap:35px;
    }

    .one_security_intro h2{
        font-size:31px;
        letter-spacing:-1.2px;
    }

    .one_security_intro > p{
        margin-top:16px;
        line-height:1.55;
    }

    .one_security_status{
        margin-top:22px;
    }

    .one_security_item{
        grid-template-columns:52px 1fr;
        gap:14px;
        padding:21px 0;
    }

    .one_security_icon{
        width:50px;
        height:50px;
        font-size:18px;
    }

    .one_security_item h3{
        font-size:17px;
    }

    .one_security_item:hover{
        padding-left:0;
    }

    .one_security_bottom{
        margin-top:35px;
        padding:22px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .one_security_intro h2{
        font-size:28px;
    }

    .one_security_keywords{
        gap:6px;
    }

    .one_security_keywords span{
        padding:0 10px;
    }

}
/* =========================================================
   24H CONTACT
========================================================= */

.one_contact_section{
    position:relative;
    width:100%;
    padding:110px 0;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(72,153,255,.28),
            transparent 32%
        ),
        linear-gradient(
            120deg,
            #071c3d 0%,
            #0b3675 50%,
            #1769ff 100%
        );
    font-size:14px;
}

.one_contact_section *{
    box-sizing:border-box;
}


/* BACKGROUND TEXT */

.one_contact_bg_text{
    position:absolute;
    left:50%;
    bottom:-55px;
    transform:translateX(-50%);
    white-space:nowrap;
    color:rgba(255,255,255,.035);
    font-size:180px;
    font-weight:900;
    line-height:1;
    letter-spacing:-8px;
    pointer-events:none;
}


/* =========================================================
   LEFT
========================================================= */

.one_contact_content{
    position:relative;
    z-index:2;
    max-width:720px;
}

.one_contact_label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    color:#85bdff;
    font-size:14px;
    font-weight:800;
}

.one_contact_label span{
    color:#fff;
    font-size:14px;
}


.one_contact_content h2{
    margin:0;
    color:#fff;
    font-size:48px;
    font-weight:800;
    line-height:1.18;
    letter-spacing:-2px;
}

.one_contact_content h2 strong{
    color:#8cc3ff;
}


.one_contact_intro{
    max-width:650px;
    margin:25px 0 0;
    color:#d4e2f3;
    font-size:14px;
    line-height:1.65;
}


.one_contact_desc{
    max-width:650px;
    margin:12px 0 0;
    color:#aebfd3;
    font-size:14px;
    line-height:1.65;
}


/* =========================================================
   POINT
========================================================= */

.one_contact_points{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:28px;
}

.one_contact_points span{
    min-height:40px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:30px;
    background:rgba(255,255,255,.07);
    color:#d9e8f7;
    font-size:14px;
    font-weight:600;
}

.one_contact_points i{
    color:#70b5ff;
    font-size:14px;
}


/* =========================================================
   RIGHT
========================================================= */

.one_contact_right{
    position:relative;
    z-index:2;
    max-width:410px;
    margin-left:auto;
    padding-left:45px;
    border-left:1px solid rgba(255,255,255,.15);
}


/* 24 */

.one_contact_24{
    display:flex;
    align-items:flex-end;
    gap:12px;
}

.one_contact_24 > span{
    position:absolute;
    top:3px;
    color:#83baff;
    font-size:14px;
    font-weight:800;
    letter-spacing:1px;
}

.one_contact_24 strong{
    color:#fff;
    font-size:120px;
    font-weight:800;
    line-height:.85;
    letter-spacing:-7px;
}

.one_contact_24 em{
    margin-bottom:9px;
    color:#8dc4ff;
    font-size:22px;
    font-style:normal;
    font-weight:800;
}


/* =========================================================
   STATUS
========================================================= */

.one_contact_status{
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:25px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.13);
}

.one_contact_status > i{
    width:10px;
    height:10px;
    flex:none;
    border-radius:50%;
    background:#42e08b;
    box-shadow:0 0 0 6px rgba(66,224,139,.1);

    animation:oneContactOnline 2s ease-in-out infinite;
}

@keyframes oneContactOnline{

    0%,100%{
        opacity:.5;
    }

    50%{
        opacity:1;
    }

}

.one_contact_status > div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.one_contact_status span{
    color:#8ea9c8;
    font-size:14px;
}

.one_contact_status strong{
    color:#64e7a0;
    font-size:14px;
    font-weight:800;
}


/* =========================================================
   TELEGRAM
========================================================= */

.one_contact_telegram{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:20px;
}

.one_contact_telegram_icon{
    width:52px;
    height:52px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    background:#229ed9;
    font-size:25px;
}

.one_contact_telegram > div:last-child{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.one_contact_telegram span{
    color:#86a5c9;
    font-size:14px;
}

.one_contact_telegram strong{
    color:#fff;
    font-size:16px;
    font-weight:800;
}


/* =========================================================
   BUTTON
========================================================= */

.one_contact_btn{
    width:100%;
    height:55px;
    margin-top:25px;
    padding:0 20px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    border-radius:30px;

    background:#fff;
    color:#1769ff;

    font-size:15px;
    font-weight:800;

    text-decoration:none;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.one_contact_btn:hover{
    color:#1769ff;
    transform:translateY(-2px);
    box-shadow:0 15px 30px rgba(0,0,0,.15);
}

.one_contact_btn i{
    font-size:14px;
}


.one_contact_message{
    margin:13px 5px 0;
    color:#92a9c4;
    font-size:14px;
    line-height:1.5;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .one_contact_section{
        padding:80px 0;
    }

    .one_contact_content h2{
        font-size:40px;
    }

    .one_contact_right{
        max-width:none;
        margin:25px 0 0;
        padding:30px 0 0;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.15);
    }

    .one_contact_24 > span{
        position:relative;
        top:auto;
        align-self:flex-start;
        margin-top:5px;
    }

    .one_contact_bg_text{
        font-size:120px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .one_contact_section{
        padding:60px 0;
    }

    .one_contact_content h2{
        font-size:32px;
        line-height:1.22;
        letter-spacing:-1.3px;
    }

    .one_contact_intro{
        margin-top:18px;
        line-height:1.55;
    }

    .one_contact_desc{
        line-height:1.55;
    }

    .one_contact_points{
        margin-top:20px;
    }

    .one_contact_24 strong{
        font-size:90px;
        letter-spacing:-5px;
    }

    .one_contact_24 em{
        font-size:18px;
    }

    .one_contact_bg_text{
        font-size:80px;
        bottom:-20px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .one_contact_content h2{
        font-size:28px;
    }

    .one_contact_points span{
        padding:0 11px;
    }

    .one_contact_24 strong{
        font-size:80px;
    }

}
/* =========================================================
   HERO RESPONSIVE FIX
========================================================= */

/* 기본 */
.one_hero,
.one_hero_swiper,
.one_hero_swiper .swiper-wrapper,
.one_hero_swiper .swiper-slide{
    width:100%;
}

.one_hero{
    min-height:780px;
}

.one_hero_row{
    min-height:780px;
}

.one_hero_content,
.one_content_right{
    width:100%;
    max-width:100%;
}


/* 이미지 넘침 방지 */
.one_main_cube img{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
}


/* =========================================================
   1199 이하
========================================================= */

@media(max-width:1199px){

    .one_hero{
        min-height:720px;
    }

    .one_hero_row{
        min-height:720px;
    }

    .one_hero h1{
        font-size:72px;
        letter-spacing:-4px;
    }

    .one_title_medium{
        font-size:64px !important;
    }

    .one_hero h2{
        font-size:29px;
    }

    .one_hero_visual{
        width:420px;
        max-width:100%;
        height:420px;
    }

    .one_dev_visual{
        width:100%;
        height:430px;
    }

    .one_dev_window{
        width:94%;
        max-width:520px;
    }

}


/* =========================================================
   991 이하
   여기부터 좌우 2단 → 상하 1단
========================================================= */

@media(max-width:991px){

    .one_hero{
        min-height:0;
        height:auto;
    }

    .one_hero_swiper,
    .one_hero_swiper .swiper-wrapper,
    .one_hero_swiper .swiper-slide{
        height:auto !important;
        min-height:0 !important;
    }

    .one_hero_row{
        height:auto !important;
        min-height:0 !important;
        padding:130px 0 80px;
    }

    /* Bootstrap col이 세로로 내려온 뒤 꽉 차게 */
    .one_hero_row > [class*="col-"]{
        width:100%;
    }

    .one_hero_content,
    .one_content_right{
        max-width:100%;
        margin:0;
    }

    .one_hero h1{
        font-size:66px;
        line-height:.92;
    }

    .one_title_medium{
        font-size:58px !important;
    }

    .one_hero h2{
        margin-top:25px;
        font-size:28px;
    }

    .one_hero_desc{
        max-width:650px;
    }


    /* 1번 슬라이드 비주얼 */
    .one_hero_visual{
        width:420px;
        max-width:100%;
        height:420px;
        margin:45px auto 0;
    }


    /* 2번 개발 화면 */
    .one_dev_visual{
        width:100%;
        height:410px;
        margin:40px auto 0;
    }

    .one_dev_window{
        width:90%;
        max-width:600px;
        margin:0 auto;
    }

    .one_dev_badge{
        right:5%;
    }


    /* 3번 중앙 슬라이드 */
    .one_support_row{
        min-height:0 !important;
        height:auto !important;
        padding:130px 0 90px;
    }

    .one_support_content{
        width:100%;
        max-width:850px;
        margin:0 auto;
    }

}


/* =========================================================
   767 이하
========================================================= */

@media(max-width:767px){

    .one_hero_row{
        padding:110px 0 65px;
    }

    .one_support_row{
        padding:110px 0 70px;
    }

    .one_eyebrow{
        margin-bottom:15px;
        font-size:14px;
    }

    .one_hero h1{
        font-size:50px;
        line-height:.95;
        letter-spacing:-3px;
    }

    .one_title_medium{
        font-size:46px !important;
    }

    .one_hero h2{
        margin:20px 0 12px;
        font-size:24px;
        line-height:1.3;
    }

    .one_hero_desc{
        font-size:14px;
        line-height:1.55;
    }


    /* BUTTON */
    .one_hero_buttons{
        gap:8px;
        margin-top:22px;
    }

    .one_btn_blue,
    .one_btn_white{
        min-height:48px;
        padding:0 18px;
        font-size:14px;
    }


    /* STATS */
    .one_hero_stats{
        gap:20px;
        margin-top:28px;
    }

    .one_hero_stats strong{
        font-size:19px;
    }

    .one_hero_stats span{
        font-size:14px;
    }


    /* =====================================================
       SLIDE 01
    ===================================================== */

    .one_hero_visual{
        width:340px;
        max-width:100%;
        height:340px;
        margin-top:35px;
    }

    .one_main_cube{
        width:155px;
        height:155px;
    }

    .orbit01{
        width:210px;
        height:210px;
    }

    .orbit02{
        width:275px;
        height:275px;
    }

    .orbit03{
        width:335px;
        height:335px;
    }

    .one_float{
        min-width:100px;
        height:45px;
        padding:0 10px;
        font-size:14px;
    }

    .one_float_01{
        left:0;
        top:55px;
    }

    .one_float_02{
        right:0;
        top:150px;
    }

    .one_float_03{
        left:10px;
        bottom:30px;
    }


    /* =====================================================
       SLIDE 02
    ===================================================== */

    .one_dev_visual{
        height:330px;
        margin-top:30px;
    }

    .one_dev_window{
        width:100%;
        height:260px;
        border-radius:16px;
    }

    .one_dev_window_top{
        height:42px;
        padding:0 12px;
    }

    .one_dev_window_top small{
        font-size:14px;
    }

    .one_dev_sidebar{
        width:45px;
    }

    .one_dev_content{
        padding:14px;
    }

    .one_dev_code{
        padding:14px;
    }

    .one_dev_cards{
        gap:5px;
        margin-top:10px;
    }

    .one_dev_cards > div{
        height:62px;
        font-size:14px;
    }

    .one_dev_badge{
        width:125px;
        height:78px;
        right:0;
        bottom:0;
        padding:12px;
    }

    .one_dev_badge span{
        font-size:20px;
    }

    .one_dev_badge small{
        font-size:14px;
    }

    .one_inline_points{
        gap:6px;
        margin-top:17px;
    }

    .one_inline_points span{
        font-size:14px;
    }


    /* =====================================================
       SLIDE 03
    ===================================================== */

    .one_support_content{
        padding:0;
    }

    .one_support_cards{
        grid-template-columns:repeat(2,1fr);
        gap:8px;
        margin-top:25px;
    }

    .one_support_card{
        min-height:105px;
        padding:14px;
    }

    .one_support_card i{
        font-size:19px;
    }

    .one_support_card strong{
        font-size:18px;
    }

    .one_support_card span{
        font-size:14px;
    }


    /* 슬라이드 좌우 버튼 모바일 숨김 */
    .one_hero_control{
        display:none;
    }

    .one_hero_pagination{
        bottom:15px !important;
    }

}


/* =========================================================
   575 이하
========================================================= */

@media(max-width:575px){

    .one_hero_row{
        padding:100px 0 60px;
    }

    .one_support_row{
        padding:100px 0 65px;
    }

    .one_hero h1{
        font-size:43px;
        letter-spacing:-2.5px;
    }

    .one_title_medium{
        font-size:40px !important;
    }

    .one_hero h2{
        font-size:22px;
    }

    .one_hero_buttons{
        flex-direction:column;
    }

    .one_btn_blue,
    .one_btn_white{
        width:100%;
        justify-content:space-between;
    }

    .one_hero_stats{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:8px;
    }

    .one_hero_stats div{
        min-width:0;
    }

    .one_hero_stats strong{
        font-size:17px;
    }

    .one_hero_stats span{
        white-space:normal;
        font-size:14px;
    }


    /* SLIDE 01 */
    .one_hero_visual{
        width:290px;
        height:290px;
    }

    .one_main_cube{
        width:135px;
        height:135px;
    }

    .orbit01{
        width:180px;
        height:180px;
    }

    .orbit02{
        width:235px;
        height:235px;
    }

    .orbit03{
        width:285px;
        height:285px;
    }

    .one_float{
        min-width:90px;
        height:40px;
    }


    /* SLIDE 02 */
    .one_dev_visual{
        height:290px;
    }

    .one_dev-window,
    .one_dev_window{
        height:225px;
    }

    .one_dev-sidebar,
    .one_dev_sidebar{
        display:none;
    }

    .one_dev_cards{
        grid-template-columns:repeat(3,1fr);
    }

    .one_dev_cards strong{
        font-size:14px;
    }


    /* SLIDE 03 */
    .one_support_cards{
        grid-template-columns:1fr 1fr;
    }

}


/* =========================================================
   420 이하
========================================================= */

@media(max-width:420px){

    .one_hero h1{
        font-size:38px;
    }

    .one_title_medium{
        font-size:36px !important;
    }

    .one_hero h2{
        font-size:20px;
    }

    .one_hero_visual{
        width:265px;
        height:265px;
    }

    .orbit01{
        width:165px;
        height:165px;
    }

    .orbit02{
        width:215px;
        height:215px;
    }

    .orbit03{
        width:260px;
        height:260px;
    }

    .one_main_cube{
        width:120px;
        height:120px;
    }

    .one_support_cards{
        grid-template-columns:1fr;
    }

}
@media(max-width:575px){

    .one_hero_buttons{
        display:flex;
        flex-direction:row;
        flex-wrap:nowrap;
        gap:8px;
        width:100%;
    }

    .one_btn_blue,
    .one_btn_white{
        width:50%;
        min-width:0;
        padding:0 12px;
        justify-content:center;
        text-align:center;
        white-space:nowrap;
    }

}
/* =========================================================
   ROOT
========================================================= */

.ts_page{
    width:100%;
    overflow:hidden;
    color:#10213b;
    background:#fff;
    font-size:14px;
}

.ts_page *{
    box-sizing:border-box;
}

.ts_page p,
.ts_page span,
.ts_page small,
.ts_page a{
    font-size:14px;
}


/* =========================================================
   HERO
========================================================= */

.ts_hero{
    position:relative;
    min-height:760px;
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 30%,rgba(76,150,255,.17),transparent 27%),
        linear-gradient(180deg,#fff 0%,#f7faff 100%);
}

.ts_hero_grid{
    position:absolute;
    inset:0;
    opacity:.25;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(55,112,190,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(55,112,190,.07) 1px,transparent 1px);
    background-size:60px 60px;
}

.ts_hero_row{
    min-height:760px;
    padding-top:80px;
}

.ts_hero_text{
    position:relative;
    z-index:2;
    max-width:680px;
}

.ts_label{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
    color:#1769ff;
    font-weight:800;
}

.ts_label > span{
    width:32px;
    height:2px;
    background:#1769ff;
}

.ts_hero h1{
    margin:0;
    display:flex;
    align-items:center;
    gap:13px;
    color:#0b2141;
    font-size:70px;
    line-height:1;
    letter-spacing:-4px;
    font-weight:900;
}

.ts_hero h1 em{
    color:#1769ff;
    font-size:45px;
    font-style:normal;
}

.ts_hero h2{
    margin:27px 0 14px;
    color:#10213b;
    font-size:33px;
    line-height:1.25;
    letter-spacing:-1.5px;
}

.ts_hero h2 strong{
    color:#1769ff;
}

.ts_hero_text > p{
    max-width:620px;
    margin:0;
    color:#6d7c91;
    line-height:1.6;
}


/* BUTTON */

.ts_hero_buttons{
    display:flex;
    gap:9px;
    margin-top:27px;
}

.ts_btn_blue,
.ts_btn_white{
    width:180px;
    height:52px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-radius:27px;
    font-weight:700;
    text-decoration:none;
}

.ts_btn_blue{
    color:#fff;
    background:#1769ff;
}

.ts_btn_blue:hover{
    color:#fff;
}

.ts_btn_white{
    color:#18375e;
    border:1px solid #dce6f2;
    background:#fff;
}


/* INFO */

.ts_hero_info{
    display:flex;
    gap:38px;
    margin-top:38px;
}

.ts_hero_info > div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.ts_hero_info strong{
    color:#15345b;
    font-size:18px;
}

.ts_hero_info span{
    color:#91a0b1;
}


/* =========================================================
   HERO VISUAL
========================================================= */

.ts_hero_visual{
    position:relative;
    width:100%;
    max-width:590px;
    margin-left:auto;
}

.ts_browser{
    overflow:hidden;
    border:1px solid #d9e5f2;
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 70px rgba(39,83,143,.12);
}

.ts_browser_top{
    height:55px;
    padding:0 19px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:#0b2852;
}

.ts_browser_top strong{
    font-size:15px;
}

.ts_browser_top > div{
    display:flex;
    gap:6px;
}

.ts_browser_top span{
    width:8px;
    height:8px;
    display:block;
    border-radius:50%;
    background:#6286b3;
}

.ts_browser_body{
    display:flex;
    min-height:390px;
}

.ts_browser_side{
    width:65px;
    flex:none;
    padding:18px 11px;
    background:#10315f;
}

.ts_browser_side i{
    width:43px;
    height:43px;
    margin-bottom:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    color:#7395bf;
    font-size:15px;
}

.ts_browser_side i.active{
    color:#fff;
    background:#1769ff;
}

.ts_dashboard{
    flex:1;
    min-width:0;
    padding:21px;
    background:#f7faff;
}

.ts_dashboard_head{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.ts_dashboard_head > div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.ts_dashboard_head span{
    color:#8798ad;
}

.ts_dashboard_head strong{
    color:#19385f;
    font-size:18px;
}

.ts_dashboard_head small{
    display:flex;
    align-items:center;
    gap:7px;
    color:#667c94;
    font-weight:700;
}

.ts_dashboard_head small i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#27c879;
    animation:tsLive 2s ease-in-out infinite;
}

@keyframes tsLive{
    0%,100%{opacity:.4;}
    50%{opacity:1;}
}

.ts_dashboard_cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:18px;
}

.ts_dashboard_cards > div{
    padding:15px;
    border:1px solid #e0e8f2;
    border-radius:13px;
    background:#fff;
}

.ts_dashboard_cards span{
    display:block;
    color:#8495a9;
}

.ts_dashboard_cards strong{
    display:block;
    margin-top:5px;
    color:#1769ff;
}

.ts_dashboard_chart{
    position:relative;
    height:210px;
    margin-top:10px;
    overflow:hidden;
    border:1px solid #e0e8f2;
    border-radius:14px;
    background:#fff;
}

.ts_chart_grid{
    position:absolute;
    inset:0;
    background-image:linear-gradient(#edf2f7 1px,transparent 1px);
    background-size:100% 45px;
}

.ts_dashboard_chart svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.ts_visual_badge{
    position:absolute;
    right:-15px;
    bottom:-20px;
    z-index:3;
    padding:14px 18px;
    display:flex;
    align-items:center;
    gap:9px;
    border-radius:15px;
    color:#fff;
    background:#1769ff;
    box-shadow:0 15px 30px rgba(23,105,255,.22);
}


/* =========================================================
   COMMON SECTION
========================================================= */

.ts_section_label{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:11px;
    color:#1769ff;
    font-weight:800;
}

.ts_section_head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:38px;
}

.ts_section_head h2,
.ts_benefit_intro h2{
    margin:0;
    color:#10213b;
    font-size:42px;
    line-height:1.2;
    letter-spacing:-1.8px;
}

.ts_section_head h2 strong,
.ts_benefit_intro h2 strong{
    color:#1769ff;
}

.ts_section_head > p{
    max-width:520px;
    margin:0;
    color:#758499;
    line-height:1.55;
}


/* =========================================================
   ABOUT
========================================================= */

.ts_about{
    padding:90px 0;
    background:#fff;
}

.ts_about_card{
    position:relative;
    min-height:285px;
    padding:34px;
    overflow:hidden;
    border:1px solid #dfe8f3;
    border-radius:24px;
    background:#f7faff;
}

.ts_about_card.blue{
    color:#fff;
    border-color:#1769ff;
    background:#1769ff;
}

.ts_about_card > span{
    position:absolute;
    right:25px;
    top:20px;
    color:#a4b6ca;
    font-weight:800;
}

.ts_about_card.blue > span{
    color:#a8d0ff;
}

.ts_about_icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:25px;
    border-radius:17px;
    color:#1769ff;
    background:#e9f3ff;
    font-size:21px;
}

.ts_about_card.blue .ts_about_icon{
    color:#1769ff;
    background:#fff;
}

.ts_about_card h3{
    margin:0 0 8px;
    font-size:21px;
}

.ts_about_card p{
    max-width:500px;
    margin:0;
    color:#77879b;
    line-height:1.55;
}

.ts_about_card.blue p{
    color:#d4e6ff;
}


/* =========================================================
   BENEFIT
========================================================= */

.ts_benefit{
    padding:90px 0;
    background:#f6f9fd;
}

.ts_benefit_intro p{
    margin:18px 0 0;
    color:#748398;
    line-height:1.6;
}

.ts_tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:22px;
}

.ts_tags span{
    padding:9px 13px;
    border-radius:20px;
    color:#35649a;
    background:#fff;
    font-weight:700;
}

.ts_benefit_list{
    border-top:1px solid #dce6f2;
}

.ts_benefit_item{
    display:grid;
    grid-template-columns:55px 1fr;
    gap:18px;
    padding:22px 0;
    border-bottom:1px solid #dce6f2;
}

.ts_benefit_icon{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#1769ff;
    background:#e8f2ff;
    font-size:18px;
}

.ts_benefit_item > div:last-child{
    position:relative;
}

.ts_benefit_item span{
    position:absolute;
    right:0;
    top:0;
    color:#aab8c9;
}

.ts_benefit_item h3{
    margin:0 0 5px;
    font-size:18px;
}

.ts_benefit_item p{
    max-width:600px;
    margin:0;
    color:#78889c;
    line-height:1.5;
}


/* =========================================================
   RENTAL
========================================================= */

.ts_rental{
    padding:90px 0;
    background:#fff;
}

.ts_rental_box{
    display:grid;
    grid-template-columns:1fr 470px;
    gap:60px;
    padding:52px;
    overflow:hidden;
    border-radius:28px;
    color:#fff;
    background:
        radial-gradient(circle at 85% 20%,rgba(73,153,255,.30),transparent 30%),
        linear-gradient(120deg,#071f43,#0d4387);
}

.ts_section_label.light{
    color:#79baff;
}

.ts_rental_text h2{
    margin:0;
    font-size:39px;
    line-height:1.2;
}

.ts_rental_text h2 strong{
    color:#82c0ff;
}

.ts_rental_text p{
    margin:16px 0 0;
    color:#bdd0e4;
    line-height:1.55;
}

.ts_rental_grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}

.ts_rental_grid > div{
    position:relative;
    min-height:125px;
    padding:20px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    border:1px solid rgba(255,255,255,.13);
    border-radius:17px;
    background:rgba(255,255,255,.07);
}

.ts_rental_grid span{
    position:absolute;
    right:15px;
    top:12px;
    color:#83b9f4;
}

.ts_rental_grid i{
    margin-bottom:10px;
    color:#80beff;
    font-size:20px;
}

.ts_rental_grid strong{
    font-size:15px;
}


/* =========================================================
   PARTNER
========================================================= */

.ts_partner{
    padding:90px 0;
    text-align:center;
    background:#f7faff;
}

.ts_partner_head{
    max-width:730px;
    margin:auto;
}

.ts_partner_head > span{
    color:#1769ff;
    font-weight:800;
}

.ts_partner_head h2{
    margin:9px 0 14px;
    font-size:41px;
    line-height:1.2;
}

.ts_partner_head h2 strong{
    color:#1769ff;
}

.ts_partner_head p{
    margin:0;
    color:#748398;
    line-height:1.55;
}

.ts_partner_steps{
    max-width:1000px;
    margin:38px auto 0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    border:1px solid #dfe8f3;
    border-radius:21px;
    background:#fff;
}

.ts_partner_steps > div{
    position:relative;
    min-height:160px;
    padding:28px 20px;
    border-right:1px solid #e5ecf4;
}

.ts_partner_steps > div:last-child{
    border-right:0;
}

.ts_partner_steps span{
    position:absolute;
    right:15px;
    top:12px;
    color:#b5c3d3;
}

.ts_partner_steps i{
    display:block;
    margin-bottom:14px;
    color:#1769ff;
    font-size:22px;
}

.ts_partner_steps strong{
    display:block;
    font-size:17px;
}

.ts_partner_steps p{
    margin:6px 0 0;
    color:#8291a4;
}


/* =========================================================
   CONTACT
========================================================= */

.ts_contact{
    padding:70px 0;
    background:#1769ff;
}

.ts_contact_inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    color:#fff;
}

.ts_contact_inner > div > span{
    color:#abd1ff;
    font-weight:800;
}

.ts_contact_inner h2{
    margin:7px 0 9px;
    font-size:35px;
    line-height:1.25;
}

.ts_contact_inner p{
    margin:0;
    color:#c7ddfa;
}

.ts_contact_inner > a{
    width:155px;
    height:155px;
    flex:none;
    padding:25px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    border-radius:50%;
    color:#1769ff;
    background:#fff;
    font-weight:800;
    text-decoration:none;
}

.ts_contact_inner > a i{
    align-self:flex-end;
}


/* =========================================================
   SCROLL EFFECT
   절대 숨기지 않음
========================================================= */

.ts_scroll{
    opacity:1 !important;
    visibility:visible !important;
}

.ts_scroll.ts_scroll_on{
    animation:tsReveal .7s ease both;
}

@keyframes tsReveal{
    from{
        opacity:.25;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1199px){

    .ts_hero h1{
        font-size:58px;
    }

    .ts_rental_box{
        grid-template-columns:1fr 390px;
    }

}


/* =========================================================
   991
========================================================= */

@media(max-width:991px){

    .ts_hero{
        min-height:0;
    }

    .ts_hero_row{
        min-height:0;
        padding:130px 0 85px;
    }

    .ts_hero_visual{
        margin:45px auto 0;
    }

    .ts_section_head{
        display:block;
    }

    .ts_section_head > p{
        margin-top:14px;
    }

    .ts_benefit_list{
        margin-top:30px;
    }

    .ts_rental_box{
        grid-template-columns:1fr;
        gap:35px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .ts_hero_row{
        padding:105px 0 65px;
    }

    .ts_hero h1{
        font-size:43px;
        letter-spacing:-2px;
    }

    .ts_hero h1 em{
        font-size:28px;
    }

    .ts_hero h2{
        margin-top:20px;
        font-size:24px;
    }


    /* 버튼 50% */
    .ts_hero_buttons{
        width:100%;
        gap:7px;
    }

    .ts_btn_blue,
    .ts_btn_white{
        width:50%;
        min-width:0;
        padding:0 13px;
    }


    .ts_hero_info{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:8px;
        margin-top:28px;
    }

    .ts_hero_info strong{
        font-size:15px;
    }


    /* VISUAL */
    .ts_browser{
        border-radius:18px;
    }

    .ts_browser_body{
        min-height:300px;
    }

    .ts_browser_side{
        display:none;
    }

    .ts_dashboard{
        padding:14px;
    }

    .ts_dashboard_cards{
        grid-template-columns:1fr;
    }

    .ts_dashboard_cards > div{
        padding:11px 13px;
    }

    .ts_dashboard_chart{
        height:150px;
    }

    .ts_visual_badge{
        right:5px;
        bottom:-15px;
    }


    /* SECTION */
    .ts_about,
    .ts_benefit,
    .ts_rental,
    .ts_partner{
        padding:58px 0;
    }

    .ts_section_head h2,
    .ts_benefit_intro h2,
    .ts_partner_head h2{
        font-size:30px;
        letter-spacing:-1px;
    }


    /* BENEFIT */
    .ts_benefit_item{
        grid-template-columns:48px 1fr;
        gap:12px;
    }


    /* RENTAL */
    .ts_rental_box{
        padding:27px;
        border-radius:22px;
    }

    .ts_rental_text h2{
        font-size:28px;
    }


    /* PARTNER */
    .ts_partner_steps{
        grid-template-columns:1fr 1fr;
    }

    .ts_partner_steps > div:nth-child(2){
        border-right:0;
    }

    .ts_partner_steps > div:nth-child(1),
    .ts_partner_steps > div:nth-child(2){
        border-bottom:1px solid #e5ecf4;
    }


    /* CONTACT */
    .ts_contact{
        padding:55px 0;
    }

    .ts_contact_inner{
        display:block;
    }

    .ts_contact_inner h2{
        font-size:28px;
    }

    .ts_contact_inner > a{
        width:125px;
        height:125px;
        margin-top:27px;
        padding:20px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .ts_hero h1{
        font-size:36px;
    }

    .ts_hero h2{
        font-size:21px;
    }

    .ts_rental_grid{
        grid-template-columns:1fr;
    }

    .ts_partner_steps{
        grid-template-columns:1fr;
    }

    .ts_partner_steps > div{
        border-right:0;
        border-bottom:1px solid #e5ecf4;
    }

    .ts_partner_steps > div:last-child{
        border-bottom:0;
    }

}

/* =========================================================
   DETAIL
========================================================= */

.ts_detail{
    padding:90px 0;
    background:#fff;
}

.ts_detail_grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.ts_detail_item{
    position:relative;
    min-height:260px;
    padding:28px;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#f8fbff;
}

.ts_detail_item > span{
    position:absolute;
    right:18px;
    top:15px;
    color:#b4c3d4;
    font-weight:700;
}

.ts_detail_item > i{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:25px;
    border-radius:14px;
    color:#1769ff;
    background:#e8f2ff;
    font-size:19px;
}

.ts_detail_item h3{
    margin:0 0 8px;
    font-size:18px;
}

.ts_detail_item p{
    margin:0;
    color:#78889c;
    line-height:1.55;
}


/* =========================================================
   DATA
========================================================= */

.ts_data{
    padding:90px 0;
    background:#f6f9fd;
}

.ts_data_content h2{
    margin:0;
    font-size:40px;
    line-height:1.2;
    letter-spacing:-1.5px;
}

.ts_data_content h2 strong{
    color:#1769ff;
}

.ts_data_content > p{
    margin:18px 0 0;
    color:#758499;
    line-height:1.6;
}

.ts_data_points{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:25px;
}

.ts_data_points > div{
    padding:17px;
    border-radius:15px;
    background:#fff;
}

.ts_data_points strong{
    display:block;
    color:#1769ff;
    font-size:20px;
}

.ts_data_points span{
    display:block;
    margin-top:4px;
    color:#8190a3;
}

.ts_data_panel{
    overflow:hidden;
    border:1px solid #dce6f2;
    border-radius:23px;
    background:#fff;
    box-shadow:0 20px 50px rgba(44,88,145,.07);
}

.ts_data_panel_head{
    height:58px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:#0b2853;
}

.ts_data_panel_head span{
    color:#64df9b;
}

.ts_data_row{
    min-height:65px;
    padding:0 20px;
    display:grid;
    grid-template-columns:1fr 120px 70px;
    align-items:center;
    border-bottom:1px solid #e8eef5;
}

.ts_data_row > span{
    color:#273e5d;
    font-weight:700;
}

.ts_data_row strong{
    color:#1769ff;
    font-size:14px;
}

.ts_data_row em{
    text-align:right;
    color:#18375f;
    font-size:16px;
    font-style:normal;
    font-weight:800;
}

.ts_data_panel_bottom{
    padding:17px 20px;
    color:#20ae68;
}

.ts_data_panel_bottom i{
    margin-right:7px;
}


/* =========================================================
   OPTIONS
========================================================= */

.ts_options{
    padding:90px 0;
    background:#fff;
}

.ts_options_grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.ts_option_card{
    min-height:135px;
    padding:22px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #dfe8f3;
    border-radius:18px;
    background:#fff;
}

.ts_option_card i{
    margin-bottom:14px;
    color:#1769ff;
    font-size:20px;
}

.ts_option_card strong{
    font-size:17px;
}

.ts_option_card span{
    margin-top:5px;
    color:#94a3b4;
}


/* =========================================================
   MOBILE
========================================================= */

.ts_mobile{
    padding:90px 0;
    background:#f6f9fd;
}

.ts_mobile_box{
    display:grid;
    grid-template-columns:1fr 420px;
    align-items:center;
    gap:50px;
    padding:50px;
    overflow:hidden;
    border-radius:28px;
    color:#fff;
    background:linear-gradient(120deg,#081f43,#0e4b97);
}

.ts_mobile_content h2{
    margin:0;
    font-size:39px;
    line-height:1.2;
}

.ts_mobile_content h2 strong{
    color:#82c0ff;
}

.ts_mobile_content p{
    margin:18px 0 0;
    color:#bdd0e5;
    line-height:1.55;
}

.ts_mobile_device_list{
    display:flex;
    gap:8px;
    margin-top:25px;
}

.ts_mobile_device_list span{
    padding:9px 13px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:20px;
    background:rgba(255,255,255,.07);
}

.ts_mobile_device_list i{
    margin-right:6px;
    color:#78b9ff;
}

.ts_mobile_visual{
    min-height:360px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ts_mobile_phone{
    width:210px;
    height:365px;
    padding:8px;
    border-radius:30px;
    background:#07172b;
    box-shadow:0 30px 55px rgba(0,0,0,.3);
}

.ts_mobile_phone_top{
    width:70px;
    height:15px;
    margin:5px auto;
    border-radius:20px;
    background:#172c45;
}

.ts_mobile_phone_screen{
    height:325px;
    padding:25px 16px;
    border-radius:23px;
    background:#f6f9fd;
    color:#18375f;
}

.ts_mobile_phone_screen > span{
    color:#1769ff;
    font-weight:800;
}

.ts_mobile_phone_screen > strong{
    display:block;
    margin-top:7px;
    font-size:18px;
}

.ts_mobile_phone_screen > div{
    height:55px;
    margin-top:10px;
    border-radius:11px;
    background:#e7f0fb;
}


/* =========================================================
   PRODUCTION
========================================================= */

.ts_production{
    padding:90px 0;
    background:#fff;
}

.ts_production_steps{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    overflow:hidden;
    border:1px solid #dfe8f3;
    border-radius:21px;
}

.ts_production_steps > div{
    position:relative;
    min-height:170px;
    padding:25px 20px;
    border-right:1px solid #e5ecf4;
}

.ts_production_steps > div:last-child{
    border-right:0;
}

.ts_production_steps span{
    position:absolute;
    right:15px;
    top:12px;
    color:#b5c3d3;
}

.ts_production_steps i{
    display:block;
    margin-bottom:17px;
    color:#1769ff;
    font-size:22px;
}

.ts_production_steps strong{
    display:block;
    font-size:16px;
}

.ts_production_steps p{
    margin:7px 0 0;
    color:#8190a3;
    line-height:1.45;
}

.ts_custom_design{
    margin-top:12px;
    padding:22px 25px;
    display:grid;
    grid-template-columns:50px 1fr auto;
    align-items:center;
    gap:17px;
    border-radius:18px;
    color:#fff;
    background:#1769ff;
}

.ts_custom_design > i{
    font-size:22px;
}

.ts_custom_design span{
    display:block;
    color:#b8d8ff;
    font-weight:800;
}

.ts_custom_design strong{
    display:block;
    margin-top:3px;
    font-size:17px;
}

.ts_custom_design p{
    margin:4px 0 0;
    color:#d6e8ff;
}

.ts_custom_design em{
    font-size:22px;
    font-style:normal;
    font-weight:900;
}


/* =========================================================
   SUPPORT
========================================================= */

.ts_support{
    padding:70px 0;
    background:#0b2853;
}

.ts_support_inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    color:#fff;
}

.ts_support_inner > div > span{
    color:#79baff;
    font-weight:800;
}

.ts_support_inner h2{
    margin:8px 0 10px;
    font-size:34px;
    line-height:1.25;
}

.ts_support_inner h2 strong{
    color:#8bc5ff;
}

.ts_support_inner p{
    margin:0;
    color:#b8cbe1;
}

.ts_support_inner > a{
    min-width:280px;
    height:70px;
    padding:0 20px;
    display:grid;
    grid-template-columns:38px 1fr 20px;
    align-items:center;
    gap:12px;
    border-radius:35px;
    color:#1769ff;
    background:#fff;
}

.ts_support_inner > a > i:first-child{
    color:#229ed9;
    font-size:27px;
}

.ts_support-inner span,
.ts_support_inner > a span{
    display:flex;
    flex-direction:column;
    color:#7a8ca2;
}

.ts_support_inner > a strong{
    color:#17385e;
    font-size:16px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:991px){

    .ts_detail_grid{
        grid-template-columns:1fr 1fr;
    }

    .ts_mobile_box{
        grid-template-columns:1fr;
    }

    .ts_production_steps{
        grid-template-columns:1fr 1fr;
    }

    .ts_production_steps > div{
        border-bottom:1px solid #e5ecf4;
    }

    .ts_support_inner{
        display:block;
    }

    .ts_support_inner > a{
        margin-top:25px;
    }

}

@media(max-width:767px){

    .ts_detail,
    .ts_data,
    .ts_options,
    .ts_mobile,
    .ts_production{
        padding:58px 0;
    }

    .ts_detail_grid,
    .ts_options_grid{
        grid-template-columns:1fr;
    }

    .ts_data_content h2,
    .ts_mobile_content h2{
        font-size:29px;
    }

    .ts_data_points{
        grid-template-columns:1fr;
    }

    .ts_data_panel{
        margin-top:25px;
    }

    .ts_data_row{
        grid-template-columns:1fr 90px 55px;
        padding:0 13px;
    }

    .ts_mobile_box{
        padding:27px;
        gap:25px;
    }

    .ts_mobile_visual{
        min-height:330px;
    }

    .ts_production_steps{
        grid-template-columns:1fr;
    }

    .ts_production_steps > div{
        min-height:130px;
        border-right:0;
    }

    .ts_custom_design{
        grid-template-columns:40px 1fr;
    }

    .ts_custom_design em{
        grid-column:2;
    }

    .ts_support_inner h2{
        font-size:27px;
    }

    .ts_support_inner > a{
        width:100%;
        min-width:0;
    }

}
/* =========================================================
   SCROLL REVEAL
   처음 보일 때만 움직이고 이후 고정
========================================================= */

.ts_scroll{
    opacity:1;
    transform:none;
}

html.ts_motion_ready .ts_scroll{
    opacity:.15;
    transform:translateY(28px);
    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.22,.61,.36,1);
}

html.ts_motion_ready .ts_scroll.ts_scroll_left{
    transform:translateX(-35px);
}

html.ts_motion_ready .ts_scroll.ts_scroll_right{
    transform:translateX(35px);
}

html.ts_motion_ready .ts_scroll.ts_scroll_on{
    opacity:1;
    transform:none;
}

.ts_delay_1{transition-delay:.05s!important;}
.ts_delay_2{transition-delay:.12s!important;}
.ts_delay_3{transition-delay:.19s!important;}
.ts_delay_4{transition-delay:.26s!important;}
.ts_delay_5{transition-delay:.33s!important;}


/* =========================================================
   HERO DASHBOARD
========================================================= */

/* LIVE 점 */
.ts_dashboard_head small i{
    animation:tsLivePulse 1.8s ease-in-out infinite;
}

@keyframes tsLivePulse{
    0%,100%{
        opacity:.35;
        box-shadow:0 0 0 0 rgba(39,200,121,.25);
    }
    50%{
        opacity:1;
        box-shadow:0 0 0 7px rgba(39,200,121,0);
    }
}


/* 그래프 선 흐름 */
.ts_dashboard_chart path:last-child{
    stroke-dasharray:14 8;
    animation:tsChartFlow 12s linear infinite;
}

@keyframes tsChartFlow{
    from{stroke-dashoffset:0;}
    to{stroke-dashoffset:-120;}
}


/* =========================================================
   DETAIL ICON
========================================================= */

.ts_detail_item > i{
    transition:
        color .25s ease,
        background .25s ease,
        transform .25s ease;
}

.ts_detail_item:hover > i{
    transform:rotate(-6deg) scale(1.06);
    color:#fff;
    background:#1769ff;
}


/* =========================================================
   OPTIONS
========================================================= */

.ts_option_card{
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.ts_option_card:hover{
    border-color:#bad6ff;
    box-shadow:0 15px 35px rgba(45,88,145,.08);
}

.ts_option_card i{
    transition:transform .3s ease;
}

.ts_option_card:hover i{
    transform:scale(1.12);
}


/* =========================================================
   DATA PANEL
========================================================= */

.ts_data_panel_head > span{
    animation:tsDataLive 2s ease-in-out infinite;
}

@keyframes tsDataLive{
    0%,100%{opacity:.45;}
    50%{opacity:1;}
}


/* 숫자 미세 강조 */
.ts_data_points strong{
    animation:tsNumberGlow 3s ease-in-out infinite;
}

.ts_data_points > div:nth-child(2) strong{
    animation-delay:.5s;
}

.ts_data_points > div:nth-child(3) strong{
    animation-delay:1s;
}

@keyframes tsNumberGlow{
    0%,100%{opacity:.7;}
    50%{opacity:1;}
}


/* =========================================================
   MOBILE PHONE
========================================================= */

.ts_mobile_phone_screen > div{
    position:relative;
    overflow:hidden;
}

.ts_mobile_phone_screen > div:after{
    content:"";
    position:absolute;
    top:0;
    left:-80%;
    width:50%;
    height:100%;
    transform:skewX(-20deg);
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.7),
        transparent
    );
    animation:tsPhoneShine 5s ease-in-out infinite;
}

.ts_mobile_phone_screen > div:nth-child(2):after{
    animation-delay:.6s;
}

.ts_mobile_phone_screen > div:nth-child(3):after{
    animation-delay:1.2s;
}

@keyframes tsPhoneShine{
    0%,65%{left:-80%;}
    100%{left:150%;}
}


/* =========================================================
   PRODUCTION
========================================================= */

.ts_production_steps > div{
    transition:
        background .25s ease,
        box-shadow .25s ease;
}

.ts_production_steps > div:hover{
    background:#f6faff;
}

.ts_production_steps i{
    transition:transform .25s ease;
}

.ts_production_steps > div:hover i{
    transform:scale(1.1) rotate(-5deg);
}


/* =========================================================
   PARTNER / RENTAL
========================================================= */

.ts_rental_grid > div,
.ts_partner_steps > div{
    transition:
        background .25s ease,
        border-color .25s ease;
}

.ts_partner_steps > div:hover{
    background:#f5f9ff;
}

.ts_partner_steps i{
    transition:transform .25s ease;
}

.ts_partner_steps > div:hover i{
    transform:scale(1.1);
}


/* =========================================================
   CONTACT
========================================================= */

.ts_contact_inner > a{
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.ts_contact_inner > a:hover{
    transform:rotate(-4deg);
    box-shadow:0 18px 40px rgba(0,0,0,.16);
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    html.ts_motion_ready .ts_scroll{
        transform:translateY(18px);
    }

    html.ts_motion_ready .ts_scroll.ts_scroll_left{
        transform:translateX(-18px);
    }

    html.ts_motion_ready .ts_scroll.ts_scroll_right{
        transform:translateX(18px);
    }

    html.ts_motion_ready .ts_scroll.ts_scroll_on{
        transform:none;
    }

}


/* 모션 최소화 사용자 */
@media(prefers-reduced-motion:reduce){

    .ts_scroll{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }

    .ts_dashboard_head small i,
    .ts_dashboard_chart path,
    .ts_data_panel_head > span,
    .ts_data_points strong,
    .ts_mobile_phone_screen > div:after{
        animation:none!important;
    }

}
/* =========================================================
   CASINO PAGE
========================================================= */

.cs_page{
    width:100%;
    overflow:hidden;
    color:#10213b;
    background:#fff;
    font-size:14px;
}

.cs_page *{
    box-sizing:border-box;
}

.cs_page p,
.cs_page span,
.cs_page small,
.cs_page a{
    font-size:14px;
}


/* =========================================================
   HERO
========================================================= */

.cs_hero{
    position:relative;
    min-height:760px;
    overflow:hidden;
    background:
        radial-gradient(circle at 78% 28%,rgba(63,141,255,.18),transparent 28%),
        linear-gradient(180deg,#fff,#f5f9ff);
}

.cs_hero_bg{
    position:absolute;
    inset:0;
    opacity:.25;
    background-image:
        linear-gradient(rgba(50,110,190,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(50,110,190,.07) 1px,transparent 1px);
    background-size:65px 65px;
}

.cs_hero_row{
    min-height:760px;
    padding-top:80px;
}

.cs_hero_content{
    position:relative;
    z-index:3;
    max-width:680px;
}

.cs_label,
.cs_section_label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    color:#1769ff;
    font-weight:800;
}

.cs_label > span{
    width:32px;
    height:2px;
    background:#1769ff;
}

.cs_hero h1{
    margin:0;
    color:#092146;
    font-size:75px;
    font-weight:900;
    line-height:.88;
    letter-spacing:-5px;
}

.cs_hero h1 > span{
    display:none;
    color:transparent;
    -webkit-text-stroke:1.5px #7db6ff;
}

.cs_hero h2{
    margin:28px 0 15px;
    font-size:33px;
    line-height:1.25;
    letter-spacing:-1.5px;
}

.cs_hero h2 strong{
    color:#1769ff;
}

.cs_hero_content > p{
    max-width:620px;
    margin:0;
    color:#6d7c91;
    line-height:1.6;
}


/* BUTTON */

.cs_hero_buttons{
    display:flex;
    gap:9px;
    margin-top:27px;
}

.cs_btn_primary,
.cs_btn_line{
    width:190px;
    height:52px;
    padding:0 19px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-radius:27px;
    text-decoration:none;
    font-weight:700;
}

.cs_btn_primary{
    color:#fff;
    background:#1769ff;
}

.cs_btn_primary:hover{
    color:#fff;
}

.cs_btn_line{
    color:#18385f;
    border:1px solid #dae5f2;
    background:#fff;
}


/* KEYWORD */

.cs_hero_keywords{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:32px;
}

.cs_hero_keywords span{
    padding:8px 12px;
    border:1px solid #dce7f4;
    border-radius:20px;
    background:#fff;
    color:#527198;
    font-weight:700;
}


/* =========================================================
   HERO VISUAL
========================================================= */

.cs_hero_visual {
    position: relative;
    width: 100%;
    max-width: 685px;
    margin-left: auto;
    padding: 20px;
    /* border: 1px solid #dce7f4; */
    border-radius: 28px;
    /* background: #fff; */
    /* box-shadow: 0 30px 70px rgba(40, 84, 145, .12); */
}

.cs_visual_header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 3px 16px;
}

.cs_visual_header span{
    color:#1769ff;
    font-weight:800;
}

.cs_visual_header strong{
    color:#8a99ab;
    font-size:14px;
}

.cs_visual_stage{
    position:relative;
    height:365px;
    overflow:hidden;
    border-radius:20px;
    background:
        radial-gradient(circle at 50% 50%,rgba(73,151,255,.18),transparent 30%),
        linear-gradient(145deg,#071d3f,#0d3a78);
}

.cs_visual_stage:before,
.cs_visual_stage:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:1px solid rgba(127,184,255,.14);
    border-radius:50%;
}

.cs_visual_stage:before{
    width:290px;
    height:290px;
}

.cs_visual_stage:after{
    width:430px;
    height:430px;
}

.cs_visual_center{
    position:absolute;
    left:50%;
    top:50%;
    z-index:3;
    width:180px;
    height:180px;
    transform:translate(-50%,-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(145deg,#1769ff,#73b7ff);
    box-shadow:0 25px 50px rgba(0,0,0,.25);
}

.cs_visual_logo{
    margin-bottom:7px;
    font-size:24px;
    font-weight:900;
}

.cs_visual_center > strong{
    text-align:center;
    font-size:19px;
    line-height:1;
}

.cs_visual_center > span{
    margin-top:7px;
    color:#d8eaff;
}

.cs_game_badge{
    position:absolute;
    z-index:4;
    min-width:120px;
    height:48px;
    padding:0 13px;
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    color:#fff;
    background:rgba(255,255,255,.09);
    backdrop-filter:blur(8px);
}

.cs_game_badge i{
    color:#78baff;
}

.cs_badge_01{left:28px;top:45px;}
.cs_badge_02{right:25px;top:75px;}
.cs_badge_03{left:40px;bottom:50px;}
.cs_badge_04{right:28px;bottom:55px;}

.cs_visual_bottom{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:10px;
}

.cs_visual_bottom > div{
    padding:13px;
    border-radius:13px;
    background:#f4f8fd;
}

.cs_visual_bottom span{
    display:block;
    color:#8a99ab;
}

.cs_visual_bottom strong{
    display:block;
    margin-top:3px;
    color:#1769ff;
}


/* =========================================================
   SECTION HEAD
========================================================= */

.cs_section_head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:38px;
}

.cs_section_head h2,
.cs_manage_content h2{
    margin:0;
    color:#10213b;
    font-size:42px;
    line-height:1.2;
    letter-spacing:-1.8px;
}

.cs_section_head h2 strong,
.cs_manage_content h2 strong{
    color:#1769ff;
}

.cs_section_head > p{
    max-width:520px;
    margin:0;
    color:#758499;
    line-height:1.55;
}


/* =========================================================
   GAME
========================================================= */

.cs_games{
    padding:90px 0;
    background:#fff;
}

.cs_game_grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    overflow:hidden;
    border:1px solid #dfe8f3;
    border-radius:22px;
}

.cs_game_item{
    position:relative;
    min-height:220px;
    padding:25px;
    border-right:1px solid #e4ebf4;
    background:#fff;
}

.cs_game_item:last-child{
    border-right:0;
}

.cs_game_item > span{
    position:absolute;
    right:15px;
    top:13px;
    color:#b8c5d4;
}

.cs_game_icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:45px;
    border-radius:15px;
    color:#1769ff;
    background:#edf5ff;
    font-size:19px;
}

.cs_game_item h3{
    margin:0;
    font-size:18px;
}

.cs_game_item p{
    margin:4px 0 0;
    color:#8d9bad;
}


/* =========================================================
   CUSTOM
========================================================= */

.cs_custom{
    padding:90px 0;
    background:#f5f9ff;
}

.cs_custom_wrap{
    display:grid;
    grid-template-columns:38% 62%;
    overflow:hidden;
    border-radius:28px;
}

.cs_custom_number{
    min-height:470px;
    padding:42px;
    color:#fff;
    background:#1769ff;
}

.cs_custom_number > span{
    color:#acd2ff;
}

.cs_custom_number > strong{
    display:block;
    margin-top:65px;
    font-size:45px;
    line-height:.95;
}

.cs_custom_number > p{
    max-width:380px;
    margin:25px 0 0;
    color:#d7e9ff;
    line-height:1.55;
}

.cs_custom_content{
    padding:45px;
    background:#0b2853;
}

.cs_section_label.light{
    color:#73b7ff;
}

.cs_custom_title h2{
    margin:0;
    color:#fff;
    font-size:38px;
    line-height:1.2;
}

.cs_custom_title h2 strong{
    color:#79baff;
}

.cs_custom_title p{
    max-width:600px;
    margin:16px 0 0;
    color:#afc3da;
    line-height:1.55;
}

.cs_custom_list{
    margin-top:30px;
    border-top:1px solid rgba(255,255,255,.12);
}

.cs_custom_list > div{
    display:grid;
    grid-template-columns:55px 1fr;
    align-items:center;
    gap:15px;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.cs_custom_list i{
    color:#71b6ff;
    font-size:19px;
}

.cs_custom_list strong{
    display:block;
    color:#fff;
    font-size:16px;
}

.cs_custom_list span{
    display:block;
    margin-top:3px;
    color:#93abc5;
}


/* =========================================================
   MANAGEMENT
========================================================= */

.cs_manage{
    padding:90px 0;
    background:#fff;
}

.cs_manage_ui{
    overflow:hidden;
    border:1px solid #dce6f2;
    border-radius:23px;
    background:#fff;
    box-shadow:0 25px 60px rgba(42,86,144,.09);
}

.cs_manage_top{
    height:56px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:#0b2853;
}

.cs_manage_top span{
    display:flex;
    align-items:center;
    gap:7px;
}

.cs_manage_top span i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#2acb7b;
    animation:csLive 2s infinite;
}

@keyframes csLive{
    0%,100%{opacity:.35;}
    50%{opacity:1;}
}

.cs_manage_body{
    display:flex;
    min-height:370px;
}

.cs_manage_menu{
    width:64px;
    flex:none;
    padding:18px 10px;
    background:#12315d;
}

.cs_manage_menu > div{
    width:43px;
    height:43px;
    margin-bottom:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    color:#7695bc;
}

.cs_manage_menu > div.active{
    color:#fff;
    background:#1769ff;
}

.cs_manage_panel{
    flex:1;
    min-width:0;
    padding:20px;
    background:#f7faff;
}

.cs_manage_panel_title{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.cs_manage_panel_title span{
    color:#8b9bad;
}

.cs_manage_panel_title strong{
    font-size:18px;
}

.cs_manage_stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:16px;
}

.cs_manage_stats > div{
    padding:14px;
    border:1px solid #e0e8f2;
    border-radius:12px;
    background:#fff;
}

.cs_manage_stats span{
    color:#8898aa;
}

.cs_manage_stats strong{
    display:block;
    margin-top:5px;
    color:#1769ff;
}

.cs_manage_chart{
    position:relative;
    height:190px;
    margin-top:10px;
    overflow:hidden;
    border:1px solid #e0e8f2;
    border-radius:13px;
    background:#fff;
}

.cs_manage_grid{
    position:absolute;
    inset:0;
    background-image:linear-gradient(#edf2f7 1px,transparent 1px);
    background-size:100% 42px;
}

.cs_manage_chart svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.cs_chart_line{
    stroke-dasharray:14 8;
    animation:csChart 12s linear infinite;
}

@keyframes csChart{
    to{stroke-dashoffset:-120;}
}

.cs_manage_content{
    max-width:570px;
    margin-left:auto;
}

.cs_manage_content > p{
    margin:18px 0 0;
    color:#748398;
    line-height:1.6;
}

.cs_manage_points{
    margin-top:28px;
}

.cs_manage_points > div{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:15px;
    padding:15px 0;
    border-bottom:1px solid #e3eaf3;
}

.cs_manage_points i{
    width:45px;
    height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#1769ff;
    background:#edf5ff;
}

.cs_manage_points span{
    display:flex;
    flex-direction:column;
    color:#8190a3;
}

.cs_manage_points strong{
    color:#1a375b;
    font-size:16px;
}


/* =========================================================
   RENTAL
========================================================= */

.cs_rental{
    padding:90px 0;
    background:#f6f9fd;
}

.cs_rental_grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.cs_rental_grid > div{
    position:relative;
    min-height:240px;
    padding:27px;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#fff;
}

.cs_rental_grid > div > span{
    position:absolute;
    right:17px;
    top:14px;
    color:#b7c5d5;
}

.cs_rental_grid i{
    margin-bottom:40px;
    color:#1769ff;
    font-size:22px;
}

.cs_rental_grid h3{
    margin:0 0 7px;
    font-size:18px;
}

.cs_rental_grid p{
    margin:0;
    color:#7c8b9e;
    line-height:1.5;
}


/* =========================================================
   PARTNER
========================================================= */

.cs_partner{
    padding:90px 0;
    text-align:center;
    background:#fff;
}

.cs_partner_content{
    max-width:720px;
    margin:0 auto;
}

.cs_partner_content > span{
    color:#1769ff;
    font-weight:800;
}

.cs_partner_content h2{
    margin:9px 0 13px;
    font-size:40px;
    line-height:1.2;
}

.cs_partner_content h2 strong{
    color:#1769ff;
}

.cs_partner_content p{
    margin:0;
    color:#748398;
}

.cs_partner_line{
    max-width:1000px;
    margin:38px auto 0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid #dfe8f3;
    border-bottom:1px solid #dfe8f3;
}

.cs_partner_line > div{
    min-height:130px;
    padding:23px;
    border-right:1px solid #e4ebf4;
}

.cs_partner_line > div:last-child{
    border-right:0;
}

.cs_partner_line strong{
    color:#1769ff;
}

.cs_partner_line span{
    display:block;
    margin-top:13px;
    font-weight:800;
}

.cs_partner_line p{
    margin:4px 0 0;
    color:#8291a3;
}


/* =========================================================
   CONTACT
========================================================= */

.cs_contact{
    padding:70px 0;
    background:#0b2853;
}

.cs_contact_inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    color:#fff;
}

.cs_contact_inner > div > span{
    color:#79baff;
    font-weight:800;
}

.cs_contact_inner h2{
    margin:8px 0 0;
    font-size:34px;
    line-height:1.25;
}

.cs_contact_inner h2 strong{
    color:#8bc5ff;
}

.cs_contact_buttons{
    display:flex;
    gap:8px;
}

.cs_contact-buttons a,
.cs_contact_buttons a{
    width:145px;
    height:50px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:1px solid rgba(255,255,255,.18);
    border-radius:25px;
    color:#fff;
    text-decoration:none;
}

.cs_contact_buttons a.primary{
    color:#1769ff;
    border-color:#fff;
    background:#fff;
}


/* =========================================================
   SCROLL MOTION
   내용 자체는 기본적으로 보임
========================================================= */

.cs_scroll{
    opacity:1;
    transform:none;
}

html.cs_motion_ready .cs_scroll{
    opacity:.12;
    transform:translateY(25px);
    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.22,.61,.36,1);
}

html.cs_motion_ready .cs_from_left{
    transform:translateX(-35px);
}

html.cs_motion_ready .cs_from_right{
    transform:translateX(35px);
}

html.cs_motion_ready .cs_from_bottom{
    transform:translateY(30px);
}

html.cs_motion_ready .cs_scroll.cs_show{
    opacity:1;
    transform:none;
}

.cs_delay_1{transition-delay:.06s!important;}
.cs_delay_2{transition-delay:.13s!important;}
.cs_delay_3{transition-delay:.20s!important;}
.cs_delay_4{transition-delay:.27s!important;}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1199px){

    .cs_hero h1{
        font-size:62px;
    }

    .cs_game_grid{
        grid-template-columns:repeat(3,1fr);
    }

    .cs_game_item{
        border-bottom:1px solid #e4ebf4;
    }

    .cs_rental_grid{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:991px){

    .cs_hero{
        min-height:0;
    }

    .cs_hero_row{
        min-height:0;
        padding:130px 0 85px;
    }

    .cs_hero_visual{
        margin:45px auto 0;
    }

    .cs_section_head{
        display:block;
    }

    .cs_section_head > p{
        margin-top:14px;
    }

    .cs_custom_wrap{
        grid-template-columns:1fr;
    }

    .cs_custom_number{
        min-height:300px;
    }

    .cs_manage_content{
        max-width:none;
        margin:35px 0 0;
    }

    .cs_contact_inner{
        display:block;
    }

    .cs_contact_buttons{
        margin-top:25px;
    }

}


@media(max-width:767px){

    .cs_hero_row{
        padding:105px 0 65px;
    }

    .cs_hero h1{
        font-size:46px;
        letter-spacing:-3px;
    }

    .cs_hero h2{
        font-size:24px;
    }


    /* 모바일 버튼 50% */
    .cs_hero_buttons{
        width:100%;
        gap:7px;
    }

    .cs_btn_primary,
    .cs_btn_line{
        width:50%;
        min-width:0;
        padding:0 12px;
    }


    .cs_hero_keywords{
        margin-top:23px;
    }

    .cs_hero_visual{
        padding:12px;
    }

    .cs_visual_stage{
        height:310px;
    }

    .cs_visual_center{
        width:145px;
        height:145px;
    }

    .cs_game_badge{
        min-width:95px;
        padding:0 9px;
    }

    .cs_badge_01{left:8px;}
    .cs_badge_02{right:8px;}
    .cs_badge_03{left:8px;}
    .cs_badge_04{right:8px;}


    .cs_games,
    .cs_custom,
    .cs_manage,
    .cs_rental,
    .cs_partner{
        padding:58px 0;
    }

    .cs_section_head h2,
    .cs_manage_content h2,
    .cs_partner_content h2{
        font-size:30px;
    }


    .cs_game_grid{
        grid-template-columns:1fr 1fr;
    }

    .cs_game_item{
        min-height:170px;
        padding:20px;
    }

    .cs_game_icon{
        margin-bottom:25px;
    }


    .cs_custom_number,
    .cs_custom_content{
        padding:28px;
    }

    .cs_custom_number > strong{
        margin-top:40px;
        font-size:35px;
    }

    .cs_custom_title h2{
        font-size:29px;
    }


    .cs_manage_menu{
        display:none;
    }

    .cs_manage_panel{
        padding:14px;
    }

    .cs_manage_stats{
        grid-template-columns:1fr;
    }


    .cs_rental_grid{
        grid-template-columns:1fr;
    }


    .cs_partner_line{
        grid-template-columns:1fr 1fr;
    }

    .cs_partner_line > div:nth-child(2){
        border-right:0;
    }


    .cs_contact_inner h2{
        font-size:27px;
    }

    .cs_contact_buttons{
        width:100%;
    }

    .cs_contact_buttons a{
        width:50%;
    }


    html.cs_motion_ready .cs_from_left{
        transform:translateX(-18px);
    }

    html.cs_motion_ready .cs_from_right{
        transform:translateX(18px);
    }

    html.cs_motion_ready .cs_from_bottom{
        transform:translateY(18px);
    }

}


@media(max-width:480px){

    .cs_hero h1{
        font-size:39px;
    }

    .cs_hero h2{
        font-size:21px;
    }

    .cs_visual_bottom{
        grid-template-columns:1fr;
    }

    .cs_game_grid{
        grid-template-columns:1fr;
    }

    .cs_partner_line{
        grid-template-columns:1fr;
    }

    .cs_partner_line > div{
        border-right:0;
        border-bottom:1px solid #e4ebf4;
    }

    .cs_partner_line > div:last-child{
        border-bottom:0;
    }

}
/* =========================================================
   CASINO / SLOT SUPPLY
========================================================= */

.cs_supply_section{
    padding:90px 0;
    background:#fff;
    font-size:14px;
}

.cs_supply_head{
    display:grid;
    grid-template-columns:1fr 520px;
    align-items:end;
    gap:50px;
    margin-bottom:38px;
}

.cs_supply_head h2{
    margin:0;
    color:#10213b;
    font-size:42px;
    line-height:1.2;
    letter-spacing:-1.8px;
}

.cs_supply_head h2 strong{
    color:#1769ff;
}

.cs_supply_head > p{
    margin:0;
    color:#758499;
    line-height:1.55;
}


/* INTRO */

.cs_supply_intro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}

.cs_supply_intro_text{
    min-height:340px;
    padding:38px;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 10%,rgba(71,153,255,.3),transparent 28%),
        #0b2853;
}

.cs_supply_intro_text > span{
    color:#76b9ff;
    font-weight:800;
}

.cs_supply_intro_text h3{
    margin:14px 0 17px;
    font-size:29px;
    line-height:1.25;
}

.cs_supply_intro_text h3 strong{
    color:#82c0ff;
}

.cs_supply_intro_text p{
    margin:0 0 10px;
    color:#b9cce1;
    line-height:1.55;
}


/* SUMMARY */

.cs_supply_summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.cs_supply_summary > div{
    min-height:165px;
    padding:24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#f8fbff;
}

.cs_supply_summary i{
    margin-bottom:17px;
    color:#1769ff;
    font-size:22px;
}

.cs_supply_summary span{
    color:#8b9bae;
    font-weight:700;
}

.cs_supply_summary strong{
    margin-top:5px;
    color:#19385f;
    font-size:18px;
}


/* =========================================================
   PROVIDER
========================================================= */

.cs_provider_section{
    padding:90px 0;
    background:#f6f9fd;
}

.cs_provider_head{
    max-width:730px;
    margin-bottom:38px;
}

.cs_provider_head > span{
    color:#1769ff;
    font-weight:800;
}

.cs_provider_head h2{
    margin:8px 0 13px;
    font-size:40px;
    line-height:1.2;
}

.cs_provider_head h2 strong{
    color:#1769ff;
}

.cs_provider_head p{
    margin:0;
    color:#748398;
    line-height:1.55;
}

.cs_provider_wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.cs_provider_group{
    overflow:hidden;
    border:1px solid #dce6f2;
    border-radius:23px;
    background:#fff;
}

.cs_provider_group_head{
    min-height:100px;
    padding:22px 25px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:#0b2853;
}

.cs_provider_group.slot .cs_provider_group_head{
    background:#1769ff;
}

.cs_provider_group_head span{
    color:#82bbff;
    font-weight:800;
}

.cs_provider_group.slot .cs_provider_group_head span{
    color:#c9e1ff;
}

.cs_provider_group_head h3{
    margin:5px 0 0;
    font-size:21px;
}

.cs_provider_group_head > i{
    font-size:28px;
    opacity:.8;
}

.cs_provider_list{
    padding:20px;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.cs_provider_list span{
    padding:9px 12px;
    border:1px solid #dfe8f3;
    border-radius:20px;
    color:#536b88;
    background:#f8fbff;
    font-weight:600;
}


/* =========================================================
   API
========================================================= */

.cs_api_section{
    padding:0 0 90px;
    background:#f6f9fd;
}

.cs_api_box{
    padding:32px;
    display:grid;
    grid-template-columns:65px 1fr 350px;
    align-items:center;
    gap:25px;
    border-radius:23px;
    color:#fff;
    background:linear-gradient(120deg,#0a2349,#0e4288);
}

.cs_api_icon{
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    background:#1769ff;
    font-size:22px;
}

.cs_api_text > span{
    color:#7ebcff;
    font-weight:800;
}

.cs_api_text h2{
    margin:5px 0 9px;
    font-size:26px;
    line-height:1.25;
}

.cs_api_text h2 strong{
    color:#83c0ff;
}

.cs_api_text p{
    max-width:650px;
    margin:0;
    color:#b9cce2;
    line-height:1.5;
}

.cs_api_status{
    border-left:1px solid rgba(255,255,255,.14);
    padding-left:25px;
}

.cs_api_status > div{
    padding:8px 0;
    display:flex;
    justify-content:space-between;
    gap:15px;
}

.cs_api_status span{
    color:#8ea9c8;
}

.cs_api_status strong{
    color:#71e5a3;
    font-size:14px;
}


/* =========================================================
   SUPPLY FEATURES
========================================================= */

.cs_supply_feature_section{
    padding:90px 0;
    background:#fff;
}

.cs_supply_features{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.cs_supply_feature{
    position:relative;
    min-height:235px;
    padding:26px;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#fff;
}

.cs_supply_feature > span{
    position:absolute;
    right:17px;
    top:14px;
    color:#b7c4d4;
}

.cs_supply_feature > i{
    margin-bottom:42px;
    color:#1769ff;
    font-size:22px;
}

.cs_supply_feature h3{
    margin:0 0 7px;
    font-size:18px;
}

.cs_supply_feature p{
    margin:0;
    color:#79899d;
    line-height:1.5;
}


/* =========================================================
   BUILD
========================================================= */

.cs_build_section{
    padding:90px 0;
    background:#f6f9fd;
}

.cs_build_title{
    max-width:700px;
    margin-bottom:35px;
}

.cs_build_title > span{
    color:#1769ff;
    font-weight:800;
}

.cs_build_title h2{
    margin:8px 0 12px;
    font-size:40px;
    line-height:1.2;
}

.cs_build_title h2 strong{
    color:#1769ff;
}

.cs_build_title p{
    margin:0;
    color:#748398;
    line-height:1.55;
}

.cs_build_steps{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    overflow:hidden;
    border:1px solid #dfe8f3;
    border-radius:21px;
    background:#fff;
}

.cs_build_steps > div{
    position:relative;
    min-height:170px;
    padding:24px 20px;
    border-right:1px solid #e5ecf4;
}

.cs_build_steps > div:last-child{
    border-right:0;
}

.cs_build_steps span{
    position:absolute;
    right:14px;
    top:12px;
    color:#b5c3d3;
}

.cs_build_steps i{
    display:block;
    margin-bottom:20px;
    color:#1769ff;
    font-size:21px;
}

.cs_build_steps strong{
    display:block;
    font-size:16px;
}

.cs_build_steps p{
    margin:6px 0 0;
    color:#8090a4;
    line-height:1.45;
}


/* BOTTOM */

.cs_build_bottom{
    margin-top:12px;
    padding:20px 24px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    border-radius:18px;
    color:#fff;
    background:#0b2853;
}

.cs_build_bottom > div{
    display:flex;
    align-items:center;
    gap:14px;
}

.cs_build_bottom > div > i{
    width:45px;
    height:45px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    color:#78baff;
    background:rgba(255,255,255,.08);
    font-size:18px;
}

.cs_build_bottom span{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.cs_build_bottom small{
    color:#80a4ca;
}

.cs_build_bottom strong{
    font-size:15px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:991px){

    .cs_supply_head{
        grid-template-columns:1fr;
        gap:15px;
    }

    .cs_supply_intro{
        grid-template-columns:1fr;
    }

    .cs_provider_wrap{
        grid-template-columns:1fr;
    }

    .cs_api_box{
        grid-template-columns:60px 1fr;
    }

    .cs_api_status{
        grid-column:1 / -1;
        padding:20px 0 0;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.14);
    }

    .cs_supply_features{
        grid-template-columns:1fr 1fr;
    }

    .cs_build_steps{
        grid-template-columns:repeat(2,1fr);
    }

    .cs_build_steps > div{
        border-bottom:1px solid #e5ecf4;
    }

}


@media(max-width:767px){

    .cs_supply_section,
    .cs_provider_section,
    .cs_supply_feature_section,
    .cs_build_section{
        padding:58px 0;
    }

    .cs_api_section{
        padding-bottom:58px;
    }

    .cs_supply_head h2,
    .cs_provider_head h2,
    .cs_build_title h2{
        font-size:30px;
    }

    .cs_supply_intro_text{
        min-height:0;
        padding:27px;
    }

    .cs_supply_intro_text h3{
        font-size:25px;
    }

    .cs_supply_summary{
        grid-template-columns:1fr 1fr;
    }

    .cs_supply_summary > div{
        min-height:135px;
        padding:19px;
    }

    .cs_provider_group_head{
        min-height:85px;
        padding:18px;
    }

    .cs_provider_list{
        padding:15px;
        gap:6px;
    }

    .cs_provider_list span{
        padding:8px 10px;
    }

    .cs_api_box{
        padding:24px;
        grid-template-columns:1fr;
    }

    .cs_api_status{
        grid-column:auto;
    }

    .cs_supply_features{
        grid-template-columns:1fr;
    }

    .cs_supply_feature{
        min-height:190px;
    }

    .cs_build_steps{
        grid-template-columns:1fr;
    }

    .cs_build_steps > div{
        min-height:135px;
        border-right:0;
    }

    .cs_build_bottom{
        grid-template-columns:1fr;
    }

}


@media(max-width:480px){

    .cs_supply_summary{
        grid-template-columns:1fr;
    }

}
/* =========================================================
   CASINO API PAGE
========================================================= */

.capi_page{
    width:100%;
    overflow:hidden;
    color:#10213b;
    background:#fff;
    font-size:14px;
}

.capi_page *{
    box-sizing:border-box;
}

.capi_page p,
.capi_page span,
.capi_page small,
.capi_page a,
.capi_page li,
.capi_page em{
    font-size:14px;
}


/* =========================================================
   HERO
========================================================= */

.capi_hero{
    position:relative;
    min-height:780px;
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 25%,rgba(58,139,255,.16),transparent 28%),
        linear-gradient(180deg,#fff 0%,#f6f9ff 100%);
}

.capi_hero_grid{
    position:absolute;
    inset:0;
    opacity:.25;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(54,110,185,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(54,110,185,.07) 1px,transparent 1px);
    background-size:64px 64px;
}

.capi_hero_row{
    min-height:780px;
    padding-top:80px;
}

.capi_hero_content{
    position:relative;
    z-index:2;
    max-width:670px;
}

.capi_label,
.capi_section_label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    color:#1769ff;
    font-weight:800;
}

.capi_label > span{
    width:32px;
    height:2px;
    background:#1769ff;
}

.capi_hero h1{
    margin:0;
    color:#0b2348;
    font-size:76px;
    font-weight:900;
    line-height:.9;
    letter-spacing:-5px;
}

.capi_hero h1 span{
    display:block;
    color:transparent;
    -webkit-text-stroke:1.5px #8abfff;
}

.capi_hero h2{
    margin:28px 0 15px;
    color:#10213b;
    font-size:33px;
    line-height:1.25;
    letter-spacing:-1.5px;
}

.capi_hero h2 strong{
    color:#1769ff;
}

.capi_hero_content > p{
    max-width:620px;
    margin:0;
    color:#6c7b90;
    line-height:1.6;
}


/* BUTTON */

.capi_hero_buttons{
    display:flex;
    gap:9px;
    margin-top:27px;
}

.capi_btn_primary,
.capi_btn_line{
    width:190px;
    height:52px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-radius:28px;
    text-decoration:none;
    font-weight:700;
}

.capi_btn_primary{
    color:#fff;
    background:#1769ff;
}

.capi_btn_primary:hover{
    color:#fff;
}

.capi_btn_line{
    color:#17385f;
    border:1px solid #dce6f2;
    background:#fff;
}


/* STATS */

.capi_hero_stats{
    display:flex;
    gap:38px;
    margin-top:38px;
}

.capi_hero_stats > div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.capi_hero_stats strong{
    color:#17385f;
    font-size:19px;
}

.capi_hero_stats span{
    color:#8a9bad;
}


/* =========================================================
   HERO ARCHITECTURE
========================================================= */

.capi_arch_visual{
    width:100%;
    max-width:600px;
    margin-left:auto;
    overflow:hidden;
    border:1px solid #dae5f2;
    border-radius:27px;
    background:#fff;
    box-shadow:0 30px 70px rgba(40,85,145,.12);
}

.capi_arch_top{
    height:58px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#fff;
    background:#0a2855;
}

.capi_arch_top > span{
    font-weight:800;
}

.capi_arch_top > div{
    display:flex;
    gap:6px;
}

.capi_arch_top i{
    width:8px;
    height:8px;
    display:block;
    border-radius:50%;
    background:#6389b9;
    animation:capiDot 2.5s ease-in-out infinite;
}

.capi_arch_top i:nth-child(2){
    animation-delay:.4s;
}

.capi_arch_top i:nth-child(3){
    animation-delay:.8s;
}

@keyframes capiDot{
    0%,100%{opacity:.3;}
    50%{opacity:1;}
}

.capi_arch_body{
    min-height:355px;
    padding:30px 20px;
    display:grid;
    grid-template-columns:95px 60px 155px 60px 105px;
    align-items:center;
    justify-content:center;
    background:#f7faff;
}

.capi_arch_providers{
    display:grid;
    gap:9px;
}

.capi_arch_providers > div{
    height:65px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border:1px solid #dce6f2;
    border-radius:13px;
    background:#fff;
}

.capi_arch_providers i{
    color:#1769ff;
    font-size:17px;
}

.capi_arch_lines{
    display:grid;
    gap:65px;
}

.capi_arch_lines span{
    display:block;
    width:100%;
    height:1px;
    background:linear-gradient(90deg,#bed5f1,#1769ff);
}

.capi_arch_lines.right span{
    background:linear-gradient(90deg,#1769ff,#bed5f1);
}

.capi_arch_core{
    height:180px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:25px;
    color:#fff;
    background:linear-gradient(145deg,#1769ff,#6fb4ff);
    box-shadow:0 20px 40px rgba(23,105,255,.20);
}

.capi_core_icon{
    width:50px;
    height:50px;
    margin-bottom:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    color:#1769ff;
    background:#fff;
    font-size:20px;
}

.capi_arch_core strong{
    font-size:21px;
}

.capi_arch_core span{
    margin-top:4px;
}

.capi_arch_core small{
    margin-top:8px;
    color:#dbeaff;
}

.capi_arch_platform{
    height:150px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid #dce6f2;
    border-radius:18px;
    background:#fff;
}

.capi_arch_platform i{
    margin-bottom:9px;
    color:#1769ff;
    font-size:22px;
}

.capi_arch_platform span{
    color:#91a1b4;
}

.capi_arch_platform strong{
    margin-top:3px;
    color:#17375e;
}

.capi_arch_bottom{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid #e4ebf4;
}

.capi_arch_bottom > div{
    padding:15px;
    border-right:1px solid #e4ebf4;
}

.capi_arch_bottom > div:last-child{
    border-right:0;
}

.capi_arch_bottom span{
    display:block;
    color:#8a99ad;
}

.capi_arch_bottom strong{
    display:block;
    margin-top:3px;
    color:#1769ff;
}


/* =========================================================
   HEAD
========================================================= */

.capi_section_head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:38px;
}

.capi_section_head h2,
.capi_about_content h2{
    margin:0;
    color:#10213b;
    font-size:42px;
    line-height:1.2;
    letter-spacing:-1.8px;
}

.capi_section_head h2 strong,
.capi_about_content h2 strong{
    color:#1769ff;
}

.capi_section_head > p{
    max-width:520px;
    margin:0;
    color:#748398;
    line-height:1.55;
}


/* =========================================================
   ARCHITECTURE COMPARISON
========================================================= */

.capi_architecture{
    padding:90px 0;
    background:#fff;
}

.capi_architecture_grid{
    display:grid;
    grid-template-columns:1fr 70px 1fr;
    align-items:center;
}

.capi_architecture_old,
.capi_architecture_new{
    padding:28px;
    border:1px solid #dfe8f3;
    border-radius:22px;
    background:#f8fbff;
}

.capi_architecture_new{
    border-color:#b8d5ff;
    background:#eef5ff;
}

.capi_architecture_title span{
    color:#8b9bae;
    font-weight:700;
}

.capi_architecture_new .capi_architecture_title span{
    color:#1769ff;
}

.capi_architecture_title strong{
    display:block;
    margin-top:4px;
    font-size:19px;
}

.capi_architecture_old_body,
.capi_architecture_new_body{
    min-height:260px;
    margin-top:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.capi_provider_nodes{
    display:grid;
    gap:6px;
}

.capi_provider_nodes span{
    padding:9px 11px;
    border:1px solid #dce6f2;
    border-radius:10px;
    background:#fff;
    color:#667a94;
    font-weight:700;
}

.capi_old_lines{
    width:70px;
    display:grid;
    gap:25px;
}

.capi_old_lines i{
    height:1px;
    background:#c9d8e9;
}

.capi_platform_node{
    min-width:130px;
    min-height:100px;
    padding:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:16px;
    color:#17375e;
    background:#fff;
    font-weight:800;
}

.capi_platform_node.blue{
    color:#fff;
    background:#1769ff;
}

.capi_new_api{
    width:105px;
    height:105px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:50%;
    color:#fff;
    background:#1769ff;
}

.capi_new_api i{
    font-size:20px;
}

.capi_vs{
    display:flex;
    justify-content:center;
}

.capi_vs span{
    width:45px;
    height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#1769ff;
    background:#e9f3ff;
    font-weight:900;
}

.capi_architecture_desc{
    padding-top:17px;
    border-top:1px solid #dfe8f3;
    color:#7e8ea2;
}


/* =========================================================
   BENEFIT
========================================================= */

.capi_benefits{
    padding:90px 0;
    background:#f6f9fd;
}

.capi_benefit_grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.capi_benefit_item{
    position:relative;
    min-height:245px;
    padding:27px;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#fff;
}

.capi_benefit_item > span{
    position:absolute;
    right:17px;
    top:14px;
    color:#b5c3d4;
}

.capi_benefit_item > i{
    margin-bottom:40px;
    color:#1769ff;
    font-size:22px;
}

.capi_benefit_item h3{
    margin:0 0 7px;
    font-size:18px;
}

.capi_benefit_item p{
    margin:0;
    color:#79899c;
    line-height:1.5;
}


/* =========================================================
   ABOUT
========================================================= */

.capi_about{
    padding:90px 0;
    background:#fff;
}

.capi_about_content > p{
    margin:18px 0 0;
    color:#748398;
    line-height:1.6;
}

.capi_flow{
    display:grid;
    grid-template-columns:1fr 40px 1fr 40px 1fr;
    align-items:center;
    gap:8px;
}

.capi_flow_item{
    min-height:190px;
    padding:20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid #dfe8f3;
    border-radius:20px;
    background:#f8fbff;
}

.capi_flow_item.active{
    color:#fff;
    border-color:#1769ff;
    background:#1769ff;
}

.capi_flow_item > span{
    align-self:flex-end;
    color:#9aabbf;
}

.capi_flow_item.active > span{
    color:#b9daff;
}

.capi_flow_item > i{
    margin:20px 0 12px;
    color:#1769ff;
    font-size:24px;
}

.capi_flow_item.active > i{
    color:#fff;
}

.capi_flow_item strong{
    font-size:17px;
}

.capi_flow_item small{
    margin-top:5px;
    color:#8696a9;
}

.capi_flow_item.active small{
    color:#d7e9ff;
}

.capi_flow_arrow{
    color:#1769ff;
    text-align:center;
}


/* =========================================================
   EXPERIENCE
========================================================= */

.capi_experience{
    padding:90px 0;
    background:#0b2853;
}

.capi_experience_inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.capi_experience_title{
    color:#fff;
}

.capi_experience_title > span{
    color:#77b8ff;
    font-weight:800;
}

.capi_experience_title h2{
    margin:8px 0 14px;
    font-size:39px;
    line-height:1.2;
}

.capi_experience_title h2 strong{
    color:#86c2ff;
}

.capi_experience_title p{
    margin:0;
    color:#b9cde2;
    line-height:1.55;
}

.capi_experience_list{
    border-top:1px solid rgba(255,255,255,.13);
}

.capi_experience_list > div{
    display:grid;
    grid-template-columns:55px 1fr;
    gap:15px;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.13);
}

.capi_experience_list i{
    color:#78b9ff;
    font-size:20px;
}

.capi_experience_list strong{
    display:block;
    color:#fff;
    font-size:16px;
}

.capi_experience_list span{
    display:block;
    margin-top:3px;
    color:#90aac5;
}


/* =========================================================
   PROVIDER
========================================================= */

.capi_provider{
    padding:90px 0;
    background:#fff;
}

.capi_provider_grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.capi_provider_card{
    min-height:300px;
    padding:32px;
    border:1px solid #dfe8f3;
    border-radius:23px;
    background:#f8fbff;
}

.capi_provider_card.blue{
    color:#fff;
    border-color:#1769ff;
    background:#1769ff;
}

.capi_provider_card > span{
    color:#1769ff;
    font-weight:800;
}

.capi_provider_card.blue > span{
    color:#c3e0ff;
}

.capi_provider_card h3{
    margin:6px 0 25px;
    font-size:23px;
}

.capi_provider_card > div{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.capi_provider_card em{
    padding:9px 12px;
    border:1px solid #dce6f2;
    border-radius:20px;
    background:#fff;
    color:#55708f;
    font-style:normal;
    font-weight:600;
}

.capi_provider_card.blue em{
    border-color:rgba(255,255,255,.17);
    background:rgba(255,255,255,.09);
    color:#fff;
}


/* =========================================================
   PACKAGE
========================================================= */

.capi_package{
    padding:90px 0;
    background:#f6f9fd;
}

.capi_package_head{
    max-width:720px;
    margin-bottom:38px;
}

.capi_package_head > span{
    color:#1769ff;
    font-weight:800;
}

.capi_package_head h2{
    margin:8px 0 13px;
    font-size:40px;
    line-height:1.2;
}

.capi_package_head h2 strong{
    color:#1769ff;
}

.capi_package_head p{
    margin:0;
    color:#748398;
    line-height:1.55;
}

.capi_package_grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:11px;
}

.capi_package_item{
    min-height:360px;
    padding:28px;
    border:1px solid #dfe8f3;
    border-radius:21px;
    background:#fff;
}

.capi_package_item.primary{
    color:#fff;
    border-color:#1769ff;
    background:#1769ff;
}

.capi_package_icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;
    border-radius:15px;
    color:#1769ff;
    background:#e9f3ff;
    font-size:20px;
}

.capi_package_item.primary .capi_package_icon{
    color:#1769ff;
    background:#fff;
}

.capi_package_item > span{
    color:#1769ff;
    font-weight:800;
}

.capi_package_item.primary > span{
    color:#c3e0ff;
}

.capi_package_item h3{
    margin:5px 0 10px;
    font-size:23px;
}

.capi_package_item p{
    min-height:65px;
    margin:0;
    color:#77889d;
    line-height:1.5;
}

.capi_package_item.primary p{
    color:#d8eaff;
}

.capi_package_item ul{
    margin:24px 0 0;
    padding:20px 0 0;
    list-style:none;
    border-top:1px solid #e4ebf4;
}

.capi_package_item.primary ul{
    border-color:rgba(255,255,255,.15);
}

.capi_package_item li{
    margin-bottom:9px;
    color:#657a93;
}

.capi_package_item.primary li{
    color:#fff;
}

.capi_package_item li i{
    margin-right:6px;
    color:#1769ff;
}

.capi_package_item.primary li i{
    color:#fff;
}


/* =========================================================
   CONTACT
========================================================= */

.capi_contact{
    padding:75px 0;
    background:#0a244c;
}

.capi_contact_inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    color:#fff;
}

.capi_contact_inner > div > span{
    color:#78baff;
    font-weight:800;
}

.capi_contact_inner h2{
    margin:8px 0 10px;
    font-size:35px;
    line-height:1.25;
}

.capi_contact_inner h2 strong{
    color:#8bc5ff;
}

.capi_contact_inner p{
    margin:0;
    color:#b5cade;
}

.capi_contact_inner > a{
    width:290px;
    height:72px;
    padding:0 20px;
    display:grid;
    grid-template-columns:42px 1fr 20px;
    align-items:center;
    gap:12px;
    border-radius:38px;
    color:#1769ff;
    background:#fff;
    text-decoration:none;
}

.capi_contact_inner > a > i:first-child{
    color:#229ed9;
    font-size:28px;
}

.capi_contact_inner > a span{
    display:flex;
    flex-direction:column;
    color:#7a8ea6;
}

.capi_contact_inner > a strong{
    color:#17385e;
    font-size:16px;
}


/* =========================================================
   SCROLL MOTION
   기본 내용은 항상 보임
========================================================= */

.capi_reveal{
    opacity:1;
    visibility:visible;
}

.capi_reveal.capi_show{
    animation:capiReveal .7s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes capiReveal{
    from{
        opacity:.35;
        transform:translateY(25px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1199px){

    .capi_hero h1{
        font-size:62px;
    }

    .capi_arch_body{
        grid-template-columns:80px 45px 135px 45px 90px;
    }

}


/* =========================================================
   991
========================================================= */

@media(max-width:991px){

    .capi_hero{
        min-height:0;
    }

    .capi_hero_row{
        min-height:0;
        padding:130px 0 90px;
    }

    .capi_arch_visual{
        margin:45px auto 0;
    }

    .capi_section_head{
        display:block;
    }

    .capi_section_head > p{
        margin-top:14px;
    }

    .capi_architecture_grid{
        grid-template-columns:1fr;
        gap:15px;
    }

    .capi_vs{
        padding:5px;
    }

    .capi_benefit_grid{
        grid-template-columns:1fr 1fr;
    }

    .capi_experience_inner{
        grid-template-columns:1fr;
        gap:35px;
    }

    .capi_package_grid{
        grid-template-columns:1fr;
    }

    .capi_package_item{
        min-height:0;
    }

    .capi_contact_inner{
        display:block;
    }

    .capi_contact_inner > a{
        margin-top:28px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .capi_hero_row{
        padding:105px 0 65px;
    }

    .capi_hero h1{
        font-size:45px;
        letter-spacing:-3px;
    }

    .capi_hero h2{
        font-size:24px;
    }

    .capi_hero_buttons{
        width:100%;
        gap:7px;
    }

    .capi_btn_primary,
    .capi_btn_line{
        width:50%;
        min-width:0;
        padding:0 12px;
    }

    .capi_hero_stats{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:8px;
    }


    /* API VISUAL */

    .capi_arch_body{
        min-height:330px;
        padding:20px 10px;
        grid-template-columns:65px 22px 110px 22px 72px;
        gap:3px;
    }

    .capi_arch_providers > div{
        height:56px;
    }

    .capi_arch_core{
        height:145px;
        border-radius:20px;
    }

    .capi_core_icon{
        width:42px;
        height:42px;
    }

    .capi_arch-core strong,
    .capi_arch_core strong{
        font-size:17px;
    }

    .capi_arch_platform{
        min-width:0;
        height:125px;
        padding:5px;
    }

    .capi_arch-platform strong,
    .capi_arch_platform strong{
        font-size:14px;
    }


    /* SECTION */

    .capi_architecture,
    .capi_benefits,
    .capi_about,
    .capi_experience,
    .capi_provider,
    .capi_package{
        padding:58px 0;
    }

    .capi_section_head h2,
    .capi_about_content h2,
    .capi_package_head h2,
    .capi_experience_title h2{
        font-size:30px;
        letter-spacing:-1px;
    }


    /* ARCHITECTURE */

    .capi_architecture-old-body,
    .capi_architecture_old_body,
    .capi_architecture-new-body,
    .capi_architecture_new_body{
        min-height:220px;
    }


    /* BENEFIT */

    .capi_benefit_grid{
        grid-template-columns:1fr;
    }

    .capi_benefit_item{
        min-height:190px;
    }


    /* FLOW */

    .capi_flow{
        grid-template-columns:1fr;
    }

    .capi_flow_item{
        min-height:140px;
    }

    .capi_flow_arrow{
        transform:rotate(90deg);
    }


    /* PROVIDER */

    .capi_provider_grid{
        grid-template-columns:1fr;
    }


    /* CONTACT */

    .capi_contact{
        padding:58px 0;
    }

    .capi_contact_inner h2{
        font-size:27px;
    }

    .capi_contact_inner > a{
        width:100%;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .capi_hero h1{
        font-size:38px;
    }

    .capi_hero h2{
        font-size:21px;
    }

    .capi_arch_bottom{
        grid-template-columns:1fr;
    }

    .capi_arch_bottom > div{
        border-right:0;
        border-bottom:1px solid #e4ebf4;
    }

    .capi_arch_bottom > div:last-child{
        border-bottom:0;
    }

}
/* =========================================================
   CASINO API MOTION
========================================================= */

/* 기본 상태 - 내용은 무조건 보임 */
.capi_reveal{
    opacity:1;
    transform:none;
}


/* JS가 정상 실행된 경우에만 등장 효과 준비 */
html.capi_motion_ready .capi_reveal{
    opacity:.18;
    transform:translateY(28px);
    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.22,.61,.36,1);
    will-change:opacity,transform;
}


/* 방향 */
html.capi_motion_ready .capi_from_left{
    transform:translateX(-40px);
}

html.capi_motion_ready .capi_from_right{
    transform:translateX(40px);
}

html.capi_motion_ready .capi_from_bottom{
    transform:translateY(32px);
}


/* 등장 완료 */
html.capi_motion_ready .capi_reveal.capi_show{
    opacity:1;
    transform:none;
}


/* 순차 등장 */
.capi_delay_1{
    transition-delay:.06s !important;
}

.capi_delay_2{
    transition-delay:.13s !important;
}

.capi_delay_3{
    transition-delay:.20s !important;
}

.capi_delay_4{
    transition-delay:.27s !important;
}


/* =========================================================
   HERO API CONNECTION LINE
========================================================= */

.capi_arch_lines span{
    position:relative;
    overflow:hidden;
}

.capi_arch_lines span:after{
    content:"";
    position:absolute;
    top:0;
    left:-50%;
    width:45%;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        #1769ff,
        transparent
    );
    animation:capiLineFlow 3.2s linear infinite;
}

.capi_arch_lines span:nth-child(2):after{
    animation-delay:.55s;
}

.capi_arch_lines span:nth-child(3):after{
    animation-delay:1.1s;
}

@keyframes capiLineFlow{
    from{
        left:-50%;
    }

    to{
        left:110%;
    }
}


/* 오른쪽 라인 방향 반대로 */
.capi_arch_lines.right span:after{
    left:auto;
    right:-50%;
    animation-name:capiLineFlowRight;
}

@keyframes capiLineFlowRight{
    from{
        right:-50%;
    }

    to{
        right:110%;
    }
}


/* =========================================================
   HERO DOT
========================================================= */

.capi_arch_top i{
    animation:capiTopDot 2.3s ease-in-out infinite;
}

.capi_arch_top i:nth-child(2){
    animation-delay:.35s;
}

.capi_arch_top i:nth-child(3){
    animation-delay:.7s;
}

@keyframes capiTopDot{
    0%,100%{
        opacity:.3;
    }

    50%{
        opacity:1;
    }
}


/* =========================================================
   ONE API CORE
   위치는 고정 / 빛만 변화
========================================================= */

.capi_arch_core{
    position:relative;
    overflow:hidden;
}

.capi_arch_core:before{
    content:"";
    position:absolute;
    inset:-40%;
    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.28),
            transparent 45%
        );
    opacity:.25;
    animation:capiCoreGlow 3.8s ease-in-out infinite;
    pointer-events:none;
}

@keyframes capiCoreGlow{
    0%,100%{
        opacity:.15;
    }

    50%{
        opacity:.45;
    }
}


/* =========================================================
   API STATUS
========================================================= */

.capi_arch_bottom strong{
    animation:capiStatus 2.8s ease-in-out infinite;
}

.capi_arch_bottom > div:nth-child(2) strong{
    animation-delay:.4s;
}

.capi_arch_bottom > div:nth-child(3) strong{
    animation-delay:.8s;
}

@keyframes capiStatus{
    0%,100%{
        opacity:.55;
    }

    50%{
        opacity:1;
    }
}


/* =========================================================
   COMPARISON
========================================================= */

.capi_provider_nodes span{
    transition:
        border-color .25s ease,
        background .25s ease,
        color .25s ease;
}

.capi_provider_nodes span:hover{
    border-color:#b7d4fb;
    background:#edf5ff;
    color:#1769ff;
}

.capi_new_api{
    transition:
        box-shadow .25s ease,
        background .25s ease;
}

.capi_new_api:hover{
    box-shadow:0 15px 35px rgba(23,105,255,.20);
}


/* =========================================================
   BENEFIT CARDS
========================================================= */

.capi_benefit_item{
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.capi_benefit_item:hover{
    border-color:#b8d5ff;
    box-shadow:0 15px 35px rgba(45,88,145,.08);
    background:#fbfdff;
}

.capi_benefit_item > i{
    transition:
        transform .25s ease,
        color .25s ease;
}

.capi_benefit_item:hover > i{
    transform:scale(1.08) rotate(-4deg);
    color:#0b4fd5;
}


/* =========================================================
   FLOW
========================================================= */

.capi_flow_arrow i{
    animation:capiArrow 1.8s ease-in-out infinite;
}

@keyframes capiArrow{
    0%,100%{
        opacity:.35;
    }

    50%{
        opacity:1;
    }
}


/* =========================================================
   EXPERIENCE
========================================================= */

.capi_experience_list > div{
    transition:
        padding-left .25s ease,
        background .25s ease;
}

.capi_experience_list > div:hover{
    padding-left:8px;
    background:rgba(255,255,255,.025);
}

.capi_experience_list i{
    transition:transform .25s ease;
}

.capi_experience_list > div:hover i{
    transform:scale(1.1);
}


/* =========================================================
   PROVIDER
========================================================= */

.capi_provider_card{
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.capi_provider_card:hover{
    border-color:#b9d5fb;
    box-shadow:0 18px 40px rgba(45,88,145,.08);
}

.capi_provider_card em{
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.capi_provider_card:not(.blue) em:hover{
    color:#1769ff;
    border-color:#bcd8ff;
    background:#edf5ff;
}

.capi_provider_card.blue em:hover{
    background:rgba(255,255,255,.16);
}


/* =========================================================
   PACKAGE
========================================================= */

.capi_package_item{
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.capi_package_item:hover{
    border-color:#b8d5ff;
    box-shadow:0 18px 40px rgba(45,88,145,.08);
}

.capi_package_item.primary:hover{
    border-color:#1769ff;
    box-shadow:0 20px 45px rgba(23,105,255,.20);
}

.capi_package_icon{
    transition:transform .25s ease;
}

.capi_package_item:hover .capi_package_icon{
    transform:scale(1.08);
}


/* =========================================================
   CONTACT
========================================================= */

.capi_contact_inner > a{
    transition:
        box-shadow .25s ease,
        background .25s ease;
}

.capi_contact_inner > a:hover{
    box-shadow:0 15px 35px rgba(0,0,0,.16);
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    html.capi_motion_ready .capi_reveal{
        transform:translateY(18px);
    }

    html.capi_motion_ready .capi_from_left{
        transform:translateX(-18px);
    }

    html.capi_motion_ready .capi_from_right{
        transform:translateX(18px);
    }

    html.capi_motion_ready .capi_from_bottom{
        transform:translateY(18px);
    }

    html.capi_motion_ready .capi_reveal.capi_show{
        transform:none;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    .capi_reveal{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }

    .capi_arch_lines span:after,
    .capi_arch_top i,
    .capi_arch_core:before,
    .capi_arch_bottom strong,
    .capi_flow_arrow i{
        animation:none !important;
    }

}
/* =========================================================
   TECH SUPPORT
========================================================= */

.capi_support{
    position:relative;
    width:100%;
    padding:90px 0;
    overflow:hidden;
    background:#0b2853;
    color:#fff;
    font-size:14px;
}

.capi_support *{
    box-sizing:border-box;
}


/* =========================================================
   INNER
========================================================= */

.capi_support_inner{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:70px;
}


/* =========================================================
   LEFT
========================================================= */

.capi_support_text{
    max-width:620px;
}

.capi_support_text .capi_section_label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    color:#76b9ff;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
}

.capi_support_text .capi_section_label span{
    color:#fff;
    font-size:14px;
}

.capi_support_text h2{
    margin:0;
    color:#fff;
    font-size:40px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-1.7px;
}

.capi_support_text h2 strong{
    color:#82c0ff;
}

.capi_support_text p{
    max-width:590px;
    margin:18px 0 0;
    color:#b8cae0;
    font-size:14px;
    line-height:1.6;
}


/* =========================================================
   RIGHT POINTS
========================================================= */

.capi_support_points{
    border-top:1px solid rgba(255,255,255,.14);
}

.capi_support_points > div{
    min-height:92px;
    padding:18px 4px;
    display:grid;
    grid-template-columns:58px 1fr;
    align-items:center;
    gap:16px;
    border-bottom:1px solid rgba(255,255,255,.14);
    transition:
        background .25s ease,
        padding-left .25s ease;
}

.capi_support_points > div:hover{
    padding-left:10px;
    background:rgba(255,255,255,.025);
}


/* ICON */

.capi_support_points > div > i{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:15px;
    color:#78baff;
    background:rgba(255,255,255,.07);
    font-size:19px;
    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}

.capi_support_points > div:hover > i{
    color:#1769ff;
    background:#fff;
    transform:scale(1.05);
}


/* TEXT */

.capi_support_points span{
    display:flex;
    flex-direction:column;
    gap:4px;
    color:#94abc4;
    font-size:14px;
    line-height:1.4;
}

.capi_support_points strong{
    color:#fff;
    font-size:17px;
    font-weight:800;
    line-height:1.25;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .capi_support{
        padding:70px 0;
    }

    .capi_support_inner{
        grid-template-columns:1fr;
        gap:35px;
    }

    .capi_support_text{
        max-width:700px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .capi_support{
        padding:55px 0;
    }

    .capi_support_inner{
        gap:28px;
    }

    .capi_support_text h2{
        font-size:30px;
        line-height:1.22;
        letter-spacing:-1px;
    }

    .capi_support_text p{
        margin-top:14px;
        line-height:1.55;
    }

    .capi_support_points > div{
        min-height:82px;
        grid-template-columns:50px 1fr;
        gap:13px;
        padding:15px 0;
    }

    .capi_support_points > div > i{
        width:46px;
        height:46px;
        border-radius:13px;
        font-size:17px;
    }

    .capi_support_points strong{
        font-size:16px;
    }

    .capi_support_points > div:hover{
        padding-left:0;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .capi_support_text h2{
        font-size:27px;
    }

}
/* =========================================================
   DEVELOPMENT PROCESS PAGE
========================================================= */

.devproc_page{
    width:100%;
    overflow:hidden;
    color:#10213b;
    background:#fff;
    font-size:14px;
}

.devproc_page *{
    box-sizing:border-box;
}

.devproc_page p,
.devproc_page span,
.devproc_page small,
.devproc_page a{
    font-size:14px;
}


/* =========================================================
   HERO
========================================================= */

.devproc_hero{
    position:relative;
    min-height:650px;
    overflow:hidden;
    background:
        radial-gradient(circle at 85% 25%,rgba(23,105,255,.14),transparent 30%),
        linear-gradient(180deg,#fff,#f5f9ff);
}

.devproc_grid{
    position:absolute;
    inset:0;
    opacity:.25;
    background-image:
        linear-gradient(rgba(39,105,190,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(39,105,190,.07) 1px,transparent 1px);
    background-size:65px 65px;
}

.devproc_hero_row{
    position:relative;
    z-index:2;
    min-height:650px;
    padding-top:80px;
    padding-bottom:70px;
}

.devproc_hero_content{
    max-width:750px;
}

.devproc_label{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    color:#1769ff;
    font-weight:800;
}

.devproc_label > span{
    width:34px;
    height:2px;
    background:#1769ff;
}

.devproc_hero h1{
    margin:0;
    color:#0b244b;
    font-size:72px;
    font-weight:900;
    line-height:.92;
    letter-spacing:-5px;
}

.devproc_hero h1 strong{
    color:transparent;
    -webkit-text-stroke:1.5px #70adff;
}

.devproc_hero h2{
    margin:28px 0 14px;
    font-size:31px;
    line-height:1.28;
    letter-spacing:-1.4px;
}

.devproc_hero h2 strong{
    color:#1769ff;
}

.devproc_hero_content > p{
    max-width:670px;
    margin:0;
    color:#708096;
    line-height:1.65;
}


/* HERO RIGHT */

.devproc_hero_info{
    max-width:400px;
    margin-left:auto;
    padding:32px;
    border:1px solid #dce7f3;
    border-radius:25px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(12px);
}

.devproc_hero_info > div:first-child{
    display:flex;
    align-items:flex-end;
    gap:9px;
}

.devproc_hero_info > div:first-child > span{
    padding-bottom:7px;
    color:#7a8da5;
    font-weight:700;
}

.devproc_hero_info > div:first-child strong{
    color:#1769ff;
    font-size:68px;
    line-height:.8;
}

.devproc_hero_info small{
    padding-bottom:5px;
    color:#17365c;
    font-weight:800;
}

.devproc_hero_line{
    display:grid;
    grid-template-columns:repeat(9,1fr);
    gap:5px;
    margin:27px 0 18px;
}

.devproc_hero_line i{
    display:block;
    height:6px;
    border-radius:10px;
    background:#d9e6f5;
}

.devproc_hero_line i:nth-child(-n+6){
    background:#1769ff;
}

.devproc_hero_info > p{
    margin:0;
    color:#8293a7;
    line-height:1.55;
}


/* =========================================================
   PROCESS
========================================================= */

.devproc_process{
    padding:100px 0;
    background:#fff;
}

.devproc_head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:65px;
}

.devproc_section_label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    color:#1769ff;
    font-weight:800;
}

.devproc_head h2{
    margin:0;
    font-size:43px;
    line-height:1.2;
    letter-spacing:-1.8px;
}

.devproc_head h2 strong{
    color:#1769ff;
}

.devproc_head > p{
    width:100%;
    max-width:510px;
    margin:0;
    color:#758499;
    line-height:1.55;
}


/* =========================================================
   TIMELINE
========================================================= */

.devproc_timeline{
    position:relative;
    max-width:1180px;
    margin:0 auto;
}

.devproc_timeline:before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    width:1px;
    transform:translateX(-50%);
    background:#d9e5f2;
}


/* STEP */

.devproc_step{
    position:relative;
    width:50%;
    margin-bottom:35px;
}

.devproc_step:last-child{
    margin-bottom:0;
}

.devproc_left{
    padding-right:65px;
}

.devproc_right{
    margin-left:50%;
    padding-left:65px;
}


/* NUMBER */

.devproc_step_number{
    position:absolute;
    top:25px;
    width:54px;
    height:54px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    border:6px solid #fff;
    border-radius:50%;
    color:#fff;
    background:#1769ff;
    box-shadow:0 0 0 1px #bcd5f5;
    font-size:14px;
    font-weight:900;
}

.devproc_left .devproc_step_number{
    right:-27px;
}

.devproc_right .devproc_step_number{
    left:-27px;
}

.devproc_step_number.last{
    background:#0b2853;
}


/* CARD */

.devproc_step_card{
    position:relative;
    min-height:260px;
    padding:30px;
    border:1px solid #dfe8f3;
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 35px rgba(45,88,145,.045);
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.devproc_step_card:hover{
    border-color:#b8d5ff;
    box-shadow:0 20px 45px rgba(45,88,145,.08);
}

.devproc_step_card.final{
    border-color:#bad6ff;
    background:#f4f9ff;
}

.devproc_step_top{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:20px;
}

.devproc_step_icon{
    width:49px;
    height:49px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    color:#1769ff;
    background:#edf5ff;
    font-size:19px;
}

.devproc_step_top > span{
    color:#1769ff;
    font-weight:800;
}

.devproc_step_card h3{
    margin:0 0 10px;
    color:#19375c;
    font-size:21px;
    font-weight:800;
}

.devproc_step_card > p{
    margin:0;
    color:#758599;
    line-height:1.6;
}


/* TAG */

.devproc_step_tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:20px;
}

.devproc_step_tags span{
    padding:7px 10px;
    border-radius:17px;
    color:#617996;
    background:#f2f6fb;
    font-weight:600;
}


/* =========================================================
   SUMMARY
========================================================= */

.devproc_summary{
    padding:80px 0;
    background:#f5f9ff;
}

.devproc_summary_inner{
    padding:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
    border-radius:26px;
    background:#fff;
    border:1px solid #dfe8f3;
}

.devproc_summary_inner > div:first-child > span{
    color:#1769ff;
    font-weight:800;
}

.devproc_summary_inner h2{
    margin:7px 0 0;
    font-size:31px;
    line-height:1.25;
}

.devproc_summary_inner h2 strong{
    color:#1769ff;
}

.devproc_summary_points{
    max-width:480px;
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
}

.devproc_summary_points span{
    padding:9px 13px;
    display:flex;
    align-items:center;
    gap:6px;
    border-radius:20px;
    background:#edf5ff;
    color:#476b98;
    font-weight:700;
}

.devproc_summary_points i{
    color:#1769ff;
}


/* =========================================================
   CONTACT
========================================================= */

.devproc_contact{
    padding:75px 0;
    background:#0b2853;
}

.devproc_contact_inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    color:#fff;
}

.devproc_contact_inner > div > span{
    color:#78b9ff;
    font-weight:800;
}

.devproc_contact_inner h2{
    margin:8px 0 10px;
    color:#fff;
    font-size:35px;
    line-height:1.25;
}

.devproc_contact_inner h2 strong{
    color:#87c3ff;
}

.devproc_contact_inner p{
    margin:0;
    color:#b8cbe0;
}

.devproc_contact_inner > a{
    width:160px;
    height:160px;
    flex:none;
    padding:25px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    border-radius:50%;
    color:#1769ff;
    background:#fff;
    text-decoration:none;
    font-weight:800;
}

.devproc_contact_inner > a i{
    align-self:flex-end;
}


/* =========================================================
   SCROLL MOTION
   기본적으로 내용은 항상 보임
========================================================= */

.devproc_scroll{
    opacity:1;
    transform:none;
}

.devproc_scroll.devproc_show{
    animation:devprocReveal .75s cubic-bezier(.22,.61,.36,1) both;
}

.devproc_left.devproc_show{
    animation-name:devprocRevealLeft;
}

.devproc_right.devproc_show{
    animation-name:devprocRevealRight;
}


@keyframes devprocReveal{

    from{
        opacity:.35;
        transform:translateY(28px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

@keyframes devprocRevealLeft{

    from{
        opacity:.35;
        transform:translateX(-35px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }

}

@keyframes devprocRevealRight{

    from{
        opacity:.35;
        transform:translateX(35px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .devproc_hero{
        min-height:0;
    }

    .devproc_hero_row{
        min-height:0;
        padding:130px 0 80px;
    }

    .devproc_hero_info{
        max-width:none;
        margin:40px 0 0;
    }

    .devproc_head{
        display:block;
        margin-bottom:50px;
    }

    .devproc_head > p{
        max-width:700px;
        margin-top:15px;
    }

    .devproc_summary_inner{
        display:block;
    }

    .devproc_summary_points{
        justify-content:flex-start;
        margin-top:25px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .devproc_hero_row{
        padding:105px 0 60px;
    }

    .devproc_hero h1{
        font-size:45px;
        letter-spacing:-3px;
    }

    .devproc_hero h2{
        font-size:24px;
    }

    .devproc_hero_info > div:first-child strong{
        font-size:55px;
    }


    .devproc_process{
        padding:60px 0;
    }

    .devproc_head{
        margin-bottom:40px;
    }

    .devproc_head h2{
        font-size:30px;
        letter-spacing:-1px;
    }


    /* TIMELINE MOBILE */

    .devproc_timeline{
        padding-left:42px;
    }

    .devproc_timeline:before{
        left:17px;
        transform:none;
    }

    .devproc_step{
        width:100%;
        margin-left:0;
        margin-bottom:20px;
        padding:0;
    }

    .devproc_left,
    .devproc_right{
        margin-left:0;
        padding-left:0;
        padding-right:0;
    }

    .devproc_left .devproc_step_number,
    .devproc_right .devproc_step_number{
        left:-52px;
        right:auto;
        top:22px;
    }

    .devproc_step_number{
        width:44px;
        height:44px;
        border-width:5px;
    }

    .devproc_step_card{
        min-height:0;
        padding:22px;
        border-radius:18px;
    }

    .devproc_step_top{
        margin-bottom:15px;
    }

    .devproc_step_icon{
        width:44px;
        height:44px;
        font-size:17px;
    }

    .devproc_step_card h3{
        font-size:18px;
    }


    /* 모바일에서는 모두 아래에서 등장 */

    .devproc_left.devproc_show,
    .devproc_right.devproc_show{
        animation-name:devprocReveal;
    }


    .devproc_summary{
        padding:55px 0;
    }

    .devproc_summary_inner{
        padding:25px;
    }

    .devproc_summary_inner h2{
        font-size:25px;
    }


    .devproc_contact{
        padding:55px 0;
    }

    .devproc_contact_inner{
        display:block;
    }

    .devproc_contact_inner h2{
        font-size:27px;
    }

    .devproc_contact_inner > a{
        width:125px;
        height:125px;
        margin-top:28px;
        padding:20px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .devproc_hero h1{
        font-size:38px;
    }

    .devproc_hero h2{
        font-size:21px;
    }

    .devproc_hero_info{
        padding:23px;
    }

    .devproc_timeline{
        padding-left:36px;
    }

    .devproc_left .devproc_step_number,
    .devproc_right .devproc_step_number{
        left:-46px;
    }

}/* =========================================================
   PROCESS PAGE MOTION
========================================================= */

/* 기본은 항상 보임 */
.devproc_scroll{
    opacity:1;
    transform:none;
}


/* JS가 정상일 때만 진입 애니메이션 준비 */
html.devproc_motion_ready .devproc_scroll{
    opacity:.18;
    transform:translateY(28px);

    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.22,.61,.36,1);
}


/* 방향 */
html.devproc_motion_ready .devproc_left{
    transform:translateX(-40px);
}

html.devproc_motion_ready .devproc_right{
    transform:translateX(40px);
}


/* 등장 완료 */
html.devproc_motion_ready .devproc_scroll.devproc_show{
    opacity:1;
    transform:none;
}


/* =========================================================
   STEP NUMBER
========================================================= */

.devproc_step_number{
    position:absolute;
    overflow:hidden;
}

.devproc_step_number:after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    border:2px solid rgba(23,105,255,.25);
    animation:devprocNumberPulse 2.7s ease-out infinite;
}

@keyframes devprocNumberPulse{

    0%{
        transform:scale(.75);
        opacity:.7;
    }

    70%{
        transform:scale(1.45);
        opacity:0;
    }

    100%{
        transform:scale(1.45);
        opacity:0;
    }

}


/* =========================================================
   TIMELINE LINE
========================================================= */

.devproc_timeline:after{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:2px;
    height:0;
    transform:translateX(-50%);
    background:linear-gradient(
        180deg,
        #1769ff,
        #75b9ff
    );

    transition:height 1.2s ease;
}


/* JS가 붙이면 전체 라인 채움 */
.devproc_timeline.devproc_timeline_active:after{
    height:100%;
}


/* =========================================================
   STEP CARD HOVER
========================================================= */

.devproc_step_card{
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.devproc_step_card:hover{
    border-color:#b7d5ff;
    box-shadow:0 18px 40px rgba(45,88,145,.08);
}


/* =========================================================
   ICON MOTION
========================================================= */

.devproc_step_icon i{
    transition:transform .3s ease;
}

.devproc_step_card:hover .devproc_step_icon i{
    transform:scale(1.12) rotate(-5deg);
}


/* =========================================================
   TAG MOTION
========================================================= */

.devproc_step-tags span,
.devproc_step_tags span{
    transition:
        color .25s ease,
        background .25s ease,
        border-color .25s ease;
}

.devproc_step_tags span:hover{
    color:#1769ff;
    background:#e9f3ff;
}


/* =========================================================
   HERO 9 STEP BAR
========================================================= */

.devproc_hero_line i{
    position:relative;
    overflow:hidden;
}

.devproc_hero_line i:after{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:70%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.85),
        transparent
    );

    animation:devprocHeroBar 4s ease-in-out infinite;
}

.devproc_hero_line i:nth-child(2):after{
    animation-delay:.2s;
}

.devproc_hero_line i:nth-child(3):after{
    animation-delay:.4s;
}

.devproc_hero_line i:nth-child(4):after{
    animation-delay:.6s;
}

.devproc_hero_line i:nth-child(5):after{
    animation-delay:.8s;
}

.devproc_hero_line i:nth-child(6):after{
    animation-delay:1s;
}

.devproc_hero_line i:nth-child(7):after{
    animation-delay:1.2s;
}

.devproc_hero_line i:nth-child(8):after{
    animation-delay:1.4s;
}

.devproc_hero_line i:nth-child(9):after{
    animation-delay:1.6s;
}

@keyframes devprocHeroBar{

    0%,65%{
        left:-100%;
    }

    100%{
        left:140%;
    }

}


/* =========================================================
   SUMMARY
========================================================= */

.devproc_summary_points span{
    transition:
        background .25s ease,
        color .25s ease;
}

.devproc_summary_points span:hover{
    color:#1769ff;
    background:#e7f2ff;
}


/* =========================================================
   CONTACT BUTTON
========================================================= */

.devproc_contact_inner > a{
    transition:
        box-shadow .3s ease,
        transform .3s ease;
}

.devproc_contact_inner > a:hover{
    transform:rotate(-3deg);
    box-shadow:0 18px 40px rgba(0,0,0,.18);
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    html.devproc_motion_ready .devproc_scroll{
        transform:translateY(18px);
    }

    html.devproc_motion_ready .devproc_left,
    html.devproc_motion_ready .devproc_right{
        transform:translateY(18px);
    }

    html.devproc_motion_ready .devproc_scroll.devproc_show{
        transform:none;
    }


    .devproc_timeline:after{
        left:17px;
        transform:none;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    .devproc_scroll{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }

    .devproc_step_number:after,
    .devproc_hero_line i:after{
        animation:none !important;
    }

    .devproc_timeline:after{
        transition:none !important;
    }

}

/* =========================================================
   SAMPLE PAGE
========================================================= */

.sample_page{
    width:100%;
    overflow:hidden;
    background:#f7f9fd;
    color:#111d33;
    font-size:14px;
}

.sample_page *{
    box-sizing:border-box;
}

.sample_page p,
.sample_page span,
.sample_page a,
.sample_page small{
    font-size:14px;
}


/* =========================================================
   INTRO
========================================================= */

.sample_intro{
    padding:110px 0 60px;
    background:
        radial-gradient(circle at 5% 10%,rgba(36,173,255,.10),transparent 20%),
        #fff;
}

.sample_intro_inner{
    text-align:center;
    max-width:850px;
    margin:0 auto 45px;
}

.sample_label{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    color:#1769ff;
    font-weight:800;
}

.sample_label span{
    width:30px;
    height:2px;
    background:#1769ff;
}

.sample_intro h1{
    margin:0;
    color:#101c32;
    font-size:54px;
    line-height:1;
    font-weight:900;
    letter-spacing:-3px;
}

.sample_intro h1 strong{
    color:#1769ff;
}

.sample_intro_text{
    max-width:650px;
    margin:20px auto 0;
    color:#728197;
    line-height:1.6;
}


/* =========================================================
   NOTICE
========================================================= */

.sample_notice{
    max-width:1100px;
    margin:0 auto;
    padding:30px;
    display:grid;
    grid-template-columns:65px 1fr;
    gap:20px;
    border:1px solid #dce6f2;
    border-radius:22px;
    background:#f7faff;
}

.sample_notice_icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    color:#1769ff;
    background:#e8f2ff;
    font-size:21px;
}

.sample_notice_content > span{
    color:#1769ff;
    font-weight:800;
}

.sample_notice_content h2{
    margin:4px 0 13px;
    font-size:22px;
    font-weight:800;
}

.sample_notice_content p{
    margin:0 0 6px;
    color:#6f7e92;
    line-height:1.55;
}

.sample_notice_content p:last-child{
    margin-bottom:0;
}


/* =========================================================
   LIST SECTION
========================================================= */

.sample_list_section{
    padding:85px 0;
    background:#f6f8fc;
}

.sample_section_head{
    display:grid;
    grid-template-columns:1fr 500px;
    align-items:end;
    gap:50px;
    margin-bottom:40px;
}

.sample_section_head > div > span{
    color:#1769ff;
    font-weight:800;
}

.sample_section_head h2{
    margin:7px 0 0;
    color:#101c32;
    font-size:42px;
    line-height:1.18;
    letter-spacing:-2px;
}

.sample_section_head h2 strong{
    color:#1769ff;
}

.sample_section_head > p{
    margin:0;
    color:#758398;
    line-height:1.55;
}


/* =========================================================
   SAMPLE ITEM
========================================================= */

.sample_item{
    margin-bottom:30px;
    padding:22px;
    border:1px solid #dce4ee;
    border-radius:28px;
    background:#fff;
    box-shadow:0 16px 45px rgba(40,80,130,.05);
}

.sample_item:last-child{
    margin-bottom:0;
}


/* TOP */

.sample_item_top{
    padding:0 5px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.sample_item_top > div > span{
    color:#1769ff;
    font-weight:800;
}

.sample_item_top h3{
    margin:4px 0 0;
    color:#152a49;
    font-size:21px;
    font-weight:800;
}


/* BUTTON */

.sample_visit_btn{
    min-width:135px;
    height:43px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-radius:23px;
    color:#fff;
    background:#1769ff;
    text-decoration:none;
    font-weight:700;
    transition:
        background .25s ease,
        box-shadow .25s ease;
}

.sample_visit_btn:hover{
    color:#fff;
    background:#0c59dc;
    box-shadow:0 10px 25px rgba(23,105,255,.18);
}


/* =========================================================
   PREVIEW
========================================================= */

.sample_preview{
    display:grid;
    grid-template-columns:34% 66%;
    gap:18px;
    align-items:stretch;
}


/* MOBILE / PC */

.sample_mobile,
.sample_pc{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:21px;
    background:#0d1728;
    text-decoration:none;
}

.sample_mobile img,
.sample_pc img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    transition:transform .5s ease;
}

.sample_mobile:hover img,
.sample_pc:hover img{
    transform:scale(1.015);
}


/* MOBILE 비율 */

.sample_mobile{
    min-height:560px;
}

.sample_mobile img{
    object-fit:cover;
}


/* PC */

.sample_pc{
    min-height:560px;
}


/* LABEL */

.sample_screen_label{
    position:absolute;
    top:15px;
    left:15px;
    z-index:3;
    padding:7px 11px;
    border-radius:16px;
    color:#fff;
    background:rgba(10,25,50,.75);
    backdrop-filter:blur(6px);
    font-weight:800;
}


/* DESCRIPTION */

.sample_description{
    margin-top:18px;
    padding:20px;
    border-radius:17px;
    color:#fff;
    background:#101b31;
}

.sample_description strong{
    display:block;
    margin-bottom:7px;
    font-size:19px;
}

.sample_description p{
    margin:0;
    color:#c0ccdc;
    line-height:1.55;
}


/* =========================================================
   BOTTOM
========================================================= */

.sample_bottom{
    padding:85px 0;
    background:#fff;
}

.sample_bottom_inner{
    display:grid;
    grid-template-columns:40% 60%;
    gap:70px;
    align-items:start;
}

.sample_bottom_title > span{
    color:#1769ff;
    font-weight:800;
}

.sample_bottom_title h2{
    margin:8px 0 0;
    font-size:38px;
    line-height:1.22;
    letter-spacing:-1.6px;
}

.sample_bottom_title h2 strong{
    color:#1769ff;
}

.sample_bottom_content{
    border-top:1px solid #dde6f1;
}

.sample_bottom_content p{
    margin:0;
    padding:14px 0;
    border-bottom:1px solid #dde6f1;
    color:#738196;
    line-height:1.6;
}


/* FEATURES */

.sample_bottom_features{
    margin-top:45px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    overflow:hidden;
    border:1px solid #dde6f1;
    border-radius:20px;
}

.sample_bottom_features > div{
    min-height:110px;
    padding:20px;
    display:flex;
    align-items:center;
    gap:15px;
    border-right:1px solid #dde6f1;
}

.sample_bottom_features > div:last-child{
    border-right:0;
}

.sample_bottom_features i{
    color:#1769ff;
    font-size:21px;
}

.sample_bottom_features span{
    display:flex;
    flex-direction:column;
    gap:3px;
    color:#8593a6;
}

.sample_bottom_features strong{
    color:#203957;
    font-size:15px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .sample_intro{
        padding-top:90px;
    }

    .sample_section_head{
        grid-template-columns:1fr;
        gap:15px;
    }

    .sample_section_head > p{
        max-width:700px;
    }

    .sample_preview{
        grid-template-columns:40% 60%;
    }

    .sample_mobile,
    .sample_pc{
        min-height:430px;
    }

    .sample_bottom_inner{
        grid-template-columns:1fr;
        gap:28px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .sample_intro{
        padding:70px 0 45px;
    }

    .sample_intro h1{
        font-size:38px;
        letter-spacing:-2px;
    }

    .sample_notice{
        grid-template-columns:1fr;
        padding:22px;
    }

    .sample_notice_icon{
        width:50px;
        height:50px;
    }

    .sample_list_section{
        padding:55px 0;
    }

    .sample_section_head{
        margin-bottom:28px;
    }

    .sample_section_head h2{
        font-size:30px;
        letter-spacing:-1px;
    }

    .sample_item{
        padding:14px;
        margin-bottom:20px;
        border-radius:20px;
    }

    .sample_item_top{
        padding:2px 2px 14px;
    }

    .sample_item_top h3{
        font-size:18px;
    }

    .sample_visit_btn{
        min-width:115px;
        height:40px;
        padding:0 12px;
    }


    /* 핵심: 모바일에서는 위아래 */
    .sample_preview{
        grid-template-columns:1fr;
        gap:10px;
    }

    .sample_mobile{
        width:72%;
        min-height:520px;
        margin:0 auto;
    }

    .sample_pc{
        min-height:260px;
    }

    .sample_description{
        padding:17px;
    }


    .sample_bottom{
        padding:55px 0;
    }

    .sample_bottom_title h2{
        font-size:29px;
    }

    .sample_bottom_features{
        grid-template-columns:1fr;
    }

    .sample_bottom_features > div{
        min-height:80px;
        border-right:0;
        border-bottom:1px solid #dde6f1;
    }

    .sample_bottom_features > div:last-child{
        border-bottom:0;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .sample_intro h1{
        font-size:32px;
    }

    .sample_item_top{
        align-items:flex-start;
    }

    .sample_visit_btn{
        min-width:auto;
        padding:0 11px;
    }

    .sample_mobile{
        width:88%;
        min-height:470px;
    }

    .sample_pc{
        min-height:210px;
    }

}
/* =========================================
   Game Provider Grid - White / Blue Theme
   HTML 수정 없이 추가
========================================= */

.regular-tpl {
    width: 100%;
    padding: 30px 0;
    background: #f5f9ff;
}

.regular-tpl .grid-wrapper {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.regular-tpl .item_container {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
}

/* 카드 */
.regular-tpl .item {
    width: 100%;
    padding: 0;
    margin: 0;
    float: none;
}

.regular-tpl .item-content {
    position: relative;
    width: 100%;
    height: 115px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;
    border: 1px solid #dbe8f8;
    border-radius: 14px;

    box-shadow:
        0 4px 14px rgba(30, 100, 180, 0.06);

    overflow: hidden;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

/* 상단 블루 라인 */
.regular-tpl .item-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    height: 3px;

    background: linear-gradient(
        90deg,
        #1677ff,
        #4da3ff
    );

    opacity: 0;
    transition: opacity 0.25s ease;
}

/* 은은한 블루 배경 */
.regular-tpl .item-content::after {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;

    right: -50px;
    bottom: -60px;

    border-radius: 50%;
    background: rgba(22, 119, 255, 0.045);

    pointer-events: none;
}

/* 이미지 영역 */
.regular-tpl .image-bl {
    position: relative;
    z-index: 2;

    width: 85%;
    height: 80%;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* 로고 */
.regular-tpl .image-bl img {
    display: block;

    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 72px;

    object-fit: contain;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

/* Hover */
.regular-tpl .item-content:hover {
    transform: translateY(-5px);

    border-color: #8bbfff;

    background: #ffffff;

    box-shadow:
        0 10px 28px rgba(22, 119, 255, 0.13);
}

.regular-tpl .item-content:hover::before {
    opacity: 1;
}

.regular-tpl .item-content:hover img {
    transform: scale(1.05);
}


/* =========================================
   Desktop
========================================= */

@media (min-width: 1200px) {
    .regular-tpl {
        padding: 40px 0;
    }

    .regular-tpl .item_container {
        gap: 20px;
    }

    .regular-tpl .item-content {
        height: 125px;
    }
}


/* =========================================
   Tablet
========================================= */

@media (max-width: 1199px) {
    .regular-tpl .item_container {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }

    .regular-tpl .item-content {
        height: 110px;
    }
}


/* =========================================
   Mobile
========================================= */

@media (max-width: 767px) {
    .regular-tpl {
        padding: 20px 0;
    }

    .regular-tpl .grid-wrapper {
        padding: 0 12px;
    }

    .regular-tpl .item_container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .regular-tpl .item-content {
        height: 88px;
        border-radius: 10px;
    }

    .regular-tpl .image-bl {
        width: 88%;
        height: 80%;
    }

    .regular-tpl .image-bl img {
        max-height: 55px;
    }

    /* 모바일에서는 hover 이동 최소화 */
    .regular-tpl .item-content:hover {
        transform: translateY(-2px);
    }
}


/* =========================================
   Small Mobile
========================================= */

@media (max-width: 480px) {
    .regular-tpl .grid-wrapper {
        padding: 0 10px;
    }

    .regular-tpl .item_container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .regular-tpl .item-content {
        height: 90px;
        border-radius: 11px;
    }

    .regular-tpl .image-bl img {
        max-width: 90%;
        max-height: 58px;
    }
}


/* =========================================
   Very Small Mobile
========================================= */

@media (max-width: 360px) {
    .regular-tpl .item_container {
        gap: 8px;
    }

    .regular-tpl .item-content {
        height: 82px;
    }

    .regular-tpl .image-bl img {
        max-height: 50px;
    }
}