/* 컨설팅을더하다 홍보 홈페이지 공통 스타일. 블랙 계열 단일 테마. */
:root{
  --bg:#070708; --bg2:#0C0C0E; --surface:#121214; --raise:#19191C; --line:#26262B; --hair:#1B1B1F;
  --ink:#F4F2EC; --ink2:#B7B4AB; --ink3:#7A7872;
  --gold:#C9A96A; --gold2:#E6CC92; --gold-dim:#8E7448; --goldbg:rgba(201,169,106,.08);
  --sans:"Noto Sans KR",-apple-system,"Apple SD Gothic Neo","Malgun Gothic","Pretendard",sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;
  line-height:1.72;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-x:hidden}
h1,h2,h3,h4{margin:0;letter-spacing:-.03em;text-wrap:balance;line-height:1.28}
p{margin:0}
a{color:inherit}
img,svg{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.sec{padding:110px 0}
.sec.alt{background:var(--bg2);border-block:1px solid var(--hair)}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.26em;color:var(--gold);margin-bottom:18px;
  text-transform:uppercase}
.h2{font-size:clamp(30px,4vw,44px);font-weight:900;line-height:1.22}
.h2 em{font-style:normal;color:var(--gold2)}
.lead{font-size:17.5px;color:var(--ink2);margin-top:20px;max-width:64ch;font-weight:300}
.center{text-align:center}
.center .lead{margin-inline:auto}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);margin:0 auto;width:min(420px,60%)}

/* 로고 */
.mark{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}
.mark svg{width:34px;height:34px;flex:none}
.mark .wm{font-weight:900;font-size:19px;letter-spacing:-.04em;line-height:1}
.mark .wm i{font-style:normal;color:var(--gold)}
.mark .sub{display:block;font-size:9.5px;font-weight:600;letter-spacing:.2em;color:var(--ink3);margin-top:4px}

/* 상단바 */
.nav{position:sticky;top:0;z-index:40;background:rgba(7,7,8,.78);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:72px}
.nav ul{display:flex;gap:30px;list-style:none;margin:0 auto 0 auto;padding:0;font-size:14.5px;
  color:var(--ink2);font-weight:500}
.nav li a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;transition:.2s}
.nav li a:hover,.nav li a[aria-current="page"]{color:var(--gold2);border-bottom-color:var(--gold)}
.nav .cta{margin-left:auto}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--ink);
  border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;font-size:13px}
.btn{display:inline-block;border-radius:6px;padding:11px 22px;font-size:14.5px;font-weight:700;
  text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:.2s;
  letter-spacing:-.01em}
.btn-gold{background:var(--gold);color:#141108}
.btn-gold:hover{background:var(--gold2)}
.btn-line{border-color:var(--line);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--gold-dim);color:var(--gold2)}
.btn-lg{padding:16px 34px;font-size:16px;border-radius:8px}
@media(max-width:900px){
  .nav ul{display:none;position:absolute;left:0;right:0;top:72px;background:var(--bg2);
    border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 28px 16px}
  .nav ul li a{display:block;padding:12px 0;border-bottom:1px solid var(--hair)}
  .nav.open ul{display:flex}
  .nav .cta{display:none}
  .burger{display:block}
}

/* 히어로 (대문) */
.hero{position:relative;overflow:hidden;min-height:calc(100vh - 72px);display:flex;align-items:center;
  padding:80px 0 90px;border-bottom:1px solid var(--hair)}
.hero::before{content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 70% 45%,rgba(201,169,106,.16),transparent 60%),
    radial-gradient(ellipse 40% 40% at 15% 90%,rgba(201,169,106,.07),transparent 60%);
  pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);
  background-size:96px 96px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000,transparent 75%)}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr .85fr;gap:48px;align-items:center}
.hero .kick{font-size:12.5px;letter-spacing:.3em;color:var(--gold);font-weight:700}
.hero h1{font-size:clamp(38px,5vw,64px);font-weight:900;line-height:1.14;margin:26px 0 26px;letter-spacing:-.04em}
.hero h1 em{font-style:normal;color:var(--gold2)}
.hero .sub{font-size:clamp(16px,1.6vw,19px);color:var(--ink2);font-weight:300;max-width:52ch;line-height:1.8}
.hero .cta{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}
.hero .tags{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:38px}
.hero .tags span{font-size:12.5px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink2)}
.hero .art{position:relative}
.hero .art svg{width:100%;height:auto;display:block}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr}.hero .art{max-width:520px;margin:0 auto}}

