@charset "utf-8";

/* =========================== 메인 공통 좌우 여백
   섹션마다 흩어져 있던 좌우 패딩을 한 곳에서 제어한다.
   기본 20%. 다만 중형 화면에서 20%를 그대로 두면 본문 폭이 과하게 좁아져 카드가 뭉개지므로 단계적으로 줄인다. */
:root{--page-pad:20%}
@media(max-width:1400px){:root{--page-pad:8%}}
@media(max-width:768px){:root{--page-pad:20px}}

/* =========================== 헤더 (메인 전용)
   서브페이지는 fragments/app-header.html + sh_common.css의 #sh_hd/#shGnb(투명 오버레이)를 계속 사용한다. */
#siteHeader{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eef1f5;font-family:'Pretendard','Noto Sans KR',sans-serif}
#siteHeader .hd_inner{display:flex;align-items:center;gap:32px;height:76px;padding:0 40px;max-width:1920px;margin:0 auto}
#siteHeader .hd_logo{flex:none}
#siteHeader .hd_logo img{width:150px;height:auto;object-fit:contain;display:block}

/* GNB */
#siteHeader .hd_nav{display:flex;align-items:center;gap:34px;margin:0 auto}
#siteHeader .hd_nav_item{position:relative}
#siteHeader .hd_nav_link{display:inline-flex;align-items:center;gap:5px;height:76px;font-size:16px;font-weight:600;color:#0b1324;white-space:nowrap;transition:color .2s ease}
#siteHeader .hd_nav_item:hover .hd_nav_link,#siteHeader .hd_nav_item:focus-within .hd_nav_link{color:#123a63}
#siteHeader .hd_caret{flex:none;color:#8a94a6;transition:transform .2s ease}
#siteHeader .hd_nav_item:hover .hd_caret,#siteHeader .hd_nav_item:focus-within .hd_caret{transform:rotate(180deg)}
#siteHeader .hd_sub{display:none;position:absolute;top:100%;left:-24px;min-width:200px;padding:12px 0;background:#fff;border:1px solid #eef1f5;box-shadow:0 18px 40px rgba(3,9,20,.12)}
#siteHeader .hd_nav_item:hover .hd_sub,#siteHeader .hd_nav_item:focus-within .hd_sub{display:block}
#siteHeader .hd_sub a{display:block;padding:11px 24px;font-size:15px;color:#4a5568;white-space:nowrap;transition:background .2s ease,color .2s ease}
#siteHeader .hd_sub a:hover{background:#f4f7fb;color:#123a63}

/* 우측 아이콘 */
#siteHeader .hd_util{display:flex;align-items:center;gap:6px;margin-left:auto;flex:none}
#siteHeader .hd_ic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;background:none;color:#0b1324;cursor:pointer;transition:background .2s ease,color .2s ease}
#siteHeader .hd_ic:hover{background:#f1f4f9;color:#123a63}
#siteHeader .hd_badge{position:absolute;top:3px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#1a7fe0;font-size:11px;font-weight:700;line-height:18px;color:#fff;text-align:center}
#siteHeader .hd_badge[hidden]{display:none}

