.lead { font-size:16px; font-weight:500; line-height:1.75; letter-spacing:-0.02em; color:#555;  word-break:keep-all}

@media screen and (max-width: 640px) {
input {
   -webkit-appearance: none;
   -webkit-border-radius: 10px;
}
}

/*헤드메뉴*/
#header {
    position: absolute !important;
    left: 50% !important;
    max-width: 1400px !important;
    width: 100% !important;
    transform: translateX(-50%) !important;
    z-index: 6 !important;
    height: 80px !important;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    
    /* [고급화 변경] 답답한 브라운 계열 대신 세련된 딥 차콜 + 반투명 유리 효과 */
    background-color: rgba(18, 22, 31, 0.85) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
}

#header .header-inner {
    width: 100% !important;
    height: 100% !important;
    background-color: transparent !important; /* 외부 헤더 배경으로 통합 */
    border-radius: 12px !important;
}

#header .gnb { list-style: none !important; height: 100% !important; position: absolute !important; right: 20px !important; }
#header .gnb > li { float: left !important; position: relative !important; display: inline-block !important; width: auto !important; padding: 0 16px !important; vertical-align: middle !important; text-align: center !important; }

#header .gnb > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    line-height: 1 !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    width: auto !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 15px !important;
    letter-spacing: -0.45px !important;
    font-weight: 600 !important;
    text-decoration: none !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    text-shadow: 0 1px 4px rgba(0,0,0,.35) !important;
    transition: all .25s ease !important;
}

/* [고급화 변경] 메뉴 골드 밑줄 기본 설정 */
#header .gnb > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2px;
    width: 0;
    height: 2px;
    background: #e2c178;
    transform: translateX(-50%);
    border-radius: 2px;
    box-shadow: 0 0 6px rgba(226,193,120,.35);
    transition: width .25s ease;
}

/* [고급화 변경] 마우스 호버 */
#header .gnb > li > a:hover {
    color: #f6dfaa !important;
    border-color: transparent !important;
    background: transparent !important;
    transform: translateY(-2px);
    box-shadow: none !important;
}

#header .gnb > li > a:hover::after {
    width: 70%;
}


/* [고급화 변경] 활성화(Active) 메뉴 */
#header .gnb > li.active {
    background-color: transparent !important;
}

#header .gnb > li.active > a {
    color: #f6dfaa !important;
    font-weight: 750 !important;
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}

#header .gnb > li.active > a::after {
    width: 70%;
}

#header .gnb .login { background-color: #2563eb !important; font-size: 14px !important; color: #fff !important; border-radius: 6px !important; }
#header .gnb .join { background-color: rgba(255, 255, 255, 0.1) !important; font-size: 14px !important; color: #fff !important; margin-left: 10px !important; border-radius: 6px !important; }
#header .gnb .login a { color: #fff !important; font-size: 14px !important; }
#header .gnb .login a:hover { color: #fff !important; }
#header .gnb .join a { color: #ddd !important; font-size: 14px !important; }
#header .gnb .join a:hover { color: #fff !important; }

#header .header-inner .menu { cursor: pointer !important; text-indent: -9999px !important; position: absolute !important; top: 29px !important; left: 50% !important; width: 25px !important; height: 20px !important; background-image: url(../img/cate_more.gif) !important; margin-left: 200px !important; border: 0 !important; display: none !important; }
#header .header-inner .menu.on { background-image: url(../img/cate_close.gif) !important; }

#header .gnb > li, #header #right-side-open {
    height: 80px !important;
    line-height: 80px !important;
    -webkit-transition: all .3s ease !important;
    -moz-transition: all .3s ease !important;
    -ms-transition: all .3s ease !important;
    -o-transition: all .3s ease !important;
    transition: all .3s ease !important;
}

#header #right-side-open {
    position: absolute !important;
    right: 0 !important;
    width: 80px !important;
    cursor: pointer !important;
    border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
    text-align: center !important;
    display: inline-block !important;
}

#header #right-side-open span {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
    line-height: 1em !important;
    margin-top: -10px !important;
    margin-left: -10px !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    color: #fff !important;
}

/* 서브메뉴(SNB) 드롭다운 스타일 고급화 */
#header .gnb .snb { list-style: none !important; display: none !important; }
#header #logo { margin-left: 25px !important; padding: 0 !important; }
#header #logo a { display: block !important; width: 200px !important; height: 80px !important; line-height: 80px !important; }
#header #logo img { width: 100% !important; vertical-align: middle !important; }

#header .gnb .snb, .device-md #header .gnb .snb {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    width: 180px !important;
    top: 80px !important;
    border-top: 0 !important;
    background-color: rgba(18, 22, 31, 0.95) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 0 0 10px 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
    z-index: 2 !important;
    padding: 8px 0 !important;
}

#header .gnb .snb li { font-size: 14px !important; line-height: 2.8 !important; text-align: left !important; border-top: 1px solid rgba(255, 255, 255, 0.05) !important; }
#header .gnb .snb li a { color: rgba(255, 255, 255, 0.8) !important; display: block !important; padding-left: 20px !important; transition: all 0.2s !important; }
#header .gnb .snb li a:hover { color: #fff !important; display: block !important; background-color: rgba(37, 99, 235, 0.8) !important; text-decoration: none !important; }
#header .gnb .snb li:first-child { border-top: 0 !important; }

@media screen and (max-width: 960px) {
    #header {
        display: block !important;
        background-color: rgba(18, 22, 31, 0.9) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        top: 0 !important;
        border-radius: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        position: fixed !important;
    }
    #header #logo { width: 180px !important; display: block !important; }
    #header .gnb { display: none !important; }
}

/* 데스크탑 스크롤 시 헤더 고정 스타일 */
@media screen and (min-width: 960.02px) {
    body.scrolled #header {
        position: fixed !important;
        top: 0 !important;
        border-radius: 0 0 16px 16px !important;
        background-color: rgba(15, 20, 28, 0.92) !important;
        z-index: 1000 !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    }
}
/*헤드메뉴*/

/*오른쪽 퀵메뉴*/
.right_quick {
    position: absolute;
    right: 0;
    top: -60px;
    z-index: 100;
}

.right_quick.fixed {
    position: fixed;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    margin-bottom: 0;
    z-index: 1000;
}

