*{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:"Pretendard","Noto Sans KR",Arial,sans-serif;color:#111827;background:#fff;line-height:1.6}
    a{color:inherit;text-decoration:none}
    img{max-width:100%}

    .header-container{width:min(1440px,calc(100% - 64px));height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between}
    header{position:relative;z-index:1000;width:100%;height:82px;background:rgba(255,255,255,.96);border-bottom:1px solid #e5e7eb}
    .logo a{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800}
    .gnb ul{display:flex;align-items:center;gap:34px;margin:0;padding:0;list-style:none}
    .gnb a{display:inline-flex;align-items:center;height:82px;color:#1f2937;font-size:15px;font-weight:600}
    .gnb .admin-btn{height:38px;padding:0 17px;border-radius:20px;color:#fff;background:#111827}
    .gnb .groupware-btn{height:38px;padding:0 17px;border-radius:20px;color:#fff;background:#0879d1;border:1px solid #0879d1;font-size:13px;font-weight:700;transition:.25s;}
    .gnb .groupware-btn:hover{color:#06101d;background:#67c5ff;border-color:#67c5ff;transform:translateY(-2px);}

    .content-wrapper{min-height:calc(100vh - 300px)}
    .inner-wrap{width:min(1240px,calc(100% - 48px));margin:auto;padding:100px 0}

    footer{background:#080d16;color:#9ca3af;padding:65px 0 35px}
    .footer-container{width:min(1240px,calc(100% - 48px));margin:auto}
    .footer-links{display:flex;align-items:center;margin-left:auto;}
    .footer-links a{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;color:#d7efff;border:1px solid rgba(103,197,255,.45);border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;transition:.25s;}
    .footer-links a:hover{color:#fff;background:rgba(8,121,209,.25);border-color:#67c5ff;}

    /* HERO */
    .rt-hero{position:relative;min-height:calc(100vh - 82px);overflow:hidden;display:flex;align-items:center;color:#fff;background:
    radial-gradient(circle at 78% 28%,rgba(0,145,255,.22),transparent 28%),
    radial-gradient(circle at 20% 80%,rgba(0,93,170,.18),transparent 30%),
    linear-gradient(120deg,#050b14 0%,#0b1727 52%,#06101d 100%)}

    .rt-hero::before{content:"";position:absolute;inset:0;background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:70px 70px}

    .rt-hero-inner{position:relative;z-index:2;width:min(1240px,calc(100% - 48px));margin:auto;padding:110px 0 120px}
    .rt-kicker{display:inline-flex;gap:12px;margin-bottom:26px;color:#72c7ff;font-size:13px;font-weight:700;letter-spacing:2.5px}
    .rt-kicker::before{content:"";width:42px;height:1px;background:#43b8ff}
    .rt-hero h1{margin:0;max-width:900px;font-size:clamp(52px,7vw,104px);line-height:.98;letter-spacing:-5px;font-weight:800}
    .rt-hero h1 span{display:block;color:#67c5ff}
    .rt-hero-copy{max-width:650px;margin:35px 0 0;color:rgba(255,255,255,.72);font-size:18px;line-height:1.9}
    .rt-hero-actions{display:flex;gap:14px;margin-top:42px}
    .rt-btn{display:inline-flex;align-items:center;justify-content:center;min-width:150px;height:52px;padding:0 24px;border-radius:4px;font-size:14px;font-weight:700;transition:.25s}
    .rt-btn-primary{color:#06101d;background:#fff}
    .rt-btn-outline{color:#fff;border:1px solid rgba(255,255,255,.35)}
    .rt-hero-meta{display:flex;gap:50px;margin-top:90px}
    .rt-meta-item strong{display:block;color:#fff;font-size:27px}
    .rt-meta-item span{color:rgba(255,255,255,.48);font-size:12px;letter-spacing:1px}

    /* SECTION */
    .rt-section{padding:125px 0}
    .rt-section-dark{color:#fff;background:#08111d}
    .rt-section-soft{background:#f5f8fb}
    .rt-section-head{width:min(1240px,calc(100% - 48px));margin:0 auto 58px}
    .rt-eyebrow{margin-bottom:12px;color:#0879d1;font-size:12px;font-weight:800;letter-spacing:2.5px}
    .rt-section-head h2{margin:0;font-size:clamp(34px,4vw,58px);line-height:1.1;letter-spacing:-2.5px}
    .rt-section-head p{max-width:720px;margin:22px 0 0;color:#6b7280;font-size:16px}

    /* BUSINESS */
    .rt-business-grid{width:min(1240px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}
    .rt-business-card{min-height:330px;padding:38px 30px;border:1px solid #dfe6ee;background:#fff;transition:.3s}
    .rt-business-card:hover{transform:translateY(-8px);border-color:#67c5ff;box-shadow:0 24px 60px rgba(8,43,75,.1)}
    .rt-business-no{color:#0879d1;font-size:13px;font-weight:800;letter-spacing:2px}
    .rt-business-card h3{margin:65px 0 18px;font-size:22px;letter-spacing:-1px}
    .rt-business-card p{margin:0;color:#6b7280;font-size:14px;line-height:1.8}

    /* VISION */
    .rt-vision{width:min(1240px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
    .rt-vision-quote{font-size:clamp(32px,4vw,58px);line-height:1.18;letter-spacing:-2.5px}
    .rt-vision-quote span{color:#5fc2ff}
    .rt-vision-copy{color:rgba(255,255,255,.62);font-size:17px;line-height:2}
    .rt-values{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid rgba(255,255,255,.14)}
    .rt-value{padding:28px 20px 0 0;border-right:1px solid rgba(255,255,255,.12)}
    .rt-value strong{display:block;color:#fff;font-size:16px}
    .rt-value span{display:block;margin-top:7px;color:rgba(255,255,255,.42);font-size:12px}

    /* HISTORY */
    .rt-history{width:min(1240px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:280px 1fr;gap:70px}
    .rt-history-year{font-size:82px;line-height:.9;color:#dcebf5;font-weight:800;letter-spacing:-5px}
    .rt-history-list{border-top:1px solid #dce2e8}
    .rt-history-item{display:grid;grid-template-columns:100px 1fr;padding:24px 0;border-bottom:1px solid #e7ebef}
    .rt-history-item strong{color:#0879d1}
    .rt-history-item span{color:#374151}

    /* SOLUTION */
    .rt-solution-grid{width:min(1240px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .rt-solution-card{position:relative;min-height:390px;overflow:hidden;padding:34px;color:#fff;background:
    radial-gradient(circle at 80% 20%,rgba(82,192,255,.3),transparent 30%),
    linear-gradient(145deg,#0d2134,#06101d)}
    .rt-solution-card h3{margin-top:180px;font-size:25px}
    .rt-solution-card p{color:rgba(255,255,255,.58);font-size:14px}

    /* CONTACT */
    .rt-contact{width:min(1240px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
    .rt-contact h2{margin:0;font-size:clamp(34px,4vw,58px);letter-spacing:-2.5px}

    @media(max-width:1050px){
    .gnb ul{gap:16px}
    .rt-business-grid{grid-template-columns:repeat(2,1fr)}
    .rt-vision{grid-template-columns:1fr;gap:45px}
    .rt-values{grid-template-columns:repeat(2,1fr)}
    .rt-history{grid-template-columns:1fr;gap:30px}
    .rt-solution-grid{grid-template-columns:1fr}
    }
    @media(max-width:760px){
    .header-container{width:calc(100% - 30px);height:68px}
    header{height:68px}
    .gnb ul{display:none}
    .rt-hero{min-height:calc(100vh - 68px)}
    .rt-hero-inner{width:calc(100% - 34px);padding:80px 0}
    .rt-hero h1{font-size:clamp(48px,14vw,74px);letter-spacing:-3px}
    .rt-hero-copy{font-size:15px}
    .rt-hero-meta{gap:25px;flex-wrap:wrap;margin-top:60px}
    .rt-section{padding:85px 0}
    .rt-section-head,.rt-business-grid,.rt-vision,.rt-history,.rt-solution-grid,.rt-contact{width:calc(100% - 34px)}
    .rt-business-grid{grid-template-columns:1fr}
    .rt-values{grid-template-columns:1fr 1fr}
    .rt-contact{display:block}
    }

/* =========================================================
   MAIN BANNER
   ========================================================= */

.rt-banner{
    position:relative;
    width:100%;
    height:620px;
    overflow:hidden;
    background:#07111f;
}

.rt-banner-slider{
    position:relative;
    width:100%;
    height:100%;
}

.rt-banner-item{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .6s ease;
}

.rt-banner-item.active{
    opacity:1;
    visibility:visible;
}

.rt-banner-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

.rt-banner-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    background:
        linear-gradient(
            90deg,
            rgba(5,11,20,.78) 0%,
            rgba(5,11,20,.38) 45%,
            rgba(5,11,20,.05) 100%
        );
}

.rt-banner-content{
    width:min(1240px,calc(100% - 48px));
    margin:0 auto;
    color:#fff;
}

.rt-banner-kicker{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:22px;
    color:#72c7ff;
    font-size:13px;
    font-weight:700;
    letter-spacing:2.5px;
}

.rt-banner-kicker::before{
    content:"";
    width:42px;
    height:1px;
    background:#43b8ff;
}

.rt-banner-content h1{
    margin:0;
    max-width:800px;
    color:#fff;
    font-size:clamp(42px,6vw,82px);
    line-height:1.05;
    letter-spacing:-3px;
    font-weight:800;
}

.rt-banner-prev,
.rt-banner-next{
    position:absolute;
    top:50%;
    z-index:5;
    width:52px;
    height:52px;
    margin-top:-26px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    color:#fff;
    background:rgba(0,0,0,.18);
    font-size:36px;
    line-height:1;
    cursor:pointer;
    transition:.25s;
}

.rt-banner-prev:hover,
.rt-banner-next:hover{
    background:rgba(0,0,0,.45);
    border-color:rgba(255,255,255,.7);
}

.rt-banner-prev{
    left:28px;
}

.rt-banner-next{
    right:28px;
}

.rt-banner-indicator{
    position:absolute;
    left:50%;
    bottom:28px;
    z-index:5;
    display:flex;
    gap:8px;
    transform:translateX(-50%);
}

.rt-banner-dot{
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.45);
    cursor:pointer;
    transition:.25s;
}

.rt-banner-dot.active{
    width:28px;
    border-radius:4px;
    background:#fff;
}


/* =========================================================
   MAIN BANNER - TABLET / MOBILE
   ========================================================= */

@media(max-width:760px){

    .rt-banner{
        height:520px;
        min-height:420px;
    }

    .rt-banner-content{
        width:calc(100% - 34px);
    }

    .rt-banner-content h1{
        font-size:clamp(36px,11vw,58px);
        letter-spacing:-2px;
    }

    .rt-banner-kicker{
        font-size:11px;
        letter-spacing:2px;
    }

    .rt-banner-prev,
    .rt-banner-next{
        width:42px;
        height:42px;
        margin-top:-21px;
        font-size:28px;
    }

    .rt-banner-prev{
        left:14px;
    }

    .rt-banner-next{
        right:14px;
    }

    .rt-banner-indicator{
        bottom:20px;
    }

}
