@font-face{font-family:Pretendard;font-weight:45 920;font-style:normal;font-display:swap;src:url(/assets/fonts/PretendardVariable.woff2) format("woff2-variations")}
:root{
  --dk:#222426;--md:#2D2F32;--dp:#4A4D52;--ice:#FCFCF8;--mist:#B0C2C6;--ln:#CACAC6;--tx:#000000;--sub:#74777B;--ac-l:#000000;--ac-d:#B0C2C6;--alert:#B8332B;--pt:#38618F;--pt-h:#2C4E73;
  --alt:color-mix(in srgb,var(--mist) 20%,var(--ice));
  --soft:color-mix(in srgb,var(--ice) 78%,transparent);
  --faint:color-mix(in srgb,var(--ice) 22%,transparent);
  --r:4px;--hd:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hd) + 12px)}
body,p,li,h1,h2,h3,h4,a,button,td,th,dd,dt,summary,address,nav,input,select,textarea{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
body{margin:0;font:400 16px/1.7 Pretendard,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:var(--tx);background:var(--ice);font-variant-numeric:tabular-nums;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.035em;line-height:1.28;text-align:left}
button{font:inherit;cursor:pointer}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}
.ico{flex:none;display:inline-block;vertical-align:middle}
:focus-visible{outline:2px solid var(--mist);outline-offset:2px}
.sec :focus-visible,.phero :focus-visible{outline-color:var(--dk)}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:var(--r);font-weight:600;font-size:16px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;cursor:pointer}
.fill-m{background:var(--mist);color:var(--tx)}.fill-m:hover{background:var(--ice)}
.fill-l{background:var(--dk);color:var(--ice)}.fill-l:hover{background:var(--dp)}
.line-l{border-color:var(--ice);color:var(--ice)}.line-l:hover{background:var(--ice);color:var(--tx)}
.line-d{border-color:var(--dk);color:var(--tx)}.line-d:hover{background:var(--dk);color:var(--ice)}
.tl{font-weight:600;border-bottom:1px solid currentColor;padding-bottom:1px;display:inline-block}
.tl:hover{opacity:.7}

/* 헤더 72 단색 */
.hd{position:sticky;top:0;z-index:50;height:var(--hd);background:var(--md);color:var(--ice)}
.hd-in{max-width:1400px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;gap:40px}
.logo img{width:118px;height:30px}
.gnav>ul{display:flex;gap:6px}
.gnav a{display:block;padding:0 16px;line-height:var(--hd);font-weight:600;font-size:16px}
.gnav>ul>li{position:relative}
.gnav a:hover,.gnav a:focus-visible{color:var(--mist)}
.sub{position:absolute;left:0;top:100%;min-width:230px;background:var(--md);border-top:1px solid var(--faint);padding:8px 0;display:none;box-shadow:none}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.sub a{line-height:1.5;padding:11px 20px;font-weight:400;font-size:15px}
.hd-r{margin-left:auto;display:flex;align-items:center;gap:16px}
.sns{display:flex;gap:8px}
.sns a{width:32px;height:32px;border-radius:50%;overflow:hidden;display:block}
.sns img{width:32px;height:32px}
.hd-tel{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid var(--ac-d);border-radius:var(--r);font-weight:600;color:var(--ice)}
.hd-tel:hover{background:var(--mist);color:var(--tx)}
.burger{display:none;background:none;border:0;color:var(--ice);padding:8px}
.mnav{background:var(--md);border-top:1px solid var(--faint)}
.mnav[hidden]{display:none}
.mnav ul{display:grid;grid-template-columns:repeat(4,1fr)}
.mnav a{display:block;text-align:center;padding:14px 4px;font-weight:600;font-size:14px;color:var(--ice)}