.right_quick.fixed .material-icons { color:#fff; float:right; }

.right_quick ul.quick_info {
    position: relative;
    width: 60px;
    height: 180px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.right_quick ul.quick_info li {
    position: absolute;
    right: 0;
    width: 60px;
    height: 60px;
    margin: 0;
    padding: 0;
}

.right_quick ul.quick_info li:nth-child(1) { top: 0; }
.right_quick ul.quick_info li:nth-child(2) { top: 60px; }
.right_quick ul.quick_info li:nth-child(3) { top: 120px; }
.right_quick ul.quick_info li:nth-child(4) { top: 180px; }
.right_quick ul.quick_info li:nth-child(5) { top: 240px; }

.right_quick ul.quick_info li a {
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    background: linear-gradient(135deg, rgba(28,34,46,.94), rgba(12,16,24,.9));
    border: 1px solid rgba(255,255,255,.13);
    border-right: 0;
    border-radius: 14px 0 0 14px;
    overflow: hidden;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    left: auto;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0,0,0,.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: width .42s cubic-bezier(.22,1,.36,1),
                background .3s ease,
                box-shadow .3s ease,
                border-color .3s ease,
                transform .3s ease;
}

.right_quick ul.quick_info li a:hover,
.right_quick ul.quick_info li a:focus-visible {
    right: 0;
    left: auto;
    width: 180px;
    background: linear-gradient(135deg, #273653, #182238);
    border-color: rgba(226,193,120,.55);
    box-shadow: 0 12px 32px rgba(0,0,0,.35),
                0 0 0 1px rgba(226,193,120,.08),
                0 0 18px rgba(226,193,120,.12);
    transform: translateX(-2px);
    outline: none;
}

.right_quick ul.quick_info li i { color:#fff; font-size:24px; }

.right_quick ul.quick_info li i.ico,
.right_quick ul.quick_info li a .quick-price-icon {
    position: absolute !important;
    top: 50% !important;
    right: 18px !important;
    left: auto !important;
    width: 24px;
    height: 24px;
    transform: translateY(-50%) !important;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .25s ease, transform .35s ease;
}

.right_quick ul.quick_info li a:hover i.ico,
.right_quick ul.quick_info li a:focus-visible i.ico {
    color: #f6dfaa;
    transform: translateY(-50%) scale(1.08) !important;
}

.right_quick ul.quick_info li a span {
    height: 60px;
    line-height: 60px;
    color: rgba(255,255,255,.94);
    position: absolute;
    text-align: right;
    opacity: 0;
    right: 58px;
    left: auto !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.3px;
    z-index: 2;
    white-space: nowrap;
    pointer-events: none;
    transform: translateX(8px);
    transition: opacity .25s ease, transform .35s ease;
}

.right_quick ul.quick_info li a:hover span,
.right_quick ul.quick_info li a:focus-visible span {
    opacity: 1 !important;
    transform: translateX(0);
}

.right_quick ul.quick_info li a.kakao span { color:#fff; }

.right_quick ul.quick_info li a.quick-price-link {
    background: linear-gradient(135deg, #171717, #080808) !important;
}

.right_quick ul.quick_info li a.quick-price-link:hover,
.right_quick ul.quick_info li a.quick-price-link:focus-visible {
    background: linear-gradient(135deg, #292929, #0b0b0b) !important;
}

.right_quick .quick-price-icon {
    color: #ffffff !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    line-height: normal !important;
    text-align: center !important;
}

.right_quick ul.quick_info li a:focus-visible {
    box-shadow: 0 0 0 2px rgba(255,255,255,.9),
                0 0 0 4px rgba(226,193,120,.55),
                0 12px 32px rgba(0,0,0,.35);
}

/* 모바일: 하단 3등분 고정 */
@media screen and (max-width: 640px) {
    .right_quick,
    .right_quick.fixed {
        display: block !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 0 !important;
        width: 100% !important;
        height: calc(64px + env(safe-area-inset-bottom)) !important;
        margin: 0 !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        transform: none !important;
        z-index: 99999 !important;
        box-sizing: border-box !important;
        background: rgba(13,18,27,.94) !important;
        border-top: 1px solid rgba(255,255,255,.13) !important;
        box-shadow: 0 -8px 28px rgba(0,0,0,.22) !important;
        backdrop-filter: blur(18px) saturate(140%) !important;
        -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
    }

    .right_quick ul.quick_info {
        display: flex !important;
        position: relative !important;
        width: 100% !important;
        height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .right_quick ul.quick_info li,
    .right_quick ul.quick_info li:nth-child(1),
    .right_quick ul.quick_info li:nth-child(2),
    .right_quick ul.quick_info li:nth-child(3) {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        width: 33.333333% !important;
        height: 64px !important;
        flex: 1 1 33.333333% !important;
        margin: 0 !important;
    }

    .right_quick ul.quick_info li + li {
        border-left: 1px solid rgba(255,255,255,.08);
    }

    .right_quick ul.quick_info li a,
    .right_quick ul.quick_info li a:hover,
    .right_quick ul.quick_info li a:focus-visible,
    .right_quick ul.quick_info li a:active {
        width: 100% !important;
        height: 64px !important;
        min-width: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        transform: none !important;
        background: transparent !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 4px !important;
        transition: background .25s ease, color .25s ease !important;
    }

    .right_quick ul.quick_info li a:hover,
    .right_quick ul.quick_info li a:focus-visible {
        background: rgba(255,255,255,.055) !important;
    }

    .right_quick ul.quick_info li a:active {
        background: rgba(226,193,120,.14) !important;
    }

    .right_quick ul.quick_info li i.ico,
    .right_quick ul.quick_info li a .quick-price-icon,
    .right_quick ul.quick_info li a:hover i.ico,
    .right_quick ul.quick_info li a:focus-visible i.ico {
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        transform: none !important;
        color: rgba(255,255,255,.9) !important;
        font-size: 21px !important;
    }

    .right_quick ul.quick_info li a span,
    .right_quick ul.quick_info li a:hover span,
    .right_quick ul.quick_info li a:focus-visible span {
        position: static !important;
        height: auto !important;
        line-height: 1.2 !important;
        opacity: 1 !important;
        transform: none !important;
        color: rgba(255,255,255,.82) !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        letter-spacing: -0.3px !important;
        text-align: center !important;
    }

    .right_quick ul.quick_info li a.quick-price-link,
    .right_quick ul.quick_info li a.quick-price-link:hover,
    .right_quick ul.quick_info li a.quick-price-link:focus-visible,
    .right_quick ul.quick_info li a.quick-price-link:active {
        background: transparent !important;
    }

    .right_quick ul.quick_info li a:active i,
    .right_quick ul.quick_info li a:active span {
        color: #f6dfaa !important;
    }

    body {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }
}
/*오른쪽 퀵메뉴*/


/* 모바일 오른쪽 메뉴 */
#right-side {
    background-color: rgba(0, 0, 0, 0.3); /* 검정 + 50% 투명도 */
    position: fixed;
    z-index: 10;
    top: 0;
    right: -400px;
    max-width: 400px;
    width: 100%;
    height: 100%;
    color: #FFF;
    padding: 30px;
    -webkit-transition: right .3s ease;
    -moz-transition: right .3s ease;
    -ms-transition: right .3s ease;
    -o-transition: right .3s ease;
    transition: right .3s ease;
    box-sizing: border-box;
    overflow: auto;

    /* ★ 추가된 3가지 효과 */
    border-left: 1px solid rgba(255,255,255,0.4); /* 1) 흰색 테두리 */
    backdrop-filter: blur(10px);                  /* 2) 배경 블러 유리효과 */
    box-shadow: -5px 0 20px rgba(0,0,0,0.4);      /* 3) 부드러운 그림자 */
}

#right-side .side_gnb .call a {
    text-align: center;
    display: block;
    position: relative;
    background: #222222;
    color: #fff;
    font-weight: bold;
    font-size: large;
    height: 3.0em;
    line-height: 3em;
    border-radius: 3px;
    margin-top: 10px;
    padding: 2px 0 4px 0;
}

#right-side #btn-close-right-side {
    position: absolute;
    top: 20px;
    right: 0;
    color: #fff;
    width: 60px;
    text-align: center;
    line-height: 40px;
    font-size: 16px;
    cursor: pointer;
}

#right-side #btn-close-right-side .fa.fa-times {
    font-size: 18px;
    padding-top: 20px;
}

.right-side-on #right-side { right: 0; }
.right-side-on #wrapper { left: -300px; }
.right-side-on #header { left: -300px; }
.right-side-on #rs-overlay { display: block; }

.quick_menu {width:100%; margin:auto; padding-top:20px}
.quick_menu ul { text-align:center}
.quick_menu li{display:inline-block; margin-left:-3px; width:80px; border-right:1px solid #555;}
.quick_menu li:last-child { border:0} 
.quick_menu li a{display:block; box-sizing:border-box; color:#f5f5f5; letter-spacing:-0.8px; text-align:center; position:relative;  font-size:12px}
.quick_menu li a:hover{color:#fff;backface-visibility:hidden}
.quick_menu li a.on{color:#fff;border-bottom-color:#FF3300;border-bottom-width:2px;border-bottom-style:solid}
.quick_kakao{text-align:center; height:35px; background-color:#ffd800; display:inline-block; clear:both}
.quick_kakao a{display:block;position:relative;background:#ffd800}
.quick_kakao a img{display:block;margin:0 auto}

.side_gnb{position:relative;width:100%;float:left;padding-top:20px;}
.side_gnb p{color:#fff; text-align:center; padding:20px }
.side_gnb .menu-list > li > a {text-align: center;}
.side_gnb .menu-list{display:block;position:relative;border-bottom:1px solid #555; margin-top:60px}
.side_gnb .menu-list>li>a{display:block;position:relative;color:#fff;font-size:15px;line-height:3.8em;padding:0 1.0em;border-top:1px solid #555; text-decoration:none}
.side_gnb .menu-list>li>a i{display:block;position:absolute;top:50%;transform:translateY(-75%) rotate(135deg);-webkit-transform:translateY(-75%) rotate(135deg);right:1.5em;width:5.31%;max-width:32px;border:1px solid #ddd;border-left-width:0;border-bottom-width:0;transition:transform .3s ease;-webkit-transition:-webkit-transform .3s ease;-ms-transition:transform .3s ease}
.side_gnb .menu-list>li.on>a i{-webkit-transform:translateY(-25%) rotate(315deg);transform:translateY(-25%) rotate(315deg)}
.side_gnb .menu-list>li>a i:before{content:"";display:block;position:relative;padding-top:100%}
.side_gnb .depth-2{display:none;}
.side_gnb .depth-2>li { background-color:#ddd}
.side_gnb .depth-2>li>a{display:block;color:#000;font-size:1.2em;line-height:3.0em;padding:0 1.5em 0 2.2em;border-bottom:1px solid #fff}

@media screen and (max-width: 640px) {
    .side_gnb .depth-2>li>a { font-size:16px}
}
/*모바일 오른쪽 메뉴*/

/*메인배너*/
.main-carousel{padding:0; display:block}
.main-carousel .li{height:auto; background-size:cover; background-position:center; position:relative}
.main-carousel .li .cover{position:absolute;top:0;left:0;width:100%;height:100%;background:url(../img/main_visual_cover.png) center bottom no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;min-width:300px;opacity:.6;z-index:1}
.main-carousel .jarallax { min-height: 100%;}
.main-carousel .img01 { background-image:url(../img/main_banner_img01.jpg);}
.main-carousel .img02 { background: none; }
.main-carousel .img03 { background-image:url(../img/main_banner_img03.jpg);}
.main-carousel .li .copy_area{
    text-align:center;
    color:#fff;
    position:absolute;
    top:50%;
    -moz-transform:translateY(-50%);
    -ms-transform:translateY(-50%);
    -webkit-transform:translateY(-50%);
    z-index:2;

    /* ===== 여기서부터 배경 스타일 추가 ===== */
    background-color: rgba(52, 50, 44, 0.8);   /* 검은색 + 80% 투명 */
    padding: 10px ;              /* 안쪽 여백 */
    border-radius: 20px;             /* 둥근 모서리 */
    display: inline-block;           /* 텍스트 크기만큼 적용 */
    width: auto;
    left: 50%;                       /* 중앙정렬 */
    transform: translate(-50%, -50%); /* XY 모두 중앙 정렬 */
}

.main-carousel .li .copy_area h1{font-size:14px;font-weight:300; line-height:1.3; letter-spacing:0.5px; padding-bottom:20px;  color:#fff; text-align:center}
.main-carousel .li .copy_area h2{font-size:80px;font-weight:600; line-height:1.3; letter-spacing:1px;  color:#fff; text-align:center; text-shadow: -2px 0 0 #000, 2px 0 0 #000, 0 -2px 0 #000, 0 2px 0 #000, 3px 3px 6px rgba(0,0,0,0.8);}
.main-carousel .li .copy_area h3{font-size:18px;font-weight:500;text-align:center;margin:10px 0 0; padding:0 20px; word-break:keep-all; color:#fff; opacity:0.9; letter-spacing:-1px}
.main-carousel .owl-dots{position:absolute;width:100%; text-align:center; margin:0 auto; bottom:135px;}
.main-carousel .owl-dots .owl-dot{background:rgba(255, 255, 255, 0.5);width:30px;height:5px;display:inline-block;margin-left:10px}
.main-carousel .owl-dots .owl-dot.active{background:rgba(255, 255, 255, 1)}
.main-carousel .owl-nav{position:absolute;width:100%;bottom:50%}
.main-carousel .owl-nav .owl-prev{width:40px;height:30px;position:absolute;left:50px; font-size:14px; color:#fff; border-top: 1px solid #fff; padding-top:5px; text-align:center; background-color:transparent; cursor:pointer}
.main-carousel .owl-nav .owl-next{width:40px;height:30px;position:absolute;right:50px; font-size:14px; color:#fff; border-top: 1px solid #fff; padding-top:5px; text-align:center; background-color:transparent;  cursor:pointer}

@media screen and (max-width: 640px) {

    .main-carousel .li { 
        height:100vh;
    }

    .main-carousel .jarallax { 
        min-height:100vh;
        overflow:hidden;
    }

    /* ✅ 핵심: 실제 영상 컨테이너 축소 */
    .main-carousel .jarallax-container {
        transform: scale(0.75);
        transform-origin: center center;
    }

    .main-carousel .li .copy_area h2 {
        font-size: 36px;
        letter-spacing:-3px;
    }

    .main-carousel .li .copy_area h3 {
        max-width:600px;
        margin:10px auto 0 auto;
        font-size: 15px;
        letter-spacing:-0.5px;
    }

    .main-carousel .owl-nav { 
        display:none;
    }
}

/*메인배너*/

/*인삿말*/
.tl_greeting_box_wrap{ width:100%; padding:50px 0px;}
.tl_greeting_box_wrap h2 {text-align:center; font-size:30px; color:#333}
.tl_greeting_box_wrap h2:before{ display:block; content:"💕"; font-size: 40px; margin:0 auto 10px auto; border-radius:10px;}
.tl_greeting_box_wrap h2 span{ display:block; padding:20px 0; color:#555; font-size:16px; font-weight:400}
.tl_greeting_box_wrap ul {margin-top:30px; overflow:hidden}
.tl_greeting_box_wrap ul li{ width:50%; text-align:center; float:left; display:block}
.tl_greeting_box_wrap ul li .icon { display:inline-block; padding:30px}
.tl_greeting_box_wrap ul li .icon i { color:#666}
.tl_greeting_box_wrap ul li img {vertical-align:middle; transition:transform 500ms}
.tl_greeting_box_wrap ul li:hover i{transform:rotateY(180deg); transition:transform 500ms}
.tl_greeting_box_wrap ul li .box {border-right:1px  #eaeaea solid; padding:0 10px; display:block}
.tl_greeting_box_wrap ul li:last-child .box {border-right:0px}
.tl_greeting_box_wrap ul li dl dt {font-weight:bold; padding-bottom:15px; line-height:20px; color:#222; font-size:20px}
.tl_greeting_box_wrap ul li a {display:inline-block; margin-top:20px; border:1px #ddd solid; padding:0 20px; line-height:30px; color:#666;  transition: all .2s}
.tl_greeting_box_wrap ul li:hover a {background:#2253b8; color:#fff; transition: all .3s}
.greeting_content { display: flex; align-items: center; gap: 40px; margin-top: 30px; }
/* === Jarallax 비디오 배경을 위한 greeting_image 스타일 === */
.greeting_image {
    flex: 1;
    max-width: 600px;
    width: 600px;
    height: 337.5px;
    text-align: center;
    position: relative;
    overflow: hidden;
    background-image: url("../img/hoon.jpg"); /* ← 여기에 이미지 경로 */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 8px;
    border: 1px solid #eaeaea;
}
/* 기존 img 태그에 있던 스타일은 .greeting_image로 옮기거나, 필요 없다면 제거합니다. */
/* .greeting_image img { width: 100%; height: auto; vertical-align: middle; border-radius: 8px; border: 1px solid #eaeaea; transition: transform 500ms; } */
/* .greeting_image img:hover { transform: scale(1.05); } */

/* Jarallax가 생성하는 비디오 관련 요소 스타일 */
.greeting_image[data-jarallax] > .jarallax-img,
.greeting_image[data-jarallax] > video,
.greeting_image[data-jarallax] > iframe,
.greeting_image[data-jarallax] > .jarallax-video-native,
.greeting_image[data-jarallax] > .jarallax-video-iframe {
    object-fit: contain !important; /* contain으로 변경 */
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1;
    /* background-color: #000; */ /* 비디오 주변 여백을 검은색으로 채우고 싶을 경우 추가 */
}
/* === Jarallax 비디오 배경 스타일 끝 === */

.greeting_text { flex: 1; padding: 0 10px; }
.greeting_text h3 { font-size: 20px; font-weight: bold; color: #222; padding-bottom: 15px; line-height: 20px; }
.greeting_text p { font-size: 16px; line-height: 1.6; color: #555; margin-bottom: 15px; }
.greeting_text p strong { color: #333; }

@media screen and (max-width: 1024px) {
    .tl_greeting_box_wrap ul li { width:50%}
}
@media screen and (max-width: 960px) {
	.greeting_content { flex-direction: column; gap: 20px; padding: 0 20px; }
    .greeting_image, .greeting_text { max-width: 100%; padding: 0; }
    .greeting_image {
        width: 100%; /* 모바일에서는 너비 100% */
        /* 기존 고정 높이 대신 padding-bottom으로 비율 유지 */
        padding-bottom: 56.25%; /* 16:9 비율 (9/16 * 100%) */
        height: 0; /* padding-bottom으로 높이를 제어할 때 height는 0으로 설정 */
    }
    .greeting_text { border-top: 1px solid #ddd; padding-top: 30px; }
}

/*사업영역*/
.tl_company_box_wrap{ width:100%; padding:150px 0px;background:#e7e7e7;}
.tl_company_box_wrap h2 {text-align:center; font-size:30px; color:#333}

.tl_company_box_wrap h2 span{ display:block; padding:20px 0; color:#555; font-size:16px; font-weight:500}

/* 전체 박스 */
.tl_warning_title {
    text-align: center;
    color: #333;
	margin: 100px auto 10px auto;
}

/* 아이콘 + 메인 텍스트 줄 */
.tl_warning_title .title_main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 30px;
    margin-bottom: 15px;
}

/* 1. UL에 Flexbox 적용 */
.tl_company_box_wrap ul {
    margin-top:30px;
    display: flex; /* Flexbox 활성화 */
    flex-wrap: wrap; /* 항목이 넘치면 다음 줄로 */
    justify-content: center; /* !!! 핵심: 항목이 부족해도 가운데 정렬 !!! */
    list-style: none; /* 리스트 기본 스타일 제거 */
    padding: 0;
}

/* 2. LI 너비를 25%로 변경 (4열) 및 float 제거 */
.tl_company_box_wrap ul li{
    width: 25%; /* 4열로 변경 */
    text-align:center;
    /* float: left; 제거 */
}

.tl_company_box_wrap ul li .icon { display:inline-block; padding:30px}
.tl_company_box_wrap ul li .icon i { color:#666}
.tl_company_box_wrap ul li img {vertical-align:middle; transition:transform 500ms}
.tl_company_box_wrap ul li:hover i{transform:rotateY(180deg); transition:transform 500ms}
.tl_company_box_wrap ul li .box {border-right:1px #eaeaea solid; padding:0 10px; display:block; height: 100%;} /* height: 100% 추가하여 box를 균일하게 만듦 */
.tl_company_box_wrap ul li:nth-child(4n) .box {border-right:0px} /* 4번째 항목마다 오른쪽 경계선 제거 */
.tl_company_box_wrap ul li:last-child .box {border-right:0px} /* 마지막 항목에도 경계선 제거 유지 */
.tl_company_box_wrap ul li dl dt {font-weight:bold; padding-bottom:15px; line-height:20px; color:#222; font-size:20px}
.tl_company_box_wrap ul li a {display:inline-block; margin-top:20px; border:1px #ddd solid; padding:0 20px; line-height:30px; color:#666; transition: all .2s}
.tl_company_box_wrap ul li:hover a {background:#2253b8; color:#fff; transition: all .3s}

/* --- 반응형 수정 --- */

@media screen and (max-width: 1024px) {
    /* 1024px 이하에서는 2열로 유지 */
    .tl_company_box_wrap ul li { width:50%}
    /* 2번째 항목마다 오른쪽 경계선 제거 */
    .tl_company_box_wrap ul li .box {border-right:1px #eaeaea solid;}
    .tl_company_box_wrap ul li:nth-child(2n) .box {border-right:0px} 
}

@media screen and (max-width: 960px) {
    /* 960px 이하에서는 1열로 변경 */
    .tl_company_box_wrap ul li { width:100%}
    .tl_company_box_wrap ul li .box { 
        border-right:0; 
        border-bottom:1px solid #ddd; 
        padding-bottom:30px
    }
}
/*사업영역*/

/* ======================================
    Panorama (좌→우 이동)
====================================== */
.panorama_wrap {
   width: 100%;
    height: 500px;
    overflow: hidden;
    position: relative;

    border-radius: 14px;

    /* 3D 인셋 효과 */
    background: #d9d9d9; /* 인셋 효과 강조를 위한 은은한 배경 */
    box-shadow:
        inset 6px 6px 12px rgba(0,0,0,0.35),      /* 안쪽 어두운 그림자 */
        inset -6px -6px 12px rgba(255,255,255,0.9), /* 안쪽 밝은 하이라이트 */
        0 6px 12px rgba(0,0,0,0.25);              /* 바깥 약한 그림자 */

    box-sizing: border-box;
}

.panorama_image {
    position: absolute;
    top: 0;
    left: 0;
    animation: panMove 30s linear infinite;
}

.panorama_image img {
    height: 500px;  /* PC 고정 */
    width: auto;
    display: block;
	opacity: 0.9;
}

/* =============================
  Animation
============================= */
@keyframes panMove {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* =============================
    반응형
============================= */

/* 태블릿 */
@media screen and (max-width: 1024px) {
    .panorama_wrap {
        margin: 20px;
        width: calc(100% - 40px);
        max-width: 100%;
        height: 400px;  /* 박스 높이 축소 */
    }

    .panorama_image img {
        height: 400px;  /* 이미지 높이 동일하게 축소 */
    }
}

/* 모바일 */
@media screen and (max-width: 600px) {
    .panorama_wrap {
        margin: 10px;
        width: calc(100% - 20px);
        max-width: 100%;
        height: 400px;  /* 모바일에서는 더 작게 */
    }

    .panorama_image img {
        height: 400px;  /* 이미지 크기도 박스 크기에 맞게 자동 감소 */
    }
}

/*뉴스갤러리*/
.tl_main_gallery_wrap { width:100%;  padding:100px 0; background:url(../img/baedalbg202001.jpg) center  no-repeat; background-size:cover;}
.tl_main_gallery_wrap .inner {max-width:1200px; margin:0 auto; overflow:hidden}
.tl_main_gallery_wrap h2 {text-align:center; font-size:30px; color:#fff}
.tl_main_gallery_wrap h2:before{ display:block; content:"💕"; font-size: 40px; margin:0 auto 10px auto; border-radius:10px;}
.tl_main_gallery_wrap h2 span{ display:block; padding:20px 0; color:#fff; opacity:0.8; font-size:16px; font-weight:400}
.tl_main_gallery_wrap a:hover {color:#2253b8}
.tl_main_gallery_wrap ul {margin-top:30px}
.tl_main_gallery_wrap li {position:relative; float:left; width:48%; margin:1%; overflow:hidden; background-color:#fff; display:block}
.tl_main_gallery_wrap .one_box {display:block; min-height:155px; background:#fff}
.tl_main_gallery_wrap .photo {position:absolute; left:0; top:0; width:100%; max-width:160px; min-height: 155px; height:100%; overflow:hidden; background-repeat:no-repeat; background-size:cover; background-position:center center;
 -webkit-transform: scale(1);transform: scale(1);transition:all 1s ease;-webkit-transition:all 1s ease}
.tl_main_gallery_wrap dl {margin-left:190px; padding-right:10px}
.tl_main_gallery_wrap dt {color:#333; font-size:18px; font-weight:bold; margin-top:30px; letter-spacing:-1px}
.tl_main_gallery_wrap dd {color:#555; font-size:16px; letter-spacing:-0.02em; line-height:1.75; word-break:keep-all; padding:10px 0; }
.tl_main_gallery_wrap li:hover .one_box {background-color:#095ead;cursor: pointer}
.tl_main_gallery_wrap li:hover dt {color:#fff}
.tl_main_gallery_wrap li:hover dd {color:#fff}
.tl_main_gallery_wrap li:hover .more_btn {color:#eee}
.tl_main_gallery_wrap a:hover .photo {-webkit-transform: scale(1.1);transform: scale(1.1)}
@media screen and (max-width: 1024px) {
	.tl_main_gallery_wrap li { width:100%; margin:0 0 4% 0}

}
/*뉴스갤러리*/

/*제품소개*/
.tl_business_now_box_warp { width:100%; padding:100px 0; text-align:center; background-color:#eff1f6; clear:both;}
.tl_business_now_box_warp h2 { font-size:30px; color:#000; line-height:1.6; font-weight:600}
.tl_business_now_box_warp h2:before{ display:block; content:"💕"; font-size: 40px; margin:0 auto 10px auto; border-radius:10px;}
.tl_business_now_box_warp span{ padding:10px 10px 50px 10px; font-size:16px; display:block; color:#555; font-weight:400}
/*제품소개*/

/*TLOG PRODUCTS*/
.tl_product_box_wrap { padding:150px 0; max-width:1200px; margin:0 auto; overflow:hidden}
.tl_product_box_wrap h2 { font-size:30px; text-align:center; color:#000; line-height:1.6; font-weight:600}
.tl_product_box_wrap h2:before{ display:block; content:"💕"; font-size: 40px; margin:0 auto 10px auto; border-radius:10px;}
.tl_product_box_wrap span{ padding:10px 10px 50px 10px; font-size:16px; text-align:center; display:block; color:#555; letter-spacing:-0.02em; font-weight:400}
/*TLOG PRODUCTS*/

/*메인 공지 최신글*/
.tl_latest_box_warp { width:100%; max-width:1200px; margin:0 auto; padding:0px 20px 100px 20px; border-top:1px solid #ddd; clear:both; overflow:hidden}
.tl_latest_box_warp .notice_latest { width:48%; float:left}
.tl_latest_box_warp .counsel_latest {width:48%; float:right}
@media screen and (max-width: 960px) {
	.tl_latest_box_warp .notice_latest { width:100%}
	.tl_latest_box_warp .counsel_latest { width:100%}
}
/*메인 공지 최신글*/

/*하단 상담신청*/
.tl_contact_box_wrap  { width:100%; min-height:550px; padding:100px 0; background:url(../img/main_contact_bg.jpg) center top no-repeat; background-size:cover}
.tl_contact_box_wrap .inner { max-width:1000px; margin:0 auto; } 
.tl_contact_box_wrap h2 {text-align:center;font-size:30px; color:#fff; line-height:1.6; font-weight:600}
.tl_contact_box_wrap h2 span {padding:10px 0 50px 10px; display:block; font-size:16px; color:#fff; opacity:0.8; font-weight:400; letter-spacing:-0.02em}
.tl_contact_box_wrap .input_page #co_name { width:48%; height:60px; font-size:15px; color:#6e6e6e; padding-left:10px; float:left; border:0}
.tl_contact_box_wrap .input_page #co_email { width:48%; height:60px; font-size:15px; color:#6e6e6e; padding-left:10px; float:right; border:0}
.tl_contact_box_wrap .txtarea_page  #co_message { margin-top:20px; width:100%; height:120px;  font-size:15px; color:#6e6e6e; padding:10px 0 0 10px; border:0}
/* 전체 컨테이너 */
.tl_contact_box_wrap .send_page{text-align:center;margin-top:50px;display:flex;flex-direction:row;gap:20px;align-items:center;justify-content:center;}
.tl_contact_box_wrap .send_page a{display:flex;align-items:center;justify-content:center;width:160px;height:48px;border-radius:5px;font-size:16px;font-weight:bold;text-decoration:none;position:relative;}
.tl_contact_box_wrap .send_page a i{font-size:23px;margin-right:10px;position:relative;top:-1px;}
.tl_contact_box_wrap .send_page .btnKakao{background:#fae101;color:#3f231e;box-shadow:inset 0 0 0 rgba(0,0,0,0);}
.tl_contact_box_wrap .send_page .btnNaver{background:#00c73c;color:#fff;}

.tl_contact_box_wrap #x_message{position:absolute;width:300px;border-radius:10px;height:50px;text-align:center;line-height:50px;top:50px;left:50%;margin-left:-150px;background-color:#FDD;border:2px solid #C00;font-weight:700;color:#666;z-index:1000}
.tl_contact_box_wrap #x_loading{position:absolute;display:none;width:200px;height:200px;top:50px;left:50%;margin-left:-100px;z-index:1;font-size:100px;line-height:200px}
.tl_contact_box_wrap #x_message.x-msg1 {background-color: #FDD;}
.tl_contact_box_wrap #x_message.x-msg2 {background-color: #9C6;border:2px solid #096}
/*하단 상담신청*/

/*서브상단*/
.sub_visual{position:relative;max-width:2560px;margin:0 auto;height:472px;overflow:hidden;background-repeat:no-repeat;background-position:center top}
.sub_visual.visual01 .bg{background-image:url(../img/sub_visual01.jpg)}
.sub_visual.visual02 .bg{background-image:url(../img/sub_visual02.jpg)}
.sub_visual.visual03 .bg{background-image:url(../img/sub_visual03.jpg)}
.sub_visual.visual04 .bg{background-image:url(../img/sub_visual04.jpg)}
.sub_visual.visual05 .bg{background-image:url(../img/sub_visual05.jpg)}
.sub_visual:hover .bg{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-o-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}
.sub_visual .title_warp { max-width:1240px; margin:0 auto; display:table; z-index:5}
.sub_visual .title_warp .table-cell { display:table-cell; vertical-align:middle; height:472px;}
.sub_visual h3{position:relative;z-index:5;font-size:45px;font-weight:bold; text-align:center; letter-spacing:-1px; color:#fff}
.sub_visual .sub_title{ position:relative; padding-bottom:10px; font-size:14px; font-weight:500; color:#fff; text-align:center; opacity:.8; z-index:5}
.sub_visual .cover{position:absolute;top:0;left:0;width:100%;height:100%;background:url(../img/sub_visual_cover.png) center bottom no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;min-width:1200px;opacity:.5;z-index:1}
.sub_visual .bg{position:absolute;top:0;left:0;width:100%;height:100%;background-position:center center;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;z-index:0;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}
@media screen and (max-width: 640px) {
    .sub_visual .title_warp { max-width:100%;}
	.sub_visual h3 { font-size:35px}
	.sub_visual .sub_title { font-size:13px}
}
/*서브상단*/

.content_wrap { width:100%;}
.content_wrap .txtCon { max-width:1300px; margin:0 auto; padding:60px 20px 50px 20px; font-weight:400; position:relative; clear:both}
.content_wrap .txtCon .sub_title{ margin-bottom:100px}
.content_wrap .txtCon .sub_title h1 {font-size:38px; color:#000; text-align:center}
.content_wrap .txtCon .sub_title h1:before {content:""; display:block; height:40px; width:1px; margin:20px  auto; background-color:#b0b0b0}
.content_wrap .txtCon .sub_title .sub_title {font-size: 16px; color:#555; font-weight:400; text-align:center; padding-top:20px; word-break:keep-all;}
.content_wrap .txtboard { max-width:1200px;  font-size:12px;}
@media screen and (max-width: 640px) {
   .content_wrap .txtCon .sub_title h1 { font-size:32px}
}

/*서브 하단 네비*/
.category-wrap {width:100%; height:70px; background-color:#fff; border-bottom:1px solid #ddd;  clear:both; background-attachment:scroll; position:relative; z-index:3}
.sub_navI_warp { background-color:#fff; max-width:1300px; z-index:3; position:relative; margin: -70px auto;}
.all-wrap{max-width:1300px;  height:69px; margin:0 auto;   transition:all .3s ease;}
.all-wrap .loca-wrap{width:100%;margin:0 auto;height:69px}
.all-wrap .loca-wrap .loca-area i{float:left;display:inline-block;width:60px;height:71px; line-height:65px;  color:#555; border-right:1px solid #ddd; padding:0; margin-top:0; text-align:center}
.all-wrap .loca-wrap .loca-area{height:69px;float:left;}
.all-wrap .loca-wrap .loca-area > a {display:inline-block;width:54px;height:100%; float:left; line-height:100%; text-align:center;}
.all-wrap .loca-wrap .loca-area > a img {margin-top:17px;}
.all-wrap .loca-wrap .loca-area>ul {float: left;margin:0; padding:0;}
.all-wrap .loca-wrap .loca-area>ul>li{float:left;width:220px;height:70px;position:relative; margin-left:-1px}
.all-wrap .loca-wrap .loca-area>ul>li button{height:69px;width:220px;position:relative;text-align:left; background-image:url(../img/loca_arrow_off.png);background-position-y:50%;background-position-x:100%;background-repeat:no-repeat;-webkit-transition:background .3s ease;-moz-transition:background .3s ease;-o-transition:background .3s ease;-ms-transition:background .3s ease;  border:0;  background-color: inherit; box-sizing: border-box;
    border-left: 1px solid #ddd; border-right: 1px solid #ddd;}
.all-wrap .loca-wrap .loca-area>ul>li button.active{background-image:url(../img/loca_arrow_on.png);background-position-y:50%;background-position-x:100%;background-repeat:no-repeat;}
.all-wrap .loca-wrap .loca-area>ul>li button span {padding-left: 19px;background-color: transparent; color:#333; font-size:15px}
.all-wrap .loca-wrap .loca-area>ul>li div{overflow:hidden;height:0;position:relative}
.all-wrap .loca-wrap .loca-area>ul>li div ul{display:block;position:absolute;width:100%;left:0;border:1px solid #ddd; background-color:#fff; padding:0}
.all-wrap .loca-wrap .loca-area>ul>li div ul li a{ border-bottom:1px solid #ddd; background:#fff;height:46px;color:#555;line-height:46px;display:block;-webkit-transition:background .3s ease;-moz-transition:background .3s ease;-o-transition:background .3s ease;-ms-transition:background .3s ease;padding-left:19px; font-size:15px; box-sizing:border-box}
.all-wrap .loca-wrap .loca-area>ul>li div ul li a:hover { color:#000; font-weight:bold}
.all-wrap .loca-wrap .share-area {float: right; display:block; padding-top:16px;box-sizing: border-box;}
.all-wrap .loca-wrap .share-area .hide-wrap{width:151px;height:34px;overflow:hidden;float:left}
.all-wrap .loca-wrap .share-area .hide-wrap .hide-area{width:151px;height:34px;position:relative;left:200px}
.all-wrap .loca-wrap .share-area .hide-wrap .hide-area ul {overflow: hidden; padding:0; margin:0}
.all-wrap .loca-wrap .share-area .hide-wrap .hide-area ul li {float: left;margin-left: 13px; border-bottom: 1px solid #ddd; cursor:pointer}
.all-wrap .loca-wrap .share-area .hide-wrap .hide-area ul li:first-child {margin-left: 0;}
.all-wrap .loca-wrap .share-area .share-btn{width:34px;height:34px;background-image:url(../img/share_open_bt.png);float:right;text-indent:-9999px;padding-left:18px;box-sizing:unset;background-repeat:no-repeat;background-position-x:right;transition:all .5s ease;     background-color: inherit; border:0; margin-right:20px}
.all-wrap .loca-wrap .share-area .share-btn.active {background-image: url(../img/share_close_bt.png);border-left: 1px solid #fff;}

@media screen and (max-width: 640px) {
    .all-wrap .loca-wrap .loca-area { width:100%; float:none; }
	.all-wrap .loca-wrap .loca-area > a {width:10%;}
	.all-wrap .loca-wrap .share-area { display:none}
	.all-wrap .loca-wrap .loca-area > ul {width:100%;}
	.all-wrap .loca-wrap .loca-area > ul > li { width:50%}
	.all-wrap .loca-wrap .loca-area > ul > li:first-child { border:0}
	.all-wrap .loca-wrap .loca-area > ul > li button {width:100%; border-right:0}
	.all-wrap .loca-wrap .loca-area i { display:none}
}
/*서브 하단 네비*/

/*푸터*/
#footer { padding: 30px 0px; width: 100%;  max-width:2560px;  position:relative; z-index:10; background-color:#0d0d0d; clear:both }

/* 높이 고정 해제 및 내부 공간 확보 */
#footer .footer_in { position:relative; z-index:10; max-width:1200px; min-height:224px; padding:0 10px 40px 10px; margin:0 auto; }

#footer .gotop { position:fixed; left:0; bottom:20px; width:100%; min-width:1080px; height:1px; text-align:center; }
#footer .gotop a { position:absolute; right:7px; bottom:0; }
#footer .menu { display:block; padding:7px 0 0;  }
#footer .menu a { display:inline-block; font-size:14px; font-weight:bold; color:#bbb; }
#footer .menu a:active { font-size:14px;} 
#footer .menu a strong { color:#f36910; }

@media screen and (max-width: 640px) {
    #footer .gotop {
        bottom: 78px !important;
        min-width: 0 !important;
    }
}

/* 주소 영역 (PC 화면 기준 상단 라인 및 패딩 유지) */
#footer address { position:relative; margin:35px 0 0; padding-top:37px; border-top:1px solid #414141; font-size:14px; color:#a9a9a9; } 
#footer .adr { display:block; margin:0 0 6px; vertical-align:middle; font-style:normal; }
#footer .adr:before { content:""; display:inline-block; width:3px; height:3px; margin:0 8px 0 0; border-radius:3px; background-color:#fff; vertical-align:middle; }
#footer .copyright { display:block; margin:22px 0 0; font-size:11px;font-style:normal;  }
#footer a.wa { position:absolute; right:0; top:37px; }

/* PC 화면용 명함 이미지 배치 ("업체명" 첫 줄 라인과 위쪽 높이를 맞추도록 세밀 조정) */
.footer-card-wrap {
    position: absolute;
    right: 10px;
    top: 72px; /* address의 margin(35px) + padding-top(37px) 위치와 정확히 나란히 맞춤 */
}
.footer-card-wrap img {
    width: 250px; 
    height: auto;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

/* 화면이 작아질 때(1200px 이하)는 주소 위로 올라오며 가운데 정렬 */
@media(max-width: 1200px) {
    #footer .footer_in {
        text-align: center;
        padding-bottom: 20px;
    }
    #footer .menu {
        text-align: center;
    }
    #footer address {
        text-align: center;
    }
    #footer .adr {
        display: inline-block;
        margin: 0 10px 6px;
    }
    #footer .adr:before {
        display: none; /* 모바일에서 불릿 기호 숨김 */
    }
    
    /* 명함 영역을 주소 위로 배치하고 가운데 정렬 */
    .footer-card-wrap {
        position: static !important; /* PC용 absolute 해제 */
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 15px;
        margin-bottom: 20px;
    }
    
    /* ✨ 모바일 명함 사이즈 최적화 설정 */
    .footer-card-wrap a {
        display: inline-block;
        max-width: 85%; /* 화면 폭이 아주 좁아져도 좌우 여백을 유지하도록 설정 */
    }
    .footer-card-wrap img {
        display: block;
        width: 100%;
        max-width: 320px; /* 모바일에서 가장 보기 좋은 최대 크기 (필요에 따라 280px~340px 조절 가능) */
        height: auto;
        margin: 0 auto;
    }
}
/*푸터*/

/* 푸터팝업*/
.tl_pop_con{background:#fff;} 
.tl_pop_con h2.f_pop_tit{width:100%;height:80px;line-height:80px;font-size:20px;color:#fff;}
.tl_pop_con h2.f_pop_tit img {display:inline-block;margin-left:50px;margin-right:5px;margin-top:-10px;width:120px;}
.tl_pop_con h2.f_pop_tit span {display:inline-block; padding-left:50px;}
.f_pop_wrap {line-height:23px;text-align:justify;word-break:break-all;font-size:15px;overflow-y:auto;}
.f_pop_wrap strong {color:#00a19a;font-weight:normal;}
.f_pop_wrap p { color:#333; padding:40px 50px; line-height:1.6;}
.mfp-close:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url("../img/btn_close.png") no-repeat center center; -webkit-transition: transform 300ms; border-radius: 50%; }
.mfp-close { width: 40px; height: 40px; text-indent: -999px;opacity: 1; overflow: hidden; background-color:transparent; border:0; }
button.mfp-close:hover:after { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }
/* 푸터팝업*/

@media screen and (max-width: 960px) {

    .scrolled #header  {background-color:#fff; border-bottom:1px solid #ddd;}
	.scrolled #open-button .nl1 { background-color:#333}
	.scrolled #open-button .nl2 { background-color:#333}
	.scrolled #open-button .nl3 { background-color:#333}
	.scrolled #open-button .navicon-line  { background-color:#fff}
    .scrolled #open-button.on .navicon-line { background-color:#fff}
	
	/*버튼*/
	#open-button{position:fixed;z-index:12;right:15px;padding-top:18px;width:75px; height:80px;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out;cursor:pointer;display:block; }
	#open-button .navicon-line{position:absolute;width:20px;height:2px;border-radius:1px;background:#fff;-webkit-transition:all .7s ease-out;-moz-transition:all .7s ease-out;-o-transition:all .7s ease-out;transition:all .7s ease-out}
	#open-button .nl1 {top: 11px;right: 10px; width:30px;}
	#open-button .nl2 {top: 19px;right: 10px; width:24px;}
	#open-button .nl3 {top: 27px;right: 10px; width:30px;}
	#open-button.on>div>div{transform:rotate(225deg);-ms-transform:rotate(225deg);-webkit-transform:rotate(225deg);width:25px;position:absolute;top:15px;right:10px;margin:0;padding:0;background-color:#fff;}
	#open-button.on>div>div:first-child{transform:rotate(135deg);-ms-transform:rotate(135deg);-webkit-transform:rotate(135deg)}
	#open-button.scrolled .navicon-line {background-color: #fff;}
	#open-button.on.scrolled >div>div{background-color:#333;}

	/*버튼*/
}

	#quickLinks > a.btnKakao { position:relative; padding:2px 0 0 15px; background-color:#fae101; display:flex; font-family:GmSansM; height:40px; color:#3f231e; font-size:15px; border:0; width:100%; justify-content:center; align-items:center; margin-top:5px; border-radius:5px; }
	#quickLinks > a.btnKakao i { position:absolute; left:10px; top:7px; color:#3c201f; font-size:25px; }

	#quickLinks > a.btnNaver { position:relative; padding:2px 0 0 15px; background-color:#00c73c; display:flex; font-family:GmSansM; height:40px; color:#fff; font-size:15px; border:0; width:100%; justify-content:center; align-items:center; margin-top:5px; border-radius:5px; }
	#quickLinks > a.btnNaver i { position:absolute; left:10px; top:9px; color:#fff; font-size:23px; }

.move-form-wrap { max-width: 1400px; margin: 30px auto; font-family: "Noto Sans KR", sans-serif; }
.move-table { width: 100%; border-collapse: collapse; border: 2px solid #222; background: #fff; }
.move-table th, .move-table td { border: 1px solid #000; padding: 12px 14px; font-size: 15px; vertical-align: middle; }
.move-table th { background: rgba(52, 50, 44); color: #fff; font-weight: 700; width: 160px; }

.field-row { display: flex; gap: 10px; align-items: center; flex-wrap: nowrap; }
.field-col { flex: 1; }
.addr-col { flex: 1 1 auto; }
.floor-col { flex: 0 0 60px; }
.transport-col { flex: 0 0 160px; }

.move-input { width: 100%; border: 1px solid #b5b5b5; height: 42px; padding: 0 10px; font-size: 15px; box-sizing: border-box; }
/* 날짜 wrapper */
.date-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

/* 실제 input 창 */
.date-wrap input[type="datetime-local"] {
    width: 100%;
    color: transparent; /* 처음엔 글자를 숨김 */
    background-color: transparent;
    position: relative;
    z-index: 2; /* input을 위로 올림 */
    cursor: pointer;
}

/* 값이 있거나 포커스되면 글자색 보이기 */
.date-wrap input[type="datetime-local"]:focus,
.date-wrap input[type="datetime-local"]:valid {
    color: #333 !important;
}

/* 가짜 placeholder 텍스트 */
.date-placeholder {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 14px;
    z-index: 1; /* input보다 아래에 배치 */
    pointer-events: none; /* ⭐ 중요: 클릭이 통과되어 input이 클릭되게 함 */
}

/* 값이 입력되면 가짜 텍스트 숨기기 */
.date-wrap input[type="datetime-local"]:valid + .date-placeholder,
.date-wrap input[type="datetime-local"]:focus + .date-placeholder {
    display: none;
}

.move-input.red { border: 1px solid #b5b5b5 !important; }
.small-input { width: 100%; height: 42px; border: 1px solid #b5b5b5; padding: 0 10px; font-size: 15px; }
.move-select { width: 100%; height: 42px; border: 1px solid #b5b5b5; padding: 0 10px; font-size: 15px; }
.move-textarea { width: 100%; border: 1px solid #b5b5b5; min-height: 160px; padding: 10px; font-size: 15px; box-sizing: border-box; resize: vertical; }

/* 📌 모바일 대응 (여기서부터 기존 @media 부분을 이 내용으로 교체하세요) */
@media screen and (max-width: 768px) {
    .move-form-wrap { padding: 0 10px; }

    .field-row { 
        display: flex;
        flex-wrap: wrap; 
        gap: 8px; 
    }

    /* 연락처 등 일반 필드는 한 줄에 하나씩 */
    .field-col { 
        flex: 1 1 100%; 
    }

    /* 주소 입력창은 한 줄 차지 */
    .addr-col { 
        flex: 1 1 100%; 
    }

    /* 요청하신 2:8 비율 적용 */
    .floor-col { 
        flex: 2 !important; 
        min-width: 0;
    }

    .transport-col { 
        flex: 8 !important; 
        min-width: 0;
    }

    .move-table th { width: 90px; font-size: 14px; padding: 10px 5px; }
    .move-table td { padding: 10px 8px; }
}
/* 📌 여기까지 교체 */

.copy-btn {
    width: 100%;
    margin: 20px 0 10px;
    padding: 14px;
    font-size: 17px;
    background: #444;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}
.copy-btn:hover {
    background: #222;
}

/* ===================================================
   제주이사 - DABULLER STYLE (가운데 정렬 완벽 적용)
=================================================== */
#service.tl_company_box_wrap {
    background-color: #f8fafc !important;
    background-image: radial-gradient(#e2e8f0 1.2px, transparent 1.2px) !important; /* 배경 미세 점무늬 패턴 */
    background-size: 24px 24px !important;
    padding: 100px 0 !important;
    font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif !important;
    color: #1e293b !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#service .inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* 상단 메인 타이틀 영역 */
#service .top_title_area {
    text-align: center !important;
    margin-bottom: 50px !important;
}

#service .top_title_area .sub_tag {
    display: inline-block !important;
    background: #e0f2fe !important;
    color: #0284c7 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    padding: 6px 16px !important;
    border-radius: 30px !important;
    letter-spacing: 1px !important;
    margin-bottom: 16px !important;
}

#service h2 {
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -1.5px !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.25 !important;
    float: none !important;
    width: 100% !important;
    text-align: center !important;
}

#service h2 b {
    color: #2563eb !important;
}

/* 상단 타이틀 영역의 h2 전용 설정 (일반 h2 스타일보다 아래에 두어 덮어쓰도록 함) */
#service .top_title_area h2 {
    white-space: nowrap !important;
    font-size: clamp(18px, 6vw, 48px) !important;
    letter-spacing: -0.5px !important;
    word-break: keep-all !important;
}

/* 아주 작은 모바일 화면에서 글자가 너무 작아지는 것을 방지하는 최소 크기 설정 */
@media screen and (max-width: 360px) {
    #service .top_title_area h2 {
        white-space: nowrap !important;
        font-size: 7vw !important; /* 마음에 드는 크기로 조절 (예: 6vw ~ 6.5vw) */
        letter-spacing: -0.5px !important;
    }
}

#service .top_title_area .sub_desc {
    font-size: 16px !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    text-align: center !important;
}

#service .top_title_area .sub_desc b {
    color: #1e293b !important;
}

/* 카드 그리드 레이아웃 */
#service ul {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 60px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#service ul li {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* 기본 카드 구조 (전부 가운데 정렬 설정) */
#service ul li .box {
    border-radius: 24px !important;
    padding: 35px 22px 30px 22px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* ★ 가로 중앙 정렬 */
    justify-content: center !important; /* ★ 세로 중앙 정렬 */
    text-align: center !important; /* ★ 텍스트 중앙 정렬 */
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.03), 0 8px 10px -6px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

#service ul li .box:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 30px -10px rgba(0, 0, 0, 0.08) !important;
}

/* 영문 서브 태그 중앙 정렬 */
#service ul li .box .card_tag {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 20px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    width: 100% !important;
}

/* 아이콘 중앙 배치 */
#service ul li .box .icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 20px auto !important; /* ★ 가운데 정렬 */
    transition: all 0.3s ease !important;
    float: none !important;
}

#service ul li .box .icon i {
    font-size: 28px !important;
    color: #ffffff !important;
    line-height: 1 !important;
}

#service ul li .box:hover .icon {
    transform: scale(1.08) rotate(-3deg) !important;
}

/* 텍스트 스타일 중앙 정렬 */
#service ul li dl {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    text-align: center !important;
}

#service ul li dl dt {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.6px !important;
    word-break: keep-all !important;
    text-align: center !important;
}

#service ul li dl dd.lead {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    word-break: keep-all !important;
    font-weight: 500 !important;
    text-align: center !important;
}

/* ===================================================
   알록달록 8가지 파스텔 테마 컬러 세팅
=================================================== */

/* 1. 블루 (c-blue) */
#service ul li .box.c-blue { background: #f0f6ff !important; border: 1px solid #dbeafe !important; }
#service ul li .box.c-blue .card_tag { color: #2563eb !important; }
#service ul li .box.c-blue .icon { background: #2563eb !important; box-shadow: 0 6px 15px rgba(37, 99, 235, 0.3) !important; }

/* 2. 오렌지 (c-orange) */
#service ul li .box.c-orange { background: #fff7ed !important; border: 1px solid #ffedd5 !important; }
#service ul li .box.c-orange .card_tag { color: #ea580c !important; }
#service ul li .box.c-orange .icon { background: #ea580c !important; box-shadow: 0 6px 15px rgba(234, 88, 12, 0.3) !important; }

/* 3. 그린 (c-green) */
#service ul li .box.c-green { background: #f0fdf4 !important; border: 1px solid #dcfce7 !important; }
#service ul li .box.c-green .card_tag { color: #16a34a !important; }
#service ul li .box.c-green .icon { background: #16a34a !important; box-shadow: 0 6px 15px rgba(22, 163, 74, 0.3) !important; }

/* 4. 퍼플 (c-purple) */
#service ul li .box.c-purple { background: #faf5ff !important; border: 1px solid #f3e8ff !important; }
#service ul li .box.c-purple .card_tag { color: #9333ea !important; }
#service ul li .box.c-purple .icon { background: #9333ea !important; box-shadow: 0 6px 15px rgba(147, 51, 234, 0.3) !important; }

/* 5. 틸/민트 (c-teal) */
#service ul li .box.c-teal { background: #f0fdfa !important; border: 1px solid #ccfbf1 !important; }
#service ul li .box.c-teal .card_tag { color: #0d9488 !important; }
#service ul li .box.c-teal .icon { background: #0d9488 !important; box-shadow: 0 6px 15px rgba(13, 148, 136, 0.3) !important; }

/* 6. 인디고 (c-indigo) */
#service ul li .box.c-indigo { background: #eef2ff !important; border: 1px solid #e0e7ff !important; }
#service ul li .box.c-indigo .card_tag { color: #4f46e5 !important; }
#service ul li .box.c-indigo .icon { background: #4f46e5 !important; box-shadow: 0 6px 15px rgba(79, 70, 229, 0.3) !important; }

/* 7. 앰버/옐로우 (c-amber) */
#service ul li .box.c-amber { background: #fffbeb !important; border: 1px solid #fef3c7 !important; }
#service ul li .box.c-amber .card_tag { color: #d97706 !important; }
#service ul li .box.c-amber .icon { background: #d97706 !important; box-shadow: 0 6px 15px rgba(217, 119, 6, 0.3) !important; }

/* 8. 로즈/핑크 (c-rose) */
#service ul li .box.c-rose { background: #fff1f2 !important; border: 1px solid #ffe4e6 !important; }
#service ul li .box.c-rose .card_tag { color: #e11d48 !important; }
#service ul li .box.c-rose .icon { background: #e11d48 !important; box-shadow: 0 6px 15px rgba(225, 29, 72, 0.3) !important; }

/* ===================================================
   소비자 주의사항 배너 (완벽 중앙 정렬 보정)
=================================================== */
.tl_warning_title {
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%) !important;
    border: 2px solid #ef4444 !important;
    border-radius: 24px !important;
    padding: 45px 30px !important;
    text-align: center !important;
    color: #ffffff !important;
    box-shadow: 0 15px 35px rgba(239, 68, 68, 0.2) !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 40px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* 내부 요소 전체 중앙 정렬 */
    justify-content: center !important;
}

/* 상단 경고 배지 */
.tl_warning_title .badge_box {
    margin-bottom: 20px !important;
    width: 100% !important;
    text-align: center !important;
}

.tl_warning_title .title_badge {
    display: inline-block !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    padding: 8px 20px !important;
    border-radius: 30px !important;
    letter-spacing: -0.3px !important;
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.4) !important;
}

/* 메인 타이틀 */
.tl_warning_title .title_main {
    width: 100% !important;
    text-align: center !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.8px !important;
    line-height: 1.4 !important;
}

.tl_warning_title .title_main b {
    color: #facc15 !important; /* 선명한 네온 옐로우 */
    font-weight: 800 !important;
}

/* 서브 설명글 (가운데 정렬 강제 적용) */
.tl_warning_title .title_desc {
    width: 100% !important;
    max-width: 800px !important;
    margin: 0 auto 30px auto !important; /* 중앙 배치 */
    text-align: center !important; /* 텍스트 중앙 정렬 */
    font-size: 16px !important;
    color: #e2e8f0 !important;
    line-height: 1.65 !important;
    letter-spacing: -0.3px !important;
    font-weight: 400 !important;
}

.tl_warning_title .title_desc b {
    color: #38bdf8 !important;
    font-weight: 700 !important;
}

/* ===================================================
   소비자 주의사항 배너 (선명도/가독성 100% 보정)
=================================================== */
.tl_warning_title {
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%) !important;
    border: 2px solid #ef4444 !important;
    border-radius: 24px !important;
    padding: 45px 30px !important;
    text-align: center !important;
    color: #ffffff !important;
    box-shadow: 0 15px 35px rgba(239, 68, 68, 0.2) !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 40px !important;
    position: relative !important;
}

/* 상단 경고 배지 */
.tl_warning_title .badge_box {
    margin-bottom: 20px !important;
}


/* 메인 타이틀 */
.tl_warning_title .title_main {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.8px !important;
    line-height: 1.4 !important;
}


/* 서브 설명글 */
.tl_warning_title .title_desc {
    font-size: 16px !important;
    color: #e2e8f0 !important; /* 밝고 깨끗한 백색 계열 */
    line-height: 1.65 !important;
    margin: 0 0 30px 0 !important;
    letter-spacing: -0.3px !important;
    font-weight: 400 !important;
}

.tl_warning_title .title_desc b {
    color: #38bdf8 !important; /* 스카이블루 */
    font-weight: 700 !important;
}

/* 하단 3개 신뢰 포인트 박스 (가독성 극대화) */
.tl_warning_title .trust_points {
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding-top: 25px !important;
}

.tl_warning_title .tp_item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.1) !important; /* 밝은 반투명 배경 */
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    padding: 12px 20px !important;
    border-radius: 14px !important;
}

.tl_warning_title .tp_item .chk_icon {
    color: #4ade80 !important; /* 형광 라임 그린 */
    font-size: 16px !important;
    font-weight: 900 !important;
}

.tl_warning_title .tp_item .tp_text {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #ffffff !important; /* 또렷한 순백색 글씨 */
    letter-spacing: -0.5px !important;
}

/* ===================================================
   모바일(세로형 폰) 전용 반응형 완벽 최적화
=================================================== */
@media (max-width: 768px) {
    /* 카드 전체 여백 조절 */
    .tl_warning_title {
        padding: 30px 16px !important;
        border-radius: 18px !important;
        margin-top: 25px !important;
    }

    /* 상단 경고 배지 크기 줄임 */
    .tl_warning_title .title_badge {
        font-size: 13px !important;
        padding: 6px 14px !important;
    }

    /* 메인 타이틀: 줄바꿈 단어 보존 및 글자 크기 축소 */
    .tl_warning_title .title_main {
        font-size: 18px !important;
        line-height: 1.5 !important;
        margin-bottom: 14px !important;
        word-break: keep-all !important; /* 단어가 도중에 끊기지 않도록 설정 */
        word-wrap: break-word !important;
    }

    .tl_warning_title .title_main b,
    .tl_warning_title .title_main span {
        display: inline !important; /* 억제된 줄바꿈 방지 */
    }

    /* 중간 설명글 크기 및 간격 최적화 */
    .tl_warning_title .title_desc {
        font-size: 13.5px !important;
        line-height: 1.6 !important;
        margin-bottom: 20px !important;
        word-break: keep-all !important; /* 단어 단위 줄바꿈 */
        padding: 0 5px !important;
    }

    /* 하단 3개 신뢰 포인트 세로 배치 및 크기 조절 */
    .tl_warning_title .trust_points {
        flex-direction: column !important;
        gap: 8px !important;
        padding-top: 18px !important;
    }

    .tl_warning_title .tp_item {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        justify-content: center !important;
    }

    .tl_warning_title .tp_item .chk_icon {
        font-size: 14px !important;
    }
}

/* 메인 타이틀 */
.tl_warning_title .title_main {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 18px 0 !important;
    letter-spacing: -0.8px !important;
    line-height: 1.4 !important;
}

.tl_warning_title .title_main b {
    color: #facc15 !important; /* 시선을 사로잡는 네온 옐로우 */
    text-shadow: 0 0 12px rgba(250, 204, 21, 0.3) !important;
    font-weight: 800 !important;
}

/* 서브 설명글 */
.tl_warning_title .title_desc {
    font-size: 16px !important;
    color: #cbd5e1 !important;
    line-height: 1.65 !important;
    margin: 0 0 32px 0 !important;
    letter-spacing: -0.3px !important;
    font-weight: 400 !important;
}


/* 3대 핵심 신뢰 포인트 박스 */
.tl_warning_title .trust_points {
    display: flex !important;
    justify-content: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding-top: 28px !important;
}

.tl_warning_title .tp_item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding: 10px 18px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #f8fafc !important;
}

.tl_warning_title .tp_item i {
    color: #4ade80 !important; /* 라임 그린 체크 아이콘 */
    font-size: 18px !important;
}

/* 모바일 반응형 최적화 */
.mobile_br { display: none !important; }

@media (max-width: 768px) {
    .mobile_br { display: block !important; }
    .tl_warning_title {
        padding: 35px 20px !important;
    }
    .tl_warning_title .title_main {
        font-size: 20px !important;
    }
    .tl_warning_title .title_desc {
        font-size: 14px !important;
    }
    .tl_warning_title .trust_points {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .tl_warning_title .tp_item {
        justify-content: center !important;
    }
}
/* 반응형 최적화 */
@media (max-width: 1024px) {
    #service ul {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 640px) {
    #service {
        padding: 60px 0 !important;
    }
    #service h2 {
        font-size: 28px !important;
    }
    #service ul {
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 16px !important;
    }
    .tl_warning_title .title_main {
        font-size: 18px !important;
    }
    .tl_warning_title span {
        font-size: 14px !important;
    }
}

/* ===================================================
   visual_slider 전용 레이아웃 CSS
=================================================== */
#visual.visual_slider {
    max-width: 1400px;
    margin: 0 auto 40px auto !important;
    padding: 110px 20px 0 20px !important;
    box-sizing: border-box;
    position: relative;
    clear: both;
}

#visual .hero-card-box {
    position: relative;
    width: 100%;
    height: 700px;
    margin: 0 !important; 
    border-radius: 24px;
    overflow: hidden !important;
    display: flex;
    align-items: flex-end;
    padding: 40px 45px;
    box-sizing: border-box;
    background-color: #000000;
}

#visual .video-bg-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

#visual .video-bg-wrap iframe {
    width: 100vw;
    height: 56.25vw;
    min-height: 100%;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#visual .video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 2;
}

#visual .hero-content-wrapper {
    position: relative;
    z-index: 3;
    color: #ffffff;
    max-width: 750px;
    text-align: left;
}

#visual .hero-badge {
    display: inline-block;
    background: rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: blur(8px);
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 14px;
    border: 1px solid #ffffff !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
}

#visual .hero-title-main {
    font-size: 38px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 12px 0;
    letter-spacing: -1px;
    color: #ffffff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8), 0 1px 3px rgba(0, 0, 0, 0.6);
}

#visual .hero-desc {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 22px 0;
    line-height: 1.4;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9);
}



#visual .hero-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 12px 14px;
    box-sizing: border-box;
    gap: 8px;
    border-radius: 13px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.45px;
    text-decoration: none;
    white-space: nowrap;
    border: 1px solid rgba(255,255,255,.28);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 20px rgba(0,0,0,.28);
    text-shadow: 0 1px 3px rgba(0,0,0,.22);
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

#visual .hero-btn:hover {
    transform: translateY(-3px);
    filter: brightness(1.04);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 12px 26px rgba(0,0,0,.34);
}

#visual .hero-btn .icon {
    font-size: 19px;
    line-height: 1;
    flex: 0 0 auto;
}

#visual .btn-kakao { background: linear-gradient(145deg, #ffe94a, #f6ca00); color: #171717; text-shadow: none; border-color: rgba(255,255,255,.45); }
#visual .btn-phone { background: linear-gradient(145deg, #3f7cff, #1747b8); color: #fff; }
#visual .btn-price { background: linear-gradient(145deg, #334155, #111827); color: #fff; }
#visual .btn-estimate { background: linear-gradient(145deg, #18c9d6, #087f9a); color: #fff; }

#visual .hero-trust-badges {
    position: absolute;
    bottom: 30px;
    right: 35px;
    z-index: 3;
    display: flex;
    gap: 8px;
}

#visual .trust-badge-item {
    background: rgba(255, 255, 255, 0.9);
    color: #334155;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 6px;
}

#greeting .hero-top-image {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 50px !important;
}

.hero-top-image img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* ===================================================
   왜 제주이사일까요? 스타일
=================================================== */
.why-delivery-wrap {
    max-width: 1400px;
    margin: 25px auto 60px auto;
    padding: 0 20px;
    box-sizing: border-box;
    font-family: "Pretendard", sans-serif;
}

.why-delivery-wrap .why-header {
    text-align: center;
    margin-bottom: 35px;
}

.why-delivery-wrap .why-main-title {
    font-size: 30px;
    font-weight: 800;
    color: #111827;
    margin: 50px 0 10px 0;
    letter-spacing: -0.5px;
}

.why-delivery-wrap .why-sub-title {
    font-size: 15px;
    color: #4b5563;
    margin: 0;
}

.why-delivery-wrap .why-cards-grid {
    display: flex;
    gap: 20px;
    width: 100%;
}

.why-delivery-wrap .why-card-item {
    flex: 1;
    background: #ffffff;
    border-radius: 16px;
    padding: 30px 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid #f3f4f6;
    text-align: center;
    position: relative;
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.why-delivery-wrap .why-card-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(37, 99, 235, 0.08);
}

.why-delivery-wrap .card-number-badge {
    width: 34px;
    height: 34px;
    background: #2563eb;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px auto;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3);
}

.why-delivery-wrap .card-title {
    font-size: 17px;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 10px 0;
}

.why-delivery-wrap .card-desc {
    font-size: 13.5px;
    color: #6b7280;
    line-height: 1.5;
    margin: 0;
    word-break: keep-all;
}

/* ===================================================
   모바일 반응형 및 Owl Carousel 강제 해제 설정
=================================================== */
@media (max-width: 1024px) {
    #visual.visual_slider,
    .main-carousel,
    .main-carousel .owl-stage-outer,
    .main-carousel .owl-stage,
    .main-carousel .owl-item {
        height: auto !important;
        overflow: visible !important;
    }

    .why-delivery-wrap .why-cards-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        height: auto !important;
    }

    .why-delivery-wrap .why-card-item {
        width: 100% !important;
        flex: none !important;
        display: block !important;
    }
}

@media (max-width: 768px) {
    #visual.visual_slider {
        padding: 110px 10px 0 10px !important;
        margin-top: 0 !important;
        margin-bottom: 20px;
    }

    #visual .hero-card-box {
        height: 420px;
        padding: 20px;
        border-radius: 16px;
        margin: 0 !important;
    }

    #visual .hero-title-main {
        font-size: 24px;
    }

    #visual .hero-desc {
        font-size: 12px;
        margin-bottom: 16px;
    }

    

    #visual .hero-btn {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        justify-content: center;
        padding: 7px 4px;
        font-size: 10px;
        letter-spacing: -0.5px;
        white-space: nowrap !important;
    }

    #visual .hero-btn i {
        font-size: 11px;
        flex-shrink: 0;
    }

    #visual .hero-trust-badges {
        display: none;
    }
}

@media (max-width: 480px) {
    

    #visual .hero-btn {
        padding: 6px 2px;
        font-size: 9px;
        letter-spacing: -0.7px;
    }

    #visual .hero-btn i {
        font-size: 10px;
    }
}

/* =========================================================
   제주이사 PREMIUM ESTIMATE UI
   견적문의 영역 전용 스타일
   ========================================================= */
#contact.tl_contact_box_wrap {
    position: relative;
    padding: 112px 20px 92px;
    background:
        radial-gradient(circle at 15% 10%, rgba(73, 119, 255, .13), transparent 30%),
        radial-gradient(circle at 85% 80%, rgba(35, 211, 184, .08), transparent 28%),
        linear-gradient(135deg, #0b1220 0%, #101827 48%, #0a101b 100%);
    overflow: hidden;
}
#contact.tl_contact_box_wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 90%);
    pointer-events: none;
}
#contact.tl_contact_box_wrap .inner {
    max-width: 1120px;
    position: relative;
    z-index: 1;
}
#contact .premium-estimate-form {
    width: 100%;
    margin: 0 auto;
}
#contact .estimate-heading {
    text-align: center;
    margin-bottom: 34px;
    color: #fff;
}
#contact .estimate-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    padding: 0 13px;
    margin-bottom: 15px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    color: #b8cbff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .17em;
}
#contact .estimate-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.045em;
}
#contact .estimate-heading h2 span {
    display: block;
    margin: 14px 0 0;
    padding: 0;
    color: rgba(255,255,255,.6);
    font-size: 15px;
    line-height: 1.7;
    font-weight: 400;
    letter-spacing: -.025em;
}
#contact .estimate-progress {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 23px;
}
#contact .estimate-progress span {
    width: 26px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255,255,255,.17);
}
#contact .estimate-progress span.active {
    width: 52px;
    background: #7aa2ff;
}
#contact .estimate-card {
    padding: 46px 46px 14px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 26px;
    background: rgba(255,255,255,.965);
    box-shadow:
        0 28px 70px rgba(0,0,0,.32),
        0 2px 0 rgba(255,255,255,.5) inset;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
#contact .estimate-step { position: relative; }
#contact .step-head {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
}
#contact .step-no {
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0f172a;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    box-shadow: 0 8px 18px rgba(15,23,42,.16);
}
#contact .step-head strong {
    display: block;
    color: #111827;
    font-size: 19px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -.035em;
}
#contact .step-head span {
    display: block;
    margin-top: 4px;
    color: #87909e;
    font-size: 13px;
    line-height: 1.55;
    letter-spacing: -.02em;
}
#contact .estimate-divider {
    height: 1px;
    margin: 34px 0;
    background: #edf0f4;
}
#contact .service-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
}
#contact .service-choice {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 80px;
    padding: 15px 16px;
    border: 1px solid #e7eaf0;
    border-radius: 16px;
    background: #fff;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
    box-sizing: border-box;
}
#contact .service-choice:hover {
    border-color: #afc4ff;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(31,54,101,.08);
}
#contact .service-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
#contact .choice-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f6fb;
    color: #51627f;
    font-size: 19px;
    transition: all .2s ease;
}
#contact .choice-copy {
    min-width: 0;
}
#contact .choice-copy b {
    display: block;
    color: #1c2534;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -.03em;
}
#contact .choice-copy small {
    display: block;
    margin-top: 4px;
    color: #8b94a3;
    font-size: 11px;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#contact .service-choice:has(input:checked) {
    border-color: #5f82f8;
    background: #f5f8ff;
    box-shadow: 0 10px 25px rgba(95,130,248,.13);
}
#contact .service-choice:has(input:checked) .choice-icon {
    background: #111c33;
    color: #fff;
}
#contact .service-choice:has(input:checked)::after {
    content: "✓";
    position: absolute;
    top: 10px;
    right: 11px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #5f82f8;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 19px;
    text-align: center;
}
#contact .premium-field-grid {
    display: grid;
    grid-template-columns: 1fr 1.25fr 1fr;
    gap: 12px;
}
#contact .premium-field {
    display: block;
}
#contact .field-label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    color: #475467;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -.02em;
}
#contact .field-label em {
    font-style: normal;
    font-size: 10px;
    font-weight: 700;
    color: #a1a8b3;
}
#contact .field-label em:empty { display:none; }
#contact .field-box {
    position: relative;
    display: block;
}
#contact .field-icon {
    position: absolute;
    top: 50%;
    left: 15px;
    z-index: 2;
    transform: translateY(-50%);
    color: #a6afbd;
    font-size: 18px;
    pointer-events: none;
}
#contact .move-input,
#contact .small-input,
#contact .move-select,
#contact .move-textarea {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #e3e7ed;
    outline: none;
    background: #f9fafb;
    color: #1d2737;
    font-family: inherit;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#contact .move-input,
#contact .small-input,
#contact .move-select {
    height: 52px;
    border-radius: 13px;
    padding: 0 15px;
    font-size: 14px;
}
#contact .field-box .move-input {
    padding-left: 45px;
}
#contact .move-input::placeholder,
#contact .small-input::placeholder,
#contact .move-textarea::placeholder {
    color: #a8b0bc;
}
#contact .move-input:focus,
#contact .small-input:focus,
#contact .move-select:focus,
#contact .move-textarea:focus {
    border-color: #6f8ff5;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(111,143,245,.10);
}
#contact .date-wrap .field-icon { left: 15px; }
#contact .datetime-control {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 8px;
    width: 100%;
}
#contact .datetime-control .move-date-input,
#contact .datetime-control .move-time-select {
    flex: 1 1 0 !important;
    width: 50% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
#contact .datetime-control .move-date-input {
    padding-left: 45px;
    cursor: pointer;
}
#contact .datetime-control .move-time-select {
    padding-left: 14px;
    padding-right: 36px;
    cursor: pointer;
}
#contact .date-wrap > .field-icon {
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
}
#contact .datetime-control .move-date-input::-webkit-calendar-picker-indicator {
    opacity: .65;
    cursor: pointer;
}
#contact .datetime-control .move-time-select {
    appearance: auto;
    -webkit-appearance: auto;
}
#contact .select-box {
    position: relative;
}
#contact .select-box::after {
    content: "⌄";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-60%);
    color: #8c97a7;
    font-size: 16px;
    pointer-events: none;
}
#contact .move-select {
    padding-right: 40px;
    cursor: pointer;
}
#contact .route-card {
    padding: 24px;
    border: 1px solid #edf0f4;
    border-radius: 19px;
    background: #fbfcfd;
}
#contact .route-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
#contact .route-marker {
    position: relative;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: -.04em;
    box-shadow: 0 8px 16px rgba(14,23,42,.12);
}
#contact .route-marker.start { background: #334155; }
#contact .route-marker.end { background: #6f4de6; }
#contact .route-fields {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0,1fr) 105px 175px;
    gap: 10px;
}
#contact .route-fields .field-label { margin-bottom: 7px; }
#contact .route-line {
    margin: 4px 0 4px 20px;
    border-left: 1px dashed #cfd5df;
    height: 24px;
}
#contact .route-line span {
    display: block;
    width: 6px;
    height: 6px;
    margin-left: -4px;
    border-radius: 50%;
    background: #cfd5df;
}
#contact .detail-field .field-box { width: 100%; }
#contact .textarea-box .move-textarea {
    display: block;
    min-height: 160px;
    padding: 16px 17px;
    border-radius: 15px;
    resize: vertical;
    line-height: 1.65;
}
#contact .estimate-tip {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 11px 14px;
    border-radius: 11px;
    background: #f8faff;
    color: #778399;
    font-size: 11px;
    line-height: 1.5;
}
#contact .estimate-tip i {
    flex: 0 0 auto;
    color: #6988e9;
    font-size: 16px;
}
#contact .estimate-tip b { color: #42506a; }
#contact .estimate-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    margin-top: 18px;
    padding: 25px 28px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 20px;
    background: rgba(255,255,255,.055);
}
#contact .summary-copy {
    min-width: 0;
    color: #fff;
}
#contact .summary-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #a4b7ef;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
}
#contact .summary-copy strong {
    display: block;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 800;
    letter-spacing: -.03em;
}
#contact .summary-copy small {
    display: block;
    margin-top: 5px;
    color: rgba(255,255,255,.53);
    font-size: 11px;
    line-height: 1.55;
}
#contact .send_page {
    flex: 0 0 auto;
    margin: 0;
    display: flex;
    gap: 9px;
    align-items: center;
    justify-content: flex-end;
}
#contact .send_page a,
#contact .send_page .copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 145px;
    height: 48px;
    margin: 0;
    padding: 0 13px;
    border: 0;
    border-radius: 11px;
    box-sizing: border-box;
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
#contact .send_page a:hover,
#contact .send_page .copy-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
}
#contact .send_page a i,
#contact .send_page .copy-btn i {
    margin: 0;
    font-size: 18px;
}
#contact .send_page .copy-btn {
    background: rgba(255,255,255,.10);
    color: #fff;
    border: 1px solid rgba(255,255,255,.13);
    box-shadow: none;
}
#contact .send_page .btnKakao {
    background: #fae300;
    color: #2c231b;
    box-shadow: 0 9px 22px rgba(250,227,0,.16);
}
#contact .send_page .btnNaver {
    background: #16bb57;
    color: #fff;
    box-shadow: 0 9px 22px rgba(22,187,87,.14);
}
/* 견적 내용 복사 완료/실패 토스트 */
#contact .copy-toast {
    position: fixed;
    left: 50%;
    bottom: 38px;
    z-index: 99999;
    display: flex;
    align-items: center;
    gap: 12px;
    width: max-content;
    min-width: 310px;
    max-width: calc(100vw - 30px);
    padding: 15px 20px;
    box-sizing: border-box;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 15px;
    background: rgba(18, 24, 35, .95);
    color: #fff;
    box-shadow: 0 18px 45px rgba(0,0,0,.24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 18px);
    transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
}
#contact .copy-toast.show {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
#contact .copy-toast > i {
    flex: 0 0 auto;
    font-size: 24px;
    line-height: 1;
    color: #4ade80;
}
#contact .copy-toast-text {
    min-width: 0;
}
#contact .copy-toast strong {
    display: block;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: -.02em;
}
#contact .copy-toast span {
    display: block;
    margin-top: 3px;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    line-height: 1.4;
}
#contact .copy-toast.is-error > i {
    color: #fb7185;
}
#contact .copy-toast.is-error strong {
    color: #ffe4e6;
}