/* 컨트롤타워 다이어그램 */
.tower .ring{fill:none;stroke:var(--line);stroke-width:1}
.tower .ring.g{stroke:var(--gold-dim);stroke-dasharray:3 7;opacity:.7}
.tower .spoke{stroke:var(--gold-dim);stroke-width:1;opacity:.8}
.tower .node{fill:var(--surface);stroke:var(--line);stroke-width:1.2}
.tower .node.g{stroke:var(--gold)}
.tower .core{fill:#0E0D0B;stroke:var(--gold);stroke-width:1.5}
.tower text{font-family:var(--sans);fill:var(--ink);font-size:15px;font-weight:700;text-anchor:middle}
.tower text.s{fill:var(--ink3);font-size:12px;font-weight:500}
.tower text.c{fill:var(--gold2);font-size:17px;font-weight:900;letter-spacing:-.02em}
.tower .orbit{animation:spin 60s linear infinite;transform-origin:300px 300px}
.tower .pulse{fill:var(--gold);animation:pulse 3s ease-in-out infinite;transform-origin:300px 300px}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.7;transform:scale(1.06)}}
@media(prefers-reduced-motion:reduce){.tower .orbit,.tower .pulse{animation:none}}

/* 띠 */
.band{background:var(--bg2);border-block:1px solid var(--hair);padding:26px 0;overflow:hidden}
.band .row{display:flex;gap:0;justify-content:space-between;flex-wrap:wrap}
.band .row span{font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--ink2);padding:8px 18px;
  position:relative}
.band .row span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--gold);margin-right:12px;vertical-align:middle}

/* 카드 */
.cards{display:grid;gap:18px;margin-top:48px}
.c2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.c3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.c4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:30px;position:relative;
  transition:border-color .25s,transform .25s}
.card:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.card .idx{font-size:11.5px;font-weight:800;color:var(--gold);letter-spacing:.2em;margin-bottom:14px}
.card h3{font-size:19px;font-weight:800;margin-bottom:10px}
.card p{font-size:14.5px;color:var(--ink2);line-height:1.75}
.card .ic{width:40px;height:40px;margin-bottom:18px}
.card .ic path,.card .ic circle,.card .ic rect{stroke:var(--gold);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.card ul{margin:14px 0 0;padding-left:18px;font-size:14px;color:var(--ink2)}
.card li{margin:6px 0}
.card.link{text-decoration:none;display:block}
.card .more{display:inline-block;margin-top:18px;font-size:13px;font-weight:700;color:var(--gold)}

/* 단계 */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;border:1px solid var(--line);
  border-radius:16px;overflow:hidden;background:var(--surface)}
.steps>div{padding:32px 28px;border-right:1px solid var(--line)}
.steps>div:last-child{border-right:0}
.steps .n{font-size:38px;font-weight:900;color:var(--gold);line-height:1;letter-spacing:-.04em}
.steps h3{font-size:17px;font-weight:800;margin:18px 0 8px}
.steps p{font-size:14px;color:var(--ink2)}
@media(max-width:960px){.steps{grid-template-columns:1fr 1fr}.steps>div:nth-child(2){border-right:0}
  .steps>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.steps{grid-template-columns:1fr}.steps>div{border-right:0;border-bottom:1px solid var(--line)}
  .steps>div:last-child{border-bottom:0}}

/* 비교 */
.vs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  margin-top:48px;background:var(--surface)}
.vs>div{padding:36px}
.vs .old{background:var(--bg2)}
.vs .new{border-left:1px solid var(--line);background:linear-gradient(180deg,var(--goldbg),transparent)}
.vs h4{font-size:13px;font-weight:800;margin-bottom:18px;letter-spacing:.14em}
.vs .old h4{color:var(--ink3)}
.vs .new h4{color:var(--gold)}
.vs ul{margin:0;padding-left:20px;font-size:15px;color:var(--ink2)}
.vs li{margin:12px 0}
.vs .new li{color:var(--ink)}
@media(max-width:760px){.vs{grid-template-columns:1fr}.vs .new{border-left:0;border-top:1px solid var(--line)}}

/* 인용/강조 박스 */
.quote{border-left:3px solid var(--gold);padding:8px 0 8px 28px;margin-top:40px;font-size:clamp(20px,2.4vw,27px);
  font-weight:700;line-height:1.5;letter-spacing:-.02em;max-width:30ch}
.quote small{display:block;margin-top:14px;font-size:13.5px;font-weight:500;color:var(--ink3);letter-spacing:0}
.note{margin-top:28px;padding:18px 22px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);
  font-size:13.5px;color:var(--ink2);line-height:1.7}
.note b{color:var(--gold2)}

/* 인사말 */
.greet{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start;margin-top:52px}
@media(max-width:800px){.greet{grid-template-columns:1fr}}
.photo{aspect-ratio:3/4;border:1px dashed var(--gold-dim);border-radius:14px;background:var(--surface);
  display:grid;place-items:center;text-align:center;padding:24px;position:relative;overflow:hidden}