/* 전체 메뉴 드로어 */
#siteHeader .hd_drawer{position:fixed;inset:0;z-index:1500;visibility:hidden;pointer-events:none}
#siteHeader .hd_drawer.is-open{visibility:visible;pointer-events:auto}
#siteHeader .hd_drawer_bg{position:absolute;inset:0;background:rgba(3,9,20,.5);opacity:0;transition:opacity .25s ease}
#siteHeader .hd_drawer.is-open .hd_drawer_bg{opacity:1}
#siteHeader .hd_drawer_panel{position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(400px,88vw);height:100%;background:#fff;box-shadow:-20px 0 50px rgba(3,9,20,.18);transform:translateX(100%);transition:transform .28s ease}
#siteHeader .hd_drawer.is-open .hd_drawer_panel{transform:translateX(0)}
#siteHeader .hd_drawer_top{display:flex;align-items:center;justify-content:space-between;flex:none;padding:22px 24px;border-bottom:1px solid #eef1f5;font-size:16px;font-weight:700;color:#0b1324}
#siteHeader .hd_drawer_close{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:#0b1324;cursor:pointer}
#siteHeader .hd_drawer_close:hover{background:#f1f4f9}
#siteHeader .hd_drawer_body{flex:1;overflow-y:auto;padding:8px 24px 24px}
#siteHeader .hd_drawer_group{padding:20px 0;border-bottom:1px solid #f2f4f8}
#siteHeader .hd_drawer_group:last-child{border-bottom:0}
#siteHeader .hd_drawer_d1{display:block;margin-bottom:12px;font-size:16px;font-weight:700;color:#0b1324}
#siteHeader .hd_drawer_d2{display:flex;flex-wrap:wrap;gap:10px 20px}
#siteHeader .hd_drawer_d2 a{font-size:14px;color:#6c7488;transition:color .2s ease}
#siteHeader .hd_drawer_d2 a:hover{color:#123a63}
#siteHeader .hd_drawer_foot{display:flex;align-items:center;gap:10px;flex:none;padding:18px 24px;border-top:1px solid #eef1f5}
#siteHeader .hd_drawer_btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:13px 16px;border-radius:8px;background:#123a63;font-size:14px;font-weight:600;color:#fff;transition:background .2s ease}
#siteHeader .hd_drawer_btn:hover{background:#0d2c4d}
#siteHeader .hd_drawer_eng{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:13px 18px;border:1px solid #d9dfe8;border-radius:8px;font-size:14px;font-weight:600;color:#3d4756;transition:border-color .2s ease,color .2s ease}
#siteHeader .hd_drawer_eng:hover{border-color:#123a63;color:#123a63}
body.drawer-open{overflow:hidden}

@media(max-width:1280px){
#siteHeader .hd_inner{gap:20px;padding:0 24px}
#siteHeader .hd_nav{gap:22px}
#siteHeader .hd_nav_link{font-size:15px}
}
@media(max-width:991px){
#siteHeader .hd_inner{height:60px;padding:0 20px;gap:12px}
#siteHeader .hd_logo img{width:126px}
#siteHeader .hd_nav{display:none}
#siteHeader .hd_util{gap:2px}
#siteHeader .hd_ic{width:40px;height:40px}
}