#contact .estimate-bottom-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 14px;
    color: rgba(255,255,255,.42);
    font-size: 10px;
    line-height: 1.5;
}
#contact .estimate-bottom-note i { font-size: 13px; }
#contact .x-msg1,
#contact .x-msg2 {
    position: fixed;
    top: 28px;
    left: 50%;
    z-index: 99999;
    width: auto !important;
    height: auto !important;
    min-width: 280px;
    max-width: calc(100vw - 30px);
    margin-left: 0 !important;
    transform: translateX(-50%);
    padding: 14px 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    line-height: 1.45 !important;
    box-shadow: 0 15px 35px rgba(0,0,0,.2);
    font-size: 12px;
    text-align: center;
    box-sizing: border-box;
}
#contact .x-msg1 { background: #fff1f1 !important; color: #a83d3d !important; }
#contact .x-msg2 { background: #ecfff4 !important; color: #1f7a4a !important; }

@media screen and (max-width: 980px) {
    #contact.tl_contact_box_wrap { padding: 88px 16px 70px; }
    #contact .estimate-card { padding: 34px 24px 10px; }
    #contact .service-choice-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    #contact .premium-field-grid { grid-template-columns: 1fr; }
    #contact .route-fields { grid-template-columns: minmax(0,1fr) 90px 160px; }
    #contact .estimate-summary { align-items: flex-start; flex-direction: column; }
    #contact .send_page { width: 100%; }
    #contact .send_page a,
    #contact .send_page .copy-btn { flex: 1 1 0; width: auto; }
}
@media screen and (max-width: 700px) {
    #contact.tl_contact_box_wrap { padding: 72px 12px 55px; }
    #contact .estimate-heading { margin-bottom: 24px; }
    #contact .estimate-heading h2 { font-size: 31px; }
    #contact .estimate-heading h2 span { font-size: 13px; }
    #contact .estimate-card {
        padding: 25px 15px 8px;
        border-radius: 20px;
    }
    #contact .step-head { gap: 11px; margin-bottom: 18px; }
    #contact .step-no {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        border-radius: 11px;
        font-size: 10px;
    }
    #contact .step-head strong { font-size: 16px; }
    #contact .step-head span { font-size: 11px; }
    #contact .estimate-divider { margin: 25px 0; }
    #contact .service-choice-grid { grid-template-columns: 1fr; gap: 9px; }
    #contact .service-choice { min-height: 70px; padding: 13px 14px; }
    #contact .choice-icon { width: 36px; height: 36px; flex-basis: 36px; }
    #contact .route-card { padding: 15px; }
    #contact .route-row { gap: 10px; }
    #contact .route-marker {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        border-radius: 11px;
        font-size: 9px;
    }
    #contact .route-fields {
        grid-template-columns: 1fr 78px;
        gap: 8px;
    }
    #contact .route-address { grid-column: 1 / -1; }
    #contact .datetime-control {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 7px;
    }
    #contact .datetime-control .move-date-input,
    #contact .datetime-control .move-time-select {
        width: 50% !important;
        min-width: 0 !important;
        flex: 1 1 0 !important;
    }
    #contact .route-transport { grid-column: 1 / -1; }
    #contact .route-line { margin-left: 17px; height: 18px; }
    #contact .move-input,
    #contact .small-input,
    #contact .move-select { height: 49px; font-size: 13px; }
    #contact .textarea-box .move-textarea { min-height: 145px; }
    #contact .estimate-tip { align-items: flex-start; font-size: 10px; }
    #contact .estimate-summary { padding: 21px 17px; border-radius: 16px; }
    #contact .send_page {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    #contact .send_page .copy-btn { grid-column: 1 / -1; }
    #contact .send_page a,
    #contact .send_page .copy-btn {
        width: 100%;
        height: 47px;
        font-size: 12px;
    }
    #contact .estimate-bottom-note { font-size: 9px; }
}
@media screen and (max-width: 420px) {
    #contact .estimate-heading h2 { font-size: 27px; }
    #contact .estimate-heading h2 span { word-break: keep-all; }
    #contact .choice-copy b { font-size: 13px; }
    #contact .choice-copy small { font-size: 10px; }
}