.photo::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,var(--goldbg),transparent 70%)}
.photo span{position:relative;font-size:13px;color:var(--ink3);line-height:1.7}
.greet .body{font-size:17px;color:var(--ink2);line-height:1.95;font-weight:300}
.greet .body p+p{margin-top:22px}
.greet .body b{color:var(--ink);font-weight:700}
.greet .sign{margin-top:36px;font-size:14px;color:var(--ink3)}
.greet .sign b{display:block;font-size:19px;color:var(--ink);font-weight:800;margin-top:6px}

/* 조직도 */
.org{margin-top:56px}
.org .top{display:flex;justify-content:center}
.org .box{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:14px 22px;
  font-size:15px;font-weight:700;text-align:center}
.org .box.ceo{border-color:var(--gold);background:linear-gradient(180deg,var(--goldbg),var(--surface));
  padding:20px 44px;font-size:18px;font-weight:900;color:var(--gold2)}
.org .stem{width:1px;height:40px;background:var(--gold-dim);margin:0 auto}
.org .groups{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;padding-top:24px}
.org .groups::before{content:"";position:absolute;top:0;left:12.5%;right:12.5%;height:1px;background:var(--gold-dim)}
.org .group{position:relative}
.org .group::before{content:"";position:absolute;top:-24px;left:50%;width:1px;height:24px;background:var(--gold-dim)}
.org .group h3{font-size:14px;font-weight:800;letter-spacing:.06em;color:var(--gold);text-align:center;
  padding:12px;border:1px solid var(--gold-dim);border-radius:10px;background:var(--bg2)}
.org .group ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.org .group li{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:11px 14px;
  font-size:14px;font-weight:600;text-align:center;color:var(--ink)}
.org .group li small{display:block;font-size:11.5px;font-weight:400;color:var(--ink3);margin-top:2px}
@media(max-width:960px){.org .groups{grid-template-columns:1fr 1fr}.org .groups::before{display:none}
  .org .group::before{display:none}}
@media(max-width:520px){.org .groups{grid-template-columns:1fr}}

/* 부서 표 */
.dept{margin-top:52px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}
.dept .grp{padding:14px 26px;background:var(--bg2);font-size:12.5px;font-weight:800;letter-spacing:.2em;
  color:var(--gold);border-top:1px solid var(--line)}
.dept .grp:first-child{border-top:0}
.dept .row{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:20px 26px;border-top:1px solid var(--hair)}
.dept .row b{font-size:15.5px;font-weight:800}
.dept .row p{font-size:14.5px;color:var(--ink2)}
@media(max-width:640px){.dept .row{grid-template-columns:1fr;gap:6px}}

/* 서비스 상세 */
.svc{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;padding:64px 0;border-top:1px solid var(--line);align-items:start}
.svc:first-of-type{border-top:0}
.svc .no{font-size:12px;letter-spacing:.24em;color:var(--gold);font-weight:800}
.svc h3{font-size:clamp(24px,3vw,32px);font-weight:900;margin-top:12px}
.svc .tag{font-size:14px;color:var(--ink3);margin-top:10px}
.svc .desc{font-size:16px;color:var(--ink2);font-weight:300;line-height:1.85}
.svc .desc b{color:var(--ink);font-weight:700}
.svc .checks{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.svc .checks li{font-size:14px;color:var(--ink2);padding-left:22px;position:relative}
.svc .checks li::before{content:"";position:absolute;left:0;top:10px;width:10px;height:1.5px;background:var(--gold)}
@media(max-width:820px){.svc{grid-template-columns:1fr;gap:20px;padding:48px 0}.svc .checks{grid-template-columns:1fr}}

/* 사례 */
.case{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:36px;display:grid;
  grid-template-columns:200px 1fr;gap:36px;margin-top:20px}
.case .who{font-size:12px;letter-spacing:.2em;color:var(--gold);font-weight:800}
.case .who b{display:block;font-size:22px;letter-spacing:-.03em;color:var(--ink);font-weight:900;margin-top:10px;line-height:1.3}
.case .who small{display:block;font-size:12.5px;color:var(--ink3);font-weight:400;margin-top:8px;letter-spacing:0}
.case dl{margin:0;display:grid;gap:18px}
.case dt{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--ink3)}
.case dd{margin:6px 0 0;font-size:15px;color:var(--ink2);line-height:1.8}
.case dd b{color:var(--ink)}
@media(max-width:760px){.case{grid-template-columns:1fr;gap:20px;padding:28px}}

/* 커뮤니티 */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
@media(max-width:820px){.pillars{grid-template-columns:1fr}}
.rules{margin-top:48px;border-top:1px solid var(--line)}
.rules>div{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}
.rules .n{font-size:28px;font-weight:900;color:var(--gold);letter-spacing:-.04em;line-height:1}
.rules h3{font-size:18px;font-weight:800;margin-bottom:6px}
.rules p{font-size:14.5px;color:var(--ink2)}

