/* [Global Reset & Base] */
* { margin:0; padding:0; box-sizing:border-box; -webkit-font-smoothing:antialiased; } 
body { font-family:'Pretendard', sans-serif; color:#111; line-height:1.6; word-break:keep-all; overflow-x:hidden; background:#fff; } 
ul, li { list-style:none; } 
a { text-decoration:none; color:inherit; cursor:pointer; } 
button { border:none; background:none; cursor:pointer; font-family:inherit; } 
img { max-width:100%; vertical-align:middle; } 
.section { padding:100px 0; } 
.inner_box { max-width:1280px; margin:0 auto; padding:0 20px; } 
.pc_br { display: block; } 
.mt30 { margin-top: 30px !important; } 
.mt50 { margin-top: 50px !important; } 
.ml30 { margin-left: 30px !important; } 

/* [Header & Nav] */
.header_wrap { position:fixed; top:0; left:0; width:100%; height:90px; z-index:1000; transition:all 0.4s ease; border-bottom:1px solid rgba(255,255,255,0.1); } 
.header_wrap.scrolled { background:rgba(10,26,51,0.95); height:70px; backdrop-filter:blur(15px); border-bottom:1px solid rgba(0,212,255,0.2); } 
.header_inner { display:flex; justify-content:space-between; align-items:center; height:100%; max-width:1280px; margin:0 auto; padding:0 20px; } 
.logo_area a { display: flex; align-items: center; } 
.logo_img { height: 54px; width: auto; transition: 0.3s; } 
.header_wrap.scrolled .logo_img { height: 44px; } 
.btn_menu { display:flex; flex-direction:column; gap:6px; width:30px; } 
.btn_menu span { display:block; width:100%; height:2px; background:#fff; transition:0.3s; } 
.nav_overlay { position:fixed; top:0; right:-100%; width:50%; height:100%; background:#001a33; z-index:2000; transition:0.6s cubic-bezier(0.77,0,0.175,1); display:flex; align-items:center; justify-content:center; box-shadow: -10px 0 30px rgba(0,0,0,0.3); } 
.nav_overlay.active { right:0; } 
.nav_overlay .btn_close { position:absolute; top:35px; right:40px; color:#fff; font-size:45px; } 
.menu_list { text-align:center; } 
.menu_list li { margin:25px 0; } 
.menu_list a { font-size:40px; font-weight:800; color:#fff; transition:0.3s; } 
.menu_list a:hover { color:#EAF370; } 

/* [Header 언어선택] */
.util_area { display: flex; align-items: center; gap: 25px; } 
.lang_dropdown { position: relative; } 
.btn_current_lang { font-size: 17px; font-weight: 600; color: #fff; display: flex; align-items: center; gap: 6px; padding: 5px; transition: color 0.3s; } 
.btn_current_lang:hover { color: #EAF370; } 
.btn_current_lang .arrow { display: block; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid #fff; transition: transform 0.3s; } 
.lang_dropdown.active .btn_current_lang .arrow { transform: rotate(180deg); border-top-color: #EAF370; } 
.lang_list { position: absolute; top: 35px; left: 50%; transform: translateX(-50%) translateY(-10px); background: rgba(10, 26, 51, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; padding: 10px 0; min-width: 100px; text-align: center; opacity: 0; visibility: hidden; transition: all 0.3s ease; box-shadow: 0 5px 15px rgba(0,0,0,0.2); } 
.lang_dropdown.active .lang_list { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); } 
.lang_list li { margin: 0; } 
.lang_list a { display: block; padding: 8px 15px; font-size: 14px; color: #fff; font-weight: 400; transition: 0.2s; white-space: nowrap; } 
.lang_list a:hover { background: rgba(255,255,255,0.1); color: #EAF370; } 

/* [Main Layout Components] */
.title_group { text-align:center; margin-bottom:80px; line-height: 1.2; } 
.title_group h3 { font-size:60px; font-weight:700; color:#001a33; margin-bottom:25px; letter-spacing:-1.5px; } 
.title_group p { font-size:20px; color:#5c6b80; margin:0 auto; font-weight:400; line-height: 1.6; } 

/* [Hero Slider - Main Only] */
.main_hero { position:relative; width: 100%; height: auto; background:#000; overflow:hidden; } 
/* PC 기본 비율 (16:9) */
.hero_slider { position:relative; width: 100%; aspect-ratio: 16 / 9; min-height: 500px; } 

.slide_item { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; z-index: 1; transition: opacity 1.5s ease-in-out; background-size: cover; background-position: center; background-repeat: no-repeat; display:flex; align-items:center; justify-content:center; } 
.slide_item.active { opacity:1; z-index: 3; } 
.slide_item::after { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:radial-gradient(circle, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 100%); z-index:1; } 

.hero_content { position:relative; z-index:10; color:#fff; text-align:center; max-width:1100px; padding:0 40px; width: 100%; word-break: keep-all; } 
.hero_content .sub_tag { display:inline-block; font-size:32px; font-weight:500; color:#EAF370; padding:6px 20px; border-radius:30px; margin-bottom:25px; text-transform:uppercase; letter-spacing:2px; } 
.hero_content h2 { font-size: clamp(34px, 5vw, 86px); font-weight:600; line-height:1.1; margin-bottom:30px; letter-spacing:-2px; } 
.hero_content h2 span { display: block; font-size: 64px; opacity:0.8; } 
.hero_content p { font-size: clamp(16px, 2vw, 22px); opacity:0.9; font-weight:300; line-height:1.6; } 

.slider_dots { position:absolute; bottom:60px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:20; } 
.dot_item { width:10px; height:10px; background:rgba(255,255,255,0.3); border-radius:50%; cursor:pointer; transition:0.3s; } 
.dot_item.active { background:#ffffff; width:30px; border-radius:10px; } 

/* [Advantage Section - Main Only] */
.advantage_section { padding:160px 0; background:#ffffff; } 
.adv_grid_wrap { display:flex; flex-direction:column; gap:25px; } 
.adv_row { display:flex; gap:25px; transition:all 0.5s ease; } 
.adv_row:hover .adv_card { flex:1; } 
.adv_card { flex:1; padding:60px 40px; border-radius:35px; transition:all 0.5s cubic-bezier(0.4, 0, 0.2, 1); display:flex; flex-direction:column; position:relative; overflow:hidden; } 
.adv_card:hover { flex:1.5 !important; box-shadow:0 40px 80px rgba(0,212,255,0.15); } 
.adv_card.type_fill { background:#DDEEFF; } 
.adv_card.type_line { border: 1px solid transparent; border-radius: 35px; background-image: linear-gradient(#fff, #fff), linear-gradient(135deg, #4D8EDA, #1BAA8E); background-origin: border-box; background-clip: content-box, border-box; padding: 1px; display: inline-block; } 
.adv_card_in { padding:40px 30px; } 
.adv_card.type_long { flex:2; min-height: 288px; flex-direction:column; align-items:flex-start; justify-content: flex-start; text-align: left; background:#DDEEFF; color:#001a33; border-radius: 35px; } 
.adv_card.type_long:hover { flex:2.5 !important; } 
.adv_card .icon_area { width:64px; height:64px; border-radius:22px; display:flex; align-items:center; justify-content:center; margin-bottom:35px; } 
.adv_card.type_long .icon_area { margin-bottom: 35px; background:rgba(255,255,255,1); border-radius: 22px; } 
.adv_card.type_fill .icon_area { background:rgba(255,255,255,1); color:#00C3D0; border-radius: 22px; } 
.adv_card.type_fill .icon_area img { width: 32px; height: 32px; } 
.adv_card.type_line .icon_area { background:linear-gradient(180deg, #4D8EDA 0%, #1BAA8E 100%); border-radius: 22px; } 
.adv_card h4 { font-size:24px; font-weight:800; margin-bottom:20px; } 
.adv_card p { font-size:16px; opacity:0.8; } 

/* [Services Section - Main Only] */
.main_services { padding:160px 0 120px; background:linear-gradient(135deg, #ECFEFF 0%, #FAF5FF 100%); } 
.service_row { display:flex; align-items:center; gap:80px; margin-bottom:100px; } 
.service_row.reverse { flex-direction:row-reverse; } 
.service_row.row_layout { width: 100%; flex-direction: column; align-items:flex-start; text-align: left; gap: 40px; } 
.service_row .img_area { flex:1; border-radius:40px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,0.1); } 
.service_row .img_area img { width:100%; transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1); border-radius: 40px; display: block; } 
.service_row:hover .img_area img { transform: scale(1.08); } 
.service_row .text_area { flex:1; } 
.service_row .cat_label { display:inline-block; border-radius: 50px; padding:4px 10px; background-color:#D9F1F5; font-size:13px; font-weight:400; color:#00A3BF; margin-bottom:15px; letter-spacing:1px; text-transform:uppercase; } 
.service_row h4 { font-size:42px; font-weight:800; margin-bottom:25px; color:#001a33; } 
.service_row p { font-size:19px; color:#5c6b80; line-height:1.7; } 

/* [CTA Section - Main Only] */
.cta_section { padding:20px 0 0; text-align:center; } 
.btn_full_services { display:inline-block; padding:25px 80px; background:#5C8FE3; color:#ffffff; font-weight:700; font-size:22px; border-radius:100px; transition:0.3s; box-shadow:0 15px 40px rgba(92,143,227,0.3); } 
.btn_full_services:hover { background: #4a7bc7; transform: translateY(-5px); box-shadow: 0 20px 50px rgba(92,143,227,0.5); } 

/* [Footer - Common] */
.md_footer { padding: 40px 40px 18px; width: 100%; position: relative; box-sizing: border-box; overflow: hidden; background-color: #1f2730; color: #A5A9AC; } 
.md_footer .wrap { max-width:1280px; margin:0 auto; padding:0 20px; font-size: 14px; } 
.md_footer .ft_menu_list { display: flex; width: 100%; margin: 30px 0; } 
.md_footer .ft_menu_list > li { padding-right: 40px; } 
.md_footer .ft_menu_list a { color: #F0F0F0; font-size: 14px; } 
.md_footer .ft_menu_list a:hover { text-decoration: underline; } 
.md_footer .contact { display: flex; margin: 40px 0px 20px; } 
.md_footer .contact > li { padding-right: 70px; } 
.md_footer .contact h4 { font-size:16px; color:#fff; margin-bottom:10px; } 
.md_footer .copyright { margin-top:30px; font-size:12px; opacity:0.6; } 

/* [Media Queries - Main & Global] */
@media (max-width: 1279px){
 .inner_box { padding: 0 20px; } 
 }

@media (max-width: 1023px){
 .pc_br { display: none !important; } 
 .header_wrap { height: 70px; } 
 .nav_overlay { width: 100%; } 
 
 .hero_content h2 { font-size: 54px; } 
 .hero_content h2 span { font-size: 48px; } 
 .hero_content .sub_tag { font-size: 24px; } 
 
 .advantage_section { padding: 80px 0; } 
 
 /* Advantage Grid (태블릿) */
 .adv_grid_wrap { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; } 
 .adv_row { display: contents; } 
 .adv_card { flex: none !important; padding: 40px 30px; width: 100%; border-radius: 35px; } 
 .adv_card.type_long { grid-column: span 2; border-radius: 35px; } 
 
 .main_services { padding: 80px 0; } 
 .service_row { gap: 40px; margin-bottom: 80px; } 
 .service_row h4 { font-size: 32px; } 
 
 .md_footer .ft_menu_list { flex-direction: column; gap:10px; margin: 0; } 
 .md_footer .contact { flex-direction: column; gap: 30px; } 
 }

@media (max-width: 767px) {
 .title_group h3 { font-size: 40px; } 
 .main_hero, .hero_slider { height: auto !important; min-height: 280px !important; overflow: hidden; } 
 .slide_item { position: absolute !important; top: 0; left: 0; width: 100%; height: 100% !important; display: flex !important; align-items: center; justify-content: center; opacity: 0; } 
 .slide_item.active { opacity: 1 !important; } 
 .hero_content { width: 100%; padding: 40px 20px 0; text-shadow: 0 2px 10px rgba(0,0,0,0.7); box-sizing: border-box; } 
 .hero_content .sub_tag { font-size: 14px !important; margin-bottom: 10px !important; padding: 4px 12px !important; letter-spacing: 0.5px !important; } 
 .hero_content h2 { font-size: clamp(28px, 7vw, 34px) !important; line-height: 1.2 !important; margin-bottom: 15px !important;letter-spacing: -0.5px !important; } 
 .hero_content h2 span { font-size: 16px !important; margin-top: 5px; display: block; letter-spacing: 0px !important; font-weight: 400; opacity: 0.9; } 
 .hero_content p { display: block !important; font-size: 15px !important; line-height: 1.4 !important; max-width: 100%; margin: 0 auto; word-break: keep-all; opacity: 0.9 !important; } 
 .slider_dots { display: none; } 
 .pc_br { display: none !important; } 

 /* [Advantage Section] */
 .adv_grid_wrap { grid-template-columns: 1fr; display: flex; flex-direction: column; gap: 20px; } 
 .adv_row { display: flex; flex-direction: column; gap: 20px; } 
 .adv_card { width: 100% !important; margin-bottom: 0; flex:none !important; } 
 .adv_card.type_long { grid-column: span 1; } 

 /* [Service Section ] */
 .service_row { flex-direction: column !important; text-align: center; gap: 30px !important; margin-bottom: 60px !important; } 
 .service_row.reverse { flex-direction: column !important; } 
 .service_row.row_layout { flex-direction: column !important; align-items: center; text-align: center; } 
 .service_row .img_area { width: 100%; max-width: 100%; } 
 .service_row .text_area { width: 100%; } 
 .service_row .img_area img { width: 100%; height: auto; min-height: 250px; object-fit: cover; }
 .btn_full_services { padding: 20px 50px; font-size: 18px; border-radius: 100px; } 
 
 /* 네비게이션 및 기타 */
 .nav_overlay { width:80%; padding: 20px 0; } 
 .menu_list a { font-size:32px; line-height: 1.4; } 
 .util_area { gap: 15px; } 
 .btn_current_lang { font-size: 13px; } 
 .lang_list { min-width: 80px; } 
 .lang_list a { font-size: 13px; padding: 8px 10px; } 
 }

@media (max-width: 414px){
 .slide_item { background-size: 100% 100%; } 
 }