/* 복사 토스트 모바일 최적화 */
@media screen and (max-width: 700px) {
    #contact .copy-toast {
        bottom: 20px;
        min-width: 0;
        width: calc(100vw - 28px);
        padding: 14px 16px;
        border-radius: 14px;
    }
    #contact .copy-toast > i {
        font-size: 22px;
    }
    #contact .copy-toast strong {
        font-size: 12px;
    }
    #contact .copy-toast span {
        font-size: 10px;
    }
}

/* ===================================================
   스크롤 자연 등장 애니메이션
   - 왜 제주이사일까요? 섹션부터 적용
=================================================== */
.scroll-reveal-section {
    opacity: 0;
    transform: translateY(34px);
    transition:
        opacity .75s cubic-bezier(.22,1,.36,1),
        transform .75s cubic-bezier(.22,1,.36,1);
    transition-delay: var(--section-delay, 0ms);
    will-change: opacity, transform;
}

.scroll-reveal-section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.scroll-reveal-item {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity .68s cubic-bezier(.22,1,.36,1),
        transform .68s cubic-bezier(.22,1,.36,1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.scroll-reveal-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* 카카오 주소검색 입력창 */
#contact .address-field-box .address-input {
    padding-right: 96px;
    cursor: pointer;
}

#contact .address-search-btn {
    position: absolute;
    top: 50%;
    right: 8px;
    z-index: 3;
    transform: translateY(-50%);
    height: 36px;
    padding: 0 11px;
    border: 0;
    border-radius: 9px;
    background: #1f2937;
    color: #fff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: -.03em;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

#contact .address-search-btn:hover {
    background: #2563eb;
}

#contact .address-search-btn:active {
    transform: translateY(-50%) scale(.96);
}

@media (prefers-reduced-motion: reduce) {
    .scroll-reveal-section,
    .scroll-reveal-item {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

@media screen and (max-width: 700px) {
    #contact .address-search-btn {
        height: 34px;
        right: 7px;
        padding: 0 9px;
        font-size: 10px;
    }

    #contact .address-field-box .address-input {
        padding-right: 82px;
    }
}
.why-main-title .highlight-brand {
    color: #2563eb;
    font-size: 1.15em;
    font-weight: 700;
    display: inline-block;
  }

  /* 타이핑 커서 디자인 */
  #typingSubTitle::after {
    content: "|";
    display: inline-block;
    color: #1e3a8a;
    font-weight: bold;
    animation: cursor-blink 0.7s infinite;
    margin-left: 2px;
  }

  @keyframes cursor-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
  }

  /* 줄바꿈이 자연스럽게 일어나도록 설정 (white-space 유지) */
  .greeting-typing {
    display: block;
    min-height: 1.5em;
    margin-bottom: 12px;
    position: relative;
  }

  /* 타이핑 중인 문단 뒤에 깜빡이는 커서 추가 */
  .greeting-typing.active::after {
    content: "|";
    display: inline-block;
    color: #1e3a8a; /* 브랜드 컬러와 맞춘 커서 색상 */
    font-weight: bold;
    margin-left: 2px;
    animation: cursor-blink 0.7s infinite;
  }

  @keyframes cursor-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
  }

  .greeting-typing.sign-off {
    text-align: right;
    font-weight: bold;
  }

  .greeting-typing.highlight-bold {
    font-weight: bold;
  }

/* ==========================================================
   제주이사 PREMIUM VISUAL UPGRADE
   기존 HTML/문구/기능은 유지하고 시각 스타일만 고급화
   ========================================================== */