/* 마무리 CTA */
.close{position:relative;overflow:hidden;padding:120px 0;text-align:center;border-top:1px solid var(--hair)}
.close::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 50% 100%,rgba(201,169,106,.18),transparent 65%);pointer-events:none}
.close .wrap{position:relative}
.close h2{font-size:clamp(30px,4.4vw,50px);font-weight:900}
.close p{margin:20px auto 0;max-width:56ch;color:var(--ink2);font-size:17px;font-weight:300}
.close .cta{display:flex;justify-content:center;gap:14px;margin-top:40px;flex-wrap:wrap}

/* 푸터 */
.foot{border-top:1px solid var(--line);background:var(--bg2);padding:56px 0 40px;font-size:13.5px;color:var(--ink3)}
.foot .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.foot h4{font-size:12px;letter-spacing:.2em;color:var(--ink2);margin-bottom:14px;font-weight:800}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:8px 0}
.foot a{text-decoration:none;color:var(--ink3)}
.foot a:hover{color:var(--gold2)}
.foot .ph{color:var(--gold-dim)}
.foot .copy{margin-top:40px;padding-top:20px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:8px;font-size:12.5px}
@media(max-width:760px){.foot .grid{grid-template-columns:1fr}}

/* 페이지 머리 */
.phead{padding:110px 0 70px;border-bottom:1px solid var(--hair);position:relative;overflow:hidden}
.phead::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 80% 50%,rgba(201,169,106,.12),transparent 60%);pointer-events:none}
.phead .wrap{position:relative}
.phead h1{font-size:clamp(38px,5.4vw,66px);font-weight:900;letter-spacing:-.04em;margin-top:18px}
.phead h1 em{font-style:normal;color:var(--gold2)}
.phead .lead{font-size:18px}

/* 등장 효과 */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ── 역동성: 히어로 등장 ── */
.hero .kick,.hero h1,.hero .sub,.hero .cta,.hero .tags{opacity:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero h1{animation-delay:.12s}.hero .sub{animation-delay:.28s}.hero .cta{animation-delay:.42s}.hero .tags{animation-delay:.56s}
.hero .art{opacity:0;animation:fade 1.4s ease .3s forwards}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes fade{to{opacity:1}}
.hero .glow{position:absolute;inset:-20%;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse 30% 30% at calc(50% + var(--mx,0px)) calc(50% + var(--my,0px)),rgba(201,169,106,.10),transparent 70%);
  transition:background-position .2s}
.tower .ring.slow{animation:spin 140s linear infinite reverse;transform-origin:300px 300px;stroke-dasharray:2 10;stroke:var(--gold-dim);opacity:.5}
.tower .pk{fill:var(--gold2)}
@media(prefers-reduced-motion:reduce){.hero .kick,.hero h1,.hero .sub,.hero .cta,.hero .tags,.hero .art{animation:none;opacity:1}.tower .ring.slow{animation:none}}

/* ── 흐르는 띠 ── */
.band .track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.band .track span{font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--ink2);padding:6px 34px;white-space:nowrap}
.band .track span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:14px;vertical-align:middle}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.band .track{animation:none}}

/* ── 숫자 띠 ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
.stats>div{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:28px 26px;position:relative;overflow:hidden}
.stats>div::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.stats .n{font-size:52px;font-weight:900;color:var(--gold2);letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.stats .n small{font-size:18px;font-weight:700;color:var(--gold);margin-left:4px;letter-spacing:0}
.stats .l{font-size:14.5px;color:var(--ink2);margin-top:12px}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.stats{grid-template-columns:1fr}}

/* ── 전문인력 × AI ── */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:52px}
@media(max-width:900px){.duo{grid-template-columns:1fr}}
.duo .pts{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:16px}
.duo .pts li{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start}
.duo .pts .k{width:40px;height:40px;border:1px solid var(--gold-dim);border-radius:10px;display:grid;place-items:center;
  font-size:12px;font-weight:900;color:var(--gold);letter-spacing:.04em}
