
/* myz 구성 + igloo식 3D: 블록으로 쌓인 아파트가 조립되고, 스크롤하면 층이 벌어지며 분쟁 장면을 보여줌 */
:root{
  --r:32px;
  --r-s:32px;
  --bg:#eff1f4;
  --bg-2:#e6e9ee;
  --ink:#16181c;
  --text:#3b3f46;
  --mute:#656b75;
  --line:#d8dce2;
  --dark:#0f1115;
  --dark-2:#181b21;
  --point:#0f6e78;--point-d:#0b5961;--point-l:#5fb4bc;
  --ko:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --gutter:20px;
  --ease:cubic-bezier(.22,.8,.24,1);
}
@media (min-width:768px){:root{--gutter:48px}}
@media (min-width:1024px){:root{--gutter:clamp(64px,13.46vw - 73.8px,120px)}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ko);font-size:16px;line-height:1.75;letter-spacing:-.02em;word-break:keep-all;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;letter-spacing:inherit}
img{display:block;max-width:100%}
.w{max-width:calc(1440px + var(--gutter)*2);padding-inline:var(--gutter);margin-inline:auto;width:100%}
.skip{position:fixed;left:16px;top:-60px;z-index:300;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.dark :focus-visible,.proc-sec :focus-visible{outline-color:#fff}

/* 공통 */
.lab{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600;color:var(--mute);line-height:1}
.lab b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.lab::after{content:"";flex:1;height:1px;background:var(--line)}
.dark .lab{color:#8d939c}.dark .lab b{color:#fff}.dark .lab::after{background:#2c3038}
.h2{margin:22px 0 0;font-size:clamp(28px,3vw,48px);font-weight:700;line-height:1.3;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.h2 em{font-style:normal;color:#9aa0aa}
.dark .h2{color:#f2f3f5}.dark .h2 em{color:#6d737d}
#xsT em{color:var(--ink)}
.lead{margin:0;font-size:clamp(15.5px,1.1vw,17px);line-height:1.85;color:var(--mute)}
.dark .lead{color:#aab0b9}

/* 버튼 · 칩: 고정 높이 + inline-flex 로 글자 상하 중앙 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 24px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.btn .ar{display:inline-block;line-height:1;transition:transform .35s var(--ease)}
.btn:hover{background:transparent;color:var(--ink)}
.btn:hover .ar{transform:translate(3px,-3px)}
.btn.line{background:transparent;color:var(--ink)}
.btn.line:hover{background:var(--ink);color:#fff}
.btn.white{background:#fff;color:var(--ink);border-color:#fff}
.btn.white:hover{background:transparent;color:#fff}
.btn.wline{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn.wline:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn.sm{height:40px;padding:0 18px;font-size:14px}
.chip{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 15px;border-radius:999px;line-height:1;white-space:nowrap}
.ulink{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1;color:var(--ink);position:relative;padding:4px 0 8px}
.ulink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .45s var(--ease)}
.ulink:hover::after{transform:scaleX(0)}
.ulink span{transition:transform .35s var(--ease)}
.ulink:hover span{transform:translate(3px,-3px)}

.rv{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- 헤더 (통일 규격) ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:60;transition:padding .5s var(--ease)}
.hdr-in{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-inline:var(--gutter);border-radius:999px;border:1px solid transparent;transition:height .5s var(--ease),background-color .4s,border-color .4s,box-shadow .4s,padding .5s var(--ease)}
.logo{display:flex;align-items:center;gap:12px;white-space:nowrap;color:var(--ink);justify-self:start}
.logo svg{height:28px;width:auto;flex:none}
.logo span{display:flex;flex-direction:column;line-height:1.3}
.logo small{font-size:11.5px;color:var(--mute)}
.logo b{font-size:15.5px;font-weight:700}
.nav{display:flex;align-items:center;gap:2px}
.nav>a,.nav>.dd>button{height:38px;padding:0 14px;display:inline-flex;align-items:center;gap:6px;border:0;background:none;font-size:15px;font-weight:500;line-height:1;color:var(--ink);cursor:pointer;border-radius:999px;transition:background .25s}
.nav>a:hover,.nav>.dd>button:hover,.dd.open>button{background:rgba(22,24,28,.07)}
.dd{position:relative}
.dd svg{width:10px;transition:transform .3s}
.dd.open svg{transform:rotate(180deg)}
.dd-menu{position:absolute;left:50%;top:calc(100% + 14px);width:min(540px,90vw);padding:24px 26px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:32px;box-shadow:0 30px 60px -30px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translate(-50%,-6px);transition:.3s var(--ease)}
.dd.open .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dd-menu h4{margin:0 0 8px;font-size:12.5px;font-weight:600;color:var(--mute)}
.dd-menu a{display:block;padding:5px 0;font-size:15px;color:var(--ink)}
.dd-menu a:hover{text-decoration:underline;text-underline-offset:4px}
.hdr-r{justify-self:end;display:flex;align-items:center;gap:8px}
.menu-btn{display:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--ink);background:none;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-btn i{display:block;width:16px;height:1.5px;background:var(--ink)}
.hdr.float{padding:16px 24px 0}
.hdr.float .hdr-in{height:72px;padding-inline:26px 14px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:rgba(255,255,255,.9);box-shadow:0 20px 44px -30px rgba(15,17,21,.45)}
@media (max-width:1100px){.nav{display:none}.menu-btn{display:inline-flex}.hdr-in{grid-template-columns:1fr auto}}
@media (max-width:640px){
  .hdr-in{height:64px;gap:8px}.logo{gap:9px}.logo svg{height:24px}.logo small{font-size:10.5px}.logo b{font-size:14px}
  .hdr-r .btn{height:36px;padding:0 13px;font-size:13.5px}.menu-btn{width:36px;height:36px}
  .hdr.float{padding:8px 8px 0}.hdr.float .hdr-in{height:56px;padding-inline:14px 8px}
}
.mnav{position:fixed;inset:0;z-index:80;background:var(--dark);color:#fff;padding:96px var(--gutter) 40px;overflow-y:auto;opacity:0;visibility:hidden;transition:.4s var(--ease)}
.mnav.open{opacity:1;visibility:visible}
.mnav .x{position:absolute;right:16px;top:14px;width:48px;height:48px;border-radius:50%;border:1px solid #444;background:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.mnav h4{margin:28px 0 6px;font-size:13px;font-weight:600;color:#8a8f98}
.mnav a{display:block;padding:6px 0;font-size:24px;font-weight:600;letter-spacing:-.03em}

/* ---------- 3D 무대 (히어로 · 숫자 · 단면도가 캔버스 하나를 공유) ---------- */
.stage{position:relative;clip-path:inset(0);background:radial-gradient(120% 70% at 72% 18%,#fbfcfd 0%,#eff1f4 45%,#e4e7ec 100%)}
.sky{position:absolute;inset:0;opacity:var(--dk,0);background:linear-gradient(180deg,#b3bfd4 0%,#d3cfdb 36%,#e9d8d4 62%,#f1d9c1 100%)}
.sky::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:radial-gradient(70% 90% at 72% 100%,rgba(242,178,120,.55),transparent 70%)}
.stage-stick{position:sticky;top:0;height:100vh;height:100svh;margin-bottom:-100vh;margin-bottom:-100svh;z-index:0;pointer-events:none}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block;transition:opacity .6s}
.stage-ui{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hud{position:absolute;left:0;top:0;opacity:0;transition:opacity .35s;white-space:nowrap}
.hud.on{opacity:1}
.hud .t{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 15px;border-radius:999px;background:var(--ink);color:#fff;font-size:13.5px;font-weight:600;line-height:1;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.hud .t::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--point);box-shadow:0 0 0 4px rgba(15,110,120,.22)}
.hud::before{content:"";position:absolute;left:-40px;top:17px;width:56px;height:1px;background:var(--ink);transform-origin:0 0;transform:translateY(53px) rotate(-45deg) scaleX(1.34)}
.hud::after{content:"";position:absolute;left:-44px;top:66px;width:9px;height:9px;border-radius:50%;background:var(--ink)}
.stage>section{position:relative;z-index:1}
/* 1. 히어로: 카피는 왼쪽, 건물 층마다 분쟁 핀 */
.hero{min-height:100vh;min-height:100svh}
.hero-in{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:clamp(48px,7vh,72px);padding-block:120px 72px}
.hero-copy{max-width:500px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink);line-height:1}
.hero .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--point)}
.hero h1{margin:20px 0 0;font-size:clamp(34px,3.4vw,54px);font-weight:700;line-height:1.18;letter-spacing:-.04em;color:var(--ink)}
.hero .lead{margin-top:18px;max-width:440px;color:var(--text)}
.hero .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.hstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:600px;border-top:1px solid var(--ink)}
.hs{padding:16px 16px 0 0;margin-right:16px;border-right:1px solid var(--line)}
.hs:last-child{border-right:0;margin-right:0}
.hs .v{font-size:clamp(24px,2vw,32px);font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--ink)}
.hs .v small{font-size:.42em;font-weight:600;margin-left:3px;letter-spacing:-.02em}
.hs p{margin:8px 0 0;font-size:12.5px;color:var(--mute);line-height:1.5}

/* 핀 — 기본(모바일 · 3D 없음)은 목록형 */
.pins{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pins-q{grid-column:1/-1;display:flex;align-items:center;gap:10px;height:52px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid var(--line);color:var(--ink);box-shadow:0 12px 26px -20px rgba(15,17,21,.4)}
.pins-q i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--point);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(15,110,120,.55)}70%{box-shadow:0 0 0 10px rgba(15,110,120,0)}100%{box-shadow:0 0 0 0 rgba(15,110,120,0)}}
.pins-q p{margin:0;font-size:15px;font-weight:600;line-height:1;letter-spacing:-.03em;white-space:nowrap}
.pin{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 16px 30px -24px rgba(15,17,21,.45);white-space:nowrap;line-height:1;transition:background .3s,color .3s,box-shadow .3s,opacity .5s}
.pin b{font-size:12px;font-weight:700;color:var(--point);font-variant-numeric:tabular-nums}
.pin span{font-size:15.5px;font-weight:700;letter-spacing:-.03em;color:var(--ink);transition:color .3s}
.pin em{margin-left:auto;flex:none;display:inline-flex;align-items:center;font-style:normal;font-size:15px;font-weight:600;line-height:1;color:var(--ink);transition:transform .3s var(--ease),color .3s}
.pin:hover,.pin:focus-visible,.pin.on{background:var(--ink);border-color:var(--ink)}
.pin:hover span,.pin:focus-visible span,.pin.on span{color:#fff}
.pin:hover em,.pin:focus-visible em,.pin.on em{color:#fff;transform:translate(2px,-2px)}

/* 3D가 켜진 데스크톱: 핀이 건물 층에 붙음 */
.pin-lines{display:none}
.pins.live .pin-lines{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pin-lines line{stroke:var(--ink);stroke-width:1;opacity:.7}
.pin-lines circle{fill:var(--point);stroke:#fff;stroke-width:2}
.pin-lines .hot line{stroke:var(--point);stroke-width:1.5;opacity:1}
.pin-lines .hot circle{fill:var(--point)}
.pins.live{position:fixed;inset:0;z-index:2;display:block;pointer-events:none}
.pins.live.off{visibility:hidden}
.pins.live .pins-q,.pins.live .pin{position:absolute;left:0;top:0;pointer-events:auto;opacity:0;will-change:transform}
.pins.live .pins-q{height:44px;padding:0 18px;transform:translate(var(--x),var(--y)) translate(-50%,-100%)}
.pins.live .pin{height:46px;padding:0 18px 0 20px;background:#fff;border:1px solid rgba(22,24,28,.12);box-shadow:0 14px 28px -14px rgba(15,17,21,.45);transform:translate(var(--x),var(--y)) translateY(-50%)}
.pins.live .pin span{font-size:16px}
.pins.live .pin[data-side="-1"]{transform:translate(var(--x),var(--y)) translate(-100%,-50%)}
.pins.live .pin em{width:auto;height:auto}
.pins.live .pin:hover,.pins.live .pin:focus-visible,.pins.live .pin.on{background:var(--ink);border-color:var(--ink)}
.pins.live .show{opacity:1}
.pins.live.dim .pin:not(.on){opacity:.25}
@media (max-width:640px){.pin{padding:0 16px}.pin span{font-size:15px}}
@media (prefers-reduced-motion:reduce){.pins-q i{animation:none}}
@media (max-width:1023px){
  .hero-in{justify-content:flex-start;gap:34px;padding-top:112px}
  .hstats{grid-template-columns:1fr 1fr;max-width:none}
  .hs{margin-right:0;padding:14px 12px 14px 0;border-right:0;border-bottom:1px solid var(--line)}
  .hs:nth-child(odd){border-right:1px solid var(--line);margin-right:14px}
  .hs:nth-last-child(-n+2){border-bottom:0}
}

/* 3. 스크롤 단면도 */
.xs-head{max-width:560px;padding-top:clamp(40px,6vw,90px)}
.xs-list{max-width:520px;padding:12vh 0 36vh}
.xitem{min-height:88vh;display:flex;flex-direction:column;justify-content:center}
.xcard{padding:30px 30px 26px;border-radius:32px;background:rgba(255,255,255,.74);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 60px -40px rgba(15,17,21,.35);opacity:.35;transform:scale(.97);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.xitem.on .xcard{opacity:1;transform:none}
.xcard .top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.xcard .fl{font-size:42px;font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--ink)}
.xcard .cat{border:1px solid var(--ink);font-size:13px;font-weight:600;color:var(--ink);height:30px;padding:0 13px}
.xcard h3{margin:20px 0 0;font-size:clamp(20px,1.6vw,25px);font-weight:700;line-height:1.35;letter-spacing:-.035em;color:var(--ink)}
.xcard p{margin:10px 0 0;font-size:15.5px;color:var(--text)}
.xcard .ft{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.xcard .fee{font-size:15.5px;font-weight:700;color:var(--ink)}
@media (max-width:1023px){
  .xs-list{max-width:none;padding:20vh 0 30vh}
  .xitem{min-height:100vh;justify-content:flex-end;padding-bottom:5vh}
  .xcard{padding:22px 20px 18px;border-radius:32px}
  .xcard .fl{font-size:34px}
}

/* ---------- 4. 조사 발주 (사진 마스크) ---------- */
.dark{background:var(--dark);color:#cfd3d9}
.proc-sec{background:var(--dark);color:#cfd3d9}
.mask{background:#f8f9fb}
.mask{position:relative;height:220vh}
.mask-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.mask-img{position:absolute;inset:0;clip-path:inset(var(--mi,22%) var(--mx,30%) var(--mi,22%) var(--mx,30%) round var(--mr,220px))}
.mask-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(.8);transform:scale(var(--ms,1.15))}
.mask-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,17,21,.35) 0%,rgba(15,17,21,.1) 36%,rgba(15,17,21,.75) 78%,#0f1115 100%);opacity:var(--mo,0)}
.mask-lab{position:absolute;left:0;right:0;top:clamp(110px,15vh,150px);z-index:2;opacity:calc(1 - var(--mo,0)*2.5)}
.proc-sec .mask-lab .lab{color:#aab0b9}.proc-sec .mask-lab .lab b{color:#fff}.proc-sec .mask-lab .lab::after{background:rgba(255,255,255,.25)}
.mask-row{position:relative;padding-bottom:clamp(26px,3.2vw,40px)}
.mask-row::after{content:"";position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:1px;background:rgba(255,255,255,.28)}
.mask-txt{position:absolute;left:0;right:0;bottom:clamp(50px,9vh,100px);z-index:2;color:#fff;opacity:var(--mt,0);transform:translateY(calc((1 - var(--mt,0))*30px))}
.mask-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);align-items:end}
.mask-row .lead{justify-self:end;max-width:30em;margin:0}
.mask-txt .h2{color:#fff;margin:0}
.mask-txt .lead{color:rgba(255,255,255,.85)}
@media (max-width:900px){.mask-row{grid-template-columns:1fr;gap:14px}.mask-row .lead{justify-self:start}}
.proc{padding-block:clamp(40px,5vw,80px) clamp(110px,11vw,170px)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.step{position:relative;padding:28px 26px 30px;border-radius:32px;background:var(--dark-2);border:1px solid #262a31;overflow:hidden}
.step .n{font-size:13.5px;font-weight:600;color:#8d939c;font-variant-numeric:tabular-nums;line-height:1}
.step .bar{height:3px;margin:18px 0 0;border-radius:32px;background:#2a2e36;overflow:hidden}
.step .bar i{display:block;height:100%;width:0;background:var(--point-l);transition:width 1.4s var(--ease) .3s}
.step.in .bar i{width:calc(var(--k) * 25%)}
.step h3{margin:20px 0 0;font-size:20px;font-weight:700;letter-spacing:-.035em;color:#f2f3f5}
.step p{margin:8px 0 0;font-size:15px;color:#aab0b9}
.infos{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ptrack{position:relative;height:2px;margin:0 0 28px;background:#262a31}
.ptrack i{position:absolute;left:0;top:0;height:100%;width:var(--pp,0%);background:var(--point-l);box-shadow:0 0 12px rgba(95,180,188,.6);transition:width .7s var(--ease)}
.ptrack i::after{opacity:0;transition:opacity .3s;content:"";position:absolute;right:-6px;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--point-l);box-shadow:0 0 0 6px rgba(95,180,188,.2)}
.ptrack b{position:absolute;top:-6px;width:14px;height:14px;border-radius:50%;background:var(--dark);border:2px solid #3a3f48;font-size:0;transition:.4s}
.ptrack b:nth-of-type(1){left:0}.ptrack b:nth-of-type(2){left:calc(25% + 3px)}.ptrack b:nth-of-type(3){left:calc(50% + 6px)}.ptrack b:nth-of-type(4){left:calc(75% + 9px)}
.ptrack b.on{border-color:var(--point-l);background:var(--point-l);color:#0f1115}
.ptrack:has(~.steps.hov) i::after{opacity:1}
.proc-sec .step,.proc-sec .info{--sx:50%;--sy:0%;transition:opacity .6s var(--ease),transform .6s var(--ease),border-color .5s,background .5s}
.proc-sec .step::before,.proc-sec .info::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(260px circle at var(--sx) var(--sy),rgba(95,180,188,.16),transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}
.proc-sec .step:hover::before,.proc-sec .info:hover::before{opacity:1}
.proc-sec .info{position:relative;overflow:hidden}
.proc-sec .steps.live.hov .step{opacity:.5}
.proc-sec .steps.live .step.lit{opacity:1;border-color:rgba(95,180,188,.45);background:#1a1e24}
.proc-sec .steps.live .step .bar i{width:0;transition:width .7s var(--ease)}
.proc-sec .steps.live .step.lit .bar i{width:100%}
.proc-sec .steps.live .step.lit .n{color:var(--point-l)}
@media (max-width:1000px){.ptrack{display:none}.proc-sec .steps.live .step{opacity:1}}
.info{padding:26px 26px 28px;border-radius:32px;border:1px solid #262a31}
.info h4{margin:0;font-size:17.5px;font-weight:700;color:#f2f3f5}
.info p{margin:8px 0 0;font-size:15px;color:#aab0b9}
@media (max-width:1000px){.steps{grid-template-columns:1fr 1fr}.infos{grid-template-columns:1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* ---------- 5. 분쟁 유형 ---------- */
.lines{padding:clamp(110px,11vw,170px) 0}
.rows{margin-top:clamp(40px,5vw,70px);border-top:1px solid var(--ink)}
.row{display:block;border-bottom:1px solid var(--line)}
.row-h{display:grid;grid-template-columns:130px minmax(0,1fr) 200px;align-items:center;gap:20px;padding:26px 0}
.row .st{font-size:13px;color:var(--mute)}
.row .nm{font-size:clamp(26px,2.8vw,44px);font-weight:700;line-height:1.15;letter-spacing:-.04em;color:var(--ink);transition:transform .5s var(--ease)}
.row:hover .nm{transform:translateX(10px)}
.row .fee{text-align:right;font-size:15px;font-weight:700;color:var(--ink)}
.row-d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.row-d>div{overflow:hidden}
.row-d .in2{display:grid;grid-template-columns:130px minmax(0,1fr) 200px;gap:20px;padding:0 0 30px}
.row-d .sub{grid-column:2;margin:0 0 12px;font-size:15px;font-weight:600;color:var(--ink)}
.row-d ul{grid-column:2;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.row-d li{background:#fff;border:1px solid var(--line);font-size:14.5px;color:var(--text);height:40px;padding:0 16px}
.row-d .go{grid-column:3;grid-row:1 / span 2;justify-self:end;align-self:start;display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--ink);color:#fff;font-size:18px;line-height:1}
.row:hover .row-d,.row:focus-visible .row-d{grid-template-rows:1fr}
@media (max-width:900px){
  .row-h{grid-template-columns:1fr auto;gap:6px 14px;padding:22px 0 12px}
  .row .st{grid-column:1/-1}
  .row-d{grid-template-rows:1fr}
  .row-d .in2{grid-template-columns:1fr;gap:0;padding:0 0 22px}
  .row-d .sub,.row-d ul{grid-column:1}
  .row-d .go{display:none}
  .row-d li{height:auto;min-height:38px;padding:9px 14px;white-space:normal;line-height:1.4}
}

/* ---------- 6. 비용 (기울어지는 카드) ---------- */
.fees{padding:clamp(40px,4vw,60px) 0 clamp(110px,11vw,170px)}
.fees-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);align-items:end}
.fee-g{margin-top:clamp(40px,5vw,70px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;perspective:1200px}
.fcard{position:relative;padding:28px 28px 24px;border-radius:32px;background:linear-gradient(160deg,#fff 0%,#f1f3f6 100%);border:1px solid #fff;box-shadow:0 30px 50px -36px rgba(15,17,21,.45);transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),box-shadow .5s,opacity 1s var(--ease)}
.fcard.rv{transform:translateY(30px)}
.fcard.rv.in{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.fcard::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.95),transparent 45%);opacity:0;transition:opacity .4s;pointer-events:none}
.fcard:hover::after{opacity:.85}
.fcard:hover{box-shadow:0 44px 70px -40px rgba(15,17,21,.55)}
.fcard .top{display:flex;justify-content:space-between;align-items:center}
.fcard h3{margin:0;font-size:20px;font-weight:700;letter-spacing:-.035em;color:var(--ink)}
.fcard .idx{font-size:13px;font-weight:600;color:#9aa0aa;font-variant-numeric:tabular-nums}
.fcard dl{margin:0}
.fcard .amt{margin-top:26px}
.fcard dt{font-size:12.5px;font-weight:600;color:var(--mute)}
.fcard .amt dd{margin:4px 0 0;font-size:clamp(20px,1.6vw,24px);font-weight:700;letter-spacing:-.035em;color:var(--ink)}
.fcard .sb{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.fcard .sb dd{margin:0;background:var(--ink);color:#fff;font-size:14px;font-weight:700;height:34px}
.fees-ft{display:flex;justify-content:flex-end;margin-top:40px}
@media (max-width:1000px){.fees-top{grid-template-columns:1fr;gap:16px}.fee-g{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fee-g{grid-template-columns:1fr}}

/* ---------- 7. 기준 · FAQ ---------- */
.crit{padding:clamp(110px,11vw,170px) 0 clamp(90px,9vw,140px);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}
.fill{margin:24px 0 0;max-width:15em;font-size:clamp(30px,3.6vw,58px);font-weight:700;line-height:1.24;letter-spacing:-.045em}
.fill span{color:#c3c7ce;transition:color .25s}
.fill span.on{color:var(--ink)}
.stairs{margin-top:clamp(60px,7vw,110px);padding-top:110px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.cr{position:relative;display:flex;flex-direction:column;padding:26px 24px 28px;border-radius:32px;background:#fff;box-shadow:none;border:1px solid #e3e6eb;transform:translateY(calc(var(--s) * -34px));transition:transform .6s var(--ease),box-shadow .6s,opacity 1s var(--ease)}
.cr.rv{opacity:0}
.cr.rv.in{opacity:1}
.cr.rv.in{transform:translateY(calc(var(--s) * -34px))}
.cr.rv.in:hover{transform:translateY(calc(var(--s) * -34px - 10px));border-color:var(--point)}
.cr::before{content:none}
.cr .k{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--mute);line-height:1}
.cr .k i{width:7px;height:7px;border-radius:50%;background:var(--point)}
.cr h3{margin:14px 0 0;font-size:18px;font-weight:700;line-height:1.45;letter-spacing:-.035em;color:var(--ink)}
.cr p{margin:10px 0 0;font-size:14.5px;color:var(--mute)}
.faq{margin-top:clamp(70px,8vw,120px);display:grid;gap:10px}
.faq details{overflow:hidden;border-radius:32px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.9);transition:background .3s}
.faq details[open]{background:#fff}
.faq summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;font-size:clamp(16px,1.25vw,18px);font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.45}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg);font-size:15px;font-weight:700;line-height:1}
.faq details[open] .q{background:var(--ink);color:#fff}
.faq summary .pm{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--line)}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .35s}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq details.closing .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details.closing .q{background:var(--bg);color:var(--ink)}
.faq summary .q,.faq summary .pm{transition:background .3s,color .3s,border-color .3s}
.faq details:hover .pm{border-color:var(--ink)}
.faq .a{padding:0 78px 24px 78px;font-size:16px;color:var(--text);line-height:1.9}
@media (max-width:1000px){.stairs{grid-template-columns:1fr 1fr;padding-top:0}.cr,.cr.rv.in{transform:none}.cr.rv.in:hover{transform:translateY(-6px)}}
@media (max-width:560px){.stairs{grid-template-columns:1fr}.faq summary{grid-template-columns:36px minmax(0,1fr) 36px;gap:12px;padding:14px}.faq summary .q,.faq summary .pm{width:36px;height:36px}.faq .a{padding:0 16px 20px 62px;font-size:15px}}

/* ---------- 8. 마무리 (밤의 단지 3D) ---------- */
.close{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:linear-gradient(180deg,var(--bg-2) 0%,#d7dce3 100%);color:var(--ink);display:flex;align-items:center}
#gl2{position:absolute;inset:0;width:100%;height:100%;display:block}
.close .w{position:relative;z-index:2;padding-block:140px 120px;pointer-events:none}
.close .w a{pointer-events:auto}
.close .k{font-size:14px;font-weight:600;color:var(--mute);line-height:1}
.close h2{margin:20px 0 0;max-width:12.5em;font-size:clamp(32px,3.8vw,60px);font-weight:700;line-height:1.26;letter-spacing:-.045em}
.close h2 em{font-style:normal;color:var(--point)}
.close .acts{display:flex;gap:8px;margin-top:34px;flex-wrap:wrap}
@media (max-width:1023px){.close{align-items:flex-end}.close .w{padding-block:120px 70px}#gl2{opacity:.5}}


/* ===== 하단 강화 ===== */
.lines{background:var(--dark);color:#cfd3d9;position:relative}
.lines .lab{color:#8d939c}.lines .lab b{color:#fff}.lines .lab::after{background:#2c3038}
.lines .h2{color:#f2f3f5}
.lines .rows{border-top-color:#3a3f48}
.lines .row{position:relative;border-bottom-color:#23272e}
.lines .row::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--point-l);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.lines .row:hover::before,.lines .row:focus-visible::before{transform:scaleX(1)}
.lines .row .st{color:#6d737d}
.lines .row .nm{font-size:clamp(36px,5vw,80px);letter-spacing:-.05em;line-height:1.1;color:transparent;background:linear-gradient(90deg,#fff 0 50%,#454b55 50% 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;transition:background-position .8s var(--ease),transform .6s var(--ease)}
.lines .row:hover .nm,.lines .row:focus-visible .nm{background-position:0 0;transform:translateX(14px)}
.lines .row .fee{color:#f2f3f5}
.lines .row-d .sub{color:#f2f3f5}
.lines .row-d li{background:#181b21;border-color:#2c3038;color:#cfd3d9}
.lines .row-d .go{background:var(--point)}
.cursor-go{position:fixed;left:0;top:0;z-index:6;width:124px;height:124px;margin:-62px 0 0 -62px;border-radius:50%;background:var(--point);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none;transform:scale(0);transition:transform .4s var(--ease);box-shadow:0 20px 40px -16px rgba(15,110,120,.6)}
.cursor-go b{font-size:15px;font-weight:700;line-height:1}
.cursor-go i{font-style:normal;font-size:22px;line-height:1}
.cursor-go.on{transform:scale(1)}
@media (hover:hover) and (min-width:901px){.lines .row-d .go{display:none}}
@media (max-width:900px){.lines .row .nm{background-position:0 0}.cursor-go{display:none}}

.fees{position:relative;overflow:hidden}
.fees::before{content:"";position:absolute;width:900px;height:900px;right:-300px;top:0;border-radius:50%;background:radial-gradient(circle,rgba(15,110,120,.16),transparent 62%);pointer-events:none}
.fees::after{content:"";position:absolute;width:760px;height:760px;left:-320px;bottom:0;border-radius:50%;background:radial-gradient(circle,rgba(241,190,140,.22),transparent 62%);pointer-events:none}
.fees .w{position:relative;z-index:1}
.fee-g{position:relative}
.fcard,.fcard.rv,.fcard.rv.in{opacity:1;transform:translate(var(--fx,0px),var(--fy,0px)) rotate(var(--fr,0deg)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.fee-g.fan .fcard{transition:box-shadow .5s}
.fee-g.fan.done .fcard{transition:transform .5s var(--ease),box-shadow .5s}

.stairs{position:relative}

.close{background:linear-gradient(180deg,var(--bg-2) 0%,#d3cfdb 38%,#e9d8d4 68%,#f1d9c1 100%)}


/* 비용 카드: 착수금 범위 막대 · 큰 번호 · 호버 반전 */
.fcard{overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s,background .45s,border-color .45s}
.fcard .idx{position:absolute;right:22px;top:6px;font-size:88px;font-weight:700;letter-spacing:-.06em;line-height:1;color:#eef0f3;z-index:0;transition:color .45s}
.fcard .top,.fcard dl{position:relative;z-index:1}
.fcard h3,.fcard .amt dd,.fcard dt{transition:color .45s}
.frange{position:relative;height:6px;margin-top:16px;border-radius:32px;background:#e6e9ee;overflow:hidden}
.frange i{position:absolute;top:0;bottom:0;left:var(--a,0%);width:0;border-radius:32px;background:linear-gradient(90deg,#8fc3c8,var(--point));transition:width 1.1s var(--ease) .2s}
.fee-g.shown .frange i,.fee-g:not(.fan) .frange i{width:var(--w,0%)}
.frange::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(16.66% - 1px),rgba(22,24,28,.12) calc(16.66% - 1px) 16.66%)}
.fcard:hover{background:var(--ink);border-color:var(--ink)}
.fcard:hover h3,.fcard:hover .amt dd{color:#fff}
.fcard:hover dt{color:#9aa0aa}
.fcard:hover .idx{color:#23272e}
.fcard:hover .sb{border-top-color:#2c3038}
.fcard:hover .sb dd{background:var(--point)}
.fcard:hover .frange{background:#2c3038}
.fcard:hover::after{opacity:.12}


/* ===== 하단 레이아웃: 왼쪽 고정 제목 + 오른쪽 내용 ===== */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(40px,6vw,120px);align-items:start}
.split-l{position:sticky;top:130px}
.split>*{min-width:0}
.split-l .lead{margin-top:18px;max-width:30em}
.split-l .h2{font-size:clamp(26px,2.5vw,40px)}
.fees{padding-bottom:clamp(60px,6vw,100px)}
.split-l .btn{margin-top:30px}
@media (max-width:1000px){.split{grid-template-columns:1fr}.split-l{position:static}}
.fees{padding-top:clamp(110px,11vw,170px)}
/* 06 성공보수 구조별 묶음 */
.fees .lab+.fees-top{margin-top:20px}
.fees-top .h2{margin:0}
.fees-top .lead{margin:0}
.fg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(44px,5vw,70px);border-top:1px solid var(--ink)}
.fg-col{padding:30px 28px 10px;border-left:1px solid var(--line)}
.fg-col:first-child{border-left:0;padding-left:0}
.fg-col:last-child{padding-right:0}
.fg-hd small{display:block;font-size:13px;font-weight:600;color:var(--mute)}
.fg-hd b{display:block;margin-top:10px;font-size:clamp(34px,3.4vw,52px);font-weight:600;line-height:1;letter-spacing:-.045em;color:var(--ink)}
.fg-list{margin:34px 0 0;padding:0;list-style:none}
.fg-list li{padding:18px 0 20px;border-top:1px solid var(--line)}
.fg-list h3{margin:0;font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.03em}
.fg-list p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--mute)}
.fg-rg{position:relative;height:10px;margin-top:14px;background:linear-gradient(var(--line),var(--line)) 0 50%/100% 1px no-repeat}
.fg-rg i{position:absolute;top:2px;bottom:2px;left:var(--a);width:var(--w);border-radius:999px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) .25s,background .3s}
.fg-col.in .fg-rg i{transform:none}
.fg-list li:hover .fg-rg i{background:var(--point)}
.fg-sc{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:#9aa0aa}
@media (max-width:1100px){.fg{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-col:nth-child(3){border-left:0;padding-left:0}.fg-col:nth-child(2){padding-right:0}.fg-col:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:640px){.fg{grid-template-columns:1fr}.fg-col{border-left:0;padding-inline:0}.fg-col+.fg-col{border-top:1px solid var(--line)}.fg-list{margin-top:20px}}
@media (prefers-reduced-motion:reduce){.fg-rg i{transform:none}}
.pts{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(24px,3vw,48px)}
.pt{padding:30px 0 36px;border-top:1px solid var(--ink)}
.pt-h{display:flex;align-items:baseline;gap:12px}
.pt-n{font-size:13px;font-weight:700;color:var(--point-d);font-variant-numeric:tabular-nums}
.pt h3{margin:0;font-size:clamp(20px,1.6vw,24px);font-weight:700;letter-spacing:-.035em;color:var(--ink)}
.pt dl{margin:22px 0 0}
.pt dt{font-size:12.5px;font-weight:600;color:var(--mute)}
.pt dd{margin:0}
.pt-a dd{margin-top:6px;font-size:clamp(28px,2.7vw,42px);font-weight:700;letter-spacing:-.045em;line-height:1.15;color:var(--ink)}
.pt-s{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.pt-s dd{font-size:16px;font-weight:700;color:var(--ink)}
@media (max-width:640px){.pts{grid-template-columns:1fr}}

.climb{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.climb polyline{fill:none;stroke:var(--point);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.climb circle{fill:var(--point);stroke:#fff;stroke-width:3}
.stairs.live .cr{opacity:.35}
.stairs.live .cr.up{opacity:1}
/* ---------- 푸터 ---------- */
footer{background:var(--dark);color:#9aa0a9}
.f-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:34px;padding:70px 0 46px;border-bottom:1px solid #23272e}
.f-top .logo{color:#fff}
.f-top .logo small{color:#8d939c}
.f-tel{display:block;margin-top:26px;font-size:30px;font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1.2}
.f-top .addr{margin:10px 0 0;font-size:14px;line-height:1.85}
.f-col h4{margin:0 0 14px;font-size:14px;font-weight:600;color:#fff}
.f-col a{display:block;padding:4px 0;font-size:14.5px}
.f-col a:hover{color:#fff}
.f-mid{padding:26px 0;border-bottom:1px solid #23272e;font-size:13.5px;line-height:1.85}
.f-mid p{margin:0}
.f-links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:12px}
.f-links a{font-size:13.5px}
.f-links a:hover{color:#fff}
.f-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:26px 0 30px;font-size:13px}
.f-bot p{margin:0;line-height:1.85}
.f-word{padding:6px 0 30px;font-size:clamp(28px,6.2vw,106px);font-weight:700;line-height:1.05;letter-spacing:-.05em;color:#1c1f25;white-space:nowrap;overflow:hidden}
@media (max-width:1000px){.f-top{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}}

/* ---------- 떠 있는 버튼 · 동의 ---------- */
.qk{position:fixed;right:18px;bottom:18px;z-index:55;display:flex;flex-direction:column;gap:8px}
.qk a,.qk button{position:relative;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 12px 26px -16px rgba(0,0,0,.5);transition:background .3s,color .3s,opacity .3s}
.qk a:first-child{background:var(--ink);color:#fff;border-color:var(--ink)}
.qk a:hover,.qk button:hover{background:var(--ink);color:#fff}
.qk .top{opacity:0;pointer-events:none}
.qk .top.on{opacity:1;pointer-events:auto}
.qk em{position:absolute;right:62px;font-style:normal;font-size:13px;line-height:1;white-space:nowrap;padding:8px 12px;border-radius:999px;background:var(--ink);color:#fff;opacity:0;transform:translateX(6px);transition:.25s;pointer-events:none}
.qk a:hover em,.qk button:hover em{opacity:1;transform:none}
@media (max-width:640px){.qk{right:10px;bottom:10px}.qk a,.qk button{width:46px;height:46px}.qk em{display:none}}
.consent{position:fixed;left:16px;bottom:16px;z-index:70;width:min(420px,calc(100vw - 32px));padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:32px;box-shadow:0 24px 50px -24px rgba(0,0,0,.45);transform:translateY(14px);opacity:0;transition:.4s var(--ease)}
.consent.on{transform:none;opacity:1}
.consent b{display:block;font-size:16px;font-weight:700;color:var(--ink)}
.consent p{margin:4px 0 14px;font-size:14px;color:var(--mute);line-height:1.6}
.consent .row2{display:flex;gap:8px}
.consent .btn{flex:1}
@media (max-width:640px){.consent{left:10px;right:66px;width:auto;bottom:10px}}
.no3d #gl,.no3d #gl2,.no3d .hud{display:none}
:root{--point-d:#0b5961;--point-l:#5fb4bc}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.consent{visibility:hidden}.consent.on{visibility:visible}
.view{min-height:100vh}
.view .lab{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600;color:var(--mute);line-height:1}
.view .lab b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.view .lab::after{content:"";flex:1;height:1px;background:var(--line)}
.view .dark .lab{color:#8d939c}
.view .dark .lab b{color:#fff}
.view .dark .lab::after{background:#2c3038}
.view .h2{margin:20px 0 0;font-size:clamp(26px,2.6vw,42px);font-weight:700;line-height:1.3;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.view .dark .h2{color:#f2f3f5}
.view .lead{margin:0;font-size:clamp(15.5px,1.1vw,17px);line-height:1.85;color:var(--mute)}
.view .dark .lead{color:#aab0b9}
.view .sec{padding-block:clamp(90px,9vw,140px) 0}
.view .sec:last-of-type{padding-bottom:clamp(90px,9vw,140px)}
.view .sec-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end}
.view .sec-top .lead{padding-bottom:6px}
@media (max-width:900px){.view .sec-top{grid-template-columns:1fr;gap:14px}}
.view .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 24px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.view .btn .ar{display:inline-block;line-height:1;transition:transform .35s var(--ease)}
.view .btn:hover{background:transparent;color:var(--ink)}
.view .btn:hover .ar{transform:translate(3px,-3px)}
.view .btn.line{background:rgba(255,255,255,.7);color:var(--ink)}
.view .btn.line:hover{background:var(--ink);color:#fff}
.view .btn.sm{height:40px;padding:0 18px;font-size:14px}
.view .btn.lg{height:56px;padding:0 26px;font-size:16px}
.view .btn.white{background:#fff;color:var(--ink);border-color:#fff}
.view .btn.white:hover{background:transparent;color:#fff}
.view .btn.wline{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.view .btn.wline:hover{background:#fff;color:var(--ink);border-color:#fff}
.view .btn:disabled{opacity:.35;cursor:not-allowed}
.view .chip{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 15px;border-radius:999px;line-height:1;white-space:nowrap}
.view .ulink{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1;color:var(--ink);position:relative;padding:4px 0 8px}
.view .ulink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .45s var(--ease)}
.view .ulink:hover::after{transform:scaleX(0)}
.view .rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.view .rv.in{opacity:1;transform:none}
.view .d1{transition-delay:.08s}
.view .d2{transition-delay:.16s}
.view .d3{transition-delay:.24s}
.view .d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.view .rv{opacity:1;transform:none;transition:none}
.view html{scroll-behavior:auto}}
.view .sub-hero{position:relative;padding:136px 0 clamp(56px,6vw,90px);background:radial-gradient(110% 80% at 80% 10%,#fbfcfd 0%,#eff1f4 50%,#e6e9ee 100%);overflow:hidden}
.view .sub-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(22,24,28,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(22,24,28,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(80% 70% at 75% 30%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(80% 70% at 75% 30%,#000 10%,transparent 75%);pointer-events:none}
.view .sub-hero .w{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);align-items:center}
.view .crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--mute);line-height:1}
.view .crumb a:hover{color:var(--ink)}
.view .crumb>*+*::before{content:"/";margin-right:8px;color:#b3b8c0}
.view .crumb span:last-child{color:var(--ink)}
.view .sub-hero h1{margin:22px 0 0;font-size:clamp(32px,3.5vw,56px);font-weight:700;line-height:1.2;letter-spacing:-.04em;color:var(--ink);text-wrap:balance}
.view .fee-badge{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;margin-top:20px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--ink);line-height:1}
.view .fee-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--point)}
.view .sub-hero .lead{margin-top:16px;max-width:520px;color:var(--text)}
.view .bubbles{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.view .bubble{position:relative;display:inline-flex;align-items:center;height:42px;padding:0 16px;border-radius:999px;background:var(--ink);color:#fff;font-size:14.5px;font-weight:600;line-height:1;white-space:nowrap}
.view .bubble:nth-child(2){background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:999px}
.view .sub-hero .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
@media (max-width:1023px){.view .sub-hero .w{grid-template-columns:1fr}
.view .sub-hero{padding-top:110px}}
@media (max-width:640px){.view .bubble{height:auto;min-height:42px;padding:10px 16px;white-space:normal;line-height:1.35}}
.view .hvis{display:flex;flex-direction:column;gap:10px}
.view .stage3d{position:relative;aspect-ratio:16/11;width:100%;border-radius:32px;background:radial-gradient(80% 70% at 50% 40%,#fff 0%,#f1f3f6 55%,#e4e8ed 100%);border:1px solid rgba(255,255,255,.95);box-shadow:0 40px 80px -50px rgba(15,17,21,.45);overflow:hidden}
.view .stage3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.view .stage3d .tag{position:absolute;left:20px;top:20px;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;line-height:1}
.view .stage3d .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--point);box-shadow:0 0 0 4px rgba(15,110,120,.25)}
.view .svc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:6px 22px;align-items:start;padding:22px 24px;border-radius:32px;background:#fff;box-shadow:0 24px 50px -38px rgba(15,17,21,.45)}
.view .svc .k{margin:0;font-size:12.5px;font-weight:600;color:var(--point-d);line-height:1}
.view .svc h2{grid-column:1;margin:0;font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--ink);line-height:1.35}
.view .svc ul{grid-column:2;grid-row:1 / span 3;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.view .svc li{position:relative;padding:8px 0 8px 22px;font-size:14px;color:var(--text);border-bottom:1px solid var(--line);line-height:1.45}
.view .svc li::before{content:"";position:absolute;left:2px;top:14px;width:9px;height:5px;border-left:2px solid var(--point);border-bottom:2px solid var(--point);transform:rotate(-45deg)}
.view .svc .ulink{grid-column:1;align-self:end;font-size:14px;margin-top:8px}
@media (max-width:640px){.view .stage3d{border-radius:32px;aspect-ratio:4/3}
.view .svc{grid-template-columns:1fr;padding:20px}
.view .svc ul,.view .svc h2,.view .svc .ulink{grid-column:1;grid-row:auto}
.view .svc ul{grid-template-columns:1fr;margin-top:6px}}
.view .types-bar{position:sticky;top:0;z-index:40;padding:10px 0;background:rgba(239,241,244,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr.float~main .view .types-bar{top:88px;background:transparent;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:8px 0}
.hdr.float~main .view .types-bar nav{width:max-content;max-width:100%;padding:6px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 14px 30px -20px rgba(15,17,21,.45)}
.view .types-bar nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px}
.view .types-bar nav::-webkit-scrollbar{display:none}
.view .types-bar a{flex:none;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);font-size:14.5px;font-weight:600;color:var(--ink);line-height:1;transition:.25s}
.view .types-bar a:hover{border-color:var(--ink)}
.view .types-bar a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.view .types-bar a[aria-current]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--point);margin-right:8px}
@media (max-width:640px){.hdr.float~main .view .types-bar{top:70px}}
.view .need{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:stretch}
.view .need-col{padding:30px;border-radius:32px;background:#fff;border:1px solid #fff;box-shadow:0 30px 60px -44px rgba(15,17,21,.4)}
.view .need-col.dk{background:var(--ink);border-color:var(--ink)}
.view .need-col h3{margin:0;font-size:14px;font-weight:700;color:var(--mute);line-height:1}
.view .need-col.dk h3{color:#9aa0aa}
.view .chat{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.view .chat li{align-self:flex-start;max-width:90%;padding:14px 18px;border-radius:32px 32px 32px 32px;background:var(--bg);font-size:16px;font-weight:600;color:var(--ink);line-height:1.45}
.view .chat li:nth-child(2){align-self:flex-end;border-radius:32px 32px 32px 32px;background:var(--bg-2)}
.view .check{list-style:none;margin:18px 0 0;padding:0}
.view .check li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #2a2e36;font-size:16px;font-weight:600;color:#f2f3f5;line-height:1.45}
.view .check li:first-child{border-top:0}
.view .check li::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:var(--point) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.2l3 3 6-6.2' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.view .need-arrow{display:flex;align-items:center;justify-content:center}
.view .need-arrow span{width:44px;height:44px;border-radius:50%;background:var(--point);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;box-shadow:0 0 0 8px rgba(15,110,120,.15)}
@media (max-width:900px){.view .need{grid-template-columns:1fr;gap:0}
.view .need-arrow{height:96px}
.view .need-arrow span{transform:rotate(90deg)}
.view .need-col{padding:24px 20px}}
.view .scope{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.view .scope-it{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 16px;padding:26px 24px 26px 0;border-bottom:1px solid var(--line);transition:background .3s}
.view .scope-it:nth-child(odd){border-right:1px solid var(--line)}
.view .scope-it:nth-child(even){padding-left:28px}
.view .scope-it .n{grid-row:span 2;display:inline-flex;align-items:flex-start;justify-content:flex-start;width:44px;height:auto;padding-top:2px;background:none;border:0;font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1;transition:.3s}
.view .scope-it:hover .n{color:var(--point)}
.view .scope-it h3{margin:0;font-size:clamp(18px,1.4vw,21px);font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1.35}
.view .scope-it dl{margin:6px 0 0}
.view .scope-it dd{margin:0;font-size:15px;color:var(--text);line-height:1.7}
@media (max-width:760px){.view .scope{grid-template-columns:1fr}
.view .scope-it,.view .scope-it:nth-child(even){padding:22px 0;border-right:0}}
.view .tiers{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;perspective:1200px}
.view .tier{position:relative;padding:32px 32px 26px;border-radius:32px;background:linear-gradient(160deg,#fff 0%,#f1f3f6 100%);border:1px solid #fff;box-shadow:0 30px 50px -36px rgba(15,17,21,.45);transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),box-shadow .5s,opacity 1s var(--ease)}
.view .tier.rv{transform:translateY(28px)}
.view .tier.rv.in{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.view .tier::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(360px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.95),transparent 45%);opacity:0;transition:opacity .4s;pointer-events:none}
.view .tier:hover::after{opacity:.85}
.view .tier h3{margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:19px;font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1.3}
.view .tier h3 i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--point)}
.view .tier dl{margin:18px 0 0}
.view .tier dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:baseline;padding:14px 0;border-top:1px solid var(--line)}
.view .tier dt{font-size:13px;font-weight:600;color:var(--mute)}
.view .tier dd{margin:0;font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.45;letter-spacing:-.02em}
.view .tier dd.none{color:#b3b8c0;font-weight:600}
.view .fee-note{display:flex;align-items:center;gap:10px;margin:0;font-size:14.5px;color:var(--mute)}
.view .fee-note::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--point)}
.view .dark{background:var(--dark);color:#cfd3d9}
.view .dark.sec,.view .sec.dark{padding-block:clamp(90px,9vw,140px);margin-top:clamp(90px,9vw,140px)}
.view .dark+.sec{padding-top:clamp(90px,9vw,140px)}
.view .steps{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.view .step{position:relative;padding:28px 26px 30px;border-radius:32px;background:var(--dark-2);border:1px solid #262a31;overflow:hidden}
.view .step .n{font-size:13.5px;font-weight:600;color:#8d939c;font-variant-numeric:tabular-nums;line-height:1}
.view .step .bar{height:3px;margin:18px 0 0;border-radius:32px;background:#2a2e36;overflow:hidden}
.view .step .bar i{display:block;height:100%;width:0;background:var(--point);transition:width 1.4s var(--ease) .3s}
.view .step.in .bar i{width:calc(var(--k) * 25%)}
.view .step h3{margin:20px 0 0;font-size:20px;font-weight:700;letter-spacing:-.035em;color:#f2f3f5}
.view .step p{margin:8px 0 0;font-size:15px;color:#aab0b9}
.view .infos{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.view .info{padding:26px 26px 28px;border-radius:32px;border:1px solid #262a31}
.view .info h4{margin:0;font-size:17.5px;font-weight:700;color:#f2f3f5}
.view .info p{margin:8px 0 0;font-size:15px;color:#aab0b9}
@media (max-width:1000px){.view .steps{grid-template-columns:1fr 1fr}
.view .infos{grid-template-columns:1fr}}
@media (max-width:560px){.view .steps{grid-template-columns:1fr}}
.view .tl{margin-top:clamp(40px,5vw,70px);list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative;counter-reset:s}
.view .tl::before{content:"";position:absolute;left:0;right:0;top:21px;height:1px;background:var(--line)}
.view .tl::after{content:"";position:absolute;left:0;top:20px;height:3px;width:var(--tlp,0%);background:var(--point);transition:width 1.6s var(--ease)}
.view .tl li{position:relative;padding-top:62px}
.view .tl .dot{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--ink);line-height:1;z-index:1;transition:.5s var(--ease)}
.view .tl li.on .dot{background:var(--ink);border-color:var(--ink);color:#fff}
.view .tl .st{font-size:12.5px;font-weight:700;color:var(--point-d);line-height:1;letter-spacing:.02em}
.view .tl h3{margin:10px 0 0;font-size:19px;font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1.35}
.view .tl p{margin:8px 0 0;font-size:14.5px;color:var(--mute);line-height:1.7}
@media (max-width:1000px){.view .tl{grid-template-columns:1fr;gap:0}
.view .tl::before{left:21px;right:auto;top:0;bottom:0;width:1px;height:auto}
.view .tl::after{left:20px;top:0;width:3px;height:var(--tlp,0%)}
.view .tl li{padding:0 0 30px 66px;min-height:74px}
.view .tl h3{margin-top:8px}}
@keyframes ring{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.4);opacity:0}}
.view .olist{padding:26px 26px 18px;border-radius:32px;background:rgba(255,255,255,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #fff;box-shadow:0 40px 80px -50px rgba(15,17,21,.45)}
.view .olist .k{margin:0;font-size:13px;font-weight:600;color:var(--point-d);line-height:1}
.view .olist ol{list-style:none;margin:14px 0 0;padding:0}
.view .olist li a,.view .olist li>span{display:grid;grid-template-columns:48px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:16px 0;border-top:1px solid var(--line);font-size:clamp(17px,1.4vw,20px);font-weight:700;letter-spacing:-.03em;color:var(--ink);line-height:1.3}
.view .olist li b{font-size:13px;font-weight:700;color:var(--mute);font-variant-numeric:tabular-nums}
.view .olist li em{font-style:normal;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;transition:.3s}
.view .olist li a:hover em{background:var(--point);border-color:var(--point);color:#fff}
.view .stairs{margin-top:clamp(50px,6vw,90px);padding-top:110px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.view .cr{position:relative;display:flex;flex-direction:column;padding:26px 24px 28px;border-radius:32px;background:#fff;box-shadow:none;border:1px solid #e3e6eb;transform:translateY(calc(var(--s) * -34px));transition:transform .6s var(--ease),box-shadow .6s,opacity 1s var(--ease)}
.view .cr.rv{opacity:0}
.view .cr.rv.in{opacity:1;transform:translateY(calc(var(--s) * -34px))}
.view .cr.rv.in:hover{transform:translateY(calc(var(--s) * -34px - 10px))}
.view .cr::before{content:none}
.view .cr .k{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--mute);line-height:1}
.view .cr .k i{width:7px;height:7px;border-radius:50%;background:var(--point)}
.view .cr h3{margin:14px 0 0;font-size:18px;font-weight:700;line-height:1.45;letter-spacing:-.035em;color:var(--ink)}
.view .cr dd{margin:10px 0 0;font-size:14.5px;color:var(--mute)}
.view .cr dl{margin:0}
@media (max-width:1000px){.view .stairs{grid-template-columns:1fr 1fr;padding-top:0}
.view .cr,.view .cr.rv.in{transform:none}}
@media (max-width:560px){.view .stairs{grid-template-columns:1fr}}
.view .flow4{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.view .flow4 .fs{position:relative;padding:24px 22px 26px;border-radius:32px;background:#fff;box-shadow:0 24px 44px -36px rgba(15,17,21,.4)}
.view .flow4 .fs:not(:last-child)::after{content:"";position:absolute;right:-12px;top:50%;width:12px;height:1px;background:var(--ink)}
.view .flow4 .n{font-size:12.5px;font-weight:700;color:var(--point-d);line-height:1}
.view .flow4 h3{margin:12px 0 0;font-size:19px;font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1.35}
.view .flow4 p{margin:8px 0 0;font-size:14.5px;color:var(--mute);line-height:1.7}
.view .fork{position:relative;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.view .fork::before{content:"";position:absolute;left:calc(87.5% - 6px);top:-12px;width:1px;height:12px;background:var(--ink)}
.view .branch{padding:24px 24px 20px;border-radius:32px;border:1px solid var(--line);background:rgba(255,255,255,.5)}
.view .branch.dk{background:var(--ink);border-color:var(--ink)}
.view .branch h3{margin:0;display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:var(--ink);line-height:1}
.view .branch h3::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--point)}
.view .branch.dk h3{color:#fff}
.view .branch ol{margin:14px 0 0;padding:0;list-style:none;counter-reset:b}
.view .branch li{counter-increment:b;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid var(--line);font-size:15px;color:var(--text);line-height:1.55}
.view .branch.dk li{border-top-color:#2a2e36;color:#cfd3d9}
.view .branch li::before{content:counter(b,decimal-leading-zero);font-size:12.5px;font-weight:700;color:var(--point-d);padding-top:2px}
.view .branch.dk li::before{color:var(--point-l)}
@media (max-width:1000px){.view .flow4{grid-template-columns:1fr 1fr}
.view .flow4 .fs::after{display:none}
.view .fork{grid-template-columns:1fr}
.view .fork::before{display:none}}
@media (max-width:560px){.view .flow4{grid-template-columns:1fr}}
.view .map-wrap{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,60px);align-items:center}
.view .dotmap{position:relative;aspect-ratio:4/5;max-width:520px;width:100%;border-radius:32px;background:#fff;box-shadow:0 40px 80px -50px rgba(15,17,21,.4);overflow:hidden}
.view .dotmap canvas{position:absolute;inset:0;width:100%;height:100%}
.view .dotmap .mp{position:absolute;transform:translate(-7px,-50%);display:flex;flex-direction:row-reverse;align-items:center;gap:8px;pointer-events:none}
.view .dotmap .mp.l{transform:translate(calc(-100% + 7px),-50%);flex-direction:row}
.view .dotmap .mp span{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;line-height:1;white-space:nowrap}
.view .dotmap .mp.soft span{background:#fff;color:var(--ink);border:1px solid var(--line)}
.view .dotmap .mp i{width:14px;height:14px;border-radius:50%;background:var(--point);box-shadow:0 0 0 6px rgba(15,110,120,.2);animation:beat 2.4s infinite}
@keyframes beat{50%{box-shadow:0 0 0 12px rgba(15,110,120,0)}}
@media (max-width:900px){.view .map-wrap{grid-template-columns:1fr}
.view .dotmap{margin-inline:auto}}
@media (max-width:560px){.view .dotmap .mp.soft span{display:none}
.view .dotmap .mp.l{transform:translate(-7px,-7px);flex-direction:column-reverse;align-items:flex-start;gap:6px}}
.view .regions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.view .rg{padding:20px 22px;border-radius:32px;background:#fff;border:1px solid #fff;box-shadow:0 20px 40px -34px rgba(15,17,21,.4)}
.view .rg .c{font-size:clamp(30px,2.6vw,40px);font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--ink)}
.view .rg h3{margin:12px 0 0;font-size:16.5px;font-weight:700;color:var(--ink);letter-spacing:-.03em;line-height:1.35}
.view .rg p{margin:4px 0 0;font-size:14px;color:var(--mute);line-height:1.55}
.view .rg.wide{grid-column:1/-1}
.view .pool-info{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.view .pool-info div{padding:24px;border-radius:32px;border:1px solid var(--line)}
.view .pool-info h3{margin:0;display:flex;align-items:center;gap:8px;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.3}
.view .pool-info h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--point)}
.view .pool-info p{margin:8px 0 0;font-size:14.5px;color:var(--mute)}
@media (max-width:900px){.view .pool-info{grid-template-columns:1fr}}
.view .ftable{margin-top:clamp(36px,4vw,60px);border-top:1px solid var(--ink)}
.view .fr{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line);transition:background .3s}
.view .fr:hover{background:rgba(255,255,255,.55)}
.view .fr h3{margin:0;display:flex;align-items:center;gap:10px;font-size:clamp(20px,1.7vw,26px);font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1.2}
.view .fr h3 i{width:10px;height:10px;border-radius:50%;background:var(--point)}
.view .fr dl{margin:0;display:contents}
.view .fr dl>div{display:flex;flex-direction:column;gap:6px}
.view .fr dt{font-size:12.5px;font-weight:600;color:var(--mute);line-height:1}
.view .fr dd{margin:0;font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.6}
.view .fhead{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:0 0 12px}
@media (max-width:760px){.view .fr{grid-template-columns:1fr;gap:12px}}
.view .costs{margin-top:clamp(36px,4vw,60px);display:grid;gap:10px}
.view .cost{display:grid;grid-template-columns:200px minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:center;padding:22px 26px;border-radius:32px;background:#fff;box-shadow:0 20px 40px -36px rgba(15,17,21,.4)}
.view .cost h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.view .cost dl{margin:0;display:contents}
.view .cost dl>div{display:flex;flex-direction:column;gap:6px}
.view .cost dt{font-size:12.5px;font-weight:600;color:var(--mute);line-height:1}
.view .cost dd{margin:0;font-size:15px;color:var(--text);line-height:1.6}
.view .cost dl>div:last-child dd{font-weight:700;color:var(--ink)}
@media (max-width:900px){.view .cost{grid-template-columns:1fr;gap:10px;padding:22px}}
.view .bigtext{margin-top:clamp(30px,4vw,50px);max-width:52em;font-size:clamp(18px,1.5vw,22px);font-weight:500;line-height:1.85;color:var(--ink);letter-spacing:-.025em}
.view .parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.view .part{position:relative;padding:22px 20px 20px;border-radius:32px;background:rgba(255,255,255,.8);border:1px solid #fff;box-shadow:0 30px 60px -44px rgba(15,17,21,.45);aspect-ratio:1/1.05;display:flex;flex-direction:column;justify-content:space-between}
.view .part:nth-child(2){background:var(--ink)}
.view .part b{font-size:13px;font-weight:700;color:var(--mute);font-variant-numeric:tabular-nums}
.view .part:nth-child(2) b{color:var(--point)}
.view .part span{font-size:clamp(20px,1.8vw,26px);font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1.2}
.view .part:nth-child(2) span{color:#fff}
.view .parts-k{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--point-d)}
.view .lawyers{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.view .lw{display:flex;flex-direction:column;border-radius:32px;background:#fff;box-shadow:0 30px 60px -44px rgba(15,17,21,.45);overflow:hidden;transition:transform .5s var(--ease)}
.view .lw:hover{transform:translateY(-6px)}
.view .lw .ph{position:relative;aspect-ratio:4/4.2;background:linear-gradient(180deg,#e9edf2,#dfe4ea);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.view .lw .ph svg{width:70%;height:auto;color:#c8cfd8}
.view .lw .ph .f{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.9);font-size:12.5px;font-weight:700;color:var(--ink);line-height:1}
.view .lw .bd{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.view .lw h3{margin:0;font-size:19px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.view .lw ul{list-style:none;margin:10px 0 0;padding:0}
.view .lw ul li{padding:6px 0;border-top:1px solid var(--line);font-size:14px;color:var(--mute);line-height:1.5}
.view .lw .tags{margin-top:auto;padding-top:14px;display:flex;flex-wrap:wrap;gap:6px}
.view .lw .tags span{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:999px;background:var(--bg);font-size:12.5px;font-weight:600;color:var(--ink);line-height:1}
@media (max-width:1100px){.view .lawyers{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.view .lawyers{grid-template-columns:1fr}}
.view .principles{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:pr}
.view .pr{counter-increment:pr;position:relative;padding:28px 26px 30px;border-radius:32px;background:#fff;box-shadow:0 24px 50px -40px rgba(15,17,21,.4)}
.view .pr::before{content:counter(pr,decimal-leading-zero);display:block;font-size:13px;font-weight:700;color:var(--point-d);line-height:1}
.view .pr h3{margin:16px 0 0;font-size:19px;font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1.35}
.view .pr p{margin:10px 0 0;font-size:15px;color:var(--mute)}
@media (max-width:900px){.view .principles{grid-template-columns:1fr}}
.view .offices{display:grid;gap:12px}
.view .office{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 18px;padding:24px 26px;border-radius:32px;background:#fff;box-shadow:0 24px 44px -38px rgba(15,17,21,.4);transition:box-shadow .3s,transform .4s var(--ease)}
.view .office:hover,.view .office.on{transform:translateX(6px);box-shadow:0 0 0 2px var(--point),0 24px 44px -38px rgba(15,17,21,.4)}
.view .office .n{grid-row:span 3;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:32px;background:var(--ink);color:#fff;font-size:14px;font-weight:700;line-height:1}
.view .office h3{margin:0;font-size:20px;font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1.3}
.view .office .ad{margin:6px 0 0;font-size:15.5px;color:var(--text);line-height:1.6}
.view .office .tel{margin:4px 0 0;font-size:14.5px;color:var(--mute)}
.view .office .tel a{font-weight:700;color:var(--ink)}
.view .cinfo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.view .ci{padding:24px 24px 26px;border-radius:32px;background:rgba(255,255,255,.7);border:1px solid #fff}
.view .ci h3{margin:0;display:flex;align-items:center;gap:8px;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.3}
.view .ci h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--point)}
.view .ci p{margin:8px 0 0;font-size:14.5px;color:var(--mute)}
@media (max-width:900px){.view .cinfo{grid-template-columns:1fr}}
.view .wiz{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.view .wiz-main{grid-column:span 2}
.view .wiz-main{padding:clamp(24px,3vw,40px);border-radius:32px;background:#fff;box-shadow:0 40px 80px -56px rgba(15,17,21,.5);min-height:520px;display:flex;flex-direction:column}
.view .wiz-prog{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13.5px;font-weight:700;color:var(--ink);line-height:1}
.view .wiz-prog small{font-size:12.5px;font-weight:600;color:var(--mute)}
.view .wiz-bar{margin-top:14px;height:4px;border-radius:32px;background:var(--bg);overflow:hidden}
.view .wiz-bar i{display:block;height:100%;width:0;background:var(--point);transition:width .6s var(--ease)}
.view .wiz fieldset{border:0;margin:28px 0 0;padding:0;min-width:0;display:none;flex:1}
.view .wiz fieldset.cur{display:block;animation:rise .5s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.view .wiz legend{padding:0;font-size:clamp(22px,2vw,30px);font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1.3}
.view .wiz .hint{margin:8px 0 0;font-size:15px;color:var(--mute)}
.view .opts{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.view .opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;padding:0 18px;border-radius:32px;border:1px solid var(--line);background:#fff;font-size:15.5px;font-weight:600;color:var(--ink);text-align:left;line-height:1.35;cursor:pointer;transition:.25s}
.view .opt::after{content:"";flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);transition:.25s}
.view .opt:hover{border-color:var(--ink)}
.view .opt[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.view .opt[aria-pressed="true"]::after{border-color:var(--point);background:var(--point) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.2l3 3 6-6.2' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
@media (max-width:560px){.view .opts{grid-template-columns:1fr}}
.view .fld{margin-top:22px;display:flex;flex-direction:column;gap:8px}
.view .fld label{font-size:13.5px;font-weight:700;color:var(--ink)}
.view .fld input,.view .fld textarea{width:100%;height:58px;padding:0 18px;border-radius:32px;border:1px solid var(--line);background:#fff;font:inherit;font-size:17px;color:var(--ink);outline:none;transition:border-color .25s,box-shadow .25s}
.view .fld textarea{height:120px;padding:14px 18px;font-size:15.5px;resize:vertical}
.view .fld input:focus,.view .fld textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(15,110,120,.18)}
.view .hp{position:absolute;left:-9999px}
.view .agree{margin-top:18px;display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text);line-height:1.6;cursor:pointer}
.view .agree input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--point)}
.view .agree a{text-decoration:underline;text-underline-offset:3px}
.view .pay-note{margin:10px 0 0;font-size:13.5px;color:var(--mute)}
.view .summary{margin-top:20px;padding:18px 20px;border-radius:32px;background:var(--bg)}
.view .summary p{margin:0;font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.6}
.view .summary p+p{margin-top:4px;font-weight:600;color:var(--mute)}
.view .wiz-nav{margin-top:28px;display:flex;justify-content:space-between;gap:8px}
.view .wiz-done{display:none;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}
.view .wiz-done.on{display:flex}
.view .wiz-done .ok{width:64px;height:64px;border-radius:50%;background:var(--point) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.2l3 3 6-6.2' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;box-shadow:0 0 0 10px rgba(15,110,120,.15)}
.view .wiz-done h3{margin:10px 0 0;font-size:clamp(22px,2vw,28px);font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1.35}
.view .wiz-done p{margin:0;color:var(--mute)}
.view .wiz-side{padding:clamp(24px,3vw,40px) clamp(24px,2.4vw,34px);border-radius:32px;background:var(--ink);color:#cfd3d9;display:flex;flex-direction:column}
.view .wiz-side ol{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column}
.view .wiz-side li{flex:1}
.view .wiz-side li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:12px 0;border-top:1px solid #2a2e36;font-size:14px;line-height:1.4}
.view .wiz-side li:first-child{border-top:0}
.view .wiz-side li b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid #3a3f48;font-size:11.5px;font-weight:700;color:#8d939c;line-height:1;transition:.3s}
.view .wiz-side li.on b{background:var(--point);border-color:var(--point);color:#fff}
.view .wiz-side li.cur b{border-color:#fff;color:#fff}
.view .wiz-side li span{color:#8d939c}
.view .wiz-side li.on span{color:#fff;font-weight:600}
@media (max-width:1000px){.view .wiz{grid-template-columns:1fr}
.view .wiz-main{grid-column:auto}
.view .wiz-side{order:-1;padding:18px 20px}
.view .wiz-side ol{flex-direction:row}
.view .wiz-side ol{display:flex;gap:6px;overflow-x:auto}
.view .wiz-side li{border-top:0;padding:0;display:flex;flex:none}
.view .wiz-side li span{display:none}
.view .wiz-main{min-height:0}}
.view .faq{margin-top:clamp(36px,4vw,60px);display:grid;gap:10px}
.view .faq details{border-radius:32px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);transition:background .3s}
.view .faq details[open]{background:#fff}
.view .faq summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;font-size:clamp(16px,1.25vw,18px);font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.45}
.view .faq summary::-webkit-details-marker{display:none}
.view .faq summary .q{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg);font-size:15px;font-weight:700;line-height:1}
.view .faq details[open] .q{background:var(--ink);color:#fff}
.view .faq summary .pm{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--line)}
.view .faq summary .pm::before,.view .faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .35s}
.view .faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.view .faq details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.view .faq .a{padding:0 78px 24px 78px;font-size:16px;color:var(--text);line-height:1.9}
@media (max-width:560px){.view .faq summary{grid-template-columns:36px minmax(0,1fr) 36px;gap:12px;padding:14px}
.view .faq summary .q,.view .faq summary .pm{width:36px;height:36px}
.view .faq .a{padding:0 16px 20px 62px;font-size:15px}}
.view .doc{padding:140px 0 clamp(90px,9vw,140px)}
.view .doc .w{max-width:calc(820px + var(--gutter)*2)}
.view .back{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink);line-height:1}
.view .doc h1{margin:26px 0 0;font-size:clamp(30px,3vw,46px);font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1.25}
.view .doc .intro{margin:16px 0 0;font-size:16.5px;color:var(--mute)}
.view .doc section{margin-top:26px;padding-top:26px;border-top:1px solid var(--line);display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px}
.view .doc section:first-of-type{border-top-color:var(--ink)}
.view .doc h2{margin:0;font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.03em;line-height:1.5}
.view .doc section p{margin:0;font-size:15.5px;line-height:1.9;color:var(--text)}
.view .doc section p+p,.view .doc section p+.btn{margin-top:14px}
@media (max-width:760px){.view .doc section{grid-template-columns:1fr;gap:8px}}
.view .receipt-wrap{position:relative;display:flex;justify-content:center;padding:10px 0 20px}
.view .receipt{position:relative;width:min(420px,100%);padding:30px 32px 56px;background:#fff;border-radius:32px 32px 0 0;box-shadow:0 40px 70px -40px rgba(15,17,21,.45);transform:rotate(-2.2deg);transition:transform .6s var(--ease);
  -webkit-mask:radial-gradient(10px 10px at 50% 100%,#0000 98%,#000) 0 0/20px 100% repeat-x;mask:radial-gradient(10px 10px at 50% 100%,#0000 98%,#000) 0 0/20px 100% repeat-x}
.view .receipt-wrap:hover .receipt:not(.back){transform:rotate(0)}
.view .receipt.back{position:absolute;top:22px;left:50%;height:calc(100% - 40px);margin-left:calc(min(420px,100%)/-2);background:#e3e7ec;transform:rotate(3.5deg);box-shadow:none}
.view .receipt .rk{margin:0;padding-bottom:18px;border-bottom:1px dashed #c3c9d1;font-size:13.5px;font-weight:600;color:var(--point-d);line-height:1}
.view .receipt ol{list-style:none;margin:6px 0 0;padding:0}
.view .receipt li{display:flex;align-items:center;gap:14px;padding:20px 0;border-bottom:1px dashed #d8dce2}
.view .receipt li b{font-size:13px;font-weight:700;color:var(--mute);font-variant-numeric:tabular-nums}
.view .receipt li span{font-size:clamp(24px,2.2vw,30px);font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1}
.view .receipt li i{flex:1;align-self:flex-end;margin-bottom:5px;border-bottom:2px dotted #c3c9d1}
.view .receipt li:nth-child(2) span{color:var(--point-d)}
.view .rc-code{height:36px;margin-top:26px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,#0000 2px 5px,var(--ink) 5px 6px,#0000 6px 9px,var(--ink) 9px 12px,#0000 12px 14px);opacity:.75}
@media (max-width:640px){.view .receipt{padding:24px 22px 48px}}
.view .sec-white{background:#fff;margin-top:clamp(90px,9vw,140px);padding-block:clamp(90px,9vw,140px)!important}
.view .sec-white+.sec{padding-top:clamp(90px,9vw,140px)}
.view .sec-white .scope-it{padding-inline:0 24px}
.view .scope-it::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,110,120,.09),rgba(15,110,120,0) 70%);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);pointer-events:none}
.view .scope-it:hover::before{transform:scaleX(1)}
.view .scope-it .n{transition:color .3s,transform .5s var(--ease)}
.view .scope-it:hover .n{transform:translateX(6px)}
.view .need[data-play] .chat li{opacity:0;transform:translateY(14px) scale(.94);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.view .need[data-play] .check li{opacity:.25;transition:opacity .5s var(--ease)}
.view .need[data-play] .check li::before{transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.view .need.play .chat li,.view .need.play .check li{opacity:1;transform:none}
.view .need.play .check li::before{transform:scale(1)}
.view .need.play .chat li:nth-child(2){transition-delay:.35s}
.view .need.play .chat li:nth-child(3){transition-delay:.7s}
.view .need.play .check li:nth-child(1),.view .need.play .check li:nth-child(1)::before{transition-delay:1.1s}
.view .need.play .check li:nth-child(2),.view .need.play .check li:nth-child(2)::before{transition-delay:1.3s}
.view .need.play .check li:nth-child(3),.view .need.play .check li:nth-child(3)::before{transition-delay:1.5s}
.view .need.play .check li:nth-child(4),.view .need.play .check li:nth-child(4)::before{transition-delay:1.7s}
.view .need.play .check li:nth-child(5),.view .need.play .check li:nth-child(5)::before{transition-delay:1.9s}
.view .need-arrow{position:relative}
.view .need-arrow::before{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--point),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:flowx 1.8s linear infinite;opacity:.8}
@keyframes flowx{from{background-position:-100% 0}to{background-position:200% 0}}
.view .need-arrow span{position:relative;z-index:1}
@media (max-width:900px){.view .need-arrow::before{left:50%;right:auto;top:8px;bottom:8px;width:2px;height:auto;background:linear-gradient(180deg,transparent,var(--point),transparent);background-size:100% 50%;animation:flowy 1.8s linear infinite}}
@keyframes flowy{from{background-position:0 -100%}to{background-position:0 200%}}
.view .tiers{position:relative}
.view .tier,.view .tier.rv,.view .tier.rv.in{opacity:1;transform:translate(var(--fx,0px),var(--fy,0px)) rotate(var(--fr,0deg)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.view .tiers.fan .tier{transition:box-shadow .5s}
.view .tiers.fan.done .tier{transition:transform .5s var(--ease),box-shadow .5s}
.view .sec:has(.tiers){position:relative;overflow:hidden}
.view .sec:has(.tiers)::before{content:"";position:absolute;width:820px;height:820px;right:-300px;top:40px;border-radius:50%;background:radial-gradient(circle,rgba(15,110,120,.14),transparent 62%);pointer-events:none}
.view .sec:has(.tiers)::after{content:"";position:absolute;width:640px;height:640px;left:-300px;bottom:0;border-radius:50%;background:radial-gradient(circle,rgba(241,190,140,.2),transparent 62%);pointer-events:none}
.view .sec:has(.tiers) .w{position:relative;z-index:1}
@keyframes blink{0%,100%{opacity:.75}48%{opacity:.55}52%{opacity:.85}}
@media (prefers-reduced-motion:reduce){.view .need-arrow::before{animation:none}}
.view .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(40px,6vw,120px);align-items:start}
.view .split-l{position:sticky;top:190px}
.view .split-l .h2{font-size:clamp(26px,2.5vw,40px)}
.view .split-l .sec-top{grid-template-columns:1fr;gap:14px}
@media (max-width:1000px){.view .split{grid-template-columns:1fr}
.view .split-l{position:static}}
.view .split .scope{margin-top:0;grid-template-columns:1fr}
.view .split .scope-it,.view .split .scope-it:nth-child(even){padding:26px 0;border-right:0}
.view .split .scope-it .n{font-size:28px}
.view .need-band{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(90px,9vw,140px)}
.view .nb-l{background:var(--bg)}
.view .nb-r{background:var(--ink);color:#cfd3d9}
.view .nb-in{padding-block:clamp(70px,7vw,110px)}
.view .nb-l .nb-in{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:clamp(30px,5vw,90px)}
.view .nb-r .nb-in{padding-right:max(var(--gutter),calc((100vw - 1440px)/2));padding-left:clamp(30px,5vw,90px);height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.view .nb-k{margin:clamp(40px,4vw,60px) 0 0;font-size:14px;font-weight:700;color:var(--mute);line-height:1}
.view .nb-r .nb-k{margin-top:0;color:#9aa0aa}
.view .need-band .chat{margin-top:22px}
.view .need-band .chat li{font-size:17px;background:#fff}
.view .need-band .chat li:nth-child(2){background:#dfe3e9}
.view .need-band .check li{font-size:clamp(18px,1.5vw,22px);padding:18px 0}
.view .need-band[data-play] .chat li{opacity:0;transform:translateY(14px) scale(.94);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.view .need-band[data-play] .check li{opacity:.25;transition:opacity .5s var(--ease)}
.view .need-band[data-play] .check li::before{transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.view .need-band.play .chat li,.view .need-band.play .check li{opacity:1;transform:none}
.view .need-band.play .check li::before{transform:scale(1)}
.view .need-band.play .chat li:nth-child(2){transition-delay:.35s}
.view .need-band.play .chat li:nth-child(3){transition-delay:.7s}
.view .need-band.play .check li:nth-child(2),.view .need-band.play .check li:nth-child(2)::before{transition-delay:.2s}
.view .need-band.play .check li:nth-child(3),.view .need-band.play .check li:nth-child(3)::before{transition-delay:.4s}
.view .need-band.play .check li:nth-child(4),.view .need-band.play .check li:nth-child(4)::before{transition-delay:.6s}
.view .need-band.play .check li:nth-child(5),.view .need-band.play .check li:nth-child(5)::before{transition-delay:.8s}
.view .need-band+.sec-white{margin-top:0}
@media (max-width:900px){.view .need-band{grid-template-columns:1fr}
.view .nb-l .nb-in,.view .nb-r .nb-in{padding-inline:var(--gutter)}
.view .nb-l .nb-in{padding-bottom:50px}
.view .nb-r .nb-in{padding-block:50px 60px}}
.view .split>*{min-width:0}
.view .ftab{margin-top:clamp(36px,4vw,56px);border-top:2px solid var(--ink)}
.view .ft-h,.view .ft-r{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,3.4fr);gap:24px;align-items:baseline}
.view .ft-h{padding:16px 0;border-bottom:1px solid var(--line);font-size:13.5px;font-weight:600;color:var(--mute)}
.view .ft-r{padding:26px 0;border-bottom:1px solid var(--line)}
.view .ft-r h3{margin:0;font-size:clamp(19px,1.5vw,22px);font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1.35}
.view .ft-r dl,.view .ft-h>div{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr);gap:24px;margin:0;align-items:baseline}
.view .ft-c dt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.view .ft-c dd{margin:0;font-size:18px;font-weight:600;line-height:1.45;letter-spacing:-.025em;color:var(--ink)}
.view .ft-c:first-child dd{font-weight:700}
.view .ft-c dd.none{color:#b3b8c0;font-weight:400}
@media (max-width:760px){.view .ft-h{display:none}
.view .ft-r{grid-template-columns:1fr;gap:14px;padding:22px 0}
.view .ft-r dl{grid-template-columns:1fr;gap:8px}
.view .ft-c{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:baseline}
.view .ft-c dt{position:static;width:auto;height:auto;clip:auto;font-size:13.5px;font-weight:600;color:var(--mute)}
.view .ft-c dd{font-size:16.5px}}
.view .sec:has(+.cta){padding-bottom:clamp(90px,9vw,140px)}
.view .cta{position:relative;overflow:hidden;min-height:min(720px,86vh);display:flex;align-items:center;background:linear-gradient(180deg,var(--bg) 0%,#dcdae3 30%,#e9d8d4 66%,#f1d9c1 100%)}
.view .cta .w{position:relative;z-index:2;padding-block:clamp(90px,9vw,130px);pointer-events:none}
.view .cta .w a{pointer-events:auto}
.view .cta h2{margin:0;max-width:13em;font-size:clamp(30px,3.4vw,54px);font-weight:700;line-height:1.28;letter-spacing:-.045em;color:var(--ink)}
.view .cta .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}
@media (max-width:1023px){.view .cta{align-items:flex-end;min-height:88vh}
.view .cta .w{padding-block:120px 70px}
.view .cta #gl2{opacity:.5}}
.view .map-wrap:has(.gmap){align-items:stretch}
.view .gmap{position:relative;overflow:hidden;border-radius:32px;background:#e3e6eb;min-height:420px}
.view .map-wrap:has(.gmap) .office:hover,.view .map-wrap:has(.gmap) .office.on{transform:none}
.view .gmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.view .office{cursor:pointer}
.view .office:focus-visible{outline:2px solid var(--point);outline-offset:3px}
.view .office.on .n{background:var(--point)}
@media (max-width:900px){.view .gmap{min-height:0;aspect-ratio:4/3}
.view .office:hover,.view .office.on{transform:none}}

/* Only the seven shared brand rules; all visual composition comes from V2. */
@font-face{font-family:Pretendard;src:url('/apartment-assets/v19/9599f12fd42fc0bc.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ko:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}
[hidden]{display:none!important}
@media(min-width:1680px){:root{--gutter:max(120px,calc((100vw - 1440px)/2))}.w{max-width:none}}
.brand>svg,.brand>.v2-logo{height:28px;width:42.1px;flex:none;object-fit:contain}
.hdr .brand small,.hdr .brand b{font-size:13px;line-height:1.4}
.hdr .nav{font-size:14px}
.unity-footer{font-size:13px;line-height:1.9;padding-block:24px}
.unity-footer p{font-size:13px;margin:0 0 8px}.unity-footer nav{display:flex;gap:12px 24px;flex-wrap:wrap;margin:12px 0}.unity-footer a{text-decoration:underline;text-underline-offset:4px}
#fab,.fbar,#totop{display:none!important}
.unity-contact{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:8px;z-index:65}
.unity-contact a,.unity-contact button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #d8dce2;border-radius:32px;background:#eff1f4ed;color:var(--ink);backdrop-filter:blur(12px);cursor:pointer}
.unity-contact a:first-child{background:var(--point);color:white;border-color:var(--point)}
.unity-contact svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.unity-contact [data-unity-top]{display:none}.v2-scrolled .unity-contact [data-unity-top]{display:grid}
.v2-consult-error{color:#a82630}.wiz-main:has(.wiz-done.on) .wiz-nav{display:none}
@media(max-width:767px){.brand>svg,.brand>.v2-logo{height:24px;width:36.1px}.hdr .brand small,.hdr .brand b{font-size:11px}.unity-contact{right:12px;bottom:max(16px,env(safe-area-inset-bottom));gap:6px}.unity-contact a,.unity-contact button{width:40px;height:40px}.v2-at-top .unity-contact,body:has(.mnav.open) .unity-contact{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.rv{opacity:1!important;transform:none!important}}
.qk{display:none!important}.logo>svg,.logo>.v2-logo{height:28px;width:42.1px;flex:none;object-fit:contain}.hdr .logo small,.hdr .logo b{font-size:13px;line-height:1.4}
@media(max-width:767px){.logo>svg,.logo>.v2-logo{height:24px;width:36.1px}.hdr .logo small,.hdr .logo b{font-size:11px}}
.hdr-in{height:88px}.hdr.float .hdr-in{padding-inline:max(24px,calc(var(--gutter) - 24px))}
@media(max-width:767px){.hdr-in{height:76px}.hdr.float .hdr-in{padding-inline:12px}}

/* Five text roles, shared across home and detail pages. Brand lockup is separate. */
html[data-apartment-v2]{--type-display:48px;--type-section:32px;--type-heading:24px;--type-body:16px;--type-note:14px}
html[data-apartment-v2] main :is(.hero h1,.sub-hero h1,.close h2,.cta h2,.fill,.doc h1){font-size:var(--type-display);line-height:1.25;letter-spacing:-.03em}
html[data-apartment-v2] main :is(.h2,.lines .row .nm,.wiz legend,.wiz-done h3){font-size:var(--type-section);line-height:1.35;letter-spacing:-.025em}
html[data-apartment-v2] main :is(.xcard h3,.step h3,.info h4,.fcard h3,.cr h3,.scope-it h3,.svc h2,.fr h3,.cost h3,.lw h3,.pr h3,.office h3,.ci h3,.ft-r h3,.part span,.receipt li span,.tier h3,.tl h3,.flow4 h3,.branch h3,.rg h3,.pool-info h3){font-size:var(--type-heading);line-height:1.4;letter-spacing:-.025em}
html[data-apartment-v2] main :is(.lead,.xcard p,.xcard .fee,.step p,.info p,.row .fee,.row-d .sub,.cr p,.faq summary,.faq .a,.svc li,.scope-it dd,.chat li,.check li,.bigtext,.cost dd,.fr dd,.pr p,.office .ad,.ci p,.opt,.fld input,.fld textarea,.summary p,.wiz .hint,.doc .intro,.doc section p,.ft-c dd,.pin span,.pins-q p,.btn,.ulink,.tier dd,.tl p,.cr dd,.flow4 p,.branch li,.pool-info p,.olist li a,.olist li>span){font-size:var(--type-body)}
html[data-apartment-v2] main :is(.lab,.eyebrow,.hud .t,.hs p,.hs .v small,.xcard .cat,.step .n,.row .st,.row-d li,.fcard dt,.cr .k,.fr dt,.cost dt,.parts-k,.part b,.lw .ph .f,.lw .tags span,.lw ul li,.office .tel,.nb-k,.wiz-prog,.wiz-prog small,.fld label,.agree,.pay-note,.wiz-side li,.receipt .rk,.receipt li b,.ft-h,.ft-c dt,.crumb,.bubble,.stage3d .tag,.svc .k,.types-bar a,.tier dt,.fee-note,.tl .dot,.tl .st,.olist .k,.olist li b,.flow4 .n,.dotmap .mp span,.rg p){font-size:var(--type-note);line-height:1.6}
html[data-apartment-v2] main :is(.hs .v,.xcard .fl,.scope-it .n,.fcard .amt dd,.rg .c){font-size:var(--type-section);line-height:1.2}
html[data-apartment-v2] main .fcard .idx{font-size:var(--type-display)}
/* Remove only ornamental rules; form borders, comparison rows and progress stay. */
html[data-apartment-v2] main .lab::after{display:none}
html[data-apartment-v2] main .hstats{border-top:0}
html[data-apartment-v2] main .hs{border-right:0;border-bottom:0}
html[data-apartment-v2] main .sub-hero::before{background-image:none}
html[data-apartment-v2] main .lw ul li{border-top:0}
html[data-apartment-v2] main .rc-code{display:none}
html[data-apartment-v2] main .receipt li i{border-bottom:0}
@media(max-width:767px){html[data-apartment-v2]{--type-display:34px;--type-section:28px;--type-heading:20px}}


/* Detail pages only: one reading column and a generous scene. */
html[data-detail-page] .sub-hero{padding-top:140px;padding-bottom:64px}
html[data-detail-page] .sub-hero>.w{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:'copy scene' 'service scene';gap:32px 48px;align-items:start}
html[data-detail-page] .sub-hero>.w>div:first-child{grid-area:copy}
html[data-detail-page] .hvis{display:contents}
html[data-detail-page] .stage3d{grid-area:scene;align-self:stretch;min-height:560px;aspect-ratio:auto;border:0;box-shadow:none;background:radial-gradient(ellipse at 50% 40%,#fff 0%,#e7ecef 85%);border-radius:32px}
html[data-detail-page] .svc{grid-area:service;display:block;padding:0;background:none;box-shadow:none;border-radius:0}
html[data-detail-page] .svc .k{display:none}
html[data-detail-page] .svc h2{font-size:var(--type-heading);margin-bottom:14px}
html[data-detail-page] .svc ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
html[data-detail-page] .svc li{border:0;padding:0 0 0 22px;line-height:1.6}
html[data-detail-page] .svc li::before{top:9px}
html[data-detail-page] .svc .ulink{display:inline-flex;margin-top:20px}
html[data-detail-page] .sub-hero .lead{max-width:36em;margin-top:24px;line-height:1.8}
html[data-detail-page] .sub-hero .bubbles{margin-top:24px;gap:8px}
html[data-detail-page] .types-bar{background:#fff;border:0;padding-block:12px}
html[data-detail-page] .need-band{padding-block:64px}
html[data-detail-page] .scope{gap:20px}
html[data-detail-page] .scope-it{border:0!important;padding:24px!important;background:#f3f5f6;border-radius:32px;grid-template-columns:32px minmax(0,1fr);gap:12px}
html[data-detail-page] .scope-it .n{width:auto;color:var(--point);font-size:var(--type-note)}
html[data-detail-page] .scope-it dd{line-height:1.75}
@media(max-width:1100px){html[data-detail-page] .sub-hero>.w{gap:32px;grid-template-columns:1fr 1fr}html[data-detail-page] .svc ul{grid-template-columns:1fr}}
@media(max-width:767px){html[data-detail-page] .sub-hero{padding-top:110px;padding-bottom:40px}html[data-detail-page] .sub-hero>.w{display:grid;grid-template-columns:1fr;grid-template-areas:'copy' 'scene' 'service';gap:28px}html[data-detail-page] .stage3d{min-height:0;aspect-ratio:1.15;border-radius:32px}html[data-detail-page] .svc{padding:24px;background:#ffffffa8;border-radius:32px}html[data-detail-page] .svc ul{grid-template-columns:1fr}html[data-detail-page] .sub-hero .lead{margin-top:20px}html[data-detail-page] .need-band{padding-block:40px}html[data-detail-page] .scope-it{padding:22px!important}html[data-detail-page] .scope{gap:12px}}

/* A shared hero rhythm keeps category switches visually steady. Content can grow. */
@media(min-width:768px){
 html[data-detail-page] .sub-hero>.w{min-height:650px;grid-template-rows:minmax(390px,auto) minmax(228px,auto)}
 html[data-detail-page] .sub-hero h1{min-height:2.5em}
 html[data-detail-page] .stage3d{min-height:650px}
}
@media(min-width:768px) and (max-width:1100px){
 html[data-detail-page] .sub-hero>.w{min-height:760px;grid-template-rows:minmax(440px,auto) minmax(288px,auto)}
 html[data-detail-page] .stage3d{min-height:760px}
}
@media(max-width:767px){
 html[data-detail-page] .sub-hero>.w>div:first-child{min-height:432px}
 html[data-detail-page] .sub-hero h1{min-height:2.5em}
 html[data-detail-page] .svc{min-height:300px}
}

/* 히어로 숫자 띠: 유리 패널 + 칸 구분선 */
html[data-apartment-v2] main .hstats{max-width:600px;margin-top:40px;padding:20px 2px;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.95);border-radius:32px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 60px -44px rgba(15,17,21,.45)}
html[data-apartment-v2] main .hs{margin:0;padding:2px 16px 0;border:0;border-left:1px solid var(--line)}
html[data-apartment-v2] main .hs:first-child{border-left:0}
html[data-apartment-v2] main .hs .v{display:flex;align-items:baseline;gap:4px;font-size:34px;font-weight:700;line-height:1;letter-spacing:-.045em;color:var(--ink);font-variant-numeric:tabular-nums}
html[data-apartment-v2] main .hs .v small{margin:0;font-size:14px;font-weight:700;letter-spacing:-.02em;color:var(--point)}
html[data-apartment-v2] main .hs p{margin:12px 0 0;font-size:13px;line-height:1.55;color:var(--mute)}
@media (max-width:1023px){
  html[data-apartment-v2] main .hstats{max-width:none;grid-template-columns:1fr 1fr;padding:6px 4px}
  html[data-apartment-v2] main .hs{padding:16px 18px;border-left:0}
  html[data-apartment-v2] main .hs:nth-child(even){border-left:1px solid var(--line)}
  html[data-apartment-v2] main .hs:nth-child(n+3){border-top:1px solid var(--line)}
  html[data-apartment-v2] main .hs .v{font-size:30px}
}

/* ===== 04 사진 하단 경계: 밝은 줄이 비치지 않게 ===== */
html[data-apartment-v2] .mask{background:rgb(calc(248 - 233*var(--mo,0)) calc(249 - 232*var(--mo,0)) calc(251 - 230*var(--mo,0)))}
html[data-apartment-v2] .mask-img{inset:-1px 0 -2px}
html[data-apartment-v2] .mask-img::after{background:linear-gradient(180deg,rgba(15,17,21,.35) 0%,rgba(15,17,21,.1) 34%,rgba(15,17,21,.78) 72%,#0f1115 90%,#0f1115 100%)}

/* ===== 세부 히어로: 글 간격 정리 ===== */
html[data-detail-page] .sub-hero>.w{min-height:0;grid-template-rows:auto 1fr;align-items:start;row-gap:44px}
html[data-detail-page] .sub-hero h1{min-height:0;margin-top:18px}
html[data-detail-page] .sub-hero>.w>div:first-child{min-height:0}
html[data-detail-page] .fee-badge{margin-top:22px}
html[data-detail-page] .sub-hero .lead{margin-top:16px;line-height:1.7}
html[data-detail-page] .sub-hero .bubbles{margin-top:18px}
html[data-detail-page] .sub-hero .acts{margin-top:30px}
html[data-detail-page] .svc{min-height:0;padding-top:28px;border-top:1px solid var(--line)}
html[data-detail-page] .svc h2{margin:0 0 16px}
html[data-detail-page] .svc .ulink{margin-top:22px}
@media (max-width:767px){
  html[data-detail-page] .sub-hero>.w{row-gap:28px}
  html[data-detail-page] .stage3d{min-height:0}
  html[data-detail-page] .svc{min-height:0;padding:24px 0 0;background:none}
}

/* ===== 분쟁 유형 바: 따라다니지 않는 흰 띠 ===== */
.view .types-bar,.hdr.float~main .view .types-bar{position:relative;top:auto;z-index:2;padding:18px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}
.hdr.float~main .view .types-bar nav{width:auto;max-width:none;padding:2px;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
html[data-detail-page] .types-bar{padding-block:18px}

/* ===== 필요와 제공: 대화 말풍선 대신 목록 ===== */
.view .need-band{margin-top:0}
html[data-detail-page] .need-band{padding-block:0}
.view .need-band .nb-in{padding-block:clamp(64px,6vw,96px)}
.view .need-band .chat{margin-top:20px;gap:0;border-top:1px solid var(--line)}
html[data-apartment-v2] main .view .need-band .chat li,html[data-apartment-v2] main .view .need-band .chat li:nth-child(2){align-self:stretch;max-width:none;display:flex;align-items:center;gap:14px;padding:18px 0;border-radius:0;background:none;border-bottom:1px solid var(--line);font-size:18px;font-weight:600;line-height:1.5;color:var(--ink)}
.view .need-band .chat li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--ink)}
.view .need-band[data-play] .chat li{transform:translateY(10px)}
.view .need-band.play .chat li{transform:none}
.view .need-band .check{border-top:1px solid rgba(255,255,255,.14)}

/* ===== 위임 사무: 위 선과 첫 칸 사이 간격 ===== */
html[data-detail-page] .scope{border-top:0;margin-top:0;gap:12px}
html[data-detail-page] .split .scope{padding-top:0}
html[data-detail-page] .scope-it{padding:26px 28px!important}
@media (max-width:767px){html[data-detail-page] .scope-it{padding:22px!important}}

/* ===== 헤더: 떠 있을 때 알약 상자를 본문 폭에 맞춰 좁힘 (로고 · 버튼이 본문 좌우선에 맞음) ===== */
html[data-apartment-v2] .hdr.float{padding:16px max(12px,calc(var(--gutter) - 28px)) 0}
html[data-apartment-v2] .hdr.float .hdr-in{max-width:calc(1440px + 40px);margin-inline:auto;padding-inline:28px 12px}
@media (max-width:767px){html[data-apartment-v2] .hdr.float{padding:8px 8px 0}html[data-apartment-v2] .hdr.float .hdr-in{padding-inline:14px 8px}}

/* ===== 버튼 화살표: 글자 대신 도형으로 상하 가운데 ===== */
.btn .ar,.view .btn .ar{display:inline-block;flex:none;width:12px;height:12px;font-size:0;line-height:0;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 9 9 3M4.2 3H9v4.8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 9 9 3M4.2 3H9v4.8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* ===== 필요와 제공: 검정 칸 내용 상하 가운데 ===== */
.view .need-band .nb-r .nb-in{justify-content:center}

/* ===== 위임 사무: 번호와 제목을 같은 줄 기준으로 ===== */
html[data-detail-page] .scope-it{grid-template-columns:44px minmax(0,1fr);align-items:baseline;column-gap:12px}
html[data-apartment-v2] main html[data-detail-page] .scope-it .n,html[data-detail-page] .view .scope-it .n{grid-row:1;align-self:baseline;padding-top:0;font-size:var(--type-heading);line-height:1.35}
html[data-detail-page] .scope-it h3{grid-column:2;grid-row:1}
html[data-detail-page] .scope-it dl{grid-column:2;grid-row:2}

/* ===== 세부 히어로: 사례 문장은 버튼과 구분되게 옅은 태그로 ===== */
html[data-detail-page] .sub-hero .acts{margin-top:28px}

/* ===== 3D 화면: 상자 배경 없이 장면만 ===== */
.view .stage3d,html[data-detail-page] .view .stage3d,html[data-detail-page] .stage3d{background:none;border:0;box-shadow:none}

/* ================= V6 ================= */
/* 메인: 단면도 구간이 끝날 때 하늘색이 아래 밝은 면으로 부드럽게 이어짐 */
.stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:min(32vh,280px);background:linear-gradient(180deg,rgba(248,249,251,0),#f8f9fb 92%);z-index:1;pointer-events:none}
/* 04 조사 발주 라벨: 사진 위 제목과 한 묶음 */
.mask-head .lab{margin-bottom:18px;color:rgba(255,255,255,.72)}
.mask-head .lab b{color:#fff}
.mask-head .lab::after{background:rgba(255,255,255,.25)}

/* 상담: 안내 카드 아래 여백 */
.view .cinfo .ci{padding:24px 26px}
html[data-apartment-v2] main .view .cinfo .ci p{line-height:1.6}

/* 비용: 보수표 줄 안쪽 여백 (마우스를 올렸을 때 점이 가장자리에 붙지 않게) */
.view .fr{padding:22px 24px;border-radius:0}
.view .fr:hover{background:rgba(255,255,255,.7)}
/* 비용: 패키지 구간 배경 원이 잘리며 생기던 경계 제거 */
.view .sec:has(.tiers){overflow:visible;overflow-x:clip;isolation:isolate}
.view .sec:has(.tiers)::before,.view .sec:has(.tiers)::after{z-index:-1}
.view .sec:has(.tiers)::before{top:-120px;background:radial-gradient(circle,rgba(15,110,120,.11),transparent 60%)}
.view .sec:has(.tiers)::after{bottom:-200px;background:radial-gradient(circle,rgba(241,190,140,.16),transparent 60%)}

/* 진행 방식 히어로: 진행 순서를 점으로 이은 한 줄 흐름 */
#v-process .svc{display:block;padding:26px 30px 28px}
#v-process .svc .k{margin:0 0 20px}
#v-process .svc ul{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px}
#v-process .svc ul::before{content:"";position:absolute;left:7px;right:calc(25% - 3px);top:7px;height:2px;background:linear-gradient(90deg,var(--point),rgba(15,110,120,.25))}
#v-process .svc li{position:relative;padding:28px 0 0;border:0;line-height:1.4}
#v-process .svc li::before{left:0;top:0;width:16px;height:16px;border:0;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--point);transform:none}
#v-process .svc li:last-child::before{background:var(--point)}
#v-process .svc li b{display:block;font-size:13px;font-weight:700;color:var(--point-d);letter-spacing:0}
#v-process .svc li span{display:block;margin-top:4px;font-weight:600;color:var(--ink)}
@media (max-width:560px){
  #v-process .svc ul{grid-template-columns:1fr;gap:16px}
  #v-process .svc ul::before{left:7px;right:auto;top:8px;bottom:8px;width:2px;height:auto;background:linear-gradient(180deg,var(--point),rgba(15,110,120,.25))}
  #v-process .svc li{padding:0 0 0 30px}
  #v-process .svc li span{margin-top:2px}
}

/* 진행 방식: 네 단계가 화살표로 이어지고, 마지막 단계에서 두 갈래로 나뉨 */
#v-process .flow4{gap:48px}
#v-process .flow4 .fs{box-shadow:0 20px 40px -34px rgba(15,17,21,.4)}
#v-process .flow4 .fs:not(:last-child)::after{right:-42px;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--line);
  -webkit-mask:none;mask:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath d='M13 18h10M19 13.5 23.5 18 19 22.5' fill='none' stroke='%230F6E78' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:36px 36px}
#v-process .flow4 .fs:last-child{box-shadow:inset 0 0 0 2px var(--point),0 20px 40px -34px rgba(15,17,21,.4)}
#v-process .fork-link{position:relative;height:84px}
#v-process .fork-link svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#v-process .fork-link path{fill:none;stroke:var(--point);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#v-process .fork-link .hd{fill:var(--point);stroke:none}
#v-process .fork-link span{position:absolute;top:0;left:0;transform:translate(-50%,-50%);display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:var(--point);color:#fff;font-size:13px;font-weight:700;line-height:1;white-space:nowrap}
#v-process .fork{margin-top:0;gap:16px}
#v-process .fork::before{content:none}
#v-process .branch,#v-process .branch.dk{background:#fff;border:1px solid var(--line);box-shadow:0 20px 40px -34px rgba(15,17,21,.4)}
#v-process .branch.dk h3{color:var(--ink)}
#v-process .branch.dk li{border-top-color:var(--line);color:var(--text)}
#v-process .branch.dk li::before{color:var(--point-d)}
@media (max-width:1000px){#v-process .flow4{grid-template-columns:1fr 1fr;gap:48px 48px}#v-process .flow4 .fs:nth-child(2)::after{display:none}}
@media (max-width:760px){
  #v-process .flow4{grid-template-columns:1fr;gap:44px}
  #v-process .flow4 .fs:not(:last-child)::after,#v-process .flow4 .fs:nth-child(2)::after{display:block;right:auto;left:50%;top:auto;bottom:-40px;margin:0 0 0 -18px;transform:rotate(90deg)}
  #v-process .fork{grid-template-columns:1fr;gap:44px}
  #v-process .fork-link{height:64px}
}

/* 진행 방식: 사건을 가르는 기준 - 계단 대신 2 x 2 확인 목록 */
#v-process .stairs{margin-top:clamp(36px,4vw,60px);padding-top:0;grid-template-columns:1fr 1fr;gap:14px}
#v-process .stairs .cr,#v-process .stairs .cr.rv.in,#v-process .stairs.live .cr{opacity:1;transform:none;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:18px;align-content:start;padding:30px 32px;border:0;box-shadow:0 20px 40px -34px rgba(15,17,21,.4)}
#v-process .stairs .cr.rv.in:hover{transform:translateY(-4px)}
#v-process .stairs .cr .k{grid-row:1 / span 2;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px;color:var(--mute)}
#v-process .stairs .cr .k i{order:-1;width:40px;height:40px;border-radius:50%;background:var(--point);
  -webkit-mask:none;mask:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M13 20.5 18 25.5 27.5 15' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
#v-process .stairs .cr h3{grid-column:2;margin:6px 0 0}
#v-process .stairs .cr dl{grid-column:2}
@media (max-width:760px){#v-process .stairs{grid-template-columns:1fr}#v-process .stairs .cr,#v-process .stairs .cr.rv.in{grid-template-columns:44px minmax(0,1fr);padding:24px}#v-process .stairs .cr .k i{width:34px;height:34px;background-size:34px}}

/* 진행 방식: 지역별 조사 업체 실제 지도 */
#v-process .map-wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch}
#v-process .krmap{display:flex;align-items:center;justify-content:center;padding:clamp(20px,3vw,40px);border-radius:32px;background:#fff;box-shadow:0 40px 80px -50px rgba(15,17,21,.4)}
#v-process .krmap-in{position:relative;width:100%;max-width:440px;aspect-ratio:524/632}
#v-process .krmap svg{position:absolute;inset:0;width:100%;height:100%;display:block}
#v-process .krmap circle{transition:opacity .35s,fill .35s}
#v-process .krmap .d0{fill:#16181c;opacity:.12}
#v-process .krmap .dr{fill:var(--point);opacity:.8}
#v-process .krmap .dr.gn{opacity:.5}#v-process .krmap .dr.gs{opacity:.62}
#v-process .krmap.hl .dr{opacity:.18}
#v-process .krmap.hl .dr.on{opacity:1}
#v-process .krmap .mp{position:absolute;display:flex;align-items:center;gap:8px;transform:translate(-7px,-50%);pointer-events:none;transition:opacity .35s}
#v-process .krmap .mp.l{flex-direction:row-reverse;transform:translate(calc(-100% + 7px),-50%)}
#v-process .krmap .mp i{flex:none;width:14px;height:14px;border-radius:50%;background:var(--point);box-shadow:0 0 0 5px rgba(15,110,120,.2)}
#v-process .krmap .mp span{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:700;line-height:1;white-space:nowrap}
#v-process .krmap .mp.s i{width:10px;height:10px;box-shadow:0 0 0 4px rgba(15,110,120,.18)}
#v-process .krmap .mp.s span{height:24px;padding:0 9px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);font-size:12px}
#v-process .krmap.hl .mp{opacity:.35}#v-process .krmap.hl .mp.on{opacity:1}
#v-process .regions{align-content:center}
#v-process .rg{cursor:default;transition:box-shadow .3s,transform .3s}
#v-process .rg.on{box-shadow:inset 0 0 0 2px var(--point),0 30px 50px -40px rgba(15,17,21,.45)}
@media (max-width:900px){#v-process .map-wrap{grid-template-columns:1fr}#v-process .krmap{padding:20px}}

/* 세부 히어로: 버튼이 아닌 정보는 알약 모양을 빼고 글로 */
.view .fee-badge,html[data-detail-page] .view .fee-badge{height:auto;padding:0;border:0;border-radius:0;background:none;color:var(--point-d);font-size:16px;font-weight:700;line-height:1.4}
.view .fee-badge::before{width:7px;height:7px}
html[data-detail-page] .view .bubbles,.view .bubbles{flex-direction:column;align-items:flex-start;gap:6px;margin-top:20px;padding-left:16px;border-left:2px solid rgba(15,110,120,.35)}
html[data-detail-page] .view .bubble,html[data-detail-page] .view .bubble:nth-child(2),.view .bubble,.view .bubble:nth-child(2){display:block;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:none;color:var(--text);font-size:16px;font-weight:500;line-height:1.6;white-space:normal}
html[data-detail-page] .view .bubble::before,.view .bubble::before,.view .bubble::after{content:none}

/* 세부 히어로 · 분쟁 유형 바 · 필요와 제공: 세 칸으로 끊기지 않게 히어로 아래를 바탕색으로 이어 줌 */
.view .sub-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,rgba(239,241,244,0),var(--bg));pointer-events:none}
.view .sub-hero>.w{position:relative;z-index:1}
.view .types-bar,.hdr.float~main .view .types-bar,html[data-detail-page] .types-bar{background:var(--bg);border:0;padding:6px 0 26px}

/* 세부 3D: 배경 없이 장면만, 상자 안에서 잘리지 않게 */
html[data-detail-page] .view .stage3d{align-self:center;aspect-ratio:1/1;min-height:0;height:auto;overflow:visible}
@media (max-width:767px){html[data-detail-page] .view .stage3d{aspect-ratio:1/1}}
@media (max-width:760px){
  #v-process .fork .branch{position:relative}
  #v-process .fork .branch+.branch::before{content:"또는";position:absolute;left:50%;top:-37px;transform:translateX(-50%);display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:var(--point);color:#fff;font-size:13px;font-weight:700;line-height:1}
  #v-process .krmap-in{width:80%}
  #v-process .krmap .mp span{height:24px;padding:0 9px;font-size:11px}
  #v-process .krmap .mp.s span{height:22px;padding:0 7px;font-size:11px}
  #v-process .krmap .mp i{width:11px;height:11px;box-shadow:0 0 0 4px rgba(15,110,120,.2)}
}

/* ================= V7 ================= */
/* 헤더: 상담 신청 버튼의 오른쪽 여백을 위아래 여백과 같게 */
html[data-apartment-v2] .hdr.float .hdr-in{padding-inline:28px 15px}

/* 화살표 글자 대신 도형 (글꼴이 달라 보이던 문제) */
.ga{display:inline-block;width:.72em;height:.72em;vertical-align:-.02em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 9 9 3M4.2 3H9v4.8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 9 9 3M4.2 3H9v4.8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.ga.se{transform:rotate(90deg)}
.cursor-go i .ga{width:18px;height:18px}
/* 변호사 · 오시는 길 · 상담 히어로 목록: 번호 글꼴을 다른 곳과 같게 */
html[data-apartment-v2] main .view .olist li b{font-variant-numeric:normal;font-size:14px;font-weight:700;color:var(--point-d);letter-spacing:0}
.view .olist li em .ga{width:11px;height:11px}

/* 분쟁 유형 탭: 페이지 맨 위, 밑줄 탭 */
html[data-detail-page] .view .sub-hero{padding-top:118px}
html[data-apartment-v2] main .view .sub-hero>.types-bar{position:relative;top:auto;z-index:2;margin:0 0 clamp(30px,3.4vw,48px);padding:0;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-apartment-v2] main .view .sub-hero>.types-bar nav{display:flex;gap:clamp(20px,2.6vw,38px);width:100%;max-width:none;padding:0;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid var(--line);overflow-x:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-apartment-v2] main .view .sub-hero>.types-bar a{position:relative;flex:none;height:auto;padding:0 0 14px;border:0;border-radius:0;background:none;font-size:16px;font-weight:600;color:var(--mute);line-height:1.2}
html[data-apartment-v2] main .view .sub-hero>.types-bar a::before{content:none}
html[data-apartment-v2] main .view .sub-hero>.types-bar a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;transition:background .25s}
html[data-apartment-v2] main .view .sub-hero>.types-bar a:hover{color:var(--ink)}
html[data-apartment-v2] main .view .sub-hero>.types-bar a[aria-current]{color:var(--ink);background:none}
html[data-apartment-v2] main .view .sub-hero>.types-bar a[aria-current]::after{background:var(--ink)}
@media (max-width:767px){html[data-detail-page] .view .sub-hero{padding-top:92px}html[data-apartment-v2] main .view .sub-hero>.types-bar a{font-size:15px;padding-bottom:12px}html[data-apartment-v2] main .view .sub-hero>.types-bar nav{gap:22px}}

/* 진행 방식 히어로: 진행 순서는 건물 층에 붙은 표시로 */
#v-process .hvis .svc{display:none}
#v-process .stage3d .tw-cap{position:absolute;left:28px;top:24px;margin:0;font-size:13px;font-weight:600;color:var(--point-d);line-height:1}
#v-process .tw-tag{position:absolute;display:flex;align-items:center;transform:translateY(-50%);pointer-events:none;opacity:.4;transition:opacity .5s}
#v-process .tw-tag.l{flex-direction:row-reverse;transform:translate(-100%,-50%)}
#v-process .tw-tag::before{content:"";flex:none;width:clamp(26px,4vw,48px);height:1px;background:var(--ink);opacity:.45}
#v-process .tw-tag::after{content:"";position:absolute;left:-4px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--point)}
#v-process .tw-tag.l::after{left:auto;right:-4px}
#v-process .tw-tag.on{opacity:1}
#v-process .tw-tag.on::after{background:var(--point)}
#v-process .tw-tag>div{padding:0 12px;line-height:1.35}
#v-process .tw-tag.l>div{text-align:right}
#v-process .tw-tag b{display:block;font-size:13px;font-weight:700;color:var(--point-d)}
#v-process .tw-tag span{display:block;margin-top:2px;font-size:16px;font-weight:700;color:var(--ink);white-space:nowrap;letter-spacing:-.03em}
@media (max-width:767px){#v-process .tw-tag span{font-size:13px}#v-process .tw-tag b{font-size:11px}#v-process .tw-tag>div{padding:0 8px}}

/* 진행 방식: 상자 대신 이어진 선 위의 단계, 마지막 단계에서 선이 두 갈래로 */
#v-process .flow4{gap:0;margin-top:clamp(40px,4vw,64px)}
#v-process .flow4 .fs,#v-process .flow4 .fs:last-child{position:relative;padding:0 32px 0 0;background:none;border-radius:0;box-shadow:none}
#v-process .flow4 .fs:not(:last-child)::after,#v-process .flow4 .fs:nth-child(2)::after{content:"";display:block;position:absolute;left:44px;right:0;top:21px;width:auto;height:2px;margin:0;border-radius:0;background:var(--point);background-image:none;box-shadow:none;transform:none}
#v-process .flow4 .n{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--point);font-size:14px;color:var(--point-d);letter-spacing:0}
#v-process .flow4 .fs:last-child .n{background:var(--point);color:#fff}
#v-process .flow4 h3{margin-top:22px}
#v-process .fork-link{height:96px}
#v-process .fork-link .hd{fill:var(--point)}
@media (max-width:1000px) and (min-width:761px){#v-process .flow4{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}#v-process .flow4 .fs{padding-right:18px}}
@media (max-width:760px){
  #v-process .flow4{grid-template-columns:1fr;gap:0}
  #v-process .flow4 .fs,#v-process .flow4 .fs:last-child{padding:0 0 30px 64px}
  #v-process .flow4 .fs:last-child{padding-bottom:0}
  #v-process .flow4 .n{position:absolute;left:0;top:0}
  #v-process .flow4 h3{margin-top:8px}
  #v-process .flow4 .fs:not(:last-child)::after,#v-process .flow4 .fs:nth-child(2)::after{left:21px;right:auto;top:44px;bottom:0;width:2px;height:auto;transform:none;margin:0}
  #v-process .fork-link{height:56px}
}

/* 사건을 가르는 기준: 체크와 제목을 한 줄에, 번호는 카드 오른쪽 위 */
#v-process .stairs .cr,#v-process .stairs .cr.rv.in,#v-process .stairs.live .cr{position:relative;grid-template-columns:40px minmax(0,1fr);column-gap:20px;padding:30px 36px 30px 32px}
#v-process .stairs .cr::before{content:"";grid-column:1;grid-row:1 / span 2;align-self:start;width:40px;height:40px;margin-top:-4px;border-radius:50%;background:var(--point) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M13 20.5 18 25.5 27.5 15' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/40px no-repeat}
#v-process .stairs .cr .k{position:absolute;top:30px;right:32px;display:block;font-size:14px;font-weight:700;color:#b9bec6;letter-spacing:0;line-height:1}
#v-process .stairs .cr .k i{display:none}
#v-process .stairs .cr h3{grid-column:2;grid-row:1;margin:0 40px 0 0}
#v-process .stairs .cr dl{grid-column:2;grid-row:2}
@media (max-width:760px){#v-process .stairs .cr,#v-process .stairs .cr.rv.in{grid-template-columns:34px minmax(0,1fr);column-gap:14px;padding:24px}#v-process .stairs .cr::before{width:34px;height:34px;background-size:34px;margin-top:-3px}#v-process .stairs .cr .k{top:26px;right:22px}}

/* 지역별 조사 업체: 아래 안내 카드가 지도에 가려지지 않게, 선 상자 대신 흰 카드 */
.view .pool-info{margin-top:clamp(28px,3vw,44px)}
.view .pool-info div{border:0;background:#fff;box-shadow:0 20px 40px -34px rgba(15,17,21,.4)}

/* ================= V8 ================= */
/* 분쟁 유형 탭: 밑줄은 탭 길이만큼만 */
html[data-apartment-v2] main .view .sub-hero>.types-bar nav{width:max-content;max-width:100%}

/* 히어로 서비스 목록: 선 대신 둥근 상자 */
html[data-detail-page] .view .svc{padding:28px 30px 30px;border-top:0;border-radius:32px;background:rgba(255,255,255,.72);box-shadow:0 30px 60px -46px rgba(15,17,21,.4)}
@media (max-width:767px){html[data-detail-page] .view .svc{padding:22px 22px 24px}}

/* 섹션 연결: 흰 띠 · 검은 띠로 끊기지 않게 같은 바탕 위에 둥근 판으로 */
.view{--inset:clamp(12px,2.6vw,40px)}
.view .sec-white{background:transparent;margin-top:0}
.view .need-band{margin:clamp(20px,2.4vw,36px) var(--inset) 0;border-radius:32px;overflow:hidden;background:rgba(255,255,255,.62);box-shadow:0 30px 60px -50px rgba(15,17,21,.35)}
.view .nb-l{background:transparent}
.view .nb-l .nb-in{padding-left:max(20px,calc(var(--gutter) - var(--inset)),calc((100vw - 1440px)/2 - var(--inset)))}
.view .nb-r .nb-in{padding-right:max(20px,calc(var(--gutter) - var(--inset)),calc((100vw - 1440px)/2 - var(--inset)))}
@media (max-width:900px){.view .nb-l .nb-in,.view .nb-r .nb-in{padding-inline:max(20px,calc(var(--gutter) - var(--inset)))}}
.view .sec.dark,.view .dark.sec{margin-inline:var(--inset);border-radius:32px}

/* ================= V9 ================= */
/* 세부 히어로: 고민이 입력되는 검색창 */
.view .hsearch{display:flex;align-items:center;gap:14px;max-width:520px;height:64px;margin:6px 0 26px;padding:0 10px 0 22px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(22,24,28,.06),0 24px 44px -30px rgba(15,17,21,.45);color:var(--ink);text-decoration:none;transition:box-shadow .3s}
.view .hsearch:hover{box-shadow:0 0 0 1.5px var(--point),0 24px 44px -30px rgba(15,17,21,.45)}
.view .hsearch .ic{flex:none;position:relative;width:18px;height:18px;border:2px solid var(--point);border-radius:50%}
.view .hsearch .ic::after{content:"";position:absolute;right:-6px;bottom:-5px;width:7px;height:2px;border-radius:32px;background:var(--point);transform:rotate(45deg)}
.view .hsearch .tx{flex:1;min-width:0;overflow:hidden;white-space:nowrap;font-size:17px;font-weight:500;letter-spacing:-.025em}
.view .hsearch .tx::after{content:"";display:inline-block;width:2px;height:1.1em;margin-left:2px;vertical-align:-.17em;background:var(--point);animation:hsBlink 1s steps(1) infinite}
@keyframes hsBlink{50%{opacity:0}}
.view .hsearch .go{flex:none;width:44px;height:44px;border-radius:50%;background:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.view .hsearch .go::before{content:"";width:13px;height:13px;background:#fff;transform:rotate(45deg);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 9 9 3M4.2 3H9v4.8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 9 9 3M4.2 3H9v4.8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
html[data-detail-page] .sub-hero h1{margin-top:0}
@media (max-width:767px){.view .hsearch{height:56px;margin:4px 0 20px;padding-left:18px;gap:12px}.view .hsearch .tx{font-size:15px}.view .hsearch .go{width:40px;height:40px}}
@media (prefers-reduced-motion:reduce){.view .hsearch .tx::after{display:none}}

/* 착수금: 점 없이 이름과 금액 */
html[data-apartment-v2] main .view .fee-badge,html[data-detail-page] .view .fee-badge{display:flex;align-items:baseline;gap:10px;height:auto;margin:22px 0 0;padding:0;border:0;background:none;line-height:1.3}
.view .fee-badge::before{content:none!important}
.view .fee-badge span{font-size:15px;font-weight:600;color:var(--mute)}
.view .fee-badge b{font-size:20px;font-weight:700;letter-spacing:-.035em;color:var(--ink)}
html[data-detail-page] .sub-hero .lead{margin-top:10px}

/* ================= V10 ================= */
/* 분쟁 유형 히어로: 글자 크기는 14 · 16 · 20 · 제목 네 단계, 굵기는 400 · 500 · 600 · 700로 정리 */
html[data-apartment-v2] main .view .sub-hero .crumb{font-size:14px;font-weight:500;line-height:1.5;color:var(--mute)}
html[data-apartment-v2] main .view .sub-hero .crumb span:last-child{font-weight:600;color:var(--ink)}
html[data-apartment-v2] main .view .sub-hero .hsearch{margin:20px 0 36px}
html[data-apartment-v2] main .view .sub-hero .hsearch .tx{font-size:16px;font-weight:500}
html[data-apartment-v2] main .view .sub-hero h1{margin:0}
html[data-apartment-v2] main .view .sub-hero .fee-badge{margin:24px 0 0;gap:10px;align-items:baseline}
html[data-apartment-v2] main .view .sub-hero .fee-badge span{font-size:14px;font-weight:500;color:var(--mute)}
html[data-apartment-v2] main .view .sub-hero .fee-badge b{font-size:20px;font-weight:700;color:var(--ink)}
html[data-apartment-v2] main .view .sub-hero .lead{margin:8px 0 0;font-size:16px;font-weight:400;line-height:1.65;color:var(--mute)}
html[data-apartment-v2] main .view .sub-hero .acts{margin-top:32px}
html[data-apartment-v2] main .view .sub-hero .acts .btn{font-size:16px;font-weight:600}
html[data-apartment-v2] main .view .sub-hero .svc h2{margin:0 0 16px;font-size:20px;font-weight:700;line-height:1.4}
html[data-apartment-v2] main .view .sub-hero .svc li{font-size:16px;font-weight:400;line-height:1.6}
html[data-apartment-v2] main .view .sub-hero .svc .ulink{margin-top:20px;font-size:15px;font-weight:600}
html[data-detail-page] .sub-hero>.w{row-gap:40px}
@media (max-width:767px){
  html[data-apartment-v2] main .view .sub-hero .hsearch{margin:16px 0 28px}
  html[data-apartment-v2] main .view .sub-hero .fee-badge{margin-top:18px}
  html[data-apartment-v2] main .view .sub-hero .acts{margin-top:24px}
  html[data-apartment-v2] main .view .sub-hero .svc h2{font-size:18px}
  html[data-apartment-v2] main .view .sub-hero .svc li{font-size:15px}
  html[data-detail-page] .sub-hero>.w{row-gap:28px}
}

/* ================= V11 ================= */
/* 전체 바탕을 밝게, 가장 큰 글씨는 한 단계씩 작게 */
:root{--bg:#f6f7f9}
html[data-apartment-v2]{--bg:#f6f7f9;--type-display:44px;--type-section:28px;--type-heading:22px}
@media(max-width:767px){html[data-apartment-v2]{--type-display:30px;--type-section:24px;--type-heading:19px}}
body{background:var(--bg)}
.view .h2{font-size:clamp(24px,2.3vw,36px)}
.h2{font-size:clamp(26px,2.6vw,42px)}
.view .sub-hero{background:radial-gradient(110% 80% at 80% 10%,#fdfdfe 0%,#f7f8fa 50%,#f0f2f5 100%)}
.view .sub-hero::after{background:linear-gradient(180deg,rgba(246,247,249,0),var(--bg))}
/* 위임 사무 카드: 흰 카드로 바탕과 구분 */
html[data-detail-page] .scope-it{background:#fff!important;box-shadow:0 18px 40px -32px rgba(15,17,21,.35)}

/* 분쟁 유형 탭: 밑줄 대신 흰 바탕의 선택 막대 */
html[data-apartment-v2] main .view .sub-hero>.types-bar nav{display:inline-flex;gap:4px;width:max-content;max-width:100%;padding:5px;border:0;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(22,24,28,.06),0 16px 32px -26px rgba(15,17,21,.45);overflow-x:auto}
html[data-apartment-v2] main .view .sub-hero>.types-bar a{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:999px;font-size:15px;font-weight:600;color:var(--mute);transition:background .2s,color .2s}
html[data-apartment-v2] main .view .sub-hero>.types-bar a::after{content:none}
html[data-apartment-v2] main .view .sub-hero>.types-bar a:hover{color:var(--ink);background:#f1f3f5}
html[data-apartment-v2] main .view .sub-hero>.types-bar a[aria-current]{background:var(--ink);color:#fff}
@media (max-width:767px){html[data-apartment-v2] main .view .sub-hero>.types-bar nav{padding:4px;gap:2px}html[data-apartment-v2] main .view .sub-hero>.types-bar a{height:36px;padding:0 13px;font-size:14px}}

/* 히어로 서비스 목록: 상자 없이 */
html[data-detail-page] .view .svc{padding:0;border:0;border-top:0;border-radius:0;background:none;box-shadow:none}

/* 히어로: 글과 3D 사이를 넓히고 3D를 오른쪽으로 */
html[data-detail-page] .sub-hero>.w{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);column-gap:clamp(56px,8vw,140px)}
html[data-detail-page] .view .stage3d{justify-self:end;width:100%}
@media (max-width:767px){html[data-detail-page] .sub-hero>.w{grid-template-columns:1fr}}

/* 필요와 제공: 판 없이 고민 → 제공을 화살표로 잇는 두 칸 */
.view .need-band,.view .need-band[data-play]{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);column-gap:clamp(16px,2vw,32px);align-items:start;max-width:calc(1440px + var(--gutter)*2);margin:clamp(40px,5vw,72px) auto 0;padding:0 var(--gutter);border-radius:0;overflow:visible;background:none;box-shadow:none}
.view .need-band .nb-l,.view .need-band .nb-r,.view .need-band .nb-l .nb-in,.view .need-band .nb-r .nb-in{display:contents}
.view .need-band .nb-l .lab{grid-column:1 / -1;grid-row:1}
.view .need-band .nb-l .h2{grid-column:1 / -1;grid-row:2;margin-bottom:clamp(28px,3vw,44px)}
.view .need-band .nb-l .nb-k{grid-column:1;grid-row:3}
.view .need-band .nb-r .nb-k{grid-column:3;grid-row:3}
.view .need-band .chat{grid-column:1;grid-row:4}
.view .need-band .check{grid-column:3;grid-row:4}
.view .need-band::after{content:"";grid-column:2;grid-row:4;align-self:center;justify-self:center;width:52px;height:52px;border-radius:50%;background:var(--point) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Cpath d='M18 26h16M28.5 20.5 34 26l-5.5 5.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/52px no-repeat;box-shadow:0 14px 30px -16px rgba(15,110,120,.7)}
html[data-apartment-v2] main .view .need-band .nb-k{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--mute)}
.view .need-band .nb-r .nb-k{color:var(--point-d)}
.view .need-band .chat,.view .need-band .check{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}
html[data-apartment-v2] main .view .need-band .chat li,html[data-apartment-v2] main .view .need-band .chat li:nth-child(2),html[data-apartment-v2] main .view .need-band .check li{display:flex;align-items:center;gap:14px;min-height:64px;padding:16px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;font-size:17px;font-weight:600;line-height:1.45;color:var(--ink)}
.view .need-band .chat li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#b7bcc4}
.view .need-band .check li{color:var(--ink)}
@media (max-width:900px){
  .view .need-band,.view .need-band[data-play]{grid-template-columns:1fr}
  .view .need-band .nb-l .nb-k,.view .need-band .chat,.view .need-band .nb-r .nb-k,.view .need-band .check,.view .need-band::after{grid-column:1}
  .view .need-band .nb-l .nb-k{grid-row:3}.view .need-band .chat{grid-row:4}
  .view .need-band::after{grid-row:5;margin:22px 0;transform:rotate(90deg);width:44px;height:44px;background-size:44px}
  .view .need-band .nb-r .nb-k{grid-row:6}.view .need-band .check{grid-row:7}
  html[data-apartment-v2] main .view .need-band .chat li,html[data-apartment-v2] main .view .need-band .check li{font-size:16px;min-height:56px}
}
html[data-apartment-v2] main .view .sub-hero>.types-bar{overflow:visible}
html[data-apartment-v2] main .view .sub-hero>.types-bar nav{max-width:calc(100vw - var(--gutter)*2)}

/* ================= V12 ================= */
/* 버튼: 조금 더 얇게 */
.btn,.view .btn{height:44px;padding:0 22px}
.view .btn.lg{height:50px}
.btn.sm,.view .btn.sm{height:36px;padding:0 16px}
html[data-apartment-v2] main .view .sub-hero .acts .btn{height:44px}
@media (max-width:767px){.btn,.view .btn{height:42px;padding:0 20px}}

/* 분쟁 유형 탭: 알약 없이 글자 탭 (고른 항목만 검정 굵게 + 포인트 점) */
html[data-apartment-v2] main .view .sub-hero>.types-bar nav{display:flex;gap:clamp(18px,2.2vw,30px);padding:0;border-radius:0;background:none;box-shadow:none}
html[data-apartment-v2] main .view .sub-hero>.types-bar a{position:relative;height:auto;padding:0;border-radius:0;background:none!important;font-size:15px;font-weight:500;color:#8a9099}
html[data-apartment-v2] main .view .sub-hero>.types-bar a:hover{color:var(--ink)}
html[data-apartment-v2] main .view .sub-hero>.types-bar a[aria-current]{color:var(--ink);font-weight:700}
html[data-apartment-v2] main .view .sub-hero>.types-bar a[aria-current]::before{content:"";position:absolute;left:50%;top:-12px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--point)}
html[data-apartment-v2] main .view .sub-hero>.types-bar{padding-top:12px}

/* 검색창: 알약 상자 대신 밑줄 입력칸 */
html[data-apartment-v2] main .view .sub-hero .hsearch{height:56px;padding:0 0 0 2px;border-radius:0;background:none;box-shadow:none;border-bottom:2px solid var(--ink)}
.view .hsearch:hover{box-shadow:none}
.view .hsearch .go{width:auto;height:auto;border-radius:0;background:none}
.view .hsearch .go::before{background:var(--ink);width:16px;height:16px}

html[data-detail-page] .view .sub-hero .acts{display:flex;align-items:center;gap:8px}
/* 세부 히어로: 3D를 더 크게 */
html[data-detail-page] .sub-hero>.w{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);column-gap:clamp(48px,6vw,110px)}
@media (max-width:767px){html[data-detail-page] .sub-hero>.w{grid-template-columns:1fr;column-gap:0}html[data-detail-page] .view .sub-hero .acts{gap:22px}}

/* ================= V13 ================= */
/* 비용 보기: 홈과 같은 흰 버튼 */
.view .btn.line,.btn.line{background:#fff;color:var(--ink);border-color:var(--ink)}
/* 분쟁 유형 탭: 고른 항목에 굵은 밑줄 */
html[data-apartment-v2] main .view .sub-hero>.types-bar a[aria-current]::before{content:none}
html[data-apartment-v2] main .view .sub-hero>.types-bar a{padding:0 0 10px}
html[data-apartment-v2] main .view .sub-hero>.types-bar a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:32px;background:var(--ink)}
html[data-apartment-v2] main .view .sub-hero>.types-bar{padding-top:4px}
/* 이런 서비스를 제공해요: 위 글과 같은 왼쪽 선에 맞춘 줄 목록 */
html[data-apartment-v2] main .view .sub-hero .svc h2{margin:0 0 4px}
html[data-detail-page] .view .svc ul{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-top:1px solid var(--ink)}
html[data-detail-page] .view .svc li{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:500;color:var(--ink)}
html[data-detail-page] .view .svc li::before{position:static;flex:none;width:22px;height:22px;border:0;border-radius:50%;transform:none;background:var(--point) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M7 11.3 9.8 14 15 8.6' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat}
html[data-detail-page] .view .svc .ulink{margin-top:22px}
@media (max-width:767px){html[data-detail-page] .view .svc ul{grid-template-columns:1fr}}

/* ================= V14 ================= */
/* 흰 버튼 호버: 검정으로 바뀌지 않고 옅은 회색 바탕 */
.btn.line:hover,.view .btn.line:hover{background:#eceef1;color:var(--ink);border-color:var(--ink)}
/* 세부 히어로: 선 줄이기 */
html[data-apartment-v2] main .view .sub-hero .hsearch{border-bottom:1px solid #c9ced5}
html[data-detail-page] .view .svc ul{gap:14px 28px;border-top:0}
html[data-detail-page] .view .svc li{min-height:0;padding:0;border-bottom:0}
html[data-apartment-v2] main .view .sub-hero .svc h2{margin:0 0 16px}

/* ================= V15 ================= */
/* 필요와 제공: 왼쪽 고민 말풍선, 오른쪽 어두운 답 카드 */
.view .need-band,.view .need-band[data-play]{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:clamp(32px,6vw,96px);align-items:center}
.view .need-band::after{content:none}
.view .need-band .nb-l .nb-k{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.view .need-band .chat{grid-column:1;grid-row:3;display:flex;flex-direction:column;align-items:flex-start;gap:12px;border-top:0}
html[data-apartment-v2] main .view .need-band .chat li,html[data-apartment-v2] main .view .need-band .chat li:nth-child(2){display:block;min-height:0;padding:14px 20px;border:0;border-radius:32px 32px 32px 32px;background:#fff;box-shadow:0 14px 34px -24px rgba(15,17,21,.45);font-size:17px;font-weight:600;color:var(--ink)}
.view .need-band .chat li::before{content:none}
html[data-apartment-v2] main .view .need-band .chat li:nth-child(2){margin-left:36px}
html[data-apartment-v2] main .view .need-band .chat li:nth-child(3){margin-left:12px}
.view .need-band .nb-r{display:block;grid-column:2;grid-row:3;border-radius:32px;background:var(--ink)}
.view .need-band .nb-r .nb-in{display:block;padding:34px 36px}
html[data-apartment-v2] main .view .need-band .nb-r .nb-k{margin:0 0 18px;color:var(--point-l)}
.view .need-band .check{display:grid;gap:14px;border-top:0}
html[data-apartment-v2] main .view .need-band .check li{display:flex;align-items:center;gap:12px;min-height:0;padding:0;border:0;font-size:17px;font-weight:600;color:#fff}
.view .need-band .check li::before{content:"";position:static;flex:none;width:22px;height:22px;border:0;border-radius:50%;transform:none;background:var(--point-l) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M7 11.3 9.8 14 15 8.6' fill='none' stroke='%2316181c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat}
@media (max-width:900px){
  .view .need-band,.view .need-band[data-play]{grid-template-columns:1fr;row-gap:28px}
  .view .need-band .chat{grid-row:3}
  .view .need-band .nb-r{grid-column:1;grid-row:4}
  .view .need-band .nb-r .nb-in{padding:26px 22px}
  html[data-apartment-v2] main .view .need-band .chat li,html[data-apartment-v2] main .view .need-band .check li{font-size:15.5px}
  html[data-apartment-v2] main .view .need-band .chat li:nth-child(2){margin-left:20px}
}

/* 히어로 서비스 목록: 체크를 작고 옅게, 두 열 간격을 좁게 */
html[data-detail-page] .view .svc ul{grid-template-columns:repeat(2,max-content);gap:12px 44px}
html[data-detail-page] .view .svc li{gap:10px;font-size:16px;font-weight:500}
html[data-detail-page] .view .svc li::before{width:20px;height:20px;background:rgba(15,110,120,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.2 10.3 8.8 12.8 13.8 7.6' fill='none' stroke='%230F6E78' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
html[data-apartment-v2] main .view .sub-hero .svc h2{font-size:18px;margin:0 0 14px}
html[data-detail-page] .view .svc .ulink{margin-top:20px;font-size:14px}
@media (max-width:767px){html[data-detail-page] .view .svc ul{grid-template-columns:1fr}}
html[data-apartment-v2] main .view .need-band .chat li,html[data-apartment-v2] main .view .need-band .chat li:nth-child(2),html[data-apartment-v2] main .view .need-band .chat li:nth-child(3){align-self:flex-start;width:auto;max-width:100%}

/* ================= V16 ================= */
/* 필요와 제공: 두 상자를 같은 높이로 나란히, 제목과 간격 좁게 */
.view .need-band,.view .need-band[data-play]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-items:stretch}
.view .need-band .nb-l .h2{margin-bottom:28px}
.view .need-band .nb-box{grid-column:1;grid-row:3;display:flex;flex-direction:column;padding:34px 36px 38px;border-radius:32px;background:#e9eef0}
html[data-apartment-v2] main .view .need-band .nb-l .nb-box .nb-k{position:static;width:auto;height:auto;overflow:visible;clip:auto;margin:0 0 22px;font-size:14px;font-weight:600;color:var(--point-d)}
.view .need-band .nb-box .chat{display:flex;flex-direction:column;gap:14px;margin:0}
/* 말풍선: 왼쪽에 사람 표시, 꼬리 달린 받은 말풍선 */
html[data-apartment-v2] main .view .need-band .chat li,html[data-apartment-v2] main .view .need-band .chat li:nth-child(2),html[data-apartment-v2] main .view .need-band .chat li:nth-child(3){position:relative;margin-left:52px;padding:13px 18px;border-radius:32px;background:#fff;box-shadow:0 10px 24px -20px rgba(15,17,21,.45)}
html[data-apartment-v2] main .view .need-band .chat li:nth-child(2){margin-left:74px}
.view .need-band .chat li::before{content:"";position:absolute;left:-52px;bottom:0;width:38px;height:38px;border-radius:50%;background:var(--av,#5f7f99) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 38'%3E%3Ccircle cx='19' cy='15' r='5.4' fill='white'/%3E%3Cpath d='M9.5 30c1.6-5 5.2-7.4 9.5-7.4s7.9 2.4 9.5 7.4' fill='white'/%3E%3C/svg%3E") center/38px no-repeat}
html[data-apartment-v2] main .view .need-band .chat li:nth-child(2)::before{left:-52px;--av:#b07d62}
.view .need-band .chat li:nth-child(3)::before{--av:#7d9486}
.view .need-band .chat li::after{content:"";position:absolute;left:-6px;bottom:0;width:16px;height:14px;background:#fff;clip-path:path("M16 0 C14 8 9 12 0 14 C6 9 7 5 7 0 Z")}
/* 오른쪽 답 카드 */
.view .need-band .nb-r{display:flex;align-items:center}
.view .need-band .nb-r .nb-in{width:100%;padding:34px 40px 38px}
@media (max-width:900px){
  .view .need-band,.view .need-band[data-play]{grid-template-columns:1fr;row-gap:14px}
  .view .need-band .nb-box{grid-row:3;padding:26px 22px 28px}
  .view .need-band .nb-r{grid-row:4}
  .view .need-band .nb-r .nb-in{padding:26px 22px 28px}
  html[data-apartment-v2] main .view .need-band .chat li,html[data-apartment-v2] main .view .need-band .chat li:nth-child(3){margin-left:46px}
  html[data-apartment-v2] main .view .need-band .chat li:nth-child(2){margin-left:58px}
  .view .need-band .chat li::before,html[data-apartment-v2] main .view .need-band .chat li:nth-child(2)::before{left:-46px;width:34px;height:34px;background-size:34px}
}

/* 히어로 서비스: 번호를 잇는 진행 순서 */
html[data-apartment-v2] main .view .sub-hero .svc h2{font-size:14px;font-weight:600;color:var(--point-d);margin:0 0 18px}
html[data-detail-page] .view .svc ul{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 14px;counter-reset:sv}
html[data-detail-page] .view .svc ul::before{content:"";position:absolute;left:14px;right:calc(25% - 4px);top:14px;height:2px;background:linear-gradient(90deg,var(--point),rgba(15,110,120,.3))}
html[data-detail-page] .view .svc li{counter-increment:sv;position:relative;display:block;padding:42px 6px 0 0;font-size:15px;font-weight:600;line-height:1.45;color:var(--ink)}
html[data-detail-page] .view .svc li::before{content:counter(sv,decimal-leading-zero);position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--point);font-size:12px;font-weight:700;color:var(--point-d);letter-spacing:0;background-image:none}
html[data-detail-page] .view .svc li:last-child::before{background:var(--point);color:#fff}
html[data-detail-page] .view .svc .ulink{margin-top:26px}
@media (max-width:767px){
  html[data-detail-page] .view .svc ul{grid-template-columns:1fr;gap:16px}
  html[data-detail-page] .view .svc ul::before{left:14px;right:auto;top:14px;bottom:14px;width:2px;height:auto;background:linear-gradient(180deg,var(--point),rgba(15,110,120,.3))}
  html[data-detail-page] .view .svc li{padding:5px 0 0 44px;min-height:30px}
}

/* ================= V17 ================= */
/* 세부 히어로: 모든 분쟁 유형이 같은 높이 · 같은 위치 (글은 위, 서비스와 3D는 아래 기준선에 맞춤) */
html[data-detail-page] .view .sub-hero{padding-bottom:clamp(56px,6vw,88px)}
html[data-detail-page] .sub-hero>.w{grid-template-rows:auto 1fr;align-items:start;row-gap:36px;min-height:clamp(520px,46vw,640px)}
html[data-detail-page] .sub-hero>.w>div:first-child{grid-area:copy;align-self:start}
html[data-detail-page] .view .svc{grid-area:service;align-self:end}
html[data-detail-page] .view .stage3d{grid-area:scene;grid-row:1 / 3;align-self:end;justify-self:stretch;width:100%;aspect-ratio:auto;height:clamp(500px,44vw,620px)}
html[data-apartment-v2] main .view .sub-hero .crumb{margin:0}
html[data-apartment-v2] main .view .sub-hero .hsearch{margin:18px 0 32px}
html[data-apartment-v2] main .view .sub-hero .fee-badge{margin-top:20px}
html[data-apartment-v2] main .view .sub-hero .acts{margin-top:28px}
@media (max-width:1100px) and (min-width:768px){html[data-detail-page] .view .stage3d{height:clamp(420px,48vw,520px)}}
@media (max-width:767px){
  html[data-detail-page] .sub-hero>.w{min-height:0;grid-template-rows:none;row-gap:24px}
  html[data-detail-page] .view .stage3d{grid-row:auto;height:340px}
  html[data-apartment-v2] main .view .sub-hero .hsearch{margin:14px 0 26px}
}
@media (min-width:768px){html[data-detail-page] .view .sub-hero .stage3d{grid-area:auto!important;grid-column:2!important;grid-row:1 / span 2!important}html[data-detail-page] .view .sub-hero .svc{grid-area:auto!important;grid-column:1!important;grid-row:2!important}html[data-detail-page] .view .sub-hero>.w>div:first-child{grid-area:auto!important;grid-column:1!important;grid-row:1!important}}
/* 제목은 항상 두 줄 높이로 잡아 한 줄짜리 페이지도 같은 위치 */
html[data-apartment-v2] main .view .sub-hero h1{min-height:2.5em}
@media (min-width:768px){html[data-detail-page] .sub-hero>.w{grid-template-rows:auto auto;align-content:space-between;min-height:clamp(500px,44vw,620px)}}
@media (max-width:1100px) and (min-width:768px){html[data-detail-page] .sub-hero>.w{min-height:clamp(420px,48vw,520px)}}

/* ================= V18 모바일 ================= */
@media (max-width:1023px){
  /* 단면도 카드: 3D 위에서도 글이 또렷하게 (반투명 · 흐림 제거) */
  .xcard,.xitem .xcard{opacity:1!important;transform:none!important;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;box-shadow:0 24px 50px -30px rgba(15,17,21,.5)}
  .xitem{min-height:92svh;padding-bottom:4svh}
  .xcard h3{font-size:19px}
  .xcard p{font-size:15px;line-height:1.6;color:var(--text)}
  .xs-head{padding:22px 20px;border-radius:32px;background:rgba(255,255,255,.9)}
  /* 단면도 구간에서는 빠른 메뉴가 카드 글을 가리지 않게 숨김 */
  html.xs-on .qk,html.xs-on .unity-contact{opacity:0;pointer-events:none}
  .qk,.unity-contact{transition:opacity .3s}
}
@media (max-width:767px){
  /* 빠른 메뉴: 작게 */
  .qk{right:10px;bottom:10px;gap:6px}
  .qk a,.qk button{width:42px;height:42px}
  /* 히어로: 글 뒤 건물은 아주 옅게, 글은 진하게 */
  .hero .lead{color:var(--text)}
  /* 본문 글자: 작은 회색 글씨를 한 단계 진하게 · 크게 */
  html[data-apartment-v2]{--type-note:14px}
  html[data-apartment-v2] main :is(.step p,.info p,.cr dd,.cr p,.tl p,.flow4 p,.pool-info p,.rg p,.ci p,.scope-it dd,.fr dd,.tier dd,.row .fee,.row-d li){color:var(--text)}
  html[data-apartment-v2] main .dark :is(.step p,.info p),html[data-apartment-v2] main .proc :is(.step p,.info p){color:#c9cdd3}
  html[data-apartment-v2] main .lines .row-d li{color:#d7dade}
  html[data-apartment-v2] main .lab{font-size:13.5px}
}
@media (max-width:767px){
  .xitem{min-height:82svh}
  .xs-list{padding:8vh 0 18vh}
  .mask{height:165vh}
  html[data-apartment-v2] main .hs p{font-size:14px;line-height:1.5;color:var(--text)}
  html[data-apartment-v2] main .hstats{margin-top:28px}
}

/* ================= V19 모바일 전용 구성 ================= */
.swipe-dots{display:none}
@media (max-width:767px){
  /* 공통: 옆으로 넘기는 카드 줄 */
  .swipe{display:flex!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1)!important;padding:4px var(--gutter) 22px!important;border:0!important}
  .swipe::-webkit-scrollbar{display:none}
  .swipe>*{flex:0 0 82%!important;max-width:none!important;scroll-snap-align:center;opacity:1!important;transform:none!important;margin:0!important}
  .swipe-dots{display:flex;justify-content:center;gap:6px;margin-top:2px}
  .swipe-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.22;transition:opacity .3s,width .3s}
  .swipe-dots i.on{width:20px;border-radius:999px;opacity:1;background:var(--point)}
  .dark .swipe-dots,.proc-sec .swipe-dots,.lines .swipe-dots{color:#fff}
  .dark .swipe-dots i.on,.proc-sec .swipe-dots i.on{background:var(--point-l)}

  /* 히어로: 글 → 건물 → 넘기는 분쟁 유형 */
  .hero .pins-q{margin-top:40vh;margin-top:40svh;height:auto;padding:0;border:0;background:none;box-shadow:none;font-weight:700}
  .hero .pins-q i{display:none}
  .hero .pins{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:12px calc(var(--gutter)*-1) 0;padding:4px var(--gutter) 10px}
  .hero .pins::-webkit-scrollbar{display:none}
  .hero .pins .pin-lines{display:none}
  .hero .pin{flex:none;scroll-snap-align:center;height:46px;background:#fff;border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .25s,color .25s,border-color .25s}
  .hero .pin.on{background:var(--ink);border-color:var(--ink);color:#fff}
  .hero .pin.on em{color:#fff}

  /* 단면도: 3D는 화면에 고정, 카드는 옆으로 넘김 */
  .xs-pin{position:sticky;top:calc(100vh - 292px);top:calc(100svh - 292px);margin-bottom:70vh;margin-bottom:70svh;z-index:2}
  .xs-list{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;max-width:none;margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter) 12px}
  .xs-list::-webkit-scrollbar{display:none}
  .xitem{flex:0 0 86%;min-height:0;padding:0;scroll-snap-align:center;justify-content:stretch}
  .xitem .xcard{height:100%;display:flex;flex-direction:column;padding:20px 20px 16px}
  .xitem .xcard .ft{margin-top:auto;padding-top:14px}
  .xcard .fl{font-size:28px}
  .xcard h3{margin-top:12px;font-size:18px}
  .xcard p{margin-top:6px;font-size:14.5px}
  .xs-pin .swipe-dots{color:var(--ink);margin-top:4px}
  .xs-head{margin-bottom:24px}

  /* 05 분쟁 유형: 누르면 펼쳐짐 */
  .lines .row-d{grid-template-rows:0fr}
  .lines .row.open .row-d{grid-template-rows:1fr}
  .lines .row-h{position:relative;padding-right:34px}
  .lines .row-h::after{content:"";position:absolute;right:4px;top:50%;width:10px;height:10px;margin-top:-8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .35s;opacity:.7}
  .lines .row.open .row-h::after{transform:rotate(225deg);margin-top:-2px}
  .lines .row-d .go{display:inline-flex;grid-column:1;grid-row:auto;justify-self:start;width:auto;height:42px;padding:0 18px;margin-top:14px;border-radius:999px;background:#fff;color:var(--ink);font-size:0}
  .lines .row-d .go::before{content:"자세히 보기";font-size:14px;font-weight:700;margin-right:8px}
  .lines .row-d .go .ga{font-size:14px}

  /* 세부: 위임 사무 카드 줄 높이 맞춤 */
  html[data-detail-page] .scope.swipe>.scope-it{display:block;padding:24px!important}
  html[data-detail-page] .scope.swipe .scope-it .n{display:block;margin-bottom:10px}
}
@media (max-width:767px){
  #types>.w{display:flow-root}
  .hero .pins-q{margin-top:34vh;margin-top:34svh}
}
@media (max-width:767px){
  .xs-pin{margin-bottom:0}
  #types>.w{padding-bottom:75vh;padding-bottom:75svh}
  .hero .pins{gap:8px}
  .hero .pins .pin{position:static;margin:0;transform:none}
}
@media (max-width:767px){
  #types>.w{padding-bottom:0}
  #types>.w::after{content:"";display:block;height:75vh;height:75svh}
}
@media (max-width:767px){.stage::after{height:90px}}

/* ================= V20 모바일: 겹치지 않는 단면도 ================= */
@media (max-width:767px){
  /* 히어로 숫자 패널: 건물 위에 뜨지 않게 바탕을 깔고 흰 카드로 */
  html[data-apartment-v2] main .hstats{position:relative;isolation:isolate;margin-top:36px;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;box-shadow:0 20px 40px -32px rgba(15,17,21,.4)}
  html[data-apartment-v2] main .hstats::before{content:"";position:absolute;z-index:-2;left:-100vw;right:-100vw;top:-40px;bottom:-200px;background:linear-gradient(180deg,rgba(246,247,249,0),var(--bg) 40px)}
  html[data-apartment-v2] main .hstats::after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:#fff}
  .hero{padding-bottom:56px}
  /* 단면도: 한 화면에 제목(위) · 3D 창(가운데) · 카드(아래)를 고정하고, 내리면 카드가 넘어감 */
  #types>.w{display:block;padding-block:0}
  #types>.w::after{height:230vh;height:230svh}
  .xs-pin{position:sticky;top:0;height:100vh;height:100svh;margin:0 calc(var(--gutter)*-1);display:flex;flex-direction:column;z-index:2}
  .xs-pin .xs-head{max-width:none;margin:0;padding:84px var(--gutter) 30px;border-radius:0;background:linear-gradient(180deg,var(--bg) 0,var(--bg) 78%,rgba(246,247,249,0) 100%)}
  .xs-pin .xs-head .h2{margin-top:10px;font-size:22px;line-height:1.3}
  .xs-pin .xs-head .lead{margin-top:8px!important;font-size:14px;line-height:1.55}
  .xs-pin .xs-list{margin:auto 0 0;padding:0 var(--gutter) 10px}
  .xs-pin .swipe-dots{margin:2px 0 max(18px,env(safe-area-inset-bottom))}
  .xs-pin .xitem{flex-basis:84%}
  .stage::after{display:none}
  html.xs-near .qk,html.xs-near .unity-contact{opacity:0;pointer-events:none}
}
@media (max-width:767px){
  html[data-apartment-v2] main .hstats::before{left:calc(var(--gutter)*-1);right:calc(var(--gutter)*-1);bottom:-56px}
}
@media (max-width:767px){
  #types{padding-top:0!important;margin-top:0!important}
  .hero{padding-bottom:0!important;margin-bottom:0!important}
  html[data-apartment-v2] main .hstats{margin-bottom:0}
  html[data-apartment-v2] main .hstats::before{bottom:-2px}
  .xs-pin .xs-head{padding-top:64px}
}
@media (max-width:767px){html[data-apartment-v2] main .hstats::before{bottom:-120px}}

/* ================= V22 모바일 다듬기 ================= */
@media (max-width:767px){
  /* 히어로 → 숫자 패널: 흰 바탕이 갑자기 나오지 않게 길고 옅게 이어 줌 */
  html[data-apartment-v2] main .hstats::before{top:-170px;background:linear-gradient(180deg,rgba(246,247,249,0) 0,rgba(246,247,249,.7) 90px,var(--bg) 170px)}
  html[data-apartment-v2] main .hstats{box-shadow:none}
  /* 단면도 카드: 아래 그림자 제거 */
  .xcard,.xitem .xcard{box-shadow:none!important}
  /* 04 조사 발주: 선 제거 */
  .mask-row::after{display:none}
  .ptrack{display:none}
  /* 단계 카드(넘김)와 안내(한 판에 묶은 목록)를 다른 모양으로 */
  .infos{display:block;margin-top:44px;padding:4px 24px;border-radius:32px;background:rgba(255,255,255,.06)}
  .infos .info,.view .infos .info{padding:22px 0;border:0;border-radius:0;background:none;opacity:1;transform:none}
  .infos .info+.info{border-top:1px solid rgba(255,255,255,.1)}
  .infos .info::before{display:none}
  .infos .info h4,.infos .info h3{display:flex;align-items:center;gap:10px}
  .infos .info h4::before,.infos .info h3::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--point-l)}
  .infos .info p{padding-left:17px}
  /* 06 비용: 성공보수 묶음마다 흰 카드로 구분 */
  .fg{display:grid;grid-template-columns:1fr;gap:12px;border-top:0;margin-top:32px}
  .fg-col,.fg-col:first-child,.fg-col:last-child,.fg-col:nth-child(n){padding:24px 22px 8px;border:0;border-radius:32px;background:#fff}
  .fg-hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--ink)}
  .fg-hd small{font-size:14px}
  .fg-hd b{margin:0;font-size:30px;color:var(--point-d)}
  .fg-list{margin-top:0}
  .fg-list li:first-child{border-top:0}
  /* 진행 절차: 선이 마지막 번호에서 끝나게 */
  .view .tl::before,.view .tl::after{display:none}
  .view .tl li:not(:last-child)::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:var(--point);opacity:.5}
  .view .tl li:last-child{padding-bottom:0;min-height:44px}
}
@media (max-width:767px){
  .hero .pins,.hero .pins-q{position:relative;z-index:3}
  .view .tl li:not(:last-child)::before{opacity:1;left:21px}
  .fg-hd b{font-size:28px;white-space:nowrap}
}

/* ================= V23 모바일 다듬기 ================= */
@media (max-width:767px){
  /* 히어로: 건물 위를 덮던 흰 바탕 제거, 숫자 패널만 흰 카드로 */
  html[data-apartment-v2] main .hstats::before{display:none}
  html[data-apartment-v2] main .hstats{margin-top:28px;box-shadow:0 18px 36px -28px rgba(15,17,21,.35)}
  .hero{padding-bottom:28px!important}
  /* 단면도 제목: 흰 띠 대신 뒤 장면을 흐리게만 */
  .xs-pin .xs-head{background:rgba(246,247,249,.38);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent);padding-bottom:44px}
  /* 단면도 끝 → 다음 섹션: 잘리지 않고 옅어지게 */
  .stage::after{display:block;height:220px;background:linear-gradient(180deg,rgba(248,249,251,0),#f8f9fb 88%);z-index:3}
  /* 단계 카드와 안내 목록 사이 여백 */
  .infos,.view .infos{margin-top:72px!important}
  /* 어두운 구간 끝: 둥글게 마무리 */
  .lines{border-radius:0 0 32px 32px}
  .fees{margin-top:0}
  /* 06 비용: 버튼을 카드 위로 올리고, 밑줄 글 링크로 */
  .fees>.w{display:flex;flex-direction:column}
  .fees .fg{order:3;margin-top:26px}
  .fees .fees-ft{order:2;justify-content:flex-start;margin-top:18px}
  .fees .fees-ft .btn{height:auto;padding:4px 0 8px;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;background:none;color:var(--ink)}
  .fees .fees-ft .btn:hover{background:none}
}

/* ================= V24 모바일 다듬기 ================= */
@media (max-width:767px){
  /* 단면도 제목: 위아래 모두 서서히 흐려지게 (윗선이 뚝 끊기지 않게) */
  .xs-pin .xs-head{background:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 70%,transparent 100%);padding-top:96px;margin-top:-32px}
  /* 단면도 끝: 카드와 겹치지 않게, 카드 아래 빈 구간에서만 옅어짐 */
  #types{padding-bottom:200px!important}
  .stage::after{height:200px;background:linear-gradient(180deg,rgba(248,249,251,0),#f8f9fb 92%)}
  .proc-sec{margin-top:-1px}
  /* 05 분쟁 유형: 제목 아래 선 제거 */
  .lines .rows{border-top:0;margin-top:20px}
  /* 진행 절차: STEP 표시와 제목 사이 간격 */
  html[data-apartment-v2] main .view .tl .st{display:block;line-height:1.2}
  html[data-apartment-v2] main .view .tl h3{margin-top:4px}
  /* 진행 방식: 두 갈래를 탭으로 */
  #v-process .fork-link{display:none}
  #v-process .fork-tabs{display:flex;gap:4px;margin-top:26px;padding:5px;border-radius:999px;background:#e6e9ed}
  #v-process .fork-tabs button{flex:1;height:44px;border:0;border-radius:999px;background:none;font:inherit;font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--mute);cursor:pointer;transition:background .25s,color .25s}
  #v-process .fork-tabs button.on{background:var(--ink);color:#fff}
  #v-process .fork{display:block;margin-top:10px}
  #v-process .fork .branch{display:none;padding:10px 24px 12px;box-shadow:none;border:0}
  #v-process .fork .branch.show{display:block}
  #v-process .fork .branch h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  #v-process .fork .branch+.branch::before{content:none}
  #v-process .fork .branch ol{margin-top:0}
  #v-process .fork .branch li:first-child{border-top:0}
  /* 사건을 가르는 기준: 번호는 제목 위 작은 표시로 */
  #v-process .stairs .cr .k{position:static;grid-column:2;grid-row:1;margin:0 0 6px;font-size:13px;color:var(--point-d)}
  #v-process .stairs .cr::before{grid-row:1 / span 3}
  #v-process .stairs .cr h3{grid-row:2;margin:0}
  #v-process .stairs .cr dl{grid-row:3}
  /* 상담: 숫자만 있던 검은 띠는 숨기고(위 진행 표시와 중복) 여백 확보 */
  .view .wiz-side{display:none}
  .view .wiz{margin-top:28px}
  .view .cinfo{gap:10px}
}

/* ================= V25 ================= */
@media (max-width:767px){
  /* 단면도 제목: 글자는 그대로 두고, 뒤 흐림만 서서히 */
  .xs-pin .xs-head{position:relative;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none}
  .xs-pin .xs-head::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(246,247,249,.3);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 62%,transparent 100%);pointer-events:none}
  /* 넘기는 카드: 잘려 보이던 그림자 대신 옅은 테두리 */
  .swipe>*{box-shadow:0 0 0 1px rgba(22,24,28,.07)!important}
  .dark .swipe>*,.proc-sec .swipe>*{box-shadow:none!important}
}
/* V26 */
@media (max-width:767px){
  /* 단면도 제목 뒤 흐림: 아래로 더 길게 */
  .xs-pin .xs-head::before{inset:0 0 -120px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 58%,rgba(0,0,0,.55) 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 58%,rgba(0,0,0,.55) 78%,transparent 100%)}
  /* 단면도 끝: 경계 없이 풀리게 */
  .stage::after{height:360px;background:linear-gradient(180deg,rgba(248,249,251,0) 0,rgba(248,249,251,.04) 12%,rgba(248,249,251,.14) 26%,rgba(248,249,251,.32) 40%,rgba(248,249,251,.55) 54%,rgba(248,249,251,.76) 68%,rgba(248,249,251,.91) 82%,rgba(248,249,251,.98) 93%,#f8f9fb 100%)}
  /* 진행 절차 갈림: 탭과 목록을 한 카드로 */
  #v-process .fork-tabs{gap:0;margin-top:26px;padding:6px 24px 0;border-radius:32px 32px 0 0;background:#fff;box-shadow:inset 0 -1px 0 var(--line)}
  #v-process .fork-tabs button{height:56px;border-radius:0;color:var(--mute);box-shadow:inset 0 -2px 0 transparent}
  #v-process .fork-tabs button.on{background:none;color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
  #v-process .fork{margin-top:0}
  #v-process .fork .branch{border-radius:0 0 32px 32px;padding:4px 24px 14px}
}
/* V27 */
@media (max-width:767px){
  /* 단면도 제목 뒤 흐림: 두 겹으로 겹쳐 경계 없이 풀리게 */
  .xs-pin .xs-head::before{inset:0 0 -90px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 46%,rgba(0,0,0,.72) 60%,rgba(0,0,0,.4) 74%,rgba(0,0,0,.14) 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 46%,rgba(0,0,0,.72) 60%,rgba(0,0,0,.4) 74%,rgba(0,0,0,.14) 88%,transparent 100%)}
  .xs-pin .xs-head::after{content:"";position:absolute;inset:40% 0 -230px;z-index:-1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(246,247,249,.12);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%,rgba(0,0,0,.7) 55%,rgba(0,0,0,.3) 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 30%,rgba(0,0,0,.7) 55%,rgba(0,0,0,.3) 78%,transparent 100%);pointer-events:none}
  /* 박스 테두리 통일: 선 없이 */
  .swipe>*{box-shadow:none!important;border:0!important}
  #v-location .office,#v-location .office.on{box-shadow:none;border:0}
  /* 오시는 길 번호 작게 */
  #v-location .office .n{width:32px;height:32px;font-size:12px}
  #v-location .office{grid-template-columns:32px minmax(0,1fr);column-gap:14px}
  /* 단계 목록 간격 같게 */
  #v-process .flow4{grid-auto-rows:1fr}
  .view .tl{display:grid;grid-auto-rows:1fr}
  /* 갈림 탭: 누르는 탭으로 보이게 */
  #v-process .fork-tabs{padding:0;border-radius:32px 32px 0 0;background:#e3e6ea;box-shadow:none}
  #v-process .fork-tabs button{height:58px;border-radius:32px 32px 0 0;box-shadow:none;color:var(--text)}
  #v-process .fork-tabs button.on{background:#fff;color:var(--ink);box-shadow:none}
  #v-process .fork .branch{padding-top:10px}
}
/* V28 */
@media (max-width:767px){
  /* 단면도 제목 뒤 흐림: 위아래 모두 길고 완만하게 */
  .xs-pin .xs-head::before{inset:-30px 0 -44px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0.0) 0px,rgba(0,0,0,0.043) 19px,rgba(0,0,0,0.156) 37px,rgba(0,0,0,0.316) 56px,rgba(0,0,0,0.5) 75px,rgba(0,0,0,0.684) 94px,rgba(0,0,0,0.844) 113px,rgba(0,0,0,0.957) 131px,rgba(0,0,0,1.0) 150px,rgba(0,0,0,1.0) calc(100% - 120px),rgba(0,0,0,0.957) calc(100% - 105px),rgba(0,0,0,0.844) calc(100% - 90px),rgba(0,0,0,0.684) calc(100% - 75px),rgba(0,0,0,0.5) calc(100% - 60px),rgba(0,0,0,0.316) calc(100% - 45px),rgba(0,0,0,0.156) calc(100% - 30px),rgba(0,0,0,0.043) calc(100% - 15px),rgba(0,0,0,0.0) calc(100% - 0px));mask-image:linear-gradient(180deg,rgba(0,0,0,0.0) 0px,rgba(0,0,0,0.043) 19px,rgba(0,0,0,0.156) 37px,rgba(0,0,0,0.316) 56px,rgba(0,0,0,0.5) 75px,rgba(0,0,0,0.684) 94px,rgba(0,0,0,0.844) 113px,rgba(0,0,0,0.957) 131px,rgba(0,0,0,1.0) 150px,rgba(0,0,0,1.0) calc(100% - 120px),rgba(0,0,0,0.957) calc(100% - 105px),rgba(0,0,0,0.844) calc(100% - 90px),rgba(0,0,0,0.684) calc(100% - 75px),rgba(0,0,0,0.5) calc(100% - 60px),rgba(0,0,0,0.316) calc(100% - 45px),rgba(0,0,0,0.156) calc(100% - 30px),rgba(0,0,0,0.043) calc(100% - 15px),rgba(0,0,0,0.0) calc(100% - 0px))}
  .xs-pin .xs-head::after{inset:-70px 0 -84px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(246,247,249,.1);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0.0) 0px,rgba(0,0,0,0.043) 15px,rgba(0,0,0,0.156) 30px,rgba(0,0,0,0.316) 45px,rgba(0,0,0,0.5) 60px,rgba(0,0,0,0.684) 75px,rgba(0,0,0,0.844) 90px,rgba(0,0,0,0.957) 105px,rgba(0,0,0,1.0) 120px,rgba(0,0,0,1.0) calc(100% - 120px),rgba(0,0,0,0.957) calc(100% - 105px),rgba(0,0,0,0.844) calc(100% - 90px),rgba(0,0,0,0.684) calc(100% - 75px),rgba(0,0,0,0.5) calc(100% - 60px),rgba(0,0,0,0.316) calc(100% - 45px),rgba(0,0,0,0.156) calc(100% - 30px),rgba(0,0,0,0.043) calc(100% - 15px),rgba(0,0,0,0.0) calc(100% - 0px));mask-image:linear-gradient(180deg,rgba(0,0,0,0.0) 0px,rgba(0,0,0,0.043) 15px,rgba(0,0,0,0.156) 30px,rgba(0,0,0,0.316) 45px,rgba(0,0,0,0.5) 60px,rgba(0,0,0,0.684) 75px,rgba(0,0,0,0.844) 90px,rgba(0,0,0,0.957) 105px,rgba(0,0,0,1.0) 120px,rgba(0,0,0,1.0) calc(100% - 120px),rgba(0,0,0,0.957) calc(100% - 105px),rgba(0,0,0,0.844) calc(100% - 90px),rgba(0,0,0,0.684) calc(100% - 75px),rgba(0,0,0,0.5) calc(100% - 60px),rgba(0,0,0,0.316) calc(100% - 45px),rgba(0,0,0,0.156) calc(100% - 30px),rgba(0,0,0,0.043) calc(100% - 15px),rgba(0,0,0,0.0) calc(100% - 0px))}
  /* 히어로 질문과 버튼 사이 */
  .hero .pins{margin-top:-20px}
}
/* V29 */
@media (max-width:767px){
  /* 단면도 제목: 헤더와 간격 */
  .xs-pin .xs-head{padding-top:122px;padding-bottom:28px}
}
/* V30 메뉴 닫기: 글자 대신 선으로 그려 원 정중앙에 */
button.x[aria-label="메뉴 닫기"]{font-size:0;line-height:0;color:transparent}
button.x[aria-label="메뉴 닫기"]::before,button.x[aria-label="메뉴 닫기"]::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;margin:-1px 0 0 -8px;border-radius:999px;background:#fff}
button.x[aria-label="메뉴 닫기"]::before{transform:rotate(45deg)}
button.x[aria-label="메뉴 닫기"]::after{transform:rotate(-45deg)}
/* V31 단계 번호 원 작게 */
@media (max-width:767px){
  #v-process .flow4 .n{width:30px;height:30px;font-size:11.5px;box-shadow:inset 0 0 0 1.5px var(--point)}
  #v-process .flow4 .fs,#v-process .flow4 .fs:last-child{padding-left:48px}
  #v-process .flow4 .fs:not(:last-child)::after,#v-process .flow4 .fs:nth-child(2)::after{left:14px;top:30px}
  #v-process .flow4 h3{margin-top:3px}
  .view .tl .dot{width:30px;height:30px;font-size:11.5px}
  .view .tl li{padding-left:48px}
  .view .tl li:not(:last-child)::before{left:14px;top:30px}
}
/* V32 단계 목록 형식 통일 (5단계를 4단계와 같은 모양으로) */
@media (max-width:767px){
  .view .tl .dot,.view .tl li.on .dot{background:#fff;border:0;box-shadow:inset 0 0 0 1.5px var(--point);color:var(--point-d)}
  .view .tl li:last-child .dot,.view .tl li.on:last-child .dot{background:var(--point);color:#fff}
  html[data-apartment-v2] main .view .tl .st{display:none}
  html[data-apartment-v2] main .view .tl .dot,html[data-apartment-v2] main #v-process .flow4 .n{font-size:11.5px;font-weight:700;letter-spacing:.02em;line-height:1}
  html[data-apartment-v2] main .view .tl h3{margin-top:3px}
}
/* V33 진행 절차 5단계: 위 4단계와 겹치지 않게 넘기는 카드로 */
@media (max-width:767px){
  html[data-apartment-v2] main .view .tl.swipe{margin-top:28px}
  html[data-apartment-v2] main .view .tl.swipe li{padding:26px 24px 28px!important;min-height:0;background:#fff;border-radius:32px}
  html[data-apartment-v2] main .view .tl.swipe li::before{display:none}
  html[data-apartment-v2] main .view .tl.swipe .dot{display:none}
  html[data-apartment-v2] main .view .tl.swipe .st{display:block;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--point-d)}
  html[data-apartment-v2] main .view .tl.swipe h3{margin-top:12px}
  html[data-apartment-v2] main .view .tl.swipe p{margin-top:8px}
}
/* V34 진행 절차 5단계: PC도 카드로 (모바일 넘기는 카드와 같은 형식) */
@media (min-width:768px){
  html[data-apartment-v2] main .view .tl{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
  html[data-apartment-v2] main .view .tl::before,html[data-apartment-v2] main .view .tl::after{display:none}
  html[data-apartment-v2] main .view .tl li{padding:28px 24px 30px;min-height:0;background:#fff;border-radius:32px}
  html[data-apartment-v2] main .view .tl li::before{display:none}
  html[data-apartment-v2] main .view .tl .dot{display:none}
  html[data-apartment-v2] main .view .tl .st{display:block;font-size:13px;letter-spacing:.04em}
  html[data-apartment-v2] main .view .tl h3{margin-top:14px}
  html[data-apartment-v2] main .view .tl p{margin-top:8px}
}
@media (min-width:768px) and (max-width:1099px){
  html[data-apartment-v2] main .view .tl{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* V35 */
/* 조사 단계 선: 점과 단계 원이 같은 높이에서 겹치게 */
.ptrack b{box-sizing:border-box;top:-6px;width:14px;height:14px}
.ptrack i::after{right:-7px;top:-6px;width:14px;height:14px;box-sizing:border-box}
/* 서비스 단계 선: 마지막 원에 닿게 */
html[data-detail-page] .view .svc ul::before{right:calc(25% - 26px);background:linear-gradient(90deg,var(--point),rgba(15,110,120,.5))}
/* 수임 범위 호버: 카드 모서리 따라 둥글게 */
.view .scope-it{overflow:hidden}
.view .scope-it::before{border-radius:inherit}
@media (min-width:768px){
  /* 사건을 가르는 기준: 번호를 제목 위로 */
  #v-process .stairs .cr .k{position:static;grid-column:2;grid-row:1;margin:0 0 8px;font-size:13px;font-weight:700;color:var(--point-d)}
  #v-process .stairs .cr::before{grid-row:1 / span 3;margin-top:0}
  #v-process .stairs .cr h3{grid-row:2;margin:0}
  #v-process .stairs .cr dl{grid-row:3}
  /* 비용 미리보기 안내 문장: 오른쪽 끝에 */
  .fees-top .lead{justify-self:end;text-align:right}
}
/* V36 */
@media (min-width:901px){
  /* 섹션 제목 옆 안내 문장: 오른쪽 끝에 맞춤 */
  .view .sec-top .lead,.mask-row .lead{justify-self:end;text-align:right}
  .view .split-l .sec-top .lead{justify-self:start;text-align:left}
}
/* 조사 단계 선: 점이 단계 원에 닿으면 민트 점은 숨김 (끝까지 갔을 때만 표시) */
.ptrack:has(~.steps.hov) i::after{opacity:0}
.ptrack.end:has(~.steps.hov) i::after{opacity:1}

/* 끝줄에 한두 글자만 남지 않게 줄바꿈 보정 */p,dd,li,summary,.a,h4{text-wrap:pretty}h1,h3{text-wrap:balance}
/* 가운뎃점 나열: 줄이 바뀌는 자리의 점은 보이지 않게 */.dl{display:flex;flex-wrap:wrap;margin-left:-.8em;clip-path:inset(0 0 0 .8em)}.dl>span{position:relative;padding-left:.8em}.dl>span::before{content:"·";position:absolute;left:0;width:.8em;text-align:center}/* 문장은 의미 단위로 줄바꿈 */.ph{display:inline-block;text-wrap:balance}/* 첫 화면 소개글: PC에서는 두 줄로 */@media (min-width:1024px){.hero .lead{max-width:470px}}/* 모바일: 두세 줄짜리 글은 줄 길이를 고르게 */@media (max-width:767px){main p,main dd,main li,main .a,main h3,main h4{text-wrap:balance}}/* 태블릿 너비: 서비스 단계가 좁게 눌리지 않게 모바일처럼 세로로 */@media (min-width:768px) and (max-width:1023px){html[data-detail-page] .view .svc ul{grid-template-columns:1fr;gap:16px}html[data-detail-page] .view .svc ul::before{left:14px;right:auto;top:14px;bottom:14px;width:2px;height:auto;background:linear-gradient(180deg,var(--point),rgba(15,110,120,.3))}html[data-detail-page] .view .svc li{padding:5px 0 0 44px;min-height:30px}}
/* ---------- 가이드 ---------- */
.gx figure{margin:40px 0 0}
.gx .gx-fg{padding:36px 32px;border-radius:24px;background:var(--panel)}
.gx figcaption{margin-top:12px;font-size:13.5px;line-height:1.6;color:var(--faint)}
.gx .gx-fg p{margin:0}
.gx .gx-fg-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));counter-reset:s}
.gx .gx-fg-steps li{position:relative;padding:30px 20px 0 0;counter-increment:s}
.gx .gx-fg-steps li::before{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;background:var(--ink)}
.gx .gx-fg-steps li:first-child::before{background:var(--point)}
.gx .gx-fg-steps li::after{content:"";position:absolute;left:19px;right:8px;top:5px;height:1.5px;background:#c6ccd3}
.gx .gx-fg-steps li:last-child::after{display:none}
.gx .gx-fg-steps b{display:block;font-size:17px;font-weight:700;color:var(--ink);line-height:1.4;letter-spacing:-.03em}
.gx .gx-fg-steps b::before{content:counter(s);display:block;margin-bottom:2px;font-size:13px;font-weight:700;color:var(--faint)}
.gx .gx-fg-steps span{display:block;margin-top:6px;font-size:14.5px;line-height:1.6;color:var(--mute)}
.gx .gx-fg-side{margin-top:30px;padding-top:24px;border-top:1px solid #dfe3e8;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
.gx .gx-fg-side b{display:block;font-size:16px;font-weight:700;color:var(--ink);line-height:1.4}
.gx .gx-fg-side span{display:block;margin-top:4px;font-size:14.5px;line-height:1.6;color:var(--mute)}
.gx .gx-fg-side>p{grid-column:1/-1;font-size:13.5px;font-weight:600;color:var(--mute)}
.gx .gx-fg-fork .gx-q{width:max-content;max-width:100%;margin:0 auto;padding:10px 20px;border-radius:999px;background:#fff;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.4;text-align:center}
.gx .gx-fg-fork .gx-arms{position:relative;margin-top:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.gx .gx-fg-fork .gx-arms::before{content:"";position:absolute;left:25%;right:25%;top:-24px;height:24px;border:1.5px solid #c6ccd3;border-bottom:0;border-radius:12px 12px 0 0}
.gx .gx-fg-fork .gx-arms::after{content:"";position:absolute;left:50%;top:-48px;width:1.5px;height:24px;margin-left:-.75px;background:#c6ccd3}
.gx .gx-fg-fork .gx-arm{padding-top:14px}
.gx .gx-fg-fork .gx-arm .gx-w{margin:0 auto;width:max-content;max-width:100%;font-size:13px;font-weight:700;color:var(--point);text-align:center}
.gx .gx-fg-fork .gx-arm b{display:block;margin-top:4px;font-size:18px;font-weight:700;color:var(--ink);line-height:1.4;letter-spacing:-.03em;text-align:center}
.gx .gx-fg-fork .gx-arm ul,.gx .gx-fg-fork .gx-arm ol{margin:14px 0 0;padding:0;list-style:none;counter-reset:f}
.gx .gx-fg-fork .gx-arm li{position:relative;padding:9px 0 9px 22px;border-top:1px solid #dfe3e8;font-size:14.5px;line-height:1.6;color:var(--text)}
.gx .gx-fg-fork .gx-arm ul li::before{content:"";position:absolute;left:3px;top:19px;width:5px;height:5px;border-radius:50%;background:var(--faint)}
.gx .gx-fg-fork .gx-arm ol li{counter-increment:f}
.gx .gx-fg-fork .gx-arm ol li::before{content:counter(f);position:absolute;left:2px;top:9px;font-size:13px;font-weight:700;color:var(--faint)}
.gx .gx-fg-fork .gx-arm>p{margin-top:10px;font-size:14.5px;line-height:1.65;color:var(--text);text-align:center}
.gx .gx-fg-fork .gx-arm small{display:block;margin-top:10px;font-size:13px;color:var(--faint);text-align:center}
.gx .gx-fg-gap{height:36px}
.gx .gx-fg-time .gx-big{font-size:clamp(72px,16vw,128px);font-weight:700;line-height:.9;letter-spacing:-.06em;color:var(--ink);font-variant-numeric:tabular-nums}
.gx .gx-fg-time .gx-big small{margin-left:6px;font-size:.28em;letter-spacing:-.03em}
.gx .gx-fg-time .gx-bar{display:flex;gap:3px;margin-top:30px}
.gx .gx-fg-time .gx-bar i{display:block;height:10px;border-radius:999px}
.gx .gx-fg-time .gx-bar .gx-on{flex:var(--f);background:var(--point)}
.gx .gx-fg-time .gx-bar .gx-off{flex:var(--g);background:repeating-linear-gradient(90deg,#c0c6cd 0 6px,transparent 6px 11px)}
.gx .gx-fg-time .gx-lb{display:flex;gap:3px;margin-top:12px}
.gx .gx-fg-time .gx-lb span{font-size:13.5px;line-height:1.55;color:var(--mute)}
.gx .gx-fg-time .gx-lb span b{display:block;font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.45}
.gx .gx-fg-time .gx-lb .gx-a{flex:var(--f);padding-right:14px}
.gx .gx-fg-time .gx-lb .gx-b{flex:var(--g)}
.gx .gx-fg-opts{margin-top:30px;padding-top:26px;border-top:1px solid #dfe3e8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gx .gx-fg-opts b{display:block;font-size:17px;font-weight:700;color:var(--ink);line-height:1.4}
.gx .gx-fg-opts dl{margin:12px 0 0;display:grid;gap:7px}
.gx .gx-fg-opts dl div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center}
.gx .gx-fg-opts dt{font-size:12.5px;font-weight:600;color:var(--mute);line-height:1}
.gx .gx-fg-opts dd{margin:0;height:6px;border-radius:999px;background:#dfe3e8;overflow:hidden}
.gx .gx-fg-opts dd i{display:block;height:100%;width:calc(var(--v)*1%);border-radius:999px;background:var(--ink)}
.gx .gx-fg-opts span{display:block;margin-top:10px;font-size:14px;line-height:1.55;color:var(--mute)}
.gx .gx-fg-tr+.gx-fg-tr{margin-top:28px;padding-top:26px;border-top:1px solid #dfe3e8}
.gx .gx-fg-tr .gx-t{font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.4}
.gx .gx-fg-tr .gx-bar{display:flex;align-items:center;margin-top:16px}
.gx .gx-fg-tr .gx-bar i{display:block;height:8px}
.gx .gx-fg-tr .gx-bar .gx-on{background:var(--point)}
.gx .gx-fg-tr .gx-bar .gx-on:first-child{border-radius:999px 0 0 999px}
.gx .gx-fg-tr .gx-bar .gx-on:last-child{border-radius:0 999px 999px 0}
.gx .gx-fg-tr .gx-bar .gx-no{height:0;border-top:2px dashed #b3bac2}
.gx .gx-fg-tr .gx-bar em{flex:none;margin:0 4px;padding:4px 10px;border-radius:999px;background:#fff;font-style:normal;font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.2}
.gx .gx-fg-tr .gx-lg{display:flex;margin-top:8px;font-size:12.5px;color:var(--mute);line-height:1.4}
.gx .gx-fg-tr .gx-d{margin-top:10px;font-size:14.5px;line-height:1.65;color:var(--mute)}
.gx .gx-fg-bars .gx-g+.gx-g{margin-top:26px;padding-top:24px;border-top:1px solid #dfe3e8}
.gx .gx-fg-bars .gx-g>b{display:block;font-size:17px;font-weight:700;color:var(--ink);line-height:1.4}
.gx .gx-fg-bars .gx-r{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;margin-top:12px}
.gx .gx-fg-bars .gx-r>span{font-size:14px;color:var(--mute);line-height:1.4}
.gx .gx-fg-bars .gx-r div{display:flex;align-items:center;gap:10px}
.gx .gx-fg-bars .gx-r i{display:block;height:8px;width:calc(var(--v)*1%);border-radius:999px;background:var(--ink)}
.gx .gx-fg-bars .gx-r.gx-k i{background:var(--point)}
.gx .gx-fg-bars .gx-r div b{font-size:17px;font-weight:700;color:var(--ink);white-space:nowrap;line-height:1}
.gx .gx-fg-sc .gx-r{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center}
.gx .gx-fg-sc .gx-r+.gx-r{margin-top:10px;padding-top:10px;border-top:1px solid #dfe3e8}
.gx .gx-fg-sc .gx-r>b{font-size:17px;font-weight:700;color:var(--ink)}
.gx .gx-fg-sc .gx-tk{position:relative;height:116px;margin:0 30px}
.gx .gx-fg-sc .gx-tk::before{content:"";position:absolute;left:-30px;right:-30px;top:57px;height:1.5px;background:#c6ccd3}
.gx .gx-fg-sc .gx-m{position:absolute;left:calc((var(--v) - 30)/30*100%);top:0;bottom:0;width:0}
.gx .gx-fg-sc .gx-m::before{content:"";position:absolute;left:-5.5px;top:52px;width:11px;height:11px;border-radius:50%;background:var(--point)}
.gx .gx-fg-sc .gx-m.gx-p::before{background:var(--ink)}
.gx .gx-fg-sc .gx-m b{position:absolute;left:0;top:14px;transform:translateX(-50%);font-size:24px;font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.gx .gx-fg-sc .gx-m span{position:absolute;left:0;top:74px;transform:translateX(-50%);width:70px;text-align:center;font-size:12.5px;color:var(--mute);line-height:1.35}
.gx .gx-fg-day{margin-top:26px;padding-top:24px;border-top:1px solid #dfe3e8}
.gx .gx-fg-day .gx-bar{display:flex;gap:3px}
.gx .gx-fg-day .gx-bar i{display:block;height:10px;border-radius:999px;flex:var(--h);background:var(--ink)}
.gx .gx-fg-day .gx-bar .gx-d{background:#fff;box-shadow:inset 0 0 0 1.5px #c6ccd3}
.gx .gx-fg-day .gx-lb{display:flex;gap:3px;margin-top:10px;font-size:13.5px;color:var(--mute);line-height:1.4}
.gx .gx-fg-day .gx-lb span{flex:var(--h);white-space:nowrap}
.gx .gx-fg-day .gx-lb b{display:block;font-size:15px;color:var(--ink);font-weight:700}
.gx .gx-fg-tree{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;max-width:520px;margin:0 auto}
.gx .gx-fg-tree::before{content:"";position:absolute;left:50%;top:30px;bottom:30px;width:1.5px;margin-left:-.75px;background:#c6ccd3}
.gx .gx-fg-tree::after{content:"";position:absolute;left:14%;right:14%;top:50%;height:1.5px;margin-top:-.75px;background:#c6ccd3}
.gx .gx-fg-tree .gx-n{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:76px;padding:10px 6px;border-radius:18px;background:#fff;text-align:center}
.gx .gx-fg-tree .gx-n b{font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.3}
.gx .gx-fg-tree .gx-n span{font-size:12.5px;font-weight:700;color:var(--point);line-height:1.2}
.gx .gx-fg-tree .gx-x{background:var(--panel);box-shadow:inset 0 0 0 1.5px #c6ccd3}
.gx .gx-fg-tree .gx-x b{color:var(--faint);text-decoration:line-through;text-decoration-thickness:1.5px}
.gx .gx-fg-tree .gx-x span{color:var(--faint)}
.gx .gx-fg-tree .gx-me{background:var(--ink)}
.gx .gx-fg-tree .gx-me b{color:#fff}
.gx .gx-fg-tree .gx-p1{grid-column:2;grid-row:1}
.gx .gx-fg-tree .gx-p2{grid-column:1;grid-row:2}
.gx .gx-fg-tree .gx-p3{grid-column:2;grid-row:2}
.gx .gx-fg-tree .gx-p4{grid-column:3;grid-row:2}
.gx .gx-fg-tree .gx-p5{grid-column:2;grid-row:3}
.gx .gx-fg-scene svg{display:block;width:100%;max-width:440px;height:auto;margin:0 auto}
.gx .gx-fg-scene .gx-cap{display:flex;justify-content:center;gap:10px 26px;flex-wrap:wrap;margin-top:22px;font-size:14px;color:var(--mute);line-height:1.4}
.gx .gx-fg-scene .gx-cap b{color:var(--ink);font-weight:700;margin-right:6px}
.gx .gx-pick{margin:22px 0 0;padding:0;list-style:none;counter-reset:p;border-top:1px solid var(--line)}
.gx .gx-pick li{counter-increment:p;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:16px 0;border-bottom:1px solid var(--line);font-size:18px;font-weight:600;color:var(--ink);line-height:1.5}
.gx .gx-pick li::before{content:counter(p);font-weight:700;color:var(--faint)}
.gx details.gx-rv{margin-top:20px}
.gx details.gx-rv summary{list-style:none;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--ink);font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;line-height:1}
.gx details.gx-rv summary::-webkit-details-marker{display:none}
.gx details.gx-rv summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s}
.gx details.gx-rv[open] summary{background:var(--ink);color:#fff}
.gx details.gx-rv[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.gx details.gx-rv .gx-a{margin-top:22px}
.gx details.gx-rv .gx-a strong{display:block;font-size:clamp(24px,3.6vw,32px);font-weight:700;line-height:1.35;letter-spacing:-.04em;color:var(--ink)}
.gx details.gx-rv .gx-a strong small{display:block;margin-bottom:6px;font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--point)}
@media (max-width:640px){.gx figure{margin-top:32px}
.gx .gx-fg{padding:26px 20px;border-radius:20px;margin-inline:-4px}
.gx .gx-fg-steps{grid-template-columns:1fr}
.gx .gx-fg-steps li{padding:0 0 22px 28px}
.gx .gx-fg-steps li:last-child{padding-bottom:0}
.gx .gx-fg-steps li::before{top:6px}
.gx .gx-fg-steps li::after{left:4.75px;right:auto;top:24px;bottom:2px;width:1.5px;height:auto}
.gx .gx-fg-steps b::before{display:inline;margin:0 8px 0 0}
.gx .gx-fg-side{grid-template-columns:1fr}
.gx .gx-fg-fork .gx-arms{grid-template-columns:1fr;gap:0;margin-top:22px}
.gx .gx-fg-fork .gx-arms::before,.gx .gx-fg-fork .gx-arms::after{display:none}
.gx .gx-fg-fork .gx-arm{padding:20px 0 0;margin-top:20px;border-top:1px solid #dfe3e8}
.gx .gx-fg-fork .gx-arm:first-child{margin-top:0}
.gx .gx-fg-fork .gx-arm .gx-w,.gx .gx-fg-fork .gx-arm b,.gx .gx-fg-fork .gx-arm>p,.gx .gx-fg-fork .gx-arm small{text-align:left;margin-inline:0}
.gx .gx-fg-opts{grid-template-columns:1fr;gap:20px}
.gx .gx-fg-bars .gx-r{grid-template-columns:1fr;gap:6px}
.gx .gx-fg-sc .gx-r{grid-template-columns:1fr;gap:0}
.gx .gx-fg-sc .gx-tk{margin:0 28px}
.gx .gx-fg-sc .gx-m b{font-size:21px}
.gx .gx-fg-sc .gx-m span{width:50px;font-size:11px}
.gx .gx-fg-tree{gap:22px 8px}
.gx .gx-fg-tree .gx-n{min-height:66px;border-radius:14px}
.gx .gx-fg-tree .gx-n b{font-size:14.5px}
.gx .gx-fg-tree .gx-n span{font-size:11.5px}
.gx .gx-pick li{font-size:17px}
.gx .gx-fg-steps li::after{top:22px;bottom:-4px;background:#c6ccd3}
.gx .gx-fg-steps b{font-size:16.5px}
.gx .gx-fg-steps span{font-size:14.5px}
.gx .gx-fg-fork .gx-q{margin:0;text-align:left;border-radius:16px;font-size:16px}
.gx .gx-fg-time .gx-lb{flex-direction:column;gap:12px;margin-top:16px}
.gx .gx-fg-time .gx-lb span{position:relative;padding:0 0 0 28px;font-size:14px}
.gx .gx-fg-time .gx-lb span::before{content:"";position:absolute;left:0;top:8px;width:18px;height:8px;border-radius:999px;background:var(--point)}
.gx .gx-fg-time .gx-lb .gx-b::before{background:repeating-linear-gradient(90deg,#b3bac2 0 5px,transparent 5px 9px)}
.gx .gx-fg-tr .gx-t{font-size:16px}
.gx .gx-fg-tr .gx-d{font-size:14.5px}
.gx .gx-fg-scene .gx-cap{flex-direction:column;align-items:flex-start;gap:6px;margin-top:18px}
.gx details.gx-rv summary{height:48px}
}
.gx .gx-fg-opts.gx-solo{margin-top:0;padding-top:0;border-top:0}
.gx .gx-fg-side.gx-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.gx .gx-fg-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;counter-reset:l}
.gx .gx-fg-list li{counter-increment:l;display:flex;flex-direction:column;gap:4px;min-height:84px;padding:14px 16px;border-radius:16px;background:#fff;font-size:16px;font-weight:700;color:var(--ink);line-height:1.4;letter-spacing:-.03em}
.gx .gx-fg-list li::before{content:counter(l) "호";font-size:13px;font-weight:700;color:var(--point)}
@media (max-width:640px){.gx .gx-fg-side.gx-three{grid-template-columns:1fr}
.gx .gx-fg-list{grid-template-columns:1fr;gap:0}
.gx .gx-fg-list li{flex-direction:row;align-items:baseline;gap:12px;min-height:0;padding:12px 2px;border-radius:0;background:none;border-top:1px solid #dfe3e8;font-size:16px}
.gx .gx-fg-list li:first-child{border-top:0;padding-top:0}
.gx .gx-fg-list li:last-child{padding-bottom:0}
.gx .gx-fg-list li::before{flex:none;width:30px}
.gx .gx-fg-time .gx-big{font-size:clamp(56px,17vw,96px)}
}
.gx .gx-fg-steps.gx-nonum b::before{display:none}
/* 가이드: 사이트 틀 위에 글과 도식 */
.gx{--ink:#16181c;--text:#3b3f46;--mute:#656b75;--faint:#8d939c;--line:#d8dce2;--panel:#fff;--point:#0f6e78}
.gx *,.gx *::before,.gx *::after{box-sizing:border-box}
.gd-keyx{padding:30px 30px 32px;border-radius:32px;background:rgba(255,255,255,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #fff;box-shadow:0 40px 80px -50px rgba(15,17,21,.45)}
.gd-keyx .k{margin:0;font-size:13px;font-weight:600;color:var(--point-d);line-height:1}
.gd-keyx .t{margin:16px 0 0;font-size:clamp(18px,1.6vw,23px);font-weight:700;line-height:1.5;letter-spacing:-.03em;color:var(--ink);text-wrap:pretty}
/* 도식: 흰 카드 */
.gx figure{margin:0}
.gx figure+figure{margin-top:12px}
.gx .gx-fg{padding:38px 36px;border-radius:32px;background:#fff;box-shadow:0 24px 44px -36px rgba(15,17,21,.4)}
.gx figcaption{margin-top:14px;padding-left:8px;font-size:13.5px;line-height:1.6;color:var(--mute)}
.gx .gx-fg-steps b::before{content:counter(s,decimal-leading-zero);font-size:12.5px;color:var(--point-d)}
.gx .gx-fg-steps li::before{background:var(--point)}
.gx .gx-fg-steps li::after{background:var(--point);opacity:.45}
.gx .gx-fg-steps b{font-size:18px}
.gx .gx-fg-steps span{font-size:15px;color:var(--text)}
.gx .gx-fg-fork .gx-q,.gx .gx-fg-tree .gx-n,.gx .gx-fg-tr .gx-bar em,.gx .gx-fg-list li,.gx .gx-fg-day .gx-bar .gx-d{background:var(--bg)}
.gx .gx-fg-tree .gx-x{background:#fff}
.gx .gx-fg-tree .gx-me{background:var(--ink)}
.gx .gx-fg-opts dd{background:var(--bg-2)}
.gx .gx-fg-opts dd i,.gx .gx-fg-bars .gx-r i{background:var(--ink)}
.gx .gx-fg-bars .gx-r.gx-k i{background:var(--point)}
.gx .gx-fg-time .gx-lb span b,.gx .gx-fg-tr .gx-t,.gx .gx-fg-side b,.gx .gx-fg-fork .gx-arm b,.gx .gx-fg-opts b,.gx .gx-fg-bars .gx-g>b{letter-spacing:-.025em}
.gx .gx-fg-fork .gx-arm .gx-w{color:var(--point-d)}
/* 글 */
.gd-qa{border-top:1px solid var(--ink)}
.gd-q{padding:30px 0 34px;border-bottom:1px solid var(--line)}
.gd-q h3{margin:0;font-size:clamp(20px,1.7vw,24px);font-weight:700;line-height:1.4;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.gd-q p{margin:12px 0 0;max-width:40em;font-size:17px;line-height:1.85;color:var(--text);text-wrap:pretty}
.gd-q>p:first-child{margin-top:0}
.gd-q p b{font-weight:700;color:var(--ink)}
.gd-q ul{list-style:none;margin:12px 0 0;padding:0}
.gd-q ul li{position:relative;padding:5px 0 5px 20px;font-size:17px;line-height:1.7;color:var(--text)}
.gd-q ul li::before{content:"";position:absolute;left:3px;top:.95em;width:6px;height:6px;border-radius:50%;background:var(--point)}
.gd-ref ul li{padding-left:0;font-weight:600;color:var(--ink)}
.gd-ref ul li::before{display:none}
.gd-ref .n{font-size:13.5px;line-height:1.7;color:var(--mute)}
.gx .gx-pick{margin-top:16px}
.gx .gx-rv summary{height:50px;padding:0 24px;background:transparent}
.gx .gx-rv .gx-a p{font-size:17px}
.gd-more{margin:44px 0 14px;font-size:13px;font-weight:600;color:var(--point-d);line-height:1}
/* 목록 카드 */
.gd-chips{display:flex;gap:6px;margin-top:clamp(36px,4vw,60px);overflow-x:auto;scrollbar-width:none;padding:2px}
.gd-chips::-webkit-scrollbar{display:none}
.gd-chips button{flex:none;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);font-size:14.5px;font-weight:600;color:var(--ink);line-height:1;cursor:pointer;transition:.25s}
.gd-chips button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.gd-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.gd-cards.one{grid-template-columns:1fr;margin-top:0}
.gd-card{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:22px;align-items:center;padding:26px 26px 26px 30px;border-radius:32px;background:#fff;box-shadow:0 24px 44px -36px rgba(15,17,21,.4);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.gd-card[hidden]{display:none}
.gd-card:hover{transform:translateY(-3px);box-shadow:0 34px 56px -38px rgba(15,17,21,.5)}
.gd-card .k{margin:0;font-size:13px;font-weight:600;color:var(--point-d);line-height:1.3}
.gd-card .k span{margin-left:10px;color:var(--mute);font-weight:500}
.gd-card h3{margin:8px 0 0;font-size:clamp(18px,1.5vw,21px);font-weight:700;line-height:1.4;letter-spacing:-.035em;color:var(--ink)}
.gd-card h3 .ph{display:inline-block;text-wrap:balance}
.gd-card .h{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--mute)}
.gd-card .th{display:flex;align-items:center;justify-content:center;width:104px;height:104px;border-radius:26px;background:var(--bg)}
.gd-card .th svg{width:52px;height:52px}
.gd-card .th b{font-size:40px;font-weight:700;letter-spacing:-.05em;color:var(--ink);line-height:1}
.gd-card .th b small{font-size:.36em;margin-left:2px;letter-spacing:-.02em}
@media (max-width:1000px){
  .gd-cards{grid-template-columns:1fr}
}
@media (max-width:767px){
  .gd-keyx{padding:24px}
  .gx .gx-fg{padding:26px 22px;border-radius:28px;margin-inline:0}
  .gd-q{padding:24px 0 28px}
  .gd-q h3{font-size:19.5px}
  .gd-q p,.gd-q ul li{font-size:16.5px}
  .gd-card{grid-template-columns:minmax(0,1fr) 72px;gap:14px;padding:20px 20px 20px 22px;border-radius:28px}
  .gd-card .th{width:72px;height:72px;border-radius:20px}
  .gd-card .th svg{width:38px;height:38px}
  .gd-card .th b{font-size:28px}
  .gd-card .h{font-size:14px}
}

/* 민형사센터 가이드 구성에 맞춤 */
.view .gd-hero .w{align-items:center}
.gd-pic{aspect-ratio:3/2;border-radius:32px;background:#d8dce2 center/cover no-repeat;box-shadow:0 40px 80px -50px rgba(15,17,21,.45)}
.gd-center{text-align:center}
.gd-center .h2{margin-top:0}
.gd-center .lead{margin-top:12px}
.gd-chips{justify-content:center;margin-top:28px}
.gd-chips button small{font-size:12px;font-weight:600;color:var(--mute);margin-left:2px}
.gd-chips button[aria-pressed="true"] small{color:#c9ced6}
.gd-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px;margin-top:28px}
.gd-cards.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(28px,3vw,44px)}
.gd-card{display:block;padding:0;background:none;box-shadow:none;border-radius:0}
.gd-card:hover{transform:none;box-shadow:none}
.gd-card .pic{position:relative;display:block;aspect-ratio:16/10;border-radius:24px;background:#d8dce2 center/cover no-repeat;overflow:hidden;transition:transform .45s var(--ease)}
.gd-card:hover .pic{transform:translateY(-4px)}
.gd-card .pic b{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:rgba(22,24,28,.78);color:#fff;font-size:12.5px;font-weight:600;line-height:1}
.gd-card .bd{display:block;padding:14px 4px 0}
.gd-card .bd .k{display:block;font-size:13.5px;font-weight:600;color:var(--point-d);line-height:1.3}
.gd-card h3{margin:6px 0 0;font-size:17px;line-height:1.45}
.gd-card:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.view .gd-art{padding-top:clamp(56px,6vw,90px)}
.gd-wrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.gd-main{max-width:820px}
.gd-ans{margin:0 0 36px;padding:0 0 28px;border-bottom:1px solid var(--line);font-size:clamp(19px,1.6vw,23px);font-weight:600;line-height:1.6;letter-spacing:-.03em;color:var(--ink);text-wrap:pretty}
.gd-ans b{font-weight:700}
.gd-h3,.gd-text h3{position:relative;margin:48px 0 18px;padding-top:16px;font-size:clamp(20px,1.7vw,24px);font-weight:700;line-height:1.4;letter-spacing:-.035em;color:var(--ink)}
.gd-h3::before,.gd-text h3::before{content:"";position:absolute;left:0;top:0;width:22px;height:2px;background:var(--point)}
.gd-h3{margin-top:0}
.gd-text .gd-q{padding:0;border:0}
.gd-text .gd-q p{max-width:none;font-size:17.5px}
.gd-text .gd-q ul li{font-size:17.5px}
.gx .gx-fg{box-shadow:none;border:1px solid var(--line)}
.gd-band{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:36px;padding:26px 30px;border-radius:24px;background:var(--dark);color:#fff}
.gd-band b{display:block;font-size:19px;font-weight:700;letter-spacing:-.03em;line-height:1.4}
.gd-band span{display:block;margin-top:6px;font-size:15px;color:#aab0b9}
.gd-note{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.75;color:var(--mute)}
.view .gd-moresec .h2{margin-top:0}
@media (max-width:1100px){.gd-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1000px){.gd-wrap{grid-template-columns:1fr}}
@media (max-width:767px){
  .gd-cards,.gd-cards.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .gd-card .pic{border-radius:18px}
  .gd-card .bd{padding-top:10px}
  .gd-card h3{font-size:15px}
  .gd-pic{aspect-ratio:16/10;border-radius:24px}
  .gd-chips{justify-content:flex-start;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
  .gd-center{text-align:left}
  .gd-ans{font-size:18.5px;margin-bottom:28px;padding-bottom:22px}
  .gd-text .gd-q p,.gd-text .gd-q ul li{font-size:16.5px}
  .gd-band{padding:22px;border-radius:20px}
  .gd-band .btn{width:100%}
}

/* 사이트 무드: 하늘빛 그라데이션과 유리 건물 */
.gd-pic{aspect-ratio:7/5;background:linear-gradient(180deg,#b9c4d9 0%,#d3cfdb 38%,#e9d8d4 66%,#f1d9c1 100%);box-shadow:none;overflow:hidden}
.gd-pic svg,.gd-card .pic svg{display:block;width:100%;height:100%}
.gd-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gd-card{padding:10px 10px 22px;border-radius:32px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 60px -44px rgba(15,17,21,.35);transition:transform .45s var(--ease),background .3s}
.gd-card:hover{transform:translateY(-4px);background:#fff;box-shadow:0 30px 60px -44px rgba(15,17,21,.35)}
.gd-card .pic{aspect-ratio:16/9;border-radius:24px;background:linear-gradient(180deg,#b9c4d9 0%,#d3cfdb 38%,#e9d8d4 66%,#f1d9c1 100%)}
.gd-card:hover .pic{transform:none}
.gd-card .bd{padding:18px 14px 0}
.gd-card h3{font-size:18px}
.gd-card:hover h3{text-decoration:none}
.gd-center{text-align:left}
.gd-chips{justify-content:flex-start}
@media (max-width:1000px){.gd-cards,.gd-cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .gd-cards,.gd-cards.three{grid-template-columns:1fr;gap:10px}
  .gd-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;align-items:center;padding:10px 16px 10px 10px;border-radius:26px}
  .gd-card .pic{aspect-ratio:1/1;border-radius:18px}
  .gd-card .pic svg{width:178%;margin-left:-8%}
  .gd-card .bd{padding:0}
  .gd-card h3{font-size:16px}
  .gd-pic{aspect-ratio:7/5}
}

/* 디테일 보정 */
.gd-card .pic{background:var(--bg)}
.gd-card .bd .k i{display:inline-block;width:1px;height:10px;margin:0 8px;background:#b3b8c0;vertical-align:-1px}
.gd-card .bd .k{color:var(--point-d)}
/* 단계: 선을 끝까지 */
.gx .gx-fg-steps{position:relative}
.gx .gx-fg-steps::before{content:"";position:absolute;left:5px;right:0;top:5px;height:2px;border-radius:2px;background:var(--point);opacity:.35}
.gx .gx-fg-steps li::after{display:none}
.gx .gx-fg-steps li{padding-right:24px}
.gx .gx-fg-steps li::before{z-index:1;box-shadow:0 0 0 5px #fff}
.gx .gx-fg-steps b,.gx .gx-fg-steps span{text-wrap:balance}
/* 비교 막대: 구간 길이 같게 */
.gx .gx-fg-tr .gx-bar{display:grid;grid-template-columns:1fr 92px 1fr 92px 1fr;align-items:center;gap:0}
.gx .gx-fg-tr .gx-bar i{height:10px;width:auto}
.gx .gx-fg-tr .gx-bar .gx-on{border-radius:0}
.gx .gx-fg-tr .gx-bar .gx-on:first-child{border-radius:999px 0 0 999px}
.gx .gx-fg-tr .gx-bar .gx-on:last-child{border-radius:0 999px 999px 0}
.gx .gx-fg-tr .gx-bar .gx-no{height:0;border-top:2px dashed #b3bac2}
.gx .gx-fg-tr .gx-bar .gx-no:last-child{position:relative}
.gx .gx-fg-tr .gx-bar em{margin:0 6px;padding:7px 0;text-align:center;font-size:13.5px;white-space:nowrap}
.gx .gx-fg-tr .gx-t{font-size:17.5px}
.gx .gx-fg-tr .gx-d{font-size:15.5px;color:var(--text)}
/* 기한 막대: 설명이 막대 구간과 같은 폭 */
.gx .gx-fg-time .gx-bar,.gx .gx-fg-time .gx-lb{gap:6px}
.gx .gx-fg-time .gx-bar i{height:12px}
/* 줄바꿈 */
.gd-text .ph,.gd-ans .ph,.gx .gx-rv .ph{display:inline-block;text-wrap:pretty}
.gd-text .gd-q p{text-wrap:pretty;word-break:keep-all}
.gd-main{max-width:780px}
.gd-h3,.gd-text h3{text-wrap:balance}
@media (max-width:767px){
  .gd-card .pic svg{width:100%;margin-left:0}
  .gd-card{grid-template-columns:112px minmax(0,1fr)}
  .gx .gx-fg-steps::before{left:4.75px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
  .gx .gx-fg-steps li{padding-right:0}
  .gx .gx-fg-steps li::before{box-shadow:0 0 0 4px #fff}
  .gx .gx-fg-tr .gx-bar{grid-template-columns:1fr 64px 1fr 64px 1fr}
  .gx .gx-fg-tr .gx-bar em{margin:0 4px;font-size:12px;padding:6px 0}
  .gx .gx-fg-tr .gx-bar i{height:8px}
  .gd-text .ph,.gd-ans .ph{display:inline}
}
@media (max-width:767px){
  .gx .gx-fg-bars .gx-r div{min-width:0}
  .gx .gx-fg-bars .gx-r i{width:calc(var(--v)*.78%)}
  .gx .gx-fg-tr .gx-bar{grid-template-columns:1fr 76px 1fr 76px 1fr}
  .gx .gx-fg-list li{background:none}
}

@media (max-width:767px){
  .gd-card{grid-template-columns:116px minmax(0,1fr)}
  .gd-card .pic{overflow:hidden}
  .gd-card .pic svg{width:132%;margin-left:-16%}
}

/* 썸네일: 상세페이지의 3D 장면 */
.gd-card .pic,.gd-pic[class*="sc-"]{position:relative;background:var(--sc) center 58%/82% auto no-repeat,linear-gradient(180deg,#bcc6da 0%,#d3cfdb 38%,#e9d8d4 68%,#f1d9c1 100%)}
.gd-pic[class*="sc-"]{background-size:78% auto,auto;background-position:center 60%,center}
.gd-card .pic b,.gd-pic b{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 13px 0 11px;border-radius:999px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;line-height:1;white-space:nowrap;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.gd-card .pic b i,.gd-pic b i{width:7px;height:7px;border-radius:50%;background:var(--point-l);box-shadow:0 0 0 3px rgba(95,180,188,.25)}
.gd-pic b{right:20px;top:20px;height:36px;padding:0 16px 0 14px;font-size:14px}
.gd-card .pic{aspect-ratio:16/10}
@media (max-width:767px){
  .gd-card{grid-template-columns:120px minmax(0,1fr)}
  .gd-card .pic{aspect-ratio:1/1;background-size:118% auto,auto;background-position:center 55%,center}
  .gd-card .pic b{display:none}
  .gd-pic b{right:14px;top:14px;height:30px;font-size:12.5px}
}
.gd-card .pic b,.gd-pic b{left:auto}
.gd-card .pic{background-size:auto 84%,auto;background-position:center 62%,center}
.gd-pic[class*="sc-"]{background-size:auto 76%,auto;background-position:center 64%,center}
@media (max-width:767px){.gd-card .pic{background-size:auto 86%,auto;background-position:center 58%,center}}

/* 썸네일: 글마다 그린 장면 */
.gd-card .pic,.gd-pic{position:relative;background:linear-gradient(180deg,#bcc6da 0%,#d3cfdb 38%,#e9d8d4 68%,#f1d9c1 100%)!important;overflow:hidden}
.gd-card .pic{aspect-ratio:16/10}
.gd-card .pic svg{display:block;width:100%;height:100%;margin:0}
.gd-pic{aspect-ratio:16/10}
.gd-pic svg{display:block;width:100%;height:100%}

/* 용어 한 줄: 긴 용어가 옆 칸을 넘지 않게 */
#guide-terms .fr{grid-template-columns:minmax(0,300px) minmax(0,1.5fr) minmax(0,1fr);align-items:center}
#guide-terms .fr h3{align-items:flex-start;word-break:keep-all;line-height:1.35}
#guide-terms .fr h3 i{flex:none;margin-top:.5em}
@media (max-width:1000px){#guide-terms .fr{grid-template-columns:1fr;gap:10px}}
@media (max-width:767px){
  .gd-card{grid-template-columns:128px minmax(0,1fr)}
  .gd-card .pic{aspect-ratio:1/1}
  .gd-card .pic svg{width:158%;height:100%;margin-left:-29%}
  .gd-card .pic .tg{display:none}
}

.view .gd-hero .lead .ph{display:inline-block;text-wrap:pretty}
@media (max-width:767px){.view .gd-hero .lead .ph{display:inline}}

.gd-tg{margin:clamp(36px,4vw,56px) 0 0;font-size:14px;font-weight:700;color:var(--point-d);line-height:1}
.gd-tg+.ftable{margin-top:14px}
#guide-terms .sec-top+.gd-tg{margin-top:clamp(36px,4vw,60px)}

.gd-faq{margin:6px 0 0;border-top:1px solid rgba(22,24,28,.14)}
.gd-faq>div{padding:22px 0 24px;border-bottom:1px solid rgba(22,24,28,.1)}
.gd-faq dt{position:relative;padding-left:30px;font-size:clamp(16.5px,1.25vw,18px);font-weight:700;line-height:1.5;letter-spacing:-.03em;color:var(--ink);text-wrap:pretty}
.gd-faq dt::before{content:"Q";position:absolute;left:0;top:0;color:var(--point);font-weight:800}
.gd-faq dd{margin:10px 0 0;padding-left:30px;font-size:clamp(15.5px,1.15vw,17px);line-height:1.8;letter-spacing:-.02em;color:#3d424b}
@media(max-width:760px){.gd-faq>div{padding:18px 0 20px}.gd-faq dt,.gd-faq dd{padding-left:24px}}

/* ---------- 변호사 ---------- */
.view .lw .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 14%}
.view .lw .role{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--point-d);line-height:1.3}
.view .lw ul li{word-break:keep-all}
.view .lw .tags span{height:auto;min-height:28px;padding:5px 11px;line-height:1.35}
@media (max-width:560px){
  .view .lawyers{gap:12px}
  .view .lw{flex-direction:row;border-radius:24px}
  .view .lw .ph{flex:none;width:112px;aspect-ratio:auto;align-self:stretch}
  .view .lw .bd{padding:16px 16px 16px 14px;min-width:0}
  .view .lw .tags{padding-top:10px}
}

#theh-statistics-banner{position:fixed;bottom:24px;left:24px;z-index:150;background:#fff;color:#20334a;box-shadow:0 8px 40px #10243a26;border:1px solid #d8e1eb;border-radius:32px;padding:18px 20px;width:min(390px,calc(100% - 32px));font:14px/1.6 system-ui,sans-serif}#theh-statistics-banner strong{font-size:14px}#theh-statistics-banner p{font-size:13px;line-height:1.6;margin:6px 0 12px;color:#58697d}#theh-statistics-banner>div{display:flex;gap:8px}#theh-statistics-banner button{border:1px solid #c7d2df;border-radius:32px;padding:8px 12px;background:#fff;color:#20334a;font:600 13px/1.5 system-ui;cursor:pointer;min-height:40px}#theh-statistics-banner button:first-child{background:#20334a;color:#fff;border-color:#20334a}@media(max-width:700px){#theh-statistics-banner{left:16px;bottom:calc(84px + env(safe-area-inset-bottom));padding:14px 16px}}


/* 단계 카드 본문: 절 단위 줄바꿈 대신 자연스럽게 흘려 세 줄로 */
.view .tl p{text-wrap:pretty}
.view .tl p .ph{display:inline;text-wrap:inherit}
.view .pool-info p{text-wrap:pretty}
.view .pool-info p .ph{display:inline;text-wrap:inherit}
.crit .cr p,#v-process .stairs .cr dd{text-wrap:pretty}
@media (min-width:768px){
  html[data-apartment-v2] main .view .tl{gap:12px}
  html[data-apartment-v2] main .view .tl li{padding:26px 20px 28px}
  html[data-apartment-v2] main .view .tl p{font-size:14px;letter-spacing:-.01em}
  .view .pool-info div{padding:24px 20px}
}
@media (min-width:768px) and (max-width:1500px){
  html[data-apartment-v2] main .view .tl{gap:10px}
  html[data-apartment-v2] main .view .tl li{padding:24px 17px 26px}
  html[data-apartment-v2] main .view .tl p{font-size:13.5px}
  .view .pool-info p{font-size:14px}
}
/* 분쟁 유형 히어로: 착수금 라벨과 금액 사이 */
html[data-apartment-v2] main .view .sub-hero .fee-badge{gap:5px}
/* 하위 페이지 히어로: 글은 위에서 같은 자리에, 그림은 같은 높이 안에서 가운데 */
@media (min-width:1024px){
  html:not([data-detail-page]) .view .sub-hero .w{align-items:start;min-height:400px}
  html:not([data-detail-page]) .view .sub-hero .w>*:nth-child(2){align-self:center}
  html[data-apartment-v2] main .view .sub-hero h1{min-height:0}
  #v-process .sub-hero .stage3d{aspect-ratio:auto;height:400px}
}
/* 진행 순서 라벨: 탑 위 가운데 */
#v-process .stage3d .tw-cap{left:50%;right:auto;top:26px;transform:translateX(-50%);white-space:nowrap}
/* 비용 04: 네 문장을 카드로 */
#v-fees .claim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(28px,3vw,44px)}
#v-fees .claim>div{padding:28px 32px 30px;border-radius:32px;background:#fff;box-shadow:0 20px 40px -34px rgba(15,17,21,.4)}
#v-fees .claim b{display:block;font-size:13px;font-weight:700;color:var(--point-d);letter-spacing:.02em;line-height:1}
#v-fees .claim p{margin:12px 0 0;font-size:17px;font-weight:500;line-height:1.7;color:var(--ink);letter-spacing:-.02em;text-wrap:pretty}
@media (max-width:767px){
  #v-fees .claim{grid-template-columns:1fr;gap:10px}
  #v-fees .claim>div{padding:22px 22px 24px;box-shadow:none}
  #v-fees .claim p{font-size:15.5px}
}
/* 가이드 카드: 일러스트를 카드 앞면 모서리에 맞춰 둥글게 */
@media (min-width:768px){
  .gd-cards .gd-card{padding:0 0 22px;overflow:hidden}
  .gd-cards .gd-card .pic{border-radius:32px 32px 0 0}
  .gd-cards .gd-card .bd{padding:18px 24px 0}
  .gd-cards .gd-card:hover .pic{transform:none}
  .gd-cards .gd-card:hover{transform:translateY(-3px)}
}


/* 메인 04 조사 발주: 제목 아래 선 없이, 단계 카드와의 간격 조금 줄임 */
.mask-row::after{display:none}
.mask-row{padding-bottom:clamp(14px,1.8vw,22px)}
.proc{padding-block:clamp(26px,3.2vw,52px) clamp(110px,11vw,170px)}
/* 진행 순서 라벨: 3D 화면 왼쪽 위 알약 표시 */
#v-process .stage3d .tw-cap{left:20px;top:20px;transform:none;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;line-height:1}
#v-process .stage3d .tw-cap::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--point-l);box-shadow:0 0 0 4px rgba(95,180,188,.25)}
/* 비용 04 카드: 번호 크게, 글씨 키우고 바탕에 색 */
#v-fees .claim>div{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:18px;align-items:start;padding:30px 32px 32px;background:rgba(15,110,120,.07);box-shadow:none}
#v-fees .claim b{font-size:30px;font-weight:700;letter-spacing:-.04em;color:var(--point-d);line-height:1}
#v-fees .claim p{margin:3px 0 0;font-size:18px;font-weight:600;line-height:1.65;letter-spacing:-.025em}
@media (max-width:767px){
  #v-fees .claim>div{grid-template-columns:40px minmax(0,1fr);column-gap:12px;padding:22px 20px 24px}
  #v-fees .claim b{font-size:24px}
  #v-fees .claim p{font-size:16px}
}
/* 가이드 그림: 모서리를 둥글게 (면 테두리를 같은 색으로 두껍게) */
.gd-card .pic svg polygon,.gd-pic svg polygon{stroke-width:4;stroke-linejoin:round}



/* V10 가이드 본문: 문장 단위 줄바꿈, 상황, 판결 카드, 기간, 어려운 경우, 계산, 도식 */
html body #v-guide .gd-lead .ls{display:block}
html body #v-guide #gdRoot .sb{display:block}
html body #v-guide #gdRoot .cl{display:inline-block;max-width:100%}
html body #v-guide .gd-key{margin:0 0 14px!important;font-size:19px!important;line-height:1.7!important;font-weight:700;color:var(--ink)!important}
html body #v-guide .gd-ref{margin:12px 0 0!important;font-size:14px!important;line-height:1.6!important;color:var(--mute)!important}
#v-guide .gd-scn{margin:0 0 18px;padding:22px 24px;background:#fff;border:0;border-radius:var(--v5-r-sm)}
#v-guide .gd-scn b{display:block;margin-bottom:8px;font-size:14px;color:var(--point-d)}
html body #v-guide .gd-scn p{margin:0;font-size:18px;line-height:1.75;color:var(--ink);word-break:keep-all}
#v-guide .gd-chk{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
#v-guide .gd-chk li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid rgba(22,24,28,.07);font-size:16.5px;line-height:1.7;color:var(--text);word-break:keep-all}
#v-guide .gd-chk li::before{content:"";position:absolute;left:2px;top:17px;width:15px;height:15px;border:1.5px solid var(--mute);border-radius:2px}
#v-guide .gd-jud{padding:22px 0 20px;border-top:1px solid rgba(22,24,28,.1)}
#v-guide .gd-jud:last-of-type{border-bottom:1px solid rgba(22,24,28,.1)}
html body #v-guide .gd-jud .hd{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px}
#v-guide .gd-jud .bd{display:inline-block;padding:3px 10px;font-size:13px;font-weight:700;line-height:1.5;border:1px solid var(--mute);color:var(--text);border-radius:2px}
#v-guide .gd-jud .bd.ok{background:var(--point);border-color:var(--point);color:var(--ink)}
#v-guide .gd-jud .bd.part{border-color:var(--point-d);color:var(--point-d)}
#v-guide .gd-jud .bd.rem{border-color:var(--ink);color:var(--ink)}
#v-guide .gd-jud .mt{font-size:14px;color:var(--mute)}
#v-guide .gd-jud>b{display:block;margin-bottom:6px;font-size:18px;line-height:1.55;color:var(--ink);word-break:keep-all}
html body #v-guide .gd-jud>p{margin:0;font-size:16.5px;line-height:1.75;color:var(--text);word-break:keep-all}
html body #v-guide .gd-jud .res{margin-top:8px;color:var(--ink);font-weight:600}
html body #v-guide .gd-jud+p{margin-top:18px!important}
#v-guide .gd-due{margin:0 0 14px;padding:22px 24px;border:1px solid var(--point-d);border-radius:var(--v5-r-sm)}
#v-guide .gd-due>b{display:block;margin-bottom:6px;font-size:14px;color:var(--point-d)}
#v-guide .gd-due strong{display:block;margin-bottom:6px;font-size:19px;line-height:1.5;color:var(--ink);word-break:keep-all}
html body #v-guide .gd-due p{margin:0;font-size:16.5px;line-height:1.75;color:var(--text)}
#v-guide .gd-x{list-style:none;margin:0 0 14px;padding:0}
#v-guide .gd-x li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid rgba(22,24,28,.07);font-size:16.5px;line-height:1.7;color:var(--text);word-break:keep-all}
#v-guide .gd-x li::before,#v-guide .gd-x li::after{content:"";position:absolute;left:3px;top:25px;width:14px;height:1.5px;background:var(--mute);transform:rotate(45deg)}
#v-guide .gd-x li::after{transform:rotate(-45deg)}
#v-guide .gd-calc{margin:20px 0 14px;padding:8px 24px 10px;background:#fff;border:0;border-radius:var(--v5-r-sm)}
#v-guide .gd-calc>b{display:block;padding:14px 0 10px;font-size:14px;color:var(--mute)}
#v-guide .gd-calc div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid rgba(22,24,28,.07);font-size:16.5px;color:var(--text)}
#v-guide .gd-calc em{font-style:normal;font-weight:700;color:var(--ink);text-align:right}
#v-guide .gd-calc div:last-child em{color:var(--point-d)}
#v-guide .gd-calc.pl div:last-child em{color:var(--ink)}
html body #v-guide .gd-list,html body #v-guide .gd-steps{margin-bottom:14px}
/* 단계 도식 */
html body #v-guide .gd-dg{margin:14px 0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important}
html body #v-guide .gd-dg-lab{display:none!important}
html body #v-guide .gd-dg-h{margin:0 0 6px!important;font-size:17px!important;font-weight:700;line-height:1.7;color:var(--ink)}
html body #v-guide .gd-stp{display:block!important;margin-top:8px!important}
html body #v-guide .gd-stp .s{display:grid!important;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-items:start;flex:none;border:0!important;border-bottom:1px solid rgba(22,24,28,.07)!important;margin:0!important;padding:16px 0!important}
html body #v-guide .gd-stp .s>*{display:block;grid-column:2;margin:0!important}
html body #v-guide .gd-stp .s .n{grid-column:1;grid-row:1/span 3;width:32px;height:32px;display:grid!important;place-items:center;border:1px solid var(--mute);font-size:15px!important;font-weight:700;letter-spacing:0!important;color:var(--ink)!important;font-variant-numeric:tabular-nums}
html body #v-guide .gd-stp .s .w{grid-row:1;font-size:14px!important;line-height:1.6;color:var(--mute)!important}
html body #v-guide .gd-stp .s .w:empty{display:none}
html body #v-guide .gd-stp .s b{grid-row:2;font-size:17px!important;line-height:1.6;color:var(--ink)}
html body #v-guide .gd-stp .s .v{grid-row:3;margin-top:2px!important;font-size:16.5px!important;line-height:1.75!important;color:var(--text)!important;word-break:keep-all}
html body #v-guide .gd-stp .s.on{margin:10px -17px!important;padding:18px 16px!important;background:rgba(15,110,120,.16)!important;border:1px solid var(--point)!important;border-radius:var(--v5-r-sm)}
html body #v-guide .gd-stp .s.on .n{background:var(--point);border-color:var(--point)}
html body #v-guide .gd-stp .s.on .w{justify-self:start;padding:1px 9px;background:var(--point);color:var(--ink)!important;font-weight:700;border-radius:2px;margin-bottom:6px!important}
html body #v-guide .gd-stp .s.on .v{color:var(--ink)!important}
html body #v-guide .gd-tl-pt.o,html body #v-guide .gd-tl-lb.o::before{background:#fff!important}
html body #v-guide .gd-reg{margin-top:8px!important}
/* 가로로 이어지는 상자 */
#v-guide .gd-chain{display:flex;align-items:stretch;margin:18px 0 14px}
#v-guide .gd-chain .c{flex:1 1 0;min-width:0;padding:16px 18px;background:#fff;border:0;border-radius:var(--v5-r-sm)}
#v-guide .gd-chain .c b{display:block;font-size:17px;line-height:1.5;color:var(--ink);word-break:keep-all}
#v-guide .gd-chain .c span{display:block;margin-top:4px;font-size:15px;line-height:1.6;color:var(--text);word-break:keep-all}
#v-guide .gd-chain .c.on{background:rgba(15,110,120,.16);border-color:var(--point)}
#v-guide .gd-chain .c.on span{color:var(--ink)}
#v-guide .gd-chain .a{flex:none;width:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;line-height:1.4;color:var(--point-d);font-weight:700;text-align:center;word-break:keep-all}
#v-guide .gd-chain .a::after{content:"";width:22px;height:10px;background:var(--mute);clip-path:polygon(0 40%,70% 40%,70% 0,100% 50%,70% 100%,70% 60%,0 60%)}
/* 나란히 비교 */
#v-guide .gd-vs{display:grid;gap:12px;margin:18px 0 14px}
#v-guide .gd-vs.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
#v-guide .gd-vs.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
#v-guide .gd-vs.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
#v-guide .gd-vs .k{padding:20px 20px 16px;background:#fff;border:0;border-radius:var(--v5-r-sm)}
#v-guide .gd-vs .k.on{background:rgba(15,110,120,.16);border-color:var(--point)}
#v-guide .gd-vs em{display:block;margin-bottom:6px;font-style:normal;font-size:14px;color:var(--mute)}
#v-guide .gd-vs .k.on em{color:var(--point-d)}
#v-guide .gd-vs b{display:block;margin-bottom:8px;font-size:18px;line-height:1.5;color:var(--ink);word-break:keep-all}
#v-guide .gd-vs ul{list-style:none;margin:0;padding:0}
#v-guide .gd-vs li{padding:6px 0;border-top:1px solid rgba(22,24,28,.07);font-size:15.5px;line-height:1.65;color:var(--text);word-break:keep-all}
/* 계산식 */
#v-guide .gd-eq{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:18px 0 14px}
#v-guide .gd-eq .t{padding:10px 16px;background:#fff;border:0;border-radius:var(--v5-r-sm);font-size:16.5px;font-weight:700;color:var(--ink);white-space:nowrap}
#v-guide .gd-eq .t.r{background:rgba(15,110,120,.16);border-color:var(--point)}
#v-guide .gd-eq i{font-style:normal;font-size:19px;color:var(--mute)}
/* 길이 막대 */
#v-guide .gd-bars{margin:18px 0 14px}
#v-guide .gd-bars .r{display:grid;grid-template-columns:minmax(120px,32%) minmax(0,1fr);gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(22,24,28,.07)}
#v-guide .gd-bars .r>span{font-size:16.5px;font-weight:700;color:var(--ink);word-break:keep-all}
#v-guide .gd-bars .r>div{display:flex;align-items:center;gap:10px;min-width:0}
#v-guide .gd-bars i{flex:0 1 auto;min-width:8px;height:22px;background:var(--mute);border-radius:2px}
#v-guide .gd-bars .r.on i{background:var(--point)}
#v-guide .gd-bars em{flex:none;font-style:normal;font-size:16.5px;font-weight:700;color:var(--ink);white-space:nowrap}
html body #v-guide .gd-bars .cap{margin:10px 0 0;font-size:14px;color:var(--mute)}
/* 일조 시간 */
#v-guide .gd-hr{margin:18px 0 14px;padding:20px 22px 8px;background:#fff;border:0;border-radius:var(--v5-r-sm)}
#v-guide .gd-hr .tk{display:flex;justify-content:space-between;margin-bottom:10px;font-size:13px;color:var(--mute);font-variant-numeric:tabular-nums}
#v-guide .gd-hr .row{height:18px;background:rgba(22,24,28,.07);border-radius:2px}
#v-guide .gd-hr .row i{display:block;height:100%;background:var(--point);border-radius:2px}
html body #v-guide .gd-hr p{margin:8px 0 16px;font-size:16px;line-height:1.6;color:var(--text)}
#v-guide .gd-hr p b{color:var(--ink)}
/* 두 갈래 순서: 번호와 글 줄맞춤 */
html body #v-guide .gd-flow ol{margin:0;padding:0;list-style:none;counter-reset:fl}
html body #v-guide .gd-flow li{counter-increment:fl;display:grid;grid-template-columns:26px minmax(0,1fr);padding:7px 0;border-top:1px solid rgba(22,24,28,.07)}
html body #v-guide .gd-flow li::before{content:counter(fl);font-weight:700;color:var(--point-d);font-variant-numeric:tabular-nums}
html body #v-guide .gd-flow h3{margin:0 0 10px}
html body #v-guide .gd-flow li small{grid-column:2;display:block;margin-top:2px;font-size:14px;line-height:1.6;color:var(--mute);word-break:keep-all}
@media (max-width:900px){
#v-guide .gd-chk{grid-template-columns:1fr}
#v-guide .gd-scn,#v-guide .gd-due{padding:18px}
html body #v-guide .gd-scn p{font-size:17px}
html body #v-guide .gd-key{font-size:18px!important}
#v-guide .gd-jud>b{font-size:17px}
#v-guide .gd-calc{padding:6px 18px 8px}
#v-guide .gd-calc div{flex-direction:column;gap:2px}
#v-guide .gd-calc em{text-align:left}
html body #v-guide .gd-stp .s{padding:14px 0!important}
html body #v-guide .gd-stp .s.on{margin:8px -13px!important;padding:14px 12px!important}
#v-guide .gd-chain{flex-direction:column}
#v-guide .gd-chain .a{width:auto;height:46px;flex-direction:row;gap:8px}
#v-guide .gd-chain .a::after{transform:rotate(90deg)}
#v-guide .gd-vs.n2,#v-guide .gd-vs.n3,#v-guide .gd-vs.n4{grid-template-columns:1fr}
#v-guide .gd-eq .t{padding:8px 12px;font-size:15.5px}
#v-guide .gd-bars .r{grid-template-columns:1fr;gap:6px}
#v-guide .gd-hr{padding:16px 14px 4px}
#v-guide .gd-hr .tk{font-size:11px}
}
/* 판결 카드: 상황, 판단, 결과를 줄로 나눔 */
html body #v-guide #gdRoot .gd-jud{margin:0 0 12px;padding:22px 24px 16px;background:#fff;border:0;border-radius:var(--v5-r-sm)}
html body #v-guide #gdRoot .gd-jud .jh{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px!important}
html body #v-guide #gdRoot .gd-jud .jh .bd{flex:none;margin-top:3px}
html body #v-guide #gdRoot .gd-jud .jh b{font-size:19px;line-height:1.5;color:var(--ink);word-break:keep-all}
html body #v-guide #gdRoot .gd-jud dl{margin:0}
html body #v-guide #gdRoot .gd-jud dl>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 12px;padding:11px 0;border-top:1px solid rgba(22,24,28,.07)}
html body #v-guide #gdRoot .gd-jud dt{font-size:14px;line-height:1.9;color:var(--mute)}
html body #v-guide #gdRoot .gd-jud dd,html body #v-guide #gdRoot .gd-jud dd span{text-wrap:pretty}
html body #v-guide #gdRoot .gd-jud dd{margin:0;font-size:16.5px;line-height:1.7;color:var(--text);word-break:keep-all}
html body #v-guide #gdRoot .gd-jud .r dd{color:var(--ink)}
html body #v-guide #gdRoot .gd-jud .o dd{color:var(--ink);font-weight:700}
html body #v-guide #gdRoot .gd-jud .jm{margin:0!important;padding-top:11px;border-top:1px solid rgba(22,24,28,.07);font-size:13px!important;line-height:1.6!important;color:var(--mute)!important}
html body #v-guide #gdRoot .gd-jud+p{margin-top:18px!important}
@media (max-width:900px){
html body #v-guide #gdRoot .gd-jud{padding:18px 16px 12px}
html body #v-guide #gdRoot .gd-jud .jh{flex-direction:column;gap:8px}
html body #v-guide #gdRoot .gd-jud .jh .bd{margin-top:0}
html body #v-guide #gdRoot .gd-jud .jh b{font-size:17.5px}
html body #v-guide #gdRoot .gd-jud dl>div{grid-template-columns:38px minmax(0,1fr);gap:0 8px}
html body #v-guide #gdRoot .gd-jud dd{font-size:16px}
}
/* 접어 두는 자세한 내용 */
html body #v-guide #gdRoot .gd-acc{border-top:1px solid rgba(22,24,28,.07)}
html body #v-guide #gdRoot .gd-acc:last-of-type{border-bottom:1px solid rgba(22,24,28,.07)}
html body #v-guide #gdRoot .gd-acc summary{list-style:none;cursor:pointer;position:relative;padding:17px 36px 17px 0;font-size:17px;font-weight:700;line-height:1.5;color:var(--ink);word-break:keep-all}
html body #v-guide #gdRoot .gd-acc summary::-webkit-details-marker{display:none}
html body #v-guide #gdRoot .gd-acc summary::before,html body #v-guide #gdRoot .gd-acc summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:2px;margin-top:-1px;background:var(--mute);transition:transform .15s}
html body #v-guide #gdRoot .gd-acc summary::after{transform:rotate(90deg)}
html body #v-guide #gdRoot .gd-acc[open] summary::after{transform:rotate(0)}
html body #v-guide #gdRoot .gd-acc>div{padding:2px 0 20px}
html body #v-guide #gdRoot .gd-acc>div>:last-child{margin-bottom:0}
html body #v-guide #gdRoot .gd-acc+p{margin-top:22px!important}
html body #v-guide #gdRoot .gd-chk+p{margin-top:22px!important}
/* 진행선 */
#v-guide .gd-trk{display:flex;margin:22px 0 20px}
#v-guide .gd-trk .st{flex:1 1 0;min-width:0;position:relative;padding:26px 14px 0 0}
#v-guide .gd-trk .st::before{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:rgba(22,24,28,.1)}
#v-guide .gd-trk .st:last-child::before{right:auto;width:14px}
#v-guide .gd-trk .st i{position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--point)}
#v-guide .gd-trk .st.on i{background:var(--point);border-color:var(--point);box-shadow:0 0 0 5px rgba(15,110,120,.25)}
#v-guide .gd-trk .st b{display:block;font-size:17px;line-height:1.5;color:var(--ink);word-break:keep-all}
#v-guide .gd-trk .st span{display:block;margin-top:3px;font-size:14.5px;line-height:1.6;color:var(--mute);word-break:keep-all}
#v-guide .gd-trk .st.on span{color:var(--ink)}
/* 갈림 */
#v-guide .gd-fork{margin:22px 0 20px}
html body #v-guide #gdRoot .gd-fork .q{margin:0!important;padding:16px 20px;background:#fff;border:0;border-radius:var(--v5-r-sm);font-size:17px!important;font-weight:700;line-height:1.5;color:var(--ink);text-align:center;word-break:keep-all}
#v-guide .gd-fork .br{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:32px}
#v-guide .gd-fork .br::before{content:"";position:absolute;left:50%;top:0;width:1px;height:16px;margin-left:-.5px;background:rgba(22,24,28,.1)}
#v-guide .gd-fork .br::after{content:"";position:absolute;left:calc(25% - 3px);right:calc(25% - 3px);top:16px;height:1px;background:rgba(22,24,28,.1)}
#v-guide .gd-fork .k{position:relative;padding:16px 20px 18px;background:#fff;border:0;border-radius:var(--v5-r-sm)}
#v-guide .gd-fork .k::before{content:"";position:absolute;left:50%;top:-17px;width:1px;height:16px;margin-left:-.5px;background:rgba(22,24,28,.1)}
#v-guide .gd-fork .k em{display:block;margin-bottom:6px;font-style:normal;font-size:14px;line-height:1.5;color:var(--mute)}
#v-guide .gd-fork .k b{display:block;font-size:18px;line-height:1.5;color:var(--ink);word-break:keep-all}
#v-guide .gd-fork .k span{display:block;margin-top:4px;font-size:15px;line-height:1.65;color:var(--text);word-break:keep-all}
#v-guide .gd-fork .k.on{background:rgba(15,110,120,.16);border-color:var(--point)}
#v-guide .gd-fork .k.on em{color:var(--point-d)}
#v-guide .gd-fork .k.on span{color:var(--ink)}
/* 두 시점 사이 */
#v-guide .gd-span{display:flex;align-items:stretch;margin:22px 0 20px;border:1px solid rgba(22,24,28,.1);border-radius:var(--v5-r-sm);overflow:hidden;background:#fff}
#v-guide .gd-span .e{flex:0 0 26%;padding:16px 18px}
#v-guide .gd-span .e b{display:block;font-size:17px;line-height:1.5;color:var(--ink);word-break:keep-all}
#v-guide .gd-span .e span{text-wrap:balance;display:block;margin-top:3px;font-size:14.5px;line-height:1.6;color:var(--text);word-break:keep-all}
#v-guide .gd-span .m{text-wrap:balance;flex:1;display:flex;align-items:center;justify-content:center;padding:14px 18px;background:rgba(15,110,120,.22);border-left:1px solid var(--point);border-right:1px solid var(--point);font-size:16px;font-weight:700;line-height:1.6;color:var(--ink);text-align:center;word-break:keep-all}
/* 서류 모양 */
#v-guide .gd-doc{margin:22px 0 20px;border:1px solid rgba(22,24,28,.1);border-radius:var(--v5-r-sm);overflow:hidden}
html body #v-guide #gdRoot .gd-doc .t{margin:0!important;padding:11px 20px;background:rgba(22,24,28,.07);font-size:14px!important;font-weight:700;line-height:1.5!important;color:var(--text)!important}
#v-guide .gd-doc .r{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:15px 20px;border-top:1px solid rgba(22,24,28,.07);background:#fff}
#v-guide .gd-doc .r b{font-size:17px;color:var(--ink)}
#v-guide .gd-doc .r span{font-size:15.5px;line-height:1.6;color:var(--mute);word-break:keep-all}
#v-guide .gd-doc .r em{font-style:normal;padding:5px 12px;background:var(--point);border-radius:2px;font-size:14.5px;font-weight:700;line-height:1.5;color:var(--ink);word-break:keep-all}
#v-guide .gd-doc .r.on{background:rgba(15,110,120,.14)}
#v-guide .gd-doc .r.on span{color:var(--text)}
/* 여럿이 하나로 */
#v-guide .gd-gat{display:flex;align-items:center;margin:22px 0 20px}
#v-guide .gd-gat .l{flex:1 1 0;display:grid;gap:8px}
#v-guide .gd-gat .c{padding:12px 16px;background:#fff;border:0;border-radius:var(--v5-r-sm);font-size:16px;font-weight:700;line-height:1.5;color:var(--ink);word-break:keep-all}
#v-guide .gd-gat .a{flex:none;width:28px;height:12px;margin:0 16px;background:var(--mute);clip-path:polygon(0 40%,70% 40%,70% 0,100% 50%,70% 100%,70% 60%,0 60%)}
#v-guide .gd-gat .res{flex:1 1 0;padding:20px;background:rgba(15,110,120,.16);border:1px solid var(--point);border-radius:var(--v5-r-sm)}
#v-guide .gd-gat .res b{display:block;font-size:18px;line-height:1.5;color:var(--ink);word-break:keep-all}
#v-guide .gd-gat .res span{display:block;margin-top:4px;font-size:15px;line-height:1.6;color:var(--ink);word-break:keep-all}
@media (max-width:900px){
#v-guide .gd-trk{display:block}
#v-guide .gd-trk .st{padding:0 0 18px 30px}
#v-guide .gd-trk .st::before{left:7px;right:auto;top:8px;bottom:-8px;width:2px;height:auto}
#v-guide .gd-trk .st:last-child::before{display:none}
#v-guide .gd-trk .st:last-child{padding-bottom:0}
#v-guide .gd-trk .st i{top:5px}
#v-guide .gd-fork .br{grid-template-columns:1fr;gap:10px;padding-top:16px}
#v-guide .gd-fork .br::after{display:none}
#v-guide .gd-fork .k::before{display:none}
#v-guide .gd-fork .k{padding:14px 16px 16px}
#v-guide .gd-span{display:block}
#v-guide .gd-span .m{border:0;border-top:1px solid var(--point);border-bottom:1px solid var(--point);padding:16px}
#v-guide .gd-span .e{padding:14px 16px}
#v-guide .gd-doc .r{grid-template-columns:auto minmax(0,1fr);padding:14px 16px}
#v-guide .gd-doc .r b{white-space:nowrap}
#v-guide .gd-doc .r em{grid-column:1/-1;justify-self:start;margin-top:4px}
#v-guide .gd-gat{display:block}
#v-guide .gd-gat .a{margin:12px auto;transform:rotate(90deg)}
}


html body #v-guide .gd-pts{list-style:none!important;margin:0 0 18px!important;padding:0!important}
html body #v-guide .gd-pts li{position:relative;padding:11px 0 11px 22px!important;margin:0!important;border-bottom:1px solid rgba(22,24,28,.07);font-size:16.5px;line-height:1.7;color:var(--text);word-break:keep-all}
html body #v-guide .gd-pts li:last-child{border-bottom:0}
html body #v-guide .gd-pts li::before{content:"";position:absolute;left:3px;top:21px;width:6px;height:6px;background:var(--mute)}
html body #v-guide .gd-pts li .sb{display:inline!important}
@media (max-width:640px){html body #v-guide .gd-pts li{font-size:16px;padding:10px 0 10px 20px!important}html body #v-guide .gd-pts li::before{top:20px}}


/* 공통 위아래 여백 */
html body #v-guide .gd-chain,html body #v-guide .gd-vs,html body #v-guide .gd-eq,html body #v-guide .gd-bars,html body #v-guide .gd-trk,html body #v-guide .gd-span,html body #v-guide .gd-fork,html body #v-guide .gd-doc,html body #v-guide .gd-gat,html body #v-guide .gd-dg{margin:26px 0 24px!important}
html body #v-guide .gd-key{margin-bottom:20px!important}
html body #v-guide .gd-key + p{margin-top:-6px}

/* 흐름 상자 */
html body #v-guide .gd-chain .c{padding:20px 22px!important}
html body #v-guide .gd-chain .c span{margin-top:6px!important}
html body #v-guide .gd-chain .a{width:auto!important;min-width:112px;max-width:150px;padding:0 16px!important;gap:8px!important;font-size:13.5px!important;line-height:1.45!important}

/* 진행선 */
html body #v-guide .gd-trk .st{padding-right:28px!important}
html body #v-guide .gd-trk .st b{margin-top:2px}
html body #v-guide .gd-trk .st span{margin-top:6px!important;line-height:1.65!important}

/* 나란히 비교 */
html body #v-guide .gd-vs{gap:14px!important}
html body #v-guide .gd-vs .k{padding:22px 24px 18px!important}
html body #v-guide .gd-vs b{margin-bottom:10px!important}
html body #v-guide .gd-vs em{margin-bottom:8px!important}
html body #v-guide .gd-vs li{padding:9px 0!important}

/* 두 시점 사이 */
html body #v-guide .gd-span .e{padding:20px 24px!important}
html body #v-guide .gd-span .e span{margin-top:6px!important}
html body #v-guide .gd-span .m{padding:20px 28px!important}

/* 갈림 */
html body #v-guide .gd-fork .q{padding:18px 24px!important}
html body #v-guide .gd-fork .br{gap:14px!important}
html body #v-guide .gd-fork .k{padding:20px 24px 22px!important}
html body #v-guide .gd-fork .k em{margin-bottom:8px!important}
html body #v-guide .gd-fork .k span{margin-top:6px!important}

/* 서류 모양: 빨간 면을 줄이고 확인할 것만 표시 */
html body #v-guide .gd-doc .t{padding:13px 24px!important}
html body #v-guide .gd-doc .r{padding:18px 24px!important;column-gap:20px!important;background:#fff!important}
html body #v-guide .gd-doc .r em{padding:5px 12px!important;background:transparent!important;border:1px solid var(--point);color:var(--point-d)!important;font-weight:700}

/* 자료 모음 */
html body #v-guide .gd-gat .l{gap:10px!important}
html body #v-guide .gd-gat .c{padding:14px 20px!important}
html body #v-guide .gd-gat .a{margin:0 22px!important}
html body #v-guide .gd-gat .res{padding:22px 24px!important}
html body #v-guide .gd-gat .res span{margin-top:6px!important}

/* 계산식 */
html body #v-guide .gd-eq{gap:12px 14px!important}
html body #v-guide .gd-eq .t{padding:12px 18px!important}

/* 막대 */
html body #v-guide .gd-bars .r{padding:13px 0!important;gap:18px!important}
html body #v-guide .gd-bars .r>div{gap:14px!important;padding-right:12px}
html body #v-guide .gd-bars i{height:18px!important}
html body #v-guide .gd-bars em{white-space:normal!important;word-break:keep-all;max-width:46%;line-height:1.45}
html body #v-guide .gd-bars .cap{margin-top:12px!important}

/* 단계 */
html body #v-guide .gd-stp .s{padding:18px 0!important;column-gap:14px!important}
html body #v-guide .gd-stp .s .v{margin-top:4px!important}

@media (max-width:900px){
  html body #v-guide .gd-chain,html body #v-guide .gd-vs,html body #v-guide .gd-eq,html body #v-guide .gd-bars,html body #v-guide .gd-trk,html body #v-guide .gd-span,html body #v-guide .gd-fork,html body #v-guide .gd-doc,html body #v-guide .gd-gat,html body #v-guide .gd-dg{margin:22px 0 20px!important}
  html body #v-guide .gd-chain .c{padding:18px 20px!important}
  html body #v-guide .gd-chain .a{min-width:0;max-width:none;height:54px!important;padding:0!important;gap:10px!important}
  html body #v-guide .gd-trk .st{padding:0 0 22px 32px!important}
  html body #v-guide .gd-vs .k{padding:20px 20px 16px!important}
  html body #v-guide .gd-span .e{padding:18px 20px!important}
  html body #v-guide .gd-span .m{padding:18px 20px!important}
  html body #v-guide .gd-fork .k{padding:18px 20px 20px!important}
  html body #v-guide .gd-doc .r{padding:16px 18px!important;column-gap:14px!important}
  html body #v-guide .gd-doc .r em{margin-top:6px!important}
  html body #v-guide .gd-gat .a{margin:14px auto!important}
  html body #v-guide .gd-eq{gap:10px 12px!important}
  html body #v-guide .gd-eq .t{padding:10px 14px!important}
  html body #v-guide .gd-bars .r{gap:8px!important;padding:12px 0!important}
  html body #v-guide .gd-bars em{max-width:55%}
  html body #v-guide .gd-stp .s{padding:16px 0!important}
}


/* 신문고 사건 상세와 같은 어두운 톤 */
#v-guide{color:var(--text)}
#v-guide .gd-in{max-width:1166px;margin:0 auto;padding:0 clamp(20px,4vw,40px);box-sizing:content-box}
#v-guide .gd-crumb{margin:0 0 18px;font-size:14px;color:var(--mute)}
#v-guide .gd-crumb a{color:var(--text);text-decoration:none}
#v-guide .gd-crumb span{margin:0 8px;color:var(--mute)}
#v-guide .gd-body{padding:clamp(40px,5vw,64px) 0 clamp(64px,8vw,110px);background:#fff}
#v-guide .gd-tool{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid rgba(22,24,28,.07)}
#v-guide .gd-total{margin:0;font-size:16px;color:var(--text)}
#v-guide .gd-total b{margin:0 2px 0 6px;font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
#v-guide .gd-find{display:flex;align-items:center;gap:10px;width:min(420px,100%);height:52px;border-bottom:1px solid rgba(22,24,28,.1);color:var(--text)}
#v-guide .gd-find input{flex:1;min-width:0;height:100%;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);outline:none}
#v-guide .gd-find input::placeholder{color:var(--mute)}
#v-guide .gd-find:focus-within{border-bottom-color:var(--ink)}
#v-guide .gd-count{margin:0 0 20px;font-size:15px;color:var(--mute)}
#v-guide .gd-count b{color:var(--ink)}
#v-guide .gd-empty{padding:40px 0}
#v-guide .gd-empty p{margin:0 0 18px;font-size:17px;color:var(--text)}
#v-guide .gd-inlink{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:4px}
/* 이미지형 카드 */
.gc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.gc a{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}
.gc-img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#fff}
.gc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.gc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55))}
.gc-img em{position:absolute;left:14px;bottom:12px;z-index:1;padding:5px 10px;background:var(--point);color:var(--ink);font-style:normal;font-size:13.5px;font-weight:700}
.gc a:hover img{transform:scale(1.04)}
.gc b{font-size:clamp(18px,1.5vw,20px);line-height:1.45;letter-spacing:-.02em;word-break:keep-all}
.gc a:hover b{text-decoration:underline;text-underline-offset:4px}
.gc small{font-size:14.5px;color:var(--mute)}
#v-guide .gc b{color:var(--ink)}
#v-guide .gc small{color:var(--mute)}
/* 버튼 */
#v-guide .gd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 22px;font-size:16px;font-weight:700;text-decoration:none;box-sizing:border-box}
#v-guide .gd-btn.red{background:var(--point);color:var(--ink)}
#v-guide .gd-btn.red:hover{background:var(--point-d)}
#v-guide .gd-btn.line{border:1px solid rgba(22,24,28,.1);color:var(--ink);background:transparent}
#v-guide .gd-btn.line:hover{border-color:var(--ink)}
/* 상세 상단 */
#v-guide .gd-dhero{position:relative;padding:clamp(120px,13vw,160px) 0 clamp(44px,5vw,64px);background:var(--bg);border-bottom:1px solid rgba(22,24,28,.07);overflow:hidden}
#v-guide .gd-dhero::before{content:"";position:absolute;inset:0;background:var(--gd-img) center/cover no-repeat;opacity:.22}
#v-guide .gd-dhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(239,241,244,.55),var(--bg) 92%)}
#v-guide .gd-dhero .gd-in{position:relative;z-index:1}
#v-guide .gd-back{display:inline-block;margin-bottom:28px;font-size:15.5px;font-weight:600;color:var(--text);text-decoration:none}
#v-guide .gd-back:hover{color:var(--ink)}
#v-guide .gd-cat{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:700;color:var(--point-d)}
#v-guide .gd-cat span{padding-left:10px;border-left:1px solid rgba(22,24,28,.1);color:var(--text);font-weight:600}
#v-guide .gd-dhero h1{max-width:820px;margin:0 0 18px;font-size:clamp(28px,3.4vw,42px);line-height:1.35;letter-spacing:-.03em;color:var(--ink);word-break:keep-all}
#v-guide .gd-lead{max-width:760px;margin:0 0 22px;font-size:18px;line-height:1.8;color:var(--text);word-break:keep-all}
#v-guide .gd-by{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;color:var(--mute)}
#v-guide .gd-by span{width:1px;height:12px;background:rgba(22,24,28,.1)}
/* 상세 본문 */
#v-guide .gd-grid{display:grid;grid-template-columns:220px minmax(0,800px);gap:clamp(32px,5vw,80px);align-items:start}
#v-guide .gd-toc{position:sticky;top:110px}
#v-guide .gd-toc summary{font-size:15px;font-weight:700;color:var(--ink);list-style:none;cursor:pointer;margin-bottom:12px}
#v-guide .gd-toc summary::-webkit-details-marker{display:none}
#v-guide .gd-toc ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(22,24,28,.07)}
#v-guide .gd-toc a{display:grid;grid-template-columns:28px minmax(0,1fr);padding:11px 0;border-bottom:1px solid rgba(22,24,28,.07);font-size:15px;line-height:1.5;color:var(--text);text-decoration:none;word-break:keep-all}
#v-guide .gd-toc a em{font-style:normal;font-weight:700;color:var(--point-d);font-variant-numeric:tabular-nums}
#v-guide .gd-toc a:hover{color:var(--ink)}
#v-guide article section{padding:0 0 52px;scroll-margin-top:100px}
#v-guide article section > h2{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:baseline;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid rgba(22,24,28,.07);font-size:clamp(21px,2vw,25px);letter-spacing:-.02em;color:var(--ink);word-break:keep-all}
#v-guide article section > h2 em{font-style:normal;font-size:.8em;color:var(--point-d);font-variant-numeric:tabular-nums}
#v-guide article p{margin:0 0 14px;font-size:17px;line-height:1.85;color:var(--text);word-break:keep-all}
#v-guide .gd-list{margin:0;padding:0;list-style:none}
#v-guide .gd-list li{position:relative;padding:12px 0 12px 20px;border-bottom:1px solid rgba(22,24,28,.07);font-size:17px;line-height:1.7;color:var(--text);word-break:keep-all}
#v-guide .gd-list li::before{content:"";position:absolute;left:2px;top:24px;width:6px;height:6px;background:var(--point-d)}
#v-guide .gd-box{margin:20px 0 6px;padding:20px 22px;border:1px solid rgba(22,24,28,.07);background:#fff}
#v-guide .gd-box b{display:block;margin-bottom:6px;font-size:16.5px;color:var(--ink)}
#v-guide .gd-box p{margin:0;font-size:16.5px}
#v-guide .gd-steps{list-style:none;margin:0;padding:0;counter-reset:gd}
#v-guide .gd-steps li{counter-increment:gd;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;padding:16px 0;border-bottom:1px solid rgba(22,24,28,.07)}
#v-guide .gd-steps li::before{content:counter(gd);grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;background:var(--point);color:var(--ink);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
#v-guide .gd-steps b{font-size:17px;line-height:32px;color:var(--ink)}
#v-guide .gd-steps span{margin-top:2px;font-size:16.5px;line-height:1.75;color:var(--text);word-break:keep-all}
#v-guide .gd-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#v-guide .gd-flow > div{padding:22px;border:1px solid rgba(22,24,28,.07);background:#fff}
#v-guide .gd-flow h3{margin:0 0 12px;font-size:17px;color:var(--ink)}
#v-guide .gd-flow ol{margin:0;padding-left:20px;color:var(--point-d)}
#v-guide .gd-flow li{padding:5px 0;font-size:16.5px;line-height:1.65;color:var(--text);word-break:keep-all}
#v-guide .gd-cta{margin:12px 0 22px;padding:30px;border:1px solid rgba(22,24,28,.1);background:#fff}
#v-guide .gd-cta b{display:block;font-size:21px;color:var(--ink);margin-bottom:8px}
#v-guide .gd-cta p{color:var(--text);font-size:16.5px;margin:0 0 20px}
#v-guide .gd-cta div{display:flex;gap:8px;flex-wrap:wrap}
#v-guide .gd-note,#v-guide .gd-src{font-size:15px!important;line-height:1.7!important;color:var(--mute)!important;margin:0 0 6px!important}
#v-guide .gd-more-h{margin:56px 0 20px;font-size:22px;color:var(--ink)}
#v-guide .gd-list-btn{margin-top:40px}
/* 줄바꿈: 쉼표 단위 묶음, 제목은 줄 길이 고르게, 본문은 마지막 줄 한 단어 방지 */
.tw{display:inline-block}
#v-guide .gd-lead{max-width:720px}
@media (max-width:900px){
 .gc-grid{grid-template-columns:1fr 1fr}
 #v-guide .gd-grid{grid-template-columns:1fr;gap:36px}
 #v-guide .gd-toc{position:static;padding:16px 18px;border:1px solid rgba(22,24,28,.07);background:#fff}
 #v-guide .gd-toc details:not([open]) summary{margin-bottom:0}
 #v-guide .gd-toc summary::after{content:"접기";float:right;font-weight:600;font-size:14px;color:var(--mute)}
 #v-guide .gd-toc details:not([open]) summary::after{content:"펼치기"}
}
@media (max-width:600px){
 .gc-grid{grid-template-columns:1fr}
 #v-guide .gd-flow{grid-template-columns:1fr}
 #v-guide .gd-lead{font-size:17px}
 #v-guide article p,#v-guide .gd-list li{font-size:16.5px}
 #v-guide article section > h2{grid-template-columns:36px minmax(0,1fr)}
 #v-guide .gd-steps li{grid-template-columns:40px minmax(0,1fr)}
 #v-guide .gd-cta{padding:24px 18px}
 #v-guide .gd-cta div{flex-direction:column}
 #v-guide .gd-btn{width:100%}
 #v-guide .gd-by{flex-wrap:wrap}
 #v-guide .gd-total{display:none}
 #v-guide .gd-find{width:100%}
}

/* 가이드 도식 */
#v-guide .gd-dg{margin:22px 0;padding:28px 30px 26px;background:#fff;border:0;border-radius:var(--v5-r-sm)}
#v-guide .gd-dg-lab{margin:0;font-size:12px;letter-spacing:2px;color:var(--mute)}
#v-guide .gd-dg-h{margin:8px 0 0;font-size:17px;font-weight:700;line-height:1.6;color:var(--ink)}
#v-guide .gd-tl{margin-top:36px;position:relative;height:150px}
#v-guide .gd-tl i{display:block}
#v-guide .gd-tl-base{position:absolute;left:0;right:0;top:60px;border-top:1px solid var(--text)}
#v-guide .gd-tl-pt{position:absolute;top:55px;width:11px;height:11px;background:var(--point)}
#v-guide .gd-tl-pt.o{background:#fff;border:1.5px solid var(--point)}
#v-guide .gd-tl-lb{position:absolute;top:0;font-size:13px;color:var(--mute);line-height:1.5;white-space:nowrap}
#v-guide .gd-tl-lb b{display:block;font-size:16px;color:var(--ink);font-weight:700}
#v-guide .gd-tl-span{position:absolute;top:90px;height:14px;border-left:1px solid var(--point-d);border-right:1px solid var(--point-d);border-bottom:1px solid var(--point-d)}
#v-guide .gd-tl-sp{position:absolute;top:112px;margin:0;font-size:13px;color:var(--point-d);white-space:nowrap}
#v-guide .gd-tl-m{display:none;margin:0}
#v-guide .gd-tl .p1{left:12%}#v-guide .gd-tl .p2{left:62%}#v-guide .gd-tl .lb1{left:calc(12% - 40px)}#v-guide .gd-tl .lb2{left:calc(62% - 40px)}#v-guide .gd-tl-span{left:calc(12% + 5px);width:50%}#v-guide .gd-tl-sp{left:calc(37% - 50px)}
#v-guide .gd-reg{margin-top:24px}
#v-guide .gd-reg .r{display:flex;align-items:baseline;gap:8px;padding:16px 0;border-top:1px solid var(--text)}
#v-guide .gd-reg .r:last-child{border-bottom:1px solid var(--text)}
#v-guide .gd-reg .i{width:40px;flex:none;font-size:12px;color:var(--mute);letter-spacing:1px}
#v-guide .gd-reg .k{width:100px;flex:none;font-size:17px;font-weight:700;color:var(--ink)}
#v-guide .gd-reg .v{flex:1;font-size:15px;color:var(--text);line-height:1.6}
#v-guide .gd-reg .v em{display:inline-block;font-style:normal;background:rgba(15,110,120,.12);padding:2px 10px;font-size:12px;color:var(--ink);margin-left:8px;vertical-align:1px;border-radius:999px}
#v-guide .gd-stp{display:flex;margin-top:24px}
#v-guide .gd-stp .s{flex:1;border-top:1px solid var(--text);padding:14px 16px 6px 0}
#v-guide .gd-stp .s>*{display:block}
#v-guide .gd-stp .n{font-size:12px;color:var(--mute);letter-spacing:1.5px}
#v-guide .gd-stp b{font-size:15.5px;font-weight:700;margin-top:8px;line-height:1.5;color:var(--ink)}
#v-guide .gd-stp .v{font-size:13px;color:var(--mute);margin-top:6px;line-height:1.55}
#v-guide .gd-stp .w{font-size:12px;color:var(--point-d);margin-top:8px}
#v-guide .gd-stp .s.on{border-top:2px solid var(--point-d)}
#v-guide .gd-stp .s.on .n{color:var(--point-d)}
@media (max-width:900px){
#v-guide .gd-dg{padding:22px 18px}
#v-guide .gd-tl{height:auto;margin-top:20px}
#v-guide .gd-tl-base,#v-guide .gd-tl-pt,#v-guide .gd-tl-span,#v-guide .gd-tl-sp{display:none}
#v-guide .gd-tl-lb{position:relative;left:0!important;top:auto;white-space:normal;padding:14px 0 14px 18px;border-left:1px solid var(--text)}
#v-guide .gd-tl-lb::before{content:'';position:absolute;left:-6px;top:20px;width:11px;height:11px;background:var(--point)}
#v-guide .gd-tl-lb.o::before{background:#fff;border:1.5px solid var(--point)}
#v-guide .gd-tl-m{display:block;padding:10px 0 2px 18px;border-left:1px solid var(--point-d);font-size:13px;color:var(--point-d)}
#v-guide .gd-reg .r{flex-wrap:wrap}#v-guide .gd-reg .k{width:auto}#v-guide .gd-reg .v{flex-basis:100%;padding-left:48px;margin-top:6px}#v-guide .gd-reg .v em{margin-left:0;margin-top:6px}
#v-guide .gd-stp{display:block}#v-guide .gd-stp .s{border-top:0;border-left:1px solid var(--text);padding:4px 0 18px 16px}#v-guide .gd-stp .s.on{border-top:0;border-left:2px solid var(--point-d);margin-left:-.5px}
}


/* ---------- 가이드(신문고 구성) 아파트 톤 보정 ---------- */
#v-guide{--v5-r-sm:24px;--v5-r:32px}
#v-guide.art > .sub-hero,#v-guide.art > .gd-list-cta{display:none}
#v-guide .gd-in{max-width:1680px;margin:0 auto;padding:0 var(--gutter);box-sizing:border-box}
#v-guide .gd-body{padding:0 0 clamp(64px,8vw,110px);background:none}
#v-guide #gdRoot > .gd-body:first-child{padding-top:clamp(10px,2vw,30px)}
#v-guide .gd-tool{border-bottom:0;padding-bottom:0}
#v-guide .gd-find{height:48px;padding:0 18px;border:0;border-radius:999px;background:#fff;color:var(--mute)}
#v-guide .gd-find input{color:var(--ink)}
#v-guide .gd-find:focus-within{box-shadow:0 0 0 2px var(--ink)}
#v-guide .gd-chips{margin-top:22px;margin-bottom:6px;justify-content:flex-start}
#v-guide .gd-count{margin:22px 0 18px}
#v-guide .gc-img{border-radius:32px;background:#e4e8ed}
#v-guide .gc-img::after{background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35))}
#v-guide .gc-img em{left:16px;bottom:14px;padding:0 12px;height:28px;display:inline-flex;align-items:center;border-radius:999px;background:var(--ink);font-size:13px;color:#fff}
#v-guide .gc a:hover b{text-decoration:none}
#v-guide .gc b{color:var(--ink)}
#v-guide .gd-btn{border-radius:999px}
#v-guide .gd-btn.red{background:var(--ink);color:#fff}
#v-guide .gd-btn.red:hover{background:var(--point-d)}
#v-guide .gd-btn.line{border:1px solid var(--line);color:var(--ink);background:#fff}
#v-guide .gd-dhero{padding:150px 0 clamp(40px,5vw,60px);background:none;border-bottom:0}
#v-guide .gd-dhero::before{opacity:.14}
#v-guide .gd-dhero::after{background:linear-gradient(180deg,rgba(239,241,244,.6),var(--bg) 92%)}
#v-guide .gd-cat{color:var(--point-d)}
#v-guide .gd-cat span{border-left-color:var(--line);color:var(--mute)}
#v-guide .gd-lead{color:var(--text)}
#v-guide .gd-toc{position:sticky;top:110px;padding:0;background:none;border:0}
#v-guide .gd-toc ol{border-top:0}
#v-guide .gd-toc a{border-bottom:0;padding:8px 0}
#v-guide article section > h2{border-bottom:0;padding-bottom:0}
#v-guide .gd-cta{border:0;border-radius:32px;background:#fff;padding:32px}
#v-guide .gd-cta b{color:var(--ink)}
#v-guide .gd-cta p{color:var(--text)}
#v-guide .gd-note,#v-guide .gd-src{border-top:0;color:var(--mute)}
#v-guide .gd-more-h{margin:34px 0 18px}
#v-guide .gd-list-btn{margin-top:22px}
#v-guide .gd-flow > div{border:0;background:#fff;border-radius:var(--v5-r-sm)}
#v-guide .gd-doc .r{border-top:1px solid rgba(22,24,28,.07)}
#v-guide .gd-span{border:0}
#v-guide .gc-img{background:linear-gradient(180deg,#b9c4d9 0%,#d3cfdb 38%,#e9d8d4 66%,#f1d9c1 100%)}
#v-guide .gc-img::after{content:none}
#v-guide .gc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
#v-guide .gc-img .gc-ln{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
#v-guide .gc-img .gc-ln line{stroke:#16181c;stroke-width:1.5}
#v-guide .gc-img .gc-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#16181c;transform:translate(-50%,-50%)}
#v-guide .gc-img .gc-tag{position:absolute;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px 0 11px;border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;transform:translate(-50%,-50%);box-shadow:0 6px 16px -8px rgba(15,17,21,.35)}
#v-guide .gc-img .gc-tag i{width:7px;height:7px;border-radius:50%;background:var(--point)}
#v-guide .gc-img em{z-index:1}
#v-guide .gc a:hover img{transform:scale(1.04)}
#v-guide .gd-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
#v-guide .gd-dpic .gc-tag{height:34px;font-size:14px;padding:0 15px 0 13px}
#v-guide .gd-dhero::before,#v-guide .gd-dhero::after{content:none}
#v-guide .gd-dgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
#v-guide .gd-dpic{position:relative;aspect-ratio:16/10;border-radius:32px;overflow:hidden;background:linear-gradient(180deg,#b9c4d9 0%,#d3cfdb 38%,#e9d8d4 66%,#f1d9c1 100%)}
#v-guide .gd-dpic .gc-img{position:absolute;inset:0;display:block;border-radius:0}
#v-guide .gd-dpic .gc-img em{display:none}
@media (max-width:900px){
  #v-guide .gd-dgrid{grid-template-columns:1fr;gap:22px}
  #v-guide .gd-dhero h1{font-size:26px}
  #v-guide .gd-toc{position:static;padding:0;border:0;background:none;margin-bottom:10px}
  #v-guide .gd-dhero{padding-top:118px}
}


/* 하위 페이지 히어로: 글자 여백만큼 당겨 왼쪽 끝을 버튼과 맞춤 */
html[data-apartment-v2]:not([data-detail-page]) main .view .sub-hero .crumb{margin-left:3px!important}
html[data-apartment-v2]:not([data-detail-page]) main .view .sub-hero h1{margin-left:-.03em!important}
html[data-apartment-v2]:not([data-detail-page]) main .view .sub-hero .lead{margin-left:-1px!important}


/* ---- 개편 추가분: 기존 토큰/컴포넌트 위에 최소 보정 ---- */
.view[hidden]{display:none!important}
.sub-t{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:64px 0 20px}
.infos.why{margin-top:8px}
.ftab .ft-case{display:block;font-size:12.5px;font-weight:500;opacity:.6;margin-top:4px;letter-spacing:0}
.ft-note{font-size:13px;opacity:.7;margin-top:14px;line-height:1.6}
.ft-note b{font-weight:700}
.k-note{font-size:13px;opacity:.6;margin-top:16px}
/* 03 비교표: ftab을 2열로 */
.ftab.cmp2 .ft-h>div,.ftab.cmp2 .ft-r dl{grid-template-columns:1fr 1fr!important}
.ftab.cmp2 .ft-c.hi dd{font-weight:700}
/* 02 맡기시면 하는 일: 기존 scope 카드 → 탭하면 펼침 */
.scope.g-list{display:flex;flex-direction:column;gap:12px}
.g-it{display:block!important;padding:0!important;overflow:hidden}
.g-it summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr auto auto!important;align-items:center;gap:18px;padding:26px 28px}
.g-it summary::-webkit-details-marker{display:none}
.g-it summary .n{position:static!important}
.g-hd h3{margin:0!important}
.g-sub{font-size:14px;opacity:.6;margin:4px 0 0}
.g-tag{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:rgba(29,110,120,.1);color:#1d6e78;white-space:nowrap}
.g-chev{width:10px;height:10px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .35s cubic-bezier(.2,.7,.2,1);opacity:.6;margin:0 4px 4px}
.g-it[open] .g-chev{transform:rotate(-135deg);margin-bottom:-4px}
.g-body{padding:0 28px 12px 90px;border-top:1px solid rgba(0,0,0,.07)}
.g-it[open] .g-body{animation:gOpen .45s cubic-bezier(.2,.7,.2,1)}
@keyframes gOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.g-row{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.g-row:last-child{border-bottom:0}
.g-row .n{position:static!important;font-size:12px;font-weight:700;opacity:.5;padding-top:2px}
.g-row h4{font-size:15px;font-weight:700;margin:0 0 4px}
.g-row p{font-size:14px;opacity:.75;margin:0;line-height:1.6}
@media (max-width:700px){
 .g-it summary{grid-template-columns:32px 1fr auto!important;gap:12px;padding:20px}
 .g-tag{grid-column:2;grid-row:2;justify-self:start}
 .g-body{padding:0 20px 8px 20px}
 .sub-t{margin-top:48px}
}
/* 밝은 섹션의 info 카드 / 어두운 섹션의 ftab 색 보정 */
.sec:not(.dark) .info{border-color:#dfe3e8;background:#fff}
.sec:not(.dark) .info h4{color:rgb(22,24,28);font-size:19px}
.sec:not(.dark) .info p{color:rgb(96,103,113)}
.sec.dark .ftab .ft-h{border-color:rgba(255,255,255,.14)!important}
.sec.dark .ftab .ft-h span{color:rgb(140,147,157)}
.sec.dark .ftab .ft-h>div span:last-child{color:#6fc3cc}
.sec.dark .ftab .ft-r{border-color:rgba(255,255,255,.12)!important}
.sec.dark .ftab .ft-r h3{color:rgb(242,243,245);font-size:18px}
.sec.dark .ftab dd{color:rgb(170,176,185);font-weight:500}
.sec.dark .ftab .ft-c.hi dd{color:#fff;font-weight:700}
.sec.dark .ftab dt{color:rgb(140,147,157)}

.sec-top.stack{display:block!important;text-align:left}
.sec-top.stack .h2{margin-bottom:0}
.sec-top.stack .lead{display:block;margin:16px 0 0!important;max-width:760px;text-align:left!important;justify-self:start;grid-column:auto}
.sec-top.stack+.infos{margin-top:40px}
.k-sub{font-size:16px;font-weight:700;color:rgb(242,243,245);margin:44px 0 16px}
.sec.dark .infos+.k-sub{margin-top:48px}
.conn{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid rgba(0,0,0,.08);font-size:15px;color:rgb(96,103,113)}
.conn.on-dark{border-color:rgba(255,255,255,.12);color:rgb(170,176,185)}
.conn.on-dark .btn{background:#fff;color:#111;border-color:#fff}
.conn-wrap{padding-top:8px;padding-bottom:8px}
.conn-wrap .conn{margin-top:0}

/* 검토용 표시는 숨김 */
.tbc{display:none!important}
@media (max-width:767px){
  /* 맡기시면 하는 일: 옆으로 넘기지 않고 세로로 */
  .view .scope.g-list,.view .scope.g-list.swipe{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:10px!important;overflow:visible!important;margin-inline:0!important;padding:0!important;scroll-snap-type:none!important}
  .view .scope.g-list>*{flex:none!important;max-width:none!important;width:auto!important}
  .view .scope.g-list+.swipe-dots{display:none!important}
  .g-it summary{padding:18px 18px}
  .g-body{padding:0 18px 6px}
  /* 비교표: 한 줄에 항목 이름, 아래에 두 칸 */
  .ftab.cmp2 .ft-h{display:none!important}
  .ftab.cmp2 .ft-r dl{display:grid;grid-template-columns:1fr 1fr!important;gap:12px!important}
  .ftab.cmp2 .ft-c{display:block!important}
  .ftab.cmp2 .ft-c dt{display:block!important;font-size:12.5px;margin-bottom:6px;opacity:.7}
  .ftab.cmp2 .ft-c dd{margin:0;font-size:14.5px;line-height:1.55}
}
