@charset "utf-8";
/* main.css — 메인 페이지 전용 섹션 */

/* card fan-out — slides start stacked toward the centre, then spread (offsets set in main.js) */
.main_review .slick-slide > div,
.main_column .slick-slide > div,
.main_lawyers .swiper-slide{opacity:0;}
.fan_ready .slick-slide > div,
.main_lawyers.fan_ready .swiper-slide{transition:transform 1.2s cubic-bezier(.22, 1, .36, 1), opacity 1.2s ease;}
.fan_go .slick-slide > div,
.main_lawyers.fan_go .swiper-slide{opacity:1;}
@media (hover:hover) and (pointer:fine){
.main_lawyers.fan_go .card:hover{transform:translateY(-30px); transition:transform .3s ease-out;}
}

/* ===== main_visual ===== */
.main_visual{position:relative; height:100vh; height:980px; overflow:hidden;}
.main_visual .slide_list{position:relative; z-index:2; height:100%;}
.main_visual .slick-list,
.main_visual .slick-track,
.main_visual .slick-slide,
.main_visual .slick-slide > div{height:100%;}
.main_visual .slide{position:relative; height:100%; box-sizing:border-box; display:flex !important; align-items:center; justify-content:center;  display:flex; flex-direction:column;}
.main_visual .vs_img{position:absolute; top:0; left:0; z-index:-1; width:100vw; height:100%; }
.main_visual .vs_img picture{display:block; height:100%;}
.main_visual .vs_img img{width:100%; height:100%; object-fit:cover; display:block;}
.main_visual .vs_txt{margin:0 auto; max-width:var(--width); width:100%; padding:0 var(--padding); box-sizing:border-box; }
.main_visual .slide h2{ font-size:4.0625rem; font-weight:700; color:#fff; line-height:1.4; letter-spacing:-0.015em;}
.main_visual .slide p{margin-top:50px; text-align:right; font-size:1.625rem; color:#fff; line-height:1.53; }
.main_visual .slide p strong{font-weight:700;}
.main_visual .point{display:block; max-width:50%; margin-top:24px; padding-bottom:16px; border-bottom:1px solid var(--point-color-1); font-size:1.5rem; font-weight:600; color:#c9ab6b; letter-spacing:-0.015em; line-height:2.333; display:inline-block;}
.main_visual .btn_prev{position:absolute; bottom:64px; left:50%; z-index:3; transform:translateX(-60px);}
.main_visual .btn_next{position:absolute; bottom:64px; left:50%; z-index:3; transform:translateX(30px);}

@media screen and (max-width: 1024px){
.main_visual{aspect-ratio:750/1334; height:auto;}
.main_visual .slide h2{max-width:65%; font-size:3rem;}
.main_visual .point{max-width:65%;}
.main_visual .slide p{text-align:left; font-size:1.25rem; line-height:1.6;}
}

@media screen and (max-width: 768px){
.main_visual .slide h2{max-width:100%; font-size:26px; line-height:1.4;}
.main_visual .point{max-width:100%; font-size:17px; padding-bottom:8px; margin-top:12px;}
.main_visual .slide p{margin-top:20px; font-size:15px; text-align:left; line-height:1.6;}
.main_visual .btn_prev{bottom:28px; transform:translateX(-46px);}
.main_visual .btn_next{bottom:28px; transform:translateX(16px);}
.main_visual .vs_txt{padding:0 10%; box-sizing:border-box;}
}

/* ===== main_head ===== */
.main_head{text-align:center; margin-bottom:clamp(40px, 5vw, 70px);}
.main_head .eyebrow{display:block; font-size:1.375rem; font-weight:500; color:#c9ab6b; margin-bottom:16px;}
.main_head h2{font-size:3.125rem; font-weight:700; color:#fff; line-height:1.4; letter-spacing:-0.015em;}
.main_head .sub_tit{display:block; margin-top:20px; font-size:1.5rem; font-weight:400; color:#888;}
.main_cases .main_head .sub_tit,
.main_lawyers .main_head .sub_tit{color:#fff;}
.main_review .main_head h2{color:#000;}

@media screen and (max-width: 768px){
.main_head{margin-bottom:24px;}
.main_head .eyebrow{font-size:16px; margin-bottom:8px;}
.main_head h2{font-size:30px;}
.main_head .sub_tit{font-size:17px; margin-top:15px;}
.main_head h2{font-size:26px;}
}

/* ===== main_cases ===== */
.main_cases{position:relative; padding:140px 0; background:url("/dui/asset/img/main/main_cases_bg.jpg") no-repeat center  top #1D191B; overflow:hidden;}

/* panorama rolling — 3D cylinder driven by swiper progress */
.main_cases .panorama_con{position:relative; z-index:1; width:100%; text-align:center;}
.main_cases .panorama_wrap{position:relative; width:100%; margin:0 auto; perspective:2000px; perspective-origin:50% 50%; box-sizing:border-box; overflow:visible !important;}
.main_cases .card_list{margin:0; padding:0; list-style:none; box-sizing:border-box; align-items:center; transform-style:preserve-3d; transition-timing-function:linear !important;}
.main_cases .card{position:relative; width:352px; height:auto; flex-shrink:0; transform-style:preserve-3d; backface-visibility:hidden; cursor:pointer; transition-timing-function:linear !important;}
.main_cases .inner{position:relative; width:100%; transform-origin:center center; transform-style:preserve-3d; backface-visibility:hidden;}
.main_cases .card_in{position:relative; background:#fff; border-radius:20px; overflow:hidden; opacity:0; transition:transform 1.2s cubic-bezier(.22,1,.36,1), opacity 1.2s cubic-bezier(.22,1,.36,1);}

/* fan-out: cards start stacked at the centre, then spread outward */
.main_cases .card.prev3 .card_in{transform:translateX(1400px);}
.main_cases .card.prev2 .card_in{transform:translateX(900px);}
.main_cases .card.prev .card_in{transform:translateX(400px);}
.main_cases .card.next .card_in{transform:translateX(-400px);}
.main_cases .card.next2 .card_in{transform:translateX(-900px);}
.main_cases .card.next3 .card_in{transform:translateX(-1400px);}
.main_cases.section_on .card_in{opacity:1;}
.main_cases.section_on .card.prev .card_in,
.main_cases.section_on .card.prev2 .card_in,
.main_cases.section_on .card.prev3 .card_in,
.main_cases.section_on .card.next .card_in,
.main_cases.section_on .card.next2 .card_in,
.main_cases.section_on .card.next3 .card_in{transform:translateX(0);}
.main_cases.section_on .card.prev2 .card_in,
.main_cases.section_on .card.next2 .card_in{transition-delay:.1s;}
.main_cases.section_on .card.prev3 .card_in,
.main_cases.section_on .card.next3 .card_in{transition-delay:.2s;}

.main_cases .txt_area{position:relative; padding:25px;}
.main_cases .card .tag{padding:12px; font-size:1.375rem; font-weight:700; color:#fff; background-color:var(--point-color-1); display:block; text-align:center;}
.main_cases .card .tit{position:relative; z-index:2; display:block; font-size:1.75rem; font-weight:700; color:#000; margin-bottom:12px; text-align:left;}
.main_cases .card .desc{position:relative; z-index:2; display:block; font-size:1.125rem; font-weight:400; text-align:left;}
.main_cases .card .doc{position:absolute; left:50%; top:50%; padding:5px; width:70%; text-align:center; border:3px solid #ff0000; font-size:2.5rem; color:#ff0000; font-weight:700; transform:translate(-50%, -50%) rotate(-10deg);}
.main_cases .bg{position:relative; margin-top:-80px;}
/* the scan slides up behind the copy, so it fades to white where the text sits */
.main_cases .bg::before{content:""; position:absolute; left:0; top:0; z-index:1; width:100%; height:170px; background:linear-gradient(180deg, #fff 0%, #fff 47%, rgba(255,255,255,0) 100%);}

@media screen and (max-width: 768px){
.main_cases{padding:70px 0; background:url("/dui/asset/img/main/main_cases_bg_m.jpg") no-repeat center top / cover;}
.main_cases .panorama_wrap{perspective:none;}
.main_cases .card_list{align-items:stretch;}
.main_cases .inner,
.main_cases .card_in{height:100%;}
.main_cases .card{width:260px;}
.main_cases .card .tit{font-size:20px;}
.main_cases .card .desc{font-size:14px; margin-bottom:14px;}
.main_cases .card{width:184px;}
.main_cases .watermark{top:20px; font-size:2.5rem;}
.main_cases .txt_area{padding:16px;}
.main_cases .card .tag{padding:8px; font-size:14px;}
.main_cases .card .doc{font-size:20px; border-width:2px;}
.main_cases .bg{margin-top:-46px;}
.main_cases .bg::before{height:110px;}
.main_cases .card.prev3 .card_in{transform:translateX(240px);}
.main_cases .card.prev2 .card_in{transform:translateX(150px);}
.main_cases .card.prev .card_in{transform:translateX(70px);}
.main_cases .card.next .card_in{transform:translateX(-70px);}
.main_cases .card.next2 .card_in{transform:translateX(-150px);}
.main_cases .card.next3 .card_in{transform:translateX(-240px);}
}

/* ===== mouse pointer (drag cursor) ===== */
.glass_filter{position:absolute; width:0; height:0; overflow:hidden;}
.mouse_pointer,
.mouse_pointer_txt{position:fixed; top:0; left:0; z-index:9999; pointer-events:none;}
.mouse_pointer .pointer_circle,
.mouse_pointer .pointer_line{position:absolute; top:50%; left:50%; display:block; width:119px; aspect-ratio:1 / 1; border-radius:50%; transform:translate(-50%, -50%) scale(0); opacity:0; transition:transform .5s cubic-bezier(.22,1,.36,1), opacity .5s ease;}
.mouse_pointer .pointer_circle{overflow:hidden; isolation:isolate; backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); filter:url("#glass_distortion");}
.mouse_pointer .pointer_line{border:1px solid #000; box-sizing:border-box;}
.mouse_pointer.on .pointer_circle,
.mouse_pointer.on .pointer_line{transform:translate(-50%, -50%) scale(1); opacity:1;}
.mouse_pointer_txt .drag_ico{position:absolute; top:50%; left:50%; display:block; max-width:none; transform:translate(-50%, -50%); opacity:0; visibility:hidden; transition:opacity .5s ease, visibility .5s ease;}
.mouse_pointer_txt .drag_ico{display:none;}
.mouse_pointer_txt[data-type="drag"] .ico_drag,
.mouse_pointer_txt[data-type="drag2"] .ico_drag2{display:block;}
.mouse_pointer_txt.on .drag_ico{opacity:1; visibility:visible;}

@media screen and (max-width: 1024px){
.mouse_pointer,
.mouse_pointer_txt{display:none;}
}

/* ===== main_lawyers ===== */
.main_lawyers{padding:140px 0; background:#000;}
.main_lawyers .swiper_con{position:relative; width:100%; margin-top:clamp(40px, 5vw, 70px);}
.main_lawyers .swiper_wrap{position:relative; width:100%; overflow:hidden;}
.main_lawyers .card_list{margin:0; padding:0; list-style:none; align-items:flex-start; transition-timing-function:linear !important;}
.card_list.clone{position:absolute; width:0; height:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;}
.card_list .slick-list{position:relative; overflow:inherit}
.main_lawyers  .card_list {position:relative; padding-top:30px; }
.main_lawyers .card{flex:0 0 auto; width:324px; text-align:center; border-radius:20px; overflow:hidden; transition: all 0.3s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_lawyers .card:hover{transform:translateY(-30px);}
}
.main_lawyers .card .name{display:flex; gap:20px; font-size:1.25rem; line-height:1; align-items:center; color:#fff; transition: all 0.3s ease-out;}
.main_lawyers .card .name strong{font-size:1.75rem; font-weight:700; color:#c9ab6b; }
.main_lawyers .card .bio{margin-top:10px; font-size:1rem; font-weight:400; color:#c2bfbf; line-height:1.5; transition: all 0.3s ease-out;}
.main_lawyers .img_area{position:relative; aspect-ratio:324/357; overflow:hidden; display:flex; align-items:flex-end; justify-content:center; background-color:#241D1E; transition: all 0.3s ease-out;}
/* main and sub share one portrait, so drop it lower here to keep the head in frame */
.main_lawyers .img_area img{margin-bottom:-70px;}
.main_lawyers .txt_area{padding:34px 30px; height:182px; background-color:#241D1E; border-top:1px solid #C9AB6B; text-align:left; letter-spacing:-0.4px; transition: all 0.3s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_lawyers .card:hover .img_area{background-color:#C9AB6B;}
.main_lawyers .card:hover .txt_area{background-color:#fff;}
.main_lawyers .card:hover .name strong,
.main_lawyers .card:hover .name{color:#000;}
.main_lawyers .card:hover .bio{color:#888888;}
}

@media screen and (max-width: 768px){
.main_lawyers{padding:40px 0;}
.main_lawyers .card{width:232px;}
.main_lawyers .card .name{font-size:14px; margin-top:10px;}
.main_lawyers .card .name strong{font-size:18px;}
.main_lawyers .card .bio{font-size:13px; margin-top:6px;}
.main_lawyers .card_list{padding-top:16px;}
.main_lawyers .txt_area{padding:22px 16px 26px; height:auto;}
.main_lawyers .card .name{font-size:14px; gap:10px;}
.main_lawyers .card .name strong{font-size:20px;}
}

/* ===== main_service ===== */
.main_service{position:relative; display:flex; overflow:hidden;}
.main_service .left{width:50%; background:#fff;}
.main_service .left .inner{width:100%;  margin-left:auto; max-width:785px; padding:153px var(--padding) 0; box-sizing:border-box;}
.main_service .watermark{display:block;}
.main_service .eyebrow{display:block; margin-top:83px; font-size:1.625rem; font-weight:500; color:#888; line-height:1.2;}
.main_service .left h2{margin-top:30px; font-size:4.0625rem; font-weight:700; color:#000; line-height:1.4; letter-spacing:-0.015em;}
.main_service .left h2 span{display:block;}
.main_service .nav{position:relative; display:flex; align-items:center; gap:16px; margin-top:169px;}
.main_service .nav .btn_prev,
.main_service .nav .btn_next{display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:44px; aspect-ratio:1 / 1; border:1px solid #c9c9c9; border-radius:50%;}
.main_service .nav .btn_prev{order:0;}
.main_service .nav button:disabled{opacity:.35; cursor:default;}
.main_service .nav .btn_next{order:2;}
.main_service .nav::before{content:""; order:1; width:90px; height:6px; background:#efefef;}
.main_service .nav::after{content:""; position:absolute; left:60px; top:50%; width:30px; height:6px; margin-top:-3px; background:#474747; transform:translateX(calc(var(--idx, 0) * var(--step, 30px))); transition:transform .6s ease;}

.main_service::after{content:""; position:absolute; z-index:0; right:0; top:0; bottom:0; width:50%; background:#c22b00; transform:scaleY(.95) scaleX(0); transform-origin:100% 100%; transition:transform .8s;}
.main_service.section_on::after{transform:none;}
.main_service .right{position:relative; z-index:1; width:50%;}
.main_service .right::before,
.main_service .right::after{content:""; position:absolute; top:0; right:0; bottom:0; transform:scaleY(.95) scaleX(0); transform-origin:100% 100%; transition:transform .8s;}
.main_service .right::before{z-index:0; left:10px; background:#1372bd;}
.main_service .right::after{z-index:1; left:20px; background:var(--point-color-1);}
.main_service[data-reveal="1"] .right::before,
.main_service[data-reveal="2"] .right::before,
.main_service[data-reveal="2"] .right::after{transform:none;}
.main_service .right .inner{position:relative; z-index:2; width:100%; max-width:calc(var(--width) / 2); margin-right:auto; padding:471px 0 184px; box-sizing:border-box;}
.main_service .slide_list{position:relative; z-index:2;}
.main_service .slide{position:absolute; left:0; top:0; width:100%;}
.main_service .slide:first-child{position:relative;}
.main_service .sv_img{position:absolute; left:-83px; top:-284px; width:334px; aspect-ratio:334 / 493; transform-origin:0 0; transform:translate(404px, -43px) scale(.401); opacity:0; transition:transform 1s ease, opacity .6s ease;}
.main_service .slide.next .sv_img{z-index:1; opacity:1;}
.main_service .slide.on .sv_img{z-index:2; opacity:1; transform:none;}
.main_service .slide.rev_in .sv_img{transition:none; transform:translate(-180px, 60px) scale(1.35); opacity:0;}
.main_service .sv_img img{display:block; width:100%; height:100%; object-fit:cover; border-radius:20px;}
.main_service .sv_txt{padding-left:321px;}
.main_service .slide:not(.on) .sv_txt{visibility:hidden;}
.main_service .num{display:inline-flex; align-items:center; gap:20px; font-size:3.125rem; font-weight:200; color:#fff; line-height:1.2;}
.main_service .num::before,
.main_service .num::after{content:""; width:1px; height:28px; background:#fff;}
.main_service .tit{display:block; margin-top:61px; font-size:3.125rem; font-weight:700; color:#fff; line-height:1.4; letter-spacing:-0.015em;}
.main_service .tit span{display:block;}
.main_service .check_list{margin-top:64px;}
.main_service .check_list li{position:relative; padding-left:30px; font-size:1.375rem; font-weight:500; color:#fff; line-height:1.2; letter-spacing:-0.015em;}
.main_service .check_list li + li{margin-top:28px;}
.main_service .check_list li::before{content:""; position:absolute; left:0; top:2px; width:26px; aspect-ratio:26 / 22; background:url("/dui/asset/img/main/icon_check.svg") no-repeat 0 0;}

.main_service .num,
.main_service .tit span,
.main_service .check_list li{clip-path:inset(0 0 100% 0); transform:translateY(30px); transition:clip-path .8s ease, transform .8s ease;}
.main_service.section_on .slide.on .num,
.main_service.section_on .slide.on .tit span,
.main_service.section_on .slide.on .check_list li{clip-path:inset(0 0 0 0); transform:none;}
.main_service.section_on .slide.on .num{transition-delay:1.4s;}
.main_service.section_on .slide.on .tit span:nth-child(1){transition-delay:1.55s;}
.main_service.section_on .slide.on .tit span:nth-child(2){transition-delay:1.7s;}
.main_service.section_on .slide.on .check_list li:nth-child(1){transition-delay:1.85s;}
.main_service.section_on .slide.on .check_list li:nth-child(2){transition-delay:2s;}
.main_service.intro_done .slide.on .num{transition-delay:.1s;}
.main_service.intro_done .slide.on .tit span:nth-child(1){transition-delay:.25s;}
.main_service.intro_done .slide.on .tit span:nth-child(2){transition-delay:.4s;}
.main_service.intro_done .slide.on .check_list li:nth-child(1){transition-delay:.55s;}
.main_service.intro_done .slide.on .check_list li:nth-child(2){transition-delay:.7s;}

@media screen and (max-width: 1400px){
.main_service .right .inner{padding:360px var(--padding) 120px;}
.main_service .sv_img{width:240px; top:-190px;}
.main_service .slide .sv_img{transform:translate(300px, -30px) scale(.401);}
.main_service .sv_txt{padding-left:210px;}
.main_service .left .inner{padding-top:100px;}
.main_service .eyebrow{margin-top:50px;}
.main_service .nav{margin-top:90px;}
}

@media screen and (max-width: 1024px){
.main_service{flex-wrap:wrap;}
.main_service .left,
.main_service .right{width:100%;}
/* colour panels rise from the bottom, one per step — earlier steps stay as bands along the top edge */
.main_service::after{display:none;}
.main_service .right{overflow:hidden; background:#c22b00;}
.main_service .right::before,
.main_service .right::after{left:0; right:0; top:auto; bottom:0; transform:translateY(100%); transform-origin:50% 100%; transition:transform .9s cubic-bezier(.22, 1, .36, 1);}
.main_service .right::before{height:calc(100% - 10px);}
.main_service .right::after{height:calc(100% - 20px);}
.main_service .left .inner,
.main_service .right .inner{max-width:var(--width); margin:0 auto;}
.main_service .right .inner{padding:60px var(--padding);}
/* the active step drives the panel height instead of the first one */
.main_service .slide:first-child{position:absolute;}
.main_service .slide.on{position:relative;}
.main_service .sv_img{position:relative; left:auto; top:auto; width:150px; margin:0 0 30px auto; transform:none; opacity:1;}
.main_service .slide:not(.on) .sv_img{display:none;}
.main_service .sv_txt{padding-left:0;}
.main_service .left h2{font-size:3rem;}
.main_service .tit,
.main_service .num{font-size:2.25rem;}
.main_service .tit{margin-top:24px;}
.main_service .check_list{margin-top:30px;}
.main_service .left .inner{padding:70px 10% 20px;}
}

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

.main_service .left h2{font-size:28px;}
.main_service .eyebrow{font-size:18px; margin-top:0;}
.main_service .left h2{margin-top:16px;}
.main_service .nav{margin-top:20px; justify-content:flex-end;}
.main_service .nav::after,
.main_service .nav::before{display:none;}
.main_service .right .inner{padding:30px 10% 70px;}
.main_service .check_list li::before{width:10px; background-size:100%;}
.main_service .num{font-size:28px;}
.main_service .tit{font-size:28px; margin-top:20px;}
.main_service .check_list li{font-size:16px; padding-left:20px;}
.main_service .check_list li + li{margin-top:14px;}
.main_service .sv_img{width:66px; }
.main_service .sv_img img{border-radius:10px;}
.main_service .nav{gap:10px;}
.main_service .nav::before{width:60px;}
.main_service .nav{--step:20px;}
.main_service .nav::after{left:54px; width:20px;}
.main_service .watermark{position:absolute; right:18px; top:45px; max-width:104px;}
}

/* ===== main_review ===== */
.main_review{padding:140px 0; background:#fafafa;}
.main_review .card_list{display:flex; flex-wrap:wrap; gap:20px;}
.main_review .card{flex:1 1 370px; background:#eee; display:flex; flex-direction:column; overflow:hidden; border-radius:20px; transition:transform .35s ease-out, box-shadow .35s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_review .card:hover{transform:translateY(-20px); box-shadow:0 10px 30px rgba(0,0,0,.12);}
.main_review .card:hover .txt_area{background-color:#fff;}
}
.main_review .img_area{position:relative; aspect-ratio:370/303; overflow:hidden;}
.main_review .img_area:before{position:absolute; left:0; top:0; width:100%; height:100%; background: linear-gradient(to bottom, rgba(52, 42, 43, 0), rgba(52, 42, 43, 1)); display:block; content:"";}
.main_review .img_area .photo{width:100%; height:100%; object-fit:cover; display:block;}
.main_review .img_area .top_title{position:absolute; left:0; bottom:0; padding:30px 45px; width:100%; color:#fff;}
.main_review .img_area .badge{padding-bottom:15px; border-bottom:1px solid #fff; margin-bottom:15px; font-size:1.4rem; color:#fff; font-weight:700; display:block;}
.main_review .img_area .headline{font-size:1.125rem; color:#fff; font-weight:500; display:block;}
.main_review .txt_area{padding:30px; background-color:#EEEEEE;}
.main_review .txt_area .tit{font-size:1.5rem; line-height:1.5; font-weight:700;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2; 
-webkit-box-orient: vertical;
}
.main_review .txt_area  .desc{margin-top:15px; font-size:1rem; line-height:1.5;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3; 
-webkit-box-orient: vertical;
}
.main_review .txt_area .info{margin-top:25px; display:flex; justify-content:space-between; align-items:center; font-size:1rem; color:#888;}

.main_review .main_head{position:relative;}
.main_review .rolling_nav{position:absolute; right:0; bottom:0; display:flex; border:1px solid #c9c9c9; border-radius:2em; overflow:hidden;}
.main_review .rolling_nav button{display:flex; align-items:center; justify-content:center; width:57px; aspect-ratio:1 / 1;}
.main_review .rolling_nav .btn_next{border-left:1px solid #c9c9c9;}
.main_review .card_list .slick-list{width:100%; min-width:0;}
.main_review .slick-slide > div{padding:0 16px;}

@media screen and (max-width: 768px){
.main_review{padding:70px 0;}
.main_review .card{flex:1 1 100%; border-radius:15px;}
.main_review .card .badge{font-size:16px;}
.main_review .card .headline{font-size:14px;}
.main_review .card .tit{font-size:16px;}
.main_review .card .desc{font-size:13px;}
/* nav drops below the card list, centred */
.main_review .cont{position:relative; padding-bottom:92px;}
.main_review .main_head{position:static;}
.main_review .rolling_nav{left:50%; right:auto; bottom:0; transform:translateX(-50%);}
.main_review .rolling_nav button{width:44px;}
.main_review .card_list{padding:0 60px;}
.main_review .slick-slide > div{padding:0 6px;}
.main_review .img_area .top_title{padding:16px 20px;}
.main_review .img_area .badge{font-size:16px; padding-bottom:10px; margin-bottom:10px;}
.main_review .txt_area{padding:20px;}
.main_review .txt_area .info{margin-top:16px; font-size:13px;}
}

/* ===== main_column ===== */
.main_column{padding:140px 0; background:url("/dui/asset/img/main/main_consult_bg.jpg") no-repeat center center / cover;}
.main_column .card_list{display:flex; flex-wrap:wrap; gap:20px;}
.main_column .card{flex:1 1 200px; background:#342b2b; border-radius:20px; overflow:hidden; transition:transform .35s ease-out, background-color .35s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_column .card:hover{background:#fff; transform:translateY(-20px);}
}
.main_column .img_area{position:relative; line-height:0;}
.main_column .img_area img{width:100%;}
.main_column .img_area::after{content:""; position:absolute; top:30px; right:30px; width:40px; aspect-ratio:1 / 1; border-radius:50%; background:rgba(201,171,107,.8) url("/dui/asset/img/main/icon_plus.svg") no-repeat center; opacity:0; transition:opacity .35s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_column .card:hover .img_area::after{opacity:1;}
}
.main_column .txt_area{padding:36px 30px 30px;}
.main_column .card .tit{display:block; font-size:1.25rem; font-weight:700; color:#c9ab6b; line-height:1.5;}
.main_column .card .desc{display:block; margin-top:10px; font-size:1rem; font-weight:400; color:#fff; line-height:1.5;}
.main_column .card .date{display:block; margin-top:16px; font-size:1rem; font-weight:400; color:#888;}
@media (hover:hover) and (pointer:fine){
.main_column .card:hover .tit,
.main_column .card:hover .desc{color:#000;}
}
.main_column .main_head{position:relative;}
.main_column .rolling_nav{position:absolute; right:0; bottom:0; display:flex; border:1px solid rgba(255,255,255,.4); border-radius:2em; overflow:hidden;}
.main_column .rolling_nav button{display:flex; align-items:center; justify-content:center; width:57px; aspect-ratio:1 / 1;}
.main_column .rolling_nav button img{filter:invert(1);}
.main_column .rolling_nav .btn_next{border-left:1px solid rgba(255,255,255,.4);}
.main_column .card_list .slick-list{width:100%; min-width:0;}
.main_column .slick-slide > div{padding:0 16px;}

@media screen and (max-width: 768px){
.main_column{padding:70px 0;}
.main_column .card{flex:1 1 100%;}
.main_column .card .tit{font-size:16px; }
.main_column .card .desc{font-size:13px;}
.main_column .cont{position:relative; padding-bottom:92px;}
.main_column .main_head{position:static;}
.main_column .rolling_nav{left:50%; right:auto; bottom:0; transform:translateX(-50%);}
.main_column .rolling_nav button{width:44px;}
.main_column .card_list{padding:0 60px;}
.main_column .slick-slide > div{padding:0 6px;}
.main_column .txt_area{padding:24px 12px;}
.main_column .img_area::after{top:16px; right:16px; width:32px;}
.main_column .card .date{font-size:13px;}
}

/* ===== main_consult ===== */
.main_consult .form form p,
.main_consult .form .btn_submit{opacity:0; transform:translateY(30px);}
.main_consult.section_on .form form p,
.main_consult.section_on .form .btn_submit{opacity:1; transform:translateY(0); transition:opacity .8s ease, transform .8s cubic-bezier(.22, 1, .36, 1);}
.main_consult.section_on .form form p:nth-of-type(1){transition-delay:.45s;}
.main_consult.section_on .form form p:nth-of-type(2){transition-delay:.55s;}
.main_consult.section_on .form form p:nth-of-type(3){transition-delay:.65s;}
.main_consult.section_on .form form p.agree{transition-delay:.75s;}
.main_consult.section_on .form .btn_submit{transition-delay:.85s;}
/* status rows rise in, staggered */
.main_consult .status .status_list li{opacity:0; transform:translateY(60px);}
.main_consult.section_on .status .status_list li{opacity:1; transform:translateY(0); transition:opacity 1s ease, transform 1s cubic-bezier(.22, 1, .36, 1);}
.main_consult.section_on .status .status_list li:nth-child(1){transition-delay:.6s;}
.main_consult.section_on .status .status_list li:nth-child(2){transition-delay:.75s;}
.main_consult.section_on .status .status_list li:nth-child(3){transition-delay:.9s;}
.main_consult.section_on .status .status_list li:nth-child(4){transition-delay:1.05s;}
.main_consult.section_on .status .status_list li:nth-child(5){transition-delay:1.2s;}
.main_consult.section_on .status .status_list li:nth-child(6){transition-delay:1.35s;}

.main_consult{display:flex; flex-wrap:wrap;}
.main_consult .form .inner{padding:0 20px 0 130px; max-width:831px; width:100%;}
.main_consult .status{flex:1 1 320px; padding:154px 0; background:#fafafa;}
.main_consult .box{max-width:632px;}
.main_consult .status .inner{margin-left:auto; padding:0 var(--padding); max-width:785px;}

@media screen and (max-width: 1400px){
.main_consult .form .inner{padding-left:20px;}
}
@media screen and (max-width: 1024px){
.main_consult{flex-direction:column;}
.main_consult .status .inner{max-width:100%;}
.main_consult .form .inner{max-width:100%;}
.main_consult .box{max-width:100%;}
}
.main_consult .form{flex:1 1 320px; padding:154px 0; background:#c9ab6b;}
.main_consult .form .cont{position:relative;}
.main_consult .eyebrow{display:block; font-size:1.5rem; font-weight:500; margin-bottom:16px;}
.main_consult .status .eyebrow{color:#c9ab6b; }
.main_consult .form .eyebrow{color:#fff;}
.main_consult h2{font-size:3.125rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; white-space:pre-line;}
.main_consult .status h2{color:#000;}
.main_consult .form h2{color:#fff;}
.main_consult .status .sub_tit{display:block; margin-top:24px; font-size:1.75rem; font-weight:500; color:#888;}
.main_consult .status .status_roll{margin-top:30px; overflow:hidden;}
.main_consult .status .status_list{display:flex; flex-direction:column; gap:8px;}
.main_consult .status .status_list li{flex:0 0 auto; display:flex; align-items:center; padding:12px 20px; background:#f6f6f6;}
.main_consult .status .type{flex:0 0 124px; padding:8px 0; background:var(--point-color-1); border-radius:0; font-size:1rem; font-weight:700; color:#fff; text-align:center; white-space:nowrap;}
.main_consult .status .date,
.main_consult .status .name{flex:1 1 auto; font-size:1.125rem; font-weight:400; color:#000; text-align:center;}
.main_consult .status .state{flex:0 0 118px; display:flex; align-items:center; justify-content:center; gap:8px; padding:8px 0; background:#fff; border-radius:2em; font-size:1.125rem; font-weight:700;}
.main_consult .status .state::before{content:""; width:8px; aspect-ratio:1 / 1; border-radius:50%; background:currentColor;}
.main_consult .status .state.done{color:#28b932;}
.main_consult .status .state.visit{color:#ab5dd8;}
.main_consult .status .state.receipt{color:#e38842;}
.main_consult .form form{margin-top:36px;}
.main_consult .form form p{margin-bottom:10px;}
.main_consult .form form [type=text],
.main_consult .form form [type=tel],
.main_consult .form form textarea{width:100%; height:auto; padding:26px 30px; background:#e4d5b5; border:none; border-radius:4px; box-sizing:border-box; font-size:1.25rem; font-weight:400; line-height:1.4; color:#000;}
.main_consult .form form ::placeholder{color:#000; opacity:1;}
.main_consult .form form textarea{resize:none;}
.main_consult .form .agree{display:flex; flex-wrap:wrap; gap:32px; margin:24px 0 20px;}
.main_consult .form .agree span{display:flex; align-items:center; gap:12px;}
.main_consult .form .agree [type=checkbox]{width:22px; aspect-ratio:1 / 1; margin:0; background:#fff; border:none; border-radius:0; appearance:none; -webkit-appearance:none; cursor:pointer;}
/* icon_check.svg is white — invisible on the white box, so the form tick uses the gold one */
.main_consult .form .agree [type=checkbox]:checked{background:#fff url("/dui/asset/img/sub/icon_check_form.svg") no-repeat center;}
.main_consult .form .agree label{margin:0; font-size:1.25rem; font-weight:400; color:#fff;}
.main_consult .form .agree a{padding:7px 14px; background:#fff; font-size:1rem; font-weight:400; color:#000; text-decoration:none; white-space:nowrap;}
.main_consult .form .btn_submit{position:relative; display:block; width:100%; padding:16px 0; background:#342a2b; border-radius:4px; overflow:hidden; text-align:center; border:none;}
.main_consult .form .btn_submit::before{content:""; position:absolute; left:0; top:0; width:200%; height:100%; background:repeating-linear-gradient(120deg, #342a2b 0 9px, #473935 9px 22px); animation:stripe_move 1.1s linear infinite;}
.main_consult .form .btn_submit span{position:relative; z-index:1; font-size:1.875rem; font-weight:700; color:#f6e5c0;}
@keyframes stripe_move{to{transform:translateX(-25.4px);}}

@media screen and (max-width: 768px){
.main_consult .status,
.main_consult .form{padding:70px 0 40px;}
.main_consult h2{font-size:26px;}
.main_consult .eyebrow{font-size:16px;}
.main_consult .status .sub_tit{font-size:16px; margin-top:12px;}
.main_consult .status .status_list li{gap:8px; padding:10px 12px;}
.main_consult .status .type{font-size:12px; padding:4px 8px;}
.main_consult .status .date,
.main_consult .status .name,
.main_consult .status .state{font-size:14px;}
.main_consult .form .agree{gap:12px; margin:16px 0;}
.main_consult .form .agree label,
.main_consult .form .agree a{font-size:14px;}
.main_consult .form .btn_submit{padding:3px 0;}
.main_consult .form .btn_submit span{font-size:18px;}
.main_consult .form .inner{padding:0 var(--padding); max-width:100%;}
.main_consult .status .inner{padding:0 var(--padding); max-width:100%;}
.main_consult .status .type{flex:0 0 76px; font-size:12px; padding:6px 0;}
.main_consult .status .state{flex:0 0 84px; font-size:12px; padding:6px 0; gap:5px;}
.main_consult .status .state::before{width:6px;}
.main_consult .form form [type=text],
.main_consult .form form [type=tel],
.main_consult .form form textarea{padding:10px 16px; font-size:15px; border-radius:3px;}
.main_consult .form .btn_submit span{font-size:20px;}
}


/* ------------------------------------------------------------------
   SIC 반영분 — 호버 영역 고정 / 카드 높이 통일 / 카드 링크화
   base 규칙 뒤에 와야 오버라이드가 성립한다 (기존 common_sic.css 이관)
------------------------------------------------------------------ */
/* common_sic.css — SIC 추가 오버라이드 (common.css 뒤에 로드) */

/* ===== main_cases: card_in 링크 ===== */
.main_cases .card_in{
	display:block;
	text-decoration:none;
	color:inherit;
	cursor:pointer;
}

/* ===== main_lawyers: li 고정 / 내부 .card만 상승 + 링크 ===== */
.main_lawyers .swiper_wrap{padding:30px 0; box-sizing:border-box;}
.main_lawyers .card_list{padding-top:0;}
.main_lawyers .swiper-slide{flex:0 0 auto; width:324px; height:auto; box-sizing:border-box;}
.main_lawyers .card{
	display:block;
	width:100%;
	text-align:center;
	border-radius:20px;
	overflow:hidden;
	text-decoration:none;
	color:inherit;
	cursor:pointer;
	transition:transform .3s ease-out, background-color .3s ease-out;
}
@media (hover:hover) and (pointer:fine){
.main_lawyers.fan_go .card:hover{transform:none;}
.main_lawyers.fan_go .swiper-slide:hover .card{transform:translateY(-30px); transition:transform .3s ease-out;}
.main_lawyers .card:hover{transform:none;}
.main_lawyers .swiper-slide:hover .card{transform:translateY(-30px);}
.main_lawyers .card:hover .img_area{background-color:#241D1E;}
.main_lawyers .card:hover .txt_area{background-color:#241D1E;}
.main_lawyers .card:hover .name strong,
.main_lawyers .card:hover .name{color:#c9ab6b;}
.main_lawyers .card:hover .bio{color:#c2bfbf;}
.main_lawyers .swiper-slide:hover .card .img_area{background-color:#C9AB6B;}
.main_lawyers .swiper-slide:hover .card .txt_area{background-color:#fff;}
.main_lawyers .swiper-slide:hover .card .name strong,
.main_lawyers .swiper-slide:hover .card .name{color:#000;}
.main_lawyers .swiper-slide:hover .card .bio{color:#888888;}
}
@media screen and (max-width: 768px){
.main_lawyers .swiper-slide{width:232px;}
.main_lawyers .card{width:100%;}
}

/*
 * 고객후기 / 대청칼럼
 * 구조: .slick-slide > a > div.card
 * 호버 판정: a:hover / 모션 대상: .card
 */
.main_review .card_list{padding-top:20px;}
.main_review .card_list .slick-list{padding-top:20px; margin-top:-20px;}
.main_review .slick-track{display:flex !important; align-items:stretch;}
.main_review .slick-slide{height:auto; display:flex !important;}
.main_review .slick-slide > a{
	display:flex;
	flex:1;
	width:100%;
	height:100%;
	padding:0 16px;
	box-sizing:border-box;
	text-decoration:none;
	color:inherit;
}
.main_review .slick-slide > a .card{
	width:100%;
	height:100%;
}
@media (hover:hover) and (pointer:fine){
/* 원본 .card:hover 무력화 → a:hover 시 .card 모션 */
.main_review .card:hover{transform:none; box-shadow:none;}
.main_review .card:hover .txt_area{background-color:#EEEEEE;}
.main_review .slick-slide > a:hover .card{transform:translateY(-20px); box-shadow:0 10px 30px rgba(0,0,0,.12);}
.main_review .slick-slide > a:hover .card .txt_area{background-color:#fff;}
}
.main_review .img_area{flex-shrink:0;}
.main_review .txt_area{flex:1; display:flex; flex-direction:column; box-sizing:border-box;}
.main_review .txt_area .tit{min-height:calc(1.5em * 2);}
.main_review .txt_area .desc{min-height:calc(1.5em * 3);}
.main_review .txt_area .info{margin-top:auto; padding-top:25px;}
@media screen and (max-width: 768px){
.main_review .card_list{padding:0 60px; padding-top:20px;}
.main_review .slick-slide > a{padding:0 6px;}
.main_review .txt_area .info{margin-top:auto; padding-top:16px; font-size:13px;}
}

.main_column .card_list{padding-top:20px;}
.main_column .card_list .slick-list{padding-top:20px; margin-top:-20px;}
.main_column .slick-track{display:flex !important; align-items:stretch;}
.main_column .slick-slide{height:auto; display:flex !important;}
.main_column .slick-slide > a{
	display:flex;
	flex:1;
	width:100%;
	height:100%;
	padding:0 16px;
	box-sizing:border-box;
	text-decoration:none;
	color:inherit;
}
.main_column .slick-slide > a .card{
	width:100%;
	height:100%;
}
@media (hover:hover) and (pointer:fine){
/* 원본 .card:hover 무력화 → a:hover 시 .card 모션 */
.main_column .card:hover{background:#342b2b; transform:none;}
.main_column .card:hover .img_area::after{opacity:0;}
.main_column .card:hover .tit{color:#c9ab6b;}
.main_column .card:hover .desc{color:#fff;}
.main_column .slick-slide > a:hover .card{background:#fff; transform:translateY(-20px);}
.main_column .slick-slide > a:hover .card .img_area::after{opacity:1;}
.main_column .slick-slide > a:hover .card .tit,
.main_column .slick-slide > a:hover .card .desc{color:#000;}
}
.main_column .img_area{aspect-ratio:370/240; overflow:hidden; flex-shrink:0;}
.main_column .img_area img{width:100%; height:100%; object-fit:cover; display:block;}
.main_column .txt_area{flex:1; display:flex; flex-direction:column; box-sizing:border-box;}
.main_column .card .tit{
	display:-webkit-box;
	overflow:hidden;
	text-overflow:ellipsis;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	min-height:calc(1.5em * 2);
}
.main_column .card .desc{
	display:-webkit-box;
	overflow:hidden;
	text-overflow:ellipsis;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	min-height:calc(1.5em * 3);
}
.main_column .card .date{margin-top:auto; padding-top:16px;}
@media screen and (max-width: 768px){
.main_column .card_list{padding:0 60px; padding-top:20px;}
.main_column .slick-slide > a{padding:0 6px;}
.main_column .card .date{margin-top:auto; padding-top:12px;}
}