/* 섹션 공통 + 모티프3(§ 번호) */
.sec{padding:100px 0;border-top:1px solid var(--ln);position:relative}
.sec.alt{background:var(--alt)}
.sec-head{margin-bottom:48px;max-width:860px}
.sec-head h2,.sec h2,.sec-h2{font-size:clamp(28px,4vw,44px)}
.kick{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--ac-l)}
.kick .sn,.kick .en{letter-spacing:.04em}
.kick .sn{font-size:12px;font-weight:600}
.kick .en{font-size:13px;font-weight:600}
.dark .kick,.kick.on-dk{color:var(--ac-d)}
.sec-sm{display:none}
.fu{}
.js .fu{opacity:0;transform:translateY(40px);transition:opacity .8s,transform .8s}
.js .fu.is-in{opacity:1;transform:none}
.cover{position:relative;overflow:hidden}
.js .cover::after{content:"";position:absolute;inset:0;background:var(--dk);transform-origin:right center;transition:transform .8s cubic-bezier(.7,0,.2,1)}
.js .cover.is-in::after{transform:scaleX(0)}
@media (prefers-reduced-motion:reduce){.js .fu{opacity:1;transform:none;transition:none}.js .cover::after{display:none}html{scroll-behavior:auto}}
.zoom{cursor:zoom-in}

/* 히어로 (layout 3: 좌 2인 / 우 글, --dk 단색) */
.hero{background:var(--dk);color:var(--ice);overflow:hidden}
.hero-in{display:grid;grid-template-columns:600px 1fr;gap:56px;min-height:680px;align-items:end}
.hero-ph{display:flex;gap:10px;align-items:flex-end;align-self:end}
.hero-ph .cover{width:295px}
.hero-img{width:295px;height:auto}
.hero-tx{align-self:center;padding:72px 0}
.hero-sm{font-size:15px;font-weight:600;color:var(--ac-d);margin-bottom:18px}
.hero h1{font-size:clamp(34px,6vw,64px);font-weight:800;color:var(--ice);margin-bottom:22px}
.hero-lead{font-size:17px;line-height:1.75;color:var(--soft);max-width:560px;margin-bottom:24px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chips li{border:1px solid var(--faint);border-radius:var(--r);padding:6px 14px;font-size:15px;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.trust{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--faint);padding-top:18px;max-width:600px}
.trust li{font-size:15px;color:var(--soft);padding:0 18px;border-left:1px solid var(--faint)}
.trust li:first-child{padding-left:0;border-left:0}

/* LAWYERS */
.law-grid{display:grid;grid-template-columns:minmax(0,1fr) 480px;gap:56px;align-items:start}
.law-cards{display:flex;flex-direction:column;gap:16px}
.law-cards.pro{max-width:900px}
.lc{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;border:1px solid var(--ln);border-radius:var(--r);padding:16px;background:var(--ice);max-height:230px;overflow:hidden}
.lc-ph{width:150px;height:190px;background:var(--alt);border-radius:var(--r)}
.lc-img{width:150px;height:190px;object-fit:cover;object-position:top center}
.lc-tx{min-width:0}
.lc h3{font-size:22px;line-height:1.3}
.lc-f{font-size:15px;color:var(--dp);margin-bottom:6px;line-height:1.5}
.lc ul{margin-bottom:4px}
.lc li{font-size:15px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc .tl{font-size:15px}
.sub-head .kick{margin-bottom:16px}
.appt{display:flex;gap:16px}
.appt li{width:232px}
.appt img{width:230px;height:auto;border:1px solid var(--ln)}
.appt span{display:block;font-size:14px;line-height:1.45;margin-top:8px;color:var(--dp)}
.strip{height:110px;background:var(--mist);color:var(--tx);border-top:1px solid var(--ln)}
.strip-in{display:flex;align-items:center;gap:24px;height:110px}
.strip .av{display:flex}
.av-img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top center;background:var(--ice);border:2px solid var(--mist)}
.av-img+.av-img{margin-left:-14px}
.strip p{font-weight:700;font-size:19px;flex:1}

/* QUICK ANSWER: 2x3 카드, 상단 2px 선 */
.situ-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.situ-grid article{border-top:2px solid var(--ac-l);padding:24px 0 8px;height:100%;display:flex;flex-direction:column;gap:10px;background:transparent}
.situ-grid h3{font-size:21px;line-height:1.4}
.situ-grid p{font-size:16px;color:var(--dp)}
.situ-grid p strong{color:var(--tx);margin-right:6px}
.situ-grid .tl{align-self:flex-start;margin-top:auto}
.alert{display:inline-block;vertical-align:middle;border:1px solid var(--alert);color:var(--alert);font-size:13px;font-weight:600;padding:1px 8px;border-radius:var(--r);line-height:1.5}

/* SERVICES: 좌 mist / 우 ice 분할 + 아코디언 */
.svc{padding:0;overflow:hidden;background:var(--ice)}
.svc-in{display:grid;grid-template-columns:380px minmax(0,1fr);gap:56px}
.svc-head{position:relative;background:var(--mist);color:var(--tx);padding:100px 40px 100px 0}
.svc-head::before{content:"";position:absolute;top:0;bottom:0;right:100%;width:100vw;background:var(--mist)}
.svc-head h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:16px}
.svc-head p{font-size:16px;color:var(--tx)}
.svc-head .kick{color:var(--ac-l)}
.acc{padding:100px 0}
.acc details{border-bottom:1px solid var(--ln)}
.acc details:first-child{border-top:1px solid var(--ln)}
.acc summary{list-style:none;display:grid;grid-template-columns:48px 1fr 28px;gap:4px 12px;padding:22px 0;cursor:pointer;position:relative;align-items:baseline}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";grid-column:3;grid-row:1;font-size:26px;font-weight:300;text-align:right;line-height:1}
.acc details[open] summary::after{content:"−"}
.acc-n{font-weight:300;font-size:22px;color:var(--sub)}
.acc-t{font-size:23px;font-weight:800;letter-spacing:-.035em}
.acc-d{grid-column:2/3;font-size:15px;color:var(--dp);line-height:1.6}
.acc-b{padding:0 40px 28px 60px}
.acc-l{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;margin-bottom:16px}
.acc-l a{font-size:16px;border-bottom:1px solid transparent}.acc-l a:hover{border-bottom-color:var(--tx)}
.acc-l li::before{content:"· "}