/* 공통 폰트/텍스트 질감 */
body {
    color:#20252d;
    background:#f5f6f8;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

/* ----------------------------------------------------------
   01. 왜 제주이사일까요?
---------------------------------------------------------- */
.why-delivery-wrap {
    position:relative;
    padding:125px 24px 135px !important;
    background:
        radial-gradient(circle at 12% 15%, rgba(212,169,76,.10), transparent 28%),
        radial-gradient(circle at 88% 80%, rgba(37,50,70,.10), transparent 30%),
        linear-gradient(135deg,#f7f8fa 0%,#eef1f5 100%) !important;
    border-top:1px solid rgba(20,27,38,.08);
    border-bottom:1px solid rgba(20,27,38,.08);
    overflow:hidden;
}
.why-delivery-wrap:before {
    content:"WHY JEJU MOVE";
    position:absolute;
    top:35px;
    left:50%;
    transform:translateX(-50%);
    font-size:11px;
    font-weight:800;
    letter-spacing:4px;
    color:rgba(30,38,49,.34);
}
.why-delivery-wrap .why-header { position:relative; z-index:1; margin-bottom:55px; }
.why-delivery-wrap .why-main-title {
    margin:0 !important;
    font-size:clamp(34px,4vw,52px) !important;
    line-height:1.25 !important;
    letter-spacing:-2.5px !important;
    font-weight:800 !important;
    color:#171c24 !important;
}
.why-delivery-wrap .highlight-brand { color:#a77b2b !important; }
.why-delivery-wrap .why-sub-title {
    min-height:28px;
    margin:18px auto 0 !important;
    color:#626b78 !important;
    font-size:17px !important;
    line-height:1.8 !important;
    letter-spacing:-.45px;
}
.why-delivery-wrap .why-cards-grid {
    position:relative;
    z-index:1;
    max-width:1200px;
    margin:0 auto;
    gap:18px !important;
}
.why-delivery-wrap .why-card-item {
    position:relative;
    min-height:245px;
    padding:36px 30px 32px !important;
    border:1px solid rgba(25,33,45,.10) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.78) !important;
    box-shadow:0 16px 40px rgba(24,32,44,.08) !important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease !important;
}
.why-delivery-wrap .why-card-item:hover {
    transform:translateY(-8px);
    border-color:rgba(167,123,43,.35) !important;
    box-shadow:0 24px 55px rgba(24,32,44,.14) !important;
}
.why-delivery-wrap .card-number-badge {
    width:42px !important;
    height:42px !important;
    margin:0 0 24px !important;
    border-radius:12px !important;
    background:linear-gradient(135deg,#252c36,#11161d) !important;
    color:#e0bd70 !important;
    font-size:12px !important;
    letter-spacing:1px;
    box-shadow:0 8px 18px rgba(20,25,32,.16) !important;
}
.why-delivery-wrap .card-title {
    font-size:20px !important;
    line-height:1.45 !important;
    letter-spacing:-.8px !important;
    color:#202631 !important;
    margin-bottom:12px !important;
}
.why-delivery-wrap .card-desc {
    font-size:14.5px !important;
    line-height:1.75 !important;
    color:#6c7480 !important;
}

/* ----------------------------------------------------------
   02. 고객 인사 / 브랜드 스토리
---------------------------------------------------------- */
.tl_greeting_box_wrap {
    position:relative;
    padding:120px 24px !important;
    background:
        radial-gradient(circle at 10% 20%,rgba(190,148,67,.09),transparent 25%),
        linear-gradient(180deg,#ffffff 0%,#f7f7f5 100%) !important;
    overflow:hidden;
}
.tl_greeting_box_wrap .inner { max-width:1200px !important; }
.tl_greeting_box_wrap .greeting_content {
    position:relative;
    max-width:980px;
    margin:35px auto 45px;
    padding:58px 70px !important;
    border:1px solid rgba(24,31,41,.10);
    border-radius:24px;
    background:rgba(255,255,255,.88);
    box-shadow:0 22px 65px rgba(24,31,41,.10);
}
.tl_greeting_box_wrap .greeting_content:before {
    content:"JEJU MOVE STORY";
    display:block;
    margin-bottom:22px;
    color:#aa8034;
    font-size:11px;
    font-weight:800;
    letter-spacing:3px;
}
.tl_greeting_box_wrap .greeting_text h3 {
    margin:0 0 30px !important;
    color:#171c24 !important;
    font-size:clamp(28px,3vw,40px) !important;
    line-height:1.3 !important;
    letter-spacing:-1.8px !important;
}
.tl_greeting_box_wrap .greeting_text p {
    margin:0 0 12px !important;
    color:#5f6875 !important;
    font-size:16px !important;
    line-height:1.9 !important;
    letter-spacing:-.35px;
}
.tl_greeting_box_wrap .greeting_text p.highlight-bold {
    margin-top:30px !important;
    color:#1b222c !important;
    font-size:21px !important;
    font-weight:800 !important;
}
.tl_greeting_box_wrap .greeting_text p.sign-off {
    color:#a77b2b !important;
    font-size:14px !important;
    font-weight:700 !important;
    letter-spacing:.5px;
}
.tl_greeting_box_wrap .hero-top-image {
    overflow:hidden;
    border-radius:18px;
    box-shadow:0 15px 40px rgba(25,31,40,.13);
}
.tl_greeting_box_wrap .hero-top-image img { display:block; width:100%; transition:transform .7s ease; }
.tl_greeting_box_wrap .hero-top-image:hover img { transform:scale(1.025); }

/* ----------------------------------------------------------
   03. 서비스 소개 카드
---------------------------------------------------------- */
.tl_company_box_wrap {
    position:relative;
    padding:125px 24px 135px !important;
    background:
        radial-gradient(circle at 90% 15%,rgba(187,145,65,.10),transparent 26%),
        linear-gradient(145deg,#171b22 0%,#0c1016 55%,#171b21 100%) !important;
    overflow:hidden;
}
.tl_company_box_wrap:before {
    content:"OUR SERVICES";
    position:absolute;
    top:42px;
    left:50%;
    transform:translateX(-50%);
    color:rgba(230,201,139,.55);
    font-size:11px;
    font-weight:800;
    letter-spacing:4px;
}
.tl_company_box_wrap .top_title_area { margin-bottom:55px !important; }
.tl_company_box_wrap .sub_tag {
    display:inline-block;
    margin-bottom:14px;
    padding:7px 13px;
    border:1px solid rgba(221,190,124,.35);
    border-radius:30px;
    color:#d9b96f !important;
    background:rgba(215,177,92,.06);
    font-size:12px !important;
    letter-spacing:.2px;
}
.tl_company_box_wrap .top_title_area h2 {
    color:#fff !important;
    font-size:clamp(31px,4vw,48px) !important;
    line-height:1.3 !important;
    letter-spacing:-2px !important;
}
.tl_company_box_wrap .top_title_area h2 b { color:#e2bd6e !important; }
.tl_company_box_wrap .sub_desc {
    margin-top:18px !important;
    color:rgba(255,255,255,.62) !important;
    font-size:16px !important;
    line-height:1.8 !important;
}
.tl_company_box_wrap .sub_desc b { color:#e5c47a !important; }
.tl_company_box_wrap > .inner > ul { max-width:1200px; margin:0 auto; }
.tl_company_box_wrap > .inner > ul li { padding:9px !important; }
.tl_company_box_wrap .box {
    min-height:260px;
    padding:34px 30px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:18px !important;
    background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.025)) !important;
    box-shadow:0 16px 38px rgba(0,0,0,.22) !important;
    transition:transform .35s ease, border-color .35s ease, background .35s ease !important;
}
.tl_company_box_wrap .box:hover {
    transform:translateY(-7px);
    border-color:rgba(222,186,105,.48) !important;
    background:linear-gradient(145deg,rgba(218,181,101,.13),rgba(255,255,255,.035)) !important;
}
.tl_company_box_wrap .card_tag { color:#d7b86f !important; font-size:10px !important; letter-spacing:1.8px !important; }
.tl_company_box_wrap .box .icon { color:#e1bd70 !important; }
.tl_company_box_wrap .box dl dt { color:#fff !important; font-size:20px !important; letter-spacing:-.8px !important; }
.tl_company_box_wrap .box dl dd,
.tl_company_box_wrap .box .lead { color:rgba(255,255,255,.64) !important; font-size:14px !important; line-height:1.75 !important; }

/* 주의사항 영역 */
.tl_company_box_wrap .tl_warning_title {
    max-width:1100px;
    margin:70px auto 0 !important;
    padding:42px 48px !important;
    border:1px solid rgba(220,185,108,.22);
    border-radius:20px;
    background:linear-gradient(135deg,rgba(220,185,108,.09),rgba(255,255,255,.025));
    box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.tl_company_box_wrap .title_badge { color:#e3c47d !important; font-size:12px !important; font-weight:700; }
.tl_company_box_wrap .title_main { color:#fff !important; font-size:25px !important; line-height:1.55 !important; letter-spacing:-1px; }
.tl_company_box_wrap .title_main b { color:#e6c77f !important; }
.tl_company_box_wrap .title_desc { color:rgba(255,255,255,.62) !important; font-size:14px !important; line-height:1.85 !important; }
.tl_company_box_wrap .tp_item { border-color:rgba(255,255,255,.10) !important; }
.tl_company_box_wrap .tp_text { color:rgba(255,255,255,.82) !important; }
.tl_company_box_wrap .chk_icon { color:#d9b76b !important; }

/* ----------------------------------------------------------
   04. 견적문의
---------------------------------------------------------- */
.tl_contact_box_wrap {
    position:relative;
    padding:125px 24px 135px !important;
    background:
        linear-gradient(rgba(7,10,15,.90),rgba(7,10,15,.94)),
        url(../img/main_contact_bg.jpg) center top/cover no-repeat !important;
}
.tl_contact_box_wrap .premium-estimate-form { max-width:1050px; margin:0 auto; }
.tl_contact_box_wrap .estimate-heading { margin-bottom:40px !important; }
.tl_contact_box_wrap .estimate-eyebrow,
.tl_contact_box_wrap .summary-eyebrow {
    color:#d6b467 !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:3px !important;
}
.tl_contact_box_wrap .estimate-heading h2 {
    color:#fff !important;
    font-size:clamp(34px,4vw,50px) !important;
    letter-spacing:-2px !important;
}
.tl_contact_box_wrap .estimate-heading h2 span { color:rgba(255,255,255,.58) !important; font-size:15px !important; line-height:1.7 !important; }
.tl_contact_box_wrap .estimate-card {
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.055) !important;
    box-shadow:0 25px 65px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.tl_contact_box_wrap .estimate-step strong { color:#fff !important; font-size:17px !important; }
.tl_contact_box_wrap .estimate-step span { color:rgba(255,255,255,.55) !important; }
.tl_contact_box_wrap .step-no { background:linear-gradient(135deg,#d9b66c,#9b7229) !important; color:#17130c !important; }
.tl_contact_box_wrap .estimate-divider { border-color:rgba(255,255,255,.08) !important; }
.tl_contact_box_wrap .premium-field .field-label { color:#e8e8e8 !important; font-size:13px !important; }
.tl_contact_box_wrap .field-box,
.tl_contact_box_wrap input,
.tl_contact_box_wrap select,
.tl_contact_box_wrap textarea {
    border-color:rgba(255,255,255,.13) !important;
    background:rgba(0,0,0,.20) !important;
    color:#fff !important;
}
.tl_contact_box_wrap input::placeholder,
.tl_contact_box_wrap textarea::placeholder { color:rgba(255,255,255,.35) !important; }
.tl_contact_box_wrap .estimate-summary {
    margin-top:22px !important;
    border:1px solid rgba(214,180,103,.22) !important;
    border-radius:20px !important;
    background:linear-gradient(135deg,rgba(214,180,103,.10),rgba(255,255,255,.045)) !important;
}
.tl_contact_box_wrap .summary-copy strong { color:#fff !important; font-size:19px !important; }
.tl_contact_box_wrap .summary-copy small { color:rgba(255,255,255,.55) !important; }
.tl_contact_box_wrap .send_page a,
.tl_contact_box_wrap .send_page button { border-radius:10px !important; transition:transform .25s ease, box-shadow .25s ease !important; }
.tl_contact_box_wrap .send_page a:hover,
.tl_contact_box_wrap .send_page button:hover { transform:translateY(-2px); box-shadow:0 10px 25px rgba(0,0,0,.22); }
.tl_contact_box_wrap .estimate-bottom-note { color:rgba(255,255,255,.45) !important; }

/* ----------------------------------------------------------
   05. 푸터
---------------------------------------------------------- */
#footer {
    padding:55px 0 42px !important;
    background:
        radial-gradient(circle at 80% 10%,rgba(182,143,69,.10),transparent 25%),
        linear-gradient(180deg,#11151b 0%,#090b0f 100%) !important;
    border-top:1px solid rgba(218,183,103,.18);
}
#footer .footer_in { min-height:250px !important; padding-bottom:20px !important; }
#footer .menu { padding:0 !important; margin-bottom:28px; }
#footer .menu a {
    margin-right:22px;
    color:rgba(255,255,255,.68) !important;
    font-size:13px !important;
    letter-spacing:-.2px;
    transition:color .2s ease;
}
#footer .menu a:hover { color:#e2c178 !important; }
#footer .menu a strong { color:#d9b66d !important; }
#footer address {
    margin-top:0 !important;
    padding-top:30px !important;
    border-top:1px solid rgba(255,255,255,.09) !important;
    color:rgba(255,255,255,.52) !important;
    font-size:13px !important;
    line-height:1.8 !important;
}
#footer .adr { margin-bottom:7px !important; }
#footer .adr:before { background:#cba45b !important; }
#footer .copyright { margin-top:24px !important; color:rgba(255,255,255,.32) !important; font-size:11px !important; letter-spacing:.2px; }
.footer-card-wrap img {
    width:265px !important;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px !important;
    box-shadow:0 15px 35px rgba(0,0,0,.35) !important;
}

/* ----------------------------------------------------------
   06. 공통 반응형
---------------------------------------------------------- */
@media (max-width:960px) {
    .why-delivery-wrap,
    .tl_greeting_box_wrap,
    .tl_company_box_wrap,
    .tl_contact_box_wrap { padding-left:16px !important; padding-right:16px !important; }
    .tl_greeting_box_wrap .greeting_content { padding:42px 30px !important; }
    .tl_company_box_wrap .tl_warning_title { padding:32px 25px !important; }
}
@media (max-width:640px) {
    .why-delivery-wrap,
    .tl_greeting_box_wrap,
    .tl_company_box_wrap,
    .tl_contact_box_wrap { padding-top:88px !important; padding-bottom:90px !important; }
    .why-delivery-wrap:before,
    .tl_company_box_wrap:before { top:25px; font-size:9px; letter-spacing:2.5px; }
    .why-delivery-wrap .why-header { margin-bottom:35px; }
    .why-delivery-wrap .why-main-title { font-size:31px !important; letter-spacing:-1.8px !important; }
    .why-delivery-wrap .why-sub-title { font-size:14px !important; }
    .why-delivery-wrap .why-card-item { min-height:0; padding:28px 24px !important; }
    .why-delivery-wrap .card-title { font-size:18px !important; }
    .why-delivery-wrap .card-desc { font-size:13.5px !important; }
    .tl_greeting_box_wrap .greeting_content { margin:22px auto 30px; padding:32px 22px !important; border-radius:18px; }
    .tl_greeting_box_wrap .greeting_text h3 { font-size:27px !important; }
    .tl_greeting_box_wrap .greeting_text p { font-size:14px !important; line-height:1.8 !important; }
    .tl_greeting_box_wrap .greeting_text p.highlight-bold { font-size:18px !important; }
    .tl_company_box_wrap .top_title_area h2 { font-size:30px !important; }
    .tl_company_box_wrap .sub_desc { font-size:14px !important; }
    .tl_company_box_wrap > .inner > ul li { padding:6px !important; }
    .tl_company_box_wrap .box { min-height:220px; padding:28px 23px !important; }
    .tl_company_box_wrap .box dl dt { font-size:18px !important; }
    .tl_company_box_wrap .tl_warning_title { margin-top:45px !important; padding:27px 20px !important; border-radius:16px; }
    .tl_company_box_wrap .title_main { font-size:20px !important; }
    .tl_company_box_wrap .title_desc { font-size:13px !important; }
    .tl_contact_box_wrap .estimate-heading h2 { font-size:32px !important; }
    .tl_contact_box_wrap .estimate-heading h2 span { font-size:13px !important; }
    #footer { padding:42px 18px 30px !important; }
    #footer .menu a { margin:0 12px 8px 0; font-size:12px !important; }
    #footer address { font-size:12px !important; }
}
@media (max-width:380px) {
    .why-delivery-wrap .why-main-title { font-size:28px !important; }
    .tl_company_box_wrap .top_title_area h2 { font-size:27px !important; }
    .tl_greeting_box_wrap .greeting_content { padding:28px 18px !important; }
}

/* ----------------------------------------------------------
   07. 리뷰 / 열정의 현장 - 기존 프리미엄 갤러리 스타일 유지
---------------------------------------------------------- */
.tl_main_gallery_wrap {
    position:relative;
    padding:125px 24px !important;
    background:
        radial-gradient(circle at 15% 10%,rgba(214,177,95,.10),transparent 28%),
        radial-gradient(circle at 85% 90%,rgba(37,49,67,.14),transparent 30%),
        linear-gradient(145deg,#10151d 0%,#080b10 100%) !important;
    border-top:1px solid rgba(255,255,255,.06);
    overflow:hidden;
}
.tl_main_gallery_wrap .inner { max-width:1200px; }
.tl_main_gallery_wrap h2,
.tl_product_box_wrap h2 {
    position:relative;
    margin:0 0 48px !important;
    color:#fff !important;
    font-size:clamp(30px,4vw,45px) !important;
    line-height:1.3 !important;
    letter-spacing:-1.8px !important;
    font-weight:800 !important;
}
.tl_main_gallery_wrap h2:before,
.tl_product_box_wrap h2:before {
    content:"CUSTOMER REVIEWS" !important;
    display:block !important;
    margin-bottom:12px !important;
    color:#d8b66b !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:3px !important;
}
.tl_main_gallery_wrap h2:after,
.tl_product_box_wrap h2:after {
    content:"";
    display:block;
    width:48px;
    height:2px;
    margin:18px auto 0;
    background:#cda85f;
    box-shadow:0 0 12px rgba(205,168,95,.45);
}
.tl_main_gallery_wrap h2 span,
.tl_product_box_wrap h2 span {
    display:block;
    margin-top:16px;
    padding:0 !important;
    color:rgba(255,255,255,.55) !important;
    font-size:14px !important;
    line-height:1.75 !important;
    font-weight:400 !important;
}
.tl_main_gallery_wrap h2 span b,
.tl_product_box_wrap h2 span b { color:#dfbd73 !important; }
.tl_main_gallery_wrap .panorama_wrap,
.tl_product_box_wrap .panorama_wrap {
    position:relative;
    height:500px !important;
    overflow:hidden;
    border:1px solid rgba(218,184,108,.28) !important;
    border-radius:18px !important;
    background:#0b0f15;
    box-shadow:0 25px 70px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.035);
}
.tl_main_gallery_wrap .panorama_wrap:before,
.tl_product_box_wrap .panorama_wrap:before {
    content:"";
    position:absolute;
    top:0; left:8%; right:8%;
    height:2px;
    z-index:4;
    background:linear-gradient(90deg,transparent,#d7b66c,transparent);
}
.tl_main_gallery_wrap .panorama_image,
.tl_product_box_wrap .panorama_image { height:100%; }
.tl_main_gallery_wrap .panorama_image img,
.tl_product_box_wrap .panorama_image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.88) contrast(1.04) brightness(.88);
    transition:transform 1.1s ease,filter 1.1s ease;
}
.tl_main_gallery_wrap .panorama_wrap:hover img,
.tl_product_box_wrap .panorama_wrap:hover img {
    transform:scale(1.035);
    filter:saturate(1) contrast(1.04) brightness(.96);
}
@media(max-width:640px) {
    .tl_main_gallery_wrap { padding:88px 16px !important; }
    .tl_main_gallery_wrap h2,
    .tl_product_box_wrap h2 { font-size:30px !important; margin-bottom:32px !important; }
    .tl_main_gallery_wrap h2 span,
    .tl_product_box_wrap h2 span { font-size:13px !important; }
    .tl_main_gallery_wrap .panorama_wrap,
    .tl_product_box_wrap .panorama_wrap { height:310px !important; border-radius:14px !important; }
}

/* ==========================================================
   08. 2차 고급화 수정 - 가독성 / 파노라마 / 견적문의
   기존 HTML / 기본 테이블 / 입력 구조는 변경하지 않습니다.
========================================================== */

/* ----------------------------------------------------------
   A. 고객님 진짜리뷰 / 열정의 현장
   - 이미지가 잘리지 않도록 원본 비율 유지
   - 모바일에서도 세로 비율을 안정적으로 유지
---------------------------------------------------------- */
.tl_main_gallery_wrap,
.tl_product_box_wrap {
    box-sizing:border-box;
}

/* 열정의 현장은 별도 배경으로 분리 */
.tl_product_box_wrap {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:125px 24px !important;
    overflow:hidden !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(205,168,95,.12), transparent 27%),
        radial-gradient(circle at 88% 78%, rgba(80,98,125,.12), transparent 30%),
        linear-gradient(145deg,#121821 0%,#090d13 100%) !important;
    border-top:1px solid rgba(255,255,255,.055);
    border-bottom:1px solid rgba(255,255,255,.055);
}

.tl_product_box_wrap .inner {
    max-width:1200px !important;
    margin:0 auto !important;
}

/* 섹션 제목은 배경과 충분한 명도차를 확보 */
.tl_main_gallery_wrap h2,
.tl_product_box_wrap h2 {
    color:#fff !important;
    text-shadow:0 2px 18px rgba(0,0,0,.30);
}

.tl_main_gallery_wrap h2 span,
.tl_product_box_wrap h2 span {
    color:rgba(255,255,255,.78) !important;
    text-shadow:none;
}

.tl_main_gallery_wrap h2 span b,
.tl_product_box_wrap h2 span b {
    color:#f0cf83 !important;
}

.tl_product_box_wrap h2:before {
    content:"OUR PASSION · ON SITE" !important;
    color:#e0bd70 !important;
}

/* 파노라마 프레임: 이미지 자체를 강제로 100% 폭으로 늘리지 않음 */
.tl_main_gallery_wrap .panorama_wrap,
.tl_product_box_wrap .panorama_wrap {
    height:500px !important;
    overflow:hidden !important;
    background:#070a0f !important;
    position:relative !important;
}

.tl_main_gallery_wrap .panorama_image,
.tl_product_box_wrap .panorama_image {
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    height:100% !important;
    width:max-content !important;
    max-width:none !important;
    animation:panMove 34s linear infinite !important;
    will-change:transform;
}

.tl_main_gallery_wrap .panorama_image img,
.tl_product_box_wrap .panorama_image img {
    width:auto !important;
    max-width:none !important;
    height:100% !important;
    min-width:0 !important;
    display:block !important;
    object-fit:contain !important;
    object-position:left center !important;
    filter:saturate(.94) contrast(1.03) brightness(.94) !important;
    transform:none !important;
}

/* 이미지가 프레임보다 작으면 중앙 정렬 */
.tl_main_gallery_wrap .panorama_image:only-child,
.tl_product_box_wrap .panorama_image:only-child {
    min-width:100%;
}

.tl_main_gallery_wrap .panorama_wrap:hover .panorama_image img,
.tl_product_box_wrap .panorama_wrap:hover .panorama_image img {
    transform:none !important;
    filter:saturate(1) contrast(1.03) brightness(1) !important;
}

/* ----------------------------------------------------------
   B. 견적문의 - 밝은 폼 카드 + 진한 글자 + 골드 포인트
   기존 입력/테이블 구조는 그대로 유지
---------------------------------------------------------- */
.tl_contact_box_wrap {
    background:
        radial-gradient(circle at 15% 8%, rgba(204,166,91,.13), transparent 25%),
        radial-gradient(circle at 90% 88%, rgba(53,72,96,.18), transparent 30%),
        linear-gradient(145deg,#0b1017 0%,#10151d 55%,#090d13 100%) !important;
}

.tl_contact_box_wrap .estimate-heading h2 {
    color:#ffffff !important;
    text-shadow:0 2px 20px rgba(0,0,0,.3);
}

.tl_contact_box_wrap .estimate-heading h2 span {
    color:rgba(255,255,255,.72) !important;
}

/* 기본 테이블처럼 보이는 입력 영역은 밝게 유지 */
.tl_contact_box_wrap .estimate-card {
    background:#f7f8fa !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:0 28px 75px rgba(0,0,0,.38), 0 1px 0 rgba(255,255,255,.75) inset !important;
    color:#172033 !important;
}

.tl_contact_box_wrap .estimate-step strong {
    color:#172033 !important;
    font-size:18px !important;
}

.tl_contact_box_wrap .estimate-step span {
    color:#687386 !important;
}

.tl_contact_box_wrap .estimate-divider {
    background:#dfe3e8 !important;
    border-color:#dfe3e8 !important;
}

/* 서비스 선택 카드 */
.tl_contact_box_wrap .service-choice {
    background:#ffffff !important;
    border:1px solid #e1e5ea !important;
    box-shadow:0 5px 18px rgba(18,30,48,.05) !important;
}

.tl_contact_box_wrap .service-choice:hover {
    border-color:#caa45d !important;
    box-shadow:0 12px 26px rgba(38,48,64,.10) !important;
}

.tl_contact_box_wrap .choice-icon {
    background:#edf1f6 !important;
    color:#26354d !important;
    border:1px solid #dfe5ec !important;
    font-size:20px !important;
}

.tl_contact_box_wrap .choice-icon i {
    color:#26354d !important;
    opacity:1 !important;
    visibility:visible !important;
    display:inline-block !important;
}

.tl_contact_box_wrap .choice-copy b {
    color:#172033 !important;
    font-size:14px !important;
}

.tl_contact_box_wrap .choice-copy small {
    color:#7a8493 !important;
}

.tl_contact_box_wrap .service-choice:has(input:checked) {
    border-color:#caa45d !important;
    background:#fffaf0 !important;
    box-shadow:0 10px 25px rgba(202,164,93,.16) !important;
}

.tl_contact_box_wrap .service-choice:has(input:checked) .choice-icon {
    background:#182338 !important;
    border-color:#182338 !important;
    color:#f1d18a !important;
}

.tl_contact_box_wrap .service-choice:has(input:checked) .choice-icon i {
    color:#f1d18a !important;
}

.tl_contact_box_wrap .service-choice:has(input:checked)::after {
    background:#b68b3e !important;
    color:#fff !important;
}

/* 주소/층수/운반수단 필드 */
.tl_contact_box_wrap .premium-field .field-label {
    color:#39465b !important;
    font-weight:800 !important;
}

.tl_contact_box_wrap .premium-field .field-label em {
    color:#b28a45 !important;
}

.tl_contact_box_wrap .field-box {
    background:transparent !important;
}

.tl_contact_box_wrap .move-input,
.tl_contact_box_wrap .small-input,
.tl_contact_box_wrap .move-select,
.tl_contact_box_wrap .move-textarea {
    background:#ffffff !important;
    border:1px solid #dfe4ea !important;
    color:#182235 !important;
    box-shadow:0 2px 7px rgba(18,30,48,.035) !important;
}

.tl_contact_box_wrap .move-input::placeholder,
.tl_contact_box_wrap .small-input::placeholder,
.tl_contact_box_wrap .move-textarea::placeholder {
    color:#9aa3af !important;
    opacity:1 !important;
}

.tl_contact_box_wrap .move-input:focus,
.tl_contact_box_wrap .small-input:focus,
.tl_contact_box_wrap .move-select:focus,
.tl_contact_box_wrap .move-textarea:focus {
    border-color:#c8a25c !important;
    background:#fff !important;
    box-shadow:0 0 0 4px rgba(200,162,92,.12) !important;
}

/* 주소 아이콘이 회색 배경에 묻히지 않도록 진한 네이비 */
.tl_contact_box_wrap .field-icon {
    color:#31415b !important;
    font-size:19px !important;
    opacity:1 !important;
    visibility:visible !important;
}

.tl_contact_box_wrap .address-input {
    color:#172033 !important;
}

.tl_contact_box_wrap .address-input::placeholder {
    color:#9aa3af !important;
}

/* 주소검색 버튼 */
.tl_contact_box_wrap .address-search-btn {
    background:linear-gradient(135deg,#27364e,#182338) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.06) !important;
    box-shadow:0 5px 12px rgba(24,35,56,.18) !important;
}

.tl_contact_box_wrap .address-search-btn:hover {
    background:linear-gradient(135deg,#b88f46,#8e682c) !important;
}

/* 출발 / 도착 표시 */
.tl_contact_box_wrap .route-card {
    background:#ffffff !important;
    border:1px solid #e0e4e9 !important;
    box-shadow:0 8px 25px rgba(18,30,48,.045) !important;
}

.tl_contact_box_wrap .route-marker.start {
    background:linear-gradient(135deg,#273850,#172338) !important;
    color:#fff !important;
}

.tl_contact_box_wrap .route-marker.end {
    background:linear-gradient(135deg,#b68c45,#8e682d) !important;
    color:#fff !important;
}

.tl_contact_box_wrap .route-line {
    border-color:#d9dee5 !important;
}

.tl_contact_box_wrap .route-line span {
    background:#b9914c !important;
    border-color:#fff !important;
}

/* select 화살표 */
.tl_contact_box_wrap .select-box::after {
    color:#536176 !important;
}

/* 날짜/시간 아이콘도 동일하게 */
.tl_contact_box_wrap .date-wrap > .field-icon {
    color:#31415b !important;
}

/* 상세내용 / 체크 / 요약 영역 */
.tl_contact_box_wrap .textarea-box,
.tl_contact_box_wrap .estimate-summary {
    color:#172033 !important;
}

.tl_contact_box_wrap .estimate-summary {
    background:linear-gradient(135deg,#fffaf0,#f7f8fa) !important;
    border:1px solid #e3d3ad !important;
}

.tl_contact_box_wrap .summary-copy strong {
    color:#172033 !important;
}

.tl_contact_box_wrap .summary-copy small {
    color:#6e7785 !important;
}

.tl_contact_box_wrap .estimate-tip,
.tl_contact_box_wrap .estimate-bottom-note {
    color:#6d7785 !important;
}

/* 버튼은 네이비 + 골드 조합으로 통일 */
.tl_contact_box_wrap .send_page a,
.tl_contact_box_wrap .send_page button {
    border:1px solid transparent !important;
}

/* ----------------------------------------------------------
   C. 모바일 최종 보정
---------------------------------------------------------- */
@media (max-width:700px) {
    .tl_main_gallery_wrap,
    .tl_product_box_wrap {
        padding:88px 16px !important;
    }

    .tl_main_gallery_wrap .panorama_wrap,
    .tl_product_box_wrap .panorama_wrap {
        height:340px !important;
        border-radius:15px !important;
    }

    .tl_main_gallery_wrap .panorama_image,
    .tl_product_box_wrap .panorama_image {
        height:100% !important;
    }

    .tl_main_gallery_wrap .panorama_image img,
    .tl_product_box_wrap .panorama_image img {
        height:100% !important;
        width:auto !important;
        max-width:none !important;
        object-fit:contain !important;
    }

    .tl_product_box_wrap h2:before {
        font-size:9px !important;
        letter-spacing:2.5px !important;
    }

    .tl_product_box_wrap h2 span,
    .tl_main_gallery_wrap h2 span {
        color:rgba(255,255,255,.80) !important;
    }

    .tl_contact_box_wrap .estimate-card {
        background:#f7f8fa !important;
    }

    .tl_contact_box_wrap .service-choice {
        background:#fff !important;
    }

    .tl_contact_box_wrap .choice-icon {
        background:#edf1f6 !important;
        color:#26354d !important;
    }

    .tl_contact_box_wrap .choice-icon i {
        color:#26354d !important;
    }

    .tl_contact_box_wrap .route-card {
        background:#fff !important;
        padding:15px !important;
    }

    .tl_contact_box_wrap .move-input,
    .tl_contact_box_wrap .small-input,
    .tl_contact_box_wrap .move-select {
        background:#fff !important;
    }
}

@media (max-width:380px) {
    .tl_main_gallery_wrap .panorama_wrap,
    .tl_product_box_wrap .panorama_wrap {
        height:315px !important;
    }
}

/* ==========================================================
   인사말 PC 레이아웃 보정
   - 모바일과 동일하게 STORY → 사진 → 본문 순서
   - 기존 HTML/테이블/기능은 변경하지 않음
========================================================== */
@media screen and (min-width: 961px) {
    .tl_greeting_box_wrap .greeting_content {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: calc(100% - 40px) !important;
        max-width: 1380px !important;
        margin: 35px auto 45px !important;
        padding: 58px 90px 72px !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    /* JEJU MOVE STORY */
    .tl_greeting_box_wrap .greeting_content:before {
        order: 1 !important;
        display: block !important;
        width: 100% !important;
        margin: 0 0 26px !important;
        text-align: center !important;
        color: #b18a43 !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: 4px !important;
        line-height: 1.4 !important;
    }

    /* 사진 */
    .tl_greeting_box_wrap .greeting_image {
        order: 2 !important;
        flex: none !important;
        width: min(560px, 100%) !important;
        max-width: 560px !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        margin: 0 auto 48px !important;
        padding: 0 !important;
        border-radius: 18px !important;
        overflow: hidden !important;
        background-position: center !important;
        box-shadow: 0 20px 48px rgba(25,31,40,.16) !important;
    }

    /* 본문 */
    .tl_greeting_box_wrap .greeting_text {
        order: 3 !important;
        width: min(900px, 100%) !important;
        max-width: 900px !important;
        flex: none !important;
        padding: 0 !important;
        margin: 0 auto !important;
        text-align: left !important;
    }

    .tl_greeting_box_wrap .greeting_text h3 {
        margin: 0 0 34px !important;
        text-align: center !important;
        font-size: clamp(30px, 3vw, 42px) !important;
        line-height: 1.35 !important;
        letter-spacing: -1.8px !important;
        color: #171c24 !important;
    }

    .tl_greeting_box_wrap .greeting_text p {
        margin: 0 0 19px !important;
        color: #515b69 !important;
        font-size: 17px !important;
        line-height: 2 !important;
        letter-spacing: -0.35px !important;
        word-break: keep-all !important;
        text-align: left !important;
    }

    .tl_greeting_box_wrap .greeting_text p.highlight-bold {
        margin-top: 36px !important;
        margin-bottom: 16px !important;
        color: #202731 !important;
        font-size: 22px !important;
        line-height: 1.7 !important;
        font-weight: 800 !important;
    }

    .tl_greeting_box_wrap .greeting_text p.sign-off {
        margin-top: 22px !important;
        color: #a77b2b !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-align: right !important;
        letter-spacing: .4px !important;
    }
}

/* ==========================================================
   06. 메인 메뉴 프리미엄 타이포그래피 / 컬러 보정
   - 기존 메뉴 구조와 기능은 유지하고 시각 스타일만 보정
   ========================================================== */
#header .gnb > li > a {
    color: rgba(255,255,255,.82) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: -0.25px !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.20) !important;
    transition: color .28s ease, text-shadow .28s ease !important;
}

#header .gnb > li {
    padding: 0 17px !important;
}

#header .gnb > li > a:hover {
    color: #e4c477 !important;
    text-shadow: 0 0 14px rgba(228,196,119,.20) !important;
}

/* 메뉴 아래에 아주 얇은 골드 포인트 */
#header .gnb > li > a::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    margin: 8px auto 0;
    background: linear-gradient(90deg, transparent, #d8b76a, transparent);
    opacity: 0;
    transition: width .28s ease, opacity .28s ease;
}

#header .gnb > li > a:hover::after,
#header .gnb > li.active > a::after {
    width: 24px;
    opacity: 1;
}

#header .gnb > li.active > a {
    color: #e2c178 !important;
    font-weight: 700 !important;
    text-shadow: 0 0 14px rgba(226,193,120,.16) !important;
}

/* 헤더의 우측 메뉴/사이드 버튼도 같은 톤으로 */
#header #right-side-open {
    border-left: 1px solid rgba(226,193,120,.16) !important;
}

#header #right-side-open span {
    color: #f2ead8 !important;
    transition: color .25s ease, transform .25s ease !important;
}

#header #right-side-open:hover span {
    color: #e2c178 !important;
    transform: scale(1.06);
}

/* 드롭다운 메뉴 */
#header .gnb .snb li a {
    color: rgba(255,255,255,.74) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: -0.15px !important;
}

#header .gnb .snb li a:hover {
    color: #e2c178 !important;
    background: linear-gradient(90deg, rgba(226,193,120,.10), rgba(226,193,120,.02)) !important;
}

/* 스크롤 후에도 동일한 고급 톤 유지 */
@media screen and (min-width: 960.02px) {
    body.scrolled #header .gnb > li > a {
        color: rgba(255,255,255,.86) !important;
    }
    body.scrolled #header .gnb > li > a:hover,
    body.scrolled #header .gnb > li.active > a {
        color: #e2c178 !important;
    }
}

/* 모바일에서는 기존 햄버거/모바일 메뉴 구조를 그대로 유지 */
@media screen and (max-width: 960px) {
    #header .gnb > li > a::after { display:none !important; }
}

/* ==========================================================
   07. 견적내용 복사 버튼 최종 가독성 보정
   - 기존 폼/테이블/기능은 유지하고 버튼의 시각 스타일만 보정
   ========================================================== */
.tl_contact_box_wrap .send_page .copy-btn {
    background: linear-gradient(135deg, #1c2738 0%, #101722 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(216,183,106,.55) !important;
    box-shadow: 0 8px 20px rgba(16,23,34,.18) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: -0.15px !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.22) !important;
}

.tl_contact_box_wrap .send_page .copy-btn i,
.tl_contact_box_wrap .send_page .copy-btn svg {
    color: #e2c178 !important;
    fill: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 17px !important;
}

.tl_contact_box_wrap .send_page .copy-btn:hover {
    background: linear-gradient(135deg, #26364d 0%, #182338 100%) !important;
    color: #ffffff !important;
    border-color: #e2c178 !important;
    box-shadow: 0 12px 26px rgba(16,23,34,.24) !important;
}

.tl_contact_box_wrap .send_page .copy-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 5px 12px rgba(16,23,34,.18) !important;
}

/* 모바일에서도 '견적 내용 복사'가 흰 배경에 묻히지 않도록 */
@media screen and (max-width: 700px) {
    .tl_contact_box_wrap .send_page .copy-btn {
        min-height: 47px !important;
        height: 47px !important;
        width: 100% !important;
        color: #ffffff !important;
        background: linear-gradient(135deg, #1c2738 0%, #101722 100%) !important;
        border-color: rgba(216,183,106,.60) !important;
    }

    .tl_contact_box_wrap .send_page .copy-btn i,
    .tl_contact_box_wrap .send_page .copy-btn svg {
        color: #e2c178 !important;
    }
}

/* =========================================================
   1. 기본 운송요금조회 4버튼 + price.php 모달 스타일
   ========================================================= */










html.price-modal-open,
body.price-modal-open {
    overflow: hidden !important;
}

.price-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}

.price-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.price-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 8, 14, .68);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

.price-modal-panel {
    position: relative;
    z-index: 1;
    width: min(680px, 94vw);
    height: min(780px, 88vh);
    min-height: 480px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(0,0,0,.48), 0 0 0 1px rgba(0,0,0,.08);
    transform: translateY(14px) scale(.98);
    transition: transform .28s cubic-bezier(.2,.8,.2,1);
}

.price-modal.is-open .price-modal-panel {
    transform: translateY(0) scale(1);
}

.price-modal-header {
    flex: 0 0 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px 0 18px;
    background: #111827;
    color: #ffffff;
}

.price-modal-header strong {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.4px;
}

.price-modal-close {
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    color: #ffffff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.price-modal-close:hover {
    background: rgba(255,255,255,.18);
}

.price-modal-body {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    background: #ffffff;
}

.price-modal-body iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}


/* =========================================================
   3. 프리미엄 헤더 배경 및 GNB 스타일 (네모 박스 완전 제거 버전)
   ========================================================= */
#header .gnb > li > a {
    display: inline-block !important;
    position: relative !important;
    padding: 0 !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: -0.35px !important;
    line-height: 80px !important;
    background: transparent !important;
    text-shadow: 0 1px 5px rgba(0,0,0,.35) !important;
    transition: color .25s ease, text-shadow .25s ease !important;
}

#header .gnb > li > a:hover,
#header .gnb > li.active > a {
    color: #e5c477 !important;
    background: transparent !important;
}

/* 헤더 전체 테두리 및 그림자 완전 제거 */
#header {
    background: 
        radial-gradient(circle at 18% 15%, rgba(255,255,255,.09), transparent 28%),
        radial-gradient(circle at 82% 85%, rgba(199,157,67,.10), transparent 30%),
        linear-gradient(145deg, #222b39 0%, #121923 48%, #080d14 100%) !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* 내부 래퍼 테두리 및 그림자 완전 제거 */
#header .header-inner {
    background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(0,0,0,.08)) !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* 우측 메뉴 버튼 등 구분선 제외하고 불필요한 네모 선 제거 */
#header #right-side-open {
    border-left: 1px solid rgba(229,196,119,.18) !important;
}

@media screen and (max-width: 960px) {
    #header {
        background: 
            radial-gradient(circle at 20% 10%, rgba(255,255,255,.10), transparent 32%),
            radial-gradient(circle at 85% 90%, rgba(199,157,67,.11), transparent 34%),
            linear-gradient(145deg, #222b39 0%, #111923 52%, #080d14 100%) !important;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }
}
/* =========================================================
   4. 히어로 섹션 CTA 버튼 기본 및 반응형 정렬
   ========================================================= */


#visual .hero-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 62px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    gap: 8px !important;
    border-radius: 13px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 20px rgba(0,0,0,.30) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.22) !important;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

#visual .hero-btn:hover {
    transform: translateY(-3px) !important;
    filter: brightness(1.04) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 12px 26px rgba(0,0,0,.34) !important;
}

#visual .hero-btn .icon {
    font-size: 22px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}

#visual .btn-kakao { background: linear-gradient(145deg, #ffe94a, #f6ca00) !important; color: #171717 !important; text-shadow: none !important; border-color: rgba(255,255,255,.45) !important; }
#visual .btn-phone { background: linear-gradient(145deg, #3f7cff, #1747b8) !important; color: #fff !important; }
#visual .btn-price { background: linear-gradient(145deg, #334155, #111827) !important; color: #fff !important; }
#visual .btn-estimate { background: linear-gradient(145deg, #18c9d6, #087f9a) !important; color: #fff !important; }

/* --- 태블릿 / 중간 화면 구간 (1100px 이하) --- */
@media screen and (max-width: 1100px) {
    #visual .hero-card-box {
        position: relative !important;
        box-sizing: border-box !important;
    }

    #visual .hero-content-wrapper {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    

    

    
}

/* 텍스트와 CTA 겹침 방지 여백 */
@media screen and (min-width: 769px) and (max-width: 1100px) {
    #visual .hero-content-wrapper {
        padding-bottom: 80px !important;
        max-width: 750px !important;
    }
}

/* --- 모바일 일반 구간 (768px 이하) --- */
@media screen and (max-width: 768px) {
    #visual.visual_slider {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    #visual .hero-card-box {
        width: 100% !important;
        padding: 20px !important;
    }

    /* 흰색 메인 타이틀 글씨 겹침 방지 및 크기 축소 */
    #visual .hero-title-main {
        font-size: 24px !important;
        margin-top: -10px !important;
        margin-bottom: 15px !important;
    }

    

    

    /* 트러스트 배지 상단 이동 */
    #visual .hero-trust-badges {
        display: flex !important;
        position: absolute !important;
        top: 22px !important;
        bottom: auto !important;
        right: 18px !important;
        left: auto !important;
        z-index: 8 !important;
        gap: 6px !important;
        align-items: center !important;
        justify-content: flex-end !important;
        white-space: nowrap !important;
    }

    #visual .hero-trust-badges .trust-badge-item {
        font-size: 10px !important;
        padding: 4px 8px !important;
        line-height: 1.2 !important;
        border-radius: 5px !important;
    }
}

