/* 같이소유 B안 · 입지를 읽는 지도
   토큰: 남색 테마 하나 · 강조 연청(#9DB4F0, 회사소개서 표지) · 보조 산호(자산가치 손실 표시 전용)
   모양: 로고 심볼 테두리처럼 왼쪽 위·오른쪽 아래만 둥근 모서리 (큰 판 20 · 작은 부품 10) */
:root{
  color-scheme: dark;
  --bg:#0A1742; --bg-2:#0C1E51; --panel:#11265F; --panel-2:#162D6E; --foot:#081236;
  --line:rgba(157,180,240,.20); --line-2:rgba(157,180,240,.40);
  --text:#E8EDFA; --muted:#A8B4D8; --soft:#CCD6F1;
  --peri:#9DB4F0; --peri-2:#B9CAF5; --on-peri:#0A1742; --on-peri-2:#1F3168;
  --loss:#F3A593;
  --f-body:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Noto Sans KR",sans-serif;
  --f-head:"IBM Plex Sans KR",var(--f-body);
  --r-lg:20px 0 20px 0; --r-sm:10px 0 10px 0; --r-xs:10px 0 10px 0;
  --hd:72px; --pad:clamp(20px,5vw,56px);
  --ease:cubic-bezier(.2,.7,.2,1); --dur:.7s;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:1.0625rem;line-height:1.7;letter-spacing:-.005em;
  word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
p,li{text-wrap:pretty}
dd,.pipeline li>span:last-child,.stay-steps li>span:last-child,.t-steps li>div>span,.p-facts li,.lm-toggles p,.rt-what,.bk-services span,.stat-label,.sb-label,.mega-grid p,.rent-note,.footnote{text-wrap:balance}
h1,h2,h3{text-wrap:balance;margin:0;font-family:var(--f-head);font-weight:600;letter-spacing:-.02em;line-height:1.22}
p{margin:0}
img{max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
[hidden]{display:none !important}
::selection{background:var(--peri);color:var(--on-peri)}
:focus-visible{outline:3px solid var(--peri);outline-offset:3px}
section[id],[id]{scroll-margin-top:calc(var(--hd) + 20px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:12px;z-index:100;background:var(--peri);color:var(--on-peri);padding:10px 16px;font-weight:700;border-radius:var(--r-sm);text-decoration:none}
.skip:focus{left:16px}
.container{width:100%;max-width:1320px;margin:0 auto;padding-inline:var(--pad)}
.section{padding-block:clamp(72px,8.5vw,120px)}
.num,[data-count]{font-variant-numeric:tabular-nums}

/* ── 버튼 · 칩 ───────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--r-sm);
  font-family:var(--f-body);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;border:1px solid transparent;
  transition:transform .18s var(--ease),background-color .18s,border-color .18s,color .18s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.985)}
.btn-primary{background:var(--peri);color:var(--on-peri)}
.btn-primary:hover{background:var(--peri-2)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-2)}
.btn-ghost:hover{background:rgba(157,180,240,.12);border-color:var(--peri)}
.btn-lg{min-height:56px;padding:0 28px;font-size:1.0625rem}
.btn-sm{min-height:44px;padding:0 16px;font-size:.9375rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips li{padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-xs);font-size:.875rem;line-height:1.3;color:var(--soft);background:rgba(157,180,240,.06)}
.chips-sm li{padding:5px 10px;font-size:.8125rem}

/* ── 제목 · 머리 ─────────────────────────────────────── */
.h2{font-size:clamp(2.125rem,1.45rem + 2.5vw,3.625rem);line-height:1.15;letter-spacing:-.03em}
.h3{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem)}
.sec-head{max-width:46em}
.sec-head-wide{max-width:none}
.sec-statement{font-family:var(--f-head);font-weight:600;font-size:clamp(1.375rem,1.1rem + 1vw,2rem);line-height:1.3;letter-spacing:-.02em;color:var(--peri);margin-top:18px}
.sec-lead{font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);color:var(--muted);margin-top:16px;max-width:36em}
.footnote{font-size:.8125rem;color:var(--muted);margin-top:24px;max-width:56em}
.map-credit{font-size:.75rem;color:rgba(232,237,250,.62)}

/* ── 머리글 · 메가 메뉴 ──────────────────────────────── */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--hd);border-bottom:1px solid transparent;
  transition:background-color .25s var(--ease),border-color .25s,backdrop-filter .25s}