/* PROCESS (dark, 숫자만 가로) */
.dark{background:var(--dk);color:var(--ice)}
.proc{border-top:0}
.proc-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px}
.proc-list b{display:block;font-size:44px;font-weight:300;color:var(--ac-d);line-height:1.1;margin-bottom:14px}
.proc-list h3{font-size:20px;margin-bottom:8px;color:var(--ice)}
.proc-list p{font-size:15px;color:var(--soft);line-height:1.65}

/* STRENGTH: 인용문형 */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
blockquote{margin:0;border-left:3px solid var(--ac-l);padding:4px 0 4px 24px}
blockquote cite{display:block;font-style:normal;font-weight:800;font-size:20px;margin-bottom:12px;letter-spacing:-.03em}
blockquote p{font-size:17px;line-height:1.65;margin-bottom:8px}

/* 표 */
.tbl{overflow-x:auto;margin:20px 0}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{border:1px solid var(--ln);padding:12px 16px;text-align:left;vertical-align:top;line-height:1.55}
thead th{background:var(--mist);color:var(--tx);font-weight:700}
.rec-tbl td:first-child{width:90px;font-weight:600;color:var(--dp)}
.rec-tbl a{border-bottom:1px solid transparent}.rec-tbl a:hover{border-bottom-color:var(--tx)}
.note{font-size:15px;color:var(--dp);margin:12px 0 24px}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:56px}
.faq-t h2{font-size:clamp(28px,3.4vw,40px)}
.faq-l details{border-bottom:1px solid var(--ln)}
.faq-l details:first-child{border-top:1px solid var(--ln)}
.faq-l summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative}
.faq-l summary::-webkit-details-marker{display:none}
.faq-l summary::after{content:"+";position:absolute;right:4px;top:50%;margin-top:-15px;line-height:1;font-size:26px;font-weight:300}
.faq-l details[open] summary::after{content:"−"}
.faq-l summary h3{font-size:19px;font-weight:700}
.faq-l p{padding:0 40px 24px 0;font-size:16px;color:var(--dp);line-height:1.8}