/* --- 소형 모바일 구간 (480px / 420px 이하) --- */
@media screen and (max-width: 480px) {
    #visual .hero-card-box {
        padding: 18px 15px !important;
    }

    /* 480px부터 버튼 박스 크기는 고정하고 화면이 작아질수록 좌우 여백만 줄임 */
    

    

    

    #visual .hero-trust-badges {
        top: 16px !important;
        right: 14px !important;
        gap: 4px !important;
    }

    #visual .hero-trust-badges .trust-badge-item {
        font-size: 9px !important;
        padding: 4px 6px !important;
    }
}

/* --- 초소형 기기 구간 (340px 이하) --- */
@media screen and (max-width: 340px) {
    #visual .hero-card-box {
        padding: 16px 12px !important;
    }

    /* 340px 이하에서도 버튼 크기는 유지하고 좌우 여백만 축소 */
    

    

    

    #visual .hero-trust-badges {
        top: 12px !important;
        right: 10px !important;
    }

    #visual .hero-trust-badges .trust-badge-item {
        font-size: 8px !important;
        padding: 3px 5px !important;
    }
}

/* =========================================================
   모바일/태블릿 화면 글씨 겹침 현상 최종 해결 패치
   ========================================================= */
@media screen and (max-width: 1100px) {
    /* 히어로 콘텐츠 영역을 상대 위치로 설정하여 내부 요소들의 기준점으로 삼음 */
    #visual .hero-content-wrapper {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        padding-bottom: 90px !important; /* 하단 버튼 영역과 겹치지 않도록 여백 확보 */
    }

    /* 메인 타이틀 (흰색 글씨) 겹침 방지 및 크기 정돈 */
    #visual .hero-title-main,
    #visual .hero-content-wrapper h1 {
        position: relative !important;
        font-size: 24px !important;
        line-height: 1.35 !important;
        margin-top: 0 !important;
        margin-bottom: 12px !important;
        top: auto !important;
        transform: none !important;
        clear: both !important;
    }

    /* 서브 설명글 겹침 방지 */
    #visual .hero-title-sub,
    #visual .hero-content-wrapper p {
        position: relative !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        margin-bottom: 15px !important;
        top: auto !important;
    }
}

/* 768px 이하 모바일 화면에서 추가 미세 조정 */
@media screen and (max-width: 768px) {
    #visual .hero-card-box {
        width: 100% !important;
        padding: 22px 16px !important;
        box-sizing: border-box !important;
    }

    #visual .hero-title-main,
    #visual .hero-content-wrapper h1 {
        font-size: 21px !important;
        margin-bottom: 10px !important;
    }

    #visual .hero-title-sub,
    #visual .hero-content-wrapper p {
        font-size: 13px !important;
        margin-bottom: 12px !important;
    }
}

/* =========================================================
   사각 버튼 4개가 위로 올라와 겹치는 현상 방지 패치
   ========================================================= */
@media screen and (max-width: 1100px) {
    /* 콘텐츠 영역 전체에 하단 버튼 공간 확보 */
    #visual .hero-content-wrapper {
        padding-bottom: 110px !important;
    }

    /* 사각 버튼 그룹 위치를 아래로 고정하고 침범 방지 */
    
}

@media screen and (max-width: 768px) {
    #visual .hero-content-wrapper {
        padding-bottom: 100px !important;
    }

    
}

@media screen and (max-width: 480px) {
    #visual .hero-content-wrapper {
        padding-bottom: 90px !important;
    }

    
}
/* =========================================================
   숫자 01, 02, 03 뱃지만 가운데 정렬하기
   ========================================================= */
.why-delivery-wrap .card-number-badge {
    margin: 0 auto 24px auto !important; /* 좌우 마진을 auto로 주어 중앙 정렬 */
}
/* =========================================================
   GNB 메뉴 선택(Active) 및 호버(Hover) 시 나타나는 네모 배경 완전 제거
   ========================================================= */