.site-header.is-solid,body.nav-open .site-header{background:rgba(10,23,66,.94);border-bottom-color:var(--line);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px)}
.hd-in{display:flex;align-items:center;gap:28px;height:100%;max-width:1320px;margin:0 auto;padding-inline:var(--pad)}
.brand{display:inline-flex;align-items:center;flex:none;min-height:44px}
.brand img{height:34px;width:auto;display:block}
.gnb{flex:1;display:flex;align-items:center;height:100%}
.gnb-list{display:flex;align-items:stretch;gap:6px;list-style:none;margin:0;padding:0;height:100%}
.gnb-item{display:flex;align-items:center;height:100%}
.gnb-link{display:inline-flex;align-items:center;min-height:44px;padding:0 2px 0 12px;color:var(--text);font-weight:600;font-size:1rem;text-decoration:none;white-space:nowrap}
.gnb-link:hover{color:var(--peri)}
.gnb-caret{display:inline-grid;place-items:center;width:28px;height:44px;padding:0;border:0;background:none;color:var(--muted);cursor:pointer}
.gnb-caret i{font-size:14px;transition:transform .2s var(--ease)}
.gnb-item.open .gnb-caret i{transform:rotate(180deg)}
.gnb-extra{display:none}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  box-shadow:0 40px 60px -40px rgba(3,8,30,.75);opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s linear .2s}
.mega-in{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:56px;max-width:1320px;margin:0 auto;padding:36px var(--pad) 44px}
.mega-lead{font-family:var(--f-head);font-weight:600;font-size:1.375rem;line-height:1.38;letter-spacing:-.02em;color:var(--text)}
.mega-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 32px;list-style:none;margin:0;padding:0}
.mega-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
.mega-grid-2{grid-template-columns:repeat(2,minmax(0,280px))}
.mega-grid a{display:inline-flex;align-items:center;min-height:36px;color:var(--text);font-weight:700;font-size:1.0625rem;text-decoration:none;border-bottom:1px solid transparent}
.mega-grid a:hover{color:var(--peri);border-bottom-color:var(--peri)}
.mega-grid p{margin-top:4px;font-size:.875rem;line-height:1.55;color:var(--muted)}
.gnb-item.open .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
@media (hover:hover) and (min-width:1024px){
  .gnb-item:hover .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
}
.hd-actions{display:flex;align-items:center;gap:14px;flex:none;margin-left:auto}
.hd-tel{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--text);font-weight:600;font-size:.9375rem;text-decoration:none;font-variant-numeric:tabular-nums}
.hd-tel i{font-size:18px;color:var(--peri)}
.hd-tel:hover{color:var(--peri)}
.menu-toggle{display:none}

@media (max-width:1180px){ .hd-tel span{display:none} .gnb-link{padding-left:8px} }
@media (max-width:1023px){
  :root{--hd:64px}
  .site-header.is-solid,body.nav-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(10,23,66,.98)}
  .brand img{height:30px}
  .hd-tel{display:none}
  .menu-toggle{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line-2);border-radius:var(--r-sm);background:rgba(10,23,66,.4);color:var(--text);cursor:pointer}
  .menu-toggle i{font-size:22px}
  .menu-toggle .ph-x{display:none}
  body.nav-open .menu-toggle .ph-x{display:block}
  body.nav-open .menu-toggle .ph-list{display:none}
  .gnb{position:fixed;inset:var(--hd) 0 0 0;display:block;height:auto;padding:8px var(--pad) 120px;background:var(--bg);overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s linear .22s}
  body.nav-open .gnb{opacity:1;visibility:visible;transform:none;transition-delay:0s}
  body.nav-open{overflow:hidden}
  .gnb-list{display:block;height:auto}
  .gnb-item{display:flex;flex-wrap:wrap;align-items:center;height:auto;border-bottom:1px solid var(--line)}
  .gnb-link{flex:1;min-height:56px;padding:0;font-size:1.25rem}
  .gnb-caret{width:56px;height:56px}
  .gnb-caret i{font-size:18px}
  .mega{position:static;display:none;width:100%;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;transition:none}
  .gnb-item.open .mega{display:block}
  .mega-in{display:block;padding:0 0 14px}
  .mega-lead{display:none}
  .mega-grid,.mega-grid-5,.mega-grid-2{grid-template-columns:1fr;gap:0}
  .mega-grid a{min-height:44px;font-size:1rem;font-weight:600;color:var(--soft)}
  .mega-grid p{display:none}
  .gnb-extra{display:grid;gap:12px;margin-top:28px}
  .btn-block{width:100%}
  .gnb-tel{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;color:var(--text);font-weight:600;text-decoration:none;border:1px solid var(--line-2);border-radius:var(--r-sm)}
}
@media (max-width:420px){ .hd-cta{padding:0 12px;font-size:.875rem} .hd-actions{gap:8px} }

/* ── 첫 화면 ─────────────────────────────────────────── */
.hero{position:relative;min-height:max(640px,100svh);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:var(--bg)}
.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%}
.hero-media{z-index:-2}
.hero-media img{object-fit:cover;object-position:60% 50%;display:block}
.hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(10,23,66,.94) 0%,rgba(10,23,66,.80) 30%,rgba(10,23,66,.30) 62%,rgba(10,23,66,.06) 100%),
    linear-gradient(0deg,#0A1742 0%,rgba(10,23,66,0) 34%),
    linear-gradient(180deg,rgba(10,23,66,.65) 0%,rgba(10,23,66,0) 20%)}