/* LEGAL INFO: 한 열 번호 리스트 */
.legal-list{margin-bottom:32px}
.legal-list li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:20px;align-items:start;padding:26px 0;border-top:1px solid var(--ln)}
.legal-list li:last-child{border-bottom:1px solid var(--ln)}
.ln-n{font-size:32px;font-weight:300;color:var(--sub);line-height:1.2}
.ln-b h3{font-size:21px;margin-bottom:6px}
.ln-b p{font-size:15px;color:var(--dp);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.legal-list .tl{margin-top:4px}

/* YOUTUBE */
.yt{background:var(--alt)}
.yt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:32px}
.yt-th{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:var(--dk)}
.yt-th img{width:100%;height:100%;object-fit:cover}
.yt-play{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--dk);color:var(--ice);display:grid;place-items:center}
.yt-grid strong{display:block;margin-top:14px;font-size:17px;line-height:1.5;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.yt-grid a:hover strong{text-decoration:underline}

/* LOCATION */
.loc-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:24px}
.loc-info{height:480px;border:1px solid var(--ln);border-radius:var(--r);padding:36px;display:flex;flex-direction:column;overflow:auto;background:var(--ice)}
.loc-info h3{font-size:24px;margin-bottom:20px}
.loc-info dl{margin:0 0 24px;display:grid;grid-template-columns:76px 1fr;gap:12px 8px;font-size:16px}
.loc-info dt{font-weight:700}.loc-info dd{margin:0}
.loc-info .btn{margin-top:auto;align-self:flex-start}
.map-box{width:100%;overflow:hidden;height:480px;border-radius:var(--r);border:1px solid var(--ln)}
.map-box .root_daum_roughmap{width:100%}
.map-box .root_daum_roughmap .wrap_map{height:480px}
.root_daum_roughmap .cont,.root_daum_roughmap .wrap_controllers{display:none!important}
.loc-tall .loc-info{height:550px}.loc-tall .map-box{height:550px}.loc-tall .map-box .root_daum_roughmap .wrap_map{height:550px}

/* 상담 블록 ≤380 */
.consult{background:var(--dk);color:var(--ice);border-top:1px solid var(--faint)}
.cs-in{max-width:1500px;margin:0 auto;padding:16px 24px 0;display:grid;grid-template-columns:420px 330px minmax(0,700px);gap:28px;justify-content:center;align-items:stretch;height:350px}
.cs-l{padding-top:14px}
.cs-l .kick{margin-bottom:8px}
.cs-l h2{font-size:24px;font-weight:700;margin-bottom:8px;line-height:1.4}
.cs-l p{font-size:15px;color:var(--soft);margin-bottom:10px}
.cs-tel{display:block;font-size:46px;font-weight:700;color:var(--ac-d);letter-spacing:-.02em;line-height:1.2}
.cs-m{display:flex;gap:6px;align-items:flex-end;justify-content:center}
.cs-ph{width:158px;height:auto;max-height:278px;object-fit:contain;object-position:bottom}
.cs-form{display:flex;flex-direction:column;gap:10px;padding:0 0 16px;align-self:center}
.cs-form select,.cs-form input[type=text],.cs-form input[type=tel]{width:100%;height:56px;padding:0 16px;font:inherit;font-size:16px;border:1px solid var(--ln);border-radius:var(--r);background:var(--ice);color:var(--tx)}
.cs-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cs-agree{background:var(--ice);color:var(--tx);border-radius:var(--r);padding:8px 16px;font-size:14px;line-height:1.5;display:flex;flex-direction:column}
.cs-agree strong{font-size:14px}
.cs-chk{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;cursor:pointer;min-height:28px}
.cs-chk input{width:22px;height:22px;accent-color:var(--mist);flex:none}
.cs-btn{width:100%;height:56px}
.cs-btn:disabled{opacity:.45;cursor:not-allowed}
.cs-msg{font-size:15px;min-height:0;color:var(--ac-d)}
.cs-msg:empty{display:none}
.cs-msg.err{color:var(--ice);font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* 푸터 */
.ft{background:var(--dk);color:var(--soft);border-top:1px solid var(--faint)}
.ft-in{display:flex;justify-content:space-between;gap:40px;padding-top:32px;padding-bottom:20px}
.ft address{font-style:normal;font-size:14px;line-height:1.9;display:flex;flex-wrap:wrap;gap:0 18px;margin-top:14px;max-width:720px}
.ft address a{color:var(--ice)}
.ft-r{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.ft-r{flex:none}.ft-nav{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:flex-end;white-space:nowrap}
.ft-nav a{color:var(--ice);font-size:15px;font-weight:600}
.copy{border-top:1px solid var(--faint);text-align:center;padding:14px 24px;font-size:14px}

/* 퀵메뉴/모바일바/라이트박스 */
.qm{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;border:1px solid var(--dp)}
.qm a{width:64px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--md);color:var(--ice);font-size:12px;font-weight:600;border-bottom:1px solid var(--dp)}
.qm a:last-child{border-bottom:0}
.qm a:hover{background:var(--mist);color:var(--tx)}
.mbar{display:none}
.lb{position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--dk) 94%,transparent);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:90vh;width:auto;height:auto;object-fit:contain;background:var(--ice)}
.lb button{position:absolute;background:none;border:0;color:var(--ice);font-size:44px;line-height:1;padding:16px;cursor:pointer}
.lb-x{top:8px;right:8px}.lb-p{left:8px;top:50%}.lb-n{right:8px;top:50%}
.lb.one .lb-p,.lb.one .lb-n{display:none}