#header .gnb > li > a:hover,
#header .gnb > li.active > a,
#header .gnb > li > a:focus,
#header .gnb > li.on > a {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 만약 li 태그 자체에 네모 박스나 배경이 잡혀있는 경우 */
#header .gnb > li:hover,
#header .gnb > li.active,
#header .gnb > li.on {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* =========================================
   상단으로 버튼
   ========================================= */

#top_btn {
    position: fixed !important;
    right: 30px !important;
    bottom: 80px !important;

    width: 50px !important;
    height: 50px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(226,193,120,.45) !important;
    border-radius: 50% !important;

    background: rgba(15,15,15,.90) !important;
    color: #e2c178 !important;

    box-shadow: 0 5px 18px rgba(0,0,0,.30) !important;

    cursor: pointer !important;
    z-index: 9999 !important;

    transition: all .25s ease !important;
}

/* 아이콘 */
#top_btn .material-icons {
    font-size: 24px !important;
    line-height: 1 !important;
}

/* 마우스 호버 */
#top_btn:hover {
    color: #f6dfaa !important;
    border-color: #e2c178 !important;
    background: rgba(25,25,25,.95) !important;
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0,0,0,.40),
                0 0 12px rgba(226,193,120,.15) !important;
}
/* =========================================================
   모바일 히어로 사각 버튼 최종 고정 크기 패치
   - 480px 이하에서도 버튼 그룹 자체 크기는 유지
   - 화면이 좁아질 때 좌우 여백만 줄어듦
   - 반드시 파일의 가장 마지막에 위치해야 함
   ========================================================= */





/* ==========================================================
   JEJU MOVE PREMIUM SECTIONS
   신규 제주이사 절차·실적 안내·FAQ 섹션
========================================================== */
.jeju-process-section,
.jeju-proof-section,
.jeju-faq-section {
    position:relative;
    padding:112px 24px;
    overflow:hidden;
}
.jeju-section-inner { width:100%; max-width:1200px; margin:0 auto; }
.jeju-eyebrow {
    margin:0 0 15px;
    color:#b18a43;
    font-size:11px;
    font-weight:800;
    letter-spacing:3px;
    text-align:center;
}
.jeju-process-section h2,
.jeju-proof-section h2,
.jeju-faq-section h2 {
    margin:0 auto 18px;
    color:#171c24;
    font-size:clamp(30px,4vw,46px);
    font-weight:800;
    line-height:1.3;
    letter-spacing:-1.8px;
    text-align:center;
    word-break:keep-all;
}
.jeju-section-intro {
    max-width:760px;
    margin:0 auto 48px;
    color:#626b78;
    font-size:16px;
    line-height:1.9;
    text-align:center;
    word-break:keep-all;
}
.jeju-process-section {
    background:linear-gradient(135deg,#f7f8fa 0%,#eceff4 100%);
}
.jeju-process-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.jeju-process-grid article {
    min-height:225px;
    padding:30px 26px;
    border:1px solid rgba(25,33,45,.09);
    border-radius:18px;
    background:rgba(255,255,255,.88);
    box-shadow:0 15px 38px rgba(24,32,44,.07);
}
.jeju-process-grid article > span {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin:0 auto 22px;
    border-radius:50%;
    background:#202938;
    color:#e8cb87;
    font-size:12px;
    font-weight:800;
}
.jeju-process-grid h3 { margin:0 0 12px; color:#202632; font-size:19px; letter-spacing:-.6px; text-align:center; }
.jeju-process-grid p { margin:0; color:#626b78; font-size:14px; line-height:1.85; word-break:keep-all; }
.jeju-proof-section {
    color:#fff;
    background:radial-gradient(circle at 15% 10%,rgba(214,177,95,.13),transparent 28%),linear-gradient(135deg,#111720,#080b10);
}
.jeju-proof-section h2 { color:#fff; }
.jeju-proof-section h2 em { color:#e2c178; font-style:normal; }
.jeju-proof-section .jeju-proof-inner > p:not(.jeju-eyebrow) {
    max-width:850px;
    margin:0 auto 24px;
    color:rgba(255,255,255,.76);
    font-size:15px;
    line-height:1.9;
    text-align:center;
    word-break:keep-all;
}
.jeju-proof-number {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    max-width:620px;
    min-height:150px;
    margin:34px auto 22px;
    padding:24px;
    border:1px solid rgba(226,193,120,.35);
    border-radius:18px;
    background:rgba(255,255,255,.045);
}
.jeju-proof-number strong { color:#e2c178; font-size:clamp(22px,3vw,34px); letter-spacing:-1px; text-align:center; }
.jeju-proof-number span { margin-top:10px; color:rgba(255,255,255,.72); font-size:13px; }
.jeju-proof-section .jeju-proof-inner > p.jeju-proof-note { font-size:12px; color:rgba(255,255,255,.52); }
.jeju-outline-link {
    display:table;
    margin:30px auto 0;
    padding:14px 22px;
    border:1px solid rgba(226,193,120,.55);
    border-radius:999px;
    color:#f6dfaa;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    transition:background .25s ease,transform .25s ease;
}
.jeju-outline-link:hover { background:rgba(226,193,120,.1); transform:translateY(-2px); }
.jeju-faq-section { background:#fff; }
.jeju-faq-list { max-width:920px; margin:38px auto 0; border-top:1px solid #dfe3e9; }
.jeju-faq-list details { border-bottom:1px solid #dfe3e9; }
.jeju-faq-list summary {
    position:relative;
    padding:23px 48px 23px 8px;
    color:#202632;
    font-size:16px;
    font-weight:750;
    line-height:1.6;
    cursor:pointer;
    list-style:none;
    word-break:keep-all;
}
.jeju-faq-list summary::-webkit-details-marker { display:none; }
.jeju-faq-list summary:after { content:"+"; position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#a77b2b; font-size:25px; font-weight:400; }
.jeju-faq-list details[open] summary:after { content:"−"; }
.jeju-faq-list details p { margin:0; padding:0 42px 24px 8px; color:#626b78; font-size:14px; line-height:1.9; word-break:keep-all; }
@media (max-width:900px) {
    .jeju-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .jeju-process-section,.jeju-proof-section,.jeju-faq-section { padding:82px 20px; }
}
@media (max-width:560px) {
    .jeju-process-grid { grid-template-columns:1fr; gap:12px; }
    .jeju-process-grid article { min-height:0; padding:24px 22px; }
    .jeju-process-grid article > span { margin-bottom:14px; }
    .jeju-process-section h2,.jeju-proof-section h2,.jeju-faq-section h2 { letter-spacing:-1.2px; }
    .jeju-section-intro { font-size:14px; margin-bottom:30px; }
    .jeju-faq-list summary { font-size:15px; padding-top:19px; padding-bottom:19px; }
    .jeju-faq-list details p { font-size:13px; }
}

/* 누적 이사 고객 수 안내 패널: 실제 데이터가 연결되기 전에는 수치를 만들지 않습니다. */
.jeju-count-panel {
    max-width:900px;
    margin:64px auto 0;
    padding:38px 34px;
    border:1px solid rgba(226,193,120,.32);
    border-radius:22px;
    background:linear-gradient(135deg,#151c27,#090d13);
    box-shadow:0 20px 55px rgba(12,18,28,.16);
}
.jeju-count-panel h3 { margin:0 auto 14px; color:#fff; font-size:clamp(23px,3vw,32px); line-height:1.4; text-align:center; letter-spacing:-1px; }
.jeju-count-panel h3 em { color:#e2c178; font-style:normal; }
.jeju-count-panel > p:not(.jeju-eyebrow) { max-width:760px; margin:0 auto 16px; color:rgba(255,255,255,.75); font-size:14px; line-height:1.9; text-align:center; word-break:keep-all; }
.jeju-count-panel .jeju-eyebrow { color:#e2c178; }
.jeju-count-panel .jeju-proof-number { margin:24px auto 18px; }
.jeju-count-panel .jeju-proof-note { color:rgba(255,255,255,.5) !important; font-size:12px !important; }
@media (max-width:560px) { .jeju-count-panel { margin-top:38px; padding:28px 18px; } }


/* ==========================================================
   제주이사 HERO CTA 버튼 통합 스타일
   - hero-btn-group 관련 중복 선언을 이 블록에서만 관리
   - PC 4열 / 태블릿·모바일 2열 반응형
========================================================== */
#visual .hero-btn-group {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: min(760px, 100%) !important;
    box-sizing: border-box !important;
}

#visual .hero-btn-group .hero-btn,
#visual .hero-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    height: auto !important;
    padding: 10px 8px !important;
    box-sizing: border-box !important;
    gap: 6px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

#visual .hero-btn-group .hero-btn .icon,
#visual .hero-btn .icon {
    flex: 0 0 auto !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

#visual .hero-btn-group .btn-price {
    border: 0 !important;
    cursor: pointer !important;
    font-family: inherit !important;
}

@media screen and (max-width: 1100px) {
    #visual .hero-content-wrapper {
        padding-bottom: 110px !important;
    }

    #visual .hero-btn-group {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        bottom: 20px !important;
        transform: translateX(-50%) !important;
        width: 64% !important;
        max-width: 760px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(2, minmax(42px, auto)) !important;
        gap: 8px !important;
        margin: 0 !important;
        z-index: 6 !important;
    }

    #visual .hero-btn-group .hero-btn,
    #visual .hero-btn {
        min-height: 43px !important;
        height: 43px !important;
        padding: 6px 8px !important;
        font-size: 14px !important;
    }
}

@media screen and (max-width: 768px) {
    #visual .hero-content-wrapper {
        padding-bottom: 100px !important;
    }

    #visual .hero-btn-group {
        width: 64% !important;
        bottom: 1px !important;
        gap: 6px !important;
    }

    #visual .hero-btn-group .hero-btn,
    #visual .hero-btn {
        min-height: 42px !important;
        height: 42px !important;
        padding: 5px 5px !important;
        font-size: 13px !important;
        letter-spacing: -0.6px !important;
    }

    #visual .hero-btn-group .hero-btn .icon,
    #visual .hero-btn .icon {
        font-size: 16px !important;
    }
}

@media screen and (max-width: 480px) {
    #visual .hero-content-wrapper {
        padding-bottom: 90px !important;
    }

    #visual .hero-btn-group {
        width: 300px !important;
        max-width: calc(100% - 20px) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(2, 44px) !important;
        gap: 6px !important;
        bottom: 1px !important;
    }

    #visual .hero-btn-group .hero-btn,
    #visual .hero-btn {
        min-height: 44px !important;
        height: 44px !important;
        padding: 5px 4px !important;
        font-size: 12px !important;
        letter-spacing: -0.65px !important;
    }
}

@media screen and (max-width: 340px) {
    #visual .hero-btn-group {
        max-width: calc(100% - 16px) !important;
        gap: 5px !important;
    }

    #visual .hero-btn-group .hero-btn,
    #visual .hero-btn {
        padding: 5px 2px !important;
        font-size: 11px !important;
        letter-spacing: -0.7px !important;
    }
}

/* ==========================================================
   제주이사 HERO CTA — 프리미엄 네이비 & 샴페인 골드 컬러
   기존 버튼 색상 선언보다 우선 적용
========================================================== */
#visual .hero-btn-group .hero-btn,
#visual .hero-btn {
    border: 1px solid rgba(222, 190, 122, .58) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 22px rgba(0,0,0,.28) !important;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, filter .22s ease !important;
}

/* 카카오 상담: 브랜드 식별성은 유지하되 차분한 샴페인 골드 */
#visual .hero-btn-group .btn-kakao {
    background: linear-gradient(135deg, #f3df9b 0%, #d6b45e 100%) !important;
    color: #172033 !important;
    border-color: rgba(255, 239, 190, .85) !important;
    text-shadow: none !important;
}

/* 전화 상담: 깊은 네이비 */
#visual .hero-btn-group .btn-phone {
    background: linear-gradient(135deg, #26364c 0%, #111b2a 100%) !important;
    color: #fffaf0 !important;
    border-color: rgba(222, 190, 122, .62) !important;
}

/* 운송요금조회: 고급스러운 차콜 */
#visual .hero-btn-group .btn-price {
    background: linear-gradient(135deg, #394252 0%, #202735 100%) !important;
    color: #fffaf0 !important;
    border-color: rgba(222, 190, 122, .62) !important;
}

/* 견적문의: 골드 포인트 버튼 */
#visual .hero-btn-group .btn-estimate {
    background: linear-gradient(135deg, #c9a65a 0%, #987638 100%) !important;
    color: #ffffff !important;
    border-color: rgba(255, 231, 167, .72) !important;
}

#visual .hero-btn-group .hero-btn:hover,
#visual .hero-btn:hover {
    filter: brightness(1.08) !important;
    transform: translateY(-2px) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 12px 28px rgba(0,0,0,.34) !important;
}

#visual .hero-btn-group .hero-btn .icon,
#visual .hero-btn .icon {
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.12));
}

/* ==========================================================
   JEJU PREMIUM SERVICE | #service only | 2026-10
   기존 HTML, 4/2/1열 레이아웃 및 다른 섹션 변경 없음
   ========================================================== */