.duo .pts b{display:block;font-size:16px;font-weight:800;margin-bottom:3px}
.duo .pts p{font-size:14.5px;color:var(--ink2)}
.console{border:1px solid var(--line);border-radius:16px;background:#0B0B0D;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(201,169,106,.06)}
.console .bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--hair);font-size:12px;color:var(--ink3);letter-spacing:.08em}
.console .bar i{width:9px;height:9px;border-radius:50%;background:var(--line);display:inline-block}
.console .bar i:first-child{background:var(--gold-dim)}
.console .bar span{margin-left:auto}
.console .log{padding:20px 22px;min-height:290px;font-family:ui-monospace,"SF Mono",Menlo,Consolas,"Noto Sans KR",monospace;font-size:13.5px;line-height:1.9;color:var(--ink2)}
.console .log div{opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s;white-space:pre-wrap}
.console .log div.on{opacity:1;transform:none}
.console .log .t{color:var(--ink3);margin-right:10px}
.console .log .ok{color:var(--gold2)}
.console .log .wr{color:#E0B45C}
.console .log .cur::after{content:"▍";color:var(--gold);animation:blink 1s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
.console .foot{border-top:1px solid var(--hair);padding:12px 22px;font-size:12px;color:var(--ink3);display:flex;gap:18px;flex-wrap:wrap}
.console .foot b{color:var(--ink2);font-weight:600}

/* ── 신뢰 원칙 띠 ── */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:48px;background:var(--surface)}
.trust>div{padding:30px 28px;border-right:1px solid var(--line)}
.trust>div:last-child{border-right:0}
.trust h3{font-size:16.5px;font-weight:800;margin:14px 0 8px}
.trust p{font-size:14px;color:var(--ink2)}
.trust .ic{width:36px;height:36px}
.trust .ic path,.trust .ic circle,.trust .ic rect{stroke:var(--gold);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:820px){.trust{grid-template-columns:1fr}.trust>div{border-right:0;border-bottom:1px solid var(--line)}.trust>div:last-child{border-bottom:0}}

/* ── 사진 ── */
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:2}
.people{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
@media(max-width:960px){.people{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.people{grid-template-columns:1fr}}
.person{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;transition:border-color .25s,transform .25s}
.person:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.person .pic{aspect-ratio:3/4;position:relative;background:linear-gradient(180deg,var(--raise),var(--bg2));display:grid;place-items:center}
.person .pic span{font-size:12.5px;color:var(--ink3);text-align:center;line-height:1.6;padding:16px}
.person .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.person .pic::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,transparent,rgba(7,7,8,.75));pointer-events:none}
.person .meta{padding:18px 20px 22px}
.person .role{font-size:11.5px;font-weight:800;letter-spacing:.2em;color:var(--gold)}
.person .name{font-size:18px;font-weight:800;margin-top:6px}
.person p{font-size:13.5px;color:var(--ink2);margin-top:8px;line-height:1.7}

/* 대표 소개 띠 (대문) */
.ceo{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:end;margin-top:8px}
@media(max-width:900px){.ceo{grid-template-columns:1fr}}
.ceo .fig{position:relative;aspect-ratio:3/4;max-width:420px;justify-self:end;width:100%;border-radius:16px;overflow:hidden;
  background:radial-gradient(ellipse at 50% 100%,rgba(201,169,106,.22),transparent 65%),var(--surface);border:1px solid var(--line)}
.ceo .fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.ceo .fig::after{content:"";position:absolute;inset:auto 0 0 0;height:35%;background:linear-gradient(180deg,transparent,rgba(7,7,8,.85));pointer-events:none}
.ceo .cap{position:absolute;left:24px;bottom:22px;z-index:2}
.ceo .cap b{display:block;font-size:20px;font-weight:900}
.ceo .cap span{font-size:12px;letter-spacing:.18em;color:var(--gold)}
@media(max-width:900px){.ceo .fig{justify-self:start;max-width:360px}}

/* 조직도 직속 */
.org .staff{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:820px;margin:0 auto}
.org .staff div{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px}
.org .staff .av{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none;background:var(--raise);border:1px solid var(--gold-dim)}
.org .staff .av img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.org .staff b{display:block;font-size:14px;font-weight:800}
.org .staff small{font-size:11.5px;color:var(--ink3)}
.org .box.ceo-box{display:flex;align-items:center;gap:16px;padding:14px 28px 14px 14px}
.org .box.ceo-box .av{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--raise);border:1px solid var(--gold)}
.org .box.ceo-box .av img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}

/* 조직도 인원 표기 */
.org .group h3 span{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ink3);margin-top:3px}
.org .box.ceo-box small{display:block;font-size:12px;font-weight:600;color:var(--ink2);letter-spacing:.04em;margin-top:2px}
.dept .grp{display:grid;grid-template-columns:220px 1fr 90px;gap:20px}
.dept .grp span:nth-child(2){color:var(--ink3);font-weight:600;letter-spacing:.04em}
.dept .grp span:nth-child(3){text-align:right;color:var(--ink3);font-weight:600;letter-spacing:.06em}
.dept .row{grid-template-columns:220px 1fr 90px}
.dept .row .cnt{text-align:right;font-size:14px;font-weight:700;color:var(--gold2);font-variant-numeric:tabular-nums;white-space:nowrap}
.dept .total{display:flex;justify-content:space-between;padding:18px 26px;border-top:1px solid var(--gold-dim);background:var(--goldbg);font-size:15px}
.dept .total b{font-weight:900;color:var(--gold2)}
.dept .total span{font-weight:700;color:var(--ink)}
@media(max-width:640px){.dept .grp{grid-template-columns:1fr auto auto;gap:10px}.dept .row{grid-template-columns:1fr auto}.dept .row p{grid-column:1/-1}}