.hero-in{padding-top:calc(var(--hd) + 56px);padding-bottom:clamp(88px,13vh,140px)}
.hero-title{font-size:clamp(2.25rem,1.15rem + 3.6vw,4.25rem);line-height:1.14;letter-spacing:-.035em;font-weight:600;max-width:16em}
.hero-title span{display:block}
.hero-lead{font-size:clamp(1.0625rem,.95rem + .45vw,1.3125rem);color:var(--soft);max-width:31em;margin:24px 0 36px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-credit{position:absolute;right:var(--pad);bottom:18px;margin:0}
@media (max-width:700px){
  .hero{min-height:max(600px,100svh)}
  .hero-media img{object-position:50% 40%}
  .hero-shade{background:linear-gradient(0deg,#0A1742 0%,rgba(10,23,66,.92) 34%,rgba(10,23,66,.45) 62%,rgba(10,23,66,.55) 100%)}
  .hero-actions .btn{flex:1 1 auto}
  .hero-credit{left:var(--pad);right:auto;bottom:66px}
}

/* ── 세 사업 ─────────────────────────────────────────── */
.biz-rows{list-style:none;margin:56px 0 0;padding:0;border-top:1px solid var(--line)}
.biz-row{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:32px;align-items:center;padding:40px 0;border-bottom:1px solid var(--line)}
.biz-row::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--peri);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.biz-row:hover::after,.biz-row:focus-within::after{transform:scaleX(1)}
.biz-name h3{font-size:clamp(1.375rem,1.1rem + .9vw,1.875rem);margin:0 0 10px}
.biz-name p{color:var(--muted);max-width:30em}
.biz-stat{display:flex;flex-direction:column;gap:6px}
.stat-num{font-family:var(--f-head);font-weight:700;font-size:clamp(2.75rem,1.7rem + 3.2vw,4.5rem);line-height:1;letter-spacing:-.035em;color:var(--peri);font-variant-numeric:tabular-nums}
.stat-label{font-size:.9375rem;color:var(--muted)}
.biz-link{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-weight:700;text-decoration:none;border-bottom:1px solid var(--line-2);white-space:nowrap}
.biz-link:hover{color:var(--peri);border-bottom-color:var(--peri)}
@media (max-width:860px){
  .biz-row{grid-template-columns:1fr;gap:16px;padding:32px 0}
  .biz-link{justify-self:start}
}

/* ── AI·데이터 · 입지 레이어 지도 ────────────────────── */
.sec-data{background:var(--bg-2)}
.lm-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);margin-top:56px;align-items:start}
.lm{margin:0}
.lm-stage{position:relative;aspect-ratio:10/9;border-radius:var(--r-lg);overflow:hidden;background:#0A1742;border:1px solid var(--line)}
.lm-stage>img{position:absolute;inset:0;width:100%;height:100%;display:block}
.lm-layer{transition:opacity .7s var(--ease)}
.lm-layer[data-layer="heat"]{opacity:.8}
.lm-stage .lm-layer.is-off,.lm-tag.is-off{opacity:0}
.lm-labels{position:absolute;inset:0;pointer-events:none}
.lm-tag{position:absolute;transform:translate(-50%,calc(-100% - 10px));padding:3px 9px;border-radius:var(--r-xs);
  background:rgba(10,23,66,.86);border:1px solid rgba(157,180,240,.38);color:var(--text);font-size:.8125rem;font-weight:600;line-height:1.35;white-space:nowrap;transition:opacity .6s var(--ease)}
.lm-below{transform:translate(-50%,10px)}
.lm-edge-r{transform:translate(calc(-100% + 14px),calc(-100% - 10px))}
.lm-edge-l{transform:translate(-14px,calc(-100% - 10px))}
.lm-ring{transform:translate(-50%,-50%);padding:1px 6px;border:0;background:#0A1742;color:var(--peri);font-size:.75rem;font-weight:700}
.lm-office{position:absolute;transform:translate(-50%,calc(-100% - 16px));padding:4px 10px;border-radius:var(--r-xs);background:var(--peri);color:var(--on-peri);font-size:.8125rem;font-weight:800;white-space:nowrap}
.lm figcaption{margin-top:14px;font-size:.875rem;color:var(--muted)}
.lm figcaption .map-credit{display:block;margin-top:6px}
.lm-panel{padding:clamp(24px,3vw,36px);border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line)}
.lm-title{font-size:1.375rem}
.lm-note{margin-top:8px;color:var(--muted);font-size:.9375rem}
.lm-toggles{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:18px}
.lm-toggle{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;
  border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(10,23,66,.55);color:var(--text);font-weight:700;font-size:1rem;text-align:left;cursor:pointer;
  transition:background-color .2s,border-color .2s}
.lm-toggle:hover{border-color:var(--line-2)}
.lm-toggle[aria-pressed="true"]{background:rgba(157,180,240,.12);border-color:rgba(157,180,240,.6)}
.sw{width:22px;height:22px;display:block}
.sw-rings{border:2px dashed var(--peri);border-radius:50%}
.sw-heat{border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(157,180,240,.85) 38%,rgba(157,180,240,0) 72%)}
.sw-names{width:24px;height:14px;border-radius:var(--r-sm);background:rgba(10,23,66,.9);border:1px solid var(--peri)}
.lm-switch{position:relative;width:42px;height:24px;border-radius:var(--r-sm);background:rgba(168,180,216,.28);transition:background-color .2s}
.lm-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--soft);transition:transform .22s var(--ease),background-color .22s}
.lm-toggle[aria-pressed="true"] .lm-switch{background:var(--peri)}
.lm-toggle[aria-pressed="true"] .lm-switch::after{transform:translateX(18px);background:var(--on-peri)}
.lm-toggles p{margin:8px 2px 0;font-size:.9375rem;color:var(--muted)}
.lm-toggles strong,.lm-static strong{color:var(--text);margin-right:6px}
.lm-static{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.9375rem;color:var(--muted)}
.lm-reflect{margin-top:22px}
.lm-reflect-title{font-weight:700;font-size:.9375rem;margin-bottom:10px}
@media (max-width:960px){ .lm-wrap{grid-template-columns:1fr} }
@media (max-width:560px){ .lm-tag{font-size:.6875rem;padding:2px 6px} .lm-office{font-size:.75rem;padding:3px 8px} .lm-ring{font-size:.625rem} }

