/* Hive theme CSS ported from the previous Amorata site (fonts re-pointed to /ko/assets/fonts) */
@font-face{font-family:'Noto Serif KR Lite';font-style:normal;font-weight:400;font-display:swap;src:url('/ko/assets/fonts/NotoSerifKR-Regular-ks.woff2') format('woff2')}
@font-face{font-family:'Noto Sans KR';font-style:normal;font-weight:100 900;font-display:swap;src:url('/ko/assets/fonts/NotoSansKR-ks-VF.woff2') format('woff2')}
:root{--font-eng:'Noto Serif KR Lite', 'Batang', '바탕', serif !important;--font-pret:'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif !important;}

/* ==========================================================
   Hive Design — 공통 유틸리티 CSS
   그누보드 default.css 와 분리된 전용 유틸리티
   ========================================================== */

/* 타입 스케일 */
:root {
    --t-label:   11px;
    --t-caption: 13px;
    --t-body:    16px;
    --t-lead:    18px;
    --t-sub:     24px;
    --t-heading: clamp(32px, 4vw, 52px);
    --t-display: clamp(60px, 9vw, 120px);
}

/* 기본 리셋 (default.css 공통 부분 흡수) */
html { overflow-y: scroll; }
body { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; border: 0; font-size: 1em; }
ul, ol, dl, dt, dd { margin: 0; padding: 0; list-style: none; }
p { margin: 0; padding: 0; word-break: break-all; }
a { color: inherit; text-decoration: none; }
img { vertical-align: middle; max-width: 100%; }
*, *::before, *::after { box-sizing: border-box; }

/* 공통 visibility */
.is-hidden { display: none !important; }
.is-visible { display: block !important; }
.pc-only { display: none; }
@media (min-width: 769px) { .pc-only { display: block !important; } }
.mobile-only { display: block; }
@media (min-width: 769px) { .mobile-only { display: none !important; } }

/* 접근성 — 스크린리더 전용 */
.msg_sound_only,
.sound_only { display: inline-block !important; position: absolute; top: 0; left: 0; width: 0; height: 0; margin: 0 !important; padding: 0 !important; font-size: 0; line-height: 0; border: 0 !important; overflow: hidden !important; }
#hd_login_msg { position: absolute; top: 0; left: 0; font-size: 0; line-height: 0; overflow: hidden; }
#skip_to_container a { z-index: 100000; position: absolute; top: 0; left: 0; width: 1px; height: 1px; font-size: 0; line-height: 0; overflow: hidden; }
#skip_to_container a:focus,
#skip_to_container a:active { width: 100%; height: 75px; background: #21272e; color: #fff; font-size: 2em; font-weight: bold; text-align: center; text-decoration: none; line-height: 3.3em; }

body { font-family: var(--font-pret); }
body.bg_set { background: var(--hv-bg); }
body.hv-lock { overflow: hidden; }
address { font-style: normal; }

/* 접근성 */
.sr-only {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important; border: 0 !important;
}

/* 기본 유틸 */
.over_texts { overflow: hidden; }
.t_center { text-align: center; }
.text_up { text-transform: uppercase; }
.word_keep { word-break: keep-all; }
.index_ib { display: inline-block !important; }
.index_b { font-weight: bold; }

/* clearfix — float 레이아웃 부모 높이 붕괴 방지 */
.cf::after {
    display: block;
    visibility: hidden;
    clear: both;
    content: "";
}

/* 색상 변수 기반 (--main / --main2 통일, !important 적용) */
.index_color   { color:         var(--main)  !important; }
.index_color2  { color:         var(--main2) !important; }
.index_bg      { background:    var(--main)  !important; }
.index_bg2     { background:    var(--main2) !important; }
.index_bg_line { border-color:  var(--line)  !important; }

/* 배경 고정색 */
.bg_w    { background: #fff !important; }
.bg_b    { background: #000 !important; }
.bg_main { background: var(--main)  !important; }

/* 테두리 */
.bd_main { border-color: var(--main)  !important; }
.bd_line { border-color: var(--line)  !important; }

/* 고정 색상 텍스트 */
.c_g  { color: #979593 !important; }
.c_g2 { color: #41413f !important; }
.c_by { color: #3e3838 !important; }
.c_w  { color: #fff    !important; }
.c_b  { color: #000    !important; }
.c_y  { color: #e5cc68 !important; }

/* font-weight */
.fw100 { font-weight: 100 !important; }
.fw300 { font-weight: 300 !important; }
.fw500 { font-weight: 500 !important; }
.fw900 { font-weight: 900 !important; }

/* 폰트 이징 */
.index_ls10 { letter-spacing: 10px !important; }
.index_ls20 { letter-spacing: 20px !important; }

/* ==========================================================
   높이 유틸 (h*)
   ========================================================== */
.h5   { height:   5px; }
.h10  { height:  10px; }
.h15  { height:  15px; }
.h20  { height:  20px; }
.h30  { height:  30px; }
.h40  { height:  40px; }
.h50  { height:  50px; }
.h60  { height:  60px; }
.h70  { height:  70px; }
.h80  { height:  80px; }
.h90  { height:  90px; }
.h100 { height: 100px; }

/* ==========================================================
   폰트 사이즈 (index_f*)
   단일 clamp — 모바일 미디어쿼리 없이 전 해상도 대응
   vw 계수: max / 12  (1200px 뷰포트에서 최대값 도달)
   min 값: 모바일 375px 기준 최소 가독성 보장
   ========================================================== */
.index_f5   { font-size: clamp(  4px,  0.4vw,   5px) !important; word-break: keep-all; }
.index_f10  { font-size: clamp(  8px,  0.8vw,  10px) !important; word-break: keep-all; }
.index_f12  { font-size: clamp(  9px,  1.0vw,  12px) !important; word-break: keep-all; }
.index_f14  { font-size: clamp( 11px,  1.2vw,  14px) !important; word-break: keep-all; }
.index_f15  { font-size: clamp( 11px,  1.25vw, 15px) !important; word-break: keep-all; }
.index_f16  { font-size: clamp( 13px,  1.3vw,  16px) !important; word-break: keep-all; line-height: 1.6;}
.index_f18  { font-size: clamp( 14px,  1.5vw,  18px) !important; word-break: keep-all; line-height: 1.8; }
.index_f20  { font-size: clamp( 15px,  1.65vw, 20px) !important; word-break: keep-all; line-height: 1.9; }
.index_f22  { font-size: clamp( 16px,  1.8vw,  22px) !important; word-break: keep-all; }
.index_f25  { font-size: clamp( 17px,  2.1vw,  25px) !important; word-break: keep-all; }
.index_f30  { font-size: clamp( 17px,  2.5vw,  30px) !important; word-break: keep-all; }
.index_f35  { font-size: clamp( 20px,  2.9vw,  35px) !important; word-break: keep-all; }
.index_f40  { font-size: clamp( 22px,  3.3vw,  40px) !important; word-break: keep-all; }
.index_f45  { font-size: clamp( 25px,  3.75vw, 45px) !important; word-break: keep-all; }
.index_f50  { font-size: clamp( 28px,  4.2vw,  50px) !important; word-break: keep-all; }
.index_f55  { font-size: clamp( 27px,  4.6vw,  55px) !important; word-break: keep-all; }
.index_f60  { font-size: clamp( 28px,  5.0vw,  60px) !important; word-break: keep-all; }
.index_f65  { font-size: clamp( 30px,  5.4vw,  65px) !important; word-break: keep-all; }
.index_f70  { font-size: clamp( 32px,  5.8vw,  70px) !important; word-break: keep-all; }
.index_f80  { font-size: clamp( 36px,  6.7vw,  80px) !important; word-break: keep-all; }
.index_f90  { font-size: clamp( 38px,  7.5vw,  90px) !important; word-break: keep-all; }
.index_f100 { font-size: clamp( 40px,  8.3vw, 100px) !important; word-break: keep-all; }
.index_f130 { font-size: clamp( 50px, 10.8vw, 130px) !important; word-break: keep-all; }
.index_f150 { font-size: clamp( 55px, 12.5vw, 150px) !important; word-break: keep-all; }

/* letter-spacing 모바일 보정 */
@media only screen and (max-width: 900px) {
    .index_ls10 { letter-spacing: 5px !important; }
    .index_ls20 { letter-spacing: 10px !important; }
}

/* ==========================================================
   컨테이너 / 가로 사이즈
   ========================================================== */
.hive_b {
    width: 95%; max-width: 1250px !important;
    margin: 0 auto;
    padding: 50px 0 80px 0 !important;
    display: block;
}
.index_w50 { width: 100%; max-width:  50%; margin: 0 auto; }
.index_w60 { width: 100%; max-width:  60%; margin: 0 auto; }
.index_w70 { width: 100%; max-width:  70%; margin: 0 auto; }
.index_w80 { width: 100%; max-width:  80%; margin: 0 auto; }
.index_w90 { width: 100%; max-width:  90%; margin: 0 auto; }
.index_w95 { width: 100%; max-width:  95%; margin: 0 auto; }

@media only screen and (max-width: 900px) {
    .hive_b { padding: 10px 0 !important; }
}

/* ==========================================================
   PC / 모바일 가시성
   ========================================================== */
.pc     {}
.mobile { display: none !important; }

@media only screen and (max-width: 900px) {
    .pc     { display: none !important; }
    /* revert: 각 요소 브라우저 기본값 복원 (div->block, span->inline, img->inline 등) */
    .mobile { display: revert !important; }

    /* 특정 display 타입이 필요할 때 조합 사용 */
    .mobile.ib  { display: inline-block !important; }
    .mobile.fx  { display: flex         !important; }
    .mobile.ifx { display: inline-flex  !important; }
}

/* ==========================================================
   상하 여백
   ========================================================== */
.index_mar10 { margin:  10px 0; }
.index_mar20 { margin:  20px 0; }
.index_mar30 { margin:  30px 0; }
.index_mar40 { margin:  40px 0; }
.index_mar50 { margin:  50px 0; }

.index_pa10  { padding: 10px 0; }
.index_pa20  { padding: 20px 0; }
.index_pa30  { padding: 30px 0; }
.index_pa40  { padding: 40px 0; }
.index_pa50  { padding: 50px 0; }

/* ==========================================================
   라인 표기
   ========================================================== */
.index_g_line { width: 50px; height: 2px; background: #999; display: block; margin: 0 auto; }
.index_b_line { width: 50px; height: 2px; background: #000; display: block; margin: 0 auto; }
.index_w_line { width: 50px; height: 2px; background: #fff; display: block; margin: 0 auto; }

/* 라인 높이 유틸 */
.index_line1 { line-height: 20px; }
.index_line2 { line-height: 25px; }

/* ==========================================================
   그림자
   ========================================================== */
.index_sw      { box-shadow: 4px 2px 10px rgba(0,0,0,0.1); }
.index_sw2     { box-shadow: 4px 2px 10px rgba(0,0,0,0.3); }
.index_text_sw { text-shadow: 1px 2px 1px rgba(0,0,0,0.1); }

/* ==========================================================
   라인 애니메이션
   ========================================================== */
.line_eff {
    background: var(--hv-line);
    transition: width 1.2s var(--expo) 0.3s, height 1.5s var(--expo);
}
.horizontal         { width: 0;    height: 1px; }
.horizontal.visible { width: 100%; }
.horizontal2        { width: 100%; height: 1px; }
.horizontal2.visible{ width: 0; }
.vertical           { width: 1px;  height: 0; }
.vertical.visible   { height: 100%; }

/* ==========================================================
   Swiper 페이지네이션
   ========================================================== */
.swiper-pagination-bullet {
    width: 6px; height: 6px;
    border-radius: 50%; background: #999;
    margin: 10px !important; opacity: 1;
}
.swiper-pagination-bullet-active {
    width: 22px !important; height: 6px !important;
    background: var(--hv-main) !important;
    border-radius: 5px !important;
    transition: width 0.4s var(--expo);
}

/* ==========================================================
   공통 버튼 시스템 (hb_btn)
   ========================================================== */
.hb_btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 100px; height: 44px; padding: 0 18px;
    border-radius: 12px; border: 1px solid transparent;
    cursor: pointer; text-decoration: none;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.hb_btn:hover  { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.08); }
.hb_btn:active { transform: translateY(0); transition-duration: 0.08s; }

.hb_btn_primary       { background: var(--hv-main); color: #fff; }
.hb_btn_primary:hover { filter: brightness(1.06); }
.hb_btn_gray          { background: #f2f2f2; color: #333; }
.hb_btn_gray:hover    { background: #e5e5e5; }
.hb_btn_line          { background: #fff; border-color: rgba(0,0,0,0.12); color: #333; }
.hb_btn_line:hover    { background: #111; color: #fff; }
.hb_btn_danger        { background: #ff4d4f; color: #fff; }

.hb_btn_wrap  { width: 100%; display: flex; justify-content: flex-end; margin-top: 20px; }
.hb_btn_group { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }

@media (max-width: 900px) {
    .hb_btn_wrap  { justify-content: center; }
    .hb_btn_group { width: 100%; justify-content: center; }
    .hb_btn       { flex: 1; min-width: unset; height: 40px; }
}

/* ==========================================================
   페이징 (default.css 개선 버전으로 덮어쓰기)
   ========================================================== */
.pg_wrap {
    clear: both; width: 100%;
    display: flex; align-items: center; justify-content: center; gap: 4px;
    padding: 28px 0 8px; box-sizing: border-box;
}
.pg_page, .pg_current {
    display: inline-flex; align-items: center; justify-content: center;
    vertical-align: middle; box-sizing: border-box;
}
.pg_page {
    color: #555; font-size: 13px; font-family: var(--font-pret);
    height: 34px; line-height: 1; padding: 0 10px; min-width: 34px;
    text-decoration: none; border-radius: 6px;
    border: 1px solid #e0e0e0; background: #fff;
    transition: background .18s cubic-bezier(.4,0,.2,1),
                color .18s cubic-bezier(.4,0,.2,1),
                border-color .18s cubic-bezier(.4,0,.2,1);
}
.pg_page:hover { background: #f5f5f5; border-color: #bbb; color: #111; }
.pg_start, .pg_prev, .pg_end, .pg_next {
    text-indent: 0; overflow: visible; background: none; padding: 0;
    border: 1px solid #e0e0e0; border-radius: 6px;
    color: #555; font-size: 13px; height: 34px; min-width: 34px;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .18s cubic-bezier(.4,0,.2,1),
                color .18s cubic-bezier(.4,0,.2,1);
}
.pg_start:hover, .pg_prev:hover, .pg_end:hover, .pg_next:hover {
    background: #f5f5f5; border-color: #bbb; color: #111;
}
.pg_current {
    background: #111; border: 1px solid #111; color: #fff;
    font-size: 13px; font-family: var(--font-pret); font-weight: 600;
    height: 34px; line-height: 1; padding: 0 10px; min-width: 34px; border-radius: 6px;
}

/* ==========================================================
   폰트 클래스
   ========================================================== */
:root {
  --font-eng:  'Jost', sans-serif;
  --font-pret: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.pret   { font-family: var(--font-pret); }
.mj22   { font-family: 'GowunBatang', 'KoPub Batang', 'Nanum Myeongjo', serif; font-weight: 400; letter-spacing: -0.01em; }
.eng_b2,
.eng_b3 {
  font-family: var(--font-eng);
  font-weight: 300;
  letter-spacing: 0.06em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-synthesis: none;
}
.eng_b4 { font-family: var(--font-eng); font-weight: 400; }

/* ==========================================================
   SEO용 숨김 h1
   ========================================================== */
.seo_h1 {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* ==========================================================
   스크롤바 / 셀렉션
   ========================================================== */
body::-webkit-scrollbar       { width: 10px; }
body::-webkit-scrollbar-thumb { background: var(--main, #333); border-radius: 10px; }
body::-webkit-scrollbar-track { background: #fafafa; }
::selection { color: #fff; background: var(--main, #333); }

/* ==========================================================
   Hover 클래스 (over_*)
   ========================================================== */

/* over_hd: 이미지 호버 확대 */
.over_hd { overflow: hidden; }
.over_hd img {
    transition: transform 0.65s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.over_hd:hover img { transform: scale(1.06); }

/* over_up: 카드 위로 살짝 이동 */
.over_up {
    transition: transform 0.45s var(--ease-spring, cubic-bezier(0.34, 1.56, 0.64, 1)),
                box-shadow 0.45s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.over_up:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.1);
}

/* over_line: 텍스트 밑줄 왼쪽에서 슬라이드 */
.over_line { position: relative; display: inline-block; }
.over_line::after {
    content: '';
    position: absolute;
    left: 0; bottom: -2px;
    width: 100%; height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.48s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.over_line:hover::after { transform: scaleX(1); }

/* over_line_out: 이탈 시 오른쪽으로 사라짐 */
.over_line_out::after { transform-origin: right center; }
.over_line_out:hover::after { transform-origin: left center; transform: scaleX(1); }

/* over_fill: 배경 왼쪽에서 채우기 */
.over_fill { position: relative; overflow: hidden; z-index: 0; }
.over_fill::before {
    content: '';
    position: absolute; inset: 0;
    background: var(--fill-color, currentColor);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.55s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
    z-index: -1;
}
.over_fill:hover::before { transform: scaleX(1); }
.over_fill:hover { color: #fff !important; }

.of_rect  { padding: 13px 30px; border: 1.5px solid var(--fill-color); color: var(--fill-color); border-radius: 4px; }
.of_round { padding: 13px 30px; border: 1.5px solid var(--fill-color); color: var(--fill-color); border-radius: 100px; }
.of_sharp { padding: 14px 36px; border: 1px solid var(--fill-color); color: var(--fill-color); border-radius: 0; letter-spacing: 0.1em; }

/* over_dim: 이미지 딤 오버레이 */
.over_dim { position: relative; overflow: hidden; }
.over_dim::after {
    content: '';
    position: absolute; inset: 0;
    background: rgba(0,0,0,0);
    transition: background 0.52s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.over_dim:hover::after { background: rgba(0,0,0,0.18); }

/* over_btn: 버튼 hover 기본 */
.over_btn {
    transition: transform 0.32s var(--ease-spring, cubic-bezier(0.34, 1.56, 0.64, 1)),
                opacity 0.32s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.over_btn:hover { transform: translateY(-2px); opacity: 0.88; }
.over_btn:active { transform: translateY(0); transition-duration: 0.1s; }

/* ==========================================================
   btn_sf: 슬라이드 플립 버튼
   ========================================================== */
.btn_sf {
    --sf-color: var(--main, #333);
    --sf-w: 180px; --sf-h: 50px; --sf-radius: 4px;
    position: relative; display: inline-flex;
    align-items: center; justify-content: center;
    width: var(--sf-w); height: var(--sf-h);
    overflow: hidden; cursor: pointer; text-decoration: none;
    border-radius: var(--sf-radius);
    border: 1.5px solid var(--sf-color);
    flex-shrink: 0;
}
.btn_sf .sf_bg {
    position: absolute; inset: 0;
    background: var(--sf-color);
    border-radius: calc(var(--sf-radius) - 1px);
    transform: translateY(102%);
    transition: transform 0.58s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
    z-index: 0;
}
.btn_sf .sf_front,
.btn_sf .sf_back {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center; gap: 7px;
    font-size: 14px; font-weight: 500; white-space: nowrap;
    transition: transform 0.58s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
                opacity   0.45s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
    z-index: 1;
}
.btn_sf .sf_front { color: var(--sf-color); transform: translateY(0); opacity: 1; }
.btn_sf .sf_back  { color: #fff; transform: translateY(102%); opacity: 0; }
.btn_sf:hover .sf_bg    { transform: translateY(0); }
.btn_sf:hover .sf_front { transform: translateY(-102%); opacity: 0; }
.btn_sf:hover .sf_back  { transform: translateY(0); opacity: 1; }

/* ==========================================================
   btn_bl: 테두리 시계방향 드로우 버튼
   ========================================================== */
.btn_bl {
    --bl-color: var(--main, #333); --bl-t: 0.24s;
    position: relative; display: inline-flex;
    align-items: center; justify-content: center;
    overflow: hidden; cursor: pointer; text-decoration: none;
    flex-shrink: 0; font-size: 14px; font-weight: 500;
    color: var(--bl-color); background: transparent; border: none;
}
.btn_bl .bl_t, .btn_bl .bl_r, .btn_bl .bl_b, .btn_bl .bl_l { position: absolute; background: var(--bl-color); }
.btn_bl .bl_t { top:0;    left:0;  width:100%;  height:1.5px; transform:scaleX(0); transform-origin:left;   transition:transform var(--bl-t) var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)); transition-delay:0s; }
.btn_bl .bl_r { top:0;    right:0; width:1.5px; height:100%;  transform:scaleY(0); transform-origin:top;    transition:transform var(--bl-t) var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)); transition-delay:calc(var(--bl-t)*1); }
.btn_bl .bl_b { bottom:0; left:0;  width:100%;  height:1.5px; transform:scaleX(0); transform-origin:right;  transition:transform var(--bl-t) var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)); transition-delay:calc(var(--bl-t)*2); }
.btn_bl .bl_l { top:0;    left:0;  width:1.5px; height:100%;  transform:scaleY(0); transform-origin:bottom; transition:transform var(--bl-t) var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)); transition-delay:calc(var(--bl-t)*3); }
.btn_bl:hover .bl_t { transform:scaleX(1); }
.btn_bl:hover .bl_r { transform:scaleY(1); }
.btn_bl:hover .bl_b { transform:scaleX(1); }
.btn_bl:hover .bl_l { transform:scaleY(1); }
.btn_bl .bl_bg  { position:absolute; inset:0; background:var(--bl-color); transform:scale(0); opacity:0; transition:none; z-index:0; }
.btn_bl .bl_txt { position:relative; z-index:1; transition:color 0.24s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)); transition-delay:calc(var(--bl-t)*4); }
.btn_bl.fill:hover .bl_bg  { transform:scale(1); opacity:1; transition:transform 0.3s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)), opacity 0.3s; transition-delay:calc(var(--bl-t)*4); }
.btn_bl.fill:hover .bl_txt { color:#fff; }

/* ==========================================================
   btn_ar: 화살표 버튼
   ========================================================== */
.btn_ar {
    --ar-color: var(--main, #333); --ar-w: 180px; --ar-h: 50px; --ar-r: 4px;
    position: relative; display: inline-flex;
    align-items: center; justify-content: center;
    width: var(--ar-w); height: var(--ar-h);
    overflow: hidden; cursor: pointer; text-decoration: none;
    border-radius: var(--ar-r); flex-shrink: 0;
    font-family: var(--font-pret); font-size: 14px; font-weight: 500;
}
.btn_ar .ar_front, .btn_ar .ar_back {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    gap: 7px; white-space: nowrap; z-index: 1;
    transition: transform 0.56s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)),
                opacity   0.48s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1));
}
.btn_ar .ar_bg { position: absolute; inset: 0; z-index: 0; transition: transform 0.56s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)); }

.ar_type2 { border: none; background: var(--ar-color); }
.ar_type2 .ar_bg    { background: var(--main2, #555); transform: translateY(102%); }
.ar_type2 .ar_front { color: #fff; transform: translateY(0); opacity: 1; }
.ar_type2 .ar_back  { color: #fff; transform: translateY(102%); opacity: 0; }
.ar_type2:hover .ar_bg    { transform: translateY(0); }
.ar_type2:hover .ar_front { transform: translateY(-102%); opacity: 0; }
.ar_type2:hover .ar_back  { transform: translateY(0); opacity: 1; }

.ar_type3 { border: 1.5px solid var(--ar-color); background: transparent; justify-content: flex-start; padding: 0 24px; }
.ar_type3 .ar_txt { color: var(--ar-color); font-size: 14px; font-weight: 500; white-space: nowrap; position: relative; z-index: 1; transition: transform 0.5s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)); }
.ar_type3 .ar_ico { display: inline-flex; align-items: center; color: var(--ar-color); width: 0; overflow: hidden; opacity: 0; position: relative; z-index: 1; transition: width 0.5s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)), opacity 0.4s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)), margin 0.5s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)); }
.ar_type3 .ar_bg  { transform: translateX(-102%); border-radius: var(--ar-r); }
.ar_type3:hover .ar_bg  { transform: translateX(0); }
.ar_type3:hover .ar_txt { transform: translateX(-6px); }
.ar_type3:hover .ar_ico { width: 20px; opacity: 1; margin-left: 8px; }

.ar_link {
    position: relative; display: inline-flex; align-items: center; gap: 0;
    padding: 4px 0; font-size: 14px; font-weight: 400;
    background: none; border: none; cursor: pointer; text-decoration: none;
    flex-shrink: 0; transition: color 0.38s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1));
}
.ar_link::after {
    content: ''; position: absolute; bottom: 0; left: 0;
    width: 100%; height: 1px; background: currentColor;
    transform: scaleX(0); transform-origin: left;
    transition: transform 0.48s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1));
}
.ar_link .al_ico { display: inline-flex; align-items: center; width: 0; overflow: hidden; opacity: 0; transition: width 0.45s var(--ease-spring, cubic-bezier(0.34,1.56,0.64,1)), opacity 0.38s var(--ease-smooth, cubic-bezier(0.16,1,0.3,1)), margin 0.45s var(--ease-spring, cubic-bezier(0.34,1.56,0.64,1)); }
.ar_link:hover::after  { transform: scaleX(1); }
.ar_link:hover .al_ico { width: 18px; opacity: 1; margin-left: 6px; }

/* ==========================================================
   텍스트 Reveal 애니메이션
   ========================================================== */
.reveal_wrap { overflow: hidden; display: block; }
.reveal_line {
    display: block;
    transform: translateY(105%);
    opacity: 0;
    transition: transform 0.9s var(--ease-enter, cubic-bezier(0.05, 0.7, 0.1, 1.0)),
                opacity   0.9s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.reveal_line.visible { transform: translateY(0); opacity: 1; }

.w_wrap  { display: inline-block; overflow: hidden; vertical-align: bottom; }
.w_inner {
    display: inline-block;
    transform: translateY(110%) rotate(3deg);
    opacity: 0;
    transition: transform 0.65s var(--ease-enter, cubic-bezier(0.05, 0.7, 0.1, 1.0)),
                opacity   0.5s  var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.stagger_words.active .w_inner { transform: translateY(0) rotate(0deg); opacity: 1; }

/* ==========================================================
   이미지 와이프 Reveal
   ========================================================== */
.wipe_wrap { position: relative; overflow: hidden; }
.wipe_wrap::after {
    content: '';
    position: absolute; inset: 0;
    background: var(--bg, #fff);
    transform: scaleX(1);
    transform-origin: right;
    transition: transform 0.9s var(--ease-enter, cubic-bezier(0.05, 0.7, 0.1, 1.0));
}
.wipe_wrap.revealed::after { transform: scaleX(0); }

/* ==========================================================
   클립패스 Reveal
   ========================================================== */
.clip_reveal {
    clip-path: inset(100% 0 0 0);
    transition: clip-path 0.9s var(--ease-enter, cubic-bezier(0.05, 0.7, 0.1, 1.0));
}
.clip_reveal.visible { clip-path: inset(0% 0 0 0); }

/* ==========================================================
   마키 텍스트 스트립
   ========================================================== */
.marquee_strip { overflow: hidden; white-space: nowrap; }
.marquee_track { display: inline-flex; animation: marquee 24s linear infinite; }
@keyframes marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.marquee_track:hover { animation-play-state: paused; }

/* ==========================================================
   아이콘 hover 색상 전환
   ========================================================== */
.icon_wrap { transition: color 0.22s var(--ease-smooth, cubic-bezier(0.16, 1, 0.3, 1)); color: #999; }
.icon_wrap:hover { color: var(--main, #333); }

/* ==========================================================
   스크롤 프로그레스 바
   ========================================================== */
#progress_bar  { position: fixed; top: 0; left: 0; right: 0; height: 2px; background: var(--line, #ddd); z-index: 9999; pointer-events: none; }
#progress_fill { height: 100%; background: var(--main, #333); transform: scaleX(0); transform-origin: left; }

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* --- block 01 --- */

/* Pretendard — KS 완성형 서브셋 단일 파일 (178KB, 스왑 1회). 희귀 글자는 시스템 폰트 폴백. */
@font-face{font-family:'Pretendard';src:url('/ko/assets/fonts/Pretendard-Regular-ks.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Gowun Batang — 부분 명조 옵션용. preload 없이 실제 사용 시점에만 로드. */
@font-face{font-family:'GowunBatang';src:url('/ko/assets/fonts/GowunBatang-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* KoPub World Batang Light — 부분 가는 명조 옵션용 한국어 웹 최적화본. */
@font-face{font-family:'KoPubWorldBatangLight';src:url('/ko/assets/fonts/KoPubWorld-Batang-Light-ko.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
:root{--font-kr-serif:'GowunBatang','KoPubWorldBatang','Noto Serif KR',serif}
:root{--font-kr-serif-light:'KoPubWorldBatangLight','KoPubWorldBatang','Noto Serif KR',serif}
.sp-font-serif{font-family:var(--font-kr-serif)!important;font-weight:400}
.sp-font-serif-light{font-family:var(--font-kr-serif-light)!important;font-weight:300!important}
.sp-font-sans{font-family:var(--font-pret,'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif)!important}
a {
  color: inherit;
  text-decoration: none;
}

button,
input,
a {
  -webkit-appearance: none;
  appearance: none;
  color: inherit;
}	
/* Critical CSS — 렌더 블로킹 없는 첫 화면 FOUC 방지 */
*,*::before,*::after{box-sizing:border-box}
html{overflow-y:scroll}
body{margin:0;padding:0;font-family:var(--font-pret,'Pretendard');background:#fcf7f1;color:#222}
h1,h2,h3,h4,h5,h6{margin:0;padding:0;border:0;font-size:1em;font-weight:inherit}
ul,ol,dl,dt,dd{margin:0;padding:0;list-style:none}
p{margin:0;padding:0}
a{color:inherit;text-decoration:none}
img{vertical-align:middle;max-width:100%;height:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
/* Critical CSS — 인덱스 히어로 (CLS + LCP 블로킹 방지) */
#main_slide{overflow:hidden;position:relative;width:100%}
#main_slide .main_swiper{width:100%;height:90vh;overflow:hidden}
#main_slide .embla__container{display:flex;height:100%}
/* position:relative — index.css 로드 전부터 적용해 absolute 자식의 기준점 확정 */
#main_slide .embla__slide{flex:0 0 100%;min-width:0;height:100%;overflow:hidden;position:relative}
#main_slide .slide-image{height:100%;width:100%;position:relative;overflow:hidden}
/* Ken Burns 효과는 JS RAF에서 img.style.transform으로 제어 */
#main_slide .slide-image img{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;object-fit:cover;display:block;will-change:transform;transform-origin:center center}
/* text_wrap / sl_text — index.css 로드 전부터 absolute 고정 → slide-image CLS 0.52 방지 */
#main_slide .text_wrap{position:absolute;bottom:10%;left:10%;width:100%;z-index:5}
#main_slide .sl_text_efs{position:absolute;bottom:260px;left:0;width:100%;height:200px;overflow:hidden;z-index:100000}
#main_slide .sl_text_efs2{position:absolute;bottom:110px;left:0;width:100%;z-index:100000}
/* 첫 슬라이드 텍스트 — 위에서 아래로 슬라이드인 */
@keyframes hb_slide_down{from{transform:translateY(-10px)}to{transform:translateY(0)}}
@keyframes hb_slide_down_fade{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
#main_slide .embla__slide:first-child .sl_text_efs .main_text{animation:hb_slide_down 1.0s cubic-bezier(0.16,1,0.3,1) both}
#main_slide .embla__slide:first-child .sl_text_efs2>div{opacity:0}
#main_slide .embla__slide:first-child .sl_text_efs2.is-visible>div{transition:none;animation:hb_slide_down_fade 0.9s cubic-bezier(0.16,1,0.3,1) 0.15s both}
@media(prefers-reduced-motion:reduce){#main_slide .embla__slide:first-child .sl_text_efs .main_text,#main_slide .embla__slide:first-child .sl_text_efs2.is-visible>div{animation:none}}

/* 팝업 컨테이너 — index.css 논블로킹 전 out-of-flow 확정 (CLS 방지) */
#hd_pop{position:relative;height:0;overflow:visible;z-index:1000}
.hd_pops{position:absolute}
/* above-fold 유틸 — default2.css 논블로킹 전환 대비 추출 (FOUC 방지) */
.pc{}.mobile{display:none!important}
@media(max-width:900px){.pc{display:none!important}.mobile{display:revert!important}.mobile.ib{display:inline-block!important}.mobile.fx{display:flex!important}}
.h5{height:5px}.h10{height:10px}.h15{height:15px}.h20{height:20px}.h30{height:30px}.h40{height:40px}.h50{height:50px}.h60{height:60px}.h70{height:70px}.h80{height:80px}
.hive_b{width:95%;max-width:var(--hv-content-w,1250px)!important;margin:0 auto;padding:50px 0 80px 0!important;display:block}
@media(max-width:900px){.hive_b{padding:10px 0!important}#main_slide .text_wrap{position:absolute;bottom:10%;left:0%;width:100%;z-index:5}
#main_slide .sl_text_efs{position:absolute;bottom:130px;left:0;width:100%;height:130px;overflow:hidden;z-index:100000}
#main_slide .sl_text_efs2{position:absolute;bottom:110px;left:0;width:100%;z-index:100000}}
.is-hidden{display:none!important}.is-visible{display:block!important}
.c_w{color:#fff!important}.c_b{color:#000!important}.c_g{color:#979593!important}.c_g2{color:#41413f!important}.c_by{color:#3e3838!important}
.text_up{text-transform:uppercase}.word_keep{word-break:keep-all}.index_b{font-weight:bold}.index_ib{display:inline-block!important}.t_center{text-align:center}
.clear_fix::after,.cf::after{display:block;visibility:hidden;clear:both;content:""}
.over_texts{overflow:hidden}
.pret{font-family:var(--font-pret,'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif)}
.eng_b2,.eng_b3{font-family:var(--font-eng,Georgia,serif);font-weight:300;letter-spacing:0.06em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none}
/* 모바일 min: 본문류 0.88, 부제 0.82, 소헤딩 0.72, 헤딩 0.6 (sub_tpl _sp_clamp 와 동일 ratio) */
.index_f12{font-size:clamp(11px,1.0vw,12px)!important;word-break:keep-all}
.index_f13{font-size:clamp(11px,1.3vw,13px)!important;word-break:keep-all}
.index_f14{font-size:clamp(12px,1.2vw,14px)!important;word-break:keep-all}
.index_f16{font-size:clamp(14px,1.3vw,16px)!important;word-break:keep-all;line-height:1.6}
.index_f18{font-size:clamp(16px,1.5vw,18px)!important;word-break:keep-all;line-height:1.8}
.index_f20{font-size:clamp(18px,1.65vw,20px)!important;word-break:keep-all;line-height:1.9}
.index_f25{font-size:clamp(20px,2.1vw,25px)!important;word-break:keep-all}
.index_f30{font-size:clamp(22px,2.5vw,30px)!important;word-break:keep-all}
.index_f35{font-size:clamp(25px,2.9vw,35px)!important;word-break:keep-all}
.index_f40{font-size:clamp(29px,3.3vw,40px)!important;word-break:keep-all}
.index_f45{font-size:clamp(27px,3.7vw,45px)!important;word-break:keep-all}
.index_f50{font-size:clamp(30px,4.2vw,50px)!important;word-break:keep-all}
.index_f60{font-size:clamp(36px,5.0vw,60px)!important;word-break:keep-all}

/* CSS 변수 — cf_ 기반 동적 색상 + 이징 토큰 */
:root {
    --main  : #1E1C2E;
    --main2 : #16141e;
    --line  : #d1d0c9;
    --bg    : #fcf7f1;

    /* 하위 호환 (구 변수명) */
    --hv-main : var(--main);
    --hv-sub  : var(--main2);
    --hv-line : var(--line);
    --hv-bg   : var(--bg);

    /* 이징 토큰 */
    --ease-smooth : cubic-bezier(0.16, 1, 0.3, 1);
    --ease-snappy : cubic-bezier(0.4, 0, 0.2, 1);
    --ease-spring : cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-enter  : cubic-bezier(0.05, 0.7, 0.1, 1.0);
    --ease-exit   : cubic-bezier(0.3, 0.0, 0.8, 0.15);
    --ease-edit   : cubic-bezier(0.2, 0.0, 0.0, 1.0);
    --expo        : cubic-bezier(0.16, 1, 0.3, 1);
}

/* --- block 02 --- */

:root {
  --hv-main : #a06a3f;
  --hv-sub  : #16141e;
  --hv-bg   : #fcf7f1;
  --hv-line : #d1d0c9;
  --hv-rgb  : 160,106,63;
  --main-color: var(--hv-main);
  --sub-color : var(--hv-sub);
  --mc        : var(--hv-main);
  --main      : var(--hv-main);
  --main2     : var(--hv-sub);
  --line      : var(--hv-line);

  --hv-h    : 100px;
  --hv-h-sc : 70px;
  --hv-lw   : 180px;
  --hv-lw-sc: 140px;

  --hv-hd-bg       : rgba(252,247,241,1.00);
  --hv-hd-top      : 0px;
  --hv-hd-blur     : 15px;
  --hv-inner-w     : 100%;
  --hv-content-w   : 1250px;
  --hv-hd-open-bg  : rgba(54,33,17,0.00);
  --hv-hd-open-tx  : #ffffff;
  --hv-hd-radius   : 0px;
  --hv-hd-pad-x    : 30px;
  --hv-inner-w-sc  : 100%;
  --hv-hd-sc-top   : 0px;
  --hv-hd-sc-radius: 0px;
  --hv-hd-sc-bg    : rgba(54,33,17,0.20);
  --hv-hd-hover-bg : rgba(54,33,17,0.20);
  --hv-hd-open-tx-rgb: 255,255,255;

  --hv-tx-index    : #ffffff;
  --hv-tx-sub      : #ffffff;
  --hv-tx-sc       : #ffffff;
  --hv-menu-bg-sub : rgba(54,33,17,0.00);  --hv-tx-hover    : #ccb8a8;
  --hv-menu-hv-bg  : rgba(255,255,255,0.20);
  --hv-menu-marker : rgba(211,255,80,0.78);

  --hv-drop-bg      : rgba(54,33,17,0.20);
  --hv-drop-tx      : #ffffff;
  --hv-drop-tx-hover: #ccb8a8;
  --hv-mg-card-bg   : rgba(92,86,74,0.62);
  --hv-mg-card-radius: 28px;
  --hv-mg-title-size : 12px;
  --hv-mg-title-color: #777777;
  --hv-mg-link-size  : 13px;
  --hv-mg-link-color : #444444;

  --hv-pc-sz : 17px;
  --hv-pc-ssz: 16px;
  --hv-pc-sub-ml: 0.015em;
  --hv-pc-mw : 400;
  --hv-pc-ml : 0.025em;
  --hv-pc-px : 30px;
  --hv-pc-sub-align: center;

  --hv-mo-sz : 26px;
  --hv-mo-ssz: 16px;

  --hv-dr-bg1   : #a06a3f;
  --hv-dr-bg2   : #ffffff;
  --hv-dr-tx1   : #ffffff;
  --hv-dr-tx2   : #111111;
  --hv-dr-tx-sub: #666666;
  --hv-dr-tx-hv : #a06a3f;

  /* z-index 레이어 — AI 챗봇(9999) / 빠른상담(920) 위에 드로어가 오도록 상향 */
  --z-hd  : 500;
  --z-drop: 490;
  --z-ov  : 9998;   /* 오버레이: 챗봇 패널(9998)/토글(9999) 가림 */
  --z-dr  : 10000;  /* 드로어: 챗봇 토글(9999) 위 */
  --z-sch : 10010;
  --z-flt : 400;
  --z-prog: 10100;  /* 진행바: 드로어보다 위 */

  /* MD 기준 이징 3종 */
  --expo  : cubic-bezier(0.16, 1, 0.3, 1);
  --spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --snap  : cubic-bezier(0.4, 0, 0.2, 1);
}
html { scroll-behavior: smooth; }

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* --- block 03 --- */

:root {
  --hv-glass-bd: rgba(255,255,255,0.22);
  --hv-glass-bg: rgba(255,255,255,0.08);
  --hv-dark-bd : rgba(0,0,0,0.12);
  --hv-dark-bg : rgba(255,255,255,0.9);
}

#hv-hd {
  position: fixed;
  top: var(--hv-hd-top); left: 0;
  width: 100%; height: var(--hv-h);
  z-index: var(--z-hd);
  background: transparent;

  transform: translateY(0);
  will-change: transform;
  transition: transform 0.55s var(--expo);
}

#hv-hd.hv--solid {
  position: fixed;
}
#hv-hd.hv--sc {
  position: fixed;
  height: var(--hv-h-sc);
  top: var(--hv-hd-sc-top, 0px);
}
#hv-hd.hv--sc .hv-inner {
  width: var(--hv-inner-w-sc, var(--hv-inner-w, 95%));
}

/* 스크롤 다운 — 헤더 숨김 */
#hv-hd.hv--hide {
  transform: translateY(-100%);
  transition:
    transform 0.8s var(--expo),
    background 0.4s var(--expo),
    backdrop-filter 0.5s var(--expo);
}

/* 스크롤 업 — 헤더 등장 (딜레이 후 부드럽게) */
#hv-hd.hv--peek {
  transform: translateY(0);
  transition:
    transform 0.85s var(--expo) 0.2s,
    background 0.4s var(--expo),
    backdrop-filter 0.5s var(--expo);
}

/* 이너 */
.hv-inner {
  position: relative;
  width: var(--hv-inner-w, 95%); max-width: 2400px;
  height: 100%; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--hv-hd-pad-x, 0px);
  background: transparent;
  border-radius: var(--hv-hd-radius, 0px);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition:
    background      0.58s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow      0.4s  var(--expo),
    backdrop-filter 0.4s  var(--expo),
    border-radius   0.4s  var(--expo);
}

/* 헤더 뒤 배경 밴드 — 둥근 모서리(.hv-inner radius) 뒤로 띠 색을 드러냄(레퍼런스).
   .hv-inner 와 동일 폭/정렬, 높이=radius, 헤더보다 한 단계 아래(z). 색 없으면 투명(무효과). */
#hv-hd-bd {
  position: fixed; top: var(--hv-hd-top, 0px); left: 50%;
  transform: translateX(-50%);
  width: var(--hv-inner-w, 95%); max-width: 2400px;
  height: var(--hv-hd-radius, 0px);
  background: var(--hv-hd-bd-color, transparent);
  z-index: calc(var(--z-hd) - 1);
  pointer-events: none;
  transition: top 0.4s var(--expo), height 0.4s var(--expo), background 0.4s var(--expo), width 0.4s var(--expo);
}
#hv-hd.hv--sc ~ #hv-hd-bd {
  top: var(--hv-hd-sc-top, 0px);
  width: var(--hv-inner-w-sc, var(--hv-inner-w, 95%));
  height: var(--hv-hd-sc-radius, 0px);
}
#hv-hd.hv--solid .hv-inner,
#hv-hd.hv--trans .hv-inner {
  background: var(--hv-hd-bg);
  -webkit-backdrop-filter: blur(var(--hv-hd-blur, 0px));
  backdrop-filter: blur(var(--hv-hd-blur, 0px));
  box-shadow: 0 6px 28px rgba(0,0,0,0.06);
}
#hv-hd.hv--sc .hv-inner {
  background: var(--hv-hd-sc-bg, var(--hv-hd-bg));
  -webkit-backdrop-filter: blur(var(--hv-hd-blur, 0px));
  backdrop-filter: blur(var(--hv-hd-blur, 0px));
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
  border-radius: var(--hv-hd-sc-radius, 0px);
}
/* 헤더 바 박스쉐도우 끄기(hd_no_shadow) — 전역(모든 드롭다운 모드 공통). 기본/투명/스크롤 상태 전부 */
#hv-hd.hv--hd-no-sd .hv-inner { box-shadow: none !important; }
/* 메뉴 오픈 시 radius — horizontal/mega 전용, 하단 0으로 드롭다운과 연결 */
#hv-hd.hv-drop-horizontal.hv--nav-hover .hv-inner,
#hv-hd.hv-drop-mega.hv--nav-hover .hv-inner,
#hv-hd.hv-drop-mega.hv--mega-open .hv-inner {
  border-radius: var(--hv-hd-radius, 0px) var(--hv-hd-radius, 0px) 0 0;
}
/* sc 상태에서는 sc-radius 사용 */
#hv-hd.hv--sc.hv-drop-horizontal.hv--nav-hover .hv-inner,
#hv-hd.hv--sc.hv-drop-mega.hv--nav-hover .hv-inner,
#hv-hd.hv--sc.hv-drop-mega.hv--mega-open .hv-inner {
  border-radius: var(--hv-hd-sc-radius, 0px) var(--hv-hd-sc-radius, 0px) 0 0;
}

/* ============================================================
   Stacked layout — 로고 위(중앙) / 메뉴(왼쪽) + 아이콘(오른쪽) 아래
   스크롤(hv--sc) 시엔 자동으로 기존 horizontal 1줄로 복귀
   모바일(≤900px)은 햄버거 UX 유지 — 데스크톱(>900px)에서만 적용
   ============================================================ */
@media (min-width: 901px) {
  #hv-hd.hv--stacked:not(.hv--sc) {
    height: auto;
  }
  #hv-hd.hv--stacked:not(.hv--sc) .hv-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    height: auto;
    min-height: var(--hv-h);
    padding-top: 14px;
    padding-bottom: 14px;
    row-gap: 6px;
  }
  #hv-hd.hv--stacked:not(.hv--sc) .hv-logo {
    grid-column: 1 / -1;
    justify-self: center;
  }
  /* 이미지 로고 슬롯: __def 를 relative 로 — .hv-logo 가 IMG 높이로 자연스럽게 결정,
     __sc / __wht 는 그대로 absolute 로 위에 겹쳐 크로스페이드 유지 */
  #hv-hd.hv--stacked:not(.hv--sc) .hv-logo__def {
    position: relative;
  }
  #hv-hd.hv--stacked:not(.hv--sc) .hv-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    position: relative;
    inset: auto;
    height: auto;
    width: 100%;
    justify-content: center;
  }
  #hv-hd.hv--stacked:not(.hv--sc) .hv-btn-group {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
  }
  /* 2줄 헤더의 실제 하단 좌표는 JS가 --hv-stacked-drop-top으로 동기화한다. */
  #hv-hd.hv--stacked:not(.hv--sc) ~ #hv-sub-wrap,
  #hv-hd.hv--stacked:not(.hv--sc) ~ #hv-mega {
    top: var(--hv-stacked-drop-top, calc(var(--hv-h) + var(--hv-hd-top, 0px)));
  }
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-panel .hv-pnl { top: calc(100% + 14px); }
  /* vertical 및 중간 폭 mega의 개별 드롭다운도 메뉴 글자 박스가 아니라
     2줄 헤더의 하단(아래 padding 14px)부터 시작한다. */
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-vertical .hv-li > .hv-sub,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-mega.hv--nav-individual .hv-li > .hv-sub,
  #hv-hd.hv--stacked:not(.hv--sc) .hv-nav-more__menu {
    top: var(--hv-li-drop-top, calc(100% + 14px));
  }
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-vertical .hv-li::after,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-mega.hv--nav-individual .hv-li::after,
  #hv-hd.hv--stacked:not(.hv--sc) .hv-nav-more::after {
    bottom: -14px;
    height: 14px;
  }
  #hv-hd.hv--stacked:not(.hv--sc) .hv-logo:hover { transform: none; }
  #hv-hd.hv--stacked:not(.hv--sc) .hv-logo--text:hover .hv-logo-text { transform: none; }
}

/* 내부 콘텐츠 — 기본 상태 (헤더 숨김 시 페이드 아웃) */
.hv-logo,
.hv-nav,
.hv-btn-group {
  transition:
    opacity 0.25s var(--expo),
    transform 0.25s var(--expo);
}

/* 헤더 숨김 시 내부도 빠르게 사라짐 */
#hv-hd.hv--hide .hv-logo,
#hv-hd.hv--hide .hv-nav,
#hv-hd.hv--hide .hv-btn-group {
  opacity: 0;
  transform: translateY(-6px);
}

/* 헤더 등장 시 내부 콘텐츠 — 헤더보다 늦게 순차적 */
#hv-hd.hv--peek .hv-logo {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.45s var(--expo) 0.80s, transform 0.5s var(--expo) 0.80s;
}
#hv-hd.hv--peek .hv-nav {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.45s var(--expo) 1.0s, transform 0.5s var(--expo) 1.0s;
}
#hv-hd.hv--peek .hv-btn-group {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.45s var(--expo) 1.0s, transform 0.5s var(--expo) 1.0s;
}

/* 최상단 trans / solid / sc — 정상 */
#hv-hd.hv--trans .hv-logo,
#hv-hd.hv--trans .hv-nav,
#hv-hd.hv--trans .hv-btn-group,
#hv-hd.hv--solid .hv-logo,
#hv-hd.hv--solid .hv-nav,
#hv-hd.hv--solid .hv-btn-group {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.3s var(--expo), transform 0.3s var(--expo);
}
#hv-hd.hv--sc .hv-logo,
#hv-hd.hv--sc .hv-nav,
#hv-hd.hv--sc .hv-btn-group {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.6s var(--expo), transform 0.3s var(--expo);
}

/* 로고 */
.hv-logo {
  position: relative;
  width: var(--hv-lw);
  /* 세 로고 상태가 모두 absolute여도 첫 페인트부터 실제 슬롯 높이를 예약한다.
     등록 로고의 기준 비율(250x121)을 유지해 hover/scroll 이미지 교체 시 CLS를 막는다. */
  aspect-ratio: 250 / 121;
  flex-shrink: 0; z-index: 20;
}

/* 옵션: 모바일 첫 스크롤 숨김 시 헤더 전체 transform 하나만 애니메이션한다.
   기본 OFF로 기존 설치처의 모션은 OTA 후에도 바뀌지 않는다. */
@media (max-width: 900px) {
  body.hv--mobile-scroll-perf #hv-hd,
  body.hv--mobile-scroll-perf #hv-hd.hv--hide,
  body.hv--mobile-scroll-perf #hv-hd.hv--peek {
    transition: transform 0.3s var(--snap);
  }
  body.hv--mobile-scroll-perf #hv-hd .hv-inner {
    transition: background 0.2s var(--snap), box-shadow 0.2s var(--snap), border-radius 0.2s var(--snap);
  }
  body.hv--mobile-scroll-perf #hv-hd.hv--hide .hv-logo,
  body.hv--mobile-scroll-perf #hv-hd.hv--hide .hv-nav,
  body.hv--mobile-scroll-perf #hv-hd.hv--hide .hv-btn-group {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.hv-logo:hover { transform: translateY(-2px); }
.hv-logo a { display: block; width: 100%; height: 100%; line-height: 0; }
.hv-logo img {
  width: 100%; height: 100%; object-fit: contain; display: block;
  transition: transform 0.6s var(--expo), filter 0.4s var(--expo);
}
.hv-logo:hover img { transform: scale(1.04) rotate(0.3deg); filter: brightness(1.05); }

.hv-logo__def,
.hv-logo__sc,
.hv-logo__wht {
  position: absolute; top:0;right:0;bottom:0;left:0;inset:0;
  display: flex; align-items: center;
  transition: opacity 0.4s var(--expo), transform 0.5s var(--expo);
}
.hv-logo__def { opacity: 1; transform: translateY(0); }
.hv-logo__sc  { opacity: 0; transform: translateY(-10px) scale(0.98); }
.hv-logo__wht { opacity: 0; transform: translateY(0); }

#hv-hd.hv--sc .hv-logo { width: var(--hv-lw-sc); }
#hv-hd.hv--sc .hv-logo__def { opacity: 0; transform: translateY(12px) scale(0.98); }
#hv-hd.hv--sc .hv-logo__sc  { opacity: 1; transform: translateY(0) scale(1); }
#hv-hd.hv--sc .hv-logo__wht { opacity: 0; }

/* 텍스트 로고 — 메뉴 색 변수 그대로 상속 (이미지 4슬롯 대안) */
.hv-logo--text {
  width: auto; min-width: 0;
  display: flex; align-items: center;
}
.hv-logo--text:hover { transform: none; }
.hv-logo-text {
  display: inline-block;
  text-decoration: none;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--hv-tx-index);
  transition: color .35s var(--expo), transform .5s var(--expo);
}
.hv-logo--text:hover .hv-logo-text { transform: translateY(-2px); }
#hv-hd.hv--trans .hv-logo-text { color: var(--hv-tx-sub); }
#hv-hd.hv--solid .hv-logo-text { color: var(--hv-tx-index); }
#hv-hd.hv--sc    .hv-logo-text { color: var(--hv-tx-sc); }
#hv-hd.hv--nav-hover .hv-logo-text,
#hv-hd.hv-drop-mega.hv--mega-open .hv-logo-text { color: var(--hv-hd-open-tx); }

/* 첫 페인트부터 메뉴를 완전한 상태로 표시한다.
   li 전체의 순차 opacity 애니메이션은 새로고침 시 현재 hover 패널까지
   반투명하게 만들어 푸터 구간에서 헤더가 깜빡이는 원인이 된다. */
.hv-li {
  opacity: 1;
  transform: none;
}

/* NAV */
.hv-nav {
  position: absolute; left: 0; right: 0; top: 0;
  height: 100%;
  display: flex; align-items: center; justify-content: center;
  z-index: 5;
}
@media (min-width: 901px) {
  #hv-hd.hv--nav-sizing .hv-nav { visibility: hidden; }
  #hv-hd.hv--nav-sizing .hv-nav,
  #hv-hd.hv--nav-sizing .hv-nav * {
    transition: none !important;
    animation: none !important;
  }
}
.hv-ul {
  display: flex; align-items: stretch;
  list-style: none; margin: 0; padding: 0;
  height: 100%; gap: clamp(8px, .65vw, 14px);
}
.hv-li {
  position: relative;
  display: flex; align-items: center;
}

/* 메뉴 링크 */
.hv-a {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  height: 100%;
  padding: 0 calc(var(--hv-pc-px) + 4px);
  font-size: var(--hv-pc-sz);
  font-weight: var(--hv-pc-mw);
  letter-spacing: var(--hv-pc-ml);
  text-decoration: none; white-space: nowrap;
  overflow: visible;
  transition: color 0.28s ease, background-color 0.28s ease;
}
.hv-menu-labels {
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  line-height: 1.25;
}
.hv-menu-labels .hv-menu-label {
  grid-area: 1 / 1;
  display: block;
  white-space: nowrap;
  transition: opacity .28s var(--expo), transform .38s var(--expo);
}
[data-menu-font-auto] > .hv-menu-script--eng { font-family: var(--font-eng, Georgia, serif); }
[data-menu-font-auto] > .hv-menu-script--kor { font-family: var(--font-pret, 'Pretendard', sans-serif); }
.hv-menu-labels [data-menu-label="primary"] { opacity: 1; transform: translateY(0); }
.hv-menu-labels [data-menu-label="alternate"] { opacity: 0; transform: translateY(115%); }
a:hover > .hv-menu-labels [data-menu-label="primary"],
a:focus-visible > .hv-menu-labels [data-menu-label="primary"],
.hv-li.hv--submenu-active > .hv-a > .hv-menu-labels [data-menu-label="primary"] { opacity: 0; transform: translateY(-115%); }
a:hover > .hv-menu-labels [data-menu-label="alternate"],
a:focus-visible > .hv-menu-labels [data-menu-label="alternate"],
.hv-li.hv--submenu-active > .hv-a > .hv-menu-labels [data-menu-label="alternate"] { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .hv-menu-labels .hv-menu-label { transition: none; }
}

#hv-hd.hv--trans .hv-a { color: var(--hv-tx-sub); }   /* 투명 배경 (인덱스 사진 위) */
#hv-hd.hv--solid .hv-a { color: var(--hv-tx-index); } /* 기본 solid 배경 */
#hv-hd.hv--sc    .hv-a { color: var(--hv-tx-sc); }    /* 스크롤 고정 */

/* 히어로 위 헤더 톤(adaptive) — 밝은 히어로 위에서 메뉴를 어둡게.
   투명(hv--trans) 상태에서만 --hv-tx-sub/--hv-tx-index 를 어두운 값으로 재지정 →
   로고/메뉴/아이콘/현재표시(::before)/슬롯 등 var(--hv-tx-sub) 쓰는 요소 전부 자동 적용.
   스크롤(hv--sc)되면 셀렉터 불일치로 원복. JS(hv--trans-dark 토글)가 자동/수동으로 부여. */
#hv-hd.hv--trans.hv--trans-dark {
  --hv-tx-sub:   var(--hv-tx-sub-dark, #16181d);
  --hv-tx-index: var(--hv-tx-sub-dark, #16181d);
}
/* 밝게(흰색) 강제 — 사이트 기본 --hv-tx-sub 이 흰색이 아니어도 흰색으로 띄움(어두운 히어로 위) */
#hv-hd.hv--trans.hv--trans-light {
  --hv-tx-sub:   var(--hv-tx-sub-light, #ffffff);
  --hv-tx-index: var(--hv-tx-sub-light, #ffffff);
}
/* 톤에 맞춰 이미지 로고 색 보정 — 보이는 로고를 흰/검정 단색으로 강제(단색 로고 가정).
   등록된 흰/어두운 로고 변형에 의존하지 않아 단일 로고만 있어도 동작.
   텍스트 로고(.hv-logo-text)는 위 --hv-tx-sub override 로 자동 처리되므로 제외. */
/* at-rest 로고(__def)에만 필터 → hover/메가/스크롤 시 뜨는 로고(__wht/__sc)는 손대지 않아 원래 설정 유지.
   텍스트 로고면 __def 가 없으므로 무영향(텍스트는 --hv-tx-sub override 로 처리). */
#hv-hd.hv--trans.hv--trans-light .hv-logo__def img { filter: brightness(0) invert(1); }
#hv-hd.hv--trans.hv--trans-dark  .hv-logo__def img { filter: brightness(0); }

.hv-a::after { display: none; }

/* 활성 메뉴 — hv--cur */
.hv-li:hover > .hv-a,
.hv-li.hv--submenu-active > .hv-a,
.hv-a:focus-visible {
  color: var(--hv-tx-hover);
  background-color: var(--hv-menu-hv-bg);
}
/* 현재 페이지가 속한 대메뉴는 호버 여부와 관계없이 활성 색상을 유지한다. */
#hv-hd .hv-li.hv--cur > .hv-a { color: var(--hv-tx-hover); }

/* 대메뉴 마우스오버 효과(menu_hover_fx) */
#hv-hd.hv--menufx-line .hv-a:hover,
#hv-hd.hv--menufx-line .hv-a:focus-visible,
#hv-hd.hv--menufx-line_center .hv-a:hover,
#hv-hd.hv--menufx-line_center .hv-a:focus-visible,
#hv-hd.hv--menufx-bar .hv-a:hover,
#hv-hd.hv--menufx-bar .hv-a:focus-visible,
#hv-hd.hv--menufx-text .hv-a:hover,
#hv-hd.hv--menufx-text .hv-a:focus-visible,
#hv-hd.hv--menufx-marker .hv-a:hover,
#hv-hd.hv--menufx-marker .hv-a:focus-visible,
#hv-hd.hv--menufx-slide .hv-a:hover,
#hv-hd.hv--menufx-slide .hv-a:focus-visible { background-color: transparent; }

#hv-hd.hv--menufx-line .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv--menufx-line_center .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv--menufx-bar .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv--menufx-text .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv--menufx-marker .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv--menufx-slide .hv-li.hv--submenu-active > .hv-a { background-color: transparent; }

/* 형광펜: 글자 폭만큼 아래쪽을 inset 칠한다.
   background-image 방식은 설치처의 메뉴 배경 규칙에 덮일 수 있어 사용하지 않는다. */
#hv-hd.hv--menufx-marker .hv-a [data-menu-font-auto="1"] {
  display: inline-block;
  background: transparent !important;
  box-shadow: inset 0 0 0 var(--hv-menu-marker);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: box-shadow 0.34s var(--expo);
}
#hv-hd.hv--menufx-marker .hv-a:hover [data-menu-font-auto="1"],
#hv-hd.hv--menufx-marker .hv-a:focus-visible [data-menu-font-auto="1"],
#hv-hd.hv--menufx-marker .hv-li.hv--submenu-active > .hv-a [data-menu-font-auto="1"] {
  box-shadow: inset 0 -0.58em 0 var(--hv-menu-marker) !important;
}
/* 활성 메뉴 보더/밑줄 효과가 형광펜 위에 겹치지 않도록 hover 항목에서는 분리한다. */
#hv-hd.hv--menufx-marker .hv-li:hover > .hv-a,
#hv-hd.hv--menufx-marker .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv--menufx-marker .hv-a:focus-visible {
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
#hv-hd.hv--menufx-marker .hv-li:hover > .hv-a::before,
#hv-hd.hv--menufx-marker .hv-li:hover > .hv-a::after,
#hv-hd.hv--menufx-marker .hv-li.hv--submenu-active > .hv-a::before,
#hv-hd.hv--menufx-marker .hv-li.hv--submenu-active > .hv-a::after,
#hv-hd.hv--menufx-marker .hv-a:focus-visible::before,
#hv-hd.hv--menufx-marker .hv-a:focus-visible::after {
  display: none !important;
  border: 0 !important;
}
/* 형광펜 모드 자체가 단독 강조 방식이므로 현재 메뉴 표시를 포함한 선 효과를 모두 제거한다. */
#hv-hd.hv--menufx-marker .hv-a {
  text-decoration: none !important;
  background-image: none !important;
}
#hv-hd.hv--menufx-marker .hv-a::before,
#hv-hd.hv--menufx-marker .hv-a::after {
  display: none !important;
  border: 0 !important;
}

/* 하위메뉴 형광펜 — vertical/mega 개별형, panel, horizontal, megagroup 공통. */
#hv-hd.hv--subfx-marker .hv-sub a [data-menu-font-auto="1"],
#hv-hd.hv--subfx-marker .hv-pnl a [data-menu-font-auto="1"],
#hv-hd.hv--subfx-marker ~ #hv-sub-wrap .hv-sub a [data-menu-font-auto="1"],
#hv-mg.hv-mg-subfx-marker .hv-mg__a [data-menu-font-auto="1"] {
  display: inline-block;
  background: transparent !important;
  box-shadow: inset 0 0 0 var(--hv-menu-marker);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: box-shadow 0.34s var(--expo);
}
#hv-hd.hv--subfx-marker .hv-sub a:hover,
#hv-hd.hv--subfx-marker .hv-pnl a:hover,
#hv-hd.hv--subfx-marker ~ #hv-sub-wrap .hv-sub a:hover,
#hv-mg.hv-mg-subfx-marker .hv-mg__a:hover { background-color: transparent !important; }
#hv-hd.hv--subfx-marker .hv-sub a::before,
#hv-hd.hv--subfx-marker .hv-sub a::after,
#hv-hd.hv--subfx-marker .hv-pnl a::before,
#hv-hd.hv--subfx-marker .hv-pnl a::after,
#hv-hd.hv--subfx-marker ~ #hv-sub-wrap .hv-sub a::before,
#hv-hd.hv--subfx-marker ~ #hv-sub-wrap .hv-sub a::after,
#hv-mg.hv-mg-subfx-marker .hv-mg__a::before,
#hv-mg.hv-mg-subfx-marker .hv-mg__a::after {
  display: none !important;
  border: 0 !important;
}
#hv-hd.hv--subfx-marker .hv-sub a:hover [data-menu-font-auto="1"],
#hv-hd.hv--subfx-marker .hv-sub a:focus-visible [data-menu-font-auto="1"],
#hv-hd.hv--subfx-marker .hv-pnl a:hover [data-menu-font-auto="1"],
#hv-hd.hv--subfx-marker .hv-pnl a:focus-visible [data-menu-font-auto="1"],
#hv-hd.hv--subfx-marker ~ #hv-sub-wrap .hv-sub a:hover [data-menu-font-auto="1"],
#hv-hd.hv--subfx-marker ~ #hv-sub-wrap .hv-sub a:focus-visible [data-menu-font-auto="1"],
#hv-mg.hv-mg-subfx-marker .hv-mg__a:hover [data-menu-font-auto="1"],
#hv-mg.hv-mg-subfx-marker .hv-mg__a:focus-visible [data-menu-font-auto="1"] {
  box-shadow: inset 0 -0.58em 0 var(--hv-menu-marker) !important;
}

#hv-hd.hv--menufx-line .hv-a::after,
#hv-hd.hv--menufx-line_center .hv-a::after {
  content: '';
  display: block;
  position: absolute;
  left: calc(var(--hv-pc-px) + 4px);
  right: calc(var(--hv-pc-px) + 4px);
  bottom: 18px;
  height: 1.5px;
  background: var(--hv-tx-hover);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.36s var(--expo);
  pointer-events: none;
}
#hv-hd.hv--menufx-line_center .hv-a::after { transform-origin: center center; }
#hv-hd.hv--menufx-line .hv-a:hover::after,
#hv-hd.hv--menufx-line .hv-a:focus-visible::after,
#hv-hd.hv--menufx-line .hv-li.hv--submenu-active > .hv-a::after,
#hv-hd.hv--menufx-line_center .hv-a:hover::after,
#hv-hd.hv--menufx-line_center .hv-a:focus-visible::after,
#hv-hd.hv--menufx-line_center .hv-li.hv--submenu-active > .hv-a::after { transform: scaleX(1); }

#hv-hd.hv--menufx-slide .hv-a {
  background-image: linear-gradient(var(--hv-menu-hv-bg), var(--hv-menu-hv-bg));
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 0;
  transition: color 0.28s ease, background-size 0.36s var(--expo);
}
#hv-hd.hv--menufx-slide .hv-a:hover,
#hv-hd.hv--menufx-slide .hv-a:focus-visible,
#hv-hd.hv--menufx-slide .hv-li.hv--submenu-active > .hv-a { background-size: 100% 100%; }

#hv-hd.hv--menufx-bar .hv-a::after {
  content: '';
  display: block;
  position: absolute;
  left: 8px;
  top: 32%;
  bottom: 32%;
  width: 2px;
  background: var(--hv-tx-hover);
  transform: scaleY(0);
  transform-origin: center bottom;
  transition: transform 0.32s var(--expo);
  pointer-events: none;
}
#hv-hd.hv--menufx-bar .hv-a:hover::after,
#hv-hd.hv--menufx-bar .hv-a:focus-visible::after,
#hv-hd.hv--menufx-bar .hv-li.hv--submenu-active > .hv-a::after { transform: scaleY(1); }

#hv-hd.hv--menufx-zoom .hv-a { transition: color 0.28s ease, background-color 0.28s ease, transform 0.32s var(--expo); }
#hv-hd.hv--menufx-zoom .hv-a:hover,
#hv-hd.hv--menufx-zoom .hv-a:focus-visible,
#hv-hd.hv--menufx-zoom .hv-li.hv--submenu-active > .hv-a { transform: scale(1.05); }
.hv-li.hv--cur > .hv-a::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 50%;
  right: auto;
  width: 40px;
  height: 2px;
  background: var(--hv-tx-hover);
  border-radius: 2px;
  transform: translateX(-50%) scaleX(1);
  transform-origin: center center;
  display: none;
}
#hv-hd.hv--trans .hv-li.hv--cur > .hv-a::before { background: var(--hv-tx-index); }
/* 헤더 자동숨김 시 활성 메뉴 밑줄이 화면 상단에 삐져나오는 것 방지 */
#hv-hd.hv--hide .hv-li.hv--cur > .hv-a::before { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .hv-li.hv--cur > .hv-a::before { transition: none; }
}
/* ── 활성 메뉴 표시 방식(nav_active) — #hv-hd.hv--navfx-{val}. 미지정/none/legacy line=표시 없음 ── */
/* 풀폭 밑줄(가장자리까지) */
#hv-hd.hv--navfx-line_full .hv-li.hv--cur > .hv-a::before { display: block; top: auto; bottom: 0; left: 0; right: 0; width: auto; border-radius: 0; height: 3px; transform: none; }
/* 윗줄 */
#hv-hd.hv--navfx-top .hv-li.hv--cur > .hv-a::before { display: block; top: 8px; }
/* 가운데 점 */
#hv-hd.hv--navfx-dot .hv-li.hv--cur > .hv-a::before { display: block; left: 50%; right: auto; transform: translateX(-50%); width: 5px; height: 5px; border-radius: 50%; }
/* 배경/알약/박스 — ::before 채움이 텍스트 뒤로 가도록 .hv-a 에 스택 컨텍스트 부여(헤더 배경 뒤로 숨는 것 방지) */
#hv-hd.hv--navfx-bg .hv-li.hv--cur > .hv-a,
#hv-hd.hv--navfx-pill .hv-li.hv--cur > .hv-a,
#hv-hd.hv--navfx-box .hv-li.hv--cur > .hv-a { z-index: 0; }
/* 배경 채움(전체 높이 컬럼) — 텍스트 뒤로 */
#hv-hd.hv--navfx-bg .hv-li.hv--cur > .hv-a::before { display: block; inset: 0; width: auto; height: auto; background: rgba(var(--hv-rgb), 0.10); border-radius: 0; transform: none; z-index: -1; }
/* 라운드 배경(알약) */
#hv-hd.hv--navfx-pill .hv-li.hv--cur > .hv-a::before { display: block; top: 24%; bottom: 24%; left: 4px; right: 4px; width: auto; height: auto; background: rgba(var(--hv-rgb), 0.12); border-radius: 999px; transform: none; z-index: -1; }
/* 테두리 박스 */
#hv-hd.hv--navfx-box .hv-li.hv--cur > .hv-a::before { display: block; top: 26%; bottom: 26%; left: 4px; right: 4px; width: auto; height: auto; background: transparent; border: 1.5px solid var(--hv-main); border-radius: 6px; transform: none; z-index: -1; }

/* nav 겹침 방지 — normal → tight-1 → tight-2 → tight-3 → tight-4 → MORE
   각 tier 마다 폰트 -1px / 패딩 약 -7px씩 점진 축소하여 부자연스러운 점프 제거.
   font-size 는 사용자가 관리자에서 설정한 var(--hv-pc-sz) 기준으로 calc, 12px 미만으로 떨어지지 않도록 max() 보호. */

#hv-hd.hv--nav-tight-1 .hv-a {
  padding: 0 max(8px, calc(var(--hv-pc-px) - 4px));
}
#hv-hd.hv--nav-tight-1 .hv-ul { gap: 6px; }
#hv-hd.hv--nav-tight-2 .hv-a {
  padding: 0 max(5px, calc(var(--hv-pc-px) - 8px));
}
#hv-hd.hv--nav-tight-2 .hv-ul { gap: 3px; }
/* 중간 폭의 메가 메뉴는 현재 항목 아래의 개별 드롭다운으로 전환한다. */
#hv-hd.hv-drop-mega.hv--nav-individual ~ #hv-mega {
  display: none !important;
  pointer-events: none !important;
}
#hv-hd.hv-drop-mega.hv--nav-individual .hv-sub {
  display: block !important;
}
/* 긴 번역 메뉴 대응: 마지막 항목부터 MORE 드롭다운으로 이동 */
#hv-hd .hv-li.hv--nav-overflowed { display: none !important; }
#hv-hd .hv-nav-more {
  display: none;
  position: relative;
}
#hv-hd .hv-nav-more.hv--show { display: flex; }
#hv-hd .hv-nav-more__btn {
  border: 0;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--font-eng, Georgia, serif);
  font-synthesis: none;
}
#hv-hd .hv-nav-more__menu {
  position: absolute;
  top: calc(100% - 1px);
  right: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(var(--hv-more-cols, 1), minmax(180px, 1fr));
  width: min(calc(var(--hv-more-cols, 1) * 220px), calc(100vw - 32px));
  min-width: min(220px, calc(100vw - 32px));
  max-width: 660px;
  max-height: calc(100vh - var(--hv-h, 80px) - 24px);
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  padding: 28px 0;
  list-style: none;
  background: var(--hv-hd-open-bg, var(--hv-drop-bg, #fff));
  border: 0;
  border-radius: 0 0 var(--hv-hd-radius, 0px) var(--hv-hd-radius, 0px);
  box-shadow: 0 30px 80px rgba(0,0,0,.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .32s var(--expo), transform .38s var(--expo), visibility .32s;
}
#hv-hd .hv-nav-more:hover .hv-nav-more__menu,
#hv-hd .hv-nav-more:focus-within .hv-nav-more__menu,
#hv-hd .hv-nav-more.hv--open .hv-nav-more__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
#hv-hd .hv-nav-more__menu a {
  display: block;
  color: rgba(var(--hv-hd-open-tx-rgb), .8);
  line-height: 1.45;
  text-decoration: none;
  white-space: nowrap;
}
#hv-hd .hv-nav-more__row {
  min-width: 0;
  margin: 0;
  padding: 0 24px;
}
#hv-hd .hv-nav-more__primary {
  margin: 0 0 10px;
  padding: 0 0 10px;
  color: rgba(var(--hv-hd-open-tx-rgb), .5) !important;
  font-size: 14px;
  font-weight: var(--hv-pc-mw);
  letter-spacing: .1em;
}
#hv-hd .hv-nav-more__sub {
  margin: 0;
  padding: 0;
  list-style: none;
}
#hv-hd .hv-nav-more__sub a {
  padding: 8px 0;
  font-size: var(--hv-pc-ssz);
  font-weight: 400;
  letter-spacing: var(--hv-pc-sub-ml, .02em);
  transition: color .22s var(--expo), transform .28s var(--expo);
}
#hv-hd .hv-nav-more__menu a:hover,
#hv-hd .hv-nav-more__menu a:focus-visible {
  color: var(--hv-hd-open-tx);
  background: transparent;
}
#hv-hd .hv-nav-more__sub a:hover,
#hv-hd .hv-nav-more__sub a:focus-visible {
  transform: translateX(4px);
}
#hv-hd.hv--tone-light .hv-nav-more__menu,
#hv-hd.hv--trans:not(.hv--sc) .hv-nav-more__menu {
  background: var(--hv-hd-open-bg, var(--hv-drop-bg, #fff));
}

/* 버튼 그룹 */
.hv-btn-group {
  margin-left: auto;
  display: flex; align-items: center; gap: 10px;
  position: relative; z-index: 510;
}

/* 검색 버튼 */
.hv-search-btn {
  position: relative;
  width: 42px; height: 42px;
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 50%;
  color: var(--hv-tx-index);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; padding: 0;
  transition:
    color 0.25s var(--expo),
    transform 0.35s var(--spring),
    background 0.35s var(--expo),
    border-color 0.35s var(--expo),
    box-shadow 0.35s var(--expo);
}
#hv-hd.hv--solid .hv-search-btn { color: var(--hv-tx-index); }
#hv-hd.hv--sc    .hv-search-btn { color: var(--hv-tx-sc); }
.hv-search-btn:hover {
  color: var(--hv-main);
  transform: translateY(-2px) scale(1.06);
}
.hv-search-btn:active { transform: translateY(0) scale(1); transition-duration: 0.08s; }
.hv-search-btn svg { width: 17px; height: 17px; stroke-width: 2.1; }

/* 햄버거 버튼 */
.hbg_cd {
  --bc: var(--hv-tx-index);  /* 히어로: 흰색 */
  --fc: var(--hv-main);
  --bt: 0.16s;
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center;
  width: 44px; height: 44px;
  border: none; border-radius: 0;
  background: transparent;
  cursor: pointer; padding: 0;
  transition: background 0.48s var(--expo);
}
/* 투명 상태 — 메뉴 텍스트와 같은 색 */
#hv-hd.hv--trans .hbg_cd          { --bc: var(--hv-tx-sub); }
#hv-hd.hv--trans .hv-search-btn   { color: var(--hv-tx-sub); }
#hv-hd.hv--trans .hv-icons-toggle { color: var(--hv-tx-sub); }
/* solid 상태 — index 색상 */
#hv-hd.hv--solid .hbg_cd { --bc: var(--hv-tx-index); }
/* sc 상태 — sc 색상 */
#hv-hd.hv--sc    .hbg_cd { --bc: var(--hv-tx-sc); }

/* 드로어 열림 시 — 배경 없음, X바 검정 */
.hbg_cd.hv--open {
  --bc: #111;
  position: fixed;
  z-index: calc(var(--z-dr) + 10);
}
/* 열림 시 배경 채움 제거 */
.hbg_cd.hv--open .bl_bg { display: none; }
.hbg_cd.hv--open:hover .bl_bg {
  display: none;
  transition-delay: 0s;
}

/* border 4변 시계방향 */
.hbg_cd .bl_t,
.hbg_cd .bl_r,
.hbg_cd .bl_b,
.hbg_cd .bl_l { position: absolute; background: var(--bc); z-index: 2; }

.hbg_cd .bl_t { top:0;    left:0;  width:100%;  height:1px; transform:scaleX(0); transform-origin:left;   transition:transform var(--bt) var(--expo); transition-delay:0s; }
.hbg_cd .bl_r { top:0;    right:0; width:1px; height:100%;  transform:scaleY(0); transform-origin:top;    transition:transform var(--bt) var(--expo); transition-delay:calc(var(--bt)*1); }
.hbg_cd .bl_b { bottom:0; left:0;  width:100%;  height:1px; transform:scaleX(0); transform-origin:right;  transition:transform var(--bt) var(--expo); transition-delay:calc(var(--bt)*2); }
.hbg_cd .bl_l { top:0;    left:0;  width:1px; height:100%;  transform:scaleY(0); transform-origin:bottom; transition:transform var(--bt) var(--expo); transition-delay:calc(var(--bt)*3); }

/* 보더 — 열림 시 숨김 */
.hbg_cd.hv--open .bl_t,
.hbg_cd.hv--open .bl_r,
.hbg_cd.hv--open .bl_b,
.hbg_cd.hv--open .bl_l { display: none; }

/* 배경 채우기 — 클릭 시만, border 완성 후 */
.hbg_cd .bl_bg {
  position: absolute; top:0;right:0;bottom:0;left:0;inset:0;
  background: var(--fc);
  transform: scaleX(0); transform-origin: left center;
  opacity: 0; visibility: hidden; z-index: 1;
  transition: visibility 0s linear 0.4s;
}
.hbg_cd.hv--open .bl_bg {
  transform: scaleX(1); opacity: 1; visibility: visible;
  transition: transform 0.4s var(--expo), opacity 0.4s var(--expo), background 0.4s var(--expo), visibility 0s linear 0s;
  transition-delay: calc(var(--bt)*4);
}

/* 내부 콘텐츠 */
.hbg_cd .cd_inner {
  position: relative; z-index: 3;
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%;
  padding: 0;
}

/* 햄버거 바 */
.hbg_cd .bars { display: flex; flex-direction: column; gap: 5px; width: 20px; flex-shrink: 0; }
.hbg_cd .bar {
  width: 100%; height: 1px; border-radius: 0;
  background: var(--bc);
  transform-origin: center;
  transition: transform 0.52s var(--expo), opacity 0.28s var(--expo);
}

.hbg_cd.hv--open .bar:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hbg_cd.hv--open .bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hbg_cd.hv--open .bar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* 호버 — bar 엇갈림 이동 */
.hbg_cd:not(.hv--open):hover .bar:nth-child(1) { transform: translateX(4px); transition-delay: 0s; }
.hbg_cd:not(.hv--open):hover .bar:nth-child(2) { transform: translateX(-4px); transition-delay: 0.06s; }
.hbg_cd:not(.hv--open):hover .bar:nth-child(3) { transform: translateX(4px); transition-delay: 0.12s; }
body.hv--no-hbg-hover-fx .hbg_cd:not(.hv--open):hover .bar {
  transform: none;
  transition-delay: 0s;
}


/* 반응형 */
@media (max-width: 900px) {
  #hv-hd { border-bottom: none; }
  .hv-inner { justify-content: center; }
  .hv-nav { display: none !important; }
  /* 이미지 로고만 width 강제 — 텍스트 로고(.hv-logo--text)는 자동 폭 유지 */
  .hv-logo:not(.hv-logo--text)  { width: calc(var(--hv-lw) * 0.88); }
  #hv-hd.hv--sc .hv-logo:not(.hv-logo--text) { width: calc(var(--hv-lw-sc) * 0.92); }

  .hv-btn-group {
    position: absolute; top: 0; left: 0; right: 0;
    width: 100%; height: 100%; margin: 0; pointer-events: none;
  }
  .hv-search-btn {
    pointer-events: auto;
    position: absolute; right: 12px; top: 50%;
    transform: translateY(-50%);
    width: 38px; height: 38px;
  }
  .hv-search-btn:hover { transform: translateY(-50%) scale(1.05); }
  /* 전화 아이콘 — 모바일 우측. 기본은 검색 자리(right:12px), 검색이 보이면 검색 왼쪽으로 자동 이동 */
  body.hv--tel-mo .hv-tel-btn {
    pointer-events: auto;
    position: absolute; right: 12px; top: 50%;
    transform: translateY(-50%);
    width: 38px; height: 38px;
  }
  /* 검색 + 전화 둘 다 ON 인 경우에만 전화가 검색 왼쪽으로 비켜남 */
  body.hv--tel-mo:not(.hv--no-search-mo) .hv-tel-btn { right: 54px; }
  body.hv--tel-mo .hv-tel-btn:hover  { transform: translateY(-50%) scale(1.05); }
  body.hv--tel-mo .hv-tel-btn:active { transform: translateY(-50%) scale(0.95); }
  body.hv--tel-mo .hv-tel-btn svg    { width:19px; height:19px; }
  .hbg_cd {
    pointer-events: auto;
    position: absolute; left: 12px; top: 50%;
    transform: translateY(-50%);
    width: 44px; height: 44px;
  }
  .hbg_cd:hover,
  .hbg_cd.hv--open { transform: translateY(-50%); }
  .hbg_cd .bars { width: 18px; }
}
@media (max-width: 600px) {
  .hv-logo:not(.hv-logo--text) { width: calc(var(--hv-lw) * 0.8); }
  #hv-hd.hv--sc .hv-logo:not(.hv-logo--text) { width: calc(var(--hv-lw-sc) * 0.86); }
  .hv-search-btn { right: 10px; }
  body.hv--tel-mo .hv-tel-btn { right: 10px; }
  body.hv--tel-mo:not(.hv--no-search-mo) .hv-tel-btn { right: 50px; }
  .hbg_cd { left: 10px; width: 40px; height: 40px; }
}

/* --- block 04 --- */

/* 래퍼 */
.hv-icons-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

/* 토글 버튼 */
.hv-icons-toggle {
  position: relative;
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: none; cursor: pointer; padding: 0;
  color: var(--hv-tx-index);
  border-radius: 50%;
  transition: color 0.45s var(--expo), transform 0.4s var(--spring);
}
#hv-hd.hv--solid .hv-icons-toggle { color: var(--hv-tx-index); }
#hv-hd.hv--sc    .hv-icons-toggle { color: var(--hv-tx-sc); }
.hv-icons-toggle:hover { color: var(--hv-main); transform: scale(1.08); }
.hv-icons-toggle:active { transform: scale(0.96); transition-duration: 0.08s; }

.hv-icons-toggle .ico-grid,
.hv-icons-toggle .ico-x {
  position: absolute;
  transition: opacity 0.35s var(--expo), transform 0.42s var(--expo), visibility 0s linear 0.35s;
}
.hv-icons-toggle .ico-grid { opacity: 1; visibility: visible; transform: scale(1) rotate(0deg); transition-delay: 0s; }
.hv-icons-toggle .ico-x    { opacity: 0; visibility: hidden; transform: scale(0.7) rotate(-45deg); }
.hv-icons-wrap.hv--open .hv-icons-toggle .ico-grid { opacity: 0; visibility: hidden; transform: scale(0.7) rotate(45deg); }
.hv-icons-wrap.hv--open .hv-icons-toggle .ico-x    { opacity: 1; visibility: visible; transform: scale(1) rotate(0deg); transition-delay: 0s; }

/* 패널 */
.hv-icons-panel {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.05);
  padding: 8px;
  display: flex;
  align-items: center;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px) scale(0.97);
  transition:
    opacity 0.42s var(--expo),
    transform 0.46s var(--expo),
    visibility 0.42s var(--expo);
  z-index: var(--z-drop);
  white-space: nowrap;
  pointer-events: none;
}
.hv-icons-wrap.hv--open .hv-icons-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* 패널 내 아이콘 순차 등장 */
.hv-icons-panel .icon_mod,
.hv-icons-panel .icon_lang {
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.32s var(--expo),
    transform 0.38s var(--expo),
    color 0.38s var(--expo),
    background 0.38s var(--expo);
}
.hv-icons-wrap.hv--open .hv-icons-panel .icon_mod:nth-child(1),
.hv-icons-wrap.hv--open .hv-icons-panel .icon_lang:nth-child(1) { opacity:1; transform:translateY(0); transition-delay:0.06s; }
.hv-icons-wrap.hv--open .hv-icons-panel .icon_mod:nth-child(2),
.hv-icons-wrap.hv--open .hv-icons-panel .icon_lang:nth-child(2) { opacity:1; transform:translateY(0); transition-delay:0.10s; }
.hv-icons-wrap.hv--open .hv-icons-panel .icon_mod:nth-child(3),
.hv-icons-wrap.hv--open .hv-icons-panel .icon_lang:nth-child(3) { opacity:1; transform:translateY(0); transition-delay:0.14s; }
.hv-icons-wrap.hv--open .hv-icons-panel .icon_mod:nth-child(4),
.hv-icons-wrap.hv--open .hv-icons-panel .icon_lang:nth-child(4) { opacity:1; transform:translateY(0); transition-delay:0.18s; }
.hv-icons-wrap.hv--open .hv-icons-panel .icon_mod:nth-child(5),
.hv-icons-wrap.hv--open .hv-icons-panel .icon_lang:nth-child(5) { opacity:1; transform:translateY(0); transition-delay:0.22s; }

/* 아이콘 버튼 */
.icon_mod {
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  color: #555;
  border-radius: 10px;
  cursor: pointer;
  transition: color 0.38s var(--expo), background 0.38s var(--expo), transform 0.38s var(--spring);
}
.icon_mod:hover {
  color: var(--hv-main);
  background: rgba(var(--hv-rgb), 0.08);
  transform: translateY(-2px);
}
.icon_mod:active { transform: translateY(0); transition-duration: 0.08s; }
.icon_mod svg { display: block; }

/* 구분선 */
.hv-icons-divider {
  width: 1px; height: 22px;
  background: rgba(0,0,0,0.08);
  margin: 0 4px;
  flex-shrink: 0;
}

/* 언어 드롭다운 */
.icon_lang {
  position: relative;
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  color: #555;
  border-radius: 10px;
  cursor: pointer;
  transition: color 0.38s var(--expo), background 0.38s var(--expo), transform 0.38s var(--spring);
}
.icon_lang:hover {
  color: var(--hv-main);
  background: rgba(var(--hv-rgb), 0.08);
  transform: translateY(-2px);
}
.icon_lang svg { display: block; pointer-events: none; }
.icon_lang.hv-lang--flag-code {
  width: auto;
  min-width: 76px;
  padding: 0 10px;
  gap: 7px;
  white-space: nowrap;
}
.hv-lang-trigger-flag { display:inline-flex; width:20px; height:20px; flex:0 0 20px; line-height:1; border-radius:50%; box-shadow:0 0 0 1px rgba(0,0,0,.08); overflow:hidden; }
.hv-lang-trigger-flag svg { width:100%; height:100%; display:block; }
.hv-lang-trigger-code { font-size: 14px; line-height: 1; font-weight: 600; letter-spacing: .02em; }
.hv-lang-trigger-chevron { flex: 0 0 auto; transition: transform .25s var(--expo); }
.icon_lang.hv--open .hv-lang-trigger-chevron { transform: rotate(180deg); }

.lang-drop {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: rgba(255,255,255,0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 14px;
  box-shadow: 0 20px 56px rgba(0,0,0,0.13), 0 4px 10px rgba(0,0,0,0.05);
  padding: 6px;
  min-width: 148px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scale(0.97);
  transition:
    opacity 0.38s var(--expo),
    transform 0.42s var(--expo),
    visibility 0.38s var(--expo);
  z-index: 10;
}
.icon_lang:hover .lang-drop,
.icon_lang.hv--open .lang-drop {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
.lang-drop a,
.lang-drop button {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  color: #444;
  text-decoration: none;
  font-size: 13px;
  border-radius: 9px;
  transition: color 0.35s var(--expo), background 0.35s var(--expo);
}

/* 개별 노출형: 선택 아이콘은 원본 요소를 밖으로 이동하고, 나머지는 점 메뉴에 유지 */
.hv-icons-inline-list { display: none; }
.hv-icons-inline-list:not(:empty) { display: flex; align-items: center; gap: 0; }
.hv-icons-inline-list .icon_mod,
.hv-icons-inline-list .icon_lang {
  opacity: 1;
  transform: none;
  color: var(--hv-tx-index);
  transition-delay: 0s;
}
#hv-hd.hv--sc .hv-icons-inline-list .icon_mod,
#hv-hd.hv--sc .hv-icons-inline-list .icon_lang { color: var(--hv-tx-sc); }
#hv-hd.hv--trans .hv-icons-inline-list .icon_mod,
#hv-hd.hv--trans .hv-icons-inline-list .icon_lang { color: var(--hv-tx-sub); }
#hv-hd.hv--nav-hover .hv-icons-inline-list .icon_mod,
#hv-hd.hv--nav-hover .hv-icons-inline-list .icon_lang,
#hv-hd.hv--mega-open .hv-icons-inline-list .icon_mod,
#hv-hd.hv--mega-open .hv-icons-inline-list .icon_lang { color: var(--hv-hd-open-tx); }
#hv-hd.hv--icons-all-inline .hv-icons-toggle { display: none; }
.hv-icons-panel.hv--no-divider .hv-icons-divider { display: none; }
.lang-drop button {
  width: 100%;
  border: 0;
  background: transparent;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.lang-drop a:hover,
.lang-drop button:hover { color: var(--hv-main); background: rgba(var(--hv-rgb), 0.07); }
.lang-drop a.active,
.lang-drop a.is-current,
.lang-drop button.active,
.lang-drop button.is-current { color: var(--hv-main); font-weight: 500; }
.lang-code { margin-left: auto; font-size: 11px; color: #bbb; letter-spacing: 0.06em; }
.hv-lang-menu-flag { display:inline-flex; width:20px; height:20px; flex:0 0 20px; border-radius:50%; box-shadow:0 0 0 1px rgba(0,0,0,.08); overflow:hidden; }
.hv-lang-menu-flag svg { width:100%; height:100%; display:block; }
.hv-lang-menu-label { min-width:0; }

/* 모바일 아이콘 패널 */
@media (max-width: 900px) {
  .hv-icons-wrap {
    display: flex;
    position: absolute;
    right: 58px; top: 50%;
    transform: translateY(-50%);
    pointer-events: auto;
  }
  /* 오른쪽 검색/전화 버튼 수에 맞춰 아이콘 묶음 위치 자동 보정 */
  body.hv--no-search-mo .hv-icons-wrap { right: 12px; }
  body.hv--tel-mo .hv-icons-wrap { right: 100px; }
  body.hv--tel-mo.hv--no-search-mo .hv-icons-wrap { right: 54px; }
  .hv-icons-inline-list .icon_mod,
  .hv-icons-inline-list .icon_lang {
    width: 34px;
    height: 36px;
  }
  .hv-icons-inline-list .icon_lang.hv-lang--flag-code {
    width: auto;
    min-width: 68px;
    padding: 0 8px;
    gap: 5px;
  }
  .hv-icons-toggle {
    width: 36px; height: 36px;
  }
  /* 패널 — 부모(36px) 기준 우측 오프셋으로 화면 안으로 당김 */
  .hv-icons-panel {
    right: -46px;
    left: auto;
    width: 220px;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 8px;
    border-radius: 14px;
  }
  /* 구분선 — row 레이아웃 세로 구분 */
  .hv-icons-divider {
    width: 1px; height: 22px;
    margin: 0 2px;
  }
  /* 언어 드롭다운 — 화면 우측 기준 정렬 */
  .hv-icons-panel .lang-drop {
    right: 0;
    left: auto;
  }
}
@media (max-width: 600px) {
  .hv-icons-wrap { right: 54px; }
  body.hv--no-search-mo .hv-icons-wrap { right: 10px; }
  body.hv--tel-mo .hv-icons-wrap { right: 92px; }
  body.hv--tel-mo.hv--no-search-mo .hv-icons-wrap { right: 50px; }
  /* 600 이하 패널 우측 오프셋 재계산: search right:10px, panel right:-42px */
  .hv-icons-panel { right: -42px; width: 200px; }
}

/* --- block 05 --- */



/* ===================================================================
   [E-2] 그룹 패널형 메가 (megagroup)
   메뉴별 전용 패널 = 메인 서브컬럼 + 커스텀 그룹 컬럼 + 이미지 배너
   딤/블러 오버레이 + 스태거 등장 모션
=================================================================== */
/* 헤더 오픈 상태(패널 위에 마우스 있을 때 유지) — mega 동등 규칙 megagroup 변형 */
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-inner {
  background: var(--hv-hd-hover-bg) !important;
  box-shadow: none !important;
  border-radius: var(--hv-hd-radius, 0px) var(--hv-hd-radius, 0px) 0 0 !important;
}
#hv-hd.hv--sc.hv-drop-megagroup.hv--mega-open .hv-inner {
  border-radius: var(--hv-hd-sc-radius, 0px) var(--hv-hd-sc-radius, 0px) 0 0 !important;
}
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-a,
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-search-btn,
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-icons-toggle,
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-cart-btn,
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-tel-btn,
#hv-hd.hv-drop-megagroup.hv--mega-open .hbg_cd { color: var(--hv-hd-open-tx) !important; }
#hv-hd.hv-drop-megagroup.hv--mega-open .hbg_cd { --bc: var(--hv-hd-open-tx); }
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-logo-text { color: var(--hv-hd-open-tx); }
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-logo__def { opacity: 0 !important; }
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-logo__sc  { opacity: 0 !important; }
#hv-hd.hv-drop-megagroup.hv--mega-open .hv-logo__wht { opacity: 1 !important; transform: translateY(0) scale(1) !important; }

/* 딤/블러 오버레이 — 헤더(500)·패널(490) 아래 */
#hv-mg-dim {
  position: fixed; inset: 0;
  z-index: 480;
  opacity: 0; visibility: hidden; pointer-events: none;
  background: transparent;
  transition: opacity 0.5s cubic-bezier(0.16,1,0.3,1),
              visibility 0.5s cubic-bezier(0.16,1,0.3,1),
              -webkit-backdrop-filter 0.5s cubic-bezier(0.16,1,0.3,1),
              backdrop-filter 0.5s cubic-bezier(0.16,1,0.3,1);
}
#hv-mg-dim.hv--on { opacity: 1; visibility: visible; }
#hv-mg-dim.mg-dim-dim.hv--on     { background: rgba(0,0,0,0.45); }
#hv-mg-dim.mg-dim-dimblur.hv--on { background: rgba(0,0,0,0.32); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
#hv-mg-dim.mg-dim-blur.hv--on    { background: rgba(0,0,0,0.04); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
#hv-mg-dim.mg-dim-none            { display: none; }

/* 패널 컨테이너 — ABPS식 풀폭 바 (left:0 width:100%), 내용은 콘텐츠 그리드에 정렬 */
#hv-mg {
  position: fixed; top: var(--mg-y, calc(var(--hv-h) + var(--hv-hd-top, 0px)));
  left: 0; width: 100%;
  background: var(--hv-hd-open-bg);
  box-shadow: 0 24px 60px rgba(0,0,0,0.18);
  z-index: var(--z-drop);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(-10px);
  transition:
    opacity    0.42s cubic-bezier(0.16, 1, 0.3, 1),
    transform  0.48s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}
/* 헤더와 패널 사이 데드존 제거 — hover 끊김 방지 브리지 */
#hv-mg::before {
  content: ''; position: absolute; top: -10px; left: 0; right: 0; height: 10px;
}
#hv-hd.hv--sc ~ #hv-mg { top: var(--mg-y, calc(var(--hv-h-sc) + var(--hv-hd-sc-top, 0px))); }
#hv-mg.hv--on {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateY(0);
}
#hv-mg.hv-mg--card {
  background: transparent;
  box-shadow: none;
}

/* 메뉴별 패널 — 한 번에 하나만 표시 */
.hv-mg__p { display: none; }
.hv-mg__p.hv--on { display: block; }
/* 내용 래퍼: 풀폭 바 안에서 현재 hover 메뉴 아래로 위치(--mg-x 는 JS 설정) */
.hv-mg__inner {
  display: flex; align-items: flex-start;
  width: max-content; max-width: calc(100vw - 24px);
  gap: 12px;
  padding: 32px 0;
  box-sizing: border-box;
  transform: translateX(var(--mg-x, 0px));
}
#hv-mg.hv-mg--card .hv-mg__inner {
  flex-wrap: wrap;
  gap: 0 12px;
  padding: 0 0 30px;
}
#hv-mg.hv-mg--card .hv-mg__p {
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.34s var(--expo), transform 0.42s var(--expo);
}
#hv-mg.hv-mg--card .hv-mg__p.hv--on {
  opacity: 1;
  transform: translateY(0);
}
.hv-mg__head {
  display: none;
}
#hv-mg.hv-mg--card .hv-mg__head {
  display: block;
  flex: 0 0 100%;
  margin: 0 0 18px 40px;
  color: var(--hv-hd-open-tx);
  font-size: var(--hv-pc-sz);
  letter-spacing: var(--hv-pc-ml, 0em);
  font-weight: 600;
  line-height: 1.2;
}
#hv-mg.hv-mg--card .hv-mg__head-line {
  display: block;
  width: 102px;
  height: 1px;
  margin-top: 8px;
  background: rgba(var(--hv-hd-open-tx-rgb), 0.72);
}
#hv-mg.hv-mg--card .hv-mg__main {
  min-width: 200px;
  padding: 24px 42px 30px;
  background: var(--hv-drop-bg);
  border-radius: 0 0 var(--hv-mg-card-radius) 0;
  opacity: 0;
  transform: translateY(-10px);
  clip-path: inset(0 0 100% 0 round 0 0 0 0);
  transition:
    opacity 0.32s var(--expo),
    transform 0.46s var(--expo),
    clip-path 0.52s var(--expo),
    border-radius 0.52s var(--expo);
  will-change: opacity, transform, clip-path;
}
#hv-mg.hv-mg--card.hv--on .hv-mg__p.hv--on .hv-mg__main {
  opacity: 1;
  transform: translateY(0);
  clip-path: inset(0 0 0 0 round 0 0 var(--hv-mg-card-radius) 0);
}
#hv-mg.hv-mg--card .hv-mg__main > .hv-mg__title {
  display: none;
}
#hv-mg.hv-mg--card .hv-mg__grp,
#hv-mg.hv-mg--card .hv-mg__img {
  margin-left: 18px;
}
.hv-mg__main { flex: 0 0 auto; min-width: 190px; max-width: 300px; padding-right: 40px; }
.hv-mg__grp  { flex: 0 0 auto; min-width: 140px; max-width: 220px; padding-right: 32px; }
.hv-mg__img  { flex: 0 0 auto; display: flex; align-items: flex-start; }
.hv-mg__img a { display: inline-block; line-height: 0; }
.hv-mg__img img { max-width: var(--mg-iw, 220px); width: 100%; height: auto; border-radius: 8px; }

.hv-mg__title {
  display: block;
  text-align: var(--hv-pc-sub-align);
  font-size: var(--hv-mg-title-size, max(11px, calc(var(--hv-pc-ssz) - 3px)));
  letter-spacing: var(--hv-pc-sub-ml, 0.02em);
  color: var(--hv-mg-title-color, rgba(var(--hv-hd-open-tx-rgb), 0.45));
  margin: 0 0 18px; padding: 0;
  text-decoration: none;
  transition: color 0.2s var(--expo);
}
a.hv-mg__title:hover { color: rgba(var(--hv-hd-open-tx-rgb), 0.75); }
.hv-mg__list { list-style: none; margin: 0; padding: 0; text-align: var(--hv-pc-sub-align); }
.hv-mg__list li {
  opacity: 0; transform: translateY(-6px);
  transition: opacity 0.5s var(--expo), transform 0.5s var(--expo);
}
#hv-mg.hv--on .hv-mg__p.hv--on .hv-mg__list li {
  opacity: 1; transform: translateY(0);
  transition-delay: calc(var(--i, 0) * 30ms);
}
#hv-mg.hv-mg--card .hv-mg__list li {
  transform: translateY(-10px);
  transition: opacity 0.48s var(--expo), transform 0.56s var(--expo);
}
#hv-mg.hv-mg--card.hv--on .hv-mg__p.hv--on .hv-mg__list li {
  transition-delay: calc(70ms + var(--i, 0) * 45ms);
}
/* 메인 컬럼 링크 — 크게 */
.hv-mg__main .hv-mg__a {
  position: relative; display: inline-block;
  padding: 7px 0; color: var(--hv-drop-tx);
  font-size: var(--hv-pc-ssz); font-weight: 500;
  letter-spacing: var(--hv-pc-sub-ml, 0.01em);
  text-decoration: none;
  transition: color 0.22s var(--expo), transform 0.28s var(--expo);
}
.hv-mg__main .hv-mg__a::after {
  content: ''; position: absolute; left: 0; bottom: 1px;
  width: 100%; height: 2px; background: var(--hv-main, var(--hv-hd-open-tx));
  transform: scaleX(0); transform-origin: left center;
  transition: transform 0.42s var(--expo);
}
.hv-mg__main .hv-mg__a:hover { color: var(--hv-drop-tx-hover); transform: translateX(4px); }
.hv-mg__main .hv-mg__a:hover::after { transform: scaleX(1); }
/* 그룹 컬럼 링크 — 작게 */
.hv-mg__grp .hv-mg__a {
  position: relative; display: block;
  text-align: var(--hv-pc-sub-align);
  padding: 6px 0; color: var(--hv-mg-link-color, var(--hv-drop-tx));
  font-size: var(--hv-mg-link-size, max(11px, calc(var(--hv-pc-ssz) - 2px))); font-weight: 600;
  letter-spacing: var(--hv-pc-sub-ml, 0.01em);
  text-decoration: none;
  transition: color 0.22s var(--expo), transform 0.28s var(--expo);
}
.hv-mg__grp .hv-mg__a::after {
  content: ''; position: absolute; left: 0; bottom: 2px;
  width: 100%; height: 1px; background: var(--hv-main, var(--hv-hd-open-tx));
  transform: scaleX(0); transform-origin: left center;
  transition: transform 0.42s var(--expo);
}
.hv-mg__grp .hv-mg__a:hover { color: var(--hv-drop-tx-hover); transform: translateX(3px); }
.hv-mg__grp .hv-mg__a:hover::after { transform: scaleX(1); }

/* 그룹패널 링크 오버 효과: drop_hover 옵션 연동 */
#hv-mg.hv-mg--card .hv-mg__a {
  border-radius: 4px;
}
#hv-mg.hv-mg--card .hv-mg__a:hover {
  background-color: rgba(var(--hv-rgb), 0.10);
}
#hv-mg.hv-mg-subfx-line.hv-mg--card .hv-mg__a:hover,
#hv-mg.hv-mg-subfx-line_center.hv-mg--card .hv-mg__a:hover,
#hv-mg.hv-mg-subfx-arrow.hv-mg--card .hv-mg__a:hover,
#hv-mg.hv-mg-subfx-circle.hv-mg--card .hv-mg__a:hover,
#hv-mg.hv-mg-subfx-bar.hv-mg--card .hv-mg__a:hover,
#hv-mg.hv-mg-subfx-zoom.hv-mg--card .hv-mg__a:hover,
#hv-mg.hv-mg-subfx-text.hv-mg--card .hv-mg__a:hover {
  background-color: transparent;
}
#hv-mg.hv-mg-subfx-line_center .hv-mg__a::after { transform-origin: center center; }
#hv-mg.hv-mg-subfx-bg .hv-mg__a:hover::after,
#hv-mg.hv-mg-subfx-fill .hv-mg__a::after,
#hv-mg.hv-mg-subfx-arrow .hv-mg__a::after,
#hv-mg.hv-mg-subfx-circle .hv-mg__a::after,
#hv-mg.hv-mg-subfx-bar .hv-mg__a::after,
#hv-mg.hv-mg-subfx-zoom .hv-mg__a::after,
#hv-mg.hv-mg-subfx-text .hv-mg__a:hover::after {
  transform: scaleX(0);
}
#hv-mg.hv-mg-subfx-bg.hv-mg--card .hv-mg__a:hover { background-color: rgba(var(--hv-rgb), 0.15); }
#hv-mg.hv-mg-subfx-fill .hv-mg__a { overflow: hidden; z-index: 0; }
#hv-mg.hv-mg-subfx-fill .hv-mg__a::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: rgba(var(--hv-rgb), 0.14);
  transform: scaleX(0); transform-origin: left center;
  transition: transform 0.42s var(--expo);
}
#hv-mg.hv-mg-subfx-fill .hv-mg__a:hover::before { transform: scaleX(1); }
#hv-mg.hv-mg-subfx-arrow .hv-mg__a,
#hv-mg.hv-mg-subfx-circle .hv-mg__a,
#hv-mg.hv-mg-subfx-bar .hv-mg__a { padding-inline: 18px; }
#hv-mg.hv-mg-subfx-arrow .hv-mg__a::before {
  content: '→'; position: absolute; left: 0; top: 50%;
  transform: translateY(-50%) translateX(-7px);
  opacity: 0; color: var(--hv-main); font-size: 0.95em; line-height: 1;
  transition: opacity 0.34s var(--expo), transform 0.34s var(--expo);
}
#hv-mg.hv-mg-subfx-arrow .hv-mg__a:hover::before { opacity: 1; transform: translateY(-50%) translateX(0); }
#hv-mg.hv-mg-subfx-circle .hv-mg__a::before {
  content: ''; position: absolute; left: 2px; top: 50%;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--hv-main);
  transform: translateY(-50%) scale(0); opacity: 0;
  transition: transform 0.38s var(--expo), opacity 0.38s var(--expo);
}
#hv-mg.hv-mg-subfx-circle .hv-mg__a:hover::before { transform: translateY(-50%) scale(1); opacity: 1; }
#hv-mg.hv-mg-subfx-bar .hv-mg__a::before {
  content: ''; position: absolute; left: 2px; top: 50%;
  width: 3px; height: 0; border-radius: 2px; background: var(--hv-main);
  transform: translateY(-50%);
  transition: height 0.34s var(--expo);
}
#hv-mg.hv-mg-subfx-bar .hv-mg__a:hover::before { height: 58%; }
#hv-mg.hv-mg-subfx-zoom .hv-mg__a { transform-origin: left center; }
#hv-mg.hv-mg-subfx-zoom .hv-mg__a:hover { transform: scale(1.06); }
#hv-mg.hv-mg-subfx-text .hv-mg__a:hover { color: var(--hv-drop-tx-hover); }

/* 카드형은 pseudo underline 충돌을 피하고 배경 밑줄로 확실히 표시 */
#hv-mg.hv-mg--card .hv-mg__a {
  background-image: none;
  background-repeat: no-repeat;
  background-position: left calc(100% - 1px);
  background-size: 0 2px;
  transition:
    color 0.22s var(--expo),
    transform 0.28s var(--expo),
    background-size 0.42s var(--expo),
    background-position 0.42s var(--expo),
    background-color 0.28s var(--expo);
}
#hv-mg.hv-mg--card .hv-mg__a:hover {
  background-color: transparent;
  background-size: 0 2px;
}
#hv-mg.hv-mg--card .hv-mg__a::after {
  display: none;
}
#hv-mg.hv-mg-subfx-line_center.hv-mg--card .hv-mg__a {
  background-position: center calc(100% - 1px);
}
#hv-mg.hv-mg-subfx-bg.hv-mg--card .hv-mg__a,
#hv-mg.hv-mg-subfx-fill.hv-mg--card .hv-mg__a,
#hv-mg.hv-mg-subfx-arrow.hv-mg--card .hv-mg__a,
#hv-mg.hv-mg-subfx-circle.hv-mg--card .hv-mg__a,
#hv-mg.hv-mg-subfx-bar.hv-mg--card .hv-mg__a,
#hv-mg.hv-mg-subfx-zoom.hv-mg--card .hv-mg__a,
#hv-mg.hv-mg-subfx-text.hv-mg--card .hv-mg__a {
  background-image: none;
}

.hv-sub { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  #hv-mg.hv-mg--card,
  #hv-mg.hv-mg--card .hv-mg__p,
  #hv-mg.hv-mg--card .hv-mg__main,
  #hv-mg.hv-mg--card .hv-mg__list li {
    transition: none !important;
    transform: none !important;
    clip-path: none !important;
  }
}
@media (max-width: 1100px) { #hv-mg { display: none !important; } }

/* ── nav hover → 헤더 배경 전환 (모든 모드 공통) ── */
/* 배경 변경: vertical 포함 전체 모드 */
#hv-hd.hv--nav-hover .hv-inner,
#hv-hd.hv-drop-mega.hv--mega-open .hv-inner {
  background: var(--hv-hd-hover-bg) !important;
  box-shadow: none !important;
}
/* 하단 radius 제거: horizontal/mega 전용 (dropdown과 flush 연결) */
#hv-hd.hv-drop-horizontal.hv--nav-hover .hv-inner,
#hv-hd.hv-drop-mega.hv--nav-hover .hv-inner,
#hv-hd.hv-drop-mega.hv--mega-open .hv-inner {
  border-radius: var(--hv-hd-radius, 0px) var(--hv-hd-radius, 0px) 0 0 !important;
}
/* sc 상태 sc-radius 적용 */
#hv-hd.hv--sc.hv-drop-horizontal.hv--nav-hover .hv-inner,
#hv-hd.hv--sc.hv-drop-mega.hv--nav-hover .hv-inner,
#hv-hd.hv--sc.hv-drop-mega.hv--mega-open .hv-inner {
  border-radius: var(--hv-hd-sc-radius, 0px) var(--hv-hd-sc-radius, 0px) 0 0 !important;
}
/* 텍스트·아이콘·햄버거 — 전체 모드 nav hover + mega open */
#hv-hd.hv--nav-hover .hv-a,
#hv-hd.hv--nav-hover .hv-search-btn,
#hv-hd.hv--nav-hover .hv-icons-toggle,
#hv-hd.hv--nav-hover .hv-cart-btn,
#hv-hd.hv--nav-hover .hv-tel-btn,
#hv-hd.hv--nav-hover .hbg_cd,
#hv-hd.hv-drop-mega.hv--mega-open .hv-a,
#hv-hd.hv-drop-mega.hv--mega-open .hv-search-btn,
#hv-hd.hv-drop-mega.hv--mega-open .hv-icons-toggle,
#hv-hd.hv-drop-mega.hv--mega-open .hv-cart-btn,
#hv-hd.hv-drop-mega.hv--mega-open .hv-tel-btn,
#hv-hd.hv-drop-mega.hv--mega-open .hbg_cd { color: var(--hv-hd-open-tx) !important; }

/* 오픈 상태의 전체 메뉴색보다 실제 hover/focus 메뉴의 사용자 지정 색을 우선한다.
   패널 band형은 활성 컬럼의 흰색 계약을 유지하므로 제외한다. */
#hv-hd.hv--nav-hover:not(.hv-drop-panel) .hv-li:hover > .hv-a,
#hv-hd.hv--nav-hover:not(.hv-drop-panel) .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv--nav-hover:not(.hv-drop-panel) .hv-a:focus-visible,
#hv-hd.hv-drop-mega.hv--mega-open .hv-li:hover > .hv-a,
#hv-hd.hv-drop-mega.hv--mega-open .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv-drop-mega.hv--mega-open .hv-a:focus-visible,
#hv-hd.hv-drop-panel.hv--panel-clean.hv--nav-hover .hv-li:hover > .hv-a,
#hv-hd.hv-drop-panel.hv--panel-clean.hv--nav-hover .hv-li.hv--submenu-active > .hv-a,
#hv-hd.hv-drop-panel.hv--panel-clean.hv--nav-hover .hv-a:focus-visible {
  color: var(--hv-tx-hover) !important;
}
#hv-hd.hv--nav-hover .hbg_cd,
#hv-hd.hv-drop-mega.hv--mega-open .hbg_cd { --bc: var(--hv-hd-open-tx); }
/* 로고: hover 로고(wht) 표시 */
#hv-hd.hv--nav-hover .hv-logo__def,
#hv-hd.hv-drop-mega.hv--mega-open .hv-logo__def { opacity: 0 !important; }
#hv-hd.hv--nav-hover .hv-logo__sc,
#hv-hd.hv-drop-mega.hv--mega-open .hv-logo__sc  { opacity: 0 !important; }
#hv-hd.hv--nav-hover .hv-logo__wht,
#hv-hd.hv-drop-mega.hv--mega-open .hv-logo__wht { opacity: 1 !important; transform: translateY(0) scale(1) !important; }

/* 중앙 2줄 배치에서는 메뉴 호버 때 서로 여백이 다른 로고 파일로 교체되면
   로고가 움직여 보인다. 기준 로고 슬롯을 유지해 위치를 완전히 고정한다. */
@media (min-width: 901px) {
  #hv-hd.hv--stacked:not(.hv--sc).hv--nav-hover .hv-logo__def,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-mega.hv--mega-open .hv-logo__def,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-megagroup.hv--mega-open .hv-logo__def {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
  }
  #hv-hd.hv--stacked:not(.hv--sc).hv--nav-hover .hv-logo__sc,
  #hv-hd.hv--stacked:not(.hv--sc).hv--nav-hover .hv-logo__wht,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-mega.hv--mega-open .hv-logo__sc,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-mega.hv--mega-open .hv-logo__wht,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-megagroup.hv--mega-open .hv-logo__sc,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-megagroup.hv--mega-open .hv-logo__wht {
    opacity: 0 !important;
  }
  /* 다른 여백의 hover 로고 파일로 갈아끼우지 않고 같은 기본 로고에 색 효과만 적용한다.
     따라서 형상 위치는 고정되고 메뉴 오픈 피드백은 그대로 보인다. */
  #hv-hd.hv--stacked:not(.hv--sc).hv--nav-hover .hv-logo__def img,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-mega.hv--mega-open .hv-logo__def img,
  #hv-hd.hv--stacked:not(.hv--sc).hv-drop-megagroup.hv--mega-open .hv-logo__def img {
    filter: brightness(0) invert(1);
  }
}

/* 배경 없음 모드 — hover/open 상태는 별도 처리하므로 제외 */
#hv-hd.hv--no-bg:not(.hv--mega-open):not(.hv--nav-hover) .hv-inner {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
/* 최상단만 투명 — 스크롤(hv--sc) 진입 시 자동 색상 적용 */
#hv-hd.hv--bg-trans-top:not(.hv--mega-open):not(.hv--nav-hover):not(.hv--sc) .hv-inner {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
/* 서브페이지(인덱스 아님) 대메뉴 배경 — --hv-menu-bg-sub 가 설정되면 hv--solid 기본 상태에 적용
   - hv--sc(스크롤): --hv-hd-sc-bg 가 우선
   - hv--nav-hover / hv--mega-open: hover/open 배경이 우선
   - hv--bg-trans-top / hv--no-bg 의 !important transparent 도 덮어씀 (서브페이지 우선)
   - 미설정 시 기존 --hv-hd-bg 동작 유지 */
#hv-hd.hv--solid:not(.hv--sc):not(.hv--mega-open):not(.hv--nav-hover) .hv-inner {
  background: var(--hv-menu-bg-sub, var(--hv-hd-bg)) !important;
}
/* PC 메뉴 / 햄버거 ON/OFF */
#hv-hd.hv--no-nav .hv-nav { display: none !important; }
#hv-hd.hv--no-hbg .hbg_cd { display: none !important; }
/* 위젯 표시 ON/OFF (빌더 라이브 프리뷰용 — 서버단 가드와 별개) */
body.hv--no-badge .hv-badge,
body.hv--no-badge .hv-mo-badge { display: none !important; }
body.hv--no-chat #aiChatWrap { display: none !important; }

/* === 디바이스별 아이콘 ON/OFF ============================================
   body 에 hv--no-{key}-pc / hv--no-{key}-mo 클래스가 붙으면 해당 디바이스에서만 숨김.
   브레이크포인트는 헤더 기본값(900px) 기준 — PC: ≥901px, MO: ≤900px */
@media (min-width: 901px) {
  body.hv--no-search-pc .hv-search-btn,
  body.hv--no-cart-pc   .hv-cart-btn,
  body.hv--no-chat-pc   #aiChatWrap,
  body.hv--no-hbg-pc    .hbg_cd,
  body.hv--no-icons-toggle-pc .hv-icons-toggle,
  body.hv--no-icons-toggle-pc .hv-icons-panel,
  body.hv--no-badge-pc  .hv-badge { display: none !important; }
}
@media (max-width: 900px) {
  body.hv--no-search-mo .hv-search-btn,
  body.hv--no-cart-mo   .hv-cart-btn,
  body.hv--no-chat-mo   #aiChatWrap,
  body.hv--no-hbg-mo    .hbg_cd,
  body.hv--no-icons-toggle-mo .hv-icons-toggle,
  body.hv--no-icons-toggle-mo .hv-icons-panel,
  body.hv--no-badge-mo  .hv-mo-badge { display: none !important; }
}
/* 전화 아이콘 — 모바일 전용. show_tel_mo 가 ON 일 때만 노출 */
.hv-tel-btn { display: none; }
@media (max-width: 900px) {
  body.hv--tel-mo .hv-tel-btn { display: inline-flex; }
}

/* 전화 아이콘 버튼 스타일 — 검색/카트와 동일 톤 */
.hv-tel-btn{
  position:relative;align-items:center;justify-content:center;
  background:transparent;border:0;cursor:pointer;
  color: var(--hv-tx-index, #111);
  padding:8px;text-decoration:none;
  transition: color .2s, transform .3s cubic-bezier(.34,1.56,.64,1);
}
#hv-hd.hv--solid .hv-tel-btn { color: var(--hv-tx-index); }
#hv-hd.hv--sc    .hv-tel-btn { color: var(--hv-tx-sc); }
#hv-hd.hv--trans .hv-tel-btn { color: var(--hv-tx-sub); }
.hv-tel-btn:hover  { color: var(--hv-main); transform: translateY(-2px) scale(1.06); }
.hv-tel-btn:active { transform: translateY(0) scale(.96); transition-duration:.08s; }
.hv-tel-btn svg    { width:20px; height:20px; display:block; stroke: currentColor; }

/* --- block 06 --- */

:root {
  --hv-dr-panel : #ffffff;
  --hv-dr-panel2: #f8f8f8;
  --hv-dr-text  : #111111;
  --hv-dr-text2 : #555555;
  --hv-dr-text3 : #8a8a8a;
  --hv-dr-line  : rgba(0,0,0,0.08);
  --hv-dr-line2 : rgba(255,255,255,0.14);
}

/* 오버레이 */
#hv-ov {
  position: fixed; top:0;right:0;bottom:0;left:0;inset:0;
  background: rgba(5,5,5,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0; visibility: hidden;
  transition: opacity 0.5s var(--expo), visibility 0.5s var(--expo);
  z-index: var(--z-ov);
}
#hv-ov.hv--on { opacity: 1; visibility: visible; }

/* 드로어 */
#hv-dr {
  /* 상단 띠팝업이 보이면 그 아래부터 드로어를 연다.
     띠가 없거나 닫히면 fallback/동적 변수 값이 0이라 기존 전체 높이와 같다. */
  position: fixed; top: var(--hive-top-notice-h, 0px); right: 0;
  width: min(1980px, 100vw);
  height: calc(100vh - var(--hive-top-notice-h, 0px));
  height: calc(100dvh - var(--hive-top-notice-h, 0px));
  display: flex; flex-direction: row;
  z-index: var(--z-dr);
  opacity: 0; visibility: hidden;
  /* 닫힘: opacity 패널 슬라이드 후 페이드, visibility 완전 종료 후 숨김 */
  transition: opacity 0.3s var(--expo) 0.65s, visibility 0s step-end 1.0s;
  box-shadow: -40px 0 100px rgba(0,0,0,0.20);
}
#hv-dr.hv--open {
  opacity: 1; visibility: visible;
  /* 열림: 즉시 visible, opacity 빠르게 */
  transition: opacity 0.4s var(--expo), visibility 0s;
}

/* 좌측 브랜딩 */
.hv-dr__L {
  position: relative;
  width: 25%; min-width: 330px; flex-shrink: 0;
  overflow: hidden; padding: 60px 44px 46px;
  display: flex; flex-direction: column; justify-content: space-between;
  background: var(--hv-main); opacity: 0.6;
  transform: translateX(-100%);
  transition: transform 0.7s var(--expo);
}
#hv-dr.hv--open .hv-dr__L {
  transform: translateX(0);
  transition: transform 1.0s var(--expo) 0.08s;
}

/* 드로어 로고 */
.hv-dr__logo {
  position: relative; z-index: 2;
  display: block; width: 146px;
  transform: translateY(18px); opacity: 0;
  transition: opacity 0.2s var(--expo), transform 0.2s var(--expo);
}
#hv-dr.hv--open .hv-dr__logo {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.65s var(--expo) 0.50s, transform 0.8s var(--expo) 0.50s;
}
.hv-dr__logo img { width: 100%; height: auto; display: block; }

/* 드로어 연락처 */
.hv-dr__contact {
  position: relative; z-index: 2;
  transform: translateY(24px); opacity: 0;
  transition: opacity 0.2s var(--expo), transform 0.2s var(--expo);
}
#hv-dr.hv--open .hv-dr__contact {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.7s var(--expo) 0.65s, transform 0.85s var(--expo) 0.65s;
}

/* 좌측 정보 행 */
.hv-dr__info-row {
  display: flex; align-items: flex-start; gap: 10px;
  margin-bottom: 18px;
  font-size: 12px; line-height: 1.85;
  color: rgba(255,255,255,0.65);
  font-family: var(--font-pret, 'Pretendard', sans-serif);
  word-break: keep-all;
}
.hv-dr__info-row > i {
  flex-shrink: 0; margin-top: 2px;
  font-size: 16px; color: rgba(255,255,255,0.8);
}
.hv-dr__tel {
  text-decoration: none; color: #fff;
  font-size: 16px; font-weight: 600;
  transition: color 0.45s var(--expo);
}
.hv-dr__tel:hover { color: rgba(255,255,255,0.8); }
.hv-dr__tel > i { color: #fff; }

/* SNS — over_line 패턴 */
.hv-dr__sns { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.hv-dr__sns-a {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  text-decoration: none; color: rgba(255,255,255,0.7);
  transition: color 0.45s var(--expo);
}
.hv-dr__sns-a::after {
  content: '';
  position: absolute; left: 50%; bottom: 0;
  width: 18px; height: 1px;
  background: #fff;
  transform: translateX(-50%) scaleX(0);
  transition: transform 0.48s var(--expo);
}
.hv-dr__sns-a:hover { color: #fff; }
.hv-dr__sns-a:hover::after { transform: translateX(-50%) scaleX(1); }
.hv-dr__sns-a i { font-size: 18px; }

/* 우측 패널 */
.hv-dr__R {
  position: relative; flex: 1;
  display: flex; flex-direction: column;
  background: rgba(255,255,255,1); overflow: hidden;
  transform: translateX(100%);
  transition: transform 0.7s var(--expo);
}
#hv-dr.hv--open .hv-dr__R {
  transform: translateX(0);
  transition: transform 1.0s var(--expo) 0.14s;
}
.hv-dr__R::after {
  content: '';
  position: absolute; top: 0; right: 0;
  width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(var(--hv-rgb),0.08), rgba(var(--hv-rgb),0) 72%);
  pointer-events: none;
}

/* 상단 바 */
.hv-dr__top {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: space-between;
  padding: 26px 44px;
  /**border-bottom: 1px solid rgba(0,0,0,0.06);
  background: rgba(255,255,255,0.82);**/
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transform: translateY(-20px); opacity: 0;
  transition: opacity 0.2s var(--expo), transform 0.2s var(--expo);
}
#hv-dr.hv--open .hv-dr__top {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.55s var(--expo) 0.55s, transform 0.75s var(--expo) 0.55s;
}

/* 인증 버튼 — over_line 패턴 */
.hv-dr__auth { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.hv-dr__auth-a {
  position: relative;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 0;
  background: transparent; border: none;
  color: #555; text-decoration: none;
  font-size: 13px; font-family: var(--font-pret, 'Pretendard', sans-serif);
  transition: color 0.45s var(--expo);
}
.hv-dr__auth-a i { font-size: 15px; }
.hv-dr__auth-a::after {
  content: '';
  position: absolute; left: 0; bottom: 0;
  width: 100%; height: 1px;
  background: var(--hv-main);
  transform: scaleX(0); transform-origin: left center;
  transition: transform 0.48s var(--expo);
}
.hv-dr__auth-a:hover { color: var(--hv-main); }
.hv-dr__auth-a:hover::after { transform: scaleX(1); }

/* 닫기 버튼 — PC 숨김 (햄버거 CLOSE 토글로 대체) */
.hv-dr__close { display: none; }

/* 메뉴 그리드 */
.hv-dr__grid {
  position: relative; z-index: 2;
  flex: 1; overflow-y: auto;
  padding: 46px 44px 38px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 42px 24px; align-content: start;
}
.hv-dr__grid::-webkit-scrollbar { width: 5px; }
.hv-dr__grid::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.12); border-radius: 999px; }

/* 메뉴 컬럼 */
.hv-dr__col {
  position: relative; padding: 0;
  transform: translateY(30px); opacity: 0;
  transition: opacity 0.15s var(--expo), transform 0.15s var(--expo);
}
#hv-dr.hv--open .hv-dr__col {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.6s var(--expo), transform 0.8s var(--expo);
}
#hv-dr.hv--open .hv-dr__col:nth-child(1) { transition-delay: 0.60s; }
#hv-dr.hv--open .hv-dr__col:nth-child(2) { transition-delay: 0.68s; }
#hv-dr.hv--open .hv-dr__col:nth-child(3) { transition-delay: 0.76s; }
#hv-dr.hv--open .hv-dr__col:nth-child(4) { transition-delay: 0.84s; }
#hv-dr.hv--open .hv-dr__col:nth-child(5) { transition-delay: 0.92s; }
#hv-dr.hv--open .hv-dr__col:nth-child(6) { transition-delay: 1.00s; }
#hv-dr.hv--open .hv-dr__col:nth-child(7) { transition-delay: 1.08s; }
#hv-dr.hv--open .hv-dr__col:nth-child(8) { transition-delay: 1.16s; }
#hv-dr.hv--open .hv-dr__col:nth-child(9)  { transition-delay: 1.24s; }
#hv-dr.hv--open .hv-dr__col:nth-child(10) { transition-delay: 1.32s; }
#hv-dr.hv--open .hv-dr__col:nth-child(11) { transition-delay: 1.40s; }
#hv-dr.hv--open .hv-dr__col:nth-child(12) { transition-delay: 1.48s; }
#hv-dr.hv--open .hv-dr__col:nth-child(13) { transition-delay: 1.56s; }
#hv-dr.hv--open .hv-dr__col:nth-child(14) { transition-delay: 1.64s; }
#hv-dr.hv--open .hv-dr__col:nth-child(15) { transition-delay: 1.72s; }

.hv-dr__col-inner {
  position: relative;
  padding: 22px 20px 18px;
  border-radius: 0;
  background: transparent;
  border: none;
  border-left: 1px solid transparent;
  transition:
    transform 0.55s var(--expo),
    border-color 0.52s var(--expo),
    background 0.52s var(--expo);
}
/* 좌측 액센트 라인 — 아래서 위로 reveal */
.hv-dr__col-inner::before {
  content: '';
  position: absolute;
  left: 0; top: 20px; bottom: 20px;
  width: 1px;
  background: var(--hv-main);
  transform: scaleY(0);
  transform-origin: bottom center;
  transition: transform 0.55s var(--expo);
}
.hv-dr__col:hover .hv-dr__col-inner {
  transform: translateY(-3px);
  background: rgba(var(--hv-rgb), 0.03);
}
.hv-dr__col:hover .hv-dr__col-inner::before {
  transform: scaleY(1);
}

/* 컬럼 헤더 */
.hv-dr__col-h {
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-bottom: 14px; padding-bottom: 14px;
  text-decoration: none;
  border-bottom: 1px solid rgba(var(--hv-rgb),0.16);
  color: var(--hv-main);
  transition: color 0.45s var(--expo);
}
.hv-dr__col-left { display: flex; align-items: center; gap: 10px; min-width: 0; }
.hv-dr__col-icon {
  width: 34px; height: 34px; border-radius: 0;
  display: flex; align-items: center; justify-content: center;
  background: transparent;
  color: rgba(var(--hv-rgb), 0.5);
  flex-shrink: 0;
  transition:
    transform 0.52s var(--expo),
    color 0.48s var(--expo),
    opacity 0.48s var(--expo);
}
.hv-dr__col:hover .hv-dr__col-icon {
  transform: translateY(-2px);
  color: var(--hv-main);
  opacity: 1;
}
.hv-dr__col-icon i { font-size: 14px; }
.hv-dr__col-tit {
  display: block; min-width: 0;
  font-size: var(--hv-mo-sz); line-height: 1.35;
  color: var(--hv-main); word-break: keep-all;
  font-family: var(--font-pret, 'Pretendard', sans-serif);
}
.hv-dr__col-arr {
  color: rgba(var(--hv-rgb),0.48);
  transition: transform 0.4s var(--spring), color 0.35s var(--expo);
}
.hv-dr__col:hover .hv-dr__col-arr { transform: translateX(4px); color: var(--hv-main); }
.hv-dr__col-arr i { font-size: 12px; }

/* 서브메뉴 */
.hv-dr__sub-ul { list-style: none; margin: 0; padding: 0; }
.hv-dr__sub-ul li + li { margin-top: 2px; }

.hv-dr__sub-a {
  position: relative;
  display: flex; align-items: center; gap: 10px;
  min-height: 42px; padding: 10px 0 10px 2px;
  color: #888; text-decoration: none;
  font-size: var(--hv-mo-ssz); line-height: 1.5;
  font-family: var(--font-pret, 'Pretendard', sans-serif);
  letter-spacing: 0.01em;
  transition:
    color 0.48s var(--expo),
    transform 0.48s var(--expo);
}
/* 좌측 dot — 기본 숨김, hover 시 등장 */
.hv-dr__sub-a::before {
  content: '';
  flex-shrink: 0;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: var(--hv-main);
  opacity: 0;
  transform: scale(0);
  transition: opacity 0.42s var(--expo), transform 0.42s var(--expo);
}
.hv-dr__sub-a::after { display: none; }
.hv-dr__sub-a .sub-arr {
  font-size: 11px;
  color: transparent;
  flex-shrink: 0; margin-left: auto;
  opacity: 0;
  transition: color 0.42s var(--expo), opacity 0.42s var(--expo), transform 0.48s var(--expo);
}
.hv-dr__sub-a:hover {
  color: var(--hv-main);
  transform: translateX(4px);
}
.hv-dr__sub-a:hover::before {
  opacity: 1;
  transform: scale(1);
}
.hv-dr__sub-a:hover .sub-arr {
  color: var(--hv-main);
  opacity: 1;
  transform: translateX(3px);
}

/* 모바일 드로어 */
@media (max-width: 900px) {
  #hv-ov { display: none; }

  #hv-dr {
    width: 100vw;
    height: calc(100vh - var(--hive-top-notice-h, 0px));
    height: calc(100dvh - var(--hive-top-notice-h, 0px));
    flex-direction: column;
    box-shadow: none;
    background: #fff;
    z-index: var(--z-dr);   /* 챗봇(9999) 위로 올리기 위해 :root --z-dr(10000) 따라감 */
    /* 닫힘 상태 */
    opacity: 0; visibility: hidden;
    transition: opacity 0.5s var(--expo), visibility 0.5s var(--expo);
  }
  #hv-dr.hv--open {
    opacity: 1; visibility: visible;
    transition: opacity 0.5s var(--expo), visibility 0s;
  }

  .hv-dr__L {
    width: 100%; min-width: 0; flex-shrink: 0;
    padding: 8px 20px;
    background: transparent;
    display: flex; flex-direction: row; align-items: center; justify-content: flex-end;
    transform: none; transition: none;
    border-bottom: 1px solid rgba(0,0,0,0.05);
  }
  #hv-dr.hv--open .hv-dr__L { transform: none; }

  .hv-dr__logo {
    width: min(42vw, 180px); height: 40px; margin: 0;
    transform: translateY(-10px); opacity: 0;
    transition: opacity 0.2s var(--expo), transform 0.2s var(--expo);
  }
  /* 가로로 긴 모바일 로고도 세로가 지나치게 작아지거나 찌그러지지 않게
     안정된 슬롯 안에서 원본 비율로 맞춘다. */
  .hv-dr__logo img {
    width: 100%; height: 100%;
    object-fit: contain; object-position: right center;
  }
  #hv-dr.hv--open .hv-dr__logo {
    opacity: 1; transform: translateY(0);
    transition: opacity 0.5s var(--expo) 0.08s, transform 0.55s var(--expo) 0.08s;
  }
  .hv-dr__logo .dr-logo-pc { display: none; }
  .hv-dr__logo .dr-logo-mo { display: block; }
  .hv-dr__contact { display: none; }

  .hv-dr__R {
    flex: 1; background: transparent;
    overflow-y: auto; overflow-x: hidden;
    scrollbar-width: none; -ms-overflow-style: none;
    transform: none; transition: none;
  }
  .hv-dr__R::-webkit-scrollbar { display: none; }
  #hv-dr.hv--open .hv-dr__R { transform: none; }
  .hv-dr__R::after { display: none; }

  .hv-dr__top.pc { display: none; }

  .hv-dr__auth-a {
    height: 36px; padding: 0 14px;
    background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.08);
    box-shadow: none; font-size: 12px;
  }
  .hv-dr__close {
    display: flex;
    width: 42px; height: 42px;
    border: 0; border-radius: 50%;
    align-items: center; justify-content: center;
    background: transparent; color: var(--hv-dr-tx2);
    cursor: pointer; box-shadow: none;
    transition: transform 0.45s var(--spring);
  }
  .hv-dr__close:hover { color: var(--hv-main); transform: rotate(90deg); }

  .hv-dr__grid {
    display: block; padding: 0; gap: 0;
    flex: none; overflow: visible;
    grid-template-columns: none; align-content: unset;
  }

  .hv-dr__col {
    margin-bottom: 0; border-bottom: 1px solid rgba(0,0,0,0.05);
    opacity: 0; transform: translateY(14px);
    transition: opacity 0.15s var(--expo), transform 0.15s var(--expo);
  }
  #hv-dr.hv--open .hv-dr__col {
    opacity: 1; transform: translateY(0);
    transition: opacity 0.5s var(--expo), transform 0.55s var(--expo);
  }
  #hv-dr.hv--open .hv-dr__col:nth-child(1) { transition-delay: 0.24s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(2) { transition-delay: 0.30s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(3) { transition-delay: 0.36s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(4) { transition-delay: 0.42s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(5) { transition-delay: 0.48s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(6) { transition-delay: 0.54s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(7) { transition-delay: 0.60s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(8) { transition-delay: 0.66s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(9)  { transition-delay: 0.72s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(10) { transition-delay: 0.78s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(11) { transition-delay: 0.84s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(12) { transition-delay: 0.90s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(13) { transition-delay: 0.96s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(14) { transition-delay: 1.02s; }
  #hv-dr.hv--open .hv-dr__col:nth-child(15) { transition-delay: 1.08s; }
  .hv-dr__col-inner {
    padding: 0; border-radius: 0; background: transparent; border: 0; box-shadow: none;
  }
  .hv-dr__col:hover .hv-dr__col-inner {
    transform: none; border-color: transparent; box-shadow: none; background: transparent;
  }

  .hv-dr__col-h {
    margin: 0; padding: 17px 20px; border-bottom: 0;
    display: flex; align-items: center; justify-content: space-between;
    cursor: pointer; color: #1a1a1a;
    font-size: 17px; font-weight: 500;
    opacity: 1; transform: none;
    transition: color 0.42s var(--expo);
  }

  .hv-dr__col-left { display: none; }
  .hv-dr__col-icon { display: none; }
  .hv-dr__col-arr i { font-size: 15px; color: rgba(0,0,0,0.2); transition: transform 0.42s var(--expo), color 0.3s var(--expo); }

  .hv-dr__col.hv--open .hv-dr__col-h { color: var(--hv-main); }
  .hv-dr__col.hv--open .hv-dr__col-arr i { transform: rotate(90deg); color: var(--hv-main); }

  /* 모바일 아코디언 화살표 */
  .mo-arrow {
    width: 22px; height: 22px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    color: rgba(0,0,0,0.2);
    transition: transform 0.42s var(--expo), color 0.3s var(--expo);
  }
  .mo-arrow .ph-ico { width: 15px; height: 15px; }
  .hv-dr__col.hv--open .mo-arrow { transform: rotate(90deg); color: var(--hv-main); }
  .hv-dr__col-name { flex: 1; }

  .hv-dr__sub-ul {
    display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s var(--expo);
    background: rgba(0,0,0,0.02);
  }
  .hv-dr__col.hv--open .hv-dr__sub-ul { grid-template-rows: 1fr; }
  .hv-dr__sub-ul-inner { overflow: hidden; padding: 0 0 0 20px; }

  .hv-dr__sub-a {
    min-height: 40px; padding: 13px 20px 13px 0;
    color: #999; transform: none;
    display: flex; align-items: center; justify-content: space-between;
    font-size: 14px; letter-spacing: 0.01em;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    transition: color 0.42s var(--expo);
  }
  .hv-dr__sub-a::before { display: none; }
  .hv-dr__sub-a::after { display: none; }
  .hv-dr__sub-a .sub-arr {
    font-size: 11px; color: transparent; flex-shrink: 0;
    opacity: 0;
    transition: color 0.42s var(--expo), opacity 0.42s var(--expo), transform 0.42s var(--expo);
  }
  .hv-dr__sub-a:hover { transform: none; color: var(--hv-main); }
  .hv-dr__sub-a:hover .sub-arr { color: var(--hv-main); opacity: 1; transform: translateX(3px); }
  /* 하위 메뉴 아이템 스태거 딜레이 */
  .hv-dr__sub-ul-inner li {
    opacity: 0; transform: translateX(-8px);
    transition: opacity 0.35s var(--expo), transform 0.4s var(--expo);
  }
  .hv-dr__col.hv--open .hv-dr__sub-ul-inner li { opacity: 1; transform: translateX(0); }
  .hv-dr__col.hv--open .hv-dr__sub-ul-inner li:nth-child(1) { transition-delay: 0.08s; }
  .hv-dr__col.hv--open .hv-dr__sub-ul-inner li:nth-child(2) { transition-delay: 0.13s; }
  .hv-dr__col.hv--open .hv-dr__sub-ul-inner li:nth-child(3) { transition-delay: 0.18s; }
  .hv-dr__col.hv--open .hv-dr__sub-ul-inner li:nth-child(4) { transition-delay: 0.23s; }
  .hv-dr__col.hv--open .hv-dr__sub-ul-inner li:nth-child(5) { transition-delay: 0.28s; }
  .hv-dr__col.hv--open .hv-dr__sub-ul-inner li:nth-child(6) { transition-delay: 0.33s; }
  .hv-dr__col.hv--open .hv-dr__sub-ul-inner li:nth-child(7) { transition-delay: 0.38s; }

  .hv-dr__sub-ul-inner li:last-child .hv-dr__sub-a { border-bottom: 0; }
  .hv-dr__sub-ul-inner li:last-child .hv-dr__sub-a::after { display: none; }

  /* 모바일 배경 — clip-path 비활성 */
  #hv-dr-bg1, #hv-dr-bg2 { display: none !important; }
}
@media (max-width: 480px) {
  .hv-dr__L    { padding: 18px 16px 8px; }
  .hv-dr__top  { padding: 8px 16px 14px; }
  .hv-dr__col-h { padding: 17px 18px; }
  .hv-dr__sub-a { padding: 12px 18px; }
}

/* --- block 07 --- */

/* 모바일 검색창 — sticky */
.hv-mo-sch {
  position: sticky; top: 0; z-index: 5;
  padding: 10px 20px;
  background: rgba(250,249,247,0.96);
  backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px);
  opacity: 0; transform: translateY(-8px);
  transition: opacity 0.3s var(--expo) 0.48s, transform 0.3s var(--expo) 0.48s;
}
#hv-dr.hv--open .hv-mo-sch { opacity: 1; transform: translateY(0); }
.hv-mo-sch__form {
  display: flex; align-items: center;
  background: transparent; border-radius: 0; overflow: hidden;
  border: none; border-bottom: 1px solid rgba(0,0,0,0.1);
}
.hv-mo-sch__input {
  flex: 1; height: 44px; padding: 0 16px;
  border: 0; background: transparent; font-size: 14px; color: #222;
  outline: none; font-family: var(--font-pret, 'Pretendard', sans-serif);
}
.hv-mo-sch__submit {
  width: 44px; height: 44px; border: 0; background: transparent;
  color: #666; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: color 0.2s var(--expo);
}
.hv-mo-sch__submit:hover { color: var(--hv-main); }

/* 이벤트 카드 */
.hv-mo-evt {
  padding: 14px 20px 16px;
  opacity: 0; transform: translateY(-6px);
  transition: opacity 0.3s var(--expo) 0.5s, transform 0.3s var(--expo) 0.5s;
}
#hv-dr.hv--open .hv-mo-evt { opacity: 1; transform: translateY(0); }
.hv-mo-evt__title { font-size: 11px; letter-spacing: 0.1em; color: #999; margin-bottom: 10px; font-family: var(--font-pret, 'Pretendard', sans-serif); }
.hv-mo-evt__list { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px; }
.hv-mo-evt__list::-webkit-scrollbar { height: 2px; }
.hv-mo-evt__list::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.1); border-radius: 2px; }
.hv-mo-evt__card {
  flex-shrink: 0; width: 120px; height: 80px;
  border-radius: 0; position: relative; overflow: hidden;
  cursor: pointer; background: #eee;
}
.hv-mo-evt__card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hv-mo-evt__card::before {
  content: ''; position: absolute; top:0;right:0;bottom:0;left:0;inset:0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 50%);
  z-index: 1;
}
.hv-mo-evt__card-tx {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 8px 10px; z-index: 2;
  transform: translateY(4px); opacity: 0.85;
  transition: transform 0.3s var(--expo), opacity 0.3s var(--expo);
}
.hv-mo-evt__card:hover .hv-mo-evt__card-tx { transform: translateY(0); opacity: 1; }
.hv-mo-evt__card-tx span { display: block; font-size: 11px; color: #fff; font-family: var(--font-pret, 'Pretendard', sans-serif); line-height: 1.3; }

/* 회원 영역 */
.hv-mo-member {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 20px; border-bottom: 1px solid rgba(0,0,0,0.07);
  opacity: 0; transform: translateY(-6px);
  transition: opacity 0.3s var(--expo) 0.52s, transform 0.3s var(--expo) 0.52s;
}
#hv-dr.hv--open .hv-mo-member { opacity: 1; transform: translateY(0); }
.hv-mo-thumb { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 2px solid rgba(var(--hv-rgb),0.2); cursor: pointer; }
.hv-mo-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hv-mo-member-info { flex: 1; }
.hv-mo-member-name { font-size: 14px; font-weight: 500; color: #111; font-family: var(--font-pret, 'Pretendard', sans-serif); }
.hv-mo-member-sub  { font-size: 11px; color: #999; font-family: var(--font-pret, 'Pretendard', sans-serif); }
.hv-mo-member-btn  { display: flex; gap: 6px; }
.hv-mo-member-btn a {
  font-size: 11px; color: #666; text-decoration: none;
  padding: 4px 10px; border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.1);
  transition: background 0.2s var(--expo), color 0.2s var(--expo);
}
.hv-mo-member-btn a:hover { background: var(--hv-main); color: #fff; border-color: var(--hv-main); }

/* 하단 3단 구성 */
.hv-mo-bottom {
  border-top: 1px solid rgba(0,0,0,0.06);
  padding: 14px 20px 18px;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  opacity: 0; transform: translateY(10px);
  transition: opacity 0.5s var(--expo) 0.58s, transform 0.55s var(--expo) 0.58s;
}
#hv-dr.hv--open .hv-mo-bottom { opacity: 1; transform: translateY(0); }

/* SNS — flat, no background */
.hv-mo-sns {
  display: flex; align-items: center; gap: 18px; justify-content: center;
  padding: 0;
  border: none;
}
.hv-mo-sns__a {
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px;
  color: rgba(0,0,0,0.28); text-decoration: none;
  background: transparent; border-radius: 0;
  transition: color 0.28s var(--expo), transform 0.35s var(--spring);
}
.hv-mo-sns__a:hover { color: var(--hv-main); transform: translateY(-3px); }
.hv-mo-sns__a i { font-size: 20px; }

/* 구분선 */
.hv-mo-bottom-divider { width: 100%; height: 1px; background: rgba(0,0,0,0.05); }

/* 하단 바 — 로그인/회원가입 + 진료배지 */
.hv-mo-bottom-bar {
  display: flex; align-items: center;
  width: 100%; gap: 0;
}

/* 로그인/회원가입 — btn_sf */
.hv-mo-auth { display: flex; align-items: center; gap: 0; flex: 1; min-width: 0; }
.hv-mo-auth-sep { width: 1px; height: 14px; background: rgba(0,0,0,0.1); flex-shrink: 0; }
.hv-mo-auth-btn {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
  height: 36px; flex: 1; min-width: 0;
  border: 0; background: transparent;
  cursor: pointer; text-decoration: none;
}
.hv-mo-auth-btn .sf_bg { position: absolute; top:0;right:0;bottom:0;left:0;inset:0; background: rgba(var(--hv-rgb),0.06); transform: translateY(102%); transition: transform 0.42s var(--expo); z-index: 0; }
.hv-mo-auth-btn .sf_f,
.hv-mo-auth-btn .sf_b { position: absolute; top:0;right:0;bottom:0;left:0;inset:0; display: flex; align-items: center; justify-content: center; gap: 5px; z-index: 1; font-family: var(--font-pret, 'Pretendard', sans-serif); font-size: 12px; transition: transform 0.42s var(--expo), opacity 0.32s var(--expo); white-space: nowrap; }
.hv-mo-auth-btn .sf_f { color: #888; transform: translateY(0); opacity: 1; }
.hv-mo-auth-btn .sf_b { color: var(--hv-main); font-weight: 500; transform: translateY(102%); opacity: 0; }
.hv-mo-auth-btn .sf_b i { font-size: 12px; }
.hv-mo-auth-btn:hover .sf_bg { transform: translateY(0); }
.hv-mo-auth-btn:hover .sf_f  { transform: translateY(-102%); opacity: 0; }
.hv-mo-auth-btn:hover .sf_b  { transform: translateY(0); opacity: 1; }

/* 진료배지 — 고정 너비, 찌그러짐 방지 */
.hv-mo-badge {
  display: flex; align-items: center; gap: 6px;
  flex-shrink: 0; padding-left: 14px;
  border-left: 1px solid rgba(0,0,0,0.08);
}
.hv-mo-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.hv-mo-dot.open   { background: #22c55e; animation: hvPulse 2s infinite; }
.hv-mo-dot.lunch  { background: #f59e0b; }
.hv-mo-dot.closed { background: #9ca3af; }
.hv-mo-badge-txt { font-size: 12px; color: #999; font-family: var(--font-pret, 'Pretendard', sans-serif); white-space: nowrap; }

@media (min-width: 901px) {
  .hv-mo-sch, .hv-mo-evt, .hv-mo-member, .hv-mo-bottom,
  .mo-arrow, .dr-logo-mo,
  #hv-dr-bg1, #hv-dr-bg2 { display: none !important; }
}

/* --- block 08 --- */

#hv-sch {
  position: fixed; inset: 10px; z-index: var(--z-sch);
  clip-path: circle(0% at var(--sch-ox, 95%) var(--sch-oy, 36px));
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border-radius: 20px;
  box-shadow: 0 8px 60px rgba(0,0,0,0.12);
  visibility: hidden;
  transition: clip-path 0.45s var(--expo), visibility 0.45s var(--expo);
  display: flex; flex-direction: column;
  overflow: hidden;
}
#hv-sch.hv--on {
  clip-path: circle(150% at var(--sch-ox, 95%) var(--sch-oy, 36px));
  visibility: visible;
  transition: clip-path 0.9s var(--expo), visibility 0.9s var(--expo);
}
@media (max-width: 900px) {
  #hv-sch { top:0;right:0;bottom:0;left:0;inset:0; border-radius: 0; box-shadow: none; }
}

/* 상단바 */
.sch-topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 24px; height: 48px; flex-shrink: 0;
  opacity: 0; transform: translateY(-8px);
  transition: opacity 0s, transform 0s;
}
#hv-sch.hv--on .sch-topbar {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.5s var(--expo) 0.35s, transform 0.55s var(--expo) 0.35s;
}
.sch-back {
  width: 36px; height: 36px; border: 0; background: transparent;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  color: #333; transition: color 0.22s var(--expo), transform 0.3s var(--spring);
}
.sch-back:hover { color: var(--hv-main); transform: translateX(-3px); }
.sch-back .ph-ico { width: 20px; height: 20px; }

/* 타이틀 */
.sch-title {
  padding: 8px 24px 24px; flex-shrink: 0;
  opacity: 0; transform: translateY(12px);
  transition: opacity 0s, transform 0s;
}
#hv-sch.hv--on .sch-title {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.55s var(--expo) 0.45s, transform 0.6s var(--expo) 0.45s;
}
.sch-title p {
  font-family: var(--font-pret, 'Pretendard', sans-serif);
  font-size: 28px; font-weight: 700; color: #111;
  letter-spacing: -0.02em; line-height: 1.2;
}

/* 입력창 */
.sch-input-wrap {
  padding: 0 24px; flex-shrink: 0;
  opacity: 0; transform: translateY(10px);
  transition: opacity 0s, transform 0s;
}
#hv-sch.hv--on .sch-input-wrap {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.55s var(--expo) 0.55s, transform 0.6s var(--expo) 0.55s;
}
.sch-input-row {
  display: flex; align-items: center; gap: 12px;
  border-bottom: 2px solid #e8e8e8;
  padding-bottom: 10px;
  transition: border-color 0.25s var(--expo);
}
.sch-input-row:focus-within { border-color: var(--hv-main); }
.sch-input {
  flex: 1; border: 0; outline: none; background: transparent;
  font-family: var(--font-pret, 'Pretendard', sans-serif);
  font-size: 16px; color: #111; caret-color: var(--hv-main);
}
.sch-input::placeholder { color: #bbb; }
.sch-clear-btn {
  width: 26px; height: 26px; border: 0; border-radius: 50%;
  background: #ebebeb; color: #999; cursor: pointer;
  display: none; align-items: center; justify-content: center; flex-shrink: 0;
  transition: background 0.18s var(--expo), color 0.18s var(--expo);
}
.sch-clear-btn.show { display: flex; }
.sch-clear-btn:hover { background: #ddd; color: #555; }
.sch-clear-btn .ph-ico { width: 12px; height: 12px; }
.sch-submit-btn {
  width: 36px; height: 36px; border: 0; background: transparent;
  cursor: pointer; flex-shrink: 0; color: #bbb;
  display: flex; align-items: center; justify-content: center;
  transition: color 0.22s var(--expo), transform 0.3s var(--spring);
}
.sch-submit-btn:hover { color: var(--hv-main); transform: scale(1.1); }
.sch-submit-btn .ph-ico { width: 20px; height: 20px; }

/* 바디 — 스크롤 */
.sch-body { flex: 1; overflow-y: auto; padding: 0; scrollbar-width: none; }
.sch-body::-webkit-scrollbar { display: none; }

/* 섹션 */
.sch-section {
  padding: 28px 24px 0;
  opacity: 0; transform: translateY(14px);
  transition: opacity 0s, transform 0s;
}
.sch-section:last-child { padding-bottom: 32px; }
#hv-sch.hv--on .sch-section:nth-child(1) {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.55s var(--expo) 0.65s, transform 0.6s var(--expo) 0.65s;
}
#hv-sch.hv--on .sch-section:nth-child(2) {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.55s var(--expo) 0.78s, transform 0.6s var(--expo) 0.78s;
}
#hv-sch.hv--on .sch-section:nth-child(3) {
  opacity: 1; transform: translateY(0);
  transition: opacity 0.55s var(--expo) 0.91s, transform 0.6s var(--expo) 0.91s;
}
.sch-section-label {
  font-size: 15px; font-weight: 700; color: #111;
  letter-spacing: -0.01em; margin-bottom: 14px;
  font-family: var(--font-pret, 'Pretendard', sans-serif);
}

/* 추천 검색어 — pill, 2줄 제한 + 더보기 */
.sch-tags-wrap { position: relative; }
.sch-tags { display: flex; flex-wrap: wrap; gap: 8px; max-height: 76px; overflow: hidden; }
.sch-tags.is-open { max-height: none; }
.sch-tag {
  display: inline-flex; align-items: center;
  padding: 8px 14px; border-radius: 999px;
  border: none; background: #f5f5f5; cursor: pointer;
  font-family: var(--font-pret, 'Pretendard', sans-serif); font-size: 13px; color: #555;
  transition: color 0.22s var(--expo), background 0.22s var(--expo), transform 0.3s var(--spring);
}
.sch-tag:hover {
  color: var(--hv-main); background: rgba(var(--hv-rgb), 0.08); transform: translateY(-2px);
}
.sch-tag-hash { color: var(--hv-main); margin-right: 2px; font-weight: 600; }
.sch-tags-more {
  display: none; margin-top: 8px; padding: 0; border: none; background: none;
  font-family: var(--font-pret, 'Pretendard', sans-serif); font-size: 12px; color: #999; cursor: pointer;
  transition: color 0.22s var(--expo);
}
.sch-tags-more:hover { color: var(--hv-main); }
.sch-tags-more.is-show { display: inline-flex; align-items: center; gap: 3px; }
.sch-tags-more .ph-ico { width: 12px; height: 12px; transition: transform 0.3s var(--expo); }
.sch-tags-more.is-open .ph-ico { transform: rotate(180deg); }

/* 인기 시술 — 순위 리스트 2열 */
.sch-rank { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
@media (max-width: 500px) { .sch-rank { grid-template-columns: 1fr; } }
.sch-rank-item {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 12px; cursor: pointer; text-decoration: none; border-radius: 8px;
  transition: background 0.2s var(--expo);
}
.sch-rank-item:hover { background: rgba(var(--hv-rgb), 0.05); }
.sch-rank-num {
  width: 22px; flex-shrink: 0; text-align: center;
  font-family: var(--font-pret, 'Pretendard', sans-serif); font-size: 14px; font-weight: 700; color: var(--hv-main);
}
.sch-rank-item:nth-child(n+4) .sch-rank-num { color: #999; font-weight: 500; }
.sch-rank-name {
  flex: 1; min-width: 0; font-size: 13px; font-weight: 500; color: #333;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color 0.22s var(--expo);
}
.sch-rank-item:hover .sch-rank-name { color: var(--hv-main); }
/* 뱃지 */
.sch-badge {
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-family: var(--font-pret, 'Pretendard', sans-serif);
}
.sch-badge-hot {
  font-size: 10px; font-weight: 700; color: #FF4D4F;
}
.sch-badge-up {
  color: #1890FF; font-size: 11px;
}
.sch-badge-new {
  font-size: 10px; font-weight: 700; color: #52C41A;
}

/* 관심 시술 */
.sch-rec-list { display: flex; flex-direction: column; gap: 2px; }
.sch-rec-item {
  display: flex; align-items: center; gap: 14px;
  padding: 13px 16px; cursor: pointer; text-decoration: none; border-radius: 12px;
  transition: background 0.2s var(--expo); position: relative; overflow: hidden;
}
.sch-rec-item:hover { background: rgba(var(--hv-rgb), 0.05); }
.sch-rec-icon {
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  background: rgba(var(--hv-rgb), 0.08);
  display: flex; align-items: center; justify-content: center; color: var(--hv-main);
  transition: background 0.25s var(--expo), color 0.25s var(--expo);
}
.sch-rec-item:hover .sch-rec-icon { background: var(--hv-main); color: #fff; }
.sch-rec-icon .ph-ico { width: 18px; height: 18px; }
.sch-rec-info { flex: 1; min-width: 0; }
.sch-rec-name {
  font-size: 14px; font-weight: 600; color: #111; margin-bottom: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color 0.22s var(--expo);
}
.sch-rec-item:hover .sch-rec-name { color: var(--hv-main); }
.sch-rec-desc { font-size: 12px; color: #aaa; }
.sch-rec-arr {
  color: #ddd; flex-shrink: 0;
  transition: color 0.22s var(--expo), transform 0.32s var(--spring);
}
.sch-rec-item:hover .sch-rec-arr { color: var(--hv-main); transform: translateX(4px); }
.sch-rec-arr .ph-ico { width: 15px; height: 15px; }

/* 결과 미리보기 */
.sch-result { display: none; padding: 20px 24px 32px; }
.sch-result.show { display: block; }
.sch-result-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.sch-result-label { font-size: 15px; font-weight: 700; color: #111; letter-spacing: -0.01em; }
.sch-result-count { font-size: 12px; color: #bbb; }
.sch-result-list { display: flex; flex-direction: column; }
.sch-result-item {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 0; border-bottom: 1px solid #f2f2f2;
  cursor: pointer; text-decoration: none;
  transition: transform 0.28s var(--expo);
}
.sch-result-item:last-child { border-bottom: 0; }
.sch-result-item:hover { transform: translateX(6px); }
.sch-result-thumb {
  width: 48px; height: 48px; flex-shrink: 0; border-radius: 12px;
  background: rgba(var(--hv-rgb), 0.07); overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.sch-result-thumb .ph-ico { width: 20px; height: 20px; color: rgba(var(--hv-rgb), 0.25); }
.sch-result-info { flex: 1; min-width: 0; }
.sch-result-name {
  font-size: 14px; font-weight: 600; color: #111; margin-bottom: 3px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color 0.22s var(--expo);
}
.sch-result-item:hover .sch-result-name { color: var(--hv-main); }
.sch-result-name em { color: var(--hv-main); font-style: normal; }
.sch-result-desc { font-size: 12px; color: #bbb; }
.sch-result-arr { color: #ddd; flex-shrink: 0; transition: color 0.22s var(--expo), transform 0.3s var(--spring); }
.sch-result-item:hover .sch-result-arr { color: var(--hv-main); transform: translateX(4px); }
.sch-result-arr .ph-ico { width: 14px; height: 14px; }
.sch-loading { display: none; padding: 32px 0; justify-content: center; gap: 7px; }
.sch-loading.show { display: flex; }
.sch-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(var(--hv-rgb), 0.25); animation: schDot 1.2s ease-in-out infinite; }
.sch-dot:nth-child(2) { animation-delay: 0.18s; }
.sch-dot:nth-child(3) { animation-delay: 0.36s; }
@keyframes schDot { 0%,100% { opacity: 0.25; transform: scale(1); } 50% { opacity: 1; transform: scale(1.4); } }
.sch-empty { padding: 32px 0; text-align: center; font-size: 14px; color: #bbb; }
.sch-more {
  display: none; align-items: center; justify-content: center; gap: 8px;
  margin-top: 14px; padding: 13px 16px; border-radius: 12px;
  background: #f5f5f5; cursor: pointer; text-decoration: none;
  font-size: 13px; font-weight: 500; color: #666; font-family: var(--font-pret, 'Pretendard', sans-serif);
  transition: background 0.22s var(--expo), color 0.22s var(--expo);
}
.sch-more.show { display: flex; }
.sch-more:hover { background: rgba(var(--hv-rgb), 0.08); color: var(--hv-main); }
.sch-more .ph-ico { width: 14px; height: 14px; }

/* --- block 09 --- */

/* 진료 배지 */
.hv-badge {
  position: fixed; left: 28px; bottom: 28px; z-index: var(--z-flt);
  padding: 8px 16px; border-radius: 999px;
  background: var(--hv-main); cursor: default;
  display: flex; align-items: center; gap: 6px;
  box-shadow: 0 6px 20px rgba(var(--hv-rgb),0.35);
  transition: transform 0.3s var(--spring), box-shadow 0.3s var(--expo);
}
.hv-badge:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(var(--hv-rgb),0.4); }
.hv-badge::after {
  content: attr(data-time);
  position: absolute; left: 0; bottom: calc(100% + 10px);
  background: #111; color: #fff; font-size: 12px; line-height: 1.6;
  padding: 8px 14px; border-radius: 10px;
  white-space: pre-line; min-width: 180px;
  opacity: 0; pointer-events: none; transform: translateY(6px);
  transition: opacity 0.25s var(--expo), transform 0.25s var(--expo);
}
.hv-badge:hover::after { opacity: 1; transform: translateY(0); }

.hv-dot { width: 6px; height: 6px; border-radius: 50%; }
.hv-dot--open   { background: #22c55e; animation: hvPulse 2s infinite; }
.hv-dot--lunch  { background: #f59e0b; }
.hv-dot--closed { background: #9ca3af; }
@keyframes hvPulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(34,197,94,0.25); }
  50%      { box-shadow: 0 0 0 7px rgba(34,197,94,0.06); }
}


/* 빠른상담 버튼 — btn_sf 슬라이드 패턴 적용 */
.hv-fast-btn {
  position: fixed; left: 50%; bottom: 24px;
  transform: translateX(-50%);
  z-index: var(--z-flt);
  /* btn_sf 구조 */
  overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 160px; height: 52px; padding: 0 36px;
  background: var(--hv-main); color: #fff;
  border: none; border-radius: 999px;
  font-size: 15px; font-family: var(--font-pret, 'Pretendard', sans-serif);
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(var(--hv-rgb),0.4);
  transition:
    transform 0.3s var(--spring),
    box-shadow 0.3s var(--expo),
    opacity 0.3s var(--expo);
  will-change: transform;
}
/* 슬라이드 채우기 레이어 */
.hv-fast-btn::before {
  content: '';
  position: absolute; top:0;right:0;bottom:0;left:0;inset:0;
  background: var(--hv-main); /* color-mix 미지원 폴백 */
  background: color-mix(in srgb, var(--hv-main) 78%, #000 22%);
  transform: translateY(102%);
  transition: transform 0.42s var(--expo);
  border-radius: 999px;
}
.hv-fast-btn:hover { transform: translateX(-50%) translateY(-4px); box-shadow: 0 16px 36px rgba(var(--hv-rgb),0.45); }
.hv-fast-btn:hover::before { transform: translateY(0); }
.hv-fast-btn:active { transform: translateX(-50%) translateY(0); transition-duration: 0.08s; }
.hv-fast-btn.hv--hide { opacity: 0; pointer-events: none; transform: translateX(-50%) translateY(10px); }

#hv-fast-wrap {
  position: fixed; left: 0; bottom: 0; width: 100%;
  z-index: var(--z-flt);
  background: rgba(var(--hv-rgb),0.88);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  transform: translateY(110%);
  transition: transform 0.5s var(--expo);
}
#hv-fast-wrap.hv--open { transform: translateY(0); }

/* 진행 바 */
#hv-prog {
  position: fixed; top: 0; left: 0; height: 3px;
  background: linear-gradient(90deg, var(--hv-main), var(--hv-sub));
  width: 100%; transform: scaleX(0); transform-origin: left center;
  z-index: var(--z-prog);
  border-radius: 0 2px 2px 0; will-change: transform;
}

@media (max-width: 900px) {
  .hv-badge { left: 20px; right: auto; bottom: 28px; }
}

/* --- block 10 --- */

/* 접근성용 숨김 */
.hb_sr_only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* 바디 잠금 */
body.hb-login-open{
  overflow:hidden;
  touch-action:none;
}

/* 오버레이 */
.hb-login-bg{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition: opacity .35s cubic-bezier(0.16, 1, 0.3, 1),
              visibility .35s cubic-bezier(0.16, 1, 0.3, 1);
  z-index:99998;
}

.hb-login-bg.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* 모달 */
.hb-login{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-54%) scale(.96);
  width:92%;
  max-width:460px;
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  overscroll-behavior:contain;
  background:#fff;
  border-radius:28px;
  box-shadow:0 30px 80px rgba(0,0,0,0.22);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1),
              opacity .32s cubic-bezier(0.16, 1, 0.3, 1),
              visibility .32s cubic-bezier(0.16, 1, 0.3, 1);
  z-index:99999;
}

.hb-login.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,-50%) scale(1);
}

/* 내부 */
.hb-login-inner{
  position:relative;
  padding:42px 34px 34px;
}

/* 닫기 버튼 */
.hb-login-close{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#f7f7f7;
  cursor:pointer;
  transition: background .22s cubic-bezier(0.16, 1, 0.3, 1),
              transform .28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hb-login-close:hover{
  background:#efefef;
  transform:rotate(90deg);
}

.hb-login-close:before,
.hb-login-close:after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:2px;
  height:18px;
  background:#555;
  border-radius:2px;
  transform-origin:center;
}

.hb-login-close:before{
  transform:translate(-50%,-50%) rotate(45deg);
}

.hb-login-close:after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

/* 상단 */
.hb-login-top{
  text-align:center;
}

.hb-login-logo img{
  max-width:160px;
  width:auto;
  height:auto;
  display:inline-block;
}

.hb-login-title{
  display:block;
  color:#111;
}

.hb-login-desc{
  display:block;
  color:#666;
  line-height:1.7;
}

/* 폼 */
.hb-login-form{
  margin-top:0;
}

.hb-field{
  position:relative;
}

.hb-field + .hb-field{
  margin-top:14px;
}

.hb-field label{
  display:block;
  margin-bottom:8px;
  color:#222;
}

.hb-field-box{
  position:relative;
}

.hb-field-box i{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#8b8b8b;
  font-size:15px;
  transition: color .25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events:none;
}

.hb-field input{
  width:100%;
  height:56px;
  padding:0 18px 0 48px;
  border:1px solid #dedede;
  border-radius:16px;
  background:#fff;
  color:#111;
  outline:none;
  box-sizing:border-box;
  transition: border-color .25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow .25s cubic-bezier(0.16, 1, 0.3, 1);
}

.hb-field input::placeholder{
  color:#aaa;
}

.hb-field input:focus{
  border-color:#111;
  box-shadow:0 0 0 4px rgba(0,0,0,0.06);
}

.hb-field input:focus ~ i,
.hb-field-box:focus-within i{
  color:#111;
}

/* 버튼 */
.hb-login-btn{
  width:100%;
  height:58px;
  margin-top:18px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#111,#3b3b3b);
  color:#fff;
  cursor:pointer;
  box-sizing:border-box;
  transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow .25s cubic-bezier(0.16, 1, 0.3, 1),
              opacity .25s cubic-bezier(0.16, 1, 0.3, 1);
}

.hb-login-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(0,0,0,0.18);
}

.hb-login-btn:active{
  transform:translateY(0);
}

/* SNS 로그인 */
.hb-login-social{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #ececec;
}

.hb-login-social-title{
  display:block;
  margin-bottom:12px;
  color:#666;
  text-align:center;
}

.hb-login-social-list{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.hb-login-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  box-sizing:border-box;
  transition:transform .2s ease, box-shadow .2s ease;
}

.hb-login-social-link:hover,
.hb-login-social-link:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}

.hb-login-social-link--naver{background:#03c75a;}
.hb-login-social-link--kakao{background:#fee500;color:#191919;}
.hb-login-social-link--facebook{background:#1877f2;}
.hb-login-social-link--google{background:#fff;color:#333;}
.hb-login-social-link--twitter{background:#1d9bf0;}
.hb-login-social-link--payco{background:#e60012;}

/* 하단 링크 */
.hb-login-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:22px;
  flex-wrap:wrap;
}

.hb-login-links a{
  color:#666;
  text-decoration:none;
  transition: color .2s cubic-bezier(0.16, 1, 0.3, 1),
              opacity .2s cubic-bezier(0.16, 1, 0.3, 1);
}

.hb-login-links a:hover{
  color:#111;
}

.hb-login-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#ccc;
  display:inline-block;
}

/* 모바일 */
@media (max-width: 900px){
  .hb-login{
    width:94%;
    max-width:none;
    border-radius:24px;
  }

  .hb-login-inner{
    padding:34px 22px 26px;
  }

  .hb-login-close{
    top:14px;
    right:14px;
    width:38px;
    height:38px;
  }

  .hb-login-logo img{
    max-width:138px;
  }

  .hb-field input{
    height:54px;
    border-radius:14px;
  }

  .hb-login-btn{
    height:54px;
  }
}

/* 모션 최소화 */
@media (prefers-reduced-motion: reduce){
  .hb-login-bg,
  .hb-login,
  .hb-login-close,
  .hb-field input,
  .hb-login-btn,
  .hb-login-links a{
    transition:none !important;
  }
}

/* --- block 11 --- */
.ph-ico{display:inline-block;vertical-align:middle;fill:currentColor;width:1em;height:1em}
/* --- block 12 --- */

.sr_only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* -----------------------------------------------
   섹션 공통
----------------------------------------------- */
.us-section{position:relative;isolation:isolate;transition:outline .15s}
/* 화면 밖 섹션 렌더 스킵 — 초기 메인스레드 부담↓(LCP 단축). 첫 LCP 섹션엔 미부여.
   contain-intrinsic-size 의 auto 키워드로 1회 렌더 후 실제 높이 기억(스크롤 점프/CLS 최소화). */
.us-cv{content-visibility:auto;contain-intrinsic-size:auto 700px}
@media(max-width:900px){.us-section:not(.hvm-sec){padding-top:calc(var(--us-pad) * .5) !important;padding-bottom:calc(var(--us-pad) * .5) !important}}
@media(max-width:768px){
.us-section[style*="--us-pl-mo"]{padding-left:var(--us-pl-mo)!important}
.us-section[style*="--us-pr-mo"]{padding-right:var(--us-pr-mo)!important}
.us-section[style*="--us-w-mo"] .us-sec-inner-wrap,
.us-section[style*="--us-w-mo"] .us-sec-head-wrap,
.us-section[style*="--us-w-mo"] .us-sec-sided{width:var(--us-w-mo)!important}
.us-sec-inner-wrap[style*="--us-ml-mo"],
.us-sec-head-wrap[style*="--us-ml-mo"],
.us-sec-sided[style*="--us-ml-mo"]{margin-left:var(--us-ml-mo)!important}
.us-sec-inner-wrap[style*="--us-mr-mo"],
.us-sec-head-wrap[style*="--us-mr-mo"],
.us-sec-sided[style*="--us-mr-mo"]{margin-right:var(--us-mr-mo)!important}
}

/* 헤더 좌측 사이드바 모드 (head_pos=left) — 부모 grid 가 좌우 분할, 자식 wrap 들은 grid 가 폭 결정.
   상위 @media(768px) 밖에 두어 모든 뷰포트에서 적용됨. */
.us-sec-sided{
    display:grid;
    grid-template-columns:var(--us-head-pos-w, 30%) 1fr;
    gap:60px;
    align-items:start;
}
.us-sec-sided > .us-sec-head-wrap,
.us-sec-sided > .us-sec-inner-wrap{
    min-width:0;
    width:auto;
    max-width:none;
    margin:0;
}
.us-sec-sided .us-sec-head{margin-bottom:0}
.us-sec-sided > .us-nav-sided{grid-column:2;min-width:0}
.us-sec-sided-sticky > .us-sec-head-wrap{position:sticky;top:100px;align-self:start}
@media(max-width:900px){
    .us-sec-sided{grid-template-columns:1fr;gap:24px}
    .us-sec-sided .us-sec-head{margin-bottom:24px}
    .us-sec-sided > .us-nav-sided{grid-column:1}
    .us-sec-sided-sticky > .us-sec-head-wrap{position:static;top:auto}
}
body.mt-edit .us-section:hover{outline:2px dashed rgba(124,58,237,.4)}
.mt-sec-edit-overlay{display:flex;position:absolute;bottom:16px;right:16px;gap:6px;z-index:9990;pointer-events:none;align-items:center;opacity:0;transition:opacity .15s}
.us-section:hover .mt-sec-edit-overlay{opacity:1;pointer-events:auto}
body.mt-edit .mt-sec-edit-overlay{opacity:1;pointer-events:auto}
body.mt-edit #mt-admin-bar,
body.mt-edit #mt-admin-toggle,
body.mt-edit #mt-edit-btn,
body.mt-edit .mcp-panel,
body.mt-edit .mcp-sec-list,
body.mt-edit .sp-rt-bar{z-index:100000!important}
body.mt-edit .mt-sec-edit-overlay{z-index:9990!important}
#mt-admin-bar,
#mt-admin-toggle{z-index:100000!important}
body.mt-edit .lq-philo,
body.mt-edit .lq-sig,
body.mt-edit .lq-space{z-index:1!important;transform:none!important}
.mt-sec-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:58px;height:28px;font-size:11px;font-weight:700;border-radius:4px;border:none;cursor:pointer;letter-spacing:.02em;backdrop-filter:blur(6px);transition:background .15s;white-space:nowrap}
.mt-sec-btn svg{flex-shrink:0}
.mt-sec-btn-img{background:rgba(26,115,232,.92);color:#fff}
.mt-sec-btn-img:hover{background:#1a73e8}
.mt-sec-btn-clone{background:rgba(51,65,85,.92);color:#e2e8f0}
.mt-sec-btn-clone:hover{background:rgba(71,85,105,.95)}
.mt-sec-btn-del{background:rgba(153,27,27,.92);color:#fff}
.mt-sec-btn-del:hover{background:#991b1b}
.mcp-item-head-act{display:flex;gap:3px;flex-shrink:0;align-items:center}
.mcp-item-act-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:4px;border:none;cursor:pointer;flex-shrink:0}
.mcp-item-act-clone{background:#2d1f5e;color:#a78bfa}
.mcp-item-act-clone:hover{background:#7c3aed;color:#fff}
.mcp-item-act-del{background:#3b1c1c;color:#f87171}
.mcp-item-act-del:hover{background:#991b1b;color:#fff}
[data-mt-f],[data-mt-tx]{cursor:pointer}
body.mt-edit [data-mt-f],body.mt-edit [data-mt-tx]{outline:1px dashed rgba(124,58,237,.3);outline-offset:3px;border-radius:2px}
body.mt-edit [data-mt-f]:hover,body.mt-edit [data-mt-tx]:hover{outline:2px solid rgba(124,58,237,.6)}
body.mt-edit [data-mt-f]:empty{display:inline-block;min-width:80px;min-height:1.2em}
body.mt-edit [data-mt-img]{cursor:pointer}
body.mt-edit [data-mt-img]:hover{outline:2px dashed rgba(124,58,237,.55);outline-offset:4px}
body.mt-edit [data-mt-img].mt-img-uploading{opacity:.55;filter:grayscale(1)}
body.mt-edit [data-mt-f]:empty::before{content:'클릭해서 입력';color:rgba(124,58,237,.5);font-size:.85em;pointer-events:none;font-weight:400}
/* HTML 직접입력 섹션 인라인 편집 — 평소 display:contents(레이아웃 영향 0), 편집 모드에서만 박스 승격 */
.mt-html-body{display:contents}
body.mt-edit .mt-html-body[data-html-sec]{display:block;outline:1px dashed rgba(124,58,237,.35);outline-offset:2px;border-radius:4px;min-height:32px}
body.mt-edit .mt-html-body[data-html-sec]:focus{outline:1.5px solid rgba(124,58,237,.7)}
body.mt-edit .mt-html-body[data-html-sec] img{cursor:pointer;transition:outline .1s}
body.mt-edit .mt-html-body[data-html-sec] img:hover{outline:2px solid rgba(124,58,237,.7);outline-offset:1px}
/* 인라인 선택 툴바(드래그 → 굵게/글자크기/색상/형광펜) — sub_tpl sp-rt-bar 이식 */
.sp-rt-bar{position:absolute;z-index:100000;display:none;gap:2px;align-items:center;background:#1a1410;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.45);font-family:'Pretendard',sans-serif}
.sp-rt-bar.show{display:flex}
.sp-rt-bar button,.sp-rt-bar .sp-rt-color{background:transparent;border:none;color:#fff;cursor:pointer;font-size:13px;line-height:1;padding:6px 9px;border-radius:5px;display:inline-flex;align-items:center;gap:3px;font-family:inherit}
.sp-rt-bar button:hover,.sp-rt-bar .sp-rt-color:hover{background:rgba(255,255,255,.14)}
.sp-rt-bar .sp-rt-color{position:relative}
.sp-rt-bar .sp-rt-color i{display:inline-block;width:12px;height:3px;background:#e0322b}
.sp-rt-bar .sp-rt-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.sp-rt-bar .sp-rt-hlc i{background:#f5c451}
/* 형광펜 — index_tpl 은 스크롤 리빌이 없어 항상 표시(방문자 페이지에서도 즉시 보이게) */
.sp-hl{background-color:transparent;background-image:linear-gradient(var(--hl-c,#f5c451),var(--hl-c,#f5c451));background-repeat:no-repeat;background-position:0 86%;background-size:100% 36%;padding:0 .04em;color:inherit;border-radius:1px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.sp-hl.sp-hl-wave{background:none!important;-webkit-mask:none;mask:none;clip-path:none;text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--hl-c,#f5c451);text-decoration-thickness:3px;text-underline-offset:4px;color:inherit}
.sp-font-serif{font-family:var(--font-kr-serif)!important;font-weight:400}
.sp-font-serif-light{font-family:var(--font-kr-serif-light)!important;font-weight:300!important}
.sp-font-sans{font-family:var(--font-pret,'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif)!important}
[data-mt-f][contenteditable=true],[data-mt-tx][contenteditable=true]{outline:2px solid #7c3aed !important;border-radius:2px;min-width:10px;min-height:1.2em;cursor:text;background:rgba(124,58,237,.04)}
[data-mt-f][contenteditable=true]:empty::before,[data-mt-tx][contenteditable=true]:empty::before{content:''}
span[data-mt-f][contenteditable=true],span[data-mt-tx][contenteditable=true]{display:inline-block}
h1[data-mt-f][contenteditable=true],h2[data-mt-f][contenteditable=true],h3[data-mt-f][contenteditable=true],p[data-mt-f][contenteditable=true],strong[data-mt-tx][contenteditable=true],em[data-mt-tx][contenteditable=true]{display:block}

/* 인라인 편집 떠있는 툴바 */
#mt-inline-toolbar{position:absolute;display:none;z-index:99999;background:#1a1a1a;border-radius:8px;padding:4px;align-items:center;gap:2px;box-shadow:0 6px 24px rgba(0,0,0,.35);font-family:'Pretendard',sans-serif;animation:mti-pop .15s ease-out}
#mt-inline-toolbar.is-on{display:inline-flex}
#mt-inline-toolbar .mti-hint{padding:0 10px 0 12px;color:#888;font-size:11px;letter-spacing:.02em;border-right:1px solid #333;margin-right:2px;height:18px;display:flex;align-items:center}
#mt-inline-toolbar .mti-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 11px;border:none;background:transparent;color:#ddd;font-size:12px;font-weight:600;border-radius:5px;cursor:pointer;transition:background .12s,color .12s;font-family:inherit;letter-spacing:.02em}
#mt-inline-toolbar .mti-btn svg{flex-shrink:0}
#mt-inline-toolbar .mti-confirm{color:#86efac}
#mt-inline-toolbar .mti-confirm:hover{background:#16a34a;color:#fff}
#mt-inline-toolbar .mti-cancel{color:#fca5a5}
#mt-inline-toolbar .mti-cancel:hover{background:#dc2626;color:#fff}
@keyframes mti-pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* -----------------------------------------------
   섹션 헤더
----------------------------------------------- */
.us-sec-head{margin-bottom:var(--us-head-mb,48px)}
.us-sec-head.sh-left{text-align:left}
.us-sec-head.sh-center{text-align:center}
.us-sec-head.sh-right{text-align:right}
.sh-center .us-sec-desc,.sh-center .us-sec-cta{margin-left:auto;margin-right:auto}
.sh-right .us-sec-desc,.sh-right .us-sec-cta{margin-left:auto}
@media(max-width:768px){
.us-sec-head[style*="--us-head-mb-mo"]{margin-bottom:var(--us-head-mb-mo)}
.us-sec-head.sh-mo-left{text-align:left!important}
.us-sec-head.sh-mo-center{text-align:center!important}
.us-sec-head.sh-mo-right{text-align:right!important}
.sh-mo-center .us-sec-desc,.sh-mo-center .us-sec-cta{margin-left:auto!important;margin-right:auto!important}
.sh-mo-right .us-sec-desc,.sh-mo-right .us-sec-cta{margin-left:auto!important;margin-right:0!important}
.sh-mo-left .us-sec-desc,.sh-mo-left .us-sec-cta{margin-left:0!important;margin-right:auto!important}
}
.us-sec-eyebrow{letter-spacing:.18em;margin-bottom:12px;display:block}
.us-sec-title{letter-spacing:-.02em;line-height:1.2}
.us-sec-desc{margin-top:14px;opacity:.7;line-height:1.7;max-width:560px}
.us-sec-cta{--cta-accent:var(--main,#6b57e8);--cta-bg:var(--cta-accent);--cta-color:#fff;--cta-border:var(--cta-accent);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:var(--cta-mt,24px);overflow:hidden;text-decoration:none;font-weight:600;line-height:1;letter-spacing:.035em;color:var(--cta-color);border:1px solid var(--cta-border);background:var(--cta-bg);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,background-color .35s,color .35s,border-color .35s,opacity .3s}.us-sec-cta[hidden]{display:none!important}.us-sec-cta.us-cta-align-left,.us-sec-cta.us-cta-align-center,.us-sec-cta.us-cta-align-right{display:flex;width:max-content;max-width:100%}.us-sec-cta.us-cta-align-left{margin-left:0;margin-right:auto}.us-sec-cta.us-cta-align-center{margin-left:auto;margin-right:auto}.us-sec-cta.us-cta-align-right{margin-left:auto;margin-right:0}
@media(max-width:768px){.us-sec-cta{margin-top:var(--cta-mt-mo,var(--cta-mt,24px))}.us-sec-cta.us-cta-align-mo-left,.us-sec-cta.us-cta-align-mo-center,.us-sec-cta.us-cta-align-mo-right{display:flex;width:max-content;max-width:100%}.us-sec-cta.us-cta-align-mo-left{margin-left:0!important;margin-right:auto!important}.us-sec-cta.us-cta-align-mo-center{margin-left:auto!important;margin-right:auto!important}.us-sec-cta.us-cta-align-mo-right{margin-left:auto!important;margin-right:0!important}}
.us-sec-cta>*{position:relative;z-index:2}.us-sec-cta__icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.15em;line-height:1;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.us-sec-cta.us-cta-valign-top{align-self:flex-start}.us-sec-cta.us-cta-valign-center{align-self:center}.us-sec-cta.us-cta-valign-bottom{align-self:flex-end}
.us-sec-head.us-head-cta-side{position:relative;display:block;width:100%;padding-right:clamp(160px,22vw,310px)}.us-sec-head.us-head-cta-side>.us-sec-cta{position:absolute;right:0;margin:0}.us-sec-head.us-head-cta-side>.us-cta-valign-top{top:0;bottom:auto;transform:none}.us-sec-head.us-head-cta-side>.us-cta-valign-center{top:50%;bottom:auto;transform:translateY(-50%)}.us-sec-head.us-head-cta-side>.us-cta-valign-bottom{top:auto;bottom:0;transform:none}.us-sec-head.us-head-cta-side>.us-cta-valign-center:hover{transform:translateY(-50%)}.us-sec-head.us-head-cta-side>.us-cta-valign-center.us-cta-hover-lift:hover{transform:translateY(calc(-50% - 4px))}.us-sec-head.us-head-cta-side>.us-cta-valign-center.us-cta-hover-scale:hover{transform:translateY(-50%) scale(1.045)}
@media(max-width:768px){.us-sec-head.us-head-cta-side{padding-right:0}.us-sec-head.us-head-cta-side>.us-sec-cta{position:relative;right:auto;top:auto;bottom:auto;transform:none;margin-top:var(--cta-mt-mo,var(--cta-mt,24px))}.us-sec-head.us-head-cta-side>.us-sec-cta:hover{transform:none}}
.us-cta-size-sm{min-height:38px;padding:0 18px;font-size:12px}.us-cta-size-md{min-height:48px;padding:0 26px;font-size:14px}.us-cta-size-lg{min-height:58px;padding:0 34px;font-size:16px}
.us-cta-style-solid,.us-cta-style-outline,.us-cta-style-soft,.us-cta-style-glass,.us-cta-style-split{border-radius:6px}.us-cta-style-text{min-height:auto;padding:0 0 6px;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;border-radius:0!important}.us-cta-style-outline{background:transparent;color:var(--cta-border)}.us-cta-style-soft{border-color:transparent;background:color-mix(in srgb,var(--cta-accent) 12%,transparent);color:var(--cta-accent)}
@supports not (background:color-mix(in srgb,#000 10%,transparent)){.us-cta-style-soft{background:rgba(107,87,232,.12)}}
.us-cta-style-glass{background:rgba(255,255,255,.12);color:var(--cta-color);border-color:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(var(--cta-blur,12px));backdrop-filter:blur(var(--cta-blur,12px))}.us-cta-style-pill{border-radius:999px!important}.us-cta-style-split{padding-right:8px}.us-cta-style-split .us-sec-cta__icon{width:34px;height:34px;margin-left:8px;border-radius:50%;background:rgba(255,255,255,.18)}
.us-cta-style-circle_arrow{min-height:auto;padding:0;border:0;background:transparent;color:var(--cta-circle-text,#777);gap:10px;overflow:visible;border-radius:0!important}.us-cta-style-circle_arrow .us-sec-cta__icon{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--cta-circle-bg,#080808);color:var(--cta-circle-icon,#fff);font-size:16px;font-weight:300;line-height:1;transition:transform .42s cubic-bezier(.22,1,.36,1),background-color .3s ease}.us-cta-style-circle_arrow.us-cta-size-sm .us-sec-cta__icon{width:28px;height:28px;flex-basis:28px;font-size:14px}.us-cta-style-circle_arrow.us-cta-size-lg .us-sec-cta__icon{width:36px;height:36px;flex-basis:36px;font-size:18px}.us-cta-style-circle_arrow:hover .us-sec-cta__icon{transform:translateX(3px)}
.us-sec-cta:before{content:"";position:absolute;z-index:1;inset:0;background:var(--cta-hover-bg,var(--cta-color));transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1);pointer-events:none}.us-cta-hover-none:hover{opacity:.82}.us-cta-hover-lift:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.16)}.us-cta-hover-fill:hover:before{transform:scaleX(1)}.us-cta-hover-fill:hover{color:var(--cta-hover-color,var(--cta-accent))}.us-cta-hover-slide:before{transform:translateX(-102%)}.us-cta-hover-slide:hover:before{transform:translateX(0)}.us-cta-hover-slide:hover{color:var(--cta-hover-color,var(--cta-accent))}.us-cta-hover-shine:after{content:"";position:absolute;z-index:1;top:-80%;left:-45%;width:28%;height:260%;background:rgba(255,255,255,.48);filter:blur(5px);transform:rotate(22deg) translateX(-220%);transition:transform .7s cubic-bezier(.16,1,.3,1);pointer-events:none}.us-cta-hover-shine:hover:after{transform:rotate(22deg) translateX(620%)}.us-cta-hover-arrow:hover .us-sec-cta__icon{transform:translateX(6px)}.us-cta-hover-scale:hover{transform:scale(1.045);box-shadow:0 10px 26px rgba(0,0,0,.13)}
.us-sec-cta:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.us-sec-cta,.us-sec-cta:before,.us-sec-cta:after,.us-sec-cta__icon{transition:none!important}.us-sec-cta:hover{transform:none!important}}

/* -----------------------------------------------
   카드 베이스
----------------------------------------------- */
.us-card{display:block;text-decoration:none;color:inherit;cursor:pointer;overflow:hidden;border-radius:var(--us-cr,8px);position:relative}
.us-card:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:4px;border-radius:4px}
.us-card.us-card-divider{padding-bottom:var(--us-divider-space,24px)}.us-card.us-card-divider:after{content:"";position:absolute;z-index:8;left:var(--us-divider-inset,0);right:var(--us-divider-inset,0);bottom:0;height:var(--us-divider-width,1px);background:var(--us-divider-color,#dedede);pointer-events:none}.us-divider-hide-last .us-grid-wrap>div:last-child .us-card.us-card-divider:after,.us-divider-hide-last .embla__container>.embla__slide:last-child .us-card.us-card-divider:after{display:none}

/* 미디어 */
.us-card-media{position:relative;overflow:hidden;border-radius:var(--us-ir,var(--us-cr,8px))}
/* 카드와 미디어의 반경이 같을 때 이중 border-radius 클리핑으로 생기는
   밝은 1px 안티앨리어싱 테두리를 방지한다. 외곽은 .us-card가 담당한다. */
.us-card.us-media-parent-clip{
    /* 단일 합성 마스크 보정. 배경색 분리는 PHP 인라인 출력이 완결해서 담당하므로
       CSS/PHP의 OTA 적용 순서가 달라도 카드색이 바뀌지 않는다. */
    -webkit-mask-image:-webkit-radial-gradient(white,black);
}
.us-card.us-media-parent-clip .us-card-media{
    /* 둥근 외곽의 서브픽셀에 카드 배경이 비치지 않도록 미디어를 클립 경계보다
       1px 넓게 깐다. 최종 외곽은 부모 overflow가 정확히 잘라낸다. */
    width:calc(100% + 2px);
    max-width:none;
    margin:-1px -1px 0;
    border-radius:0;
}
.us-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .55s cubic-bezier(.16,1,.3,1)}
.us-card-media.us-media-auto img,.us-card-media.us-media-auto video{height:auto;object-fit:contain}
.embla.us-box-images .embla__container{align-items:flex-start}
.embla.us-box-images .us-card-media{height:auto!important;aspect-ratio:auto!important}
.embla.us-box-images .us-card-media img,.embla.us-box-images .us-card-media video{width:100%;height:auto!important;object-fit:contain}
/* 교차 박스 이미지 — 같은 원본도 카드 순서에 따라 세로 4:5 / 가로 5:4 박스로 자동 크롭. */
.embla.us-box-alternate .embla__container{align-items:flex-start}
.embla.us-box-alternate .embla__slide.us-box-portrait{flex-basis:calc(80% / var(--us-per,1))}
.embla.us-box-alternate .embla__slide.us-box-landscape{flex-basis:calc(100% / var(--us-per,1))}
.embla.us-box-alternate .embla__slide.us-box-portrait .us-card-media{aspect-ratio:4/5!important}
.embla.us-box-alternate .embla__slide.us-box-landscape .us-card-media{aspect-ratio:5/4!important}
.embla.us-box-alternate .us-card-media img,.embla.us-box-alternate .us-card-media video{width:100%;height:100%!important;object-fit:cover}
@media(max-width:1366px){
  .embla.us-box-alternate .embla__slide.us-box-portrait{flex-basis:calc(80% / var(--us-per-tab,1))}
  .embla.us-box-alternate .embla__slide.us-box-landscape{flex-basis:calc(100% / var(--us-per-tab,1))}
}
@media(max-width:600px){
  .embla.us-box-alternate .embla__slide.us-box-portrait{flex-basis:calc(80% / var(--us-per-mo,1))}
  .embla.us-box-alternate .embla__slide.us-box-landscape{flex-basis:calc(100% / var(--us-per-mo,1))}
}
/* 슬라이드별 미디어 보정(흑백/밝기/대비/채도/블러) — img·video 공통, 딤(.us-card-dim)은 미적용 */
.us-card-media img,.us-card-media video{filter:var(--us-mf,none)}
.us-card-media video{width:100%;height:100%;object-fit:cover;display:block}
/* 섹션 높이 분리 (PC/모바일 vh) — 변수가 있는 섹션에만 적용 */
.us-section[style*="--sec-mh-pc"]{min-height:var(--sec-mh-pc) !important}
@media(max-width:768px){
  .us-section[style*="--sec-mh-mo"]{min-height:var(--sec-mh-mo) !important}
}
/* fullscreen 모드: 내부 .us-fullscreen 컨테이너 / 슬라이드 / 미디어 높이까지 변수로 강제
   섹션 자체엔 us-fullscreen 클래스가 없고 자손 div 에만 붙으므로 자손 선택자로 지정 */
.us-section[style*="--sec-mh-pc"] .us-fullscreen,
.us-section[style*="--sec-mh-pc"] .us-fullscreen .embla__slide{height:var(--sec-mh-pc) !important;min-height:var(--sec-mh-pc) !important}
.us-section[style*="--sec-mh-pc"] .us-fullscreen .us-card-media{min-height:var(--sec-mh-pc) !important}
@media(max-width:768px){
  .us-section[style*="--sec-mh-mo"] .us-fullscreen,
  .us-section[style*="--sec-mh-mo"] .us-fullscreen .embla__slide{height:var(--sec-mh-mo) !important;min-height:var(--sec-mh-mo) !important}
  .us-section[style*="--sec-mh-mo"] .us-fullscreen .us-card-media{min-height:var(--sec-mh-mo) !important}
}

/* PC 영상 + 모바일 이미지 분기 — picture/video를 절대 위치로 겹쳐 display 토글 */
.us-card-media .us-pc-only,
.us-card-media .us-mb-only{position:absolute !important;top:0;right:0;bottom:0;left:0;inset:0 !important;width:100% !important;height:100% !important}
.us-card-media .us-pc-only{object-fit:cover !important}
.us-card-media .us-mb-only > img{width:100% !important;height:100% !important;object-fit:cover !important;display:block}
.us-card-media .us-pc-only{display:block !important}
.us-card-media .us-mb-only{display:none !important}
@media(max-width:768px){
  .us-card-media .us-pc-only{display:none !important}
  .us-card-media .us-mb-only{display:block !important}
}
.us-card.us-hover-zoom.is-hover .us-card-media img,.us-card.us-hover-zoom:hover .us-card-media img{transform:scale(1.05)}
.us-card.us-hover-round,.us-card.us-hover-round .us-card-media{transition:border-radius .55s cubic-bezier(.16,1,.3,1)}
.us-card.us-hover-round.is-hover,.us-card.us-hover-round.is-hover .us-card-media,.us-card.us-hover-round:hover,.us-card.us-hover-round:hover .us-card-media{border-radius:var(--us-hr,var(--us-cr,28px))}
/* 동일 반경 카드는 hover 중에도 외곽 카드만 클리핑해 밝은 이음선을 만들지 않는다. */
.us-card.us-media-parent-clip.us-hover-round.is-hover .us-card-media,
.us-card.us-media-parent-clip.us-hover-round:hover .us-card-media{border-radius:0}
.us-card-img-hover{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0}
.us-card.us-hover-cross.is-hover .us-card-img-hover,.us-card.us-hover-cross:hover .us-card-img-hover{opacity:1}
.us-card.us-hover-cross.is-hover .us-card-img-base,.us-card.us-hover-cross:hover .us-card-img-base{opacity:0}
/* 하단 그라데이션 — hover 시 부드럽게 등장 */
.us-card-media::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.18) 40%,transparent 70%);opacity:0;transition:opacity .45s cubic-bezier(.16,1,.3,1);pointer-events:none;z-index:1;border-radius:inherit}
.us-card.us-hover-dim.is-hover .us-card-media::after,.us-card.us-hover-dim:hover .us-card-media::after{opacity:1}
@media(prefers-reduced-motion:reduce){.us-card-media img{transition:none}.us-card-media::after{transition:none}}

/* 쉐이프 */
.us-shape-circle .us-card-media{border-radius:50% !important;aspect-ratio:1/1 !important}
.us-shape-round  .us-card-media{border-radius:12px !important}

/* 쉐도우 */
.us-shadow .us-card-media{box-shadow:0 8px 32px rgba(0,0,0,.12)}

/* 카드 정렬 — PC (좌/가운데/우) */
.us-card-al-left   .us-card-body{text-align:left}
.us-card-al-center .us-card-body{text-align:center}
.us-card-al-right  .us-card-body{text-align:right}
.us-card-al-left   .us-card-overlay{align-items:flex-start;text-align:left}
.us-card-al-center .us-card-overlay{align-items:center;text-align:center}
.us-card-al-right  .us-card-overlay{align-items:flex-end;text-align:right}
/* 카드 정렬 — 모바일 override (≤600px, '' 면 PC값 유지) */
@media(max-width:600px){
    .us-card-al-mo-left   .us-card-body{text-align:left!important}
    .us-card-al-mo-center .us-card-body{text-align:center!important}
    .us-card-al-mo-right  .us-card-body{text-align:right!important}
    .us-card-al-mo-left   .us-card-overlay{align-items:flex-start!important;text-align:left!important}
    .us-card-al-mo-center .us-card-overlay{align-items:center!important;text-align:center!important}
    .us-card-al-mo-right  .us-card-overlay{align-items:flex-end!important;text-align:right!important}
    .us-card-al-mo-left   .us-card-chips{margin-left:0!important;margin-right:auto!important;justify-content:flex-start!important}
    .us-card-al-mo-center .us-card-chips{margin-left:auto!important;margin-right:auto!important;justify-content:center!important}
    .us-card-al-mo-right  .us-card-chips{margin-left:auto!important;margin-right:0!important;justify-content:flex-end!important}
}
/* 구버전 클래스 호환 */
.us-align-center .us-card-body{text-align:center}
.us-align-center .us-card-overlay{align-items:center;text-align:center}

/* 오버레이 */
.us-card-dim{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:1;pointer-events:none}
/* 딤 디바이스 켬끔 — data-dim-pc / data-dim-mo 가 0 이면 해당 환경에서 숨김 */
@media(min-width:769px){.us-card-dim[data-dim-pc="0"]{display:none}}
@media(max-width:768px){.us-card-dim[data-dim-mo="0"]{display:none}}
/* 오버레이 텍스트 상하 위치 — --us-ctv(%) 로 앵커 (0=위, 50=중앙, 100=아래). 기본 100%(하단).
   hover 등장용 shift 는 --us-ov-hv 로 합성(위치 transform 과 충돌 방지) */
@property --us-ov-hv{syntax:'<length>';inherits:false;initial-value:0px}
.us-card-overlay{position:absolute;left:var(--us-cth,0%);right:auto;top:var(--us-ctv,100%);bottom:auto;max-width:100%;box-sizing:border-box;transform:translate(calc(-1 * var(--us-cth,0%)),calc(-1 * var(--us-ctv,100%))) translateY(var(--us-ov-hv,0px));display:flex;flex-direction:column;padding:var(--us-cpad,20px 24px);z-index:2}
/* 모바일 자동 반값 — 사용자가 패딩 지정한 섹션만(--us-cpad-mo 존재 시) 적용해 기존 섹션 회귀 방지 */
@media(max-width:768px){
    .us-section[style*="--us-cpad-mo"] .us-card-overlay,
    .us-section[style*="--us-cpad-mo"] .us-card-body{padding:var(--us-cpad-mo)}
}
@media(max-width:600px){
    .us-card-overlay{left:var(--us-cth-mo,var(--us-cth,0%));top:var(--us-ctv-mo,var(--us-ctv,100%));transform:translate(calc(-1 * var(--us-cth-mo,var(--us-cth,0%))),calc(-1 * var(--us-ctv-mo,var(--us-ctv,100%)))) translateY(var(--us-ov-hv,0px))}
}
.us-text-light{color:rgba(255,255,255,.92)}
.us-text-light .us-card-eyebrow{opacity:.85}
.us-text-dark{color:#1a1a1a}

/* 카드 바디 */
.us-card-body{padding:var(--us-cpad,14px 0 6px)}
.us-card-eyebrow{letter-spacing:.12em;margin-bottom:6px;display:block;opacity:.7}
/* 카드 라벨 칩/뱃지 — 라벨(wr_link2)=제목 위, 설명(wr_content)=제목 아래(.us-card-chips-d). 쉼표로 쪼갬.
   width:max-content = 세로 flex 부모 안에서 flex-wrap 컨테이너가 min-content(칩 1개)로 접히는 버그 방지 */
.us-card-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;width:-webkit-max-content;width:max-content;max-width:100%}
.us-card-chips-d{margin-bottom:0;margin-top:8px}
.us-chip{display:inline-flex;align-items:center;padding:.34em .82em;border:1px solid currentColor;border-radius:999px;line-height:1.2;letter-spacing:.02em;white-space:nowrap;opacity:.9}
.us-chip-design-solid .us-chip{border-color:var(--us-chip-solid-bg,#111);background:var(--us-chip-solid-bg,#111);color:var(--us-chip-solid-text,#fff);opacity:1}
.us-chip-design-soft .us-chip{border-color:transparent;background:color-mix(in srgb,currentColor 12%,transparent);opacity:1}
.us-chip-design-square .us-chip{border-radius:4px}
@supports not (background:color-mix(in srgb,#000 12%,transparent)){.us-chip-design-soft .us-chip{background:rgba(127,127,127,.14)}}
.us-card-footer-tags{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px 14px;font-size:var(--us-card-desc-fs,14px);line-height:1.35;color:inherit}
.us-card-footer-tags--hashtag{gap:6px 10px;opacity:.72}
.us-footer-hashtag{overflow-wrap:anywhere}
.us-card-al-center .us-card-footer-tags,.us-align-center .us-card-footer-tags{justify-content:center}
.us-card-al-right .us-card-footer-tags{justify-content:flex-end}
@media(max-width:768px){.us-card-al-mo-left .us-card-footer-tags{justify-content:flex-start!important}.us-card-al-mo-center .us-card-footer-tags{justify-content:center!important}.us-card-al-mo-right .us-card-footer-tags{justify-content:flex-end!important}}
.us-card-al-center .us-card-chips,.us-align-center .us-card-chips{margin-left:auto;margin-right:auto;justify-content:center}
.us-card-al-right .us-card-chips{margin-left:auto;justify-content:flex-end}
.us-card-title{letter-spacing:-.01em;line-height:1.35}
.us-card-desc{margin-top:6px;line-height:1.6;opacity:.7}
/* 사용자가 모바일 카드 글꼴을 별도로 지정한 요소만 고정 px 값으로 덮어쓴다. */
@media(max-width:768px){
    [style*="--us-head-fs-mo"]{font-size:var(--us-head-fs-mo)!important}
    .us-card [style*="--us-card-fs-mo"],
    .cs-sigbox [style*="--us-card-fs-mo"],
    .hvm-ssn [style*="--us-card-fs-mo"]{font-size:var(--us-card-fs-mo)!important}
}
/* 반응형 수동 줄바꿈 — [m]=모바일만, [p]=PC만 (본문 텍스트에서 위치별 개별 줄바꿈) */
br.hbr-m{display:none}
@media(max-width:768px){ br.hbr-m{display:inline} br.hbr-p{display:none} }
.us-inline-bold{font-weight:700}
.us-inline-color{color:var(--index-color,var(--main,currentColor))}
/* ── 카드 오버레이 텍스트 활성 등장(card_txt_anim) — 슬라이더에서 카드가 뷰에 들어오면(is-ctactive) 스태거 등장 ──
   숨김은 JS가 .us-ct-ready 를 붙였을 때만 적용 → JS 미실행 시 텍스트가 영영 안 보이는 사고 방지(안전 폴백) */
.us-ct-anim.us-ct-ready .us-card-eyebrow,.us-ct-anim.us-ct-ready .us-card-chips,
.us-ct-anim.us-ct-ready .us-card-title,.us-ct-anim.us-ct-ready .us-card-desc,.us-ct-anim.us-ct-ready .us-card-btn{
  opacity:0;transform:translateY(var(--us-ct-dist,16px));
  transition:opacity var(--us-ct-spd,.7s) cubic-bezier(.16,1,.3,1),transform var(--us-ct-spd,.7s) cubic-bezier(.16,1,.3,1);
  transition-delay:var(--us-ct-d0,0ms)}
/* 스태거 순서: 라벨 → 제목 → 내용 → 버튼 */
.us-ct-anim .us-card-eyebrow,.us-ct-anim .us-card-chips{--us-ct-d0:0ms}
.us-ct-anim .us-card-title{--us-ct-d0:var(--us-ct-del,120ms)}
.us-ct-anim .us-card-desc,.us-ct-anim .us-card-chips-d{--us-ct-d0:calc(var(--us-ct-del,120ms) * 2)}
.us-ct-anim .us-card-btn{--us-ct-d0:calc(var(--us-ct-del,120ms) * 3)}
/* extra 모드: 제목은 항상 표시, 라벨·내용만 등장 (내용 스태거는 라벨 다음) */
.us-ct-extra.us-ct-ready .us-card-title{opacity:1;transform:none;transition:none}
.us-ct-extra .us-card-desc,.us-ct-extra .us-card-chips-d{--us-ct-d0:var(--us-ct-del,120ms)}
/* 활성 슬라이드 → 등장 완료 */
.us-ct-anim.us-ct-ready .embla__slide.is-ctactive .us-card-eyebrow,
.us-ct-anim.us-ct-ready .embla__slide.is-ctactive .us-card-chips,
.us-ct-anim.us-ct-ready .embla__slide.is-ctactive .us-card-title,
.us-ct-anim.us-ct-ready .embla__slide.is-ctactive .us-card-desc,
.us-ct-anim.us-ct-ready .embla__slide.is-ctactive .us-card-btn{opacity:1;transform:none}
/* 한글 줄바꿈 — 글자 단위 X, 단어(띄어쓰기) 단위로만 끊기. 긴 단일 토큰(영문/URL)만 강제 분리 */
.us-card-title,.us-card-eyebrow,.us-card-desc,.us-card-date,.us-split-title,
.us-ho-title,.us-ho-desc,.us-ho-eyebrow,
.us-sec-title,.us-sec-desc,.us-sec-eyebrow{word-break:keep-all;overflow-wrap:break-word}
.us-card-date{margin-top:6px;opacity:.45}
.us-card-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;text-decoration:none;color:inherit;transition:gap .2s}
.us-card-btn::after{content:'→';font-size:.9em;transition:transform .2s}
.us-card-btn:hover::after{transform:translateX(4px)}
.us-card-btn:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:3px}
.us-card-overlay .us-card-btn{pointer-events:none}
/* 텍스트 히든 — hover 시 등장. 카드바디는 직접 transform, 오버레이는 위치 transform 보존 위해 --us-ov-hv 사용 */
.us-card.us-text-hover.us-th-all .us-card-body{opacity:0;transform:translateY(8px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.us-card.us-text-hover.us-th-all.is-hover .us-card-body,.us-card.us-text-hover.us-th-all:hover .us-card-body{opacity:1;transform:translateY(0)}
.us-card.us-text-hover.us-th-all .us-card-overlay{opacity:0;--us-ov-hv:8px;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.us-card.us-text-hover.us-th-all.is-hover .us-card-overlay,.us-card.us-text-hover.us-th-all:hover .us-card-overlay{opacity:1;--us-ov-hv:0px}
.us-card.us-text-hover:not(.us-th-all) .us-card-eyebrow,
.us-card.us-text-hover:not(.us-th-all) .us-card-chips:not(.us-card-chips-d),
.us-card.us-text-hover:not(.us-th-all) .us-card-title,
.us-card.us-text-hover:not(.us-th-all) .us-card-desc,
.us-card.us-text-hover:not(.us-th-all) .us-card-chips-d,
.us-card.us-text-hover:not(.us-th-all) .us-card-btn{transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.us-card.us-text-hover.us-th-label .us-card-eyebrow,.us-card.us-text-hover.us-th-label .us-card-chips:not(.us-card-chips-d),
.us-card.us-text-hover.us-th-title .us-card-title,
.us-card.us-text-hover.us-th-desc .us-card-desc,.us-card.us-text-hover.us-th-desc .us-card-chips-d,
.us-card.us-text-hover.us-th-button .us-card-btn{opacity:0;transform:translateY(8px)}
.us-card.us-text-hover.us-th-label.is-hover .us-card-eyebrow,.us-card.us-text-hover.us-th-label:hover .us-card-eyebrow,
.us-card.us-text-hover.us-th-label.is-hover .us-card-chips:not(.us-card-chips-d),.us-card.us-text-hover.us-th-label:hover .us-card-chips:not(.us-card-chips-d),
.us-card.us-text-hover.us-th-title.is-hover .us-card-title,.us-card.us-text-hover.us-th-title:hover .us-card-title,
.us-card.us-text-hover.us-th-desc.is-hover .us-card-desc,.us-card.us-text-hover.us-th-desc:hover .us-card-desc,
.us-card.us-text-hover.us-th-desc.is-hover .us-card-chips-d,.us-card.us-text-hover.us-th-desc:hover .us-card-chips-d,
.us-card.us-text-hover.us-th-button.is-hover .us-card-btn,.us-card.us-text-hover.us-th-button:hover .us-card-btn{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.us-card.us-text-hover .us-card-body,.us-card.us-text-hover .us-card-overlay,.us-card.us-text-hover .us-card-eyebrow,.us-card.us-text-hover .us-card-chips,.us-card.us-text-hover .us-card-title,.us-card.us-text-hover .us-card-desc,.us-card.us-text-hover .us-card-btn{transition:none!important;opacity:1!important;transform:none!important;--us-ov-hv:0px}}

/* 유튜브 플레이 아이콘 */
.us-yt-play{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:3}
.us-card.is-hover .us-yt-play{opacity:1}
.us-yt-play svg{width:64px;height:45px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));transition:transform .2s cubic-bezier(.16,1,.3,1)}
.us-card.is-hover .us-yt-play svg{transform:scale(1.1)}

/* -----------------------------------------------
   이미지 박스 (이미지 없을 때 폴백)
----------------------------------------------- */
.us-card-media-blank{display:flex;align-items:center;justify-content:center}

/* -----------------------------------------------
   더블 이미지
----------------------------------------------- */
.us-double-media{display:grid;grid-template-columns:1fr 1fr;gap:4px;overflow:hidden;border-radius:var(--us-ir,var(--us-cr,8px))}
.us-double-img{overflow:hidden}
.us-double-img img{width:100%;height:100%;object-fit:cover;display:block}

/* -----------------------------------------------
   비교 슬라이더
----------------------------------------------- */
.us-compare{position:relative;overflow:hidden;--pct:50%;user-select:none;border-radius:var(--us-ir,var(--us-cr,8px))}
.us-compare > img{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.us-compare-before{z-index:1;clip-path:inset(0 calc(100% - var(--pct)) 0 0)}
.us-compare-after{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:0}
.us-compare-after img{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;object-fit:cover}
.us-compare-handle{position:absolute;top:0;bottom:0;left:var(--pct);width:3px;background:#fff;transform:translateX(-50%);cursor:col-resize;touch-action:none;z-index:2}
.us-compare-handle-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#333;font-size:16px;box-shadow:0 2px 8px rgba(0,0,0,.3)}

/* -----------------------------------------------
   2분할 레이아웃 (split)
----------------------------------------------- */
.us-split{display:flex !important;flex-direction:row !important;align-items:stretch !important}
.us-split-rev{flex-direction:row-reverse !important}
.us-split-media{flex:0 0 50%;overflow:hidden}
.us-split-media img{width:100%;height:100%;object-fit:cover;display:block}
.us-split-body{flex:0 0 50%;padding:60px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
.us-split-eyebrow{letter-spacing:.15em;margin-bottom:14px;display:block;opacity:.7}
.us-split-title{letter-spacing:-.02em;line-height:1.2;margin-bottom:20px}
.us-split-desc{line-height:1.75;opacity:.8;margin-bottom:28px}
.us-split-cta{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:500;letter-spacing:.06em;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity .2s;color:inherit}
.us-split-cta:hover{opacity:.6}
.us-split-cta:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:4px}
@media(max-width:900px){.us-split,.us-split-rev{flex-direction:column !important}.us-split-media{flex:0 0 auto}.us-split-body{flex:0 0 auto;padding:40px 20px}}

/* -----------------------------------------------
   슬라이더 구조
----------------------------------------------- */
.us-embla-vp{overflow:hidden}
.embla__container{display:flex;touch-action:pan-y pinch-zoom}
/* 루프 경계(last→first)에는 flex gap이 존재하지 않으므로 가로 간격은 각 슬라이드의
   내부 좌우 패딩으로만 만든다. 이 방식이면 일반 구간과 루프 경계가 항상 동일하다. */
.embla__slide{flex:0 0 calc(100% / var(--us-per,1));min-width:0}
/* 초기 로딩 시 Embla 정렬 전 raw flex 배열이 보이는 현상 방지 */
.embla:not(.us-embla-ready) .embla__container{opacity:0;animation:hvEmblaFirstPaint .01s .9s forwards}
.embla.us-lcp-embla .embla__container{opacity:1;animation:none}
.embla.us-embla-ready .embla__container{opacity:1;transition:opacity .18s ease}
@keyframes hvEmblaFirstPaint{to{opacity:1}}
/* 모바일 다중 행 — 세로 N개를 채운 뒤 다음 가로 페이지로 넘기는 column-flow 그리드. */
@media(max-width:600px){
    .embla[data-us-rows-mo="2"] .embla__container,
    .embla[data-us-rows-mo="3"] .embla__container{
        display:grid;
        grid-auto-flow:column;
        grid-auto-columns:calc(100% / var(--us-per-mo,1));
        row-gap:var(--us-gap,0px);
    }
    .embla[data-us-rows-mo="2"] .embla__container{grid-template-rows:repeat(2,minmax(0,1fr))}
    .embla[data-us-rows-mo="3"] .embla__container{grid-template-rows:repeat(3,minmax(0,1fr))}
    .embla[data-us-rows-mo="2"] .embla__slide,.embla[data-us-rows-mo="3"] .embla__slide{height:auto}
    .embla[data-us-rows-mo="2"] .embla__slide>.us-slide-pad,
    .embla[data-us-rows-mo="3"] .embla__slide>.us-slide-pad,
    .embla[data-us-rows-mo="2"] .embla__slide>.us-card,
    .embla[data-us-rows-mo="3"] .embla__slide>.us-card{height:100%;box-sizing:border-box}
    .embla[data-us-rows-mo="2"] .us-slide-pad>.us-card,
    .embla[data-us-rows-mo="3"] .us-slide-pad>.us-card{height:100%;box-sizing:border-box}
}
/* 태블릿·작은 노트북 다중 행 (601~1366px) */
@media(min-width:601px) and (max-width:1366px){
    .embla[data-us-rows-tab="2"] .embla__container,
    .embla[data-us-rows-tab="3"] .embla__container{
        display:grid;
        grid-auto-flow:column;
        grid-auto-columns:calc(100% / var(--us-per-tab,1));
        row-gap:var(--us-gap,0px);
    }
    .embla[data-us-rows-tab="2"] .embla__container{grid-template-rows:repeat(2,minmax(0,1fr))}
    .embla[data-us-rows-tab="3"] .embla__container{grid-template-rows:repeat(3,minmax(0,1fr))}
    .embla[data-us-rows-tab="2"] .embla__slide,.embla[data-us-rows-tab="3"] .embla__slide{height:auto}
    .embla[data-us-rows-tab="2"] .embla__slide>.us-slide-pad,
    .embla[data-us-rows-tab="3"] .embla__slide>.us-slide-pad,
    .embla[data-us-rows-tab="2"] .embla__slide>.us-card,
    .embla[data-us-rows-tab="3"] .embla__slide>.us-card{height:100%;box-sizing:border-box}
    .embla[data-us-rows-tab="2"] .us-slide-pad>.us-card,
    .embla[data-us-rows-tab="3"] .us-slide-pad>.us-card{height:100%;box-sizing:border-box}
}
/* PC 다중 행 — 세로 N개를 채운 뒤 다음 가로 페이지로 넘기는 column-flow 그리드. */
@media(min-width:1367px){
    .embla[data-us-rows="2"] .embla__container,
    .embla[data-us-rows="3"] .embla__container{
        display:grid;
        grid-auto-flow:column;
        grid-auto-columns:calc(100% / var(--us-per,1));
        row-gap:var(--us-gap,0px);
    }
    .embla[data-us-rows="2"] .embla__container{grid-template-rows:repeat(2,minmax(0,1fr))}
    .embla[data-us-rows="3"] .embla__container{grid-template-rows:repeat(3,minmax(0,1fr))}
    .embla[data-us-rows="2"] .embla__slide,.embla[data-us-rows="3"] .embla__slide{height:auto}
    .embla[data-us-rows="2"] .embla__slide>.us-slide-pad,
    .embla[data-us-rows="3"] .embla__slide>.us-slide-pad,
    .embla[data-us-rows="2"] .embla__slide>.us-card,
    .embla[data-us-rows="3"] .embla__slide>.us-card{height:100%;box-sizing:border-box}
    .embla[data-us-rows="2"] .us-slide-pad>.us-card,
    .embla[data-us-rows="3"] .us-slide-pad>.us-card{height:100%;box-sizing:border-box}
}
@media(max-width:1366px){
    .embla__slide{flex:0 0 calc(100% / var(--us-per-tab,1))}
}
@media(max-width:600px){
    .embla__slide{flex:0 0 calc(100% / var(--us-per-mo,1))}
}
.us-slide-pad{padding:0 calc(var(--us-gap,0px) / 2)}
.us-slide-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 28px;padding:0;list-style:none}
.us-slide-tabs[data-align="left"]{justify-content:flex-start}.us-slide-tabs[data-align="right"]{justify-content:flex-end}
.us-slide-tab{position:relative;min-width:108px;min-height:44px;padding:10px 22px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:999px;background:transparent;color:var(--us-tab-normal,inherit);font-family:inherit;font-size:var(--us-tab-size,16px);line-height:1.4;font-weight:var(--us-tab-weight,600);cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}
.us-slide-tab:hover{border-color:color-mix(in srgb,var(--us-tab-active,var(--index-color,var(--main,#292583))) 55%,transparent);transform:translateY(-1px)}.us-slide-tab:active{transform:translateY(0) scale(.97)}
.us-slide-tab[aria-selected="true"]{border-color:var(--us-tab-active,var(--index-color,var(--main,#292583)));background:var(--us-tab-active,var(--index-color,var(--main,#292583)));color:#fff;font-weight:var(--us-tab-active-weight,700)}
.us-slide-tabs[data-style="underline"]{gap:28px;border-bottom:1px solid var(--us-tab-border,color-mix(in srgb,currentColor 35%,transparent))}.us-slide-tabs[data-style="underline"] .us-slide-tab{min-width:0;min-height:44px;padding:9px 4px;border:0;border-radius:0;background:transparent;color:var(--us-tab-normal,inherit);transform:none}.us-slide-tabs[data-style="underline"] .us-slide-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--us-tab-line,var(--us-tab-active,var(--index-color,var(--main,#292583))));transform:scaleX(0);transform-origin:center;transition:transform .32s cubic-bezier(.22,1,.36,1)}.us-slide-tabs[data-style="underline"] .us-slide-tab:hover{color:var(--us-tab-active,var(--index-color,var(--main,#292583)))}.us-slide-tabs[data-style="underline"] .us-slide-tab[aria-selected="true"]{background:transparent;color:var(--us-tab-active,var(--index-color,var(--main,#292583)))}.us-slide-tabs[data-style="underline"] .us-slide-tab[aria-selected="true"]::after{transform:scaleX(1)}
.us-slide-tabs[data-style="square"] .us-slide-tab{border-radius:6px}
.us-slide-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--us-tab-active,var(--index-color,var(--main,#292583))) 35%,transparent);outline-offset:3px}
.embla__slide[hidden]{display:none!important}
.embla .us-embla-vp{opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1)}
.embla.is-tab-changing .us-embla-vp{opacity:0;transform:translateY(8px);pointer-events:none}
@media(max-width:600px){.us-slide-tabs{flex-wrap:nowrap;gap:6px;margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.us-slide-tabs::-webkit-scrollbar{display:none}.us-slide-tabs[data-align="center"],.us-slide-tabs[data-align="right"]{justify-content:flex-start}.us-slide-tabs[data-style="underline"]{gap:20px}.us-slide-tab{flex:none;min-width:0;min-height:42px;padding:9px 18px;font-size:var(--us-tab-size-mo,14px)}}
@media(prefers-reduced-motion:reduce){.embla .us-embla-vp,.us-slide-tab,.us-slide-tabs[data-style="underline"] .us-slide-tab::after{transition:none}.embla.is-tab-changing .us-embla-vp,.us-slide-tab:hover,.us-slide-tab:active{transform:none}}

/* 히어로 풀스크린 */
.us-fullscreen{position:relative;height:85vh;min-height:480px;overflow:hidden;width:var(--us-hero-w,100%);margin-left:auto;margin-right:auto}
@supports(height:1svh){.us-fullscreen{height:85svh}}
.us-fullscreen .us-embla-vp{height:100%;overflow:hidden}
.us-fullscreen .embla__container{height:100%}
.us-fullscreen .embla__slide{position:relative;height:85vh;min-height:480px;padding:0;overflow:hidden;flex-shrink:0}
@supports(height:1svh){.us-fullscreen .embla__slide{height:85svh}}
.us-fullscreen .embla__slide .us-card{height:100%;border-radius:0 !important;position:relative;background:transparent !important}
.us-fullscreen .us-card-media{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;height:100% !important;width:100% !important;aspect-ratio:unset !important}
.us-fullscreen .us-card-media img,.us-fullscreen .us-card-media video{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform var(--us-kb-dur,7s) cubic-bezier(0,.1,.2,1)}
.us-fullscreen .us-card-media video{transition:none}
.us-fullscreen .embla__slide .us-card.us-hover-round.is-hover,
.us-fullscreen .embla__slide .us-card.us-hover-round:hover,
.us-fullscreen .embla__slide .us-card.us-hover-round.is-hover .us-card-media,
.us-fullscreen .embla__slide .us-card.us-hover-round:hover .us-card-media{border-radius:var(--us-hr,var(--us-cr,28px)) !important}
.us-fullscreen .us-card.us-hover-zoom.is-hover .us-card-media img,
.us-fullscreen .us-card.us-hover-zoom:hover .us-card-media img{transform:scale(1.05)}
/* ── 배경 모션(Ken Burns). 줌인 kb-active=transition 기반(JS 가 매 전환마다 재실행 → 2번째 이후·반복 정상).
   첫 슬라이드 로드는 transition 페인트갭으로 미발화하므로 별도 us-kb-lcpgo(@keyframes)가 처리. 속도=--us-kb-dur, 확대=--us-kb-scale ── */
.us-fullscreen .embla__slide.kb-active .us-card-media :is(img,video){transform:scale(var(--us-kb-scale,1.15))}
@keyframes hvKbZoomIn{from{transform:scale(1)}to{transform:scale(var(--us-kb-scale,1.15))}}
/* 줌아웃 / 패닝 / 페이드 — transition 으로 표현 불가해 @keyframes(kb-active 시 재생) */
.us-kb-out .us-fullscreen .embla__slide.kb-active .us-card-media :is(img,video){transform:none;animation:hvKbZoomOut var(--us-kb-dur,7s) cubic-bezier(0,.1,.2,1) forwards}
@keyframes hvKbZoomOut{from{transform:scale(var(--us-kb-scale,1.15))}to{transform:scale(1)}}
.us-kb-pan .us-fullscreen .embla__slide.kb-active .us-card-media :is(img,video){transform:none;animation:hvKbPan var(--us-kb-dur,7s) cubic-bezier(0,.1,.2,1) forwards}
@keyframes hvKbPan{from{transform:scale(var(--us-kb-scale,1.12)) translateX(-2%)}to{transform:scale(var(--us-kb-scale,1.12)) translateX(2%)}}
.us-kb-fade .us-fullscreen .embla__slide.kb-active .us-card-media :is(img,video){transform:none;animation:hvKbFade var(--us-kb-dur,7s) cubic-bezier(.16,1,.3,1) forwards}
@keyframes hvKbFade{from{opacity:.8;transform:scale(var(--us-kb-scale,1.08))}to{opacity:1;transform:scale(1)}}
/* 없음 — 배경 모션 정지 */
.us-kb-off .us-fullscreen .us-card-media :is(img,video),.us-kb-off .us-fullscreen .embla__slide.kb-active .us-card-media :is(img,video){animation:none !important;transform:scale(1) !important;opacity:1 !important}
/* 첫(LCP) 슬라이드 배경 모션 OFF(기본) — LCP 이미지에 Ken Burns 미적용(즉시 페인트) */
.us-fullscreen .us-card-media.us-kb-lcpstatic :is(img,video){animation:none !important;transform:scale(1) !important;opacity:1 !important}
/* 첫(LCP) 슬라이드 배경 모션 ON — 첫 정지 프레임 후 JS가 is-kb-started를 한 번 붙여 확실히 시작한다. */
.us-fullscreen .us-card-media.us-kb-lcpgo.is-kb-started :is(img,video){animation:hvKbZoomIn var(--us-kb-dur,7s) cubic-bezier(0,.1,.2,1) forwards}
.us-kb-out .us-fullscreen .us-card-media.us-kb-lcpgo.is-kb-started :is(img,video){animation-name:hvKbZoomOut}
.us-kb-pan .us-fullscreen .us-card-media.us-kb-lcpgo.is-kb-started :is(img,video){animation-name:hvKbPan}
.us-kb-fade .us-fullscreen .us-card-media.us-kb-lcpgo.is-kb-started :is(img,video){animation-name:hvKbFade;animation-timing-function:cubic-bezier(.16,1,.3,1)}
.us-fullscreen .us-card.us-hover-zoom.is-hover .us-card-media img,
.us-fullscreen .us-card.us-hover-zoom:hover .us-card-media img{animation:none !important;transform:scale(1.05) !important}
.us-kb-off .us-fullscreen .us-card-media.us-kb-lcpgo :is(img,video){animation:none !important;transform:scale(1) !important}
@media(prefers-reduced-motion:reduce){.us-fullscreen .us-card-media :is(img,video){transition:none;animation:none !important;transform:none !important;opacity:1 !important}}
/* 모바일: 히어로 이미지 확대 애니메이션/전환 끔 — LCP 즉시 페인트 (Ken Burns JS 도 모바일선 미실행) */
/* 모바일: Ken Burns 줌은 끄되 GPU 합성 레이어는 유지(translateZ) — 영상처럼 메인스레드 정체를
   우회해 LCP 이미지가 빨리 페인트되게. (transform:none 이면 레이어 사라져 메인스레드 페인트로 느려짐) */
@media(max-width:768px){.us-fullscreen .us-card-media :is(img,video){transition:none !important;transform:translateZ(0) !important;will-change:transform;animation:none !important;opacity:1 !important}}
.us-fullscreen .us-hero-content{position:absolute;left:5%;right:5%;top:50%;transform:translateY(-50%);z-index:5}
@media(max-width:900px){.us-fullscreen,.us-fullscreen .embla__slide{height:70vh;min-height:360px}@supports(height:1svh){.us-fullscreen,.us-fullscreen .embla__slide{height:70svh}}.us-fullscreen .us-hero-content{left:0;right:0;padding:0 20px;text-align:center}}

/* 풀스크린 nav 오버레이 — 섹션 기준 절대위치 */
.us-nav-fs{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:10;margin-top:0;width:min(400px,80%)}
/* 풀스크린 nav 다크 테마 — us-nav-fs 의 흰색을 어둡게 override */
.us-nav-fs.us-nav-fs-dark{color:#1a1a1a}
.us-nav-fs.us-nav-fs-dark .us-card-prog-wrap{background:rgba(0,0,0,.18)}
.us-nav-fs.us-nav-fs-dark .us-card-prog-bar{background:#1a1a1a}
.us-nav-fs.us-nav-fs-dark .us-nav-btn{color:#1a1a1a}
.us-nav-fs.us-nav-fs-dark .us-dot::before{background:#1a1a1a}
.us-nav-fs.us-nav-fs-dark .us-frac-display{color:#1a1a1a}

/* 상단 메뉴 톤 연동 — head.php 톤 JS가 nav 바에 us-nav-tone-light/dark 토글.
   us-nav-fs/us-nav-w 등 기본 색을 덮어야 하므로 !important. 풀스크린 여부 무관. */
.us-nav-bar.us-nav-tone-light .us-nav-btn,
.us-nav-bar.us-nav-tone-light .us-frac-display{color:#fff !important}
.us-nav-bar.us-nav-tone-light .us-card-prog-bar{background:#fff !important}
.us-nav-bar.us-nav-tone-light .us-card-prog-wrap{background:rgba(255,255,255,.28) !important}
.us-nav-bar.us-nav-tone-light .us-dot::before{background:#fff !important}
.us-nav-bar.us-nav-tone-dark .us-nav-btn,
.us-nav-bar.us-nav-tone-dark .us-frac-display{color:#1a1a1a !important}
.us-nav-bar.us-nav-tone-dark .us-card-prog-bar{background:#1a1a1a !important}
.us-nav-bar.us-nav-tone-dark .us-card-prog-wrap{background:rgba(0,0,0,.2) !important}
.us-nav-bar.us-nav-tone-dark .us-dot::before{background:#1a1a1a !important}
.us-nav-bar.us-nav-index .us-nav-btn,.us-nav-bar.us-nav-index .us-frac-display{color:var(--index-color,var(--main,#292583)) !important}
.us-nav-bar.us-nav-index .us-dot::before,.us-nav-bar.us-nav-index .us-card-prog-bar{background:var(--index-color,var(--main,#292583)) !important}
.us-nav-bar.us-nav-index .us-card-prog-wrap{background:color-mix(in srgb,var(--index-color,var(--main,#292583)) 22%,transparent) !important}
.us-nav-bar.us-nav-custom .us-nav-btn,.us-nav-bar.us-nav-custom .us-frac-display{color:var(--us-nav-color,var(--index-color,var(--main,#292583))) !important}
.us-nav-bar.us-nav-custom .us-dot::before{background:var(--us-nav-color,var(--index-color,var(--main,#292583))) !important}
.us-nav-bar.us-nav-custom .us-card-prog-bar{background:var(--us-nav-progress,var(--index-color,var(--main,#292583))) !important}
.us-nav-bar.us-nav-custom .us-card-prog-wrap{background:var(--us-nav-track,color-mix(in srgb,var(--index-color,var(--main,#292583)) 22%,transparent)) !important}

/* 히어로 텍스트 오버레이 — 슬라이드 내부 */
.us-hero-overlay{position:absolute;z-index:6;color:#fff;padding:0 6%;pointer-events:none;--ho-dist:22px;--hx:0px;--hy:var(--ho-dist,22px)}
.us-hero-overlay>*{pointer-events:auto}
/* 중앙정렬 모드 (인라인 스타일로 처리, CSS는 보조) */
.us-ho-center .us-ho-eyebrow,
.us-ho-center .us-ho-title,
.us-ho-center .us-ho-desc{text-align:center}
.us-ho-center .us-ho-btn{display:block;width:fit-content;margin:0 auto}
/* 모션 방향 — 이동량은 --ho-dist(빌더 '이동 거리') 기준. 클래스를 '요소'(.us-ho-*)에 붙여 요소별 개별 모션.
   방향형은 --hx/--hy 만 로컬 지정 → 요소 transform(translate var(--hx)/var(--hy))이 그대로 사용 */
.us-hmo-bottom{--hx:0px;--hy:var(--ho-dist,22px)}
.us-hmo-top{--hx:0px;--hy:calc(-1 * var(--ho-dist,22px))}
.us-hmo-left{--hx:calc(-1 * var(--ho-dist,22px));--hy:0px}
.us-hmo-right{--hx:var(--ho-dist,22px);--hy:0px}
.us-hmo-fade{--hx:0px;--hy:0px}
.us-hmo-rise{--hx:0px;--hy:calc(var(--ho-dist,22px) * 2.6)}
.us-hmo-drift_l{--hx:calc(-1 * var(--ho-dist,22px));--hy:var(--ho-dist,22px)}
.us-hmo-drift_r{--hx:var(--ho-dist,22px);--hy:var(--ho-dist,22px)}
/* 텍스트 요소 기본: 숨김 + 방향. 스태거는 요소별 --ho-delay 변수로 — 변형 transition 도 이 var 를 써서 delay 유지 */
.us-ho-eyebrow{--ho-delay:0s;display:block;letter-spacing:.2em;margin-bottom:14px;opacity:0;transform:translateX(var(--hx)) translateY(var(--hy));transition:opacity var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),transform var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),filter var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),clip-path var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s)}
.us-ho-title{--ho-delay:calc(1 * var(--ho-stagger,.13s));margin:0 0 var(--ho-title-gap,14px);line-height:1.15;letter-spacing:-.02em;font-weight:600;opacity:0;transform:translateX(var(--hx)) translateY(var(--hy));transition:opacity var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),transform var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),filter var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),clip-path var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s)}
/* 한글 제목은 행간이 빽빽해 보여 살짝 넓힘 (영문 .eng_b2 는 1.15 유지) */
.us-ho-title.pret{line-height:1.32}
.us-ho-desc{--ho-delay:calc(2 * var(--ho-stagger,.13s));margin:0 0 var(--ho-desc-gap,24px);line-height:1.65;opacity:0;transform:translateX(var(--hx)) translateY(var(--hy));transition:opacity var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),transform var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),filter var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),clip-path var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s)}
.us-ho-btn{--ho-delay:calc(3 * var(--ho-stagger,.13s));display:inline-flex;align-items:center;text-decoration:none;font-weight:500;letter-spacing:.06em;border:1.5px solid var(--ho-btn-bd,var(--ho-btn-c,rgba(255,255,255,.7)));padding:10px 28px;color:var(--ho-btn-tc,var(--ho-btn-c,#fff));background:var(--ho-btn-bg,transparent);border-radius:var(--ho-btn-r,0);backdrop-filter:blur(var(--ho-btn-blur,0));-webkit-backdrop-filter:blur(var(--ho-btn-blur,0));opacity:0;transform:translateX(var(--hx)) translateY(var(--hy));transition:opacity var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),transform var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),filter var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),clip-path var(--ho-dur,1.2s) cubic-bezier(.16,1,.3,1) var(--ho-delay,0s),background .2s,color .2s,border-color .2s}
.us-ho-btn:hover{background:var(--ho-btn-c,rgba(255,255,255,.92));color:var(--ho-btn-hc,#1a1a1a)}
.us-ho-btn--blur:not(.us-ho-btn--custom){position:relative;overflow:hidden;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 16px 42px -28px rgba(0,0,0,.45)}
.us-ho-btn--blur{position:relative;overflow:hidden}
.us-ho-btn--blur::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.32) 45%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}
.us-ho-btn--blur:hover::after{transform:translateX(120%)}
/* 커스텀 색상이 지정된 버튼 — invert 대신 밝기 변화로 hover 피드백 (배경/텍스트 유지) */
.us-ho-btn--custom:hover{background:var(--ho-btn-bg,transparent);color:var(--ho-btn-tc,var(--ho-btn-c,#fff));filter:brightness(1.1)}
.us-ho-btn:focus-visible{outline:2px solid var(--ho-btn-c,rgba(255,255,255,.7));outline-offset:3px}
/* 활성 슬라이드: 텍스트 등장 (방향형 공통 — translate 0 으로 복귀) */
.us-hero-overlay.is-active .us-ho-eyebrow{opacity:.85;transform:translateX(0) translateY(0)}
.us-hero-overlay.is-active .us-ho-title{opacity:1;transform:translateX(0) translateY(0)}
.us-hero-overlay.is-active .us-ho-desc{opacity:.8;transform:translateX(0) translateY(0)}
.us-hero-overlay.is-active .us-ho-btn{opacity:1;transform:translateX(0) translateY(0)}
.us-hmo-linecopy{--ho-stagger:100ms}
.us-hero-overlay.us-hmo-linecopy{inset:0!important;padding:0 5%!important;text-align:center}
.us-hero-overlay.us-hmo-linecopy:not(.us-ho-copy-split){left:var(--ho-group-left,50%)!important;right:auto!important;top:auto!important;bottom:var(--ho-group-bottom,16%)!important;width:min(90vw,900px);padding:0!important;text-align:var(--ho-copy-align,center);transform:translateX(var(--ho-group-tx,-50%))}
.us-hmo-linecopy .us-ho-title{display:flex;align-items:center;justify-content:inherit;gap:clamp(18px,3vw,42px);line-height:1;letter-spacing:0;white-space:nowrap}
.us-hmo-linecopy:not(.us-ho-copy-split) .us-ho-title{position:relative;left:auto;bottom:auto;justify-content:inherit;transform:translateY(var(--hy))}
.us-hmo-linecopy.us-ho-copy-split .us-ho-title{position:absolute;left:var(--ho-title-left,50%);bottom:var(--ho-title-bottom,40%);transform:translateX(var(--ho-title-tx,-50%)) translateY(var(--hy))}
.us-hmo-linecopy.us-ho-center .us-ho-title{justify-content:center}
.us-hmo-linecopy:not(.us-ho-copy-split):not(.us-ho-center) .us-ho-title{justify-content:flex-start}
.us-hmo-linecopy .us-ho-title-part{display:inline-block;opacity:0;transform:translateY(18px);transition:opacity 1s ease .2s,transform 1.1s cubic-bezier(.22,1,.36,1) .2s}
.us-hmo-linecopy .us-ho-title-part:last-child{transition-delay:.3s}
.us-hmo-linecopy .us-ho-title-line{display:inline-block;width:0;height:2px;background:rgba(255,255,255,.3);opacity:.82;transition:width 1s ease-in-out .8s}
.us-hmo-linecopy.is-active .us-ho-title-part{opacity:1;transform:translateY(0)}
.us-hmo-linecopy.is-active .us-ho-title-line{width:clamp(80px,10vw,160px)}
.us-hmo-linecopy:not(.us-ho-copy-split).is-active .us-ho-title{transform:translateY(0)}
.us-hmo-linecopy.us-ho-copy-split.is-active .us-ho-title{transform:translateX(var(--ho-title-tx,-50%)) translateY(0)}
.us-hmo-linecopy.us-ho-copy-split .us-ho-copy{position:absolute;left:var(--ho-copy-left,50%);bottom:var(--ho-copy-bottom,16%);width:min(90vw,680px);text-align:var(--ho-copy-align,center);opacity:0;transform:translateX(var(--ho-copy-tx,-50%)) translateY(10%);transition:opacity .5s ease,transform .8s ease}
.us-hmo-linecopy.us-ho-copy-split .us-ho-copy .us-ho-desc,.us-hmo-linecopy.us-ho-copy-split .us-ho-copy .us-ho-btn{opacity:1;transform:none}
.us-hmo-linecopy.us-ho-copy-split .us-ho-copy .us-ho-desc{margin-bottom:var(--ho-desc-gap,24px)}
.embla__slide.is-copy-active .us-hmo-linecopy.us-ho-copy-split .us-ho-copy{opacity:1;transform:translateX(var(--ho-copy-tx,-50%)) translateY(0)}
.us-card-dim--ref{background:linear-gradient(180deg,rgba(45,31,23,0) 0%,rgba(45,31,23,.04) 38%,rgba(67,45,32,.24) 68%,rgba(45,31,23,.62) 100%),radial-gradient(circle at 50% 84%,rgba(138,106,78,.3) 0%,rgba(67,45,32,.12) 42%,rgba(45,31,23,0) 76%)!important;opacity:0;transition:opacity 1.15s ease .25s}
.embla__slide.is-copy-active .us-card-dim--ref{opacity:1}
@media(max-width:900px){
    .us-hmo-linecopy .us-ho-title{flex-direction:column;gap:12px;white-space:normal}
    .us-hmo-linecopy.is-active .us-ho-title-line{width:96px}
}
/* ===== 특수 변형 — '요소' 단위(.us-ho-*.us-hmo-*). scale/filter/clip. 스태거는 위 --ho-delay 자동 사용 ===== */
/* 줌 인 / 줌 아웃 */
.us-ho-eyebrow.us-hmo-zoom,.us-ho-title.us-hmo-zoom,.us-ho-desc.us-hmo-zoom,.us-ho-btn.us-hmo-zoom{transform:scale(1.14)}
.us-ho-eyebrow.us-hmo-zoom_out,.us-ho-title.us-hmo-zoom_out,.us-ho-desc.us-hmo-zoom_out,.us-ho-btn.us-hmo-zoom_out{transform:scale(.88)}
.us-hero-overlay.is-active .us-ho-eyebrow.us-hmo-zoom,.us-hero-overlay.is-active .us-ho-title.us-hmo-zoom,.us-hero-overlay.is-active .us-ho-desc.us-hmo-zoom,.us-hero-overlay.is-active .us-ho-btn.us-hmo-zoom,
.us-hero-overlay.is-active .us-ho-eyebrow.us-hmo-zoom_out,.us-hero-overlay.is-active .us-ho-title.us-hmo-zoom_out,.us-hero-overlay.is-active .us-ho-desc.us-hmo-zoom_out,.us-hero-overlay.is-active .us-ho-btn.us-hmo-zoom_out{transform:scale(1)}
/* 블러 페이드 — 이동 없이 선명해짐 (블러는 PC 한정) */
.us-ho-eyebrow.us-hmo-blur,.us-ho-title.us-hmo-blur,.us-ho-desc.us-hmo-blur,.us-ho-btn.us-hmo-blur{transform:none}
@media(min-width:901px){
    .us-ho-eyebrow.us-hmo-blur,.us-ho-title.us-hmo-blur,.us-ho-desc.us-hmo-blur,.us-ho-btn.us-hmo-blur{filter:blur(14px)}
    .us-hero-overlay.is-active .us-ho-eyebrow.us-hmo-blur,.us-hero-overlay.is-active .us-ho-title.us-hmo-blur,.us-hero-overlay.is-active .us-ho-desc.us-hmo-blur,.us-hero-overlay.is-active .us-ho-btn.us-hmo-blur{filter:blur(0)}
}
/* 커튼 리빌 — 마스크 상승(clip-path) + 살짝 상승 */
.us-ho-eyebrow.us-hmo-curtain,.us-ho-title.us-hmo-curtain,.us-ho-desc.us-hmo-curtain,.us-ho-btn.us-hmo-curtain{transform:translateY(calc(var(--ho-dist,22px) + 8px));clip-path:inset(0 0 100% 0)}
.us-hero-overlay.is-active .us-ho-eyebrow.us-hmo-curtain,.us-hero-overlay.is-active .us-ho-title.us-hmo-curtain,.us-hero-overlay.is-active .us-ho-desc.us-hmo-curtain,.us-hero-overlay.is-active .us-ho-btn.us-hmo-curtain{transform:translateY(0);clip-path:inset(0 0 0 0)}
/* 포커스 인 — scale + PC 한정 약한 블러 */
.us-ho-eyebrow.us-hmo-focus,.us-ho-title.us-hmo-focus,.us-ho-desc.us-hmo-focus,.us-ho-btn.us-hmo-focus{transform:scale(1.04)}
.us-hero-overlay.is-active .us-ho-eyebrow.us-hmo-focus,.us-hero-overlay.is-active .us-ho-title.us-hmo-focus,.us-hero-overlay.is-active .us-ho-desc.us-hmo-focus,.us-hero-overlay.is-active .us-ho-btn.us-hmo-focus{transform:scale(1)}
@media(min-width:901px){
    .us-ho-eyebrow.us-hmo-focus,.us-ho-title.us-hmo-focus,.us-ho-desc.us-hmo-focus{filter:blur(7px)}
    .us-hero-overlay.is-active .us-ho-eyebrow.us-hmo-focus,.us-hero-overlay.is-active .us-ho-title.us-hmo-focus,.us-hero-overlay.is-active .us-ho-desc.us-hmo-focus{filter:blur(0)}
}
/* 없음(요소 정적) — 해당 요소만 즉시 표시 */
.us-ho-eyebrow.us-hmo-none,.us-ho-title.us-hmo-none,.us-ho-desc.us-hmo-none,.us-ho-btn.us-hmo-none{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}
.us-ho-eyebrow.us-hmo-none{opacity:.85!important}
.us-ho-desc.us-hmo-none{opacity:.8!important}
/* 블러 효과 추가(us-hmo-blurfx) — 어떤 방향/모션에든 블러를 덧입힘. base transition 의 filter 가 자동 처리.
   블러는 PC 한정(모바일 성능). 'none'(정적) 요소는 filter:none!important 라 영향 없음 */
@media(min-width:901px){
    .us-hmo-blurfx .us-ho-eyebrow,.us-hmo-blurfx .us-ho-title,.us-hmo-blurfx .us-ho-desc,.us-hmo-blurfx .us-ho-btn{filter:blur(10px)}
    .us-hero-overlay.us-hmo-blurfx.is-active .us-ho-eyebrow,.us-hero-overlay.us-hmo-blurfx.is-active .us-ho-title,.us-hero-overlay.us-hmo-blurfx.is-active .us-ho-desc,.us-hero-overlay.us-hmo-blurfx.is-active .us-ho-btn{filter:blur(0)}
}
/* 모션 최소화 선호 — 모든 특수모션 즉시 표시 */
@media(prefers-reduced-motion:reduce){
    .us-ho-eyebrow.us-hmo-zoom,.us-ho-title.us-hmo-zoom,.us-ho-desc.us-hmo-zoom,.us-ho-btn.us-hmo-zoom,
    .us-ho-eyebrow.us-hmo-zoom_out,.us-ho-title.us-hmo-zoom_out,.us-ho-desc.us-hmo-zoom_out,.us-ho-btn.us-hmo-zoom_out,
    .us-ho-eyebrow.us-hmo-blur,.us-ho-title.us-hmo-blur,.us-ho-desc.us-hmo-blur,.us-ho-btn.us-hmo-blur,
    .us-ho-eyebrow.us-hmo-curtain,.us-ho-title.us-hmo-curtain,.us-ho-desc.us-hmo-curtain,.us-ho-btn.us-hmo-curtain,
    .us-ho-eyebrow.us-hmo-focus,.us-ho-title.us-hmo-focus,.us-ho-desc.us-hmo-focus,.us-ho-btn.us-hmo-focus{transform:none!important;filter:none!important;clip-path:none!important;transition:opacity .3s}
}
/* 텍스트 정적 표시(us-ho-lcp) — opacity:0 시작 없이 즉시 최종상태로 페인트(첫 이미지 LCP 안전).
   모션 변형(us-hmo-*)·is-active 토글과 무관하게 항상 정적. '없음' 전체 + '첫 화면 보호' 첫 슬라이드에 부여 */
.us-ho-lcp .us-ho-eyebrow,.us-ho-lcp .us-ho-title,.us-ho-lcp .us-ho-desc,.us-ho-lcp .us-ho-btn{
    opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important;
}
.us-ho-lcp .us-ho-eyebrow{opacity:.85!important}
.us-ho-lcp .us-ho-desc{opacity:.8!important}
/* 영문 폰트 굵기 조정 — eng_b2 클래스 조합 시 300으로 완화 */
.us-ho-title.eng_b2{font-weight:300;letter-spacing:.04em}
/* 한/영 혼용 — 영문 구간 span (us_hero_mix) */
.us-ho-title .eng_b2{font-weight:300;letter-spacing:.04em}
.us-ho-eyebrow .eng_b2,.us-ho-desc .eng_b2{letter-spacing:.04em}
.us-card-title.eng_b2,.us-split-title.eng_b2{font-weight:300}
/* 크기 6단계 */
.us-hsz-xs  .us-ho-title{font-size:clamp(1rem,2vw,1.4rem)}
.us-hsz-xs  .us-ho-desc {font-size:clamp(.8rem,1.2vw,.9rem)}
.us-hsz-sm  .us-ho-title{font-size:clamp(1.4rem,2.5vw,1.9rem)}
.us-hsz-sm  .us-ho-desc {font-size:clamp(.85rem,1.4vw,1rem)}
.us-hsz-md  .us-ho-title{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.us-hsz-md  .us-ho-desc {font-size:clamp(.9rem,1.5vw,1.05rem)}
.us-hsz-lg  .us-ho-title{font-size:clamp(2.4rem,4.5vw,3.4rem)}
.us-hsz-lg  .us-ho-desc {font-size:clamp(.95rem,1.6vw,1.1rem)}
.us-hsz-xl  .us-ho-title{font-size:clamp(3rem,5.5vw,4.4rem)}
.us-hsz-xl  .us-ho-desc {font-size:clamp(1rem,1.8vw,1.2rem)}
.us-hsz-2xl .us-ho-title{font-size:clamp(3.8rem,7vw,5.6rem)}
.us-hsz-2xl .us-ho-desc {font-size:clamp(1.05rem,2vw,1.35rem)}
/* 디스플레이 — 화면 폭을 꽉 채우는 초대형 세리프 타이틀(가장자리로 흘러 잘리는 풀폭 룩). 한 줄 유지 + 오버레이가 넘침 클립 */
.us-hsz-display .us-ho-title{font-size:clamp(3rem,12vw,15rem);line-height:1;letter-spacing:-.01em;white-space:nowrap}
.us-hsz-display .us-ho-desc {font-size:clamp(1.05rem,2vw,1.35rem)}
.us-hero-overlay.us-hsz-display{overflow:hidden}
@media(max-width:900px){
    .us-hero-overlay{padding:0 5%}
    /* 좌측 배치 히어로(right:auto)가 모바일에서 좁게 shrink 되어 설명이 잦게 줄바꿈되는 문제 —
       오른쪽 끝을 잡아 폭 확보(가운데 배치는 inline right:0 이라 영향 없음). 설명은 행간 살짝 조여 가독성↑ */
    .us-hero-overlay{right:5%}
    .us-ho-desc{line-height:1.5}
    .us-hsz-xs  .us-ho-title{font-size:1rem}
    .us-hsz-sm  .us-ho-title{font-size:1.3rem}
    .us-hsz-md  .us-ho-title{font-size:1.7rem}
    .us-hsz-lg  .us-ho-title{font-size:2rem}
    .us-hsz-xl  .us-ho-title{font-size:2.4rem}
    .us-hsz-2xl .us-ho-title{font-size:2.8rem}
    .us-hsz-display .us-ho-title{font-size:16vw}
}
@media(prefers-reduced-motion:reduce){
    .us-ho-eyebrow,.us-ho-title,.us-ho-desc,.us-ho-btn{transition:none}
    .us-hero-overlay.is-active .us-ho-eyebrow,
    .us-hero-overlay.is-active .us-ho-title,
    .us-hero-overlay.is-active .us-ho-desc,
    .us-hero-overlay.is-active .us-ho-btn{opacity:1;transform:translateX(0) translateY(0)}
}

/* 카드 링크 오버레이 */
.us-card-link{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:4;background:transparent}

/* 모달 */
.us-modal-bg{display:none;position:fixed;top:0;right:0;bottom:0;left:0;inset:0;background:rgba(0,0,0,.85);z-index:99999;align-items:center;justify-content:center}
.us-modal-bg.open{display:flex}
.us-modal-inner{position:relative;width:min(900px,92vw);aspect-ratio:16/9;background:#000}
.us-modal-inner iframe{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;border:0}
.us-modal-close{position:absolute;top:-38px;right:0;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;line-height:1;padding:4px 8px}
.us-modal-close:hover{opacity:.7}
.us-modal-close:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* 로그인 블러 게이트 */
.us-login-gate{position:relative}
.us-login-mask{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:20;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;border-radius:4px}
.us-login-prompt{text-align:center;padding:32px 40px;background:rgba(255,255,255,.95);border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.14)}
.us-login-prompt svg{display:block;margin:0 auto 14px;opacity:.5}
.us-login-prompt p{margin:0 0 20px;color:#1a1a1a}
.us-login-prompt a{display:inline-flex;align-items:center;padding:10px 28px;background:var(--main,#c9a96e);color:#fff;text-decoration:none;border-radius:4px;font-weight:500;letter-spacing:.06em;transition:opacity .2s}
.us-login-prompt a:hover{opacity:.82}
.us-login-prompt a:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:3px}
@media(max-width:900px){.us-login-prompt{padding:24px 20px}}

/* 비활성 섹션 (어드민에서만 보임) */
.us-sec-off{opacity:.4;outline:2px dashed #f59e0b}

/* 줄 수 제한 (C3/C4) */
[class*="us-lc-"]{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.us-lc-1{-webkit-line-clamp:1}
.us-lc-2{-webkit-line-clamp:2}
.us-lc-3{-webkit-line-clamp:3}
/* 다크 테마 (ST6) */
.us-theme-dark .us-sec-head{color:#fff}
.us-theme-dark .us-card-body,.us-theme-dark .us-card-overlay{color:#fff}
/* L1 표시 제어 */
.us-vis-pc{display:block}
.us-vis-mo{display:none}
@media(max-width:900px){
    .us-vis-pc{display:none !important}
    .us-vis-mo{display:block !important}
}
/* 섹션 라운드 */
.us-round-top{border-radius:var(--us-rr,40px) var(--us-rr,40px) 0 0;overflow:hidden}
.us-round-bot{border-radius:0 0 var(--us-rr,40px) var(--us-rr,40px);overflow:hidden}
.us-round-all{border-radius:var(--us-rr,40px);overflow:hidden}
/* 풀스크린 히어로 라운드 — 섹션은 클리핑하지 않고(배경색이 모서리에 노출됨) 안쪽 히어로(.us-fullscreen)를 둥글게.
   섹션 배경 = --us-hero-bd-color (띠 색 자동, 없으면 기존 bg) → 둥근 모서리에 그 색이 비침 = 레퍼런스 */
.us-section.us-fs.us-round-top,
.us-section.us-fs.us-round-bot,
.us-section.us-fs.us-round-all{border-radius:0 !important;overflow:visible !important}
.us-section.us-fs.us-round-top .us-fullscreen{border-radius:var(--us-rr,40px) var(--us-rr,40px) 0 0;overflow:hidden}
.us-section.us-fs.us-round-bot .us-fullscreen{border-radius:0 0 var(--us-rr,40px) var(--us-rr,40px);overflow:hidden}
.us-section.us-fs.us-round-all .us-fullscreen{border-radius:var(--us-rr,40px);overflow:hidden}
/* 배경 오버레이 — z-index:1, 콘텐츠는 z-index:2, 네비/에디트는 z-index:3으로 위 */
.us-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:1;pointer-events:none}
.us-section > .hive_b,
.us-section > div:not(.us-bg-overlay):not(.us-nav-bar):not(.mt-sec-edit-overlay){position:relative;z-index:2}
.us-nav-bar:not(.us-nav-fs),.mt-sec-edit-overlay{position:relative;z-index:3}
/* 프리셋 UI */
.mcp-preset-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.mcp-preset-btn{padding:3px 9px;font-size:11px;border:1px solid #444;border-radius:4px;background:#2a2a2a;color:#ccc;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}
.mcp-preset-btn:hover{background:#7c3aed;color:#fff;border-color:#7c3aed}
.mcp-preset-sep{width:100%;height:1px;background:#333;margin:4px 0}
.mcp-preset-user-wrap{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;min-height:0}
.mcp-preset-user-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 9px;font-size:11px;border:1px solid #4a4a6a;border-radius:4px;background:#252535;color:#b0b0d0;cursor:default}
.mcp-preset-chip-apply{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:11px;line-height:1}
.mcp-preset-chip-apply:hover{color:#a78bfa}
.mcp-preset-chip-del{background:none;border:none;color:#555;cursor:pointer;padding:0;font-size:13px;line-height:1;margin-left:2px}
.mcp-preset-chip-del:hover{color:#f87171}
.mcp-preset-save-cur{width:100%;padding:5px 8px;font-size:11px;border:1px dashed #444;border-radius:4px;background:none;color:#888;cursor:pointer;text-align:left;transition:border-color .15s,color .15s}
.mcp-preset-save-cur:hover{border-color:#7c3aed;color:#a78bfa}
/* 색상 피커 + 텍스트 입력 쌍 */
.mcp-color-pair{display:flex;gap:6px;align-items:center;margin-top:4px}
.mcp-color-pair input[type=color]{width:32px;height:28px;padding:2px;border:1px solid #444;border-radius:4px;cursor:pointer;flex-shrink:0;background:#333}
.mcp-color-pair input[type=text]{flex:1;padding:5px 8px;background:#333;border:1px solid #444;border-radius:4px;color:#fff;font-size:12px;box-sizing:border-box}

/* 빈 섹션 플레이스홀더 (관리자) */
.us-empty-ph{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#1a1a1a 0,#1a1a1a 10px,#1f1f1f 10px,#1f1f1f 20px)}
.us-empty-ph{height:85svh;min-height:480px}
.us-empty-ph-sm{height:220px;min-height:0}
.us-empty-msg{text-align:center;color:#999}
.us-empty-msg i{font-size:40px;display:block;margin-bottom:10px}
.us-empty-msg p{font-size:14px;line-height:1.5}

/* 편집 모드: 애니메이션 강제 표시 */
body.mt-edit [data-a],
body.mt-edit [data-a].us-a-visible{opacity:1 !important;transform:none !important;filter:none !important;transition:none !important}
body.mt-edit .us-hefs .us-hero-eyebrow,
body.mt-edit .us-hefs .us-htitle,
body.mt-edit .us-hefs2>*{opacity:1 !important;transform:none !important;transition:none !important}

/* 히어로 텍스트 */
.us-hero-content{position:absolute;left:5%;right:5%;z-index:5;pointer-events:none}
.us-hero-content>*{pointer-events:auto}
.us-hero-content.is-center{text-align:center}
.us-hero-content.is-center .us-hero-cta{justify-content:center}
.us-hero-eyebrow{letter-spacing:.2em;opacity:.85;margin-bottom:14px;display:block}
/* 히어로 페이드인 */
.us-hefs .us-hero-eyebrow{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.us-hefs.is-visible .us-hero-eyebrow{opacity:1;transform:translateY(0)}
.us-hefs .us-htitle{opacity:0;transform:translateY(22px);transition:opacity .85s cubic-bezier(.16,1,.3,1) .15s,transform .85s cubic-bezier(.16,1,.3,1) .15s}
.us-hefs.is-visible .us-htitle{opacity:1;transform:translateY(0)}
.us-hefs2>*{opacity:0;transform:translateY(18px);transition:opacity .85s cubic-bezier(.16,1,.3,1) .28s,transform .85s cubic-bezier(.16,1,.3,1) .28s}
.us-hefs2.is-visible>*{opacity:1;transform:translateY(0)}
/* 히어로 CTA */
.us-hero-cta{display:flex;gap:0;margin-top:18px}
.us-hcb{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:148px;height:48px;padding:0 28px;font-weight:500;letter-spacing:.05em;text-decoration:none;overflow:hidden;flex-shrink:0}
.us-hcb .hcb-bg{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;transform:translateY(102%);transition:transform .44s cubic-bezier(.16,1,.3,1);z-index:0}
.us-hcb .hcb-front,.us-hcb .hcb-back{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;z-index:1;transition:transform .44s cubic-bezier(.16,1,.3,1),opacity .32s cubic-bezier(.16,1,.3,1)}
.us-hcb .hcb-front{transform:translateY(0);opacity:1}
.us-hcb .hcb-back{transform:translateY(102%);opacity:0}
.us-hcb:hover .hcb-bg{transform:translateY(0)}
.us-hcb:hover .hcb-front{transform:translateY(-102%);opacity:0}
.us-hcb:hover .hcb-back{transform:translateY(0);opacity:1}
.us-hcb-outline{border:1.5px solid rgba(255,255,255,.7)}
.us-hcb-outline .hcb-bg{background:#fff}
.us-hcb-outline .hcb-front{color:#fff}
.us-hcb-outline .hcb-back{color:#1a1820}
.us-hcb-fill{background:var(--main,#c9a96e);border:1.5px solid var(--main,#c9a96e)}
.us-hcb-fill .hcb-bg{background:rgba(255,255,255,.15)}
.us-hcb-fill .hcb-front,.us-hcb-fill .hcb-back{color:#fff}
@media(max-width:900px){
    .us-hero-content{left:0;right:0;padding:0 20px;text-align:center}
    .us-hero-cta{justify-content:center;flex-wrap:wrap;gap:8px}
    .us-hcb{min-width:0;flex:1;height:44px;padding:0 16px}
}
/* 히어로 네비 */
.us-hero-nav{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:16px}
.us-hero-nav button{width:40px;height:40px;border-radius:50%;background:none;border:0;color:#fff;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s,transform .2s}
.us-hero-nav button:hover{opacity:1;transform:scale(1.15)}
.us-hero-nav button:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px;border-radius:50%}
.us-hero-frac{display:flex;align-items:center;gap:10px;color:#fff}
.us-hero-frac-num{font-size:12px;letter-spacing:.1em;min-width:24px;text-align:center}
.us-hero-prog{width:80px;height:2px;background:rgba(255,255,255,.25);overflow:hidden;border-radius:2px}
.us-hero-prog-bar{width:100%;height:100%;background:#fff;border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}

/* nav-bar — 통합 네비 컨테이너 */
.us-nav-bar{margin-top:var(--us-nav-gap,28px);display:flex;flex-direction:column;gap:14px;align-items:center}
.us-nav-bar.us-nav-left{align-items:flex-start}.us-nav-bar.us-nav-right{align-items:flex-end}
/* 진행바 + 화살표 동시: 한 줄로 (.us-nav-row 는 JS 폴백; 모던 브라우저는 :has() 사용) */
.us-nav-bar:has(.us-card-prog-wrap):has(.us-nav-controls),
.us-nav-bar.us-nav-row{flex-direction:row;align-items:center;gap:20px}
.us-nav-bar:has(.us-card-prog-wrap):has(.us-nav-controls) .us-card-prog-wrap,
.us-nav-bar.us-nav-row .us-card-prog-wrap{flex:1;min-width:0}
/* 진행바 단독: 전체 폭 */
.us-card-prog-wrap{height:1px;background:var(--us-nav-track,color-mix(in srgb,var(--index-color,var(--main,#292583)) 22%,transparent));overflow:hidden;border-radius:1px;width:100%}
.us-card-prog-bar{width:100%;height:100%;background:var(--us-nav-progress,var(--index-color,var(--main,#292583)));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.us-nav-bar{color:var(--us-nav-color,var(--index-color,var(--main,#292583)))}
.us-nav-dark{color:#1a1a1a}.us-nav-dark .us-card-prog-wrap{background:rgba(0,0,0,.18)}.us-nav-dark .us-card-prog-bar{background:#1a1a1a}
/* 화이트 테마 */
.us-nav-w{color:#fff}
.us-nav-w .us-card-prog-wrap{background:rgba(255,255,255,.25)}
.us-nav-w .us-card-prog-bar{background:#fff}
/* controls 행: 화살표 + fraction */
.us-nav-controls{display:flex;align-items:center;gap:0;flex-shrink:0}
.us-nav-btn{width:34px;height:34px;background:none;border:none;padding:0;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.4;transition:opacity .2s,transform .22s cubic-bezier(.34,1.56,.64,1)}
.us-nav-btn:hover{opacity:1}
.us-nav-prev:hover{transform:translateX(-2px)}
.us-nav-next:hover{transform:translateX(2px)}
.us-nav-btn:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:2px;border-radius:2px}
.us-nav-divider{width:1px;height:12px;background:currentColor;opacity:.2;flex-shrink:0;margin:0 2px}
.us-arrow-style-text .us-nav-controls{gap:22px}
.us-arrow-style-text .us-nav-btn{width:auto;height:34px;font-family:var(--font-eng,'Jost',sans-serif);font-size:16px;font-weight:300;letter-spacing:.06em;font-synthesis:none;opacity:1}
.us-arrow-style-text .us-nav-divider{display:none}
.us-arrow-style-text .us-frac-display{margin:0;font-size:14px;gap:5px;opacity:.55}
/* 카드 양옆 오버레이 화살표 (arrow_pos=side) — 슬라이더(.embla) 기준 절대배치 */
.embla{position:relative}
.embla[data-us-rotate="1"] .us-slide-pad,.embla[data-us-rotate="1"] .us-card,.embla[data-us-rotate="1"] .us-card-media{transform-origin:center center;will-change:transform}
.embla[data-us-rotate="1"] .us-slide-pad>.us-card{overflow:visible}
/* 회전 카드의 하단 꼭짓점과 본문이 viewport에 잘리지 않도록 원호 전용 공간 확보 */
.embla[data-us-rotate="1"] .us-embla-vp{padding-bottom:clamp(180px,16vw,270px)}
@media(max-width:768px){
  .embla[data-us-rotate="1"][data-us-rotate-mo="0"] .us-embla-vp{padding-bottom:0}
  .embla[data-us-rotate="1"][data-us-rotate-mo="1"] .us-embla-vp{padding-bottom:clamp(110px,28vw,170px)}
}
.us-embla-vp{position:relative}
.embla.us-grad-side .us-embla-vp::before,.embla.us-grad-bottom .us-embla-vp::after{content:"";position:absolute;z-index:5;pointer-events:none}
.embla.us-grad-side .us-embla-vp::before{inset:0;background:linear-gradient(90deg,var(--us-sec-bg,#fff),transparent) left/clamp(48px,10vw,180px) 100% no-repeat,linear-gradient(270deg,var(--us-sec-bg,#fff),transparent) right/clamp(48px,10vw,180px) 100% no-repeat}
.embla.us-grad-bottom .us-embla-vp::after{right:0;bottom:0;left:0;height:clamp(80px,22%,190px);background:linear-gradient(180deg,transparent 0%,var(--us-sec-bg,#fff) 100%)}
.us-nav-side{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;background:var(--us-arrow-bg,rgba(255,255,255,.9));border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--us-arrow-c,var(--index-color,var(--main,#292583)));opacity:.92;transition:opacity .25s,background .2s,transform .22s cubic-bezier(.34,1.56,.64,1)}
.us-nav-side:hover{opacity:1;background:var(--us-arrow-bg,#fff)}
/* 동그라미 배경 끄기(arrow_side_bg=off) — 아이콘만 노출 */
.us-arrow-nobg .us-nav-side,.us-arrow-nobg .us-nav-side:hover{background:transparent}
.us-nav-side-prev{left:16px}
.us-nav-side-next{right:16px}
.us-nav-side-prev:hover{transform:translateY(-50%) translateX(-2px)}
.us-nav-side-next:hover{transform:translateY(-50%) translateX(2px)}
.us-nav-side:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:2px}
/* 마우스 오버 시에만 노출(arrow_side_hover) — 데스크톱은 hover 노출, 터치는 스와이프만 사용 */
@media(hover:hover){
  .us-arrow-hover .us-nav-side{opacity:0;pointer-events:none}
  .us-arrow-hover:hover .us-nav-side{opacity:.92;pointer-events:auto}
  .us-arrow-hover .us-nav-side:hover{opacity:1}
  .us-arrow-hover .us-nav-side:focus-visible{opacity:1;pointer-events:auto}
}
@media(hover:none){
  .us-arrow-hover .us-nav-side{display:none}
}
@media(max-width:768px){.us-nav-side{width:38px;height:38px}.us-nav-side-prev{left:8px}.us-nav-side-next{right:8px}}
/* fraction 표시 */
.us-frac-display{display:flex;align-items:center;gap:4px;font-size:12px;letter-spacing:.08em;opacity:.6;font-variant-numeric:tabular-nums;margin:0 8px}
.us-frac-sep{opacity:.4}
.us-fc,.us-ft{min-width:16px;text-align:center}
/* dots — 시각은 6×6 / 22×6 그대로, 버튼 자체는 24×24 hit area 확보 */
.us-dots{display:flex;gap:0;justify-content:center}
.us-dot{width:24px;height:24px;background:transparent;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative}
.us-dot::before{content:'';width:6px;height:6px;border-radius:3px;background:currentColor;opacity:.25;transition:opacity .2s,width .3s cubic-bezier(.16,1,.3,1)}
.us-dot.is-active::before{opacity:1;width:22px}
.us-dot:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:2px;border-radius:3px}

/* -----------------------------------------------
   마키 모드
----------------------------------------------- */
.us-marquee-wrap{overflow:hidden}
.us-marquee-track{display:flex;animation:us-marquee var(--us-mspeed,30s) linear infinite}
.us-marquee-track:hover{animation-play-state:paused}
@keyframes us-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.us-marquee-track .us-card{flex-shrink:0;width:var(--us-mcard-w,280px);margin-right:var(--us-gap,16px)}
@media(prefers-reduced-motion:reduce){.us-marquee-track{animation:none}}
/* M2 마키 역방향 */
@keyframes us-marquee-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.us-mq-rev .us-marquee-track{animation-name:us-marquee-rev !important}
/* M3 hover 일시정지 비활성화 */
.us-mq-nopause .us-marquee-track:hover{animation-play-state:running !important}
/* S1 페이드 모드 */
.us-fade-mode .us-embla-vp{overflow:visible}
.us-fade-mode .embla__container{transform:none !important;position:relative;min-height:var(--us-fade-h,0px)}
.us-fade-mode .embla__slide{position:absolute !important;top:0;left:0;width:100% !important;opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1);pointer-events:none;flex:none !important}
.us-fade-mode .embla__slide.us-slide-active{opacity:1;pointer-events:auto;position:relative !important}
@media(prefers-reduced-motion:reduce){.us-fade-mode .embla__slide{transition:none}}

/* -----------------------------------------------
   그리드 모드
----------------------------------------------- */
.us-grid-wrap{display:grid;grid-template-columns:repeat(var(--us-cols,3),minmax(0,1fr));gap:var(--us-ggap,28px)}
@media(max-width:1366px){.us-grid-wrap{grid-template-columns:repeat(var(--us-cols-tab,2),minmax(0,1fr))}}
@media(max-width:600px){.us-grid-wrap{grid-template-columns:repeat(var(--us-cols-mo,1),minmax(0,1fr))}}

/* -----------------------------------------------
   스크롤 등장 모션
----------------------------------------------- */
[data-a]{opacity:0;transform:translateX(var(--ax,0px)) translateY(var(--ay,var(--us-adist,28px)));filter:var(--abl,none);transition:opacity var(--us-aspd,.75s) cubic-bezier(.16,1,.3,1),transform var(--us-aspd,.75s) cubic-bezier(.16,1,.3,1),filter var(--us-aspd,.75s) cubic-bezier(.16,1,.3,1);transition-delay:var(--us-adel,0ms)}
[data-a="fade"]{--ay:0px}
[data-a="slide_l"]{--ax:calc(-1 * var(--us-adist,28px));--ay:0px}
[data-a="slide_r"]{--ax:var(--us-adist,28px);--ay:0px}
[data-a="blur_up"]{--abl:blur(10px)}
[data-a="blur"]{--ay:0px;--abl:blur(10px)}
[data-a="blur_l"]{--ax:calc(-1 * var(--us-adist,28px));--ay:0px;--abl:blur(10px)}
[data-a="blur_r"]{--ax:var(--us-adist,28px);--ay:0px;--abl:blur(10px)}
[data-a="blur_d"]{--ay:calc(-1 * var(--us-adist,28px));--abl:blur(10px)}
[data-a="none"]{opacity:1 !important;transform:none !important;filter:none !important;transition:none !important}
[data-a].us-a-visible{opacity:1;transform:translateX(0) translateY(0);filter:none}

/* -----------------------------------------------
   포커스 공통
----------------------------------------------- */
:focus-visible{outline:2px solid var(--main,#c9a96e);outline-offset:2px}

/* -----------------------------------------------
   prefers-reduced-motion 일괄
----------------------------------------------- */
@media(prefers-reduced-motion:reduce){
    [data-a]:not([data-a="none"]){opacity:1;transform:none;filter:none;transition:none}
    .us-hefs .us-hero-eyebrow,.us-hefs .us-htitle,.us-hefs2>*{opacity:1;transform:none;transition:none}
    .us-hcb .hcb-bg,.us-hcb .hcb-front,.us-hcb .hcb-back{transition-duration:.01ms !important}
    .us-hero-prog-bar,.us-card-prog-bar,.us-frac-bar{transition:none}
}

/* -----------------------------------------------
   섹션 이미지 관리 모달
----------------------------------------------- */
.usm-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;inset:0;background:rgba(0,0,0,.7);z-index:99999;align-items:center;justify-content:center}
.usm-overlay.open{display:flex}
.usm-box{background:#1a1a1a;border-radius:10px;width:min(900px,96vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.6)}
.usm-head{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #333;gap:12px;flex-shrink:0}
.usm-head h3{flex:1;margin:0;color:#fff;font-size:15px;font-weight:600}
.usm-close{background:none;border:none;color:#888;font-size:22px;cursor:pointer;line-height:1;padding:0 4px}
.usm-close:hover{color:#fff}
.usm-body{overflow-y:auto;padding:16px;flex:1}
.usm-footer{padding:12px 16px;border-top:1px solid #333;display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}

/* 아이템 카드 */
.usm-list{display:flex;flex-direction:column;gap:10px}
.usm-item{background:#252525;border:1px solid #333;border-radius:8px;display:flex;gap:12px;padding:12px;align-items:flex-start;position:relative}
.usm-item.usm-drag-over{border-color:#7c3aed;background:#2a2040}
.usm-drag-h{color:#666;cursor:grab;align-self:stretch;user-select:none;flex-shrink:0;display:flex;align-items:center;padding:0 6px;margin:-12px -4px -12px -12px;border-radius:8px 0 0 8px;background:#1e1e1e;touch-action:none}
.usm-drag-h:hover{color:#bbb;background:#2c2c2c}
.usm-drag-h:active{cursor:grabbing;color:#fff}
.usm-drag-ghost{opacity:.5}
.usm-thumb-wrap{width:100px;height:80px;flex-shrink:0;background:#111;border-radius:5px;overflow:hidden;position:relative;cursor:pointer}
.usm-thumb-wrap:hover .usm-thumb-overlay{opacity:1}
.usm-thumb{width:100%;height:100%;object-fit:cover;display:block}
.usm-thumb-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#444;font-size:28px}
.usm-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;font-size:12px;text-align:center;line-height:1.4}
.usm-file-inp{display:none}
.usm-fields{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0}
.usm-field{display:flex;flex-direction:column;gap:3px}
.usm-field label{font-size:10px;color:#666;letter-spacing:.08em}
.usm-field input,.usm-field textarea{background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;color:#ddd;font-size:12px;padding:5px 8px;width:100%;box-sizing:border-box}
.usm-field input:focus,.usm-field textarea:focus{border-color:#7c3aed;outline:none}
.usm-field textarea{resize:vertical;min-height:44px;font-family:inherit}
.usm-hero-pos{margin-top:2px;padding:12px 14px;border:1px solid #414148;border-radius:8px;background:#1b1b1e;color:#f4f4f5}
.usm-hero-pos__summary{position:relative;display:block;padding-right:28px;cursor:pointer;color:#f4f4f5;font-size:14px;font-weight:700;line-height:1.5;list-style:none}
.usm-hero-pos__summary::-webkit-details-marker{display:none}
.usm-hero-pos__summary::after{content:'';position:absolute;top:50%;right:2px;width:8px;height:8px;border-right:2px solid #a1a1aa;border-bottom:2px solid #a1a1aa;transform:translateY(-65%) rotate(45deg);transition:transform .18s ease}
.usm-hero-pos[open]>.usm-hero-pos__summary::after{transform:translateY(-35%) rotate(225deg)}
.usm-hero-pos__summary small{color:#a1a1aa;font-size:11px;font-weight:500}
.usm-hero-pos__summary:focus-visible{outline:2px solid #8b5cf6;outline-offset:4px;border-radius:2px}
.usm-hero-pos__body{display:grid;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #34343a}
.usm-hero-pos__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.usm-hero-pos label{display:grid;gap:6px;min-width:0;color:#b8b8c2;font-size:11px;font-weight:600;letter-spacing:0}
.usm-hero-pos select,.usm-hero-pos input[type=number]{box-sizing:border-box;width:100%;height:40px;margin:0;border:1px solid #44444d;border-radius:6px;background-color:#242429;color:#f4f4f5;font-family:inherit;font-size:12px;font-weight:500;line-height:1.2}
.usm-hero-pos select{appearance:none;-webkit-appearance:none;padding:0 36px 0 11px;color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:14px}
.usm-hero-pos select option{background:#242429;color:#f4f4f5}
.usm-hero-pos input[type=number]{appearance:textfield;-moz-appearance:textfield;padding:0 11px}
.usm-hero-pos input[type=number]::-webkit-inner-spin-button,.usm-hero-pos input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.usm-hero-pos select:hover,.usm-hero-pos input[type=number]:hover{border-color:#5d5d68}
.usm-hero-pos select:focus-visible,.usm-hero-pos input[type=number]:focus-visible{border-color:#8b5cf6;outline:2px solid rgba(139,92,246,.28);outline-offset:1px}
.usm-hero-pos input[type=number]::placeholder{color:#71717a;opacity:1}
.usm-del-btn{background:none;border:none;color:#555;font-size:16px;cursor:pointer;padding:0;line-height:1;flex-shrink:0;align-self:flex-start}
.usm-del-btn:hover{color:#ef4444}
.usm-add-btn{width:100%;padding:10px;background:#1e293b;border:1px dashed #334155;color:#64748b;border-radius:6px;font-size:13px;cursor:pointer;margin-top:8px;transition:background .15s,color .15s}
.usm-add-btn:hover{background:#334155;color:#cbd5e1}
.usm-save-btn{padding:9px 22px;background:#7c3aed;color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer}
.usm-save-btn:hover{background:#6d28d9}
.usm-save-btn:disabled{opacity:.5;cursor:default}
.usm-cancel-btn{padding:9px 16px;background:#333;color:#aaa;border:none;border-radius:5px;font-size:13px;cursor:pointer}
.usm-cancel-btn:hover{background:#444;color:#fff}
.usm-uploading{font-size:11px;color:#7c3aed;margin-top:3px}
@media(max-width:600px){
    .usm-box{width:100vw;max-height:100vh;border-radius:0}
    .usm-item{flex-wrap:wrap}
    .usm-thumb-wrap{width:80px;height:64px}
    .usm-hero-pos__row{grid-template-columns:1fr}
}

/* ============================================================
   HIVE ADMIN OVERLAY — Tesla 톤 통일 override (시안 적용)
   기존 CSS 0% 수정. 마지막 정의 우선 적용.
   ============================================================ */

/* 토큰 */
:root {
    --hv-tx-1:#f5f5f5; --hv-tx-2:#d4d4d4; --hv-tx-3:#a3a3a3; --hv-tx-4:#7a7a7a; --hv-tx-5:#525252;
    --hv-glow:0 0 12px rgba(255,255,255,.55), 0 0 24px rgba(255,255,255,.18);
}

/* ===== 인덱스 admin bar ===== */
/* body padding 제거 — admin bar 닫혀도 위쪽 흰 띠 안 남게 (admin bar 는 fixed 라 어차피 사이트 위에 덮음) */
body.mt-edit{ padding-top:0 !important; }

/* ===== 섹션 hover 액션 버튼 (편집 / 복사 / 삭제) — Tesla 톤 ===== */
.mt-sec-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    width:auto !important;
    min-width:62px !important;
    height:30px !important;
    padding:0 12px !important;
    font-size:11.5px !important;
    font-weight:700 !important;
    border-radius:6px !important;
    border:0 !important;
    cursor:pointer !important;
    letter-spacing:.02em !important;
    -webkit-backdrop-filter:saturate(160%) blur(14px) !important;
            backdrop-filter:saturate(160%) blur(14px) !important;
    transition:background .15s, color .15s, transform .12s !important;
    white-space:nowrap !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.06) !important;
}
.mt-sec-btn:hover{ transform:translateY(-1px); }
/* 편집 — primary action: 흰 배경 + 검정 텍스트 + glow */
.mt-sec-btn-img{
    background:#fff !important;
    color:#0a0a0a !important;
    box-shadow:0 0 12px rgba(255,255,255,.30), 0 0 24px rgba(255,255,255,.10) !important;
}
.mt-sec-btn-img:hover{ background:#e8e8e8 !important; color:#0a0a0a !important; }
/* 복사 — secondary: 검정 반투명 + 흰 텍스트 */
.mt-sec-btn-clone{
    background:rgba(15,15,18,.85) !important;
    color:#f5f5f5 !important;
}
.mt-sec-btn-clone:hover{
    background:rgba(28,28,32,.92) !important;
    color:#fff !important;
}
/* 삭제 — danger ghost: 검정 반투명 + 흰 텍스트, hover 시 빨강 강조 (기능 명확) */
.mt-sec-btn-del{
    background:rgba(15,15,18,.85) !important;
    color:#fca5a5 !important;
}
.mt-sec-btn-del:hover{
    background:rgba(60,15,15,.92) !important;
    color:#fff !important;
}

#mt-admin-bar{
    background:rgba(12,12,14,.92) !important;
    backdrop-filter:saturate(160%) blur(20px) !important;
    -webkit-backdrop-filter:saturate(160%) blur(20px) !important;
    border:0 !important;
    box-shadow:0 8px 24px rgba(0,0,0,.55), inset 0 -1px 0 rgba(255,255,255,.04) !important;
    color:var(--hv-tx-1) !important;
    font-size:15px !important;
    height:54px !important;
    padding:0 16px !important;
    border-radius:0 !important;
}
/* admin bar 토글 (좌상단 ⚙) — 사이트 흰 헤더 위에서도 명확히 */
#mt-admin-toggle{
    background:rgba(12,12,14,.92) !important;
    color:#fff !important;
    border:0 !important;
    backdrop-filter:saturate(160%) blur(14px) !important;
    -webkit-backdrop-filter:saturate(160%) blur(14px) !important;
    box-shadow:0 4px 14px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.06) !important;
    width:34px !important; height:34px !important;
    top:10px !important; left:10px !important;
}
#mt-admin-toggle:hover{
    background:#0a0a0a !important;
    transform:scale(1.06) !important;
}
#mt-admin-toggle.is-open{
    background:#fff !important;
    color:#0a0a0a !important;
    box-shadow:0 4px 14px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.20) !important;
}
/* 안쪽 컨테이너 — height 통일, wrap 방지 (정렬 안정) */
#mt-admin-bar .mt-ab-i{
    height:54px !important;
    align-items:center !important;
    gap:8px !important;
    padding:0 16px 0 56px !important;
}
#mt-admin-bar .mt-ab-l,
#mt-admin-bar .mt-ab-r{
    height:54px !important;
    align-items:center !important;
    display:flex !important;
    gap:6px !important;
    flex-wrap:nowrap !important;
}
#mt-admin-bar .mt-ab-l-wrap{
    position:relative;
    display:flex;
    flex:1;
    min-width:0;
    align-items:center;
}
#mt-admin-bar .mt-ab-l{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    min-width:0;
    flex:1;
    flex-wrap:nowrap !important;
    scroll-behavior:smooth;
}
#mt-admin-bar .mt-ab-l::-webkit-scrollbar{ display:none; }

/* 좌/우 가로 스크롤 화살표 — 오버플로 있을 때만 표시 */
#mt-admin-bar .mt-ab-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:28px; height:32px;
    display:inline-flex;
    align-items:center; justify-content:center;
    color:#fff;
    background:rgba(20,20,20,.85);
    border:1px solid rgba(255,255,255,.12);
    border-radius:5px;
    cursor:pointer;
    z-index:5;
    opacity:0;
    pointer-events:none;
    transition:opacity .15s, background .15s, transform .15s;
    box-shadow:0 4px 14px rgba(0,0,0,.45);
}
#mt-admin-bar .mt-ab-arrow:hover{
    background:#7c3aed;
    border-color:#7c3aed;
}
#mt-admin-bar .mt-ab-arrow:active{ transform:translateY(-50%) scale(.92); }
#mt-admin-bar .mt-ab-arrow-l{ left:2px; }
#mt-admin-bar .mt-ab-arrow-r{ right:2px; }
#mt-admin-bar .mt-ab-l-wrap.has-scroll-left  .mt-ab-arrow-l,
#mt-admin-bar .mt-ab-l-wrap.has-scroll-right .mt-ab-arrow-r{
    opacity:1;
    pointer-events:auto;
}
/* 화살표 양옆 가장자리 페이드 — 화살표 뒤로 콘텐츠가 자연스럽게 사라지듯 */
#mt-admin-bar .mt-ab-l-wrap::before,
#mt-admin-bar .mt-ab-l-wrap::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width:36px;
    pointer-events:none;
    z-index:4;
    opacity:0;
    transition:opacity .15s;
}
#mt-admin-bar .mt-ab-l-wrap::before{
    left:0;
    background:linear-gradient(to right, #1a1a1a 30%, transparent 100%);
}
#mt-admin-bar .mt-ab-l-wrap::after{
    right:0;
    background:linear-gradient(to left, #1a1a1a 30%, transparent 100%);
}
#mt-admin-bar .mt-ab-l-wrap.has-scroll-left::before{ opacity:1; }
#mt-admin-bar .mt-ab-l-wrap.has-scroll-right::after{ opacity:1; }

/* 전체 섹션 드롭다운 버튼 + 팝오버 */
#mt-admin-bar .mt-sec-menu-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:rgba(124,58,237,.18);
    color:#c4b5fd;
    border:1px solid rgba(124,58,237,.35);
    border-radius:5px;
    height:32px;
    padding:0 12px;
    font-size:12.5px;
    font-weight:600;
    line-height:1;
    letter-spacing:-.005em;
    cursor:pointer;
    flex-shrink:0;
    transition:background .15s, color .15s, border-color .15s;
}
#mt-admin-bar .mt-sec-menu-btn:hover,
#mt-admin-bar .mt-sec-menu-wrap.is-open .mt-sec-menu-btn{
    background:rgba(124,58,237,.32);
    color:#fff;
    border-color:rgba(124,58,237,.65);
}
.mt-sec-menu{
    position:absolute;
    top:calc(100% + 6px);
    right:0;
    width:300px;
    max-height:60vh;
    background:#1f1f1f;
    border:1px solid #333;
    border-radius:8px;
    box-shadow:0 16px 40px rgba(0,0,0,.55);
    z-index:10000;
    display:none;
    flex-direction:column;
    overflow:hidden;
    font-family:'Pretendard',sans-serif;
}
.mt-sec-menu-wrap.is-open .mt-sec-menu{ display:flex; }
.mt-sec-menu-search{
    padding:8px;
    border-bottom:1px solid #2a2a2a;
    flex-shrink:0;
}
.mt-sec-menu-q{
    width:100%;
    box-sizing:border-box;
    background:#141414;
    border:1px solid #2e2e2e;
    color:#e8e8e8;
    border-radius:5px;
    height:30px;
    padding:0 10px;
    font-size:12.5px;
    outline:none;
    transition:border-color .15s;
}
.mt-sec-menu-q:focus{ border-color:#7c3aed; }
.mt-sec-menu-list{
    overflow-y:auto;
    padding:4px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.18) transparent;
}
.mt-sec-menu-list::-webkit-scrollbar{ width:6px; }
.mt-sec-menu-list::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.14); border-radius:3px; }
.mt-sec-menu-item{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    padding:8px 10px;
    background:transparent;
    color:#d4d4d4;
    border:0;
    border-radius:5px;
    font-size:13px;
    font-weight:500;
    text-align:left;
    cursor:pointer;
    transition:background .12s, color .12s;
}
.mt-sec-menu-item:hover{ background:rgba(255,255,255,.06); color:#fff; }
.mt-sec-menu-item.is-active{ background:rgba(124,58,237,.20); color:#fff; }
.mt-sec-menu-item.is-hidden{ display:none; }
.mt-sec-menu-dot{
    width:8px; height:8px;
    border-radius:50%;
    background:#555;
    flex-shrink:0;
}
.mt-sec-menu-item.on .mt-sec-menu-dot{ background:#22c55e; }
.mt-sec-menu-name{
    flex:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.mt-sec-menu-mode{
    font-size:10.5px;
    color:#666;
    background:rgba(255,255,255,.04);
    padding:2px 6px;
    border-radius:3px;
    flex-shrink:0;
}
.mt-sec-menu-empty{
    padding:24px 12px;
    text-align:center;
    color:#666;
    font-size:12px;
}

/* ============== 좌측 요소들 — 모두 height 32px 통일 ============== */
/* ADMIN 라벨 chip */
#mt-admin-bar .mt-bar-logo,
#mt-admin-bar .mt-admin-tag,
#mt-admin-bar .mt-badge,
#mt-admin-bar .mt-bar > span:first-child{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
    color:#0a0a0a !important;
    font-weight:700 !important;
    letter-spacing:.12em !important;
    height:32px !important;
    padding:0 12px !important;
    border-radius:5px !important;
    font-size:11px !important;
    line-height:1 !important;
    flex-shrink:0;
}

/* "하이브빌더 메인" / "SECTION" 같은 텍스트 라벨 */
#mt-admin-bar .mt-lbl{
    display:inline-flex !important;
    align-items:center !important;
    height:32px !important;
    color:var(--hv-tx-3) !important;
    font-size:12.5px !important;
    line-height:1 !important;
    letter-spacing:.04em !important;
    flex-shrink:0;
    padding:0 2px;
}

/* 섹션 토글 chip — "메인히어로" 등 */
#mt-admin-bar .mt-tog{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.04) !important;
    color:var(--hv-tx-3) !important;
    border:0 !important;
    border-radius:5px !important;
    height:32px !important;
    padding:0 13px !important;
    font-size:13px !important; font-weight:600 !important;
    line-height:1 !important;
    letter-spacing:-.005em !important;
    flex-shrink:0;
    max-width:160px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    transition:background .15s, color .15s !important;
}
#mt-admin-bar .mt-tog:hover{
    background:rgba(255,255,255,.08) !important;
    color:var(--hv-tx-1) !important;
}
#mt-admin-bar .mt-tog.on{
    background:rgba(255,255,255,.12) !important;
    color:#fff !important;
}
#mt-admin-bar .mt-tog.is-active{
    box-shadow:0 0 0 2px rgba(124,58,237,.55) inset !important;
}
#mt-admin-bar .mt-tog .mt-tog-dot{
    display:inline-block;
    width:6px; height:6px;
    border-radius:50%;
    background:#666;
    margin-right:6px;
    flex-shrink:0;
    transition:background .15s;
}
#mt-admin-bar .mt-tog.on .mt-tog-dot{ background:#22c55e; }

/* 섹션 chip (개별 섹션 설정에서 쓰는 mt-sec-btn) */
#mt-admin-bar .mt-sec-btn,
#mt-admin-bar .mt-chip,
#mt-admin-bar [data-sec]:not(.mt-tog){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.04) !important;
    color:var(--hv-tx-2) !important;
    border:0 !important;
    border-radius:5px !important;
    height:32px !important;
    padding:0 13px !important;
    font-size:13px !important; font-weight:600 !important;
    line-height:1 !important;
    letter-spacing:-.005em !important;
    flex-shrink:0;
    transition:background .15s, color .15s !important;
}
#mt-admin-bar .mt-sec-btn:hover,
#mt-admin-bar [data-sec]:not(.mt-tog):hover{
    background:rgba(255,255,255,.08) !important;
    color:var(--hv-tx-1) !important;
}
#mt-admin-bar .mt-sec-btn.is-active,
#mt-admin-bar [data-sec].is-active{
    background:rgba(255,255,255,.12) !important;
    color:#fff !important;
}

/* ============== 우측 요소들 — 모두 height 32px 통일 ============== */
/* admin bar 버튼 (섹션 설정 / 편집 / 저장 / 취소 / 업데이트) */
#mt-admin-bar .mt-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:transparent !important;
    border:0 !important;
    border-radius:5px !important;
    height:32px !important;
    padding:0 14px !important;
    font-size:13px !important; font-weight:600 !important;
    line-height:1 !important;
    color:var(--hv-tx-3) !important;
    letter-spacing:-.005em !important;
    gap:6px !important;
    flex-shrink:0;
    transition:background .15s, color .15s !important;
}
#mt-admin-bar .mt-btn:hover{
    background:rgba(255,255,255,.06) !important;
    color:var(--hv-tx-1) !important;
}

/* 섹션 설정 (active = 흰 배경) — hover 시 텍스트 검정 유지 (contrast 보장) */
#mt-admin-bar .mt-btn-cfg,
#mt-admin-bar .mt-btn-cfg:hover,
#mt-admin-bar .mt-btn-cfg:focus,
#mt-admin-bar .mt-btn-cfg.is-active{
    background:#fff !important;
    color:#0a0a0a !important;
    box-shadow:0 0 12px rgba(255,255,255,.30), 0 0 24px rgba(255,255,255,.10);
}
#mt-admin-bar .mt-btn-cfg:hover{
    background:#e8e8e8 !important;
    color:#0a0a0a !important;
}

/* 편집 시작 / 저장 — 부드러운 흰 톤 */
#mt-admin-bar .mt-btn-edit,
#mt-admin-bar .mt-btn-save{
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
}
#mt-admin-bar .mt-btn-edit:hover,
#mt-admin-bar .mt-btn-save:hover{
    background:rgba(255,255,255,.14) !important;
    color:#fff !important;
}

/* 취소 — ghost */
#mt-admin-bar .mt-btn-cancel{
    background:transparent !important;
    color:var(--hv-tx-4) !important;
}
#mt-admin-bar .mt-btn-cancel:hover{
    background:rgba(255,255,255,.06) !important;
    color:#fff !important;
}

/* 다국어 chip · 톱니 — 32px 정렬 */
#mt-admin-bar .mt-lang{ height:32px !important; }
#mt-admin-bar .mt-lang .mt-lang-pub,
#mt-admin-bar .mt-lang .mt-lang-btn,
#mt-admin-bar .mt-lang .mt-lang-cog{ height:28px !important; }

/* sep — 32px 안 22px 라인 */
#mt-admin-bar .mt-sep{
    background:rgba(255,255,255,.08) !important;
    width:1px !important;
    height:22px !important;
    flex-shrink:0;
    margin:0 4px;
}

/* changed badge — 32px 통일 */
#mt-admin-bar .mcp-changed-badge{
    display:inline-flex !important;
    align-items:center !important;
    background:rgba(255,255,255,.10) !important;
    color:var(--hv-tx-1) !important;
    border:0 !important;
    height:24px !important;
    padding:0 9px !important;
    border-radius:4px !important;
    font-size:11px !important;
    font-weight:600 !important;
    line-height:1 !important;
    flex-shrink:0;
}

/* version — 정렬용 */
#mt-admin-bar #mt-ver-badge{
    display:inline-flex !important;
    align-items:center !important;
    height:32px !important;
    color:var(--hv-tx-5) !important;
    font-size:11.5px !important;
    line-height:1 !important;
    flex-shrink:0;
}

/* ============================================================
   섹션 설정 패널 (#mt-cfg-panel)
   반투명 + 강한 블러 + 보더 제거
   ============================================================ */
#mt-cfg-panel{
    background:rgba(12,12,14,.92) !important;
    backdrop-filter:saturate(160%) blur(28px) !important;
    -webkit-backdrop-filter:saturate(160%) blur(28px) !important;
    border:0 !important;
    border-radius:14px 0 0 14px !important;
    box-shadow:0 20px 50px rgba(0,0,0,.65), inset 0 0 0 1px rgba(255,255,255,.05) !important;
    width:400px !important;
    top:68px !important;
    bottom:14px !important;
    right:14px !important;
    /* sticky 헤더 + sec-list 단독 스크롤 위해 flex 컨테이너로 */
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    /* 닫혔을 때 우측 화면 밖으로 충분히 빼기 (잔존 그림자 차단) */
    transform:translateX(calc(100% + 30px)) !important;
    transition:transform .35s cubic-bezier(.16,1,.3,1), right .35s cubic-bezier(.16,1,.3,1), left .35s cubic-bezier(.16,1,.3,1), width .25s cubic-bezier(.16,1,.3,1), height .25s cubic-bezier(.16,1,.3,1), opacity .2s !important;
}
/* 닫혔을 때 — backdrop / shadow 잔존 차단 */
#mt-cfg-panel:not(.open){
    box-shadow:none !important;
    -webkit-backdrop-filter:none !important;
            backdrop-filter:none !important;
    pointer-events:none !important;
    opacity:0 !important;
}
#mt-cfg-panel.open{
    transform:translateX(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
}
#mt-cfg-panel.snap-left{ left:14px !important; right:auto !important; border-radius:0 14px 14px 0 !important; }
/* 풀스크린 — admin bar(z:9999) 위로 올려서 ⊞/× 항상 보이게 + 진짜 꽉 차게 */
#mt-cfg-panel.fullscreen{
    top:0 !important; right:0 !important; bottom:0 !important; left:0 !important;
    width:auto !important; height:auto !important;
    max-width:none !important;
    max-height:none !important;
    border-radius:0 !important;
    z-index:10001 !important;
}
#mt-cfg-panel.dragging{ transition:none !important; box-shadow:0 24px 60px rgba(0,0,0,.75) !important; }

/* 패널 헤더 — 항상 top 에 sticky (스크롤해도 닫기 ×버튼 항상 보임) */
#mt-cfg-panel .mcp-head{
    background:rgba(12,12,14,.94) !important;
    backdrop-filter:saturate(160%) blur(20px) !important;
    -webkit-backdrop-filter:saturate(160%) blur(20px) !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.05) !important;
    height:56px !important;
    padding:0 22px !important;
    font-size:17px !important;
    color:var(--hv-tx-1) !important;
    cursor:move !important;
    user-select:none !important;
    position:sticky !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:10 !important;
    flex-shrink:0 !important;
}
#mt-cfg-panel .mcp-head::after{
    content:'';
    position:absolute;
    top:8px; left:50%; transform:translateX(-50%);
    width:36px; height:3px;
    background:rgba(255,255,255,.14);
    border-radius:2px;
    opacity:.6;
    transition:opacity .15s, background .15s;
}
#mt-cfg-panel .mcp-head:hover::after,
#mt-cfg-panel.dragging .mcp-head::after{ opacity:1; background:#fff; }

#mt-cfg-panel .mcp-close{
    color:var(--hv-tx-3) !important;
    width:30px; height:30px;
    border-radius:5px !important;
}
#mt-cfg-panel .mcp-close:hover{ background:rgba(255,255,255,.08) !important; color:#fff !important; }

#mt-cfg-panel .mcp-sec-list{
    padding:8px 16px 60px !important;
    flex:1 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.18) transparent;
}
#mt-cfg-panel .mcp-sec-list::-webkit-scrollbar{ width:6px; }
#mt-cfg-panel .mcp-sec-list::-webkit-scrollbar-track{ background:transparent; }
#mt-cfg-panel .mcp-sec-list::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.14); border-radius:3px; }
#mt-cfg-panel .mcp-sec-list::-webkit-scrollbar-thumb:hover{ background:rgba(255,255,255,.24); }

/* 섹션 카드 — 이중 배경 제거 (외부 패널 배경만 유지). 카드 사이는 hairline 으로만 구분 */
#mt-cfg-panel .mcp-item{
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    margin-bottom:0 !important;
    overflow:visible !important;        /* sticky head 동작 위해 visible */
    border-bottom:1px solid rgba(255,255,255,.05) !important;
}
#mt-cfg-panel .mcp-item:last-child{ border-bottom:0 !important; }

/* 섹션 row (메인히어로 / 전후사진 등) — 평소 transparent */
#mt-cfg-panel .mcp-item-head{
    background:transparent !important;
    border:0 !important;
    height:52px !important;
    padding:0 16px !important;
    gap:11px !important;
}
#mt-cfg-panel .mcp-item-head:hover{ background:rgba(255,255,255,.04) !important; }

/* active(열린) 섹션의 row 는 panel scroll 시 항상 top 에 sticky — 어떤 섹션 편집 중인지 명확 */
#mt-cfg-panel .mcp-item.is-open > .mcp-item-head{
    position:sticky !important;
    top:0 !important;
    z-index:5 !important;
    background:rgba(12,12,14,.94) !important;
    -webkit-backdrop-filter:saturate(160%) blur(20px) !important;
            backdrop-filter:saturate(160%) blur(20px) !important;
    border-bottom:1px solid rgba(255,255,255,.06) !important;
    margin:0 -16px;
    padding:0 16px !important;
    width:auto;
}
#mt-cfg-panel .mcp-drag-handle{ color:var(--hv-tx-5) !important; font-size:15px !important; }
#mt-cfg-panel .mcp-item-lbl{ font-size:15px !important; color:var(--hv-tx-1) !important; font-weight:600 !important; letter-spacing:-.005em !important; }
#mt-cfg-panel .mcp-hd-btn{
    background:transparent !important; border:0 !important;
    width:28px !important; height:28px !important;
    border-radius:5px !important;
    color:var(--hv-tx-3) !important;
    transition:background .15s, color .15s !important;
}
#mt-cfg-panel .mcp-hd-btn:hover{ background:rgba(255,255,255,.06) !important; color:var(--hv-tx-1) !important; }
#mt-cfg-panel .mcp-hd-clone:hover{ background:rgba(255,255,255,.10) !important; color:#fff !important; }
#mt-cfg-panel .mcp-hd-del:hover{ background:rgba(248,113,113,.16) !important; color:#fca5a5 !important; }

/* 토글 — 색만 시안 톤 (사이즈는 원본 유지: 32×18, knob 14px, transform:translateX) */
#mt-cfg-panel .mcp-item-tog-track{ background:rgba(255,255,255,.12) !important; }
#mt-cfg-panel .mcp-item-tog-track::before{ background:var(--hv-tx-2) !important; }
#mt-cfg-panel .mcp-tog-chk:checked + .mcp-item-tog-track,
#mt-cfg-panel input[type="checkbox"]:checked + .mcp-item-tog-track{ background:#fff !important; }
#mt-cfg-panel .mcp-tog-chk:checked + .mcp-item-tog-track::before,
#mt-cfg-panel input[type="checkbox"]:checked + .mcp-item-tog-track::before{ background:#0a0a0a !important; }

/* 그룹 */
#mt-cfg-panel .mcp-group{ padding:16px 18px !important; border:0 !important; }
#mt-cfg-panel .mcp-group-label{
    font-size:13.5px !important; font-weight:700 !important;
    color:var(--hv-tx-3) !important;
    letter-spacing:.04em !important;
    text-transform:none !important;
    margin:0 0 12px !important;
}

/* 옵션 row + 라벨 */
#mt-cfg-panel .mcp-row{
    margin-bottom:10px !important;
}
#mt-cfg-panel .mcp-row label,
#mt-cfg-panel .mcp-group label{
    font-size:12px !important; color:var(--hv-tx-3) !important;
    font-weight:500 !important;
    margin-bottom:6px !important;
    display:block;
}

/* 입력 (input / select / textarea) — 옅게 (이중 배경 느낌 제거) */
#mt-cfg-panel input[type="text"],
#mt-cfg-panel input[type="number"],
#mt-cfg-panel input[type="url"],
#mt-cfg-panel input[type="email"],
#mt-cfg-panel select,
#mt-cfg-panel textarea{
    background:rgba(255,255,255,.04) !important;
    border:0 !important;
    border-radius:5px !important;
    height:38px !important;
    padding:0 14px !important;
    color:var(--hv-tx-1) !important;
    font-size:14px !important;
    font-family:inherit !important;
    outline:0 !important;
    transition:background .15s !important;
    box-shadow:none !important;
}
#mt-cfg-panel textarea{ height:auto !important; min-height:72px !important; padding:11px 14px !important; line-height:1.55 !important; }
#mt-cfg-panel input:hover,
#mt-cfg-panel select:hover,
#mt-cfg-panel textarea:hover{ background:rgba(255,255,255,.07) !important; }
#mt-cfg-panel input:focus,
#mt-cfg-panel select:focus,
#mt-cfg-panel textarea:focus{ background:rgba(255,255,255,.09) !important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.20) !important; }
#mt-cfg-panel input::placeholder,
#mt-cfg-panel textarea::placeholder{ color:var(--hv-tx-5) !important; }

/* 프리셋 chip — 평소 transparent, hover 시에만 가벼운 highlight */
#mt-cfg-panel .mcp-preset-btn{
    background:transparent !important;
    color:var(--hv-tx-2) !important;
    border:0 !important;
    border-radius:5px !important;
    height:32px !important;
    padding:0 14px !important;
    font-size:13px !important; font-weight:600 !important;
    transition:background .15s, color .15s !important;
}
#mt-cfg-panel .mcp-preset-btn:hover{ background:rgba(255,255,255,.06) !important; color:#fff !important; }
#mt-cfg-panel .mcp-preset-btn.is-active{ background:#fff !important; color:#0a0a0a !important; }

/* "+ 현재 설정 저장" / "내보내기" — dashed ghost (배경 제거) */
#mt-cfg-panel .mcp-preset-save-cur,
#mt-cfg-panel .mcp-preset-export-btn{
    background:transparent !important;
    border:0 !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important;
    color:var(--hv-tx-3) !important;
    border-radius:5px !important;
    height:32px !important;
    font-size:12.5px !important; font-weight:600 !important;
}
#mt-cfg-panel .mcp-preset-save-cur:hover,
#mt-cfg-panel .mcp-preset-export-btn:hover{
    background:rgba(255,255,255,.04) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.20) !important;
    color:#fff !important;
}
#mt-cfg-panel .mcp-preset-sep{ background:rgba(255,255,255,.05) !important; height:1px !important; margin:10px 0 !important; }

/* segment (정렬 등) — 트랙 배경 옅게 */
#mt-cfg-panel .mcp-seg{
    background:rgba(255,255,255,.04) !important;
    border:0 !important;
    border-radius:5px !important;
    padding:3px !important;
    display:inline-flex !important;
    gap:1px !important;
}
#mt-cfg-panel .mcp-seg button,
#mt-cfg-panel .mcp-seg .mcp-seg-btn{
    background:transparent !important;
    border:0 !important;
    color:var(--hv-tx-3) !important;
    height:30px !important;
    padding:0 14px !important;
    font-size:12.5px !important; font-weight:600 !important;
    border-radius:4px !important;
    transition:background .15s, color .15s !important;
}
#mt-cfg-panel .mcp-seg button:hover,
#mt-cfg-panel .mcp-seg .mcp-seg-btn:hover{ color:#fff !important; }
#mt-cfg-panel .mcp-seg button.is-active,
#mt-cfg-panel .mcp-seg .mcp-seg-btn.is-active{ background:#fff !important; color:#0a0a0a !important; }

/* 색상 swatch */
#mt-cfg-panel .mcp-swatch,
#mt-cfg-panel .mcp-swatch-custom,
#mt-cfg-panel .mcp-color-sw{
    width:30px !important; height:30px !important;
    border:0 !important;
    border-radius:5px !important;
    transition:transform .15s !important;
    box-shadow:none !important;
    flex-shrink:0 !important;
    box-sizing:border-box !important;
}
#mt-cfg-panel .mcp-swatches{
    align-items:center !important;
    row-gap:7px !important;
}
#mt-cfg-panel .mcp-swatch:hover,
#mt-cfg-panel .mcp-color-sw:hover{ transform:scale(1.08); }
#mt-cfg-panel .mcp-swatch.is-active,
#mt-cfg-panel .mcp-color-sw.is-active{ box-shadow:0 0 0 2px #fff, 0 0 0 4px rgba(255,255,255,.18) !important; }
/* active 스와치 scale 이 다음 줄을 밀어내지 않도록 — transform 만 키우고 layout 은 동일 */
#mt-cfg-panel .mcp-swatch.active{ transform:scale(1.12) !important; }
#mt-cfg-panel .mcp-hex-input{
    height:30px !important;
    padding:0 9px !important;
    background:#2b2b2b !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:5px !important;
    color:#f8fafc !important;
    font-size:12px !important;
}
#mt-cfg-panel .mcp-hex-input:focus{ border-color:#7c3aed !important; }
#mt-cfg-panel .mcp-hex-input.is-invalid{ border-color:#ef4444 !important; background:#3a1f1f !important; }

/* 스크롤바 — 얇게 */
#mt-cfg-panel .mcp-sec-list::-webkit-scrollbar{ width:6px; }
#mt-cfg-panel .mcp-sec-list::-webkit-scrollbar-track{ background:transparent; }
#mt-cfg-panel .mcp-sec-list::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.10); border-radius:3px; }
#mt-cfg-panel .mcp-sec-list::-webkit-scrollbar-thumb:hover{ background:rgba(255,255,255,.18); }

/* 핸들 (좌측 폭 / 하단 높이) — 헤더(z:10) 보다 위에 위치 */
#mt-cfg-panel .mt-drag-w{
    position:absolute; top:0; left:-8px; bottom:0; width:16px;
    cursor:ew-resize; z-index:20;
    display:flex; align-items:center; justify-content:center;
}
#mt-cfg-panel .mt-drag-w::after{
    content:''; width:3px; height:64px;
    background:rgba(255,255,255,.14); border-radius:2px;
    opacity:.6; transition:opacity .25s, background .25s, width .25s, height .25s;
}
#mt-cfg-panel:hover .mt-drag-w::after{ opacity:1; }
#mt-cfg-panel .mt-drag-w:hover::after,
#mt-cfg-panel .mt-drag-w.dragging::after{
    background:#fff; width:4px; height:80px; box-shadow:var(--hv-glow);
}
#mt-cfg-panel .mt-drag-h{
    position:absolute; left:0; right:0; bottom:-8px; height:16px;
    cursor:ns-resize; z-index:20;
    display:flex; align-items:center; justify-content:center;
}
#mt-cfg-panel .mt-drag-h::after{
    content:''; width:64px; height:3px;
    background:rgba(255,255,255,.14); border-radius:2px;
    opacity:.6; transition:opacity .25s, background .25s, width .25s, height .25s;
}
#mt-cfg-panel:hover .mt-drag-h::after{ opacity:1; }
#mt-cfg-panel .mt-drag-h:hover::after,
#mt-cfg-panel .mt-drag-h.dragging::after{
    background:#fff; width:80px; height:4px; box-shadow:var(--hv-glow);
}
#mt-cfg-panel.fullscreen .mt-drag-w,
#mt-cfg-panel.fullscreen .mt-drag-h{ display:none; }

/* 헤더 우측 액션 그룹 (전체화면 + 닫기) */
#mt-cfg-panel .mcp-head-acts{
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
    margin-left:auto !important;
}
/* 풀스크린 버튼 */
#mt-cfg-panel .mcp-fs{
    background:transparent !important; border:0 !important;
    color:var(--hv-tx-3) !important;
    width:30px !important; height:30px !important;
    border-radius:5px !important;
    cursor:pointer;
    display:grid; place-items:center;
    transition:background .15s, color .15s;
}
#mt-cfg-panel .mcp-fs:hover{ background:rgba(255,255,255,.08) !important; color:#fff !important; }
/* 풀스크린 활성 시 아이콘 swap */
#mt-cfg-panel.fullscreen .mcp-fs .mcp-fs-out{ display:none !important; }
#mt-cfg-panel.fullscreen .mcp-fs .mcp-fs-in{ display:block !important; }

/* ============================================================
   보라 흔적 일괄 제거 — 모든 보라 → 시안 톤 (흰 액센트)
   ============================================================ */
#mt-cfg-panel .mcp-save-btn{
    background:#fff !important;
    color:#0a0a0a !important;
    border:0 !important;
    border-top:0 !important;
    font-size:13.5px !important;
    font-weight:700 !important;
    letter-spacing:-.005em !important;
    padding:14px !important;
    transition:background .15s !important;
}
#mt-cfg-panel .mcp-save-btn:hover{ background:#e5e5e5 !important; }

/* mp-tab (전체 / 카테고리) — 평소 transparent + 보더 약하게 */
#mt-cfg-panel .mcp-mp-tab{
    background:transparent !important;
    border:1px solid rgba(255,255,255,.08) !important;
    color:var(--hv-tx-3) !important;
    border-radius:5px !important;
    height:30px !important;
    padding:0 12px !important;
    font-size:11.5px !important;
    font-weight:600 !important;
    letter-spacing:.04em !important;
    transition:background .15s, color .15s, border-color .15s !important;
}
#mt-cfg-panel .mcp-mp-tab:hover{
    background:rgba(255,255,255,.04) !important;
    border-color:rgba(255,255,255,.20) !important;
    color:#fff !important;
}
#mt-cfg-panel .mcp-mp-tab.is-active{
    background:#fff !important;
    border-color:#fff !important;
    color:#0a0a0a !important;
}

/* mp-tile (레이아웃 미리보기 타일) — 배경 옅게 (이중 느낌 제거) */
#mt-cfg-panel .mcp-mp-tile{
    background:rgba(255,255,255,.03) !important;
    border:1px solid rgba(255,255,255,.06) !important;
    border-radius:6px !important;
    transition:background .15s, border-color .15s, transform .15s !important;
}
#mt-cfg-panel .mcp-mp-tile:hover{
    background:rgba(255,255,255,.06) !important;
    border-color:rgba(255,255,255,.20) !important;
    transform:translateY(-1px);
}
#mt-cfg-panel .mcp-mp-tile.is-active{
    border-color:#fff !important;
    background:rgba(255,255,255,.08) !important;
    box-shadow:0 0 0 1px #fff !important;
}
#mt-cfg-panel .mcp-mp-tile.is-active .mcp-mp-label{ color:#fff !important; }
#mt-cfg-panel .mcp-item-act-clone:hover{
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
}
#mt-cfg-panel [data-mt-f][contenteditable="true"]{
    outline:2px solid #fff !important;
}

/* preset 버튼 hover — 보라 → 흰 단계 */
#mt-cfg-panel .mcp-preset-btn:hover{
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    border-color:transparent !important;
}
#mt-cfg-panel .mcp-preset-save-cur:hover{
    border-color:rgba(255,255,255,.20) !important;
    color:#fff !important;
}

/* input/select focus — 보라 보더 → 시안 톤 */
#mt-cfg-panel .mcp-row select:focus,
#mt-cfg-panel .mcp-row input:focus,
#mt-cfg-panel .mcp-mp-search:focus{
    outline:none !important;
    border-color:transparent !important;
    background:rgba(0,0,0,.45) !important;
}

/* PC/모바일 위치 탭 (.mcp-pos-tab) — JS 인라인 style 보라 우회 (!important) */
#mt-cfg-panel .mcp-pos-tab{
    background:rgba(255,255,255,.06) !important;
    color:var(--hv-tx-3) !important;
    border:0 !important;
    border-radius:5px !important;
    height:30px !important;
    padding:0 14px !important;
    font-size:12.5px !important;
    font-weight:600 !important;
    transition:background .15s, color .15s !important;
}
#mt-cfg-panel .mcp-pos-tab:hover{
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
}
#mt-cfg-panel .mcp-pos-tab.active{
    background:#fff !important;
    color:#0a0a0a !important;
}

/* 카드 내부 글꼴 PC/모바일 탭 */
#mt-cfg-panel .mcp-card-font-tabs{display:flex;gap:4px;margin:0 0 10px}
#mt-cfg-panel .mcp-head-font-tabs{display:flex;gap:4px;margin:0 0 10px}
#mt-cfg-panel .mcp-card-font-tab{
    flex:1;height:30px;padding:0 14px;border:0;border-radius:5px;
    background:rgba(255,255,255,.06);color:var(--hv-tx-3);
    font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s
}
#mt-cfg-panel .mcp-head-font-tab{
    flex:1;height:30px;padding:0 14px;border:0;border-radius:5px;
    background:rgba(255,255,255,.06);color:var(--hv-tx-3);
    font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s
}
#mt-cfg-panel .mcp-card-font-tab:hover{background:rgba(255,255,255,.10);color:#fff}
#mt-cfg-panel .mcp-head-font-tab:hover{background:rgba(255,255,255,.10);color:#fff}
#mt-cfg-panel .mcp-card-font-tab.active{background:#fff;color:#0a0a0a}
#mt-cfg-panel .mcp-head-font-tab.active{background:#fff;color:#0a0a0a}

/* 좌측 / 하단 위치 입력 — 텍스트 위치 (%) */
#mt-cfg-panel input[type="text"][placeholder*="20"],
#mt-cfg-panel input[type="text"][placeholder*="30"]{
    text-align:center !important;
}

/* ============================================================
   다국어 chip — admin bar 우측에 흡수 (마크업 Step 2 추가)
   ============================================================ */
#mt-admin-bar .mt-lang{
    display:inline-flex; align-items:center;
    height:30px !important;
    background:rgba(255,255,255,.04) !important;
    border-radius:5px !important;
    padding:2px !important;
    gap:1px !important;
    flex-shrink:0;
}
#mt-admin-bar .mt-lang .mt-lang-pub{
    height:26px; padding:0 11px;
    background:transparent;
    color:var(--hv-tx-3);
    font-size:12.5px; font-weight:600;
    border-radius:4px;
    display:inline-flex; align-items:center; gap:5px;
    cursor:pointer;
    transition:color .15s;
    border:0;
}
#mt-admin-bar .mt-lang .mt-lang-pub:hover{ color:var(--hv-tx-1); }
#mt-admin-bar .mt-lang .mt-lang-btn{
    height:26px; padding:0 10px; min-width:32px;
    background:transparent; color:var(--hv-tx-3);
    font-size:12.5px; font-weight:700;
    border-radius:4px;
    display:inline-flex; align-items:center; justify-content:center;
    cursor:pointer; border:0;
    transition:background .15s, color .15s;
}
#mt-admin-bar .mt-lang .mt-lang-btn:hover{ color:var(--hv-tx-1); }
#mt-admin-bar .mt-lang .mt-lang-btn.is-active{ background:#fff; color:#0a0a0a; }
#mt-admin-bar .mt-lang .mt-lang-cog{
    width:26px; height:26px;
    background:transparent; color:var(--hv-tx-3);
    border-radius:4px; cursor:pointer; border:0;
    display:grid; place-items:center;
    transition:background .15s, color .15s;
    font-size:14px;
}
#mt-admin-bar .mt-lang .mt-lang-cog:hover{ background:rgba(255,255,255,.06); color:var(--hv-tx-1); }

/* ============================================================
   설정 내보내기 모달 (#mcp-export-overlay) — 인라인 style 보라 우회
   ============================================================ */
#mcp-export-overlay{
    background:rgba(0,0,0,.55) !important;
    -webkit-backdrop-filter:saturate(160%) blur(8px);
            backdrop-filter:saturate(160%) blur(8px);
}
#mcp-export-overlay > div{
    background:rgba(20,20,24,.95) !important;
    -webkit-backdrop-filter:saturate(160%) blur(28px);
            backdrop-filter:saturate(160%) blur(28px);
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 24px 64px rgba(0,0,0,.7) !important;
    border-radius:14px !important;
    color:#f5f5f5;
}
#mcp-export-overlay > div > div:first-child{
    border-bottom:1px solid rgba(255,255,255,.05) !important;
    padding:16px 20px !important;
}
#mcp-export-overlay > div > div:first-child span{
    color:#fff !important;
    font-size:13.5px !important;
    letter-spacing:.01em;
}
#mcp-export-close,
#mcp-export-close2{
    color:rgba(245,245,245,.5) !important;
    transition:background .15s, color .15s;
    border-radius:5px !important;
}
#mcp-export-close:hover{
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
}
#mcp-export-json{
    background:rgba(0,0,0,.30) !important;
    border:1px solid rgba(255,255,255,.06) !important;
    color:#f5f5f5 !important;
    font-size:11.5px !important;
    line-height:1.55 !important;
    border-radius:8px !important;
}
#mcp-export-json:focus{
    outline:none !important;
    border-color:rgba(255,255,255,.20) !important;
}
#mcp-export-overlay > div > div:last-child{
    border-top:1px solid rgba(255,255,255,.05) !important;
    padding:12px 20px 16px !important;
}
#mcp-export-copy{
    background:#fff !important;
    color:#0a0a0a !important;
    font-weight:700 !important;
    border:0 !important;
    border-radius:6px !important;
    padding:9px 22px !important;
    font-size:12.5px !important;
    letter-spacing:.02em;
    box-shadow:0 0 12px rgba(255,255,255,.30), 0 0 24px rgba(255,255,255,.10);
    transition:background .15s;
}
#mcp-export-copy:hover{
    background:#e8e8e8 !important;
}
#mcp-export-close2{
    background:rgba(255,255,255,.06) !important;
    color:rgba(245,245,245,.7) !important;
    border:1px solid rgba(255,255,255,.06) !important;
    border-radius:6px !important;
    padding:9px 16px !important;
    font-size:12.5px !important;
    transition:background .15s, color .15s, border-color .15s;
}
#mcp-export-close2:hover{
    background:rgba(255,255,255,.10) !important;
    border-color:rgba(255,255,255,.20) !important;
    color:#fff !important;
}

/* === aspect-ratio 미지원 브라우저 폴백 (iOS14↓, 구 Android WebView, 인앱 브라우저) === */
@supports not (aspect-ratio: 1/1){
  .mcp-mp-thumb{height:0;padding-bottom:62.5%} /* 80:50 */
  .us-shape-circle .us-card-media{height:0!important;padding-bottom:100%!important} /* 1:1 */
  .us-modal-inner{height:0;padding-bottom:56.25%} /* 16:9 */
}


/* --- block 13 --- */
@media(max-width:900px){
#us-sl-signature .us-hero-overlay{
left:var(--ho-mo-left)!important;right:var(--ho-mo-right)!important;bottom:var(--ho-mo-bottom)!important;text-align:var(--ho-mo-align)!important;padding:var(--ho-mo-pad)!important
}
#us-sl-signature .us-hero-overlay:not(.us-hmo-linecopy){transform:none!important;width:auto!important}
#us-sl-signature .us-hero-overlay[style*="--ho-mo-align:center"] .us-ho-btn{display:block!important;width:fit-content!important;margin-left:auto!important;margin-right:auto!important}
}
/* --- block 14 --- */

.hvm-sec { position: relative; }
.hvm-sec-inner {
    width: var(--hvm-w, 95%);
    max-width: var(--hvm-mw, 1250px);
    margin-left: var(--hvm-ml, auto);
    margin-right: var(--hvm-mr, auto);
}
@media (max-width: 900px) {
    .hvm-sec { padding-top: var(--hvm-pt-mo, 40px) !important; padding-bottom: var(--hvm-pb-mo, 40px) !important; }
}
@media (max-width: 768px) {
    .hvm-sec-inner { width: var(--hvm-w-mo, var(--hvm-w, 95%)); }
    .hvm-sec[style*="--hvm-pl-mo"] { padding-left: var(--hvm-pl-mo) !important; }
    .hvm-sec[style*="--hvm-pr-mo"] { padding-right: var(--hvm-pr-mo) !important; }
    .hvm-sec[style*="--hvm-ml-mo"] .hvm-sec-inner { margin-left: var(--hvm-ml-mo) !important; }
    .hvm-sec[style*="--hvm-mr-mo"] .hvm-sec-inner { margin-right: var(--hvm-mr-mo) !important; }
}
.hvm-head { margin-bottom: 56px; }
.hvm-head[data-align="left"]   { text-align: left; }
.hvm-head[data-align="center"] { text-align: center; }
.hvm-head[data-align="right"]  { text-align: right; }
/* 모듈 스킨 공통 — 헤더에 data-hvm-align 만 박으면 정렬 동기화 */
.hvm-sec [data-hvm-align="left"]   { text-align: left; }
.hvm-sec [data-hvm-align="center"] { text-align: center; }
.hvm-sec [data-hvm-align="right"]  { text-align: right; }
.hvm-sec [data-hvm-align="center"] > p,
.hvm-sec [data-hvm-align="center"] > h2,
.hvm-sec [data-hvm-align="center"] > h3 { margin-left: auto; margin-right: auto; }
/* 모바일 제목 정렬 override — 섹션에 data-head-align-mo 가 있으면 768px 이하에서 적용 */
@media (max-width: 768px) {
    .hvm-sec[data-head-align-mo="left"]   [data-hvm-align] { text-align: left   !important; }
    .hvm-sec[data-head-align-mo="center"] [data-hvm-align] { text-align: center !important; }
    .hvm-sec[data-head-align-mo="right"]  [data-hvm-align] { text-align: right  !important; }
    .hvm-sec[data-head-align-mo="center"] [data-hvm-align] > p,
    .hvm-sec[data-head-align-mo="center"] [data-hvm-align] > h2,
    .hvm-sec[data-head-align-mo="center"] [data-hvm-align] > h3 { margin-left: auto; margin-right: auto; }
}
.hvm-head__eyebrow { font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: #999; margin-bottom: 14px; font-family: 'Pretendard', sans-serif; font-weight: 600; }
.hvm-head__title { font-size: clamp(28px, 4vw, 48px); font-weight: 700; margin: 0 0 16px; line-height: 1.2; color: inherit; letter-spacing: -0.01em; }
.hvm-head__desc { font-size: 15px; line-height: 1.75; color: rgba(0,0,0,0.6); margin: 0; max-width: 720px; }
.hvm-head[data-align="center"] .hvm-head__desc { margin-left: auto; margin-right: auto; }
.hvm-cta-wrap { margin-top: 56px; text-align: center; }
.hvm-cta-btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 36px; background: #111; color: #fff; text-decoration: none; border-radius: 999px; font-size: 14px; font-weight: 600; letter-spacing: 0.04em; transition: transform 0.3s, box-shadow 0.3s; }
.hvm-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,0.15); color:#fff; }
.hvm-cta-btn span { transition: transform 0.3s; }
.hvm-cta-btn:hover span { transform: translateX(4px); }
.hvm-sec[data-disabled="1"] { position: relative; }
.hvm-sec[data-disabled="1"]::after { content: "비활성"; position: absolute; top: 12px; right: 12px; padding: 4px 10px; background: #c33; color: #fff; font-size: 11px; border-radius: 3px; z-index: 100; }
.hvm-sec[data-disabled="1"] > *:not(::after) { opacity: 0.4; }

/* ============================================================
   헤더 좌측 사이드바 (head_pos=left) — 17개 스킨 + 미래 스킨 공통 자동 처리.
   dispatcher 가 inner 자식 수를 검사해서 단일 inner 패턴이면
   .hvm-sec--single-inner 클래스 부여. CSS 가 그 클래스로 분기.
   ============================================================ */

/* 멀티 자식 패턴 (signature_shorts 등): section 자체가 grid 컨테이너 */
.hvm-sec[data-head-pos="left"]:not(.hvm-sec--single-inner) {
    display: grid;
    grid-template-columns: var(--hvm-head-pos-w, 30%) 1fr;
    gap: 60px;
    align-items: start;
}

/* sided 모드 — 콘텐츠 영역 폭(width/head_width)을 section 의 좌우 padding 으로 조절.
   배경은 풀와이드 유지. CSS 변수(--hvm-sided-pl/pr) 가 있을 때만 적용. */
.hvm-sec[data-head-pos="left"][style*="--hvm-sided-pl"] {
    padding-left: var(--hvm-sided-pl) !important;
}
.hvm-sec[data-head-pos="left"][style*="--hvm-sided-pr"] {
    padding-right: var(--hvm-sided-pr) !important;
}
/* 모바일 — width_mo 옵션이 있으면 모바일 전용 padding 변수 적용 (없으면 PC padding 유지) */
@media (max-width: 768px) {
    .hvm-sec[data-head-pos="left"][style*="--hvm-sided-pl-mo"] {
        padding-left: var(--hvm-sided-pl-mo) !important;
    }
    .hvm-sec[data-head-pos="left"][style*="--hvm-sided-pr-mo"] {
        padding-right: var(--hvm-sided-pr-mo) !important;
    }
}

/* 단일 inner 패턴 (faq 등): inner 자체가 grid (section grid 해제) */
.hvm-sec[data-head-pos="left"].hvm-sec--single-inner > .hvm-sec-inner {
    display: grid;
    grid-template-columns: var(--hvm-head-pos-w, 30%) 1fr;
    gap: 60px;
    align-items: start;
}

/* sticky */
.hvm-sec[data-head-pos="left"][data-head-sticky="1"]:not(.hvm-sec--single-inner) > .hvm-sec-inner {
    position: sticky; top: 100px; align-self: start;
}
.hvm-sec[data-head-pos="left"][data-head-sticky="1"].hvm-sec--single-inner > .hvm-sec-inner > *:first-child {
    position: sticky; top: 100px;
}

/* 모바일 — 세로 복귀 */
@media (max-width: 900px) {
    .hvm-sec[data-head-pos="left"]:not(.hvm-sec--single-inner),
    .hvm-sec[data-head-pos="left"].hvm-sec--single-inner > .hvm-sec-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .hvm-sec[data-head-pos="left"][data-head-sticky="1"]:not(.hvm-sec--single-inner) > .hvm-sec-inner,
    .hvm-sec[data-head-pos="left"][data-head-sticky="1"].hvm-sec--single-inner > .hvm-sec-inner > *:first-child {
        position: static; top: auto;
    }
}

/* 슈퍼관리자 편집 오버레이 — hover 또는 mt-edit 모드에서 노출 */
.hvm-sec[data-mt-sec] .mt-sec-edit-overlay { display: flex; position: absolute; bottom: 16px; right: 16px; gap: 6px; z-index: 9990; pointer-events: none; align-items: center; opacity: 0; transition: opacity 0.15s; }
.hvm-sec[data-mt-sec]:hover .mt-sec-edit-overlay { opacity: 1; pointer-events: auto; }
body.mt-edit .hvm-sec[data-mt-sec] .mt-sec-edit-overlay { opacity: 1; pointer-events: auto; }
body.mt-edit .hvm-sec[data-mt-sec]:hover { outline: 2px dashed rgba(0,0,0,.25); outline-offset: -2px; }
body.mt-edit .hvm-sec[data-mt-sec] [data-mt-f] { outline: 1px dashed rgba(0,0,0,.15); outline-offset: 2px; }
body.mt-edit .hvm-sec[data-mt-sec] [data-mt-f]:hover { outline: 2px solid rgba(0,0,0,.45); }
body.mt-edit .hvm-sec[data-mt-sec] [data-mt-f]:empty::before { content: attr(data-mt-f); color: rgba(0,0,0,0.4); font-size: 0.75em; }
@media (max-width: 768px) {
  .hvm-head { margin-bottom: 36px; }
  .hvm-cta-wrap { margin-top: 36px; }
}
/* PC 영상 + 모바일 이미지 분기 — picture/video를 절대 위치로 겹쳐서 display로 토글 */
.us-card-media .us-pc-only,
.us-card-media .us-mb-only,
.hvm-sec .hvm-pc-only,
.hvm-sec .hvm-mb-only {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.us-card-media .us-pc-only,
.hvm-sec .hvm-pc-only { object-fit: cover !important; }
.us-card-media .us-mb-only > img,
.hvm-sec .hvm-mb-only > img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block;
}
.us-card-media .us-pc-only,
.hvm-sec .hvm-pc-only { display: block !important; }
.us-card-media .us-mb-only,
.hvm-sec .hvm-mb-only { display: none !important; }
@media (max-width: 768px) {
  .us-card-media .us-pc-only,
  .hvm-sec .hvm-pc-only { display: none !important; }
  .us-card-media .us-mb-only,
  .hvm-sec .hvm-mb-only { display: block !important; }
}

/* --- block 15 --- */
#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__title"],#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__name"],#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__heading"]{font-size:clamp(32px,4.67vw,56px) !important;font-weight:300 !important}#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__eyebrow"],#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__badge"],#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__tag"],#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__num"]{font-size:clamp(14px,1.33vw,16px) !important}#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__desc"],#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__lead"],#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__text"],#sec-sec_1783559471_dbb7 [class*="__head"] [class*="__sub"]{font-size:clamp(14px,1.33vw,16px) !important}#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__title"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__title"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__title"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__title"],#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__name"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__name"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__name"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__name"],#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__heading"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__heading"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__heading"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__heading"]{font-size:clamp(23px,2.5vw,30px) !important}#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__eyebrow"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__eyebrow"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__eyebrow"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__eyebrow"],#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__badge"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__badge"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__badge"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__badge"],#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__tag"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__tag"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__tag"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__tag"],#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__num"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__num"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__num"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__num"]{font-size:clamp(14px,1.33vw,16px) !important}#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__desc"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__desc"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__desc"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__desc"],#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__lead"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__lead"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__lead"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__lead"],#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__text"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__text"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__text"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__text"],#sec-sec_1783559471_dbb7 [class*="__item"] [class*="__sub"],#sec-sec_1783559471_dbb7 [class*="__card"] [class*="__sub"],#sec-sec_1783559471_dbb7 [class*="__row"] [class*="__sub"],#sec-sec_1783559471_dbb7 [class*="__cell"] [class*="__sub"]{font-size:clamp(14px,1.33vw,16px) !important}
/* --- block 16 --- */

.hvm-dpc__badge--image{width:auto!important;min-width:0!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;flex:0 0 auto}.hvm-dpc__badge-image{display:block;width:auto;height:var(--dpc-badge-img-size,36px);max-width:min(220px,38vw);object-fit:contain}@media(max-width:620px){.hvm-dpc__badge-image{height:var(--dpc-badge-img-size-mo,32px)}}
.hvm-dpc{position:relative;overflow:hidden;color:var(--dpc-text);word-break:keep-all}.hvm-dpc *{box-sizing:border-box}.hvm-dpc [hidden]{display:none!important}.hvm-dpc .hvm-dpc__inner{display:block!important}.hvm-dpc__head{margin-bottom:var(--dpc-head-gap);text-align:left}.hvm-dpc__head[data-align=center]{text-align:center}.hvm-dpc__head[data-align=right]{text-align:right}.hvm-dpc__head-eye{margin:0 0 14px;color:var(--dpc-head-eye);font-size:var(--dpc-head-eye-fs);letter-spacing:.18em}.hvm-dpc__head-title{margin:0;color:var(--dpc-head-title);font-size:var(--dpc-head-title-fs);font-weight:var(--dpc-head-weight);line-height:1.2}.hvm-dpc__layout{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(320px,.8fr)!important;gap:clamp(54px,8vw,130px);align-items:start}.hvm-dpc__content{min-width:0}.hvm-dpc__identity{margin-bottom:clamp(48px,5vw,76px)}.hvm-dpc__name-row{display:flex;align-items:center;gap:10px}.hvm-dpc__badge{display:grid;place-items:center;width:30px;min-width:30px;height:30px;padding:3px;border-radius:2px;background:#d71920;color:#fff;font-size:7px;font-weight:700;line-height:1.05;text-align:center;word-break:break-word}.hvm-dpc__name{margin:0;color:var(--dpc-name);font-size:var(--dpc-name-fs);font-weight:var(--dpc-name-weight);line-height:1.2}.hvm-dpc__role{margin:28px 0 0;color:var(--dpc-role);font-size:var(--dpc-role-fs);line-height:1.7}.hvm-dpc__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,6vw,80px)}.hvm-dpc__list-block h3{margin:0 0 20px;color:var(--dpc-name);font-size:var(--dpc-role-fs)}.hvm-dpc__list-block ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}.hvm-dpc__list-block li{position:relative;padding-left:12px;font-size:var(--dpc-body-fs);line-height:1.65}.hvm-dpc__list-block li::before{content:"·";position:absolute;left:0}.hvm-dpc__certs{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(42px,5vw,68px)}.hvm-dpc__cert{width:78px;padding:0;border:0;background:none;cursor:zoom-in}.hvm-dpc__cert img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid rgba(0,0,0,.12);transition:transform .25s ease,box-shadow .25s ease}.hvm-dpc__cert:hover img{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.14)}.hvm-dpc__cert:focus-visible{outline:2px solid currentColor;outline-offset:4px}.hvm-dpc__cert-empty{font-size:12px;opacity:.55}.hvm-dpc__portrait{min-width:0;margin:0;aspect-ratio:4/5;overflow:hidden;border:var(--dpc-photo-bw) solid var(--dpc-photo-bc);border-radius:var(--dpc-photo-r);background:#d8c8b0}.hvm-dpc__portrait img,.hvm-dpc__portrait-empty{display:block;width:100%;height:100%;object-fit:cover}.hvm-dpc__portrait-empty{display:grid;place-items:center;color:rgba(0,0,0,.45)}
.hvm-dpc__layer{position:fixed;z-index:10050;inset:0}.hvm-dpc__backdrop{position:absolute;inset:0;background:rgba(15,15,15,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hvm-dpc__dialog{position:absolute;inset:max(24px,4vh) max(20px,4vw);display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:minmax(0,1fr) auto;align-items:center;outline:0;perspective:1600px}.hvm-dpc__dialog figure{display:flex;min-width:0;height:100%;margin:0;flex-direction:column;align-items:center;justify-content:center;transform-style:preserve-3d;transform-origin:center}.hvm-dpc__dialog figure.is-flipping{animation:hvm-dpc-flip .56s cubic-bezier(.45,.05,.2,1)}@keyframes hvm-dpc-flip{0%{transform:rotateY(0);opacity:1}48%{transform:rotateY(var(--dpc-flip-out,90deg));opacity:.25}49%{opacity:0}50%{transform:rotateY(var(--dpc-flip-in,-90deg));opacity:0}100%{transform:rotateY(0);opacity:1}}.hvm-dpc__dialog figure img{display:block;max-width:100%;max-height:calc(100dvh - 130px);width:auto;height:auto;object-fit:contain;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35);backface-visibility:hidden}.hvm-dpc__dialog figcaption{margin-top:12px;color:#fff;font-size:14px}.hvm-dpc__close,.hvm-dpc__nav{border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}.hvm-dpc__close{position:absolute;z-index:2;top:0;right:0;width:46px;height:46px;border-radius:50%;font-size:28px}.hvm-dpc__nav{width:46px;height:46px;border-radius:50%;font-size:32px}.hvm-dpc__prev{justify-self:start}.hvm-dpc__next{justify-self:end}.hvm-dpc__close:focus-visible,.hvm-dpc__nav:focus-visible{outline:2px solid #fff;outline-offset:3px}.hvm-dpc__count{grid-column:2;margin:8px 0 0;color:#fff;text-align:center;font-size:12px;letter-spacing:.12em}.hvm-dpc__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body.hvm-dpc-layer-open{overflow:hidden}@media(max-width:900px){.hvm-dpc__head{margin-bottom:var(--dpc-head-gap-mo)}.hvm-dpc__head-eye{font-size:var(--dpc-head-eye-fs-mo)}.hvm-dpc__head-title{font-size:var(--dpc-head-title-fs-mo)}.hvm-dpc .hvm-dpc__layout{grid-template-columns:1fr!important;gap:48px}.hvm-dpc__portrait{grid-row:1}.hvm-dpc__content{grid-row:2}.hvm-dpc__name{font-size:var(--dpc-name-fs-mo)}.hvm-dpc__role,.hvm-dpc__list-block h3{font-size:var(--dpc-role-fs-mo)}.hvm-dpc__list-block li{font-size:var(--dpc-body-fs-mo)}}@media(max-width:620px){.hvm-dpc__columns{grid-template-columns:1fr;gap:38px}.hvm-dpc__identity{margin-bottom:42px}.hvm-dpc__role{margin-top:18px}.hvm-dpc__dialog{inset:18px 10px;grid-template-columns:42px minmax(0,1fr) 42px}.hvm-dpc__nav{width:38px;height:38px}.hvm-dpc__cert{width:66px}}@media(prefers-reduced-motion:reduce){.hvm-dpc *{scroll-behavior:auto!important;transition:none!important}}
.hvm-dpc__certs{position:relative;display:block;width:min(230px,100%);height:120px;isolation:isolate}.hvm-dpc__cert{position:absolute;top:0;left:0;width:78px;transform:translateX(var(--cert-x,0)) rotate(var(--cert-r,0));transform-origin:50% 90%;transition:transform .32s cubic-bezier(.2,.8,.2,1);z-index:calc(20 - var(--cert-i,0))}.hvm-dpc__cert img{border-radius:5px;background:#fff;box-shadow:0 7px 18px rgba(0,0,0,.15)}.hvm-dpc__cert:hover{z-index:30;transform:translateX(var(--cert-x,0)) translateY(-9px) rotate(0) scale(1.07)}.hvm-dpc__cert:hover img{transform:none}
.hvm-dpc__deck{position:relative;grid-column:2;width:min(64vw,620px);height:min(76dvh,760px);margin:auto;touch-action:pan-y;user-select:none}.hvm-dpc__deck-card{position:absolute;inset:0;display:flex!important;min-width:0;height:100%;margin:0!important;flex-direction:column;align-items:center;justify-content:center;transform-origin:center;will-change:transform,opacity;transition:transform .48s cubic-bezier(.2,.8,.2,1),opacity .35s ease,filter .35s ease}.hvm-dpc__deck-card img{display:block;max-width:100%;max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35);pointer-events:none}.hvm-dpc__deck-card figcaption{margin-top:12px;color:#fff;font-size:14px}.hvm-dpc__deck-card.is-dragging{transition:none}.hvm-dpc__deck-card.is-leaving{opacity:0!important;transition:transform .32s ease-in,opacity .28s ease-in}.hvm-dpc__deck-card[aria-hidden=true]{pointer-events:none}@media(max-width:620px){.hvm-dpc__deck{width:min(72vw,430px);height:76dvh}.hvm-dpc__certs{height:105px}}@media(prefers-reduced-motion:reduce){.hvm-dpc__deck-card{transition:none!important}}
.hvm-dpc__head-eye{color:var(--dpc-head-eye)!important;font-size:var(--dpc-head-eye-fs)!important}.hvm-dpc__head-title,.hvm-dpc__head-title.eng_b2{color:var(--dpc-head-title)!important;font-size:var(--dpc-head-title-fs)!important;font-weight:var(--dpc-head-weight)!important}.hvm-dpc__name,.hvm-dpc__name.eng_b2{color:var(--dpc-name)!important;font-size:var(--dpc-name-fs)!important;font-weight:var(--dpc-name-weight)!important}.hvm-dpc__role,.hvm-dpc__list-block h3{color:var(--dpc-role)!important;font-size:var(--dpc-role-fs)!important}.hvm-dpc__list-block li{color:var(--dpc-text)!important;font-size:var(--dpc-body-fs)!important}@media(max-width:900px){.hvm-dpc__head-eye{font-size:var(--dpc-head-eye-fs-mo)!important}.hvm-dpc__head-title,.hvm-dpc__head-title.eng_b2{font-size:var(--dpc-head-title-fs-mo)!important}.hvm-dpc__name,.hvm-dpc__name.eng_b2{font-size:var(--dpc-name-fs-mo)!important}.hvm-dpc__role,.hvm-dpc__list-block h3{font-size:var(--dpc-role-fs-mo)!important}.hvm-dpc__list-block li{font-size:var(--dpc-body-fs-mo)!important}}
.hvm-dpc__head{margin-bottom:var(--dpc-head-gap)!important}@media(max-width:900px){.hvm-dpc__head{margin-bottom:var(--dpc-head-gap-mo)!important}}
.hvm-dpc__portrait{position:relative;border-radius:var(--dpc-photo-r)!important;overflow:hidden!important}.hvm-dpc__portrait picture,.hvm-dpc__portrait img{display:block;width:100%;height:100%;border-radius:inherit!important;overflow:hidden;object-fit:cover}.hvm-dpc__portrait-dim{position:absolute;z-index:1;inset:0;display:block;pointer-events:none;background:#000;transition:opacity .2s ease}.hvm-dpc__role{display:grid;gap:22px;margin:28px 0 0}.hvm-dpc__role-title,.hvm-dpc__role-desc{display:block;white-space:pre-line}.hvm-dpc__role-title{color:var(--dpc-role);font-size:var(--dpc-role-fs);line-height:1.6}.hvm-dpc__role-desc{color:var(--dpc-text);font-size:var(--dpc-body-fs);line-height:1.8}.hvm-dpc__cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:max-content;margin-top:22px;color:var(--dpc-cta-tc);text-decoration:none;transition:opacity .2s ease,background .2s ease,color .2s ease,transform .2s ease}.hvm-dpc__cta:hover{transform:translateY(-2px)}.hvm-dpc__cta:focus-visible{outline:2px solid currentColor;outline-offset:4px}.hvm-dpc__cta--underline{padding:0 0 3px;border-bottom:1px solid var(--dpc-cta-bd)}.hvm-dpc__cta--outline{padding:12px 25px;border:1px solid var(--dpc-cta-bd)}.hvm-dpc__cta--fill{padding:13px 27px;border:1px solid var(--dpc-cta-bg);background:var(--dpc-cta-bg);color:var(--dpc-cta-tc)}.hvm-dpc__cta--pill{padding:12px 26px;border:1px solid var(--dpc-cta-bd);border-radius:999px}.hvm-dpc__cta--arrow{padding:0;border:0}.hvm-dpc__cta-arrow{display:none;font-size:1.3em;line-height:1}.hvm-dpc__cta--arrow .hvm-dpc__cta-arrow{display:inline-block}.hvm-dpc__cta:not(.hvm-dpc__cta--arrow) .hvm-dpc__cta-arrow{display:none}@media(max-width:900px){.hvm-dpc__role-title{font-size:var(--dpc-role-fs-mo)!important}.hvm-dpc__role-desc{font-size:var(--dpc-body-fs-mo)!important}}
.hvm-dpc__content{position:relative}.hvm-dpc__certs{position:absolute;right:0;bottom:0;margin:0!important}.hvm-dpc__cert img,.hvm-dpc__cert:hover img{border:0!important;box-shadow:none!important;filter:none!important}
.hvm-dpc__backdrop{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.hvm-dpc__dialog{inset:24px;grid-template-columns:minmax(44px,1fr) minmax(260px,620px) minmax(44px,1fr);pointer-events:none}.hvm-dpc__deck{grid-column:2;width:100%;pointer-events:auto}.hvm-dpc__deck-card img{box-shadow:none!important;border:1px solid rgba(20,20,20,.1)}.hvm-dpc__close,.hvm-dpc__nav{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(20,20,20,.16);border-radius:50%;background:rgba(255,255,255,.94);color:#171717;box-shadow:none;pointer-events:auto;transition:border-color .2s ease,transform .2s ease,background .2s ease}.hvm-dpc__close svg,.hvm-dpc__nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.hvm-dpc__close{top:8px;right:max(8px,calc(50% - 354px));font-size:0}.hvm-dpc__nav{font-size:0}.hvm-dpc__prev{justify-self:end;margin-right:24px}.hvm-dpc__next{justify-self:start;margin-left:24px}.hvm-dpc__close:hover,.hvm-dpc__nav:hover{border-color:#171717;background:#fff}.hvm-dpc__prev:hover{transform:translateX(-3px)}.hvm-dpc__next:hover{transform:translateX(3px)}.hvm-dpc__close:hover{transform:rotate(90deg)}.hvm-dpc__count{color:#171717;background:rgba(255,255,255,.9);width:max-content;margin:10px auto 0;padding:5px 10px;border-radius:999px}@media(max-width:700px){.hvm-dpc__dialog{inset:12px 8px;grid-template-columns:44px minmax(0,1fr) 44px}.hvm-dpc__prev{margin-right:4px}.hvm-dpc__next{margin-left:4px}.hvm-dpc__close{top:4px;right:4px}.hvm-dpc__certs{margin-left:0}}
.hvm-dpc__deck-card figcaption{padding:6px 11px;border:1px solid rgba(20,20,20,.1);border-radius:999px;background:#fff;color:#171717}
.hvm-dpc__deck{width:min(72vw,420px);height:min(72dvh,680px)}.hvm-dpc__deck-card img{max-height:72dvh;border:0!important;border-radius:0;box-shadow:none!important}.hvm-dpc__deck-card figcaption.hvm-dpc__sr{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hvm-dpc__close,.hvm-dpc__nav{width:38px;height:38px;border:0!important;border-radius:0;background:transparent!important;color:#111;opacity:.72}.hvm-dpc__close:hover,.hvm-dpc__nav:hover{background:transparent!important;opacity:1}.hvm-dpc__close{top:calc(50% - min(36dvh,340px) - 46px);right:calc(50% - min(36vw,210px));transform:none}.hvm-dpc__close:hover{transform:rotate(90deg)}.hvm-dpc__prev{margin-right:10px}.hvm-dpc__next{margin-left:10px}.hvm-dpc__nav svg{width:24px;height:24px;stroke-width:1.25}.hvm-dpc__close svg{width:22px;height:22px;stroke-width:1.25}.hvm-dpc__count{padding:0;border-radius:0;background:transparent;color:#111;opacity:.55}@media(max-width:700px){.hvm-dpc__deck{width:min(68vw,360px);height:min(68dvh,580px)}.hvm-dpc__close{top:2px;right:2px}.hvm-dpc__prev{margin-right:0}.hvm-dpc__next{margin-left:0}}
.hvm-dpc__deck>.hvm-dpc__close{top:-44px!important;right:0!important}.hvm-dpc__head{margin-bottom:0!important}.hvm-dpc__layout{padding-top:var(--dpc-head-gap)!important}.hvm-dpc__head[hidden]+.hvm-dpc__layout{padding-top:0!important}@media(max-width:900px){.hvm-dpc__layout{padding-top:var(--dpc-head-gap-mo)!important}}
@media(max-width:900px){.hvm-dpc__certs{position:relative;right:auto;bottom:auto;margin:42px 0 0!important}}
.hvm-dpc__backdrop{background:rgba(15,15,15,.42)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hvm-dpc__close,.hvm-dpc__nav{color:#fff}.hvm-dpc__count{color:#fff}
.hvm-dpc__identity{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px}.hvm-dpc__specialist-label{grid-column:2;grid-row:1;margin:0 0 8px;color:var(--dpc-role);font-size:var(--dpc-role-fs);font-weight:600;line-height:1.35}.hvm-dpc__name-row{display:contents}.hvm-dpc__badge{position:static;grid-column:1;grid-row:2;align-self:center;z-index:1;flex:0 0 auto;transform:none}.hvm-dpc__name{grid-column:2;grid-row:2;display:flex;min-width:0;align-items:baseline;align-self:center;flex-wrap:wrap;gap:.34em}.hvm-dpc__role,.hvm-dpc__cta{grid-column:1/-1}.hvm-dpc__name-main{font-size:var(--dpc-name-fs);font-weight:var(--dpc-name-weight)}.hvm-dpc__name-sep{font-size:calc(var(--dpc-name-fs) * .68);font-weight:400;opacity:.5}.hvm-dpc__name-suffix{font-size:calc(var(--dpc-name-fs) * .68);font-weight:400;letter-spacing:.02em}@media(max-width:900px){.hvm-dpc__identity{column-gap:9px}.hvm-dpc__specialist-label{font-size:var(--dpc-role-fs-mo)}.hvm-dpc__name-main{font-size:var(--dpc-name-fs-mo)!important}.hvm-dpc__name-sep,.hvm-dpc__name-suffix{font-size:calc(var(--dpc-name-fs-mo) * .68)!important}}
.hvm-dpc__cert{left:auto!important;right:0;transform:translateX(var(--cert-x-neg,0)) rotate(calc(var(--cert-r,0) * -1))}.hvm-dpc__cert:hover{transform:translateX(var(--cert-x-neg,0)) translateY(-9px) rotate(0) scale(1.07)}
.hvm-dpc__specialist-label{grid-column:1/-1}

/* --- block 17 --- */
#sec-sec_1784706516_bb89 [class*="__head"] [class*="__title"],#sec-sec_1784706516_bb89 [class*="__head"] [class*="__name"],#sec-sec_1784706516_bb89 [class*="__head"] [class*="__heading"]{font-size:clamp(32px,4.67vw,56px) !important}
/* --- block 18 --- */

.hvm-rsm{overflow:visible!important}.hvm-rsm__inner{overflow:visible!important}.hvm-rsm__top{width:var(--hvm-head-w,100%);margin-right:var(--hvm-mr,auto);margin-bottom:30px;margin-left:var(--hvm-ml,auto)}.hvm-rsm__top .hvm-head{margin:0}.hvm-rsm__top .hvm-head__eyebrow.eng_b2,.hvm-rsm__top .hvm-head__title.eng_b2,.hvm-rsm__top .hvm-head__desc.eng_b2{font-family:var(--font-eng);font-synthesis:none}.hvm-rsm__top .hvm-head__eyebrow.pret,.hvm-rsm__top .hvm-head__title.pret,.hvm-rsm__top .hvm-head__desc.pret{font-family:var(--font-pret)}.hvm-rsm__stage{--rsm-current-width:var(--rsm-stage-width);--rsm-current-offset:var(--rsm-stage-offset);display:block;width:var(--rsm-current-width);max-width:none;position:relative;margin-left:calc(50% - var(--rsm-current-offset))}.hvm-rsm__more{position:absolute;right:18px;top:50%;z-index:4;display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(20,20,20,.32);backdrop-filter:blur(8px);color:#fff;text-decoration:none;transform:translateY(-50%);transition:background .25s ease,color .25s ease,transform .25s ease}.hvm-rsm__more span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.hvm-rsm__more svg{width:38px;height:22px;overflow:visible;transition:transform .25s ease}.hvm-rsm__more path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.hvm-rsm__more:hover{background:rgba(20,20,20,.55);transform:translateY(-50%) scale(1.05)}.hvm-rsm__more:hover svg{transform:translateX(4px)}
.hvm-rsm__viewport{width:100%;overflow:hidden;padding:16px 0;margin:-16px 0;user-select:none;-webkit-user-select:none;touch-action:pan-y}.hvm-rsm__viewport.can-drag{cursor:grab}.hvm-rsm__viewport.is-dragging{cursor:grabbing}.hvm-rsm__track{display:flex;width:max-content;will-change:transform}.hvm-rsm__group{display:flex;flex:none;gap:var(--rsm-gap);padding-right:var(--rsm-gap)}.hvm-rsm__card{position:relative;display:block;flex:none;width:calc((var(--rsm-vw, 95vw) - (var(--rsm-per) - 1) * var(--rsm-gap)) / var(--rsm-per));max-width:560px;aspect-ratio:var(--rsm-ratio);overflow:hidden;border-radius:var(--rsm-radius);background:#eee;color:#fff;text-decoration:none;transform:translateZ(0) scale(1);transform-origin:center;transition:border-radius .38s cubic-bezier(.22,.61,.36,1),transform .38s cubic-bezier(.22,.61,.36,1);isolation:isolate}.hvm-rsm__card img,.hvm-rsm__card video{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none;transition:transform .5s cubic-bezier(.22,.61,.36,1)}.hvm-rsm__card.has-hover:hover{z-index:3;transform:translateZ(0) scale(1.045)}.hvm-rsm__card.has-round:hover{border-radius:var(--rsm-hover-radius)}.hvm-rsm__card.has-zoom:hover img,.hvm-rsm__card.has-zoom:hover video{transform:scale(1.025)}.hvm-rsm__video-badge{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(18,18,18,.42);backdrop-filter:blur(6px);font-size:12px;line-height:1;color:#fff}.hvm-rsm__video-badge svg{width:14px;height:14px;fill:currentColor}.hvm-rsm__card.is-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#d8cec5,#9eaeb2)}.hvm-rsm__placeholder-label{font-size:14px;letter-spacing:.04em}.hvm-rsm__empty{padding:56px 20px;text-align:center;color:#888;border:1px dashed #d8d2cb}.hvm-rsm__viewport.is-dragging a{pointer-events:none}
@media(max-width:900px){.hvm-rsm__top{width:var(--hvm-head-w-mo,var(--hvm-head-w,100%))}}
@media(max-width:768px){.hvm-rsm__top{margin-bottom:20px}.hvm-rsm__stage{--rsm-current-width:var(--rsm-stage-width-mo);--rsm-current-offset:var(--rsm-stage-offset-mo)}.hvm-rsm__more{right:10px;width:44px;height:44px}.hvm-rsm__more svg{width:27px}.hvm-rsm__card{width:calc((var(--rsm-vw, 92vw) - (var(--rsm-per-mo) - 1) * var(--rsm-gap)) / var(--rsm-per-mo));max-width:none}.hvm-rsm__video-badge{top:10px;right:10px;padding:6px 8px}.hvm-rsm__video-badge span{display:none}}
@media(prefers-reduced-motion:reduce){.hvm-rsm__card,.hvm-rsm__card img,.hvm-rsm__card video,.hvm-rsm__more svg{transition:none!important}}
@media(min-width:769px) and (max-width:1366px){.hvm-rsm__card{width:calc((var(--rsm-vw,95vw) - (4 - 1) * var(--rsm-gap)) / 4)}}

/* --- block 19 --- */
#sec-sec_1783572397_b7fa [class*="__head"] [class*="__title"],#sec-sec_1783572397_b7fa [class*="__head"] [class*="__name"],#sec-sec_1783572397_b7fa [class*="__head"] [class*="__heading"]{font-size:clamp(32px,4.67vw,56px) !important}
/* --- block 20 --- */

.baf-auth-modal[hidden]{display:none}.baf-auth-modal{--baf-auth-accent:var(--bv-main,var(--index_color,var(--main,var(--hv-main,#a96f43))));position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:20px;box-sizing:border-box}.baf-auth-backdrop{position:absolute;inset:0;border:0;background:rgba(20,16,13,.62);backdrop-filter:blur(3px);cursor:pointer}.baf-auth-dialog{position:relative;z-index:1;width:min(440px,100%);max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;padding:42px 38px 32px;border-radius:16px;background:#fff;color:#2b211b;text-align:center;box-shadow:0 28px 90px rgba(0,0,0,.28);overscroll-behavior:contain}.baf-auth-close{position:absolute;right:14px;top:14px;width:38px;height:38px;padding:7px;border:0;background:transparent;color:#948b85;cursor:pointer}.baf-auth-close svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.baf-auth-icon{width:52px;height:52px;margin:0 auto 18px;border:1.5px solid var(--baf-auth-accent);border-radius:50%;display:grid;place-items:center;color:var(--baf-auth-accent)}.baf-auth-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5}.baf-auth-dialog h3{margin:0 0 14px;font-weight:650;line-height:1.35;letter-spacing:-.025em}.baf-auth-desc{max-width:350px;margin:0 auto;color:#786e67;line-height:1.75;letter-spacing:-.02em;word-break:keep-all;text-wrap:balance}.baf-auth-desc span{display:block}.baf-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:25px}.baf-auth-actions button,.baf-auth-actions a{display:grid;place-items:center;min-height:52px;padding:0 16px;border:0;text-decoration:none;font-family:inherit;font-weight:700;cursor:pointer;box-sizing:border-box}.baf-auth-login-toggle{background:var(--baf-auth-accent);color:#fff}.baf-auth-secondary{background:#f3efeb;color:#433831}.baf-auth-form-wrap{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;padding-top:0;border-top:1px solid transparent;pointer-events:none;transition:grid-template-rows .28s ease,opacity .22s ease,margin .28s ease,padding .28s ease,border-color .2s ease}.baf-auth-form-wrap.is-open{grid-template-rows:1fr;opacity:1;margin-top:22px;padding-top:22px;border-top-color:#ebe3dd;pointer-events:auto}.baf-auth-form{min-height:0;overflow:hidden;display:grid;gap:13px;text-align:left}.baf-auth-field{display:grid;gap:7px}.baf-auth-field>span{color:#665a52;font-weight:600}.baf-auth-field input{width:100%;height:50px;padding:0 15px;border:1px solid #ddd3cc;border-radius:0;background:#fff;color:#2b211b;font-family:inherit;box-sizing:border-box;outline:none}.baf-auth-field input:focus{border-color:var(--baf-auth-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--baf-auth-accent) 14%,transparent)}.baf-auth-submit{height:52px;margin-top:3px;border:0;background:#2e2119;color:#fff;font-family:inherit;font-weight:700;cursor:pointer}.baf-auth-lost{justify-self:center;color:#756a63;text-decoration:none;margin-top:2px}.baf-auth-modal.is-form-open .baf-auth-login-toggle{box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}body.baf-auth-modal-open{overflow:hidden}
@media(max-width:520px){.baf-auth-modal{padding:12px}.baf-auth-dialog{max-height:calc(100dvh - 24px);padding:38px 20px 25px;border-radius:14px}.baf-auth-icon{width:46px;height:46px;margin-bottom:15px}.baf-auth-desc{max-width:290px;line-height:1.68}.baf-auth-desc span{display:inline}.baf-auth-actions{margin-top:21px}.baf-auth-actions button,.baf-auth-actions a{min-height:50px}.baf-auth-form-wrap.is-open{margin-top:18px;padding-top:18px}}
@media(prefers-reduced-motion:reduce){.baf-auth-form-wrap{transition:none}}

/* --- block 21 --- */

.hvm-bafcr{--bafcr-accent:var(--index_color,var(--main,var(--hv-main,#a96f43)));--bafcr-ink:#2d211a;--bafcr-line:#e7d9ca;color:var(--bafcr-ink);overflow:hidden;word-break:keep-all}
.hvm-bafcr *{box-sizing:border-box}.hvm-bafcr button,.hvm-bafcr a{font-family:inherit}.hvm-bafcr__inner{width:var(--hvm-w,95%);max-width:var(--hvm-mw,1250px);margin-left:var(--hvm-ml,auto);margin-right:var(--hvm-mr,auto)}
.hvm-bafcr__head{width:var(--bafcr-head-w,100%);display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:0 auto 42px}.hvm-bafcr__eyebrow{margin:0 0 9px;color:var(--bafcr-accent);font-weight:700;letter-spacing:.16em}.hvm-bafcr__title{margin:0;font-weight:700;line-height:1.25;letter-spacing:-.025em}.hvm-bafcr__lead{margin:13px 0 0;color:#76685e;line-height:1.75}
.hvm-bafcr__title.eng_b2,.hvm-bafcr__card-title.eng_b2{font-weight:300;letter-spacing:.04em}.hvm-bafcr__title .eng_b2,.hvm-bafcr__card-title .eng_b2{font-weight:300;letter-spacing:.04em}
.hvm-bafcr__arrow{width:48px;height:48px;padding:0;border:1px solid var(--bafcr-nav-line);border-radius:50%;background:var(--bafcr-nav-bg);color:var(--bafcr-nav-ink);display:grid;place-items:center;cursor:pointer;transition:.2s ease}.hvm-bafcr__arrow svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hvm-bafcr__arrow:hover:not(:disabled){background:var(--bafcr-accent);border-color:var(--bafcr-accent);color:#fff;transform:translateY(-2px)}.hvm-bafcr__arrow:disabled{opacity:.28;cursor:default}
.hvm-bafcr__viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x pan-y;cursor:grab;outline:none}.hvm-bafcr__viewport::-webkit-scrollbar{display:none}.hvm-bafcr__viewport.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}.hvm-bafcr__track{display:flex;gap:var(--bafcr-gap);align-items:stretch}.hvm-bafcr__card{flex:0 0 calc((100% - (var(--bafcr-gap) * (var(--bafcr-per) - 1))) / var(--bafcr-per));min-width:0;background:#fffdf9;border:1px solid var(--bafcr-line);scroll-snap-align:start;overflow:hidden;display:flex;flex-direction:column}
.hvm-bafcr__card-head{padding:25px 26px 23px;min-height:142px}.hvm-bafcr__case-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px dashed var(--bafcr-line)}.hvm-bafcr__case{font-weight:700;color:var(--bafcr-accent);letter-spacing:.08em}.hvm-bafcr__category{padding:7px 13px;border:1px solid var(--bafcr-line);border-radius:999px;color:#78695f;background:#fff}.hvm-bafcr__card-title{margin:0;line-height:1.45;font-weight:700;letter-spacing:-.03em}.hvm-bafcr__card-title a{color:inherit;text-decoration:none}.hvm-bafcr__summary{display:flex;gap:17px;margin-top:10px;color:#74675f}.hvm-bafcr__summary span{position:relative;padding-left:10px}.hvm-bafcr__summary span:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;background:var(--bafcr-accent);transform:rotate(45deg)}
.hvm-bafcr__photos{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1.72;background:#eee5dc}.hvm-bafcr__photo{position:relative;margin:0;min-width:0;overflow:hidden;background:#d9d3ca}.hvm-bafcr__photo+ .hvm-bafcr__photo{border-left:2px solid #fffdf9}.hvm-bafcr__photo img{width:100%;height:100%;display:block;object-fit:cover;transition:opacity .18s ease}.hvm-bafcr__photo figcaption{position:absolute;left:13px;top:13px;z-index:2;padding:8px 12px;background:rgba(91,53,31,.88);color:#fff;font-weight:700;letter-spacing:.12em}.hvm-bafcr__photo.is-empty:after{content:"이미지 준비 중";position:absolute;inset:0;display:grid;place-items:center;color:#8c8279;background:linear-gradient(135deg,#eee8e1,#dcd5cc)}
.hvm-bafcr__lock{position:absolute;inset:0;z-index:1;width:100%;border:0;padding:45px 22px 22px;background:linear-gradient(135deg,#4b2f20,#2d1b12);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer}.hvm-bafcr__lock svg{width:28px;height:28px;margin-bottom:14px;fill:none;stroke:#d7b08d;stroke-width:1.6}.hvm-bafcr__lock small{color:#d8c8bc;line-height:1.6}.hvm-bafcr__lock strong{margin-top:8px;line-height:1.55}
.hvm-bafcr__angles{display:flex;justify-content:center;gap:6px;padding:6px 20px 13px;border-bottom:1px dashed var(--bafcr-line)}.hvm-bafcr__angles button{min-width:58px;height:38px;padding:0 14px;border:1px solid var(--bafcr-line);background:#fff;color:#74675f;cursor:pointer}.hvm-bafcr__angles button.is-active{background:var(--bafcr-accent);border-color:var(--bafcr-accent);color:#fff;font-weight:700}
.hvm-bafcr__meta{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:22px 26px 11px}.hvm-bafcr__meta>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:start;padding:11px 0;border-bottom:1px solid #eadfd4;line-height:1.55}.hvm-bafcr__meta span{color:#8b7e74}.hvm-bafcr__meta strong{font-weight:650;color:#352820}.hvm-bafcr__foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 26px 24px;margin-top:auto}.hvm-bafcr__featured{color:var(--bafcr-accent);font-weight:700}.hvm-bafcr__foot a{display:inline-flex;align-items:center;gap:5px;color:var(--bafcr-ink);font-weight:700;text-decoration:none}.hvm-bafcr__foot a svg{width:18px;height:18px;fill:none;stroke:var(--bafcr-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.hvm-bafcr__foot a:hover svg{transform:translateX(3px)}
.hvm-bafcr__stage{position:relative}.hvm-bafcr__status{display:flex;align-items:center;gap:18px;margin-top:27px;color:var(--bafcr-nav-ink)}.hvm-bafcr__fraction{display:flex;align-items:center;gap:9px;color:inherit;min-width:73px;font-variant-numeric:tabular-nums}.hvm-bafcr__fraction b{color:var(--bafcr-accent)}.hvm-bafcr__fraction i{width:20px;height:1px;background:var(--bafcr-nav-line)}.hvm-bafcr__progress{height:2px;flex:1;background:var(--bafcr-nav-line);overflow:hidden}.hvm-bafcr__progress span{display:block;width:0;height:100%;background:var(--bafcr-accent);transition:width .3s ease}.hvm-bafcr__dots{display:flex;align-items:center;justify-content:center;gap:8px}.hvm-bafcr__dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--bafcr-nav-line);cursor:pointer;transition:width .2s,background .2s}.hvm-bafcr__dots button.is-active{width:23px;border-radius:999px;background:var(--bafcr-accent)}.hvm-bafcr__pause .is-play{display:none}.hvm-bafcr__pause[aria-pressed=true] .is-pause{display:none}.hvm-bafcr__pause[aria-pressed=true] .is-play{display:block}.hvm-bafcr__side-nav{position:absolute;z-index:8;inset:0;pointer-events:none}.hvm-bafcr__side-nav .hvm-bafcr__arrow{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto}.hvm-bafcr__side-nav .hvm-bafcr__arrow:first-child{left:14px}.hvm-bafcr__side-nav .hvm-bafcr__arrow:last-child{right:14px}.hvm-bafcr__side-nav:not(.has-bg) .hvm-bafcr__arrow{border-color:transparent;background:transparent}.hvm-bafcr__side-nav .hvm-bafcr__arrow:hover:not(:disabled){transform:translateY(calc(-50% - 2px))}.hvm-bafcr__stage.side-hover .hvm-bafcr__side-nav{opacity:0;transition:opacity .25s}.hvm-bafcr__stage.side-hover:hover .hvm-bafcr__side-nav,.hvm-bafcr__stage.side-hover:focus-within .hvm-bafcr__side-nav{opacity:1}.hvm-bafcr__empty{margin:0;padding:60px 20px;text-align:center;background:#fffdf9;border:1px solid var(--bafcr-line);color:#8c8178}
.hvm-bafcr__head[data-hvm-align=center]{justify-content:center;text-align:center}.hvm-bafcr__head[data-hvm-align=right]{justify-content:flex-end;text-align:right}.hvm-bafcr__eyebrow{color:var(--bafcr-eye-color);font-size:var(--bafcr-eye-size)!important}.hvm-bafcr__title,.hvm-bafcr__title.eng_b2{color:var(--bafcr-title-color);font-size:var(--bafcr-title-size)!important;font-weight:var(--bafcr-title-weight)}.hvm-bafcr__lead{color:var(--bafcr-desc-color);font-size:var(--bafcr-desc-size)!important}.hvm-bafcr__card{border-radius:var(--bafcr-card-radius);background:var(--bafcr-card-bg)}.hvm-bafcr__inner.has-shadow .hvm-bafcr__card{box-shadow:0 14px 34px rgba(65,42,27,.09)}.hvm-bafcr__card-title,.hvm-bafcr__card-title.eng_b2{color:var(--bafcr-card-title-color);font-size:var(--bafcr-card-title-size)!important;font-weight:var(--bafcr-card-title-weight)}.hvm-bafcr__summary{color:var(--bafcr-card-desc-color)}
@media(max-width:1024px){.hvm-bafcr__photos{aspect-ratio:1.65}}
@media(max-width:640px){.hvm-bafcr__head{align-items:center;margin-bottom:26px}.hvm-bafcr__head-arrows{gap:6px}.hvm-bafcr__arrow{width:40px;height:40px}.hvm-bafcr__lead{margin-top:9px}.hvm-bafcr__card{flex-basis:calc((88% - (var(--bafcr-gap) * (var(--bafcr-per-mo) - 1))) / var(--bafcr-per-mo))}.hvm-bafcr__card-head{padding:20px 18px 18px;min-height:0}.hvm-bafcr__case-line{padding-bottom:12px;margin-bottom:12px}.hvm-bafcr__photos{aspect-ratio:1.35}.hvm-bafcr__photo figcaption{left:9px;top:9px;padding:7px 9px}.hvm-bafcr__lock{padding:42px 10px 12px}.hvm-bafcr__lock svg{width:24px;height:24px;margin-bottom:8px}.hvm-bafcr__angles{justify-content:flex-start;overflow-x:auto;padding:6px 14px 12px}.hvm-bafcr__angles button{flex:0 0 auto}.hvm-bafcr__meta{grid-template-columns:1fr;padding:16px 18px 7px}.hvm-bafcr__meta>div{grid-template-columns:64px minmax(0,1fr);padding:9px 0}.hvm-bafcr__foot{padding:14px 18px 20px}.hvm-bafcr__status{margin-top:20px}.hvm-bafcr__dialog{padding:42px 24px 28px}.hvm-bafcr__dialog-actions{grid-template-columns:1fr}}
@media(max-width:768px){.hvm-bafcr__inner{width:var(--hvm-w-mo,var(--hvm-w,95%));margin-left:var(--hvm-ml-mo,var(--hvm-ml,auto));margin-right:var(--hvm-mr-mo,var(--hvm-mr,auto))}.hvm-bafcr__side-nav .hvm-bafcr__arrow:first-child{left:6px}.hvm-bafcr__side-nav .hvm-bafcr__arrow:last-child{right:6px}.hvm-bafcr__dots{gap:6px}.hvm-bafcr__status{gap:10px}}
@media(hover:none){.hvm-bafcr__stage.side-hover .hvm-bafcr__side-nav{opacity:1}}

/* Board Case Review visual language — slider width/per/gap behavior is unchanged. */
.hvm-bafcr__card{border-color:#e3d8cc;background:#fffdfa;box-shadow:0 16px 38px rgba(79,55,34,.07)}
.hvm-bafcr__card-head{min-height:0;padding:24px 26px;background:#fffdfa}
.hvm-bafcr__brand{display:flex;align-items:center;justify-content:center;min-height:58px;padding-bottom:18px;border-bottom:1px dashed #e6d9cc;text-align:center}
.hvm-bafcr__brand img{display:block;width:auto;max-width:170px;height:auto;max-height:46px;object-fit:contain}
.hvm-bafcr__brand strong{display:block;line-height:1;color:#111}
.hvm-bafcr__case-line{margin-top:24px;margin-bottom:0;padding:0;border:0}
.hvm-bafcr__category{padding:8px 14px;border:1px solid #ddccba;border-radius:999px;color:#746456;background:#fffdfa;font-weight:500}
.hvm-bafcr__popular{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:8px 12px;border:1px solid #d9d9d9;border-radius:999px;color:#555;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12);font-weight:700}
.hvm-bafcr__popular i{font-style:normal;font-size:.85em}
.hvm-bafcr__photos{aspect-ratio:1.75;gap:2px;background:#eee7df}
.hvm-bafcr__card.is-locked .hvm-bafcr__photos{width:100%;min-width:100%}
.hvm-bafcr__card.is-locked .hvm-bafcr__photo,.hvm-bafcr__card.is-locked .hvm-bafcr__photo img{width:100%;max-width:none}
.hvm-bafcr__card.is-locked .hvm-bafcr__lock{width:100%;height:100%;max-width:none}
.hvm-bafcr__photo+.hvm-bafcr__photo{border-left:0}
.hvm-bafcr__lock{padding:24px;background:rgba(167,105,63,.46);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.hvm-bafcr__lock svg,.hvm-bafcr__lock small{display:none}
.hvm-bafcr__lock strong{margin:0;color:#fff;font-weight:800;text-shadow:0 1px 4px rgba(84,43,18,.22)}
.hvm-bafcr__angles{padding:12px 20px;background:#fffdfa;border-bottom-color:#e6d9cc}
.hvm-bafcr__angles button{min-width:62px;height:42px;border-color:#ddcfc2;color:#6f6257}
.hvm-bafcr__content{display:flex;flex:1;flex-direction:column;padding:24px 26px;background:#fffdfa}
.hvm-bafcr__content .hvm-bafcr__card-title{margin:0;font-weight:500;line-height:1.55}
.hvm-bafcr__content .hvm-bafcr__summary{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:12px;color:#8b7c70}
.hvm-bafcr__content .hvm-bafcr__summary:empty{display:none}
.hvm-bafcr__content .hvm-bafcr__summary span{padding-left:0}
.hvm-bafcr__content .hvm-bafcr__summary span:before{position:static;display:inline-block;content:"◆";width:auto;height:auto;margin-right:5px;color:var(--bafcr-accent);background:none;transform:none;font-size:7px}
.hvm-bafcr__chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.hvm-bafcr__chips span{display:flex;align-items:center;justify-content:center;min-width:0;min-height:38px;padding:7px 12px;border:1px solid #d9cec4;color:#9a918b;background:#fff;font-weight:700;text-align:center}
.hvm-bafcr__excerpt{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:20px 0 0;color:#9b9189;line-height:1.75}
.hvm-bafcr__content .hvm-bafcr__foot{justify-content:flex-end;min-height:52px;margin-top:auto;padding:20px 0 0}
@media(max-width:900px){.hvm-bafcr__card-head{min-height:0;padding:20px}}
@media(max-width:640px){.hvm-bafcr__photos{aspect-ratio:1.5}.hvm-bafcr__angles{padding:10px 14px}.hvm-bafcr__chips{grid-template-columns:repeat(2,minmax(0,1fr))}.hvm-bafcr__content{padding:22px 18px}}
@media(min-width:641px) and (max-width:1366px){.hvm-bafcr__card{flex-basis:calc((100% - (var(--bafcr-gap) * (2 - 1))) / 2)}}

/* --- block 22 --- */
#sec-sec_1784703532_a21b [class*="__head"] [class*="__title"],#sec-sec_1784703532_a21b [class*="__head"] [class*="__name"],#sec-sec_1784703532_a21b [class*="__head"] [class*="__heading"]{font-size:clamp(29px,4vw,48px) !important;color:#000000 !important}@media(max-width:768px){#sec-sec_1784703532_a21b [class*="__head"] [class*="__title"],#sec-sec_1784703532_a21b [class*="__head"] [class*="__name"],#sec-sec_1784703532_a21b [class*="__head"] [class*="__heading"]{font-size:24px !important}}
/* --- block 23 --- */

.hvm-snsc{--snsc-point:var(--index_color,var(--main,var(--hv-main,#9b8978)));overflow:hidden;color:#161616}.hvm-snsc *{box-sizing:border-box}.hvm-snsc__inner{max-width:1600px}.hvm-snsc__head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:58px}.hvm-snsc__heading h2{margin:0;color:var(--snsc-title-color);font-size:var(--snsc-title-size)!important;font-weight:var(--snsc-title-weight);letter-spacing:.02em}.hvm-snsc__heading p{margin:16px 0 0;color:var(--snsc-desc-color);font-size:var(--snsc-desc-size)!important}.hvm-snsc__filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:28px}.hvm-snsc__filters button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:auto;padding:0 0 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#999;cursor:pointer;transition:border-color .25s,color .25s,opacity .25s}.hvm-snsc__filters button:hover,.hvm-snsc__filters button:focus-visible{color:var(--snsc-point)}.hvm-snsc__filters button:focus-visible{outline:0}.hvm-snsc__filters button.is-active{border-bottom-color:var(--snsc-point);background:transparent;color:var(--snsc-point)}.hvm-snsc__filters svg,.hvm-snsc__channel svg{width:22px;height:22px;flex:none}.hvm-snsc__filters svg{width:18px;height:18px;opacity:.55;transition:opacity .25s}.hvm-snsc__filters button.is-active svg,.hvm-snsc__filters button:hover svg{opacity:1}.hvm-snsc__filters button[data-snsc-filter=all]{min-width:0}
.hvm-snsc__gallery{min-width:0;display:flex;flex-direction:column}.hvm-snsc__viewport{overflow-x:auto;padding:2px;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}.hvm-snsc__viewport::-webkit-scrollbar{display:none}.hvm-snsc__track{display:flex;gap:var(--snsc-gap);min-height:430px}.hvm-snsc__card{position:relative;isolation:isolate;overflow:hidden;flex:0 0 calc((100% - (var(--snsc-gap) * (var(--snsc-per) - 1)))/var(--snsc-per));scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;min-height:430px;padding:50px 45px 36px;border:1px solid #d8d8d8;border-radius:var(--snsc-radius);background:var(--snsc-card-bg);color:var(--snsc-card-title-color);text-decoration:none;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.hvm-snsc__card[hidden]{display:none}.hvm-snsc__media{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .55s ease}.hvm-snsc__media img{width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.hvm-snsc__media i{position:absolute;inset:0;background:rgba(0,0,0,var(--snsc-dim))}.hvm-snsc__gallery.has-hover .hvm-snsc__card.has-image:hover .hvm-snsc__media,.hvm-snsc__gallery.has-hover .hvm-snsc__card.has-image:focus-visible .hvm-snsc__media{opacity:1}.hvm-snsc__gallery.has-hover .hvm-snsc__card.has-image:hover,.hvm-snsc__gallery.has-hover .hvm-snsc__card.has-image:focus-visible{border-color:transparent;color:#fff;box-shadow:0 18px 42px rgba(0,0,0,.14);transform:translateY(-4px)}.hvm-snsc__gallery.has-zoom .hvm-snsc__card.has-image:hover .hvm-snsc__media img,.hvm-snsc__gallery.has-zoom .hvm-snsc__card.has-image:focus-visible .hvm-snsc__media img{transform:scale(1.06)}.hvm-snsc__channel{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;width:max-content;padding:8px 15px;border:1px solid #d5d5d5;border-radius:999px;background:rgba(255,255,255,.94);color:#666}.hvm-snsc__channel b{font-weight:500}.hvm-snsc__question{position:relative;z-index:1;margin:auto 0 8px;color:inherit;font-size:var(--snsc-card-title-size)!important;font-weight:var(--snsc-card-title-weight);line-height:1.5}.hvm-snsc__summary{position:relative;z-index:1;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:3.1em;color:var(--snsc-card-desc-color);line-height:1.55;transition:color .35s}.hvm-snsc__footer{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(128,128,128,.2)}.hvm-snsc__author{display:flex;align-items:center;gap:10px;min-width:0}.hvm-snsc__avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;overflow:hidden;border-radius:50%;background:#eee;color:#666}.hvm-snsc__avatar img{width:100%;height:100%;object-fit:cover}.hvm-snsc__avatar b{font-size:14px}.hvm-snsc__author>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.hvm-snsc__author>span:last-child>b{overflow:hidden;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.hvm-snsc__author small{overflow:hidden;color:var(--snsc-card-desc-color);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap;transition:color .35s}.hvm-snsc__date{flex:none;color:var(--snsc-card-desc-color);font-size:11px;font-weight:400;letter-spacing:.04em;transition:color .35s}.hvm-snsc__card.has-image:hover .hvm-snsc__summary,.hvm-snsc__card.has-image:focus-visible .hvm-snsc__summary,.hvm-snsc__card.has-image:hover .hvm-snsc__author small,.hvm-snsc__card.has-image:focus-visible .hvm-snsc__author small,.hvm-snsc__card.has-image:hover .hvm-snsc__date,.hvm-snsc__card.has-image:focus-visible .hvm-snsc__date{color:rgba(255,255,255,.8)}.hvm-snsc__nav{display:flex;align-items:center;gap:14px;padding-top:34px}.hvm-snsc__nav>div{height:3px;flex:1;background:#ccc}.hvm-snsc__nav>div span{display:block;width:0;height:100%;background:var(--snsc-point);transition:width .25s}.hvm-snsc__nav button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ddd;border-radius:50%;background:#fff;color:#444;cursor:pointer}.hvm-snsc__nav button:disabled{opacity:.3}.hvm-snsc__nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.hvm-snsc__empty{padding:70px;text-align:center;background:#fafafa;color:#999}
@media(max-width:900px){.hvm-snsc__head{display:block;margin-bottom:38px}.hvm-snsc__filters{justify-content:flex-start;gap:22px;margin-top:24px;overflow-x:auto;flex-wrap:nowrap}.hvm-snsc__filters button{flex:none;min-width:0;height:auto;padding:0 0 8px}.hvm-snsc__gallery{margin-right:-4vw}.hvm-snsc__track{min-height:340px}.hvm-snsc__card{flex-basis:calc((88% - (var(--snsc-gap) * (var(--snsc-per-mo) - 1)))/var(--snsc-per-mo));min-height:340px;padding:34px 28px}.hvm-snsc__nav{padding-right:4vw}}
.hvm-snsc__gallery.has-shadow .hvm-snsc__card{box-shadow:0 12px 30px rgba(0,0,0,.07)}
.hvm-snsc__gallery:not(.has-hover) .hvm-snsc__card.has-image:hover .hvm-snsc__date,.hvm-snsc__gallery:not(.has-hover) .hvm-snsc__card.has-image:focus-visible .hvm-snsc__date{color:var(--snsc-card-desc-color)}
.hvm-snsc__gallery{position:relative}.hvm-snsc__nav{color:var(--snsc-nav-ink)}.hvm-snsc__nav button,.hvm-snsc__side-nav button{border-color:var(--snsc-nav-line);background:var(--snsc-nav-bg);color:var(--snsc-nav-ink);transition:opacity .2s,transform .2s,background .2s}.hvm-snsc__nav button:hover:not(:disabled),.hvm-snsc__side-nav button:hover:not(:disabled){transform:translateY(-2px)}.hvm-snsc__progress{height:3px!important;flex:1!important;min-width:60px;background:var(--snsc-nav-track)!important}.hvm-snsc__progress span{background:var(--snsc-point)!important}.hvm-snsc__fraction{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-variant-numeric:tabular-nums}.hvm-snsc__fraction b{color:var(--snsc-point)}.hvm-snsc__fraction i{opacity:.45;font-style:normal}.hvm-snsc__dots{display:flex!important;align-items:center;justify-content:center;gap:8px;flex:0 0 auto!important;height:auto!important;background:none!important}.hvm-snsc__dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--snsc-nav-track);box-shadow:none}.hvm-snsc__dots button.is-active{width:22px;border-radius:999px;background:var(--snsc-point)}.hvm-snsc__nav [data-snsc-pause] .is-play{display:none}.hvm-snsc__nav [data-snsc-pause][aria-pressed=true] .is-pause{display:none}.hvm-snsc__nav [data-snsc-pause][aria-pressed=true] .is-play{display:block}.hvm-snsc__side-nav{position:absolute;z-index:8;inset:0;pointer-events:none}.hvm-snsc__side-nav button{position:absolute;top:50%;width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid var(--snsc-nav-line);border-radius:50%;transform:translateY(-50%);pointer-events:auto;cursor:pointer}.hvm-snsc__side-nav:not(.has-bg) button{border-color:transparent;background:transparent}.hvm-snsc__side-nav button:hover:not(:disabled){transform:translateY(calc(-50% - 2px))}.hvm-snsc__side-nav button:first-child{left:14px}.hvm-snsc__side-nav button:last-child{right:14px}.hvm-snsc__side-nav button:disabled{opacity:.3}.hvm-snsc__side-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.hvm-snsc__gallery.side-hover .hvm-snsc__side-nav{opacity:0;transition:opacity .25s}.hvm-snsc__gallery.side-hover:hover .hvm-snsc__side-nav,.hvm-snsc__gallery.side-hover:focus-within .hvm-snsc__side-nav{opacity:1}
@media(hover:none){.hvm-snsc__gallery.has-hover .hvm-snsc__card.has-image:active .hvm-snsc__media{opacity:1}.hvm-snsc__gallery.has-hover .hvm-snsc__card.has-image:active{color:#fff}}
@media(hover:none){.hvm-snsc__gallery.side-hover .hvm-snsc__side-nav{opacity:1}}
@media(max-width:900px){.hvm-snsc__side-nav button{width:40px;height:40px}.hvm-snsc__side-nav button:first-child{left:5px}.hvm-snsc__side-nav button:last-child{right:5vw}.hvm-snsc__dots{gap:6px}.hvm-snsc__nav{gap:10px}}
@media(prefers-reduced-motion:reduce){.hvm-snsc__media,.hvm-snsc__media img,.hvm-snsc__card{transition:none}}
.hvm-snsc__footer>.hvm-snsc__date:only-child{margin-left:auto}
.hvm-snsc__gallery .hvm-snsc__card:hover,.hvm-snsc__gallery .hvm-snsc__card:focus-visible{box-shadow:none!important}
.hvm-snsc__eyebrow{display:block;margin:0 0 12px;color:var(--snsc-eye-color);font-size:var(--snsc-eye-size)!important;letter-spacing:.14em;text-transform:uppercase}.hvm-snsc__content{position:relative;z-index:1;display:flex;min-width:0;min-height:100%;flex:1;flex-direction:column;padding:50px 45px 36px}.hvm-snsc__card{padding:0}.hvm-snsc__summary{font-size:var(--snsc-card-desc-size)!important}
.hvm-snsc[data-hvm-align=center] .hvm-snsc__head{flex-direction:column;align-items:center;text-align:center}.hvm-snsc[data-hvm-align=center] .hvm-snsc__filters{justify-content:center}.hvm-snsc[data-hvm-align=right] .hvm-snsc__head{flex-direction:column;align-items:flex-end;text-align:right}.hvm-snsc[data-hvm-align=right] .hvm-snsc__filters{justify-content:flex-end}.hvm-snsc__gallery.card-align-center .hvm-snsc__content{align-items:center;text-align:center}.hvm-snsc__gallery.card-align-center .hvm-snsc__footer{width:100%}.hvm-snsc__gallery.card-align-right .hvm-snsc__content{align-items:flex-end;text-align:right}.hvm-snsc__gallery.card-align-right .hvm-snsc__footer{width:100%}
.hvm-snsc__gallery.is-overlay .hvm-snsc__card.has-image{border-color:transparent;color:#fff}.hvm-snsc__gallery.is-overlay .hvm-snsc__card.has-image .hvm-snsc__media{opacity:1}.hvm-snsc__gallery.is-overlay .hvm-snsc__card.has-image .hvm-snsc__summary,.hvm-snsc__gallery.is-overlay .hvm-snsc__card.has-image .hvm-snsc__author small,.hvm-snsc__gallery.is-overlay .hvm-snsc__card.has-image .hvm-snsc__date{color:rgba(255,255,255,.82)}.hvm-snsc__gallery.is-overlay .hvm-snsc__card.has-image .hvm-snsc__footer{border-top-color:rgba(255,255,255,.24)}
.hvm-snsc__gallery.is-below .hvm-snsc__track{min-height:540px}.hvm-snsc__gallery.is-below .hvm-snsc__card{overflow:hidden;min-height:540px;padding:0;border:1px solid #e6e2de;background:var(--snsc-card-bg)}.hvm-snsc__gallery.is-below .hvm-snsc__media{position:relative;inset:auto;display:block;flex:0 0 auto;width:100%;aspect-ratio:4/3;opacity:1}.hvm-snsc__gallery.is-below .hvm-snsc__media i{display:none}.hvm-snsc__gallery.is-below .hvm-snsc__content{min-height:0;padding:24px 20px 22px;background:var(--snsc-card-bg)}.hvm-snsc__gallery.is-below .hvm-snsc__channel{padding:5px 10px}.hvm-snsc__gallery.is-below .hvm-snsc__question{margin:12px 0 8px}.hvm-snsc__gallery.is-below .hvm-snsc__footer{margin-top:auto}.hvm-snsc__gallery.is-below .hvm-snsc__card.has-image:hover,.hvm-snsc__gallery.is-below .hvm-snsc__card.has-image:focus-visible{color:var(--snsc-card-title-color);transform:none}.hvm-snsc__gallery.is-below .hvm-snsc__card.has-image:hover .hvm-snsc__summary,.hvm-snsc__gallery.is-below .hvm-snsc__card.has-image:focus-visible .hvm-snsc__summary,.hvm-snsc__gallery.is-below .hvm-snsc__card.has-image:hover .hvm-snsc__author small,.hvm-snsc__gallery.is-below .hvm-snsc__card.has-image:focus-visible .hvm-snsc__author small,.hvm-snsc__gallery.is-below .hvm-snsc__card.has-image:hover .hvm-snsc__date,.hvm-snsc__gallery.is-below .hvm-snsc__card.has-image:focus-visible .hvm-snsc__date{color:var(--snsc-card-desc-color)}
.hvm-snsc__nav.us-nav-bar{margin-top:28px;padding-top:0;flex-direction:column;gap:14px;align-items:center;color:inherit}.hvm-snsc__nav.us-nav-bar.us-nav-row{flex-direction:row;gap:20px}.hvm-snsc__nav.us-nav-bar>.us-card-prog-wrap{width:100%;height:1px!important;min-width:0;flex:1;background:rgba(0,0,0,.12)!important}.hvm-snsc__nav.us-nav-bar>.us-card-prog-wrap .us-card-prog-bar{display:block;height:100%;background:var(--snsc-point)!important;transition:width .25s}.hvm-snsc__nav.us-nav-bar>.us-nav-controls{display:flex;width:auto;height:auto;flex:0 0 auto;align-items:center;gap:0;background:none}.hvm-snsc__nav.us-nav-bar .us-nav-btn{display:inline-flex;width:34px;height:34px;flex:0 0 34px;padding:0;border:0;border-radius:0;background:none;color:inherit;opacity:.4}.hvm-snsc__nav.us-nav-bar .us-nav-btn:hover:not(:disabled){opacity:1;transform:none}.hvm-snsc__nav.us-nav-bar .us-nav-prev:hover:not(:disabled){transform:translateX(-2px)}.hvm-snsc__nav.us-nav-bar .us-nav-next:hover:not(:disabled){transform:translateX(2px)}.hvm-snsc__nav.us-nav-bar .us-nav-divider{width:1px;height:12px;margin:0 2px;background:currentColor;opacity:.2}.hvm-snsc__nav.us-nav-bar .us-frac-display{display:flex;align-items:center;gap:4px;margin:0 8px;font-size:12px;letter-spacing:.08em;opacity:.6}.hvm-snsc__nav.us-nav-bar .us-dots{display:flex!important;width:auto;height:auto!important;flex:0 0 auto!important;gap:0;background:none!important}.hvm-snsc__nav.us-nav-bar .us-dot{display:inline-flex;width:24px;height:24px;padding:0;border:0;border-radius:0;background:transparent;align-items:center;justify-content:center}.hvm-snsc__nav.us-nav-bar .us-dot::before{content:'';width:6px;height:6px;border-radius:3px;background:currentColor;opacity:.25;transition:opacity .2s,width .3s}.hvm-snsc__nav.us-nav-bar .us-dot.is-active{width:24px;border-radius:0;background:transparent}.hvm-snsc__nav.us-nav-bar .us-dot.is-active::before{width:22px;opacity:1}.hvm-snsc__nav.us-nav-bar.us-nav-w{color:#fff}.hvm-snsc__nav.us-nav-bar.us-nav-w>.us-card-prog-wrap{background:rgba(255,255,255,.25)!important}.hvm-snsc__nav.us-nav-bar.us-nav-w>.us-card-prog-wrap .us-card-prog-bar{background:#fff!important}.hvm-snsc__gallery>.us-nav-side svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.hvm-snsc__nav.us-nav-bar .us-card-prog-bar{transform:none}
.hvm-snsc__gallery .hvm-snsc__card{border:var(--snsc-border-width,1px) solid var(--snsc-border-color,#d8d8d8)!important}
@media(max-width:900px){.hvm-snsc__heading h2{font-size:var(--snsc-title-size-mo)!important}.hvm-snsc__eyebrow{font-size:var(--snsc-eye-size-mo)!important}.hvm-snsc__heading p{font-size:var(--snsc-desc-size-mo)!important}.hvm-snsc__question{font-size:var(--snsc-card-title-size-mo)!important}.hvm-snsc__summary{font-size:var(--snsc-card-desc-size-mo)!important}.hvm-snsc__content{padding:34px 28px}.hvm-snsc__gallery.is-below .hvm-snsc__track,.hvm-snsc__gallery.is-below .hvm-snsc__card{min-height:560px}.hvm-snsc__gallery.is-below .hvm-snsc__media{aspect-ratio:1/1}.hvm-snsc__gallery.is-below .hvm-snsc__content{padding:22px 18px 20px}}
@media(min-width:901px) and (max-width:1366px){.hvm-snsc__card{flex-basis:calc((100% - (var(--snsc-gap) * (3 - 1)))/3)}}

/* --- block 24 --- */
:root{--ftr-accent:#a06a3f;--ftr-contact-bg:#ffffff;--ftr-contact-tx:#1a1a1a;--ftr-bg:#140f0f;--ftr-tx:#ffffff;--ftr-tx-soft:rgba(255,255,255,0.80);--ftr-tx-mute:rgba(255,255,255,0.65);--ftr-divider:rgba(255,255,255,0.14);--ftr-inner-w:1470px;--ftr-pad-y:104px;--ftr-foot-pad:98px;--ftr-body:clamp(14px,1.33vw,16px);--ftr-foot-body:clamp(14px,1.33vw,16px);--ftr-head:clamp(33px,5vw,60px);--ftr-phone:clamp(25px,3vw,36px);--ftr-eyebrow-sz:0.72em;--ftr-subhead-sz:0.9em;--ftr-phone-lbl-sz:0.72em;--ftr-hours-dt-sz:0.92em;--ftr-hours-dd-sz:0.92em;--ftr-hours-note-sz:0.8em;--ftr-hours-extra-sz:0.85em;--ftr-overlay:0.66;}
/* --- block 25 --- */

.ftr-section{font-family:var(--font-pret,'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);color:var(--ftr-tx);box-sizing:border-box;max-width:100%;overflow-x:clip}
.ftr-section *,.ftr-section *::before,.ftr-section *::after{box-sizing:border-box}
.ftr-inner{width:95%;max-width:var(--ftr-inner-w);margin:0 auto}

/* 자간/행간 기본값 — 과한 커스텀 트래킹만 제거.
   폰트는 유지: 영문 제목·숫자 = eng_b2 / 한글·본문 = pret(사이트 한글 폰트 설정).
   (Information·대표번호 = 세리프로 통일, 나머지 한글·라벨 = 산세리프) */
.ftr-section *{letter-spacing:normal !important;font-weight:400 !important}
.ftr-section{line-height:1.65}

/* ============ 컨택트 (라이트 톤) — CSS 변수 로컬 재정의 ============ */
.ftr-contact{
    --ftr-tx:var(--ftr-contact-tx,#1a1a1a);
    --ftr-tx-soft:rgba(0,0,0,0.62);
    --ftr-tx-mute:rgba(0,0,0,0.60);   /* 0.38→0.60: 흰 배경 대비 2.85→~5.7:1 (WCAG AA 통과). 보조주소·진료노트 */
    --ftr-divider:rgba(0,0,0,0.08);
    background:var(--ftr-contact-bg,#fff);
    color:var(--ftr-contact-tx,#1a1a1a);
    padding:var(--ftr-pad-y) 0;
    font-size:var(--ftr-body);
}
/* 컨택트 안 텍스트 — 사용자 설정 var 우선 + 라이트 톤 fallback */
.ftr-contact .ftr-phone-num{color:var(--ftr-phone-c, var(--ftr-contact-tx, #1a1a1a))}
.ftr-contact .ftr-branches,
.ftr-contact .ftr-branch-name,
.ftr-contact .ftr-branch-addr{color:var(--ftr-address-c, var(--ftr-contact-tx, #1a1a1a))}
.ftr-contact .ftr-hour-row dt,
.ftr-contact .ftr-hour-day{color:var(--ftr-hours-dt-c, var(--ftr-contact-tx, #1a1a1a))}
.ftr-contact .ftr-hour-row dd,
.ftr-contact .ftr-hour-time{color:var(--ftr-hours-dd-c, rgba(0,0,0,0.62))}
.ftr-contact .ftr-phone-lbl{color:var(--ftr-phone-lbl-c, rgba(0,0,0,0.55))}
.ftr-contact .ftr-classic-eyebrow,
.ftr-contact .ftr-rev-eyebrow{color:var(--ftr-eyebrow-c, var(--ftr-accent))}
.ftr-contact .ftr-classic-headline,
.ftr-contact .ftr-rev-headline{color:var(--ftr-headline-c, var(--ftr-contact-tx, #1a1a1a))}
.ftr-contact .ftr-classic-subhead,
.ftr-contact .ftr-rev-subhead,
.ftr-contact .ftr-pd-hours-head{color:var(--ftr-subhead-c, var(--ftr-contact-tx, #1a1a1a))}
.ftr-contact .ftr-info-text,
.ftr-contact .ftr-hours-note,
.ftr-contact .ftr-hours-extra{color:rgba(0,0,0,0.62)}
.ftr-contact .ftr-hours-extra strong{color:var(--ftr-contact-tx, #1a1a1a)}

.ftr-contact-grid{display:grid;gap:60px;align-items:start}
.ftr-map-frame{width:100%;height:100%;min-height:440px;border:0;border-radius:8px;display:block;background:#f5f5f5;box-shadow:0 1px 3px rgba(0,0,0,.06)}

/* ============ 푸터 본체 (다크 톤) — 별도 폰트/패딩 적용 ============ */
.ftr-body{
    background:var(--ftr-bg);
    color:var(--ftr-tx);
    padding:var(--ftr-foot-pad, 60px) 0 calc(var(--ftr-foot-pad, 60px) * 0.6);
    font-size:var(--ftr-foot-body);
}
/* 푸터 본체 텍스트 — 정책/소셜은 본문색, 라벨/카피는 mute 톤 */
.ftr-body{color:var(--ftr-tx)}
.ftr-body .ftr-policy-link,
.ftr-body .ftr-social-link,
.ftr-body .ftr-biz-val,
.ftr-body .ftr-classic-foot-row dd,
.ftr-body .ftr-classic-foot-row dd a{color:var(--ftr-tx)}
.ftr-body .ftr-biz-lbl,
.ftr-body .ftr-classic-foot-row dt,
.ftr-body .ftr-policy-sep,
.ftr-body .ftr-copyright,
.ftr-body .ftr-biz-line{color:var(--ftr-tx-mute)}
/* 푸터 안 phone-lbl/phone-num 도 var 우선 */
.ftr-body .ftr-phone-lbl,
.ftr-body .ftr-pd-foot-tel-lbl{color:var(--ftr-phone-lbl-c, var(--ftr-tx-mute))}
.ftr-body .ftr-phone-num,
.ftr-body .ftr-pd-foot-tel-num{color:var(--ftr-phone-c, var(--ftr-tx))}

/* ============ 지도 서비스 버튼 — 톤 자동 적응 + 단색 아이콘 ============
   ink = 버튼 잉크색. 기본은 컨텍스트 텍스트색(--ftr-tx)을 상속해 밝은/어두운
   배경에 자동 적응. 표면/테두리는 currentColor 의 낮은 불투명도로 파생되어
   밝은 배경=옅은 흑, 어두운 배경=옅은 백으로 알아서 뒤집힌다.
   --ink-light / --ink-dark 로 톤을 강제할 수도 있다. */
.ftr-map-btns{
    display:flex;flex-wrap:wrap;gap:8px;margin:0;min-width:0;max-width:100%;
    --mb-ink:var(--ftr-tx,#1a1a1a);
}
.ftr-map-btns--ink-light{ --mb-ink:#1a1a1a }
.ftr-map-btns--ink-dark{  --mb-ink:#f5f5f5 }

.ftr-map-btn{
    position:relative;isolation:isolate;min-width:0;
    display:inline-flex;align-items:center;gap:8px;
    padding:9px 15px 9px 12px;
    border-radius:999px;
    text-decoration:none;
    font-size:.82em;font-weight:500;line-height:1;letter-spacing:-.01em;
    color:var(--mb-ink);
    background:transparent;border:0;
    transition:transform .18s cubic-bezier(.16,1,.3,1);
    -webkit-tap-highlight-color:transparent;
}
/* 표면(fill) — ink색 옅은 불투명도 → 톤 자동. 테두리 없는 솔리드 칩 (이중 보더 제거) */
.ftr-map-btn::before{
    content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;
    background:currentColor;opacity:.08;
    transition:opacity .18s, background .18s;
}
.ftr-map-btn:hover{transform:translateY(-1.5px)}
.ftr-map-btn:hover::before{background:var(--mb-brand,currentColor);opacity:.14}
.ftr-map-btn:active{transform:translateY(0)}

.ftr-map-btn-icon{
    width:17px;height:17px;flex-shrink:0;
    display:inline-flex;align-items:center;justify-content:center;
    color:var(--mb-ink);opacity:.82;
    transition:color .18s, opacity .18s;
}
.ftr-map-btn:hover .ftr-map-btn-icon{color:var(--mb-brand,currentColor);opacity:1}
.ftr-map-btn-icon svg{width:100%;height:100%;display:block}
.ftr-map-btn-lbl{letter-spacing:-.005em;white-space:nowrap}

/* 서비스별 브랜드 강조색 — hover 에서만 노출 */
.ftr-map-btn--naver{  --mb-brand:#03C75A }
.ftr-map-btn--kakao{  --mb-brand:#F5C400 }
.ftr-map-btn--google{ --mb-brand:#4285F4 }
.ftr-map-btn--tmap{   --mb-brand:#FF317F }
.ftr-map-btn--sms{    --mb-brand:#6B7280 }

/* pill / ghost 변형은 통합 디자인으로 흡수 — 별도 스타일 불필요 (클래스는 무해) */

/* ============ 멀티 지점 ============ */
.ftr-branches{font-style:normal;display:flex;flex-direction:column;gap:10px;font-size:1em}
.ftr-branch{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.ftr-branch-icon{
    width:1.15em;height:1.15em;flex-shrink:0;margin-top:.15em;
    color:var(--ftr-accent);
}
.ftr-branch-icon svg{width:100%;height:100%;display:block}
.ftr-branch-name{
    font-weight:600;margin-right:10px;flex-shrink:0;
    color:var(--ftr-address-c, var(--ftr-tx));
    font-size:.94em;
}
.ftr-branch-addr{flex:1;color:var(--ftr-address-c, var(--ftr-tx))}
.ftr-branches--single .ftr-branch{font-size:1.05em;font-weight:500}

/* ============ 진료시간 — 사이즈/색 개별 vars ============ */
.ftr-hours{display:flex;flex-direction:column;gap:10px;margin:0;font-size:1em}
.ftr-hour-row{display:flex;gap:24px;align-items:baseline;line-height:1.4}
.ftr-hour-row dt,.ftr-hour-day{
    font-weight:600;
    min-width:6em;
    color:var(--ftr-hours-dt-c, var(--ftr-tx));
    font-size:var(--ftr-hours-dt-sz, 13px);
    letter-spacing:-.003em;
}
.ftr-hour-row dd,.ftr-hour-time{
    margin:0;
    color:var(--ftr-hours-dd-c, var(--ftr-tx-soft));
    font-feature-settings:"tnum" 1;
    font-variant-numeric:tabular-nums;
    font-size:var(--ftr-hours-dd-sz, 14px);
}
.ftr-hours--daily .ftr-hour-row{justify-content:flex-start}
.ftr-hours-note{margin-top:8px;font-size:var(--ftr-hours-note-sz, 12px);color:var(--ftr-hours-note-c, var(--ftr-tx-mute));line-height:1.5}
.ftr-hours-extra{margin:6px 0;font-size:var(--ftr-hours-extra-sz, 13px);color:var(--ftr-hours-extra-c, var(--ftr-tx-soft));line-height:1.5}
.ftr-hours-extra strong{color:var(--ftr-hours-extra-lbl-c, var(--ftr-tx));font-weight:600;margin-right:8px}

/* ============ 전화 — font-family 는 eng_b2/pret 클래스가 담당 ============ */
.ftr-phones{display:flex;flex-direction:column;gap:14px;min-width:0}
.ftr-phone{display:flex;flex-direction:column;gap:6px;min-width:0}
.ftr-phone-lbl{
    font-size:var(--ftr-phone-lbl-sz, 11px);
    color:var(--ftr-phone-lbl-c, var(--ftr-tx-mute));
    text-transform:uppercase;
}
.ftr-phone-num{
    font-size:var(--ftr-phone, 36px);
    font-weight:700;
    color:var(--ftr-phone-c, var(--ftr-tx));
    text-decoration:none;
    font-feature-settings:"tnum" 1;
    font-variant-numeric:tabular-nums;
    line-height:1;
    transition:color .15s;
}
.ftr-phone-num:hover{color:var(--ftr-accent)}

/* ============ 대중교통/주차 안내 ============ */
.ftr-info-rows{display:flex;flex-direction:column;gap:10px;margin:0}
.ftr-info-row{display:flex;align-items:flex-start;gap:10px;font-size:.88em;line-height:1.5}
.ftr-info-badge{
    flex-shrink:0;
    background:rgba(0,0,0,0.06);
    color:var(--ftr-tx);
    padding:3px 10px;
    border-radius:4px;
    font-size:.82em;font-weight:600;
    letter-spacing:-.003em;
}
.ftr-info-text{flex:1;color:var(--ftr-tx-soft)}

/* ============ 소셜 아이콘 ============ */
.ftr-socials{display:flex;list-style:none;padding:0;margin:0;gap:8px;flex-wrap:wrap}
.ftr-social-link{
    width:38px;height:38px;border-radius:50%;
    background:rgba(255,255,255,.06);
    display:flex;align-items:center;justify-content:center;
    color:var(--ftr-tx);
    transition:background .2s,transform .2s,color .2s;
}
.ftr-social-link svg{width:18px;height:18px}
.ftr-social-link:hover{background:var(--ftr-accent);transform:translateY(-2px);color:#fff}
/* 컨택트 안에서는 약간 다르게 */
.ftr-contact .ftr-social-link{background:rgba(0,0,0,.06)}
.ftr-contact .ftr-social-link:hover{background:var(--ftr-accent);color:#fff}

/* ============ 정책 메뉴 ============ */
.ftr-policy{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:1.05em;line-height:1.5}
.ftr-policy-link{
    color:var(--ftr-tx);text-decoration:none;
    transition:color .15s;
    letter-spacing:-.003em;
}
.ftr-policy-link:hover{color:var(--ftr-accent)}
.ftr-policy-sep{color:var(--ftr-tx-mute);font-size:.85em}

/* ============ 로고 ============ */
.ftr-logo--img{display:block;max-width:200px;height:auto}
.ftr-logo--text{display:inline-block}

/* ============ 사업자 정보 라인 ============ */
.ftr-biz-line{
    margin:10px 0 0;
    font-size:.95em;
    line-height:1.8;
    letter-spacing:-.003em;
    color:var(--ftr-tx-soft);
}
.ftr-biz-line span{white-space:nowrap}
.ftr-biz-lbl{color:var(--ftr-tx-mute);margin-right:4px;font-weight:500}
.ftr-biz-val{color:var(--ftr-tx-soft);font-weight:500}
.ftr-biz-sep{color:var(--ftr-tx-mute);margin:0 2px;opacity:.6}

/* ============ 카피라이트 ============ */
.ftr-copyright{
    margin-top:14px;
    font-size:.92em;
    color:var(--ftr-tx-mute);
    letter-spacing:-.003em;
}
.ftr-hive-link{color:inherit;text-decoration:none;border-bottom:1px solid var(--ftr-divider)}
.ftr-hive-link:hover{color:var(--ftr-tx-soft)}

/* ============ 신규 컴포넌트 (description / address-sub / notes / valet / partners) ============ */
.ftr-description{
    margin:0;font-size:1em;line-height:1.7;
    color:var(--ftr-tx-soft);
    letter-spacing:-.005em;
}
.ftr-addr-sub{
    margin:0;font-size:.92em;
    color:var(--ftr-tx-mute);
    letter-spacing:-.005em;
}
.ftr-notes{
    list-style:none;padding:0;margin:0;
    display:flex;flex-direction:column;gap:6px;
}
.ftr-note{
    font-size:.85em;line-height:1.6;
    color:var(--ftr-tx-mute);
    letter-spacing:-.005em;
}
.ftr-valet{
    font-size:.92em;line-height:1.65;
    color:var(--ftr-tx-soft);
    letter-spacing:-.005em;
    padding:14px 0;
    border-top:1px dashed var(--ftr-divider);
    border-bottom:1px dashed var(--ftr-divider);
}
.ftr-partners{
    display:flex;flex-wrap:wrap;align-items:center;gap:24px;
}
.ftr-partner{
    display:flex;align-items:center;gap:8px;
    text-decoration:none;color:inherit;
    opacity:.85;transition:opacity .15s;
}
.ftr-partner:hover{opacity:1}
.ftr-partner img{height:32px;width:auto;display:block}
.ftr-partner-name{
    font-size:.78em;color:var(--ftr-tx-mute);
    line-height:1.3;letter-spacing:-.003em;
}

/* ============ 모바일 반응 ============ */
@media (max-width:900px){
.ftr-contact{padding:40px 0}
.ftr-contact-grid{gap:32px}
.ftr-map-frame{min-height:260px}
.ftr-body{padding:40px 0 30px}
.ftr-phone-num{font-size:28px}
.ftr-hour-row{flex-direction:column;gap:2px}
.ftr-hour-row dt{min-width:0}
.ftr-map-btns{gap:6px}
.ftr-map-btn{padding:8px 13px 8px 11px;font-size:12px}
.ftr-partners{gap:14px}
.ftr-partner img{height:24px}
}

/* --- block 26 --- */

.ftr-sm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.ftr-sm-left{min-width:0}
.ftr-sm-pin{display:block;flex:0 0 20px;width:20px;height:20px;margin-top:3px}
.ftr-sm-pin svg{display:block;width:100%;height:100%}
.ftr-sm-map{position:relative;min-width:0;min-height:560px;background:#eceae6}
.ftr-sm-map-panel{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.ftr-sm-map-panel.is-active{display:block}
.ftr-sm-map .ftr-map-frame,.ftr-sm-map .ftr-kakao-map{position:absolute;inset:0;width:100%;height:100%}
.ftr-sm-map .ftr-kakao-map{overflow:hidden}
.ftr-sm-map .root_daum_roughmap{width:100%!important;height:100%!important}
.ftr-sm-map .root_daum_roughmap .wrap_map{height:100%!important}
@media (max-width:1480px){
  .ftr-sm-grid{grid-template-columns:minmax(0,1fr)}
  .ftr-sm-map{order:-1;min-height:0;height:auto}
  .ftr-sm-map .ftr-map-frame,.ftr-sm-map .ftr-kakao-map{position:static!important;inset:auto!important;display:block;width:100%;height:280px}
  .ftr-sm-map-panel{position:static;min-height:280px;height:280px}
}

/* --- block 27 --- */
.ftr-policy-modal[hidden]{display:none}.ftr-policy-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}.ftr-policy-modal__dim{position:absolute;inset:0;border:0;background:rgba(12,14,18,.58);backdrop-filter:blur(5px);cursor:pointer}.ftr-policy-modal__panel{position:relative;width:min(820px,100%);height:min(86vh,860px);box-sizing:border-box;padding:64px 32px 32px;background:#fff!important;border:1px solid rgba(17,24,39,.08);border-radius:18px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.24)}.ftr-policy-modal__close{position:absolute;right:22px;top:18px;z-index:2;width:38px;height:38px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:transparent;font-size:0;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.ftr-policy-modal__close:before,.ftr-policy-modal__close:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:1.5px;border-radius:2px;background:#262626;transform:translate(-50%,-50%) rotate(45deg)}.ftr-policy-modal__close:after{transform:translate(-50%,-50%) rotate(-45deg)}.ftr-policy-modal__close:hover{border-color:#bbb;background:#f7f7f7;transform:translateY(-1px)}.ftr-policy-modal__close:focus-visible{outline:2px solid #111;outline-offset:3px}.ftr-policy-modal__frame{display:block;width:100%;height:100%;border:0;border-radius:8px;background:#fff!important;color-scheme:light}@media(max-width:600px){.ftr-policy-modal{padding:0}.ftr-policy-modal__panel{width:100%;height:100%;padding:60px 18px 18px;border:0;border-radius:0}.ftr-policy-modal__close{right:16px;top:12px}}
/* --- block 28 --- */

/* ============ split_map — 좌 정보+푸터 / 우 풀높이 지도 (라이트) ============ */
.ftr-sm-contact{
    padding:0;
    --sm-ink:var(--ftr-contact-tx,#2a2a2a);
    --sm-chip:var(--ftr-contact-tx,#3a3632);
    --sm-line:rgba(0,0,0,.09);
}
.ftr-sm-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:stretch;
}

/* 좌측 — clamp 패딩으로 사이트 거터에 정렬 (100vw 계산 미사용) */
.ftr-sm-left{
    display:flex;flex-direction:column;gap:38px;
    padding:clamp(40px,6vw,80px) clamp(32px,4vw,60px) clamp(34px,5vw,56px) clamp(22px,7vw,150px);
    min-width:0;
}
.ftr-sm-info{display:flex;flex-direction:column;gap:30px}
.ftr-sm-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:2px}
.ftr-sm-tab{
    appearance:none;display:inline-flex;align-items:center;justify-content:center;
    min-height:36px;padding:8px 18px;border:0;border-radius:999px;
    background:#f5f5f7;color:rgba(0,0,0,.56);
    font-size:14px;line-height:1.2;font-weight:600;cursor:pointer;
    transition:color .2s,background .2s;
}
.ftr-sm-tab:hover{color:var(--sm-ink);background:#ececf1}
.ftr-sm-tab.is-active{color:#fff;background:#29247b}
.ftr-sm-branch-panel{display:none;flex-direction:column;gap:30px}
.ftr-sm-branch-panel.is-active{display:flex}
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-info > .ftr-sm-head,
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-info > .ftr-info-rows,
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-info > .ftr-map-btns,
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-info > .ftr-sm-duo{display:none!important}
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-foot > .ftr-policy,
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-foot > .ftr-sm-foot-meta{display:none!important}

/* 주소 헤드라인 */
.ftr-sm-head{display:flex;flex-direction:column;gap:8px}
.ftr-sm-addr-line{display:flex;align-items:flex-start;gap:10px}
.ftr-sm-pin{flex:0 0 20px;width:20px;height:20px;margin-top:3px;color:var(--ftr-accent, var(--sm-ink, #2a2a2a))}
.ftr-sm-pin svg{width:100%;height:100%;display:block}
.ftr-sm-addr{
    margin:0;flex:1;min-width:0;
    font-size:clamp(18px, calc(var(--ftr-head,60px) * 0.40), 26px);
    line-height:1.3;letter-spacing:-.015em;
    color:var(--ftr-headline-c, var(--sm-ink));
}
.ftr-sm-addr-sub{margin:0;padding-left:30px;font-size:.9em;line-height:1.5;color:var(--ftr-tx-mute,rgba(0,0,0,.4))}

/* 복사 버튼 */
.ftr-sm-copy{
    flex:0 0 auto;margin-top:4px;
    display:inline-flex;align-items:center;justify-content:center;
    width:34px;height:34px;padding:0;
    background:transparent;border:1px solid var(--sm-line);border-radius:8px;cursor:pointer;
    color:var(--ftr-tx-mute,rgba(0,0,0,.45));
    transition:color .2s, border-color .2s, background .2s, transform .15s;
}
.ftr-sm-copy:hover{color:var(--sm-ink);border-color:rgba(0,0,0,.22);background:rgba(0,0,0,.03)}
.ftr-sm-copy:active{transform:scale(.94)}
.ftr-sm-copy-ic,.ftr-sm-copy-ok{width:16px;height:16px;display:block}
.ftr-sm-copy-ok{display:none;color:#5a9367}
.ftr-sm-copy.is-copied .ftr-sm-copy-ic{display:none}
.ftr-sm-copy.is-copied .ftr-sm-copy-ok{display:block}

/* 대중교통 / 주차 — 차콜 칩 */
.ftr-sm-info .ftr-info-rows{gap:13px}
.ftr-sm-info .ftr-info-row{align-items:flex-start;font-size:.92em}
.ftr-sm-info .ftr-info-badge{
    display:inline-flex;align-items:center;justify-content:center;
    flex:0 0 auto;min-width:72px;margin-top:1px;
    padding:5px 12px;
    background:var(--sm-chip);color:#fff;
    border-radius:6px;font-size:12.5px;line-height:1.4;
}
.ftr-sm-info .ftr-info-text{color:var(--ftr-tx-soft,rgba(0,0,0,.6));line-height:1.55}
.ftr-sm-info .ftr-map-btns{gap:8px}

/* 대표전화 + 진료안내 — 연회색 라벨 (칩 아님) */
.ftr-sm-duo{
    display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px 44px;
    padding-top:28px;border-top:1px solid var(--sm-line);
}
.ftr-sm-duo-col{display:flex;flex-direction:column;gap:11px}
.ftr-sm-sublabel{
    margin:0;font-size:.95em;line-height:1.3;
    color:var(--ftr-subhead-c, var(--ftr-tx-soft, rgba(0,0,0,.55)));
}

.ftr-sm-info .ftr-phones{display:flex;flex-direction:column;gap:18px}
.ftr-sm-info .ftr-phone{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.ftr-sm-info .ftr-phone-lbl{
    font-size:var(--ftr-hours-dt-sz,14px);line-height:1.3;
    color:var(--ftr-hours-dt-c, var(--sm-ink));
}
/* 번호 3개 모두 동일 크기 (대표/추가 구분 없음) */
.ftr-sm-info .ftr-phone-num{
    font-size:calc(var(--ftr-phone,36px) * 0.82);line-height:1.1;letter-spacing:-.01em;
    color:var(--ftr-phone-c, var(--sm-ink));text-decoration:none;
    font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;
    transition:opacity .2s;
}
.ftr-sm-info .ftr-phone-num:hover{opacity:.7}

.ftr-sm-info .ftr-hours{display:flex;flex-direction:column;gap:10px;margin:0}
.ftr-sm-info .ftr-hour-row{display:flex;flex-direction:row;align-items:baseline;gap:16px}
/* 모든 라벨(월-금/점심/주차안내/지하철) 동일 폭 72px — base의 min-width:6em·margin-right:8px 덮어씀 */
.ftr-sm-info .ftr-hour-row dt,
.ftr-sm-info .ftr-hour-day,
.ftr-sm-info .ftr-hours-extra strong{
    flex:0 0 72px;width:72px;min-width:0;margin-right:0;
    font-size:var(--ftr-hours-dt-sz,14px);
    color:var(--ftr-hours-dt-c,var(--sm-ink));
}
.ftr-sm-info .ftr-hour-row dd,
.ftr-sm-info .ftr-hour-time{margin:0;font-size:var(--ftr-hours-dd-sz,14px);color:var(--ftr-hours-dd-c,rgba(0,0,0,.6));font-feature-settings:"tnum" 1}
.ftr-sm-info .ftr-hours-extra{margin:0;display:flex;gap:16px;align-items:baseline;font-size:var(--ftr-hours-dd-sz,14px);color:var(--ftr-hours-dd-c,rgba(0,0,0,.6));line-height:1.6}
/* note(주말·공휴일 휴진) — 값 칼럼(72+16=88px)에 정렬 */
.ftr-sm-info .ftr-hours-note{margin:0;padding-left:88px;font-size:var(--ftr-hours-extra-sz,13px);color:var(--ftr-tx-mute,rgba(0,0,0,.45));line-height:1.6}

/* ── 라이트 통합 푸터 ── */
.ftr-sm-foot{
    display:flex;flex-direction:column;gap:18px;
    margin-top:8px;padding-top:30px;
    border-top:1px solid var(--sm-line);
}
.ftr-sm-foot-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ftr-sm-foot .ftr-logo,
.ftr-sm-foot .ftr-logo--img{max-width:168px;height:auto;display:block}
.ftr-sm-foot .ftr-logo--text{color:var(--sm-ink)}

.ftr-sm-foot .ftr-socials{display:flex;gap:9px;list-style:none;margin:0;padding:0}
.ftr-sm-foot .ftr-social-link{
    display:inline-flex;align-items:center;justify-content:center;
    width:36px;height:36px;border-radius:50%;
    background:rgba(0,0,0,.05);color:var(--sm-ink);text-decoration:none;
    transition:background .2s, transform .15s cubic-bezier(.34,1.56,.64,1);
}
.ftr-sm-foot .ftr-social-link:hover{background:rgba(0,0,0,.1);transform:translateY(-2px)}
.ftr-sm-foot .ftr-social-link svg{width:18px;height:18px;display:block}
.ftr-sm-foot .ftr-social-link--youtube:hover{color:#ff0033;background:rgba(255,0,51,.08)}
.ftr-sm-foot .ftr-social-link--instagram:hover{color:#c13584;background:rgba(193,53,132,.08)}
.ftr-sm-foot .ftr-social-link--blog:hover{color:#03a94d;background:rgba(3,199,90,.09)}
.ftr-sm-foot .ftr-social-link--kakao_channel:hover{color:#2d1b00;background:rgba(250,225,0,.35)}

.ftr-sm-foot .ftr-policy{display:flex;flex-wrap:wrap;align-items:center}
.ftr-sm-foot .ftr-policy-link{color:var(--ftr-tx-soft,rgba(0,0,0,.6));text-decoration:none;padding:0 14px;font-size:.92em;transition:color .2s}
.ftr-sm-foot .ftr-policy-link:first-child{padding-left:0}
.ftr-sm-foot .ftr-policy-link:hover{color:var(--sm-ink)}
.ftr-sm-foot .ftr-policy-sep{display:inline-block;width:1px;height:11px;background:rgba(0,0,0,.18);color:transparent;font-size:0}

.ftr-sm-foot-meta{display:flex;flex-direction:column;gap:7px}
.ftr-sm-foot .ftr-biz-line{margin:0;font-size:.86em;line-height:1.65;color:var(--ftr-tx-mute,rgba(0,0,0,.45))}
.ftr-sm-foot .ftr-biz-val{color:var(--ftr-tx-soft,rgba(0,0,0,.55))}
.ftr-sm-foot .ftr-biz-sep{color:rgba(0,0,0,.22)}
.ftr-sm-foot .ftr-copyright{margin:0;font-size:.82em;color:var(--ftr-tx-mute,rgba(0,0,0,.38))}
.ftr-sm-foot .ftr-hive-link{color:inherit;text-decoration:underline;text-underline-offset:2px}
.ftr-sm-legal-list{display:flex;flex-direction:column;gap:8px}
.ftr-sm-legal-item>.ftr-extra-biz-slot{margin-top:8px}
.ftr-sm-branch-legal{
    display:flex;flex-direction:column;gap:8px;
}
.ftr-sm-branch-legal .ftr-policy{display:flex;flex-wrap:wrap;align-items:center}
.ftr-sm-branch-legal .ftr-policy-link{color:var(--ftr-tx-soft,rgba(0,0,0,.6));text-decoration:none;padding:0 14px 0 0;font-size:.92em}
.ftr-sm-branch-legal .ftr-policy-link:hover{color:var(--sm-ink)}
.ftr-sm-branch-legal .ftr-policy-sep{display:inline-block;margin-right:14px;color:rgba(0,0,0,.22)}
.ftr-sm-branch-legal .ftr-biz-line{margin:0;font-size:.86em;line-height:1.65;color:var(--ftr-tx-mute,rgba(0,0,0,.45))}
.ftr-sm-branch-legal .ftr-biz-val{color:var(--ftr-tx-soft,rgba(0,0,0,.55))}
.ftr-sm-branch-legal .ftr-biz-sep{color:rgba(0,0,0,.22)}
.ftr-sm-branch-legal .ftr-copyright{margin:0;font-size:.82em;color:var(--ftr-tx-mute,rgba(0,0,0,.38))}

/* ── 우: 풀높이 지도 (절대배치, min-height 폴백으로 항상 표시) ── */
.ftr-sm-map{position:relative;min-height:560px;background:#eceae6}
.ftr-sm-map--image{min-height:0;background:#fff;display:flex;align-items:center;justify-content:center}
.ftr-sm-map-panel{display:none;position:absolute;inset:0;width:100%;height:100%;background:#eceae6;overflow:hidden}
.ftr-sm-map-panel.is-active{display:block}
.ftr-sm-map-panel--image{background:#fff;align-items:center;justify-content:center;overflow:hidden}
.ftr-sm-map-panel--image.is-active{display:flex}
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-map > .ftr-map-frame,
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-map > .ftr-kakao-map,
.ftr-sm-contact[data-branch-tabs="1"] .ftr-sm-map > .ftr-sm-map-img{display:none!important}
.ftr-sm-map-img{width:100%;height:100%;max-width:100%;max-height:100%;display:block;object-fit:cover}
.ftr-sm-map .ftr-map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.ftr-sm-map .ftr-kakao-map{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.ftr-sm-map .root_daum_roughmap{width:100%!important;height:100%!important}
.ftr-sm-map .root_daum_roughmap .wrap_map{height:100%!important}

/* ============ ≤1480px — 지도 상단 풀폭 + 정보/전화 세로 1단 ============ */
@media (max-width:1480px){
.ftr-sm-contact{padding-top:40px}
.ftr-sm-grid{grid-template-columns:minmax(0,1fr)}
.ftr-sm-map{order:-1;min-height:0;height:auto}
/* 1단: 지도 iframe 을 절대배치 해제 + 고정 280px 일반 블록으로. 컨테이너는 자동으로 그만큼만 차지 →
   지도가 아래 주소·버튼을 덮는 겹침 원천 차단 (height:100% 는 그리드 안에서 안 풀려서 명시 px 사용). */
.ftr-sm-map .ftr-map-frame{position:static !important;inset:auto !important;display:block;width:100%;height:280px}
.ftr-sm-map--image{height:auto !important;min-height:0 !important}
.ftr-sm-map-img{position:static !important;inset:auto !important;width:100%;height:100%;object-fit:cover}
.ftr-sm-map .ftr-kakao-map{position:static !important;inset:auto !important;display:block;width:100%;height:280px}
.ftr-sm-map-panel{position:static;min-height:280px;height:280px;overflow:hidden}
.ftr-sm-left{
    padding:40px clamp(24px,5vw,60px) 36px;gap:22px;
}
.ftr-sm-info{gap:20px}
.ftr-sm-head{gap:3px}
.ftr-sm-addr-sub{padding-left:30px;line-height:1.4}
/* 전화 + 진료안내 세로 나열 */
.ftr-sm-duo{grid-template-columns:1fr;gap:24px;padding-top:24px}
}

/* ============ 모바일 (≤900px) — 좁은 화면 미세 조정 ============ */
@media (max-width:900px){
.ftr-sm-map{min-height:280px;height:280px}
.ftr-sm-left{padding:36px clamp(20px,6vw,40px) 30px;gap:18px}
.ftr-sm-info{gap:18px}
.ftr-sm-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
.ftr-sm-tab{flex:0 0 auto;min-height:36px;padding:8px 14px;font-size:13px}
.ftr-sm-addr{font-size:clamp(16px,4.2vw,19px);line-height:1.35}
}
@media (max-width:520px){
.ftr-sm-map{min-height:280px;height:280px}
.ftr-sm-info .ftr-info-row{align-items:flex-start;flex-direction:column;gap:5px}
.ftr-sm-foot-top{align-items:flex-start}
}
@media (prefers-reduced-motion: reduce){
.ftr-sm-copy,.ftr-sm-foot .ftr-social-link,.ftr-sm-info .ftr-phone-num{transition:none !important}
}

/* --- block 29 --- */

#ftrQuickMenu{
    position:fixed;
    z-index:920;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:9px;
    width:var(--qm-width,148px);
    font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;
    transition:opacity .24s ease,transform .28s cubic-bezier(.16,1,.3,1),visibility 0s linear 0s;
}
#ftrQuickMenu.ftr-qm--right{transform-origin:bottom right}
#ftrQuickMenu.ftr-qm--left{transform-origin:bottom left}

.ftr-qm-item{
    box-sizing:border-box;
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:50px;
    padding:8px 18px 8px 8px;
    background:var(--qm-item-bg,rgba(20,20,20,.88));
    color:var(--qm-text-item-c,var(--qm-text-c,#fff));
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    text-decoration:none;
    font-size:13px;
    font-weight:500;
    line-height:1.2;
    letter-spacing:.01em;
    white-space:nowrap;
    box-shadow:none;
    -webkit-backdrop-filter:blur(8px) saturate(125%);
            backdrop-filter:blur(8px) saturate(125%);
    -webkit-tap-highlight-color:transparent;
    transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.ftr-qm--right .ftr-qm-item:hover{transform:translateX(-2px)}
.ftr-qm--left .ftr-qm-item:hover{transform:translateX(2px)}
.ftr-qm-item:hover{
    background:var(--qm-item-h,rgba(50,50,50,.95));
    border-color:rgba(255,255,255,.14);
}
.ftr-qm-item:active{transform:scale(.98)}
.ftr-qm-item:focus-visible,
.ftr-qm-close:focus-visible,
.ftr-qm-reopen:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.ftr-qm-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    color:var(--qm-icon-c,var(--qm-item-c,#fff));
    border-radius:50%;
    background:transparent;
}
.ftr-qm-icon svg{display:block;width:20px;height:20px}
.ftr-qm-label{min-width:0;overflow:hidden;text-overflow:ellipsis}

.ftr-qm-close,
.ftr-qm-reopen{
    box-sizing:border-box;
    width:50px;
    height:50px;
    padding:0;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    background:var(--qm-toggle-bg,#141414);
    color:var(--qm-toggle-c,#fff);
    cursor:pointer;
    align-items:center;
    justify-content:center;
    box-shadow:none;
    -webkit-tap-highlight-color:transparent;
    transition:background-color .2s ease,transform .2s ease,opacity .2s ease;
}
.ftr-qm-close{display:flex;margin-top:1px}
.ftr-qm--right .ftr-qm-close{align-self:flex-end}
.ftr-qm--left .ftr-qm-close{align-self:flex-start}
.ftr-qm-close:hover,
.ftr-qm-reopen:hover{background:var(--qm-item-h,#303030)}
.ftr-qm-close:active,
.ftr-qm-reopen:active{transform:scale(.94)}
.ftr-qm-close svg{width:20px;height:20px}

.ftr-qm-reopen{
    position:fixed;
    z-index:920;
    display:none;
}
.ftr-qm-reopen svg{width:22px;height:22px}
.ftr-qm-reopen.is-visible{display:flex;animation:ftr-qm-reopen-in .26s cubic-bezier(.16,1,.3,1)}
@keyframes ftr-qm-reopen-in{
    from{opacity:0;transform:translateY(8px) scale(.92)}
    to{opacity:1;transform:translateY(0) scale(1)}
}

#ftrQuickMenu.is-closed{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(10px) scale(.94);
    transition:opacity .2s ease,transform .24s ease,visibility 0s linear .24s;
}

/* 낮은 데스크톱에서는 본문을 가리는 면적만 줄이고 터치/클릭 영역은 40px 이상 유지한다. */
@media (min-width:901px) and (max-height:699px){
    #ftrQuickMenu{gap:6px;width:min(var(--qm-width,148px),136px)}
    .ftr-qm-item{min-height:42px;padding:5px 13px 5px 6px;font-size:12px;gap:7px}
    .ftr-qm-icon{flex-basis:30px;width:30px;height:30px}
    .ftr-qm-icon svg{width:18px;height:18px}
    .ftr-qm-close,.ftr-qm-reopen{width:42px;height:42px}
}

@media (max-width:520px){
    #ftrQuickMenu{width:min(var(--qm-width,148px),calc(100vw - 24px));gap:9px}
    .ftr-qm-item{min-height:44px;padding:7px 14px 7px 7px;font-size:12px}
    .ftr-qm-icon{flex-basis:30px;width:30px;height:30px}
    .ftr-qm-icon svg{width:17px;height:17px}
    .ftr-qm-close,.ftr-qm-reopen{width:46px;height:46px}
}

@media (prefers-reduced-motion:reduce){
    #ftrQuickMenu,.ftr-qm-item,.ftr-qm-close,.ftr-qm-reopen{animation:none !important;transition-duration:.01ms !important}
}

/* --- block 30 --- */
@media (max-width:900px){#ftrQuickMenu,#ftrQmReopen,.ftr-qm-reopen,.ftr-qm-editorial-open{display:none !important}}
/* --- block 31 --- */

    @media (min-width:901px){.hive-qm-hide-pc{display:none !important}}
    @media (max-width:900px){.hive-qm-hide-mobile{display:none !important}}
    
/* --- block 32 --- */

:root { --hv-expo: cubic-bezier(0.16, 1, 0.3, 1); }
.index_color { color: #a06a3f; }

/* =========================================================
   빠른상담 하단 슬라이드업 바
   ========================================================= */
.cr_bg { background: #a06a3f; opacity: 1; }

.fast_open_btn {
  position: fixed;
  left: 50%; bottom: 20px;
  transform: translateX(-50%);
  z-index: 99;
  padding: 14px 32px;
  background: #a06a3f;
  color: #fff;
  border-radius: 999px;
  font-size: 15px;
  cursor: pointer;
  transition: opacity 0.3s var(--hv-expo), transform 0.3s var(--hv-expo), background 0.3s var(--hv-expo);
}
.fast_open_btn:hover { background: #333; }

#fastConsultWrap {
  width: 100%;
  position: fixed;
  left: 0; bottom: 0;
  z-index: 100;
  transform: translateY(105%);
  transition: transform 0.45s var(--hv-expo);
}
#fastConsultWrap.open { transform: translateY(0); }
#fastConsultWrap.open ~ .fast_open_btn { opacity: 0; transform: translateX(-50%) translateY(10px); pointer-events: none; }
#fastConsultWrap > div {
  max-width: 1400px;
  margin: 0 auto;
}
#fastConsultWrap .fast_close {
  position: absolute;
  right: 20px; top: 26px;
  z-index: 3;
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(0,0,0,.22);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
#fastConsultWrap .fast_close:hover { background: rgba(0,0,0,.38); }
#fastConsultWrap .fast_close:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

/* =========================================================
   플로팅 "상담예약" 버튼 (좌하단)
   ========================================================= */
.reserve_btn {
    position: fixed;
    bottom: 40px; left: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 160px;
    height: 52px;
    z-index: 1000;
    background: #a06a3f;
    padding: 0 26px;
    border: 0;
    outline: 0;
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
    border-radius: 999px;
    overflow: hidden;
    text-decoration: none;
    box-sizing: border-box;
    transition: bottom 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.reserve_btn:focus { outline: 0; }
.reserve_btn:focus-visible { outline: 2px solid #a06a3f; outline-offset: 2px; }
.reserve_btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 30px rgba(0,0,0,.18);
}
.reserve_btn_icon {
    position: relative;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex: 0 0 28px;
    background: rgba(255,255,255,.14);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    color: #fff;
    font-size: 18px;
    line-height: 1;
}
.reserve_btn_icon::before {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 100%; height: 100%;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.35);
    transform: translate(-50%,-50%) scale(1);
    animation: reservePulse 1.9s infinite;
}
.reserve_btn_text {
    position: relative;
    color: #fff;
    line-height: 1;
}

.reserve_plus { display: inline-block; transition: transform 0.3s var(--hv-expo); }
.reserve_btn_text .rb-close { display: none; }
#fastConsultWrap.open ~ .reserve_btn .rb-open { display: none; }
#fastConsultWrap.open ~ .reserve_btn .rb-close { display: inline; }
#fastConsultWrap.open ~ .reserve_btn .reserve_plus { transform: rotate(45deg); }
#fastConsultWrap.open ~ .reserve_btn { bottom: 120px; }
@keyframes reservePulse {
    0% { opacity: .55; transform: translate(-50%,-50%) scale(1); }
    70%, 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.8); }
}
@media (prefers-reduced-motion: reduce) {
    .reserve_btn_icon::before { animation: none; }
}
@media (max-width: 900px) {
    #fastConsultWrap .fast_close {
        display: inline-flex;
        top: 14px;
        right: max(14px, env(safe-area-inset-right, 0px));
    }
    #fastConsultWrap.open ~ .reserve_btn { display: none; }
    .fast_head { box-sizing: border-box; padding-right: 56px; }
    .reserve_btn {
        min-width: auto;
        width: 40%;
        height: 48px;
        padding: 0 20px;
        gap: 10px;
        bottom: 20px;
        left: 20px;
    }
    .reserve_btn_icon {
        width: 26px;
        height: 26px;
        flex: 0 0 26px;
    }
}

/* =========================================================
   빠른상담 폼 레이아웃
   ========================================================= */
.fast_bar_wrap { padding: 20px 30px; }

.fast_bar {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
}

/* 좌측 — 타이틀 */
.fast_head { width: 20%; color: #fff; }
.fast_head .title { font-size: 20px; }
.fast_head .desc  { font-size: 13px; opacity: 0.8; margin-top: 4px; }

/* 가운데 — 입력 필드 */
.fast_fields {
    width: 60%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
}
.fast_fields input {
    height: 44px;
    border: 0;
    border-radius: 22px;
    padding: 0 18px;
    font-size: 15px;
    background: #fff;
}

/* 상담유형 선택 — <button> 이지만 input 처럼 보이게 */
.type_select { width: 100%; }
.type_fake_input {
    width: 100%;
    height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 22px;
    background: #fff;
    color: #999;
    font-size: 15px;
    text-align: left;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
}

/* 우측 — 동의 + 제출 */
.fast_right {
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}
.fast_agree { color: #fff; font-size: 13px; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.fast_agree a { color: #fff; text-decoration: underline; opacity: .85; }
.fast_btn {
    width: 100px;
    height: 44px;
    border: 0;
    border-radius: 22px;
    background: #000;
    color: #fff;
    cursor: pointer;
    transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.fast_btn:hover { opacity: 0.85; }
.fast_btn:disabled { opacity: .55; cursor: wait; }
.fast_msg { width: 100%; color: #fff; font-size: 13px; text-align: right; margin-top: 6px; }

/* 상담유형 팝업 */
.type_popup {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}
.type_popup.on { display: flex; }
.type_popup_inner {
    width: 360px;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
}
.type_popup_head {
    display: flex;
    justify-content: space-between;
    padding: 15px 20px;
    font-weight: 600;
    border-bottom: 1px solid #eee;
}
.type_close {
    border: 0;
    background: none;
    font-size: 20px;
    cursor: pointer;
}
.type_list { max-height: 300px; overflow-y: auto; }
.type_item {
    display: block;
    padding: 15px 20px;
    color: #333;
    text-decoration: none;
    transition: background 0.2s ease;
}
.type_item:hover { background: #f5f5f5; }
button.type_item { width: 100%; border: 0; background: transparent; text-align: left; font: inherit; cursor: pointer; }   /* 지점 기록형(링크 아님) 항목 */
.type_item--mobile { display: none; }   /* 전화상담 등 — 모바일에서만 노출 */
@media (max-width: 900px) { .type_item--mobile { display: block; } }

/* 모바일 */
@media (max-width: 900px) {
    .fast_bar    { flex-direction: column; }
    .fast_head, .fast_fields, .fast_right { width: 100%; }
    .fast_fields { grid-template-columns: 1fr; }
    .fast_right  { justify-content: flex-start; }
    .fast_msg    { text-align: left; }
}

/* --- block 33 --- */

/* 다른 플로팅 UI와 무관하게 설정값으로 독립 배치 */
#ftrScrollTop{position:fixed;right:28px;bottom:28px;width:var(--fst-size,58px);height:var(--fst-size,58px);border-radius:50%;border:none;background:var(--fst-bg,#fff);color:var(--fst-c,#555);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:900;box-shadow:none;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),background .2s,color .2s}
#ftrScrollTop.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
#ftrScrollTop:hover{background:var(--fst-hover-bg,#1a1a1a);color:var(--fst-hover-c,#fff);border-color:transparent;box-shadow:none}
#ftrScrollTop svg{width:38%;height:38%}
@media (max-width:900px){#ftrScrollTop{width:var(--fst-size-mobile,52px);height:var(--fst-size-mobile,52px)}}
@media (prefers-reduced-motion:reduce){#ftrScrollTop{transition-duration:.01ms !important}}

/* --- block 34 --- */

/* PC 기본 — 통합 바 숨김 (기존 퀵/알약이 담당) */
#qmb_bar{ display:none; }

@media (max-width:900px){
    /* 통합 바가 가리지 않도록 페이지 하단 여백 확보 (바 높이 약 54px + safe-area) */
    body{ padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important; }

    /* 기존 퀵메뉴(#ftrQuickMenu) + 상담예약 알약(.reserve_btn)은 모바일에서 숨김 (통합 바로 대체) */
    #ftrQuickMenu,
    #ftrQmReopen,
    .ftr-qm-reopen,
    .ftr-qm-editorial-open{ display:none !important; }
    .reserve_btn{ display:none !important; }

    /* 통합 하단 바 */
    #qmb_bar{
        position:fixed !important;
        inset:auto 0 0 0 !important;
        left:0 !important; right:0 !important; bottom:0 !important;
        width:100vw !important; max-width:none !important;
        margin:0 !important; transform:none !important;
        top:auto !important; height:auto !important;
        border-radius:0 !important;
        box-sizing:border-box;
        z-index:10000;
        display:flex; align-items:stretch; justify-content:space-around;
        gap:0;
        background:rgba(255,255,255,1.00);
        padding:0;                               /* 여백 제거 — 아이템이 바를 꽉 채움 */
        font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;
    }
    .qmb-item{
        flex:1 1 0;
        display:flex; flex-direction:column; align-items:center; justify-content:center;
        gap:3px;
        text-decoration:none;
        background:rgba(160,106,63,1.00); border:0; cursor:pointer;
        font:inherit; color:var(--qmb-text-color, #ffffff);
        padding:8px 4px calc(7px + env(safe-area-inset-bottom, 0px));
        -webkit-tap-highlight-color:transparent;
    }
    .qmb-ico{ width:22px; height:22px; color:var(--qmb-icon-color, #ffffff); display:flex; align-items:center; justify-content:center; }
    .qmb-ico svg{ width:100%; height:100%; display:block; shape-rendering:geometricPrecision; }
    .qmb-label{
        display:block;
        max-width:100%;
        min-height:0;
        max-height:2.45em;
        font-size:11px;
        letter-spacing:-.02em;
        line-height:1.22;
        color:var(--qmb-text-color, #ffffff);
        text-align:center;
        white-space:normal;
        word-break:keep-all;
        overflow-wrap:break-word;
        overflow:hidden;
    }
        
    /* 상담예약 — 맨 앞 + 브랜드색. 좌측 끝까지 꽉 찬 사각 블록.
       바 패딩이 0 이라 음수마진 없이 셀(상/하/좌)을 그대로 가득 채움. 패딩은 .qmb-item 공용. */
    .qmb-reserve{
        order:-1;
        background:rgba(160,106,63,1.00);
        border-radius:0;
        margin:0;
    }
    .qmb-reserve .qmb-ico,
    .qmb-reserve .qmb-label{ color:#fff; }

    /* 상담예약 ↔ 닫기 토글 (하단 바 열림 상태)
       ※ '.qmb-ico svg{display:block}' 가 닫기 숨김 규칙을 이겨 X 가 항상 보이던 버그 →
         채팅/닫기 두 svg 모두 !important 로 명시해 우선순위 충돌을 원천 차단.
         (열림 상태 규칙은 id 2개로 우선순위가 더 높아 !important 끼리도 정상 오버라이드) */
    .qmb-ico svg.qmb-ico-chat{ display:block !important; }
    .qmb-ico svg.qmb-ico-close{ display:none !important; }
    .qmb-rb-close{ display:none; }
    #fastConsultWrap.open ~ #qmb_bar .qmb-ico svg.qmb-ico-chat,
    body:has(#fastConsultWrap.open) #qmb_bar .qmb-ico svg.qmb-ico-chat{ display:none !important; }
    #fastConsultWrap.open ~ #qmb_bar .qmb-ico svg.qmb-ico-close,
    body:has(#fastConsultWrap.open) #qmb_bar .qmb-ico svg.qmb-ico-close{ display:block !important; }
    #fastConsultWrap.open ~ #qmb_bar .qmb-rb-open,
    body:has(#fastConsultWrap.open) #qmb_bar .qmb-rb-open{ display:none; }
    #fastConsultWrap.open ~ #qmb_bar .qmb-rb-close,
    body:has(#fastConsultWrap.open) #qmb_bar .qmb-rb-close{ display:inline; }
    #qmb_bar .qmb-reserve.is-consult-open .qmb-ico-chat{display:none!important}
    #qmb_bar .qmb-reserve.is-consult-open .qmb-ico-close{display:block!important}
    #qmb_bar .qmb-reserve.is-consult-open .qmb-rb-open{display:none}
    #qmb_bar .qmb-reserve.is-consult-open .qmb-rb-close{display:inline}

    /* 통합 바와 겹치지 않도록 TOP 버튼 위치 보정 */
    /* 모바일 통합 바가 퀵 메뉴를 대체하므로 별도 플로팅 런처는 중복 노출하지 않는다. */
    #aiChatToggle,
    #aicHoursTooltip{ display:none !important; }
    /* TOP 버튼은 통합 바 바로 위에 배치한다. */
    #ftrScrollTop{ bottom:calc(68px + env(safe-area-inset-bottom, 0px)) !important; right:24px !important; }
}