/* ── 사진 장식: 잘라낸 인물을 어두운 금빛 배경 위에 ── */
.photo,.person .pic,.ceo .fig{background:
  radial-gradient(ellipse 70% 55% at 50% 78%,rgba(201,169,106,.28),transparent 70%),
  linear-gradient(180deg,#15151A 0%,#0B0B0D 100%)}
.photo::after,.person .pic::before,.ceo .fig::before{content:"";position:absolute;left:50%;top:22%;width:78%;aspect-ratio:1;
  transform:translateX(-50%);border-radius:50%;border:1px solid rgba(201,169,106,.28);
  box-shadow:0 0 0 18px rgba(201,169,106,.05),0 0 80px rgba(201,169,106,.12) inset;pointer-events:none}
.photo{border:1px solid var(--line)}
.photo img{object-fit:contain;object-position:center bottom;top:6%;height:94%;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6))}
.person .pic img{object-fit:contain;object-position:center bottom;top:6%;height:94%;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6))}
.ceo .fig{border:1px solid var(--gold-dim)}
.ceo .fig img{object-fit:contain;object-position:center bottom;top:5%;height:95%;filter:drop-shadow(0 24px 40px rgba(0,0,0,.65))}
.ceo .fig::before{top:14%;width:82%}
.creds{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.creds li{font-size:12.5px;font-weight:600;color:var(--ink2);border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--surface)}
.creds li:first-child{border-color:var(--gold-dim);color:var(--gold2)}
.org .staff .av,.org .box.ceo-box .av{background:radial-gradient(circle at 50% 80%,rgba(201,169,106,.35),#101013 70%)}
.org .staff .av img,.org .box.ceo-box .av img{object-fit:cover;object-position:center 18%}

/* 팀 라인업 */
.lineup{position:relative;margin-top:48px;border:1px solid var(--gold-dim);border-radius:22px;overflow:hidden;
  background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(201,169,106,.3),transparent 65%),linear-gradient(180deg,#141418,#09090B);
  display:flex;justify-content:center;align-items:flex-end;gap:0;padding:56px 24px 0;min-height:420px}
.lineup::before{content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:64px 64px;
  mask-image:radial-gradient(ellipse 60% 70% at 50% 40%,#000,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 40%,#000,transparent 75%)}
.lineup::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,transparent,rgba(7,7,8,.92));pointer-events:none}
.lineup figure{margin:0 -22px 0;position:relative;flex:0 0 auto;z-index:1}
.lineup figure img{display:block;height:340px;width:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.7))}
.lineup figure.lead-fig{z-index:3}
.lineup figure.lead-fig img{height:400px}
.lineup figure:nth-child(2),.lineup figure:nth-child(4){z-index:2}
.lineup figcaption{position:absolute;left:0;right:0;bottom:18px;text-align:center;z-index:5}
.lineup figcaption span{display:block;font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:800}
.lineup figcaption b{display:block;font-size:16px;font-weight:900;color:var(--ink);text-shadow:0 2px 12px rgba(0,0,0,.9)}
@media(max-width:900px){.lineup{justify-content:flex-start;overflow-x:auto;padding:40px 16px 0}.lineup figure img{height:260px}.lineup figure.lead-fig img{height:300px}}

/* 팀 라인업 크기 정리 */
.lineup figure img{height:320px}
.lineup figure.lead-fig img{height:360px}

/* ── 조직도 강화 ── */
.org{position:relative;padding:48px 32px 40px;border:1px solid var(--line);border-radius:24px;overflow:hidden;
  background:radial-gradient(ellipse 50% 30% at 50% 0%,rgba(201,169,106,.16),transparent 70%),linear-gradient(180deg,#121215,#09090B)}
.org::before{content:"";position:absolute;inset:0;opacity:.3;pointer-events:none;
  background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:56px 56px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 80%)}
.org>*{position:relative}
.org .box.ceo{box-shadow:0 0 0 6px rgba(201,169,106,.06),0 20px 60px rgba(0,0,0,.6)}
.org .box.ceo-box .av{width:64px;height:64px;box-shadow:0 0 0 4px rgba(201,169,106,.15)}
.org .staff div{background:linear-gradient(180deg,var(--raise),var(--surface))}
.org .staff .av{width:48px;height:48px}
.org .groups.g3{grid-template-columns:repeat(3,1fr);gap:24px}
.org .groups.g3::before{left:16.67%;right:16.67%}
.org .group{padding:18px 16px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.015)}
.org .group h3{font-size:15px;letter-spacing:.1em;background:linear-gradient(180deg,var(--goldbg),transparent);border-color:var(--gold)}
.org .group h3 span{color:var(--gold-dim)}
.org .group ul{counter-reset:dept}
.org .group li{position:relative;text-align:left;padding:11px 14px 11px 46px;background:linear-gradient(180deg,var(--raise),var(--surface));
  transition:border-color .25s,transform .25s;counter-increment:dept}