.pipeline-wrap{margin-top:clamp(64px,7vw,96px)}
.pipeline{position:relative;list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.pipeline::before{content:"";position:absolute;left:22px;right:10%;top:21px;height:2px;background:linear-gradient(90deg,var(--peri),rgba(157,180,240,.25));transform-origin:left}
.pipeline li{position:relative;display:flex;flex-direction:column;gap:6px;padding-right:20px}
.pl-no{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;margin-bottom:14px;border:2px solid var(--peri);border-radius:var(--r-sm);background:var(--bg-2);
  color:var(--peri);font-family:var(--f-head);font-weight:700}
.pipeline strong{font-family:var(--f-head);font-weight:600;font-size:1.125rem;line-height:1.35}
.pipeline li>span:last-child{font-size:.9375rem;color:var(--muted)}
.aim{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:40px}
.aim-label{font-family:var(--f-head);font-weight:600;color:var(--peri)}
.aim-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.aim-list li{padding:10px 16px;border-radius:var(--r-sm);background:rgba(157,180,240,.13);font-weight:700}
@media (max-width:860px){
  .pipeline{grid-template-columns:1fr;gap:22px}
  .pipeline::before{left:21px;right:auto;top:8px;bottom:8px;width:2px;height:auto;background:linear-gradient(180deg,var(--peri),rgba(157,180,240,.25));transform-origin:top}
  .pipeline li{padding:2px 0 0 64px;min-height:44px}
  .pl-no{position:absolute;left:0;top:0;margin:0}
}

.data-subs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(64px,8vw,96px)}
.data-sub{padding:clamp(24px,3vw,32px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.data-sub:nth-child(2),.data-sub:nth-child(3){background:transparent}
.data-sub>i{font-size:30px;color:var(--peri);display:block}
.data-sub h3{font-size:1.25rem;margin:16px 0 8px}
.data-sub p{color:var(--muted);margin-bottom:18px}
@media (max-width:700px){ .data-subs{grid-template-columns:1fr} .data-sub:nth-child(3){background:var(--panel)} .data-sub:nth-child(4){background:transparent} }

/* ── 조건 설계 ───────────────────────────────────────── */
.rent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:48px}
.rent-card{display:flex;flex-direction:column;gap:16px;padding:clamp(26px,3.5vw,44px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.rent-loss{background:linear-gradient(180deg,rgba(243,165,147,.11),rgba(243,165,147,.02)) var(--panel);border-color:rgba(243,165,147,.38)}
.rent-keep{background:linear-gradient(180deg,rgba(157,180,240,.15),rgba(157,180,240,.03)) var(--panel);border-color:rgba(157,180,240,.5)}
.rent-tag{align-self:flex-start;padding:6px 12px;border-radius:var(--r-sm);background:rgba(232,237,250,.09);font-weight:700}
.rent-rows{margin:0}
.rent-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line-2)}
.rent-rows dt{color:var(--muted)}
.rent-rows dd{margin:0;font-family:var(--f-head);font-weight:600;font-size:1.25rem;font-variant-numeric:tabular-nums}
.rent-big{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.rent-big-label{font-size:.9375rem;color:var(--muted)}
.rent-big-num{font-family:var(--f-head);font-weight:700;font-size:clamp(3rem,1.9rem + 4.2vw,5.75rem);line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.rent-loss .rent-big-num{color:var(--loss)}
.rent-keep .rent-big-num{color:var(--peri)}
.rent-note{font-size:.9375rem;color:var(--muted)}
.rent-scale{margin-top:24px;padding:24px clamp(20px,3vw,32px);border-radius:var(--r-lg);border:1px solid var(--line);background:rgba(6,16,47,.5)}
.rent-scale-title{font-weight:700;margin-bottom:14px}
.rs-row{display:grid;grid-template-columns:84px minmax(0,1fr) 72px;align-items:center;gap:14px;padding:6px 0}
.rs-name{font-size:.9375rem;color:var(--muted)}
.rs-bar{display:block;height:14px;width:var(--w);min-width:5px;transform-origin:left}
.rs-loss{background:var(--loss)}
.rs-keep{background:var(--peri)}
.rs-val{font-family:var(--f-head);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.rent-punch{margin-top:56px;font-family:var(--f-head);font-weight:600;font-size:clamp(1.75rem,1.2rem + 2.1vw,2.875rem);line-height:1.25;letter-spacing:-.03em}
.rent-punch span{display:block;margin-top:12px;font-family:var(--f-body);font-weight:500;font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);letter-spacing:-.005em;color:var(--muted)}
@media (max-width:760px){ .rent-grid{grid-template-columns:1fr} .rs-row{grid-template-columns:70px minmax(0,1fr) 64px;gap:10px} }

/* ── 컨설팅 ──────────────────────────────────────────── */
.sec-consulting{background:var(--bg-2)}
.ledger-wrap{margin-top:56px}
.ledger-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:22px}
.ledger{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
.ledger-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.ledger-items div{padding:24px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.ledger-items dt{font-family:var(--f-head);font-weight:600;font-size:1.125rem;margin-bottom:8px}
.ledger-items dd{margin:0;color:var(--muted)}
.report{display:flex;flex-direction:column;padding:clamp(26px,3vw,36px);border-radius:var(--r-lg);background:var(--peri);color:var(--on-peri)}
.report-k{font-weight:800;font-size:.875rem}
.report-t{margin-top:10px;font-family:var(--f-head);font-weight:700;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);line-height:1.2;letter-spacing:-.03em}
.report-d{margin-top:8px;font-weight:700;font-size:1.125rem}
.report-n{margin-top:auto;padding-top:22px;font-size:.875rem;color:var(--on-peri-2);border-top:1px solid rgba(10,23,66,.22)}
.report-d+.report-n{margin-top:28px}
@media (max-width:960px){ .ledger{grid-template-columns:1fr} }
@media (max-width:560px){ .ledger-items{grid-template-columns:1fr} }

.stay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px 56px;margin-top:clamp(64px,7vw,104px)}
.stay-head .chips{margin-top:16px}
.stay-lead{margin-top:22px;font-family:var(--f-head);font-weight:600;font-size:clamp(1.375rem,1.15rem + .8vw,1.75rem);line-height:1.3;letter-spacing:-.02em}
.stay-target{margin-top:12px;color:var(--muted)}
.stay-board{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;align-self:start}
.sb{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-height:148px;padding:22px 24px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.sb-main{grid-row:span 2;background:var(--peri);border-color:var(--peri);color:var(--on-peri)}
.sb-num{font-family:var(--f-head);font-weight:700;font-size:clamp(2.25rem,1.6rem + 2vw,3.25rem);line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.sb-main .sb-num{font-size:clamp(3.25rem,2.2rem + 3.6vw,5.25rem)}
.sb-label{font-size:.9375rem;color:var(--muted)}
.sb-main .sb-label{color:var(--on-peri-2);font-weight:600}
.sb-text{grid-column:1/-1;min-height:0;flex-direction:row;align-items:center;background:var(--panel-2)}
.sb-text .sb-label{font-family:var(--f-head);font-weight:600;font-size:1.25rem;color:var(--text)}
.sb-source{grid-column:1/-1;font-size:.8125rem;color:var(--muted)}
.stay-steps{grid-column:1/-1;list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.stay-steps li{display:flex;flex-direction:column;gap:6px;padding:20px 18px;font-size:.875rem;border-radius:var(--r-sm);border:1px solid var(--line);background:rgba(6,16,47,.45)}
.stay-steps .st-opt{border-style:dashed;border-color:var(--line-2)}
.st-no{font-family:var(--f-head);font-weight:700;color:var(--peri)}
.stay-steps strong{font-family:var(--f-head);font-weight:600;font-size:1.0625rem}
.stay-steps em{font-style:normal;font-family:var(--f-body);font-size:.75rem;font-weight:700;margin-left:6px;padding:1px 7px;border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--soft);vertical-align:2px}
.stay-steps li>span:last-child{font-size:.875rem;color:var(--muted)}
.stay-how{grid-column:1/-1;color:var(--muted)}
.stay-how strong{color:var(--text);margin-right:6px}
@media (max-width:1100px){ .stay-steps{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:960px){ .stay{grid-template-columns:1fr} }
@media (max-width:560px){ .stay-steps{grid-template-columns:repeat(2,minmax(0,1fr))} .sb{min-height:112px;padding:18px} .sb-main{grid-column:1/-1;grid-row:auto} }

.c-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(56px,7vw,88px)}
.c-sub{padding:clamp(24px,3vw,32px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.c-sub+.c-sub{background:transparent}
.c-sub h3{font-size:1.25rem}
.c-sub p{margin:10px 0 18px;color:var(--muted)}
@media (max-width:700px){ .c-pair{grid-template-columns:1fr} }

/* ── 중개 ───────────────────────────────────────────── */
.tenant{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,5vw,80px);margin-top:48px;align-items:start}
.tenant-quote{position:sticky;top:calc(var(--hd) + 40px);margin:0;padding-left:28px;border-left:3px solid var(--peri)}
.tenant-quote p{font-family:var(--f-head);font-weight:600;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.375rem);line-height:1.38;letter-spacing:-.025em}
.t-steps{list-style:none;margin:18px 0 0;padding:0}
.t-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.t-steps .ts-no{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-sm);background:rgba(157,180,240,.14);color:var(--peri);font-family:var(--f-head);font-weight:700}
.t-steps strong{display:block;font-weight:700;font-size:1.0625rem}
.t-steps li>div>span{display:block;margin-top:2px;font-size:.9375rem;color:var(--muted)}
.tenant-left{position:sticky;top:calc(var(--hd) + 40px)}
.tenant-left .tenant-quote{position:static}
.tenant-stat{margin-top:48px;padding:28px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.ts-big{font-family:var(--f-head);font-weight:700;font-size:clamp(2.75rem,1.9rem + 3vw,4.25rem);line-height:1;letter-spacing:-.035em;color:var(--peri);font-variant-numeric:tabular-nums}
.ts-cap{margin-top:10px;color:var(--muted)}
@media (max-width:860px){ .tenant{grid-template-columns:1fr} .tenant-quote,.tenant-left{position:static} .tenant-stat{margin-top:28px} }

.types{margin-top:clamp(64px,7vw,104px)}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px;border-bottom:1px solid var(--line)}
.tab{display:inline-flex;align-items:center;min-height:56px;margin-bottom:-1px;padding:0 22px;border:0;border-bottom:3px solid transparent;background:none;
  color:var(--muted);font-weight:700;font-size:1.125rem;text-align:left;cursor:pointer;transition:color .18s,border-color .18s}
.tab:hover{color:var(--text)}
.tab[aria-selected="true"]{color:var(--text);border-bottom-color:var(--peri)}
.tab-panel{padding-top:24px}
.tp-who{margin-bottom:18px;font-weight:700;color:var(--peri)}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px}
.checks li{position:relative;padding-left:32px;font-size:1.0625rem}
.checks li::before{content:"";position:absolute;left:4px;top:.42em;width:14px;height:8px;border-left:2px solid var(--peri);border-bottom:2px solid var(--peri);transform:rotate(-45deg)}
.types-note{margin-top:28px;color:var(--muted)}
@media (max-width:700px){ .checks{grid-template-columns:1fr} .tab{flex:1 1 auto;justify-content:center;padding:0 10px;font-size:1rem} }

.bk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(64px,7vw,104px)}
.bk-lead{grid-column:1/span 2;grid-row:1/span 2;padding:clamp(26px,3vw,40px);border-radius:var(--r-lg);background:var(--peri);color:var(--on-peri)}
.bk-title{font-family:var(--f-head);font-weight:700;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);line-height:1.2;letter-spacing:-.03em}
.bk-num-label{margin:10px 0 24px;font-weight:700}
.bk-services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.bk-services li{display:flex;flex-direction:column;padding-top:10px;border-top:1px solid rgba(10,23,66,.2)}
.bk-services strong{font-weight:800}
.bk-services span{font-size:.875rem;color:var(--on-peri-2)}
.bk-cell{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:24px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.bk-cell h3{font-size:1.1875rem}
.bk-wide{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:14px 28px;background:transparent}
.bk-wide h3{margin:0}
@media (max-width:960px){ .bk-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .bk-lead{grid-column:1/-1;grid-row:auto} }
@media (max-width:520px){ .bk-grid{grid-template-columns:1fr} .bk-services{grid-template-columns:1fr} }

/* ── 흐름 ───────────────────────────────────────────── */
.sec-flow{background:var(--bg-2)}
.route{margin-top:64px}
.route-line{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.route-line::before{content:"";position:absolute;left:8.333%;right:8.333%;top:11px;height:4px;border-radius:2px;background:var(--peri);transform-origin:left}
.route-line li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 8px;text-align:center}
.rt-dot{position:relative;z-index:1;width:26px;height:26px;margin-bottom:16px;border-radius:50%;border:4px solid var(--peri);background:var(--bg-2)}
.route-line li:first-child .rt-dot,.route-line li:last-child .rt-dot{background:var(--peri);box-shadow:0 0 0 5px rgba(157,180,240,.2)}
.rt-who{font-size:.8125rem;font-weight:700;color:var(--peri)}
.route-line strong{font-family:var(--f-head);font-weight:600;font-size:1.25rem;line-height:1.3}
.rt-what{font-size:.875rem;color:var(--muted)}
.route-back{display:block;width:100%;height:60px;margin-top:10px;color:var(--peri);opacity:.85;overflow:visible}
.route-back-label{margin-top:6px;text-align:center;font-size:.875rem;color:var(--muted)}
.clients{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:64px;padding-top:36px;border-top:1px solid var(--line)}
.client-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.client-list li{padding:10px 16px;border-radius:var(--r-sm);border:1px solid var(--line);background:rgba(157,180,240,.06);font-weight:600}
@media (max-width:860px){
  .route-line{grid-template-columns:1fr}
  .route-line::before{left:11px;right:auto;top:13px;bottom:13px;width:4px;height:auto;transform-origin:top}
  .route-line li{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:18px;align-items:start;text-align:left;padding:0 0 26px}
  .route-line li>*:not(.rt-dot){grid-column:2}
  .rt-dot{grid-row:1/span 3;margin:0}
  .route-back{display:none}
  .route-back-label{text-align:left;padding-left:44px;margin-top:0}
}

/* ── 회사소개 ───────────────────────────────────────── */
.about-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:end}
.about-brand{padding:clamp(26px,3vw,36px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.about-brand img{display:block;width:100%;max-width:360px;height:auto}
.about-facts{margin:28px 0 0;display:grid;gap:10px}
.about-facts div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;font-size:.9375rem}
.about-facts dt{color:var(--muted)}
.about-facts dd{margin:0}
.team{margin-top:clamp(64px,7vw,104px)}
.team-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px}
.team-head p{font-size:1.125rem;color:var(--muted)}
.team-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:28px}
.person{display:flex;flex-direction:column;padding:clamp(24px,3vw,32px);border-radius:var(--r-lg);border:1px solid var(--line);background:transparent}
.person-lead{background:var(--panel-2);border-color:rgba(157,180,240,.45)}
.p-role{font-size:.875rem;font-weight:700;color:var(--peri)}
.p-name{margin-top:8px;font-family:var(--f-head);font-weight:600;font-size:clamp(1.875rem,1.4rem + 1.4vw,2.625rem);line-height:1.15;letter-spacing:-.03em}
.p-sub{margin-top:6px;font-size:.8125rem;color:var(--muted)}
.p-facts{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:9px}
.p-facts li{position:relative;padding-left:18px;font-size:.9375rem;color:var(--soft)}
.p-facts li::before{content:"";position:absolute;left:0;top:.78em;width:9px;height:2px;background:var(--peri)}
.partner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:20px 28px;align-items:center;margin-top:56px;padding:clamp(24px,3vw,36px);border-radius:var(--r-lg);border:1px dashed var(--line-2)}
.partner p{margin-top:8px;color:var(--muted)}
@media (max-width:960px){ .about-top{grid-template-columns:1fr} .team-grid{grid-template-columns:1fr 1fr} .person-lead{grid-column:1/-1} .partner{grid-template-columns:1fr} .partner .btn{justify-self:start} }
@media (max-width:600px){ .team-grid{grid-template-columns:1fr} }