#service.tl_company_box_wrap {
    background: radial-gradient(ellipse at 50% 0%, rgba(191,151,78,.14), transparent 48%), linear-gradient(145deg,#171d26 0%,#0d1118 58%,#171c23 100%) !important;
    background-size: auto !important;
    color: #f5f1e8 !important;
}
#service.tl_company_box_wrap::before { color:rgba(224,188,116,.66) !important; }
#service .top_title_area .sub_tag {
    color:#e6c783 !important;
    background:rgba(211,172,99,.09) !important;
    border:1px solid rgba(224,188,116,.38) !important;
    letter-spacing:.3px !important;
}
#service .top_title_area h2 {color:#f9f7f2 !important;}
#service .top_title_area h2 b {color:#e9c67c !important;}
#service .top_title_area .sub_desc {color:#c0c5cd !important;}
#service .top_title_area .sub_desc b {color:#f1d79b !important;}
#service ul li .box,
#service ul li .box.c-blue,
#service ul li .box.c-orange,
#service ul li .box.c-green,
#service ul li .box.c-purple,
#service ul li .box.c-teal,
#service ul li .box.c-indigo,
#service ul li .box.c-amber,
#service ul li .box.c-rose {
    background:linear-gradient(155deg,#272d36 0%,#1a2029 55%,#151a22 100%) !important;
    border:1px solid rgba(216,180,108,.34) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045), 0 14px 30px rgba(0,0,0,.23) !important;
}
#service ul li .box:hover {
    transform:translateY(-6px) !important;
    border-color:rgba(243,206,137,.85) !important;
    background:linear-gradient(155deg,#32313a,#20252d 60%,#1a1e26) !important;
    box-shadow:0 22px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(231,194,122,.13) !important;
}
#service ul li .box .card_tag {color:#d9bb7b !important; letter-spacing:1.3px !important;}
#service ul li .box .icon,
#service ul li .box.c-blue .icon,
#service ul li .box.c-orange .icon,
#service ul li .box.c-green .icon,
#service ul li .box.c-purple .icon,
#service ul li .box.c-teal .icon,
#service ul li .box.c-indigo .icon,
#service ul li .box.c-amber .icon,
#service ul li .box.c-rose .icon {
    background:linear-gradient(145deg,#d8b66f,#947038) !important;
    border:1px solid rgba(255,235,182,.45) !important;
    box-shadow:0 7px 20px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
#service ul li .box .icon i {color:#171b22 !important;}
#service ul li .box dl dt {color:#fffaf0 !important;}
#service ul li .box dl dd,
#service ul li .box dl dd.lead {color:#c2c5cb !important;}
#service .tl_warning_title {border-color:rgba(221,185,112,.48) !important;}
@media (prefers-reduced-motion: reduce) {
    #service ul li .box,
    #service ul li .box .icon {transition:none !important;}
    #service ul li .box:hover,
    #service ul li .box:hover .icon {transform:none !important;}
}


/* =========================================================
   JEJU PREMIUM CONTACT — contrast & gold refinement
   견적문의 섹션 색상 개선 (기존 레이아웃/기능 유지)
   ========================================================= */
.tl_contact_box_wrap {
  background: radial-gradient(ellipse at 18% 0%,rgba(207,169,91,.18),transparent 40%),
              linear-gradient(140deg,#080d14 0%,#172230 52%,#080d14 100%) !important;
}
.tl_contact_box_wrap .estimate-heading h2 { color:#fff !important; }
.tl_contact_box_wrap .estimate-heading h2 span,
.tl_contact_box_wrap .estimate-heading p { color:#e1e7ee !important; }
.tl_contact_box_wrap .estimate-card {
  background:#fffdf9 !important;
  border:1px solid #c6a05c !important;
  box-shadow:0 24px 70px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.9) !important;
  color:#152133 !important;
}
.tl_contact_box_wrap .estimate-step strong,
.tl_contact_box_wrap .field-label,
.tl_contact_box_wrap .choice-copy b,
.tl_contact_box_wrap .summary-copy strong { color:#172338 !important; }
.tl_contact_box_wrap .estimate-step span,
.tl_contact_box_wrap .choice-copy small,
.tl_contact_box_wrap .summary-copy small,
.tl_contact_box_wrap .estimate-tip,
.tl_contact_box_wrap .estimate-bottom-note { color:#4e5b6d !important; }
.tl_contact_box_wrap .step-no {
  background:linear-gradient(135deg,#f1d99e,#c49744) !important;
  color:#171b22 !important;
}
.tl_contact_box_wrap .service-choice,
.tl_contact_box_wrap .route-card,
.tl_contact_box_wrap .textarea-box,
.tl_contact_box_wrap .estimate-summary {
  background:#ffffff !important;
  border:1px solid #d9c5a1 !important;
}
.tl_contact_box_wrap .service-choice:hover,
.tl_contact_box_wrap .service-choice:has(input:checked) {
  background:#fff8e9 !important;
  border-color:#b78935 !important;
  box-shadow:0 7px 22px rgba(143,104,38,.14) !important;
}
.tl_contact_box_wrap .choice-icon {
  background:#f7ecd6 !important;
  color:#5c421c !important;
  border-color:#e3c995 !important;
}
.tl_contact_box_wrap .choice-icon i { color:#5c421c !important; }
.tl_contact_box_wrap .move-input,
.tl_contact_box_wrap .small-input,
.tl_contact_box_wrap .move-select,
.tl_contact_box_wrap .move-textarea {
  background:#fff !important;
  border:1px solid #bac3ce !important;
  color:#182337 !important;
}
.tl_contact_box_wrap .move-input:focus,
.tl_contact_box_wrap .small-input:focus,
.tl_contact_box_wrap .move-select:focus,
.tl_contact_box_wrap .move-textarea:focus {
  border-color:#b58a3e !important;
  box-shadow:0 0 0 3px rgba(192,147,68,.16) !important;
}
.tl_contact_box_wrap .move-input::placeholder,
.tl_contact_box_wrap .small-input::placeholder,
.tl_contact_box_wrap .move-textarea::placeholder { color:#667385 !important; opacity:1; }


/* JEJU CONTACT DESIGN V2 — refined premium contrast */
#contact.tl_contact_box_wrap {
 background: radial-gradient(ellipse 70% 45% at 50% 0%,rgba(179,136,63,.15),transparent 75%),linear-gradient(135deg,#0d1117 0%,#151c25 52%,#0b1016 100%) !important;
 padding-top:clamp(65px,7vw,105px) !important;
 padding-bottom:clamp(70px,8vw,120px) !important;
}
#contact.tl_contact_box_wrap .estimate-card {
 background:#fbfaf7 !important;
 border:1px solid #d5bc88 !important;
 border-top:3px solid #c49a50 !important;
 border-radius:24px !important;
 box-shadow:0 30px 80px rgba(0,0,0,.3) !important;
}
#contact.tl_contact_box_wrap .estimate-step strong {color:#111d2c !important;font-weight:800 !important;}
#contact.tl_contact_box_wrap .estimate-step span {color:#536174 !important;}
#contact.tl_contact_box_wrap .estimate-divider {border-color:#d9dfe6 !important;background:#d9dfe6 !important;}
#contact.tl_contact_box_wrap .service-choice {
 background:#fff !important;border:1px solid #cdd5df !important;
 box-shadow:0 3px 12px rgba(20,31,47,.04) !important;
 transition:background .2s,border-color .2s,box-shadow .2s,transform .2s !important;
}
#contact.tl_contact_box_wrap .service-choice:hover {
 border-color:#ba904a !important;background:#fffaf0 !important;
 box-shadow:0 8px 22px rgba(66,48,18,.11) !important;transform:translateY(-2px);
}
#contact.tl_contact_box_wrap .service-choice:has(input:checked) {
 border:2px solid #ad7e2e !important;background:#fff5df !important;
 box-shadow:0 0 0 3px rgba(190,148,70,.12) !important;
}
#contact.tl_contact_box_wrap .service-choice:has(input:checked) .choice-icon {background:#19283a !important;color:#fff !important;border-color:#19283a !important;}
#contact.tl_contact_box_wrap .service-choice:has(input:checked) .choice-icon i {color:#fff !important;}
#contact.tl_contact_box_wrap .field-label {color:#273448 !important;font-weight:750 !important;}
#contact.tl_contact_box_wrap .move-input,
#contact.tl_contact_box_wrap .small-input,
#contact.tl_contact_box_wrap .move-select,
#contact.tl_contact_box_wrap .move-textarea {border-color:#bfc8d4 !important;background:#fff !important;color:#1c293b !important;}
#contact.tl_contact_box_wrap .move-input:focus,
#contact.tl_contact_box_wrap .small-input:focus,
#contact.tl_contact_box_wrap .move-select:focus,
#contact.tl_contact_box_wrap .move-textarea:focus {border-color:#a7792f !important;box-shadow:0 0 0 3px rgba(184,137,54,.17) !important;}
@media(max-width:640px){#contact.tl_contact_box_wrap .estimate-card {border-radius:17px !important;}}

/* 8개 서비스 상세 팝업: 기존 운송요금조회와 동일한 블러 방식 */
html.jeju-service-modal-open,body.jeju-service-modal-open{overflow:hidden!important}
.jeju-service-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none!important;cursor:pointer}
.jeju-service-link>.box{height:100%;box-sizing:border-box}
.jeju-service-link:focus-visible{outline:3px solid #c9a15c;outline-offset:3px;border-radius:16px}
.jeju-service-modal .price-modal-panel{width:min(900px,96vw);height:min(850px,92dvh);min-height:0}
.jeju-service-modal .price-modal-body{flex:1;min-height:0}
.jeju-service-modal .price-modal-body iframe{width:100%;height:100%;border:0;background:#faf8f4}
@media(max-width:640px){.jeju-service-modal{padding:8px}.jeju-service-modal .price-modal-panel{width:100%;height:95dvh}}


/* BAEDAL THEME: 8 service cards — remove legacy anchor frames */
.tl_company_box_wrap > .inner > ul > li > a.jeju-service-link,
.tl_company_box_wrap > .inner > ul > li:hover > a.jeju-service-link,
.tl_company_box_wrap > .inner > ul > li > a.jeju-service-link:focus,
.tl_company_box_wrap > .inner > ul > li > a.jeju-service-link:visited {
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    outline:0;
    border-radius:18px;
    background:transparent !important;
    color:inherit !important;
    line-height:normal !important;
    box-shadow:none !important;
    text-decoration:none !important;
}
.tl_company_box_wrap > .inner > ul > li > a.jeju-service-link > .box {
    width:100% !important;
    height:100% !important;
    box-sizing:border-box !important;
}
.tl_company_box_wrap > .inner > ul > li > a.jeju-service-link:focus-visible {
    outline:2px solid #d7b86f !important;
    outline-offset:3px;
}

/* 메인 비주얼: 제주이사 브랜드 강조 */
#visual .hero-title-main .hero-jeju-emphasis {
  display:inline-block;
  font-size:1.22em;
  font-weight:900;
  letter-spacing:-.055em;
  color:#f2cf83;
  background:linear-gradient(180deg,#fff2c7 0%,#e7bc67 54%,#c39242 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.55));
}
@media(max-width:640px){#visual .hero-title-main .hero-jeju-emphasis{font-size:1.16em}}


/* HERO BRAND: 밝은 단색 골드로 대비 강화 (그라데이션 투명 처리 제거) */
#visual .hero-title-main .hero-jeju-emphasis {
  color:#FFE5A0 !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:#FFE5A0 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.8),0 0 22px rgba(255,229,160,.24) !important;
  filter:none !important;
}

/* ========================================================
   JEJU CUSTOMER REVIEW SAMPLE CARDS · 4 columns / 2 mobile
   ======================================================== */
.jeju-review-section{padding:94px 20px 102px;background:linear-gradient(145deg,#111820,#1b2430 53%,#10161e);color:#f9f7f2}
.jeju-review-section .jeju-section-inner{max-width:1320px;margin:0 auto}
.jeju-review-eyebrow{font-size:12px;font-weight:800;letter-spacing:.21em;color:#d6b36e;text-align:center;margin:0 0 13px}
.jeju-review-section h2{color:#fff!important;text-align:center;font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.045em;margin:0 0 15px}
.jeju-review-disclosure{max-width:790px;margin:0 auto 36px;color:#c2cbd4;text-align:center;font-size:13px;line-height:1.8;word-break:keep-all}
.jeju-review-disclosure strong{color:#ffe1a4}
.jeju-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.jeju-review-card{display:flex;flex-direction:column;min-width:0;min-height:306px;padding:25px 22px 21px;border:1px solid rgba(217,185,124,.35);border-radius:19px;background:linear-gradient(160deg,#242b35,#171d27);box-shadow:0 15px 34px rgba(0,0,0,.16);transition:transform .2s,border-color .2s,box-shadow .2s}
.jeju-review-card:hover{transform:translateY(-4px);border-color:#d4b271;box-shadow:0 22px 40px rgba(0,0,0,.24)}
.jeju-review-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.jeju-review-star{font-size:27px;line-height:1;color:#c6a3f4}
.jeju-review-sample{font-size:11px;color:#e3c88e;border:1px solid rgba(218,185,118,.35);border-radius:100px;padding:3px 9px;white-space:nowrap}
.jeju-review-kind{font-size:12px;color:#d7bc86;font-weight:750;letter-spacing:.02em;margin-bottom:10px}
.jeju-review-card h3{font-size:17px!important;line-height:1.48;font-weight:800;color:#fff!important;letter-spacing:-.04em;margin:0 0 15px;word-break:keep-all}
.jeju-review-text{font-size:14px;line-height:1.85;color:#e0e4e9;margin:0 0 20px;word-break:keep-all;flex:1}
.jeju-review-tags{font-size:12px;color:#aeb9c6;border-top:1px solid rgba(255,255,255,.15);padding-top:15px;line-height:1.5;word-break:keep-all}
@media(max-width:950px){.jeju-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.jeju-review-card{min-height:0}}
@media(max-width:600px){.jeju-review-section{padding:64px 12px 70px}.jeju-review-grid{gap:9px}.jeju-review-card{padding:17px 13px 16px;border-radius:14px}.jeju-review-card h3{font-size:15px!important}.jeju-review-text{font-size:12.5px;line-height:1.7}.jeju-review-top{margin-bottom:12px}.jeju-review-star{font-size:22px}.jeju-review-kind{font-size:11px}.jeju-review-tags{font-size:11px}.jeju-review-disclosure{font-size:12px;margin-bottom:24px}}

/* 후기 카드 별점 숫자 표시 */
.jeju-review-top{display:flex!important;align-items:center;gap:9px}.jeju-review-score{font-size:25px;font-weight:800;color:#f7f5f0;line-height:1;letter-spacing:-.035em}

/* 후기 별점: 별 바로 옆에 크고 굵은 5.0 고정 */
.jeju-review-card .jeju-review-top{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:5px!important;margin-bottom:18px}
.jeju-review-card .jeju-review-star{display:inline-block!important;flex:0 0 auto;font-size:31px!important;line-height:1!important;color:#c6a3f4!important}
.jeju-review-card .jeju-review-score{display:inline-block!important;flex:0 0 auto;margin:0!important;padding:0!important;font-size:30px!important;font-weight:900!important;line-height:1!important;letter-spacing:-.045em!important;color:#fff9e9!important}
@media(max-width:600px){.jeju-review-card .jeju-review-top{gap:4px!important;margin-bottom:12px}.jeju-review-card .jeju-review-star{font-size:26px!important}.jeju-review-card .jeju-review-score{font-size:26px!important}}

/* 실제 후기 이미지 12개: PC 4열, 작은 화면 2열 */
.jeju-review-photo-section .jeju-review-photo-intro{max-width:760px;margin:0 auto 35px;text-align:center;color:#cdd5df;font-size:15px;line-height:1.8;word-break:keep-all}
.jeju-review-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}
.jeju-review-photo-grid .jeju-review-image-card{margin:0;min-width:0;padding:9px;border:1px solid rgba(220,185,116,.52);border-radius:17px;background:#fdfbf7;box-shadow:0 14px 34px rgba(0,0,0,.24);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.jeju-review-photo-grid .jeju-review-image-card:hover{transform:translateY(-4px);border-color:#edcf92;box-shadow:0 20px 45px rgba(0,0,0,.34)}
.jeju-review-photo-grid .jeju-review-image-card a{display:block;line-height:0;border:0!important;box-shadow:none!important;background:transparent!important;text-decoration:none!important}
.jeju-review-photo-grid .jeju-review-image-card img{display:block;width:100%;height:auto;border:0;border-radius:10px;object-fit:contain;background:#fff}
.jeju-review-photo-grid .jeju-review-image-card a:focus-visible{outline:3px solid #d5ae66;outline-offset:3px;border-radius:10px}
@media(max-width:850px){.jeju-review-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.jeju-review-photo-grid .jeju-review-image-card{padding:6px;border-radius:12px}.jeju-review-photo-grid .jeju-review-image-card img{border-radius:7px}}
@media(max-width:480px){.jeju-review-photo-grid{gap:9px}.jeju-review-photo-grid .jeju-review-image-card{padding:4px}.jeju-review-photo-section .jeju-review-photo-intro{font-size:13px}}

/* 서비스 제목 앞 하트 장식 제거 */
.tl_company_box_wrap .top_title_area h2::before { content:none !important; display:none !important; }


/* 실제 고객 후기 이미지 — 절제된 샴페인 골드 이중 프레임 */
.jeju-review-photo-grid .jeju-review-image-card{
  position:relative;
  isolation:isolate;
  padding:10px;
  border:1px solid rgba(226,192,127,.82);
  border-radius:18px;
  background:linear-gradient(145deg,#f7e6bd 0%,#b58b4c 24%,#f5deb0 48%,#927044 76%,#e9d4a3 100%);
  box-shadow:0 0 0 1px rgba(45,35,22,.6),0 14px 35px rgba(0,0,0,.26);
  transition:transform .25s ease,box-shadow .25s ease;
}
.jeju-review-photo-grid .jeju-review-image-card::before{
  content:none;display:none;position:absolute;inset:5px;border:0;
  border-radius:13px;pointer-events:none;z-index:2;
}
.jeju-review-photo-grid .jeju-review-image-card a{position:relative;z-index:1;border-radius:10px;overflow:hidden}
.jeju-review-photo-grid .jeju-review-image-card img{border-radius:9px}
.jeju-review-photo-grid .jeju-review-image-card:hover{
  transform:translateY(-5px);border-color:#f4daa1;
  box-shadow:0 0 0 1px rgba(245,218,161,.5),0 22px 45px rgba(0,0,0,.36),0 0 22px rgba(220,181,109,.15);
}
@media(max-width:850px){
  .jeju-review-photo-grid .jeju-review-image-card{padding:7px;border-radius:14px}
  .jeju-review-photo-grid .jeju-review-image-card::before{inset:4px;border-radius:10px}
  .jeju-review-photo-grid .jeju-review-image-card a,.jeju-review-photo-grid .jeju-review-image-card img{border-radius:7px}
}
@media(max-width:480px){
  .jeju-review-photo-grid .jeju-review-image-card{padding:5px;border-radius:11px}
  .jeju-review-photo-grid .jeju-review-image-card::before{inset:3px;border-radius:8px}
}
@media(prefers-reduced-motion:reduce){.jeju-review-photo-grid .jeju-review-image-card{transition:none}}

/* 실제 고객 후기: 페이지 이동 없는 이미지 확대 팝업 */
.jeju-review-photo-grid .jeju-review-image-card a{cursor:zoom-in}
.jeju-review-modal-open{overflow:hidden!important}
.jeju-review-lightbox[hidden]{display:none!important}
.jeju-review-lightbox{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:65px 22px 26px;background:rgba(8,13,22,.74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-sizing:border-box;opacity:0;transition:opacity .2s ease}
.jeju-review-lightbox.is-open{opacity:1}
.jeju-review-lightbox-image{display:block;max-width:min(92vw,1050px);max-height:calc(100dvh - 105px);width:auto;height:auto;object-fit:contain;border:3px solid #c5a36d;border-radius:10px;box-shadow:0 25px 90px rgba(0,0,0,.5),0 0 30px rgba(194,155,90,.22);animation:jejuReviewZoom .24s ease-out both}
.jeju-review-lightbox-close{position:absolute;top:14px;right:clamp(16px,4vw,48px);z-index:2;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(225,197,141,.65);border-radius:50%;background:rgba(20,28,40,.9);color:#f8e7c6;font-size:33px;line-height:1;cursor:pointer}
.jeju-review-lightbox-close:hover,.jeju-review-lightbox-close:focus-visible{background:#c5a36d;color:#101723;outline:2px solid #fff0c8;outline-offset:2px}
@keyframes jejuReviewZoom{from{opacity:.4;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){.jeju-review-lightbox{padding:68px 12px 18px}.jeju-review-lightbox-image{max-width:94vw;max-height:calc(100dvh - 100px);border-width:2px}.jeju-review-lightbox-close{top:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.jeju-review-lightbox,.jeju-review-lightbox-image{animation:none;transition:none}}


/* JEJU MOVING | Premium footer */
#footer.jeju-premium-footer{position:relative;overflow:hidden;background:linear-gradient(145deg,#111b29 0%,#0b121c 62%,#0a1019 100%)!important;border-top:1px solid #c5a46c!important;color:#eee8dc!important;padding:0!important}
#footer.jeju-premium-footer:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(244,211,149,.8),transparent);pointer-events:none}
#footer.jeju-premium-footer .footer_in{width:min(1200px,calc(100% - 48px))!important;max-width:1200px!important;margin:0 auto!important;padding:72px 0 28px!important;min-height:0!important;box-sizing:border-box}
#footer .jeju-footer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:56px}
#footer .jeju-footer-brand{flex:1;min-width:0}
#footer .jeju-footer-eyebrow,#footer .jeju-footer-small-title{display:block;color:#d5b47a;font-size:11px;font-weight:700;letter-spacing:2.1px;line-height:1.5}
#footer .jeju-footer-logo{display:block;margin:13px 0 18px;font-size:clamp(36px,4.2vw,55px);font-weight:850;letter-spacing:-2.6px;line-height:1.15;color:#fff7e8}
#footer .jeju-footer-logo-dot{color:#d6b376}
#footer .jeju-footer-brand p{margin:0;color:#aeb8c5;font-size:15px;line-height:1.95;word-break:keep-all}
#footer .jeju-footer-contact{width:min(100%,460px);padding:26px 30px;border:1px solid rgba(208,174,114,.35);border-radius:18px;background:linear-gradient(135deg,rgba(230,192,126,.09),rgba(255,255,255,.025));box-shadow:0 20px 50px rgba(0,0,0,.15)}
#footer .jeju-footer-contact-label{display:block;color:#b8c2cd;font-size:12px;letter-spacing:.6px}
#footer .jeju-footer-phone{display:inline-block;margin:9px 0 23px;color:#fff4db!important;font-size:clamp(27px,3vw,38px);font-weight:800;letter-spacing:-1px;text-decoration:none}
#footer .jeju-footer-actions{display:flex;flex-wrap:wrap;gap:8px}
#footer .jeju-footer-action{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:0 14px;border:1px solid rgba(218,183,124,.36);border-radius:9px;color:#f0e2c7!important;background:rgba(255,255,255,.03);font-size:12px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s,border-color .2s}
#footer .jeju-footer-action.primary{color:#1d2630!important;background:#e1c28a;border-color:#e1c28a}
#footer .jeju-footer-action:hover{transform:translateY(-2px);border-color:#e1c28a;background:rgba(218,183,124,.15)}
#footer .jeju-footer-action.primary:hover{background:#f2d9a7}
#footer .jeju-footer-divider{height:1px;margin:48px 0 31px;background:linear-gradient(90deg,rgba(218,183,124,.5),rgba(218,183,124,.08))}
#footer .jeju-footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}
#footer .jeju-footer-company{flex:1}
#footer .jeju-footer-company address{display:flex!important;flex-wrap:wrap;gap:10px 24px;max-width:800px;margin:16px 0 0!important;padding:0!important;color:#b5bdc8!important;font-size:13px!important;font-style:normal;line-height:1.8;word-break:keep-all}
#footer .jeju-footer-company address span{display:inline-block}
#footer .jeju-footer-company address b{margin-right:8px;color:#d5bd92;font-weight:650}
#footer .jeju-footer-company address a{color:#b5bdc8!important;text-decoration:none}
#footer .jeju-footer-brand-note{margin:12px 0 0;color:#8793a3;font-size:12px;line-height:1.7}
#footer .jeju-footer-business-card{width:190px;flex:0 0 190px}
#footer .jeju-footer-business-card a{display:block;overflow:hidden;border:1px solid rgba(208,174,114,.35);border-radius:12px}
#footer .jeju-footer-business-card img{display:block;width:100%;height:auto;max-width:100%;transition:transform .25s}
#footer .jeju-footer-business-card a:hover img{transform:scale(1.035)}
#footer .jeju-footer-legal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);color:#7f8a98;font-size:11px;line-height:1.7}
#footer .jeju-footer-legal a{color:#b7c0cb!important;text-decoration:none}
#footer.jeju-premium-footer #top_btn{position:fixed;right:20px;bottom:22px;z-index:800;width:44px;height:44px;border:1px solid rgba(220,184,119,.6);border-radius:50%;background:#182536;color:#e8c98d;box-shadow:0 8px 22px rgba(0,0,0,.22);cursor:pointer;font-size:23px;line-height:1}
@media(max-width:800px){#footer.jeju-premium-footer .footer_in{width:calc(100% - 36px)!important;padding:48px 0 25px!important}#footer .jeju-footer-heading{flex-direction:column;gap:30px}#footer .jeju-footer-contact{box-sizing:border-box;width:100%}#footer .jeju-footer-bottom{flex-direction:column;gap:22px}#footer .jeju-footer-business-card{width:160px;flex:0 0 auto}#footer .jeju-footer-divider{margin:34px 0 25px}}
@media(max-width:480px){#footer .jeju-footer-contact{padding:23px 19px}#footer .jeju-footer-actions{display:grid;grid-template-columns:1fr 1fr}#footer .jeju-footer-action.primary{grid-column:1/-1}#footer .jeju-footer-brand p{font-size:14px}#footer .jeju-footer-legal{flex-direction:column;align-items:flex-start}#footer.jeju-premium-footer #top_btn{bottom:76px;right:13px}}

/* 제주도 이사 진행 절차: 독립형 프리미엄 팝업 */
.moving-process-modal .price-modal-panel{width:min(780px,96vw);height:min(850px,92dvh);min-height:0;border:1px solid #c5a76d;border-radius:20px;background:#faf8f4}
.moving-process-modal .price-modal-header{background:#1c1d21;border-bottom:1px solid #b89b63}
.moving-process-modal .price-modal-body{overflow-y:auto;background:#faf8f4;overscroll-behavior:contain}
.moving-process-modal .process-content{padding:0 34px 34px;box-sizing:border-box}
.moving-process-modal .process-intro{text-align:center;padding:34px 0 28px;border-bottom:1px solid #e7ddcc}
.moving-process-modal .process-eyebrow{font-size:10px;letter-spacing:.22em;color:#9b7945;font-weight:800}
.moving-process-modal .process-intro h2{font-size:clamp(24px,4vw,34px);line-height:1.38;letter-spacing:-.05em;color:#1c1d21;margin:13px 0}
.moving-process-modal .process-intro h2 em{font-style:normal;color:#ad874d}
.moving-process-modal .process-intro p{color:#62636a;font-size:14px;line-height:1.8;word-break:keep-all}
.moving-process-modal .process-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.moving-process-modal .process-steps li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e6dac5;border-radius:16px;padding:20px 16px;box-shadow:0 7px 20px rgba(34,28,17,.045);box-sizing:border-box}
.moving-process-modal .process-emoji{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#f5eddd;font-size:25px}
.moving-process-modal .process-steps small{font-size:10px;color:#aa864d;letter-spacing:.07em;font-weight:800}
.moving-process-modal .process-steps h3{font-size:17px;line-height:1.4;color:#1c1d21;margin:7px 0 8px;font-weight:800;word-break:keep-all}
.moving-process-modal .process-steps p{font-size:13px;line-height:1.7;color:#60636b;margin:0;word-break:keep-all}
.moving-process-modal .process-notice{font-size:12px;line-height:1.8;color:#77716b;margin:24px 0;word-break:keep-all}
.moving-process-modal .process-cta{display:flex;align-items:center;justify-content:center;gap:12px;padding:17px;background:linear-gradient(125deg,#29292b,#141518);border:1px solid #bda16d;border-radius:12px;color:#f7e9cb!important;text-decoration:none!important;font-size:15px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.moving-process-modal .process-cta:hover{background:#3a3329}
@media(max-width:640px){.moving-process-modal{padding:8px}.moving-process-modal .price-modal-panel{width:100%;height:94dvh;border-radius:14px}.moving-process-modal .process-content{padding:0 16px 22px}.moving-process-modal .process-intro{padding:26px 0 20px}.moving-process-modal .process-intro p{font-size:12px}.moving-process-modal .process-steps{grid-template-columns:1fr;gap:10px;margin-top:20px}.moving-process-modal .process-steps li{padding:15px 13px}.moving-process-modal .process-steps h3{font-size:16px}}

/* 제주 이사 절차: 팝업을 열 때 STEP 01 → STEP 06 순차 등장 */
.moving-process-modal .process-steps li {
  opacity:0;
  transform:translateY(22px) scale(.975);
}
.moving-process-modal.is-open .process-steps li {
  animation:jejuProcessStepIn .62s cubic-bezier(.2,.75,.25,1) both;
  animation-delay:calc(.18s + (var(--step-index) * .20s));
}
.moving-process-modal .process-steps li:nth-child(1){--step-index:0}
.moving-process-modal .process-steps li:nth-child(2){--step-index:1}
.moving-process-modal .process-steps li:nth-child(3){--step-index:2}
.moving-process-modal .process-steps li:nth-child(4){--step-index:3}
.moving-process-modal .process-steps li:nth-child(5){--step-index:4}
.moving-process-modal .process-steps li:nth-child(6){--step-index:5}
@keyframes jejuProcessStepIn {
  from {opacity:0;transform:translateY(22px) scale(.975)}
  to {opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .moving-process-modal .process-steps li{opacity:1;transform:none}
  .moving-process-modal.is-open .process-steps li{animation:none}
}

/* 소비자 안내 배너: 본문 가독성 개선 (기존 구성 유지) */
.tl_warning_title .badge_box > p {
    max-width: 900px;
    margin: 20px auto 0 !important;
    color: #f8fafc !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.85 !important;
    letter-spacing: -0.35px;
    overflow-wrap: break-word;
    word-break: keep-all;
}
.tl_warning_title .title_badge { font-size: 18px !important; padding: 11px 24px !important; }
@media (max-width: 640px) {
    .tl_warning_title { padding: 30px 18px !important; }
    .tl_warning_title .badge_box > p { font-size: 17px !important; line-height: 1.8 !important; }
    .tl_warning_title .title_badge { font-size: 16px !important; }
}


/* 직접 운송 안내: 프리미엄 경고 강조 (SERVICE 카드에는 영향 없음) */
#service .tl_warning_title .badge_box > p {max-width:920px;}
#service .tl_warning_title .title_badge {display:inline-flex;align-items:center;gap:10px;background:#33261a !important;color:#ffe2a3 !important;border:1px solid #e4b962 !important;box-shadow:0 0 0 3px rgba(220,177,93,.12);animation:warningBadgePulse 2.4s ease-in-out infinite;}
#service .tl_warning_title .warning-lead {font-size:clamp(22px,2.7vw,31px) !important;font-weight:800 !important;line-height:1.45 !important;color:#fff8e9 !important;animation:warningTextPulse 2.4s ease-in-out infinite;}
#service .tl_warning_title .warning-detail {margin-top:14px !important;font-size:clamp(17px,1.7vw,20px) !important;line-height:1.8 !important;color:#f2f3f6 !important;font-weight:500 !important;}
#service .tl_warning_title .warning-detail strong {color:#ffdc97 !important;font-weight:800;}
#service .tl_warning_title .warning-direct {margin-top:19px !important;padding:18px 22px;background:rgba(218,177,100,.12);border:1px solid rgba(226,186,112,.52);border-radius:12px;color:#fff !important;font-size:clamp(18px,1.8vw,22px) !important;font-weight:650 !important;line-height:1.75 !important;}
#service .tl_warning_title .warning-direct strong {color:#ffe2a2 !important;font-weight:850;}
@keyframes warningTextPulse {0%,100%{opacity:1;text-shadow:0 0 0 transparent;}50%{opacity:.68;text-shadow:0 0 15px rgba(255,208,120,.28);}}
@keyframes warningBadgePulse {0%,100%{box-shadow:0 0 0 3px rgba(220,177,93,.12);}50%{box-shadow:0 0 0 6px rgba(220,177,93,.24),0 0 22px rgba(220,177,93,.18);}}
@media (prefers-reduced-motion:reduce) {#service .tl_warning_title .title_badge,#service .tl_warning_title .warning-lead{animation:none !important;}}
@media (max-width:640px){#service .tl_warning_title .warning-direct{padding:16px 14px;}#service .tl_warning_title .warning-detail{font-size:17px !important;}}