.org .group li::before{content:counter(dept,decimal-leading-zero);position:absolute;left:14px;top:12px;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--gold)}
.org .group li:hover{border-color:var(--gold-dim);transform:translateX(3px)}
.org .group li small{color:var(--ink3)}
.reveal.in .org .group li{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.reveal.in .org .group li:nth-child(1){animation-delay:.05s}.reveal.in .org .group li:nth-child(2){animation-delay:.12s}
.reveal.in .org .group li:nth-child(3){animation-delay:.19s}.reveal.in .org .group li:nth-child(4){animation-delay:.26s}
.reveal.in .org .group li:nth-child(5){animation-delay:.33s}.reveal.in .org .group li:nth-child(6){animation-delay:.4s}
.org .kpis{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:34px}
.org .kpis span{font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--ink2);border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:var(--surface)}
.org .kpis span b{color:var(--gold2);font-weight:900;margin-right:4px}
@media(max-width:960px){.org{padding:32px 16px}.org .groups.g3{grid-template-columns:1fr}.org .groups.g3::before{display:none}}

/* 인물 카드: 어깨선이 카드 폭을 채우도록 덮기 */
.person .pic img{object-fit:cover;object-position:center top;top:0;height:100%}
.person .pic::after{height:50%;background:linear-gradient(180deg,transparent,rgba(7,7,8,.85))}
.photo img{object-fit:cover;object-position:center top;top:0;height:100%}
.lineup::after{height:150px}