/* ── 상담 문의 ──────────────────────────────────────── */
.sec-contact{background:var(--bg-2)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:start}
.big-tel{display:inline-flex;flex-direction:column;margin:28px 0;color:var(--text);text-decoration:none;font-family:var(--f-head);font-weight:700;font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.big-tel span{margin-bottom:6px;font-family:var(--f-body);font-weight:700;font-size:.875rem;letter-spacing:0;color:var(--peri)}
.big-tel:hover{color:var(--peri)}
.cmap{margin:0}
.cmap-stage{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:#0A1742}
.cmap-stage>img{position:absolute;inset:0;width:100%;height:100%;display:block}
.cmap figcaption{display:block;margin-top:8px}
.c-facts{margin:24px 0 0;display:grid;gap:10px}
.c-facts div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px}
.c-facts dt{color:var(--muted)}
.c-facts dd{margin:0}
.c-facts a{display:inline-flex;align-items:center;min-height:44px;color:var(--text)}
.c-facts div{align-items:center}
.map-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.contact-form-wrap{padding:clamp(24px,3.5vw,44px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
.form .field{margin:0 0 18px}
.form .field label{display:block;margin:0 0 8px;font-weight:700}
.form input,.form textarea,.form select{display:block;width:100%;min-height:48px;padding:11px 14px;font:inherit;font-size:1rem;color:var(--text);
  background:#0A1742;border:1px solid rgba(168,180,216,.5);border-radius:var(--r-sm);box-sizing:border-box;transition:border-color .18s,box-shadow .18s}
.form textarea{min-height:132px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:#8F9CC4}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--peri);box-shadow:0 0 0 3px rgba(157,180,240,.35)}
.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible{outline:3px solid var(--peri);outline-offset:1px}
.consent{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px 12px;align-items:center;margin:6px 0 18px;font-size:.9375rem}
.consent input[type=checkbox]{display:inline-block;width:24px;height:24px;min-height:0;margin:0;accent-color:var(--peri)}
.consent label{font-weight:700}
.consent label span{color:var(--muted);font-weight:500}
.consent details,.consent>a{grid-column:2}
.consent summary{display:flex;align-items:center;min-height:44px;color:var(--soft);cursor:pointer}
.consent details ul{margin:0 0 10px;padding-left:1.1em;font-size:.875rem;color:var(--muted)}
.consent>a{display:inline-flex;align-items:center;min-height:44px;color:var(--peri);font-weight:600}
.form .btn{width:100%}
.form-error{margin:0 0 12px;color:#FFC2B6;font-weight:700}
.form-done{margin:14px 0 0;color:var(--peri);font-weight:800}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
@media (max-width:960px){ .contact-grid{grid-template-columns:1fr} }

/* ── 바닥글 · 시안 바꿔 보기 ─────────────────────────── */
.site-footer{background:var(--foot);border-top:1px solid var(--line);padding:64px 0 112px;color:var(--muted);font-size:.9375rem}
.ft-in{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:40px;align-items:start}
.ft-logo{display:block;width:240px;max-width:100%;height:auto}
.ft-text p{margin:0 0 12px;line-height:1.85}
.ft-text a{color:var(--text)}
.ft-links{display:flex;flex-wrap:wrap;gap:0 24px;margin:4px 0 8px}
.ft-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-weight:700;text-decoration:none}
.ft-links a:hover{color:var(--peri);text-decoration:underline}
.ft-copy{font-size:.8125rem}
@media (max-width:760px){ .ft-in{grid-template-columns:1fr;gap:28px} }

.draft-switch{position:fixed;left:20px;bottom:20px;z-index:40;display:flex;gap:2px;padding:4px;border-radius:var(--r-sm);border:1px solid var(--line-2);
  background:rgba(8,18,54,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 32px -16px rgba(3,8,30,.8)}
.draft-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 13px;border-radius:var(--r-xs);color:var(--soft);font-size:.8125rem;font-weight:700;text-decoration:none;white-space:nowrap}
.draft-switch a:hover{color:var(--text);background:rgba(157,180,240,.12)}
.draft-switch a[aria-current="page"]{background:var(--peri);color:var(--on-peri)}
@media (max-width:700px){ .draft-switch{left:12px;bottom:12px} .draft-switch a{padding:0 10px;font-size:.75rem} }

/* ── 움직임 (rich · transform·opacity 만 · .js 일 때만 숨김) ─ */
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
[data-motion="rich"] .hero .in{animation:rise .8s var(--ease) both;animation-delay:calc(var(--i,0)*130ms + 120ms)}
[data-motion="rich"] .hero-bg{animation:kenburns 18s ease-in-out infinite alternate;transform-origin:60% 50%}
.js[data-motion="rich"] .reveal{opacity:0;transform:translateY(20px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);transition-delay:calc(var(--i,0)*90ms)}
.js[data-motion="rich"] .reveal-img{opacity:0;transform:scale(1.025);transition:opacity .9s var(--ease),transform 1.2s var(--ease)}
.js[data-motion="rich"] .reveal.is-in,.js[data-motion="rich"] .reveal-img.is-in{opacity:1;transform:none}
.js[data-motion="rich"] .route .route-line::before{transform:scaleX(0);transition:transform 1.4s var(--ease) .25s}
.js[data-motion="rich"] .route.is-in .route-line::before{transform:none}
.js[data-motion="rich"] .rent-scale .rs-bar{transform:scaleX(0);transition:transform 1.2s var(--ease)}
.js[data-motion="rich"] .rent-scale .rs-keep{transition-delay:.35s}
.js[data-motion="rich"] .rent-scale.is-in .rs-bar{transform:none}
@media (max-width:700px){
  :root{--dur:.55s}
  [data-motion="rich"] .hero-bg{animation:none}
  .js[data-motion="rich"] .reveal{transform:translateY(14px)}
}
@media (max-width:860px){
  .js[data-motion="rich"] .route .route-line::before{transform:scaleY(0)}
  .js[data-motion="rich"] .route.is-in .route-line::before{transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero .in,.hero-bg,.reveal,.reveal-img,.route-line::before,.rs-bar{animation:none !important;transition:none !important;opacity:1;transform:none !important}
  .lm-layer,.lm-tag,.lm-switch,.lm-switch::after,.biz-row::after,.btn{transition:none !important}
  .reveal,.reveal-img{opacity:1 !important}
}