/* =========================== MAIN */
#mainVisual{overflow:visible;position:relative;letter-spacing:-.2px;width:100%;height:620px;min-height:520px;background:#222}
#mainVisual .main_slide{height:100%;overflow:hidden}
#mainVisual ul li{background-size: cover;background-position: center;background-blend-mode: darken;}
#mainVisual ul li img{object-fit: cover}
.main a.main_eng_btn {color: #fff;!important;margin-right: 30px;}
.sh_nav .fa-magnifying-glass {color: #fff;font-size: 1.2rem;}
.sh_nav_ic {display: flex; align-items: center;}
/* 텍스트 (배너 중앙 정렬 / 아래 검색바 자리만큼 비워둠) */
#mainVisual .main_txt{position:absolute;inset:0;z-index:5;display:flex;flex-flow:column;align-items:center;justify-content:center;width:auto;padding:0 5% 210px;text-align:center;font-size:18px;line-height:1.5;color: rgb(255 255 255 / 81%);font-family:'Poppins','Pretendard';transform:none}
#mainVisual .main_txt .stit{display:block;font-size:16px;font-weight:500;color:var(--primary)}
#mainVisual .main_txt .btit{margin:0 0 14px;font-size:52px;font-weight:700;color:#fff;line-height:1.25;white-space:pre-line}

/* 컨트롤 */
#mainVisual .controls{display:flex;flex-flow:column;align-items:center;width:max-content;margin-top:0; position: absolute;z-index:6; top: auto; bottom: 36px; left: 50%; transform: translateX(-50%);}
#mainVisual .controls div{display:flex;align-items:center;margin-bottom:0}
#mainVisual .controls .arr{cursor:pointer;padding-bottom:4px}
#mainVisual .controls .pager{width:75px;margin:0 35px; font-size:0}
#mainVisual .controls .pager span{position:relative;font-size:14px;font-weight:600;color:#fff}
#mainVisual .controls .pager span+span{opacity:.5;margin-left:20px;padding-left:20px}
#mainVisual .controls .pager span:before{content:"0"}
#mainVisual .controls .pager span+span:after{display:block;;content:"";position:absolute;left:0;top:4px;width:1px;height:12px;background:rgba(255,255,255,.4)}
#mainVisual .main_timeline{width:100%;height:auto;margin-right:12px}
#mainVisual .main_timeline span{display:none;position:relative;width:100%;height:2px;border-radius:0;background:#fff;opacity:1}
#mainVisual .main_timeline span.on{display:block}
#mainVisual .main_timeline span:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%}
#mainVisual .main_timeline span.on:before{background:var(--primary);animation:progressbar 4s linear}
@keyframes progressbar{0%{width:0}to{width:100%}}

@media(max-width:1310px){
#mainVisual .main_txt{font-size:16px}
#mainVisual .main_txt .btit{font-size:44px}
.main_eng_btn{color: #000;font-weight: 600;}
}
@media(max-width:1024px){
#mainVisual{height:560px;min-height:0}
#mainVisual .main_txt{padding-bottom:190px}
}
@media(max-width:768px){
#mainVisual{height:520px;min-height:0}
#mainVisual .main_txt{width:100%;padding:0 24px 175px;word-break:keep-all}
#mainVisual .main_txt .stit{font-size:14px}
#mainVisual .main_txt .btit{margin:0 0 12px;font-size:32px}
#mainVisual .controls{bottom:24px}
#mainVisual .controls .pager span{font-size:13px}
}
@media(max-width:480px){
#mainVisual{height:480px}
#mainVisual .main_txt{padding:0 20px 160px}
#mainVisual .main_txt .btit{white-space:normal;word-break:keep-all;font-size:26px}
}

/* =========================== 메인 검색 (배너 중앙 + 드롭다운) */
.hero-search{position:absolute;left:50%;top:50%;transform:translateX(-50%);margin-top:6px;z-index:1200;width:min(760px,90%);font-family:'Pretendard','Noto Sans KR',sans-serif}
.hero-search__backdrop{position:fixed;inset:0;z-index:-1;opacity:0;pointer-events:none;background:rgba(3,9,20,.45);transition:opacity .25s ease}
.hero-search.is-open .hero-search__backdrop{opacity:1;pointer-events:auto}
.hero-search__form{position:relative;margin:0}

.hero-search__bar{display:flex;align-items:center;gap:14px;height:64px;padding:0 10px 0 24px;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(3,9,20,.28);cursor:text;transition:border-radius .2s ease,box-shadow .2s ease}
.hero-search.is-open .hero-search__bar{border-radius:16px 16px 0 0;box-shadow:0 18px 45px rgba(3,9,20,.28)}
.hero-search__icon{flex:none;color:#8a94a6}
.hero-search__input{flex:1;min-width:0;height:100%;border:0;background:transparent;font-size:17px;color:#0b1324;padding:0}
.hero-search__input::placeholder{color:#9aa3b2}
.hero-search__input:focus{outline:none}
.hero-search__submit{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:10px;background:#123a63;color:#fff;cursor:pointer;transition:background .2s ease}
.hero-search__submit:hover{background:#0d2c4d}

.hero-search__dropdown{display:none;position:absolute;left:0;right:0;top:100%;max-height:min(72vh,620px);overflow-y:auto;border-radius:0 0 16px 16px;background:#fff;box-shadow:0 30px 60px rgba(3,9,20,.3);text-align:left;border-top:1px solid #edf0f5}
.hero-search.is-open .hero-search__dropdown{display:block}
.hero-search__block{padding:22px 26px 0}
.hero-search__block+.hero-search__block{padding-top:26px}
.hero-search__label{margin:0 0 12px;font-size:13px;font-weight:500;color:#8a94a6}
.hero-search__keywords{display:flex;flex-wrap:wrap;gap:8px}
.hero-keyword{padding:8px 14px;border:1px solid #e3e8f2;border-radius:999px;background:#fff;font-size:14px;color:#4a5568;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.hero-keyword:hover{background:#123a63;border-color:#123a63;color:#fff}

.hero-search__cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;padding-bottom:22px}
.hero-search__cats li{list-style:none}
.hero-search__cats a{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:12px;transition:background .2s ease}
.hero-search__cats a:hover{background:#f4f7fb}
.hero-cat__ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#f1f4f9;color:#123a63}
.hero-cat__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.hero-cat__txt strong{font-size:15px;font-weight:700;color:#0b1324}
.hero-cat__txt em{font-size:13px;font-style:normal;color:#8a94a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.hero-search__all{display:flex;align-items:center;gap:14px;padding:18px 26px;border-top:1px solid #edf0f5;background:#fff;font-size:16px;font-weight:700;color:#0b1324;transition:background .2s ease}
.hero-search__all:hover{background:#f4f7fb}
.hero-search__all-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#123a63;color:#fff}
.hero-search__all-arr{margin-left:auto;color:#8a94a6}

@media(max-width:768px){
.hero-search{width:calc(100% - 40px);margin-top:4px}
.hero-search__bar{height:56px;padding:0 8px 0 18px;gap:10px}
.hero-search__input{font-size:15px}
.hero-search__submit{width:40px;height:40px}
.hero-search__dropdown{max-height:60vh}
.hero-search__block{padding:18px 18px 0}
.hero-search__cats{grid-template-columns:1fr;padding-bottom:18px}
.hero-search__all{padding:16px 18px;font-size:15px}
}

/* =========================== 주요 카테고리 */
#mainCategory{padding:90px var(--page-pad,5%) 80px;background:#fff;font-family:'Pretendard','Noto Sans KR',sans-serif}
#mainCategory .tit{margin:0 0 42px;text-align:center;font-size:34px;font-weight:700;color:#0b1324;letter-spacing:-.5px}
#mainCategory ul{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:1440px;margin:0 auto;padding:0;list-style:none}
#mainCategory ul li{flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}
#mainCategory ul li a{display:flex;align-items:center;gap:18px;height:100%;padding:18px 24px;border:1px solid #e8ecf3;border-radius:14px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
#mainCategory ul li img{flex:none;width:72px;height:56px;object-fit:contain}
#mainCategory ul li span{font-size:17px;font-weight:600;color:#0b1324;word-break:keep-all}
@media(hover:hover){
#mainCategory ul li a:hover{border-color:#123a63;box-shadow:0 14px 30px rgba(3,9,20,.1);transform:translateY(-3px)}
}
@media(max-width:1200px){
#mainCategory ul li{flex-basis:calc(33.333% - 14px);max-width:calc(33.333% - 14px)}
}
@media(max-width:768px){
#mainCategory{padding:56px 20px 50px}
#mainCategory .tit{margin-bottom:28px;font-size:26px}
#mainCategory ul{gap:12px}
#mainCategory ul li{flex-basis:calc(50% - 6px);max-width:calc(50% - 6px)}
#mainCategory ul li a{gap:12px;padding:14px 16px}
#mainCategory ul li img{width:56px;height:44px}
#mainCategory ul li span{font-size:15px}
}
@media(max-width:400px){
#mainCategory ul li{flex-basis:100%;max-width:100%}
}

/* =========================== 많이 찾는 렌탈 장비 */
#mainProduct{padding:70px var(--page-pad,5%) 90px;background:#f7f8fa;font-family:'Pretendard','Noto Sans KR',sans-serif}
#mainProduct .mp_head,#mainProduct .mp_tabs,#mainProduct .mp_panels{max-width:1440px;margin:0 auto}
#mainProduct .mp_head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
#mainProduct .tit{margin:0;font-size:30px;font-weight:700;color:#0b1324;letter-spacing:-.5px}
#mainProduct .more{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:14px;font-weight:500;color:#6c7488;transition:color .2s ease}
#mainProduct .more:hover{color:#123a63}

#mainProduct .mp_tabs{display:flex;gap:30px;border-bottom:1px solid #e4e8ef;overflow-x:auto;-webkit-overflow-scrolling:touch}
#mainProduct .mp_tabs::-webkit-scrollbar{display:none}
#mainProduct .mp_tab{flex:none;position:relative;padding:0 2px 15px;border:0;background:none;font-size:15px;font-weight:500;color:#8a94a6;white-space:nowrap;cursor:pointer;transition:color .2s ease}
#mainProduct .mp_tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#0b1324;opacity:0;transition:opacity .2s ease}
#mainProduct .mp_tab.on{color:#0b1324;font-weight:700}
#mainProduct .mp_tab.on:after{opacity:1}
광장금호베스트빌아파트
#mainProduct .mp_panel{display:none;flex-wrap:wrap;gap:24px;margin:0;padding:44px 0 0;list-style:none}
#mainProduct .mp_panel.on{display:flex}
#mainProduct .mp_panel li{flex:0 0 calc(25% - 18px);max-width:calc(25% - 18px)}
#mainProduct .mp_card{display:flex;flex-direction:column;height:100%;border:1px solid #eceded;border-radius:12px;overflow:hidden;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
#mainProduct .mp_thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:20px;background:#f1f2f4;overflow:hidden}
#mainProduct .mp_thumb em{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-style:normal;font-size:13px;color:#b4bcc9}
#mainProduct .mp_thumb img{position:relative;max-width:100%;max-height:100%;object-fit:contain}
#mainProduct .mp_body{display:flex;flex-direction:column;flex:1;padding:20px}
#mainProduct .mp_name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;font-weight:700;color:#0b1324;line-height:1.4;word-break:keep-all}
#mainProduct .mp_price_label{margin:9px 0 3px;font-size:13px;color:#8a94a6}
#mainProduct .mp_price{margin:0 0 20px;font-size:19px;font-weight:700;color:#0b1324}
#mainProduct .mp_btns{display:flex;gap:8px;margin:auto 0 0}
#mainProduct .mp_btn{flex:1;padding:10px 6px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease,border-color                                                   .2s ease,color .2s ease}
#mainProduct .mp_btn_cart{border:1px solid #d9dfe8;background:#fff;color:#4a5568}
#mainProduct .mp_btn_cart.on{border-color:#123a63;background:#123a63;color:#fff}
#mainProduct .mp_btn_inquiry{border:1px solid #dde6f3;background:#e8eef7;color:#123a63}
@media(hover:hover){
#mainProduct .mp_card:hover{border-color:#d9dfe8;box-shadow:0 14px 30px rgba(3,9,20,.08)}
#mainProduct .mp_btn_cart:hover{border-color:#123a63;color:#123a63}
#mainProduct .mp_btn_cart.on:hover{color:#fff}
#mainProduct .mp_btn_inquiry:hover{background:#123a63;border-color:#123a63;color:#fff}
}
@media(max-width:1200px){
#mainProduct .mp_panel li{flex-basis:calc(33.333% - 16px);max-width:calc(33.333% - 16px)}
}
@media(max-width:768px){
#mainProduct{padding:48px 20px 60px}
#mainProduct .mp_head{margin-bottom:20px}
#mainProduct .tit{font-size:24px}
#mainProduct .more{font-size:14px}
#mainProduct .mp_tabs{gap:20px}
#mainProduct .mp_tab{font-size:15px;padding-bottom:12px}
#mainProduct .mp_panel{gap:12px;padding-top:24px}
#mainProduct .mp_panel li{flex-basis:calc(50% - 6px);max-width:calc(50% - 6px)}
#mainProduct .mp_thumb{padding:14px}
#mainProduct .mp_body{padding:14px}
#mainProduct .mp_name{font-size:14px}
#mainProduct .mp_price{margin-bottom:14px;font-size:16px}
#mainProduct .mp_btns{flex-direction:column;gap:6px}
#mainProduct .mp_btn{font-size:13px;padding:9px 6px}
}

/* =========================== 다양한 산업이 선택한 렌탈 파트너 */
#mainPartner{padding:90px var(--page-pad,5%) 100px;background:linear-gradient(180deg,#fff 0%,#eef2f7 100%);font-family:'Pretendard','Noto Sans KR',sans-serif;text-align:center;overflow:hidden}
#mainPartner .mpt_head{margin-bottom:56px}
#mainPartner .tit{margin:0 0 12px;font-size:28px;font-weight:700;color:#0b1324;letter-spacing:-.5px}
#mainPartner .sub{margin:0;font-size:15px;color:#6c7488}

#mainPartner .mpt_stats{display:flex;justify-content:center;gap:40px;max-width:1000px;margin:0 auto;padding:0;list-style:none}
#mainPartner .mpt_stats li{flex:1 1 0;min-width:0}
#mainPartner .mpt_stats .num{margin:0 0 10px;font-size:52px;font-weight:800;line-height:1.1;color:#123a63;font-variant-numeric:tabular-nums}
#mainPartner .mpt_stats .label{margin:0;font-size:14px;color:#6c7488}

#mainPartner .mpt_clients{margin-top:80px}
#mainPartner .mpt_clients_tit{margin:0 0 28px;font-size:18px;font-weight:700;color:#0b1324}
/* 화면 전체 폭이 아니라 섹션 좌우 여백(--page-pad) 안쪽에서만 롤링한다 */
#mainPartner .mpt_marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
#mainPartner .mpt_track{display:flex;width:max-content;animation:mptMarquee 32s linear infinite}
#mainPartner .mpt_marquee:hover .mpt_track{animation-play-state:paused}
/* 간격을 flex gap이 아닌 margin으로 줘야 두 벌 복제본의 이음새가 정확히 맞는다 */
#mainPartner .mpt_logo{flex:none;display:flex;align-items:center;justify-content:center;width:200px;height:84px;margin-right:24px;padding:16px;border:1px solid #e8ecf3;border-radius:12px;background:#fff}
#mainPartner .mpt_logo img{max-width:100%;max-height:100%;object-fit:contain}
#mainPartner .mpt_logo span{display:none;font-size:16px;font-weight:700;color:#8a94a6}
#mainPartner .mpt_logo.no-img img{display:none}
#mainPartner .mpt_logo.no-img span{display:block}
@keyframes mptMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
#mainPartner .mpt_track{animation:none}
}
@media(max-width:768px){
#mainPartner{padding:56px 20px 64px}
#mainPartner .mpt_head{margin-bottom:36px}
#mainPartner .tit{font-size:22px}
#mainPartner .sub{font-size:14px;word-break:keep-all}
#mainPartner .mpt_stats{gap:12px}
#mainPartner .mpt_stats .num{font-size:32px}
#mainPartner .mpt_stats .label{font-size:12px;word-break:keep-all}
#mainPartner .mpt_clients{margin-top:52px}
#mainPartner .mpt_clients_tit{margin-bottom:20px;font-size:16px}
#mainPartner .mpt_logo{width:150px;height:68px;margin-right:14px;padding:12px}
#mainPartner .mpt_track{animation-duration:24s}
}

/* =========================== 뉴스룸 */
#newsroom{padding:100px var(--page-pad,5%);background:#fff;font-family:'Pretendard','Noto Sans KR',sans-serif}
#newsroom .nr_head,#newsroom .nr_list{max-width:1440px;margin:0 auto}
#newsroom .nr_head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}
#newsroom .tit{margin:0 0 10px;font-size:32px;font-weight:700;color:#0b1324;letter-spacing:-.5px}
#newsroom .sub{margin:0;font-size:15px;color:#6c7488;word-break:keep-all}
#newsroom .more{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:14px;font-weight:500;color:#6c7488;transition:color .2s ease}
#newsroom .more:hover{color:#123a63}

#newsroom .nr_list{display:flex;flex-wrap:wrap;gap:24px;padding:0;list-style:none}
#newsroom .nr_list li{flex:0 0 calc(33.333% - 16px);max-width:calc(33.333% - 16px)}
#newsroom .nr_list a{display:flex;flex-direction:column;height:100%;border:1px solid #eef1f5;border-radius:12px;overflow:hidden;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
#newsroom .nr_thumb{position:relative;display:block;aspect-ratio:4/3;background:#f4f5f7;overflow:hidden}
#newsroom .nr_thumb em{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-style:normal;font-size:14px;color:#b4bcc9}
#newsroom .nr_thumb img{position:relative;width:100%;height:100%;object-fit:cover}
#newsroom .nr_tit{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:22px 24px;font-size:16px;font-weight:700;line-height:1.5;color:#0b1324;word-break:keep-all}
@media(hover:hover){
#newsroom .nr_list a:hover{border-color:#d9dfe8;box-shadow:0 14px 30px rgba(3,9,20,.08);transform:translateY(-4px)}
}
@media(max-width:768px){
#newsroom{padding:56px 20px 64px}
#newsroom .nr_head{display:block;margin-bottom:24px}
#newsroom .tit{font-size:24px}
#newsroom .sub{font-size:14px}
#newsroom .more{margin-top:14px;font-size:13px}
#newsroom .nr_list{gap:14px}
#newsroom .nr_list li{flex-basis:100%;max-width:100%}
#newsroom .nr_tit{padding:16px 18px;font-size:15px}
}

/* =========================== 푸터 (메인 전용)
   서브페이지는 fragments/app-footer.html + sh_common.css의 #sh_ft(다크)를 계속 사용한다. */
#siteFooter{padding:60px var(--page-pad,5%) 40px;background:#f7f8fa;border-top:1px solid #e8ecf3;font-family:'Pretendard','Noto Sans KR',sans-serif;font-size:14px;color:#5a6473;line-height:1.7}
#siteFooter .ft_inner{max-width:1440px;margin:0 auto}
#siteFooter a{color:inherit;text-decoration:none;transition:color .2s ease}
#siteFooter a:hover{color:#123a63}

#siteFooter .ft_top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid #e4e8ef}
#siteFooter .ft_logo img{width:150px;height:auto;object-fit:contain;display:block}
#siteFooter .ft_policy{display:flex;flex-wrap:wrap;gap:34px;font-size:14px;font-weight:500;color:#3d4756}

#siteFooter .ft_mid{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding:34px 0;border-bottom:1px solid #e4e8ef}
#siteFooter .ft_info{font-style:normal}
#siteFooter .ft_info p{margin:0}
#siteFooter .ft_info p+p{margin-top:8px}
#siteFooter .ft_info span+span{margin-left:26px}
#siteFooter .ft_info a{color:#5a6473}
#siteFooter .ft_menu{display:flex;flex-wrap:wrap;gap:34px;flex:none;padding-top:2px;font-size:14px;font-weight:600;color:#0b1324}

#siteFooter .ft_bot{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:26px}
#siteFooter .ft_copy{margin:0;font-size:13px;color:#8a94a6}
#siteFooter .ft_util{display:flex;align-items:center;gap:22px}
#siteFooter .ft_sns{display:flex;align-items:center;gap:18px}
#siteFooter .ft_sns a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}
/* 기존 아이콘은 다크 푸터용이라 밝은 색이다. brightness(0)으로 알파를 유지한 채 단색화한다. */
#siteFooter .ft_sns img{width:100%;height:100%;object-fit:contain;filter:brightness(0);opacity:.72;transition:opacity .2s ease}
#siteFooter .ft_sns a:hover img{opacity:1}
#siteFooter .ft_family select{appearance:none;-webkit-appearance:none;padding:9px 38px 9px 18px;border:1px solid #d9dfe8;border-radius:999px;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a6473' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;font-size:14px;color:#3d4756;cursor:pointer;font-family:inherit}
#siteFooter .ft_family select:focus{outline:none;border-color:#123a63}

@media(max-width:1024px){
#siteFooter .ft_mid{display:block}
#siteFooter .ft_menu{margin-bottom:22px;gap:24px}
}
@media(max-width:768px){
#siteFooter{padding:40px 20px 32px;font-size:13px}
#siteFooter .ft_top{display:block;padding-bottom:20px}
#siteFooter .ft_logo img{width:126px}
#siteFooter .ft_policy{margin-top:18px;gap:18px;font-size:13px}
#siteFooter .ft_mid{padding:24px 0}
#siteFooter .ft_info span{display:block}
#siteFooter .ft_info span+span{margin-left:0;margin-top:6px}
#siteFooter .ft_menu{gap:16px;font-size:13px}
#siteFooter .ft_bot{display:block;padding-top:20px}
#siteFooter .ft_util{justify-content:space-between;margin-top:18px}
#siteFooter .ft_copy{font-size:12px}
}

/*퀵메뉴*/
.floating-wrapper{
    position:fixed;
    right:24px;
    bottom:120px;
    z-index:1000;
    display:flex;
    flex-direction:column;
    gap:12px;

}
.floating-btn{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    padding:0 20px;
    border-radius:28px;
    background:linear-gradient(135deg,#027BFF,#0052D4);
    color:#fff!important;
    font:500 15px/1.2 "Noto Sans KR",sans-serif;
    box-shadow:0 4px 10px rgba(0,0,0,.15);
    overflow:hidden;
    text-decoration:none;
    transition:width .25s ease,box-shadow .25s ease;
}
.floating-btn .icon{
    flex:none;
    font-size:24px;
}
.floating-btn .label{
    opacity:0;
    white-space:nowrap;
    margin-left:12px;
    transition:opacity .15s .1s ease;
}
.floating-btn:hover{
    width:220px;
    box-shadow:0 8px 20px rgba(0,0,0,.25);
}
.floating-btn:hover .label{
    opacity:1;
}
.material-icons {
    position: absolute;
    left: 30%;
    transition: left 0.3s ease;
}
.floating-btn:hover .material-icons {
    left: 10%;
}
.floating-btn.quote{
    background:linear-gradient(135deg,#00BCF2,#0090E7);
}
@media(max-width:768px){
    .floating-wrapper{bottom:80px;right:25px;}
    .floating-btn:hover{
        width: 44px;
        box-shadow:none;
    }
    .floating-btn span.label {
        display: none;
    }
    .floating-btn:hover .material-icons {
        left: 25%;

    }
}