/* 언론과 공개 기록 */
.press{margin-top:36px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:26px 28px}
.press h3{font-size:16px;font-weight:800}
.press>p{font-size:13px;color:var(--ink3);margin-top:4px}
.press ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:16px}
.press li{display:grid;gap:4px;padding-top:16px;border-top:1px solid var(--hair)}
.press li b{font-size:15px;font-weight:800}
.press li>span{font-size:14px;color:var(--ink2);line-height:1.7}
.press .links{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.press .links a{font-size:12px;font-weight:700;color:var(--gold2);text-decoration:none;border:1px solid var(--gold-dim);border-radius:6px;padding:4px 10px;background:var(--bg2)}
.press .links a:hover{background:var(--goldbg)}
.press .btn{margin-top:22px}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.btn-ghost{border:1px solid var(--line);color:var(--ink2);background:transparent;font-weight:600}
.btn-ghost:hover{color:var(--gold2);border-color:var(--gold-dim)}
.btn-ghost::before{content:"N";display:inline-block;width:18px;height:18px;border-radius:4px;background:#03C75A;color:#fff;font-weight:900;font-size:11px;line-height:18px;text-align:center;margin-right:8px;vertical-align:-3px}

/* ── 컨트롤타워 다이어그램 확대·역동성 ── */
.hero .wrap{grid-template-columns:1.05fr 1fr;gap:32px}
.hero .art{max-width:none}
.hero .art svg{width:116%;margin:-8% 0 -8% -8%}
@media(max-width:960px){.hero .art{max-width:600px}.hero .art svg{width:100%;margin:0}}
.tower text{font-size:19px;font-weight:900}
.tower text.s{font-size:13px;font-weight:500}
.tower text.c{font-size:23px;font-weight:900}
.tower .coreg text.s{font-size:13.5px;fill:var(--ink2)}
.tower .node{stroke-width:1.4;fill:#0F0F12}
.tower .core{fill:#0E0D0B;stroke:var(--gold);stroke-width:2;filter:drop-shadow(0 0 18px rgba(201,169,106,.55))}
.tower .core-ring{fill:none;stroke:var(--gold-dim);stroke-width:1;stroke-dasharray:6 6;animation:spin 30s linear infinite;transform-origin:300px 300px}
.tower .halo{animation:halo 4s ease-in-out infinite;transform-origin:300px 300px}
@keyframes halo{0%,100%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
.tower .spoke{stroke:var(--gold-dim);opacity:.55;stroke-width:1.2}
.tower .spoke.flow{stroke:var(--gold2);opacity:.9;stroke-width:1.6;stroke-dasharray:3 14;animation:flow 1.4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-34}}
.tower .pk{fill:var(--gold2);filter:drop-shadow(0 0 6px rgba(230,204,146,.9))}
.tower .pk.out{fill:var(--gold);opacity:.7}
.tower .nodeg{transform-box:fill-box;transform-origin:center;animation:breathe 5s ease-in-out infinite}
.tower .nodeg.n2{animation-delay:.8s}.tower .nodeg.n3{animation-delay:1.6s}.tower .nodeg.n4{animation-delay:2.4s}.tower .nodeg.n5{animation-delay:3.2s}.tower .nodeg.n6{animation-delay:4s}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.tower .nodeg:hover .node{stroke:var(--gold);fill:#15130E}
.tower .orbit{animation-duration:36s}
.tower .pulse{animation-duration:2.6s}
@media(prefers-reduced-motion:reduce){.tower .halo,.tower .spoke.flow,.tower .nodeg,.tower .core-ring{animation:none}}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr;gap:40px}.hero .art svg{width:100%;margin:0}}

/* 라인업: 모두 같은 높이로 머리선을 맞추고, 아래는 깊게 가린다 */
.lineup figure img{height:330px}
.lineup figure.lead-fig img{height:330px}
.lineup::after{height:210px;background:linear-gradient(180deg,transparent,rgba(7,7,8,.6) 45%,rgba(7,7,8,.97))}

/* 단체 사진 */
.teamphoto{margin:48px 0 0;border:1px solid var(--gold-dim);border-radius:22px;overflow:hidden;background:var(--surface)}
.teamphoto img{display:block;width:100%;height:auto}
.teamphoto figcaption{padding:12px 20px;font-size:13px;color:var(--ink3);border-top:1px solid var(--hair)}

/* 조직도 연결선에 흐름 */
.org .stem{background:linear-gradient(180deg,var(--gold-dim),var(--gold));box-shadow:0 0 12px rgba(201,169,106,.35)}
.org .groups::before{background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.org .group::before{background:linear-gradient(180deg,var(--gold),var(--gold-dim))}
.org .group h3{box-shadow:0 0 24px rgba(201,169,106,.12) inset}
.org .box.ceo{animation:glowpulse 4s ease-in-out infinite}
@keyframes glowpulse{0%,100%{box-shadow:0 0 0 6px rgba(201,169,106,.06),0 20px 60px rgba(0,0,0,.6)}50%{box-shadow:0 0 0 12px rgba(201,169,106,.10),0 0 50px rgba(201,169,106,.25),0 20px 60px rgba(0,0,0,.6)}}
@media(prefers-reduced-motion:reduce){.org .box.ceo{animation:none}}
.lineup figure img{-webkit-mask-image:linear-gradient(180deg,#000 62%,rgba(0,0,0,.6) 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,rgba(0,0,0,.6) 82%,transparent 100%)}
.lineup::after{height:120px;background:linear-gradient(180deg,transparent,rgba(7,7,8,.7))}

/* 라인업: 다섯 명이 한 화면에 들어오도록 크기 조정, 얼굴이 큰 사진은 낮게 */
.lineup{padding:48px 16px 0}
.lineup figure{margin:0 -18px}
.lineup figure img{height:270px}
.lineup figure.lead-fig img{height:310px}
.lineup figure.wide img{height:200px}
@media(max-width:900px){.lineup figure img{height:220px}.lineup figure.lead-fig img{height:250px}.lineup figure.wide img{height:160px}}

/* 라인업: 얼굴 크기를 맞춘 정규화 사진(n-*.png), 같은 높이, 부드러운 겹침 */
.lineup{padding:40px 12px 0}
.lineup figure{margin:0 -30px}
.lineup figure img,.lineup figure.lead-fig img,.lineup figure.wide img{height:400px;filter:drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(0 22px 34px rgba(0,0,0,.75))}
.lineup figure:nth-child(1) img,.lineup figure:nth-child(2) img{filter:drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(-24px 16px 30px rgba(0,0,0,.75))}
.lineup figure:nth-child(4) img,.lineup figure:nth-child(5) img{filter:drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(24px 16px 30px rgba(0,0,0,.75))}
.lineup::after{height:150px}
@media(max-width:900px){.lineup figure img,.lineup figure.lead-fig img,.lineup figure.wide img{height:300px}.lineup figure{margin:0 -22px}}

/* 정규화 사진을 쓰는 카드·아바타: 얼굴 위치가 같으므로 같은 프레임으로 자른다 */
.person .pic img{object-fit:cover;object-position:center 0;top:0;height:100%}
.org .staff .av img,.org .box.ceo-box .av img{object-fit:cover;object-position:center 8%;transform:scale(1.25);transform-origin:center 30%}
.person .pic img + span{display:none}
.org .staff .av img,.org .box.ceo-box .av img{object-position:center 0;transform:scale(1.7);transform-origin:center 24%}