/* 하위 페이지 */
.phero{background:var(--alt);padding:56px 0 52px;border-bottom:1px solid var(--ln)}
.phero h1{font-size:clamp(30px,4.6vw,52px);margin-bottom:18px;max-width:900px}
.phero .lead{font-size:19px;line-height:1.75;max-width:820px;color:var(--tx)}
.crumb{margin-bottom:20px}.crumb ol{display:flex;flex-wrap:wrap;gap:4px 0;font-size:14px;color:var(--dp)}
.crumb li+li::before{content:"/";margin:0 8px;color:var(--sub)}
.crumb a:hover{text-decoration:underline}
.en-label{font-size:14px;font-weight:600;letter-spacing:.06em;margin-bottom:6px}
.phero .sm{font-size:16px;color:var(--dp);margin-bottom:10px}
.meta{margin-top:16px;font-size:14px;color:var(--dp)}
.gp{padding-bottom:0;overflow:hidden}
.gp-in{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:end}
.gp-t{padding-bottom:52px}
.gp-ph{display:flex;gap:8px;align-items:flex-end}
.gp-ph .cover{width:186px}
.gp-img{width:186px;height:auto}
.pf-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:end}
.phero:has(.pf-hero){padding-bottom:0}
.pf-ph{width:260px}.pf-img{width:260px;height:auto}
.pf-body article{max-width:860px}
.pf-body h2{font-size:26px;margin:36px 0 12px;padding-top:24px;border-top:1px solid var(--ln)}
.pf-body h2:first-child{margin-top:0;border-top:0;padding-top:0}
.plain li{padding:6px 0 6px 16px;position:relative;font-size:17px;line-height:1.6}
.plain li::before{content:"";position:absolute;left:0;top:.95em;width:6px;height:1px;background:var(--tx)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.two h2,.sec h2.s{font-size:28px;margin-bottom:12px}
.axl a{font-weight:700;border-bottom:1px solid var(--tx)}
.sec .wrap>h2{font-size:clamp(24px,3vw,32px);margin-bottom:24px}
.about-l li{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:28px 0;border-top:1px solid var(--ln)}
.about-l b{font-size:32px;font-weight:300;color:var(--sub);line-height:1.3}
.about-l p{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.55}
.about-l p span{color:var(--sub)}
.about-ph{display:flex;gap:12px;margin-top:56px;align-items:flex-end}.about-ph .cover{width:260px}
.narrow{max-width:820px}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.case-th{display:block;aspect-ratio:550/410;overflow:hidden;border-radius:var(--r);background:var(--alt)}
.case-th img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.case-grid a:hover img{transform:scale(1.03)}
.case-grid strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:14px;font-size:18px;line-height:1.5;font-weight:700}
.article{max-width:860px}
.article h2{font-size:26px;margin:40px 0 12px}
.article h3{font-size:21px;margin:28px 0 8px}
.article p,.article li{font-size:17px;line-height:1.9;margin-bottom:12px}
.case-main{width:300px;max-width:100%;height:auto;border-radius:var(--r);margin-bottom:24px}
.hub-axis{margin-bottom:64px}
.hub-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;border-bottom:1px solid var(--ln);padding-bottom:14px}
.hub-h h2{font-size:28px}
.g-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g-cards a{display:flex;flex-direction:column;gap:10px;height:100%;border:1px solid var(--ln);border-radius:var(--r);padding:24px;background:var(--ice);transition:border-color .2s}
.g-cards a:hover{border-color:var(--tx)}
.tag{font-size:13px;font-weight:600;color:var(--dp)}
.g-cards strong{font-size:20px;line-height:1.4;font-weight:800;letter-spacing:-.03em}
.d2{font-size:15px;line-height:1.65;color:var(--dp);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.g-cards .tl{margin-top:auto;align-self:flex-start;font-size:15px}
.gbody{max-width:860px}
.gbody section{margin-bottom:44px}
.gbody h2{font-size:clamp(24px,3vw,31px);margin-bottom:16px;padding-top:12px}
.gbody h3{font-size:21px;margin:26px 0 8px}
.gbody p,.gbody li{font-size:17px;line-height:1.9}
.gbody p{margin-bottom:14px}
.gbody ul,.gbody ol{margin:0 0 18px;padding-left:22px}
.gbody ul{list-style:disc}.gbody ol{list-style:decimal}
.gbody li{margin-bottom:6px}
.toc{border:1px solid var(--ln);border-radius:var(--r);padding:20px 24px;margin-bottom:44px;background:var(--alt)}
.toc strong{display:block;margin-bottom:8px}
.toc ol{list-style:decimal;padding-left:20px;margin:0}
.toc li{font-size:16px;margin-bottom:2px}
.toc a:hover{text-decoration:underline}
.qa{border-top:1px solid var(--ln);padding:20px 0}
.qa h3{margin:0 0 8px;font-size:19px}
.qa p{margin:0;font-size:16px;color:var(--dp)}
.cta{border-top:2px solid var(--ac-l);padding:28px 0;display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.cta strong{flex:1 1 100%;font-size:22px;letter-spacing:-.03em}
.cta p{flex:1 1 100%;font-size:16px;color:var(--dp)}
.cform label{display:block;margin-bottom:18px;font-weight:600;font-size:16px}
.cform input[type=text],.cform input[type=tel],.cform input[type=email],.cform select,.cform textarea{display:block;width:100%;margin-top:8px;padding:14px 16px;min-height:56px;font:inherit;font-weight:400;border:1px solid var(--ln);border-radius:var(--r);background:var(--ice);color:var(--tx)}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.cform fieldset{border:1px solid var(--ln);border-radius:var(--r);margin:0 0 18px;padding:10px 16px 14px}
.radios{display:flex;gap:24px;flex-wrap:wrap}
.radios legend{font-weight:600;padding:0 6px}
.radios label{display:inline-flex;align-items:center;gap:8px;width:auto;white-space:nowrap;margin:0;font-weight:400}
.radios input{width:20px;height:20px;accent-color:var(--dk)}
.cs-agree.light{border:1px solid var(--ln);margin-bottom:12px;padding:12px 16px}
.cform .cs-chk{margin-bottom:16px}.cform .cs-chk input{accent-color:var(--dk)}
.cform .cs-msg{color:var(--tx);margin-top:12px}.cform .cs-msg.err{color:var(--alert)}

/* 반응형 */
@media (max-width:1280px){
  .hero-in{grid-template-columns:560px 1fr;gap:32px}.hero-ph .cover,.hero-img{width:275px}
  .law-grid{grid-template-columns:1fr;gap:40px}.law-cards{max-width:760px}
  .cs-in{grid-template-columns:380px 300px minmax(0,1fr)}.cs-ph{width:140px}.cs-tel{font-size:40px}
  .qm{display:none}
}
@media (max-width:1024px){
  .gnav a{padding:0 10px}.hd-in{gap:20px}.sns{display:none}
  .hero-in{grid-template-columns:1fr;min-height:0;gap:0}
  .hero-ph{order:2;justify-content:center;padding-top:8px}.hero-tx{order:1;padding:56px 0 24px}
  .svc-in{grid-template-columns:1fr;gap:0}.svc-head{padding:64px 0}.svc-head::after{content:"";position:absolute;top:0;bottom:0;left:100%;width:100vw;background:var(--mist)}.acc{padding:48px 0 64px}
  .proc-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quotes{grid-template-columns:1fr}.faq-grid{grid-template-columns:1fr;gap:24px}
  .yt-grid{grid-template-columns:1fr 1fr}.g-cards,.case-grid{grid-template-columns:1fr 1fr}
  .loc-grid{grid-template-columns:1fr}
  .cs-in{grid-template-columns:1fr;height:auto;padding-bottom:24px;gap:16px}.cs-m{display:none}
  .gp-in,.pf-hero{grid-template-columns:1fr}.gp-ph{justify-content:flex-start}
}
@media (max-width:767px){
  body{padding-bottom:56px;font-size:16px}
  .sec{padding:64px 0}.sec-head{margin-bottom:32px}
  .hd-in{padding:0 16px}.gnav,.hd-tel{display:none}.burger{display:block}.logo img{width:104px;height:auto}
  .hero h1{white-space:nowrap}
  .hero-ph .cover,.hero-img{width:calc(50% - 6px);max-width:200px}
  .hero-lead{font-size:16px}.trust li{padding:0 10px;font-size:14px}
  .situ-grid{grid-template-columns:1fr}
  .proc-list{grid-template-columns:1fr 1fr;gap:28px 20px}
  .lc{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px;max-height:none}.lc-ph{width:100px;height:140px}.lc-img{width:100px;height:140px}
  .lc li{font-size:14px}.lc h3{font-size:19px}
  .appt{gap:10px}.appt li{width:calc(50% - 5px)}.appt img{width:100%}
  .strip{height:auto}.strip-in{height:auto;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:12px}.strip p{flex:1 1 60%;font-size:16px}.strip .btn{width:100%}
  .acc-l{grid-template-columns:1fr}.acc-b{padding:0 0 24px 0}.acc summary{grid-template-columns:36px 1fr 24px}.acc-t{font-size:20px}
  .legal-list li{grid-template-columns:44px 1fr;gap:12px}.legal-list .tl{grid-column:2}.ln-n{font-size:24px}
  .yt-grid,.g-cards,.case-grid{grid-template-columns:1fr}
  .loc-info{height:auto;padding:24px}.map-box,.loc-tall .map-box{height:320px}.map-box .root_daum_roughmap .wrap_map,.loc-tall .map-box .root_daum_roughmap .wrap_map{height:320px}
  .cs-l h2{font-size:21px}.cs-tel{font-size:36px}.cs-in{padding:24px 16px}.cs-2{grid-template-columns:1fr}
  .ft-in{flex-direction:column}.ft-r{align-items:flex-start}.ft-nav{justify-content:flex-start}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;height:56px;background:var(--md)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ice);font-weight:700;font-size:16px}
  .mbar .m-tel{background:var(--mist);color:var(--tx)}
  .phero{padding:36px 0 32px}.phero .lead{font-size:17px}.gp{padding-bottom:0}.gp-t{padding-bottom:28px}
  .two{grid-template-columns:1fr;gap:32px}.cform .row{grid-template-columns:1fr}
  .about-l p{font-size:19px}.about-l li{grid-template-columns:44px 1fr}.about-ph .cover{width:calc(50% - 6px)}
  .hub-h{flex-direction:column;gap:6px}
  .gp-ph .cover,.gp-img{width:150px}
  .pf-ph,.pf-img{width:200px}
  h1,h2,.cta strong{word-break:keep-all}
}

/* v2: 밝은 톤 — 다크 구간은 상담 블록(Closing)+푸터만 */
.btn.fill-l{background:var(--pt);color:var(--ice)}.btn.fill-l:hover{background:var(--pt-h)}
.line-d{border-color:var(--pt);color:var(--pt)}.line-d:hover{background:var(--pt);color:var(--ice)}
.tl{color:var(--pt)}.tl:hover{color:var(--pt-h);opacity:1}
.kick{color:var(--pt)}.dark .kick,.kick.on-dk{color:var(--ac-d)}
.situ-grid article,.cta{border-top-color:var(--pt)}
blockquote{border-left-color:var(--pt)}
.svc-head .kick{color:var(--pt)}
.acc-n,.ln-n,.about-l b{color:var(--pt)}
.acc-l a:hover,.rec-tbl a:hover,.toc a:hover,.crumb a:hover{color:var(--pt-h)}
.axl a{border-bottom-color:var(--pt);color:var(--pt)}
.radios input,.cform .cs-chk input{accent-color:var(--pt)}
.sec :focus-visible,.phero :focus-visible,.hd :focus-visible{outline-color:var(--pt)}
/* 헤더 */
.hd{background:var(--ice);color:var(--dk);border-bottom:1px solid var(--ln)}
.gnav a{color:var(--dk)}.gnav a:hover,.gnav a:focus-visible{color:var(--pt)}
.sub{background:var(--ice);border:1px solid var(--ln);border-top:0}
.sub a:hover{background:var(--alt)}
.hd-tel{border-color:var(--pt);color:var(--pt);background:transparent}
.hd-tel:hover{background:var(--pt);color:var(--ice)}
.burger{color:var(--dk)}
.mnav{background:var(--ice);border-top:1px solid var(--ln)}
.mnav ul{grid-template-columns:repeat(4,1fr)}
.mnav a{color:var(--dk)}.mnav a:hover{color:var(--pt)}
/* 히어로 라이트 */
.hero{background:var(--alt);color:var(--dk);border-bottom:1px solid var(--ln)}
.hero h1{color:var(--dk)}.hero-sm{color:var(--pt)}.hero-lead{color:var(--dp)}
.chips li{border-color:var(--ln);background:var(--ice)}
.trust{border-top-color:var(--ln)}.trust li{color:var(--dp);border-left-color:var(--ln)}
.js .cover::after{background:var(--alt)}
/* 프로세스 라이트 틴트 */
.proc{background:var(--alt);color:var(--dk);border-top:1px solid var(--ln)}
.proc-list b{color:var(--pt)}.proc-list h3{color:var(--dk)}.proc-list p{color:var(--dp)}
/* 플로팅 */
.qm{border-color:var(--ln)}
.qm a{background:var(--ice);color:var(--dk);border-bottom-color:var(--ln)}
.qm a:hover{background:var(--pt);color:var(--ice)}
@media (max-width:767px){
  .mbar{background:var(--ice);border-top:1px solid var(--ln)}
  .mbar a{color:var(--dk)}
  .mbar .m-tel{background:var(--pt);color:var(--ice)}
}

.sec.cont{border-top:0;padding-top:64px}
article.sec:has(+ .strip){padding-bottom:40px}
.gbody + .strip{margin:0}
.strip p strong{display:block;font-size:19px;font-weight:700;line-height:1.4}.strip p span{display:block;font-size:15px;font-weight:400;color:var(--dp);margin-top:2px}.av-img{width:72px;height:72px}
