/* brand/v2.css — "AC계의 애플" 리디자인 언어, 실제 페이지 적용판 (2026-09-21)
   적용 범위: 홈(Numbers 이하) · 뉴스 · 프로그램(네 단계·클로징) · 팀(스크롤 장면·벤처파트너·클로징)
   원칙: 정밀하지만 둥글고 부드럽게. 큰 여백, 큰 라운드, 낮은 채도, 스크롤이 곧 조작 장치.
   refined/mobile/home-mobile.css 의 전역 규칙은 :not(.v2 *) 로 이 영역을 비켜간다 — 여기서는 !important 를 쓰지 않는다.
   --nav: 헤더 높이(데스크톱 88 · 모바일 68, refined/mobile.css 와 같은 값). sticky 요소는 모두 이 변수를 기준으로 붙는다. */
.v2 { --ink:#11113A; --blue:#4031FF; --purple:#8C43FF; --neon:#E6F54A; --paper:#F7F7F4; --white:#fff; --mute:#6B6B8A; --line:#E4E4EE;
  --sans:'Pretendard Variable',Pretendard,system-ui,sans-serif; --serif:'Instrument Serif',Georgia,serif;
  --r-xl:40px; --r-lg:28px; --r-md:20px; --shadow:0 24px 60px rgba(17,17,58,.10); --ease:cubic-bezier(.2,.8,.2,1); --nav:88px;
  font-family:var(--sans); color:var(--ink); background:var(--white); letter-spacing:-.015em; overflow-x:clip; min-width:0; }
.v2 *, .v2 *::before, .v2 *::after { box-sizing:border-box; }
/* 기본 여백 리셋은 :where()로 우선순위를 0으로 — .v2-kicker/.v2-lede/.v2-step-label 같은 개별 여백 규칙이 이겨야 한다 (2026-09-22) */
.v2 :where(p) { margin:0; }
.v2 :where(h1, h2, h3) { margin:0; font-family:inherit; }
.v2 img { max-width:100%; }
.v2-wrap { max-width:1280px; margin:0 auto; padding:0 40px; }
.v2-eyebrow { margin:0 0 14px; font:600 14px/1.4 var(--sans); letter-spacing:.02em; color:var(--blue); text-transform:uppercase; }
.v2-eyebrow-neon { color:var(--neon); }
.v2-h2 { margin:0; font-weight:700; font-size:clamp(30px,4vw,54px); line-height:1.12; letter-spacing:-.04em; word-break:keep-all; }
.v2-lede { margin:16px 0 0; max-width:34em; font-size:clamp(16px,1.3vw,19px); line-height:1.6; color:var(--mute); word-break:keep-all; }
.v2-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:16px 26px; border-radius:999px; font-weight:700; font-size:16px; line-height:1.2; text-decoration:none; letter-spacing:-.01em; transition:transform .35s var(--ease),background .25s ease,color .25s ease; will-change:transform; cursor:pointer; border:0; font-family:inherit; }
.v2-btn:hover { transform:translateY(-2px); }
.v2-btn-neon { background:var(--neon); color:var(--ink); } .v2-btn-neon:hover { background:#fff; }
.v2-btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.45); } .v2-btn-ghost:hover { background:rgba(255,255,255,.12); }
.v2-btn-ink { background:var(--ink); color:#fff; } .v2-btn-ink:hover { background:var(--blue); color:#fff; }
.v2-btn-paper { background:#fff; color:var(--ink); } .v2-btn-paper:hover { background:var(--ink); color:#fff; }
.v2-btn-sm { padding:11px 18px; font-size:14px; }
.v2-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* 페이지 히어로(다크 밴드) */
.v2-band { position:relative; overflow:hidden; background:radial-gradient(90% 70% at 85% 10%,#26267a 0%,var(--ink) 60%); color:#fff; }
.v2-band-inner { position:relative; z-index:1; max-width:1280px; margin:0 auto; padding:clamp(56px,9vh,96px) 40px clamp(48px,7vh,72px); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(24px,4vw,64px); align-items:center; }
.v2-band .v2-h1 { margin:0 0 18px; font-weight:700; font-size:clamp(38px,5.4vw,80px); line-height:1.04; letter-spacing:-.045em; word-break:keep-all; white-space:pre-line; }
.v2-band .v2-h1 em { font-style:normal; color:var(--neon); }
.v2-band .v2-lede { color:rgba(255,255,255,.8); }
.v2-band-art { position:relative; min-height:280px; }
.v2-band-art img { position:absolute; height:auto; filter:drop-shadow(0 30px 40px rgba(0,0,0,.45)); animation:v2-bob 8s ease-in-out infinite; pointer-events:none; }
.v2-kicker { display:inline-flex; align-items:center; gap:10px; margin:0 0 22px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); font:600 13px/1 var(--sans); letter-spacing:.02em; }
.v2-dot { width:8px; height:8px; border-radius:50%; background:var(--neon); box-shadow:0 0 0 4px rgba(230,245,74,.25); }
.v2-stat-row { display:flex; flex-wrap:wrap; gap:clamp(20px,3vw,44px); margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); }
.v2-stat b { display:block; font-weight:800; font-size:clamp(34px,4vw,56px); line-height:1; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.v2-stat b small { font-size:.4em; margin-left:4px; font-weight:700; }
.v2-stat > span { display:block; margin-top:6px; font-size:14px; color:rgba(255,255,255,.7); }
@keyframes v2-bob { 0%,100% { translate:0 0; rotate:0deg; } 50% { translate:0 -16px; rotate:3deg; } }
@keyframes v2-slide { to { transform:translateX(-50%); } }

/* 밴드 안 사진 플레이트 (팀) · 3D 아트 (포트폴리오) · 투자기업 이름 띠 */
.v2-band-photo { position:relative; margin:0; border-radius:28px; overflow:visible; }
.v2-band-photo > img:first-child { display:block; width:100%; height:100%; max-height:440px; object-fit:cover; object-position:50% 40%; border-radius:28px; border:1px solid rgba(255,255,255,.14); box-shadow:0 30px 60px rgba(0,0,0,.4); }
.v2-band-photo-obj { position:absolute; left:-28px; bottom:-26px; width:clamp(90px,10vw,150px); height:auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.45)); animation:v2-bob 8s ease-in-out infinite; pointer-events:none; }
.pf-art { min-height:300px; }
.pf-art-a { width:clamp(180px,22vw,340px); right:4%; top:-6%; }
.pf-art-b { width:clamp(120px,14vw,220px); left:6%; bottom:-8%; animation-delay:-3s; }
.pf-wall { border-top:1px solid rgba(255,255,255,.14); background:rgba(13,13,44,.7); }
.pf-wall-item { display:inline-block; padding:16px 28px; font-weight:800; font-size:clamp(22px,2.6vw,34px); letter-spacing:-.04em; color:rgba(255,255,255,.55); white-space:nowrap; }
.pf-wall-item:nth-child(3n) { color:var(--neon); }

/* 필터 pill (뉴스) */
.v2-filters { position:sticky; top:var(--nav); z-index:20; background:rgba(255,255,255,.86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.v2-filters-in { max-width:1280px; margin:0 auto; padding:12px 40px; display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.v2-filters-in::-webkit-scrollbar { display:none; }
.v2-pill { flex:0 0 auto; min-height:40px; padding:10px 16px; border-radius:999px; border:1px solid var(--line); background:#fff; color:var(--ink); font:600 14px/1 var(--sans); cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:background .2s,color .2s,border-color .2s; }
.v2-pill small { font-size:12px; font-weight:600; opacity:.55; }
.v2-pill[aria-pressed="true"], .v2-pill:hover { background:var(--ink); color:#fff; border-color:var(--ink); }
[data-v2-tag].is-hidden, [data-v2-tag].is-more { display:none; }

/* 리빌 · 마키 · 섹션 */
.v2 [data-reveal] { opacity:0; translate:0 28px; transition:opacity .8s var(--ease) var(--d,0ms),translate .8s var(--ease) var(--d,0ms); }
.v2 [data-reveal].is-in { opacity:1; translate:0 0; }
.v2-marquee { overflow:hidden; white-space:nowrap; }
.v2-marquee-track { display:inline-flex; animation:v2-slide 36s linear infinite; }
.v2-section { padding:clamp(64px,9vh,110px) 0; }
.v2-section-paper { background:var(--paper); }
.v2-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; }
.v2-head .v2-lede { margin:0; }

/* 클로징 플레이트 (홈·프로그램·팀 공통) */
.v2-close { padding:0 40px clamp(48px,7vh,80px); }
.v2-close-plate { position:relative; overflow:hidden; max-width:1280px; margin:0 auto; padding:clamp(48px,7vw,84px) clamp(32px,5vw,72px); border-radius:var(--r-xl); background:var(--blue); color:#fff; }
.v2-close-img { position:absolute; right:4%; top:8%; width:clamp(120px,16vw,240px); height:auto; filter:drop-shadow(0 30px 40px rgba(0,0,0,.3)); animation:v2-bob 8s ease-in-out infinite; pointer-events:none; }
.v2-close-title { margin:0 0 20px; max-width:12em; font-weight:700; font-size:clamp(34px,5.4vw,72px); line-height:1.06; letter-spacing:-.05em; word-break:keep-all; white-space:pre-line; }
.v2-close-body { margin:0 0 28px; max-width:32em; font-size:17px; line-height:1.65; color:rgba(255,255,255,.85); word-break:keep-all; }
.v2-close-meta { display:flex; flex-wrap:wrap; gap:28px; margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,.35); font-size:15px; color:rgba(255,255,255,.85); }
.v2-close-meta b { font:400 16px/1 var(--serif); margin-right:8px; opacity:.8; }

/* ═══ 홈 · 3. 숫자 벤토 ═══ */
.v2-stats { padding:clamp(72px,10vh,120px) 0; background:var(--paper); }
.v2-bento { list-style:none; margin:40px 0 0; padding:0; display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:minmax(240px,auto); gap:16px; }
.v2-cell { position:relative; overflow:hidden; border-radius:var(--r-lg); padding:32px; background:#fff; border:1px solid var(--line); transition:transform .5s var(--ease),box-shadow .5s ease; }
.v2-cell:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.v2-cell-0 { grid-column:span 7; background:var(--blue); color:#fff; border-color:transparent; }
.v2-cell-1 { grid-column:span 5; }
.v2-cell-2 { grid-column:span 5; background:var(--ink); color:#fff; border-color:transparent; }
.v2-cell-3 { grid-column:span 7; }
.v2-cell-img { position:absolute; right:-6px; bottom:-14px; width:clamp(120px,14vw,200px); height:auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.18)); transition:transform .6s var(--ease); pointer-events:none; }
.v2-cell:hover .v2-cell-img { transform:translateY(-8px) rotate(-4deg) scale(1.05); }
.v2-cell-0 .v2-cell-img { width:clamp(150px,18vw,260px); }
.v2-cell-pre { margin:0; font:600 15px/1.4 var(--sans); opacity:.8; min-height:1.4em; }
.v2-cell-num { margin:2px 0 6px; font-weight:800; font-size:clamp(48px,6vw,84px); line-height:1; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.v2-cell-num small { font-size:.38em; font-weight:700; margin-left:6px; letter-spacing:-.02em; }
.v2-cell-num.is-range { font-size:clamp(38px,5vw,72px); } /* 범위 표기(5천만~2억)는 자릿수가 길어 한 줄에 들어오도록 낮춘다 */
.v2-cell-num.is-range small { font-size:.42em; }
.v2-cell-label { margin:0 0 8px; font-weight:700; font-size:clamp(20px,2vw,26px); letter-spacing:-.03em; }
.v2-cell-sub { margin:0; max-width:20em; font-size:15px; line-height:1.55; opacity:.78; word-break:keep-all; }

/* ═══ 홈 · 4. 함께하는 방법 — 세로 스크롤을 가로 이동으로 바꾸는 핀 ═══ */
.v2-ways { --pin-h:100vh; position:relative; height:320vh; background:#fff; }
@supports (height:100svh) { .v2-ways { --pin-h:100svh; } }
.v2-ways-pin { position:sticky; top:var(--nav); height:calc(var(--pin-h) - var(--nav)); overflow:hidden; display:flex; flex-direction:column; justify-content:center; gap:28px; }
.v2-ways-head { width:100%; }
.v2-ways-track { display:flex; gap:20px; padding:0 40px; will-change:transform; }
.v2-way { position:relative; flex:0 0 min(72vw,880px); display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:20px; min-height:min(52vh,520px); padding:clamp(28px,3.6vw,52px); border-radius:var(--r-xl); background:var(--paper); border:1px solid var(--line); color:var(--ink); text-decoration:none; transition:transform .5s var(--ease); }
.v2-way:hover { transform:translateY(-4px); }
.v2-way-blue { background:var(--blue); color:#fff; border-color:transparent; }
.v2-way-ink { background:var(--ink); color:#fff; border-color:transparent; }
.v2-way-purple { background:var(--purple); color:#fff; border-color:transparent; }
.v2-way-num { display:block; font:400 22px/1 var(--serif); opacity:.7; margin-bottom:26px; }
.v2-way-ko { margin:0 0 14px; font-weight:700; font-size:clamp(28px,3.2vw,44px); letter-spacing:-.04em; line-height:1.1; word-break:keep-all; }
.v2-way-big { margin:0 0 18px; font-weight:800; font-size:clamp(22px,2.2vw,30px); letter-spacing:-.03em; line-height:1.25; word-break:keep-all; }
.v2-way-big em { font:italic 400 .8em/1 var(--serif); opacity:.85; }
.v2-way-body { margin:0 0 18px; max-width:24em; font-size:clamp(15px,1.2vw,17px); line-height:1.65; opacity:.85; word-break:keep-all; }
.v2-way-foot { font-weight:700; font-size:14px; opacity:.85; } .v2-way-foot i { font-style:normal; }
.v2-way-img { width:100%; max-width:420px; height:auto; justify-self:end; filter:drop-shadow(0 30px 40px rgba(0,0,0,.28)); animation:v2-bob 8s ease-in-out infinite; pointer-events:none; }
.v2-way-end { flex-basis:min(46vw,520px); display:flex; flex-direction:column; justify-content:center; gap:22px; border:1px dashed #c9c9dd; background:transparent; }
.v2-way-end p { margin:0; font-weight:700; font-size:clamp(22px,2.4vw,32px); letter-spacing:-.03em; line-height:1.25; word-break:keep-all; }
.v2-way-end .v2-btn { align-self:flex-start; }
.v2-ways-hint { position:absolute; left:50%; bottom:18px; translate:-50% 0; margin:0; padding:8px 14px; border-radius:999px; background:var(--ink); color:#fff; font:600 12.5px/1 var(--sans); opacity:.9; transition:opacity .4s ease; }
.v2-ways.is-scrubbed .v2-ways-hint { opacity:0; }

/* ═══ 홈 · 5. 4주 타임라인 ═══ */
.v2-process { padding:clamp(72px,10vh,120px) 0; background:var(--paper); }
.v2-process .v2-head { margin-bottom:56px; }
.v2-rail { position:relative; height:4px; margin:0 0 -2px; background:var(--line); border-radius:999px; }
.v2-rail-fill { position:absolute; inset:0 auto 0 0; width:0%; background:linear-gradient(90deg,var(--blue),var(--purple)); border-radius:999px; }
.v2-rail-plane { position:absolute; top:50%; left:0; width:84px; height:auto; translate:-50% -58%; filter:drop-shadow(0 16px 20px rgba(64,49,255,.35)); }
.v2-steps { list-style:none; margin:0; padding:40px 0 0; display:grid; grid-template-columns:repeat(var(--n,4),1fr); gap:24px; }
.v2-step { position:relative; padding-top:6px; opacity:.35; transition:opacity .4s ease; }
.v2-step.is-on { opacity:1; }
.v2-step-dot { position:absolute; top:-48px; left:0; width:14px; height:14px; border-radius:50%; background:#fff; border:3px solid var(--line); transition:border-color .3s ease,transform .3s ease; }
.v2-step.is-on .v2-step-dot { border-color:var(--blue); transform:scale(1.25); }
.v2-step-time { display:block; font:italic 400 20px/1 var(--serif); color:var(--blue); margin-bottom:10px; }
.v2-step-label { margin:0 0 8px; font-weight:700; font-size:24px; letter-spacing:-.03em; line-height:1.2; }
.v2-step-desc { margin:0; color:var(--mute); font-size:15px; line-height:1.55; word-break:keep-all; }

/* ═══ 홈 · 6. 투자 기준 ═══ */
.v2-criteria { padding:clamp(72px,10vh,120px) 0; background:#fff; }
.v2-crit { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.v2-crit-item { padding:32px 30px 30px; border-radius:var(--r-lg); background:var(--paper); border:1px solid var(--line); transition:transform .5s var(--ease),box-shadow .5s ease,background .3s ease; }
.v2-crit-item:hover { transform:translateY(-4px); box-shadow:var(--shadow); background:#fff; }
.v2-crit-num { display:block; font:400 20px/1 var(--serif); color:var(--blue); margin-bottom:40px; }
.v2-crit-item h3 { margin:0 0 12px; font-weight:700; font-size:clamp(22px,2.2vw,28px); letter-spacing:-.035em; line-height:1.2; word-break:keep-all; }
.v2-crit-item p { margin:0; font-size:15.5px; line-height:1.65; color:var(--mute); word-break:keep-all; }

/* ═══ 홈 · 7. FAQ ═══ */
.v2-faq { padding:clamp(72px,10vh,120px) 0; background:var(--paper); }
.v2-faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,5vw,80px); align-items:start; }
.v2-faq-head { position:sticky; top:calc(var(--nav) + 24px); }
.v2-faq-head .v2-lede { margin:14px 0 22px; }
.v2-faq-list { display:grid; gap:10px; }
.v2-faq-item { border-radius:var(--r-md); background:#fff; border:1px solid var(--line); overflow:hidden; }
.v2-faq-item summary { display:grid; grid-template-columns:34px 1fr 24px; align-items:center; gap:12px; padding:20px 22px; cursor:pointer; list-style:none; font-weight:700; font-size:17px; line-height:1.4; letter-spacing:-.02em; word-break:keep-all; }
.v2-faq-item summary::-webkit-details-marker { display:none; }
.v2-faq-num { font:italic 400 16px/1 var(--serif); color:var(--blue); }
.v2-faq-plus { position:relative; width:24px; height:24px; border-radius:50%; background:var(--paper); }
.v2-faq-plus::before, .v2-faq-plus::after { content:''; position:absolute; left:50%; top:50%; width:10px; height:2px; background:var(--ink); translate:-50% -50%; transition:transform .3s var(--ease); }
.v2-faq-plus::after { transform:rotate(90deg); }
.v2-faq-item[open] .v2-faq-plus::after { transform:rotate(0); }
.v2-faq-a { margin:0; padding:0 22px 22px 68px; font-size:15.5px; line-height:1.7; color:var(--mute); word-break:keep-all; white-space:pre-line; }

/* ═══ 홈 · 8. 코끼리 ═══ */
.v2-kokiri { padding:clamp(72px,10vh,120px) 40px; background:#fff; }
.v2-kokiri-plate { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:32px; padding:clamp(40px,5vw,72px); border-radius:var(--r-xl); background:radial-gradient(120% 120% at 100% 0%,#2a2a78 0%,var(--ink) 55%); color:#fff; overflow:hidden; }
.v2-kokiri-lede { margin:18px 0 28px; max-width:30em; font-size:17px; line-height:1.65; color:rgba(255,255,255,.82); word-break:keep-all; }
.v2-kokiri-note { margin:14px 0 0; font-size:13.5px; color:rgba(255,255,255,.6); }
.v2-kokiri-stage { position:relative; min-height:460px; }
.v2-kokiri-ele { position:absolute; right:-4%; bottom:-6%; width:78%; height:auto; filter:drop-shadow(0 40px 50px rgba(0,0,0,.45)); animation:v2-bob 9s ease-in-out infinite; }
.v2-kcard { position:absolute; width:250px; padding:16px 18px; border-radius:18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); display:grid; gap:4px; opacity:0; translate:0 20px; transition:opacity .8s ease var(--d),translate .8s var(--ease) var(--d); }
.is-in .v2-kcard { opacity:1; translate:0 0; }
.v2-kcard-en { font:italic 400 15px/1 var(--serif); color:var(--neon); }
.v2-kcard strong { font-size:17px; letter-spacing:-.02em; }
.v2-kcard-body { font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.75); word-break:keep-all; }
.v2-kcard-0 { left:0; top:6%; } .v2-kcard-1 { left:8%; top:40%; } .v2-kcard-2 { left:0; bottom:4%; }

/* ═══ 홈 · 9. 팀 캐릭터 레일 ═══ */
.v2-team { background:#fff; }
.v2-faces { padding:8px 0 clamp(64px,9vh,110px); text-align:center; overflow:hidden; }
.v2-faces-track { display:flex; gap:14px; width:max-content; animation:v2-slide 48s linear infinite; padding:10px 0 22px; }
.v2-faces img { width:120px; height:120px; border-radius:28px; background:var(--paper); border:1px solid var(--line); transition:transform .35s var(--ease); }
.v2-faces img:hover { transform:translateY(-8px) rotate(-3deg); }
.v2-faces-link { display:inline-flex; align-items:center; gap:8px; margin-top:8px; padding:14px 22px; border-radius:999px; background:var(--ink); color:#fff; font-weight:700; text-decoration:none; transition:background .25s ease; }
.v2-faces-link:hover { background:var(--blue); }

/* ═══ 홈 · 10. 우리가 일하는 방식 — 단어 하이라이트 ═══ */
.v2-values { padding:clamp(72px,10vh,120px) 0; background:var(--paper); }
.v2-value { padding:clamp(28px,4vh,44px) 0; border-top:1px solid var(--line); display:grid; grid-template-columns:220px 1fr; gap:24px; align-items:start; }
.v2-value:last-child { border-bottom:1px solid var(--line); }
.v2-value-en { font:italic 400 24px/1.2 var(--serif); color:var(--blue); }
.v2-value-en b { display:block; font:700 18px/1.3 var(--sans); color:var(--ink); letter-spacing:-.02em; margin-top:6px; }
.v2-value .v2-value-text { margin:0; font-weight:700; font-size:clamp(22px,2.6vw,36px); line-height:1.35; letter-spacing:-.035em; word-break:keep-all; }
.v2-value-text .w { color:#C9C9DA; transition:color .25s ease; } .v2-value-text .w.on { color:var(--ink); }

/* ═══ 홈 · 12. 클로징 + 큰 마키 ═══ */
.v2-close-home { padding-top:0; background:#fff; }
.v2-big-marquee { margin-top:clamp(40px,6vh,64px); }
.v2-big-marquee .v2-marquee-track { animation-duration:30s; }
.v2-big-marquee span { font-weight:800; font-size:clamp(48px,9vw,140px); letter-spacing:-.05em; line-height:1; color:var(--ink); padding-right:24px; }
.v2-big-marquee em { font:italic 400 1em/1 var(--serif); }

/* ═══ 뉴스 ═══ */
.nw-band { align-items:stretch; }
.nw-feature { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:320px; padding:32px; border-radius:28px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#fff; text-decoration:none; overflow:hidden; transition:transform .5s var(--ease),background .3s ease; }
.nw-feature:hover { transform:translateY(-4px); background:rgba(255,255,255,.12); }
.nw-feature-tag { display:inline-block; align-self:flex-start; margin-bottom:14px; padding:7px 12px; border-radius:999px; background:var(--neon); color:var(--ink); font:700 12.5px/1 var(--sans); }
.nw-feature-title { margin:0 0 10px; max-width:16em; font-weight:800; font-size:clamp(22px,2.4vw,32px); line-height:1.22; letter-spacing:-.035em; word-break:keep-all; }
.nw-feature-ex { margin:0 0 14px; max-width:30em; font-size:15px; line-height:1.55; color:rgba(255,255,255,.78); word-break:keep-all; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nw-feature-date { font:italic 400 16px/1 var(--serif); color:rgba(255,255,255,.7); }
.nw-feature-img { position:absolute; right:-12px; top:-16px; width:clamp(120px,14vw,200px); height:auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.35)); animation:v2-bob 8s ease-in-out infinite; pointer-events:none; }
.nw-feature-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.35; pointer-events:none; }
.nw-feature > *:not(.nw-feature-photo):not(.nw-feature-img) { position:relative; z-index:1; }
.nw-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.nw-card { position:relative; border-radius:var(--r-lg); overflow:hidden; background:#fff; border:1px solid var(--line); transition:transform .5s var(--ease),box-shadow .5s ease; }
.nw-card:hover { transform:translateY(-6px); box-shadow:0 30px 60px rgba(17,17,58,.12); }
.nw-card a { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.nw-big { grid-column:span 2; }
.nw-ink { background:var(--ink); color:#fff; border-color:transparent; }
.nw-blue { background:var(--blue); color:#fff; border-color:transparent; }
.nw-purple { background:var(--purple); color:#fff; border-color:transparent; }
.nw-thumb { aspect-ratio:16/9; overflow:hidden; background:var(--paper); }
.nw-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease); }
.nw-card:hover .nw-thumb img { transform:scale(1.05); }
.nw-body { display:flex; flex-direction:column; flex:1; padding:22px; min-height:200px; }
.nw-card:has(.nw-mark) .nw-body { padding-right:112px; }
.nw-mark { position:absolute; right:-10px; bottom:-12px; width:110px; height:auto; opacity:.9; filter:drop-shadow(0 16px 24px rgba(0,0,0,.2)); transition:transform .6s var(--ease); pointer-events:none; }
.nw-card:hover .nw-mark { transform:translateY(-8px) rotate(-6deg); }
.nw-big .nw-mark { width:170px; right:20px; bottom:10px; }
.nw-meta { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.nw-tag { padding:6px 10px; border-radius:999px; background:var(--paper); border:1px solid var(--line); font:700 12px/1 var(--sans); color:var(--ink); }
.nw-pin { padding:6px 10px; border-radius:999px; background:var(--ink); color:#fff; font:700 12px/1 var(--sans); }
.nw-big .nw-tag { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.2); color:#fff; }
.nw-big .nw-pin { background:var(--neon); color:var(--ink); }
.nw-title { margin:0 0 8px; font-weight:800; font-size:19px; letter-spacing:-.03em; line-height:1.3; word-break:keep-all; }
.nw-big .nw-title { font-size:clamp(24px,2.6vw,34px); max-width:18em; }
.nw-ex { margin:0 0 14px; font-size:14.5px; line-height:1.55; color:var(--mute); word-break:keep-all; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nw-big .nw-ex { color:rgba(255,255,255,.78); }
.nw-date { margin-top:auto; font:italic 400 15px/1 var(--serif); color:var(--mute); }
.nw-big .nw-date { color:rgba(255,255,255,.7); }
.nw-big .nw-body, .nw-big:has(.nw-mark) .nw-body { padding:32px; min-height:240px; padding-right:220px; }
.nw-empty { margin:40px 0 0; text-align:center; color:var(--mute); }
.nw-more { display:flex; justify-content:center; margin-top:32px; }
.nw-more[hidden] { display:none; }

/* ═══ 프로그램 · 네 단계 ═══ */
.pg-how { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.pg-how-item { position:relative; padding:28px 24px 24px; border-radius:24px; background:#fff; border:1px solid var(--line); transition:transform .5s var(--ease),box-shadow .5s ease; }
.pg-how-item:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.pg-how-item img { width:96px; height:auto; margin-bottom:14px; filter:drop-shadow(0 16px 24px rgba(0,0,0,.15)); }
.pg-how-num { position:absolute; top:22px; right:22px; font:400 20px/1 var(--serif); color:var(--mute); }
.pg-how-item h3 { margin:0 0 8px; font-weight:800; font-size:20px; letter-spacing:-.03em; line-height:1.25; }
.pg-how-item p { margin:0; font-size:14.5px; line-height:1.55; color:var(--mute); word-break:keep-all; }

/* ═══ 팀 · 벤처파트너 ═══ */
.tm-vp { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.tm-vp-item { padding:18px 20px; border-radius:18px; background:#fff; border:1px solid var(--line); transition:transform .4s var(--ease),box-shadow .4s ease; }
.tm-vp-item:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.tm-vp-item strong { display:block; font-size:17px; letter-spacing:-.02em; }
.tm-vp-item span { display:block; margin-top:4px; font-size:13.5px; line-height:1.5; color:var(--mute); word-break:keep-all; }

/* ═══ 팀 · 전략적 파트너 및 협력 네트워크 ═══ */
.tm-net { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.tm-net-plate { padding:28px 28px 24px; border-radius:var(--r-lg); background:var(--paper); border:1px solid var(--line); transition:transform .5s var(--ease),box-shadow .5s ease; }
.tm-net-plate:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.tm-net-blue { background:var(--blue); color:#fff; border-color:transparent; }
.tm-net-ink { background:var(--ink); color:#fff; border-color:transparent; }
.tm-net-purple { background:var(--purple); color:#fff; border-color:transparent; }
.tm-net-en { display:block; font:italic 400 16px/1 var(--serif); opacity:.75; margin-bottom:10px; }
.tm-net-head h3 { margin:0 0 8px; font-weight:800; font-size:clamp(22px,2.2vw,28px); letter-spacing:-.035em; line-height:1.2; }
.tm-net-head h3 b { font:400 .8em/1 var(--serif); margin-left:6px; opacity:.7; }
.tm-net-head p { margin:0 0 18px; font-size:15px; line-height:1.55; opacity:.8; word-break:keep-all; }
.tm-net-list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.tm-net-list li { display:inline-flex; align-items:baseline; gap:6px; padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); font:700 14.5px/1.2 var(--sans); letter-spacing:-.01em; word-break:keep-all; }
.tm-net-paper .tm-net-list li { background:#fff; border-color:var(--line); color:var(--ink); }
.tm-net-list li a { color:inherit; text-decoration:none; } .tm-net-list li a:hover { text-decoration:underline; }
.tm-net-list li small { font-size:12px; font-weight:600; opacity:.7; }

/* ═══ 프로그램 · 밴드 아트 (대표 포스터 3장 + 확성기) ═══ */
.pg-art { min-height:360px; }
.pg-art-a { width:clamp(140px,15vw,200px); right:-5%; top:-12%; z-index:1; } /* 포스터 뒤에서 살짝 보이는 확성기 — 앞을 가리지 않게 */
.pg-art-b { width:clamp(120px,14vw,220px); left:50%; top:50%; translate:-50% -50%; }
.v2-rack { position:relative; z-index:2; display:flex; align-items:flex-start; justify-content:flex-start; min-height:360px; padding:56px 0 24px 4%; }
.v2-rack a { display:block; width:35%; flex:0 0 auto; padding:6px; border-radius:14px; background:#fff; box-shadow:0 24px 50px rgba(0,0,0,.45); transform:rotate(-12deg) translateY(16px); transition:transform .4s var(--ease); }
.v2-rack a:nth-child(2) { transform:rotate(0); z-index:2; margin:0 -5%; }
.v2-rack a:nth-child(3) { transform:rotate(12deg) translateY(16px); }
.v2-rack a:hover { transform:translateY(-12px); z-index:3; }
.v2-rack img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:9px; }

/* ═══ 포트폴리오 · 분야별 구성 칩 (모바일 전용 — 장식 오브젝트 대신 정보) ═══ */
.pf-mix { display:none; }
/* ═══ 태블릿 ═══ */
@media (max-width:1023px) {
  .v2-crit { grid-template-columns:1fr; }
  .nw-grid { grid-template-columns:repeat(2,1fr); }
  .pg-how { grid-template-columns:repeat(2,1fr); }
  .tm-vp { grid-template-columns:repeat(2,1fr); }
  .tm-net { grid-template-columns:1fr; }
  .v2-value { grid-template-columns:170px 1fr; }
  .v2-way { flex-basis:min(82vw,880px); }
}

/* ═══ 모바일 — 한 화면에 한 생각, 가로 스크롤 없음, 겹침 없음, 탭 타깃 44px ═══ */
@media (max-width:767px) {
  .v2 { --nav:68px; }
  .v2-wrap, .v2-close { padding-left:20px; padding-right:20px; }
  .v2-h2 { font-size:28px; line-height:1.2; }
  .v2-lede { font-size:16px; line-height:1.6; }
  .v2-eyebrow { font-size:13px; margin-bottom:10px; }
  .v2-btn { padding:14px 20px; font-size:15px; }
  .v2-band-inner { grid-template-columns:1fr; gap:20px; padding:40px 20px 36px; }
  .v2-band .v2-h1 { font-size:34px; margin-bottom:16px; }
  .v2-band .v2-kicker { margin-bottom:20px; }
  .v2-band .v2-lede { margin-top:0; }
  .v2-stat-row { gap:22px; margin-top:26px; }
  .v2-stat b { font-size:34px; }
  .v2-band-photo > img:first-child { max-height:240px; border-radius:20px; }
  .v2-band-photo-obj { left:-8px; bottom:-18px; width:76px; }
  /* 포트폴리오·프로그램 밴드 아트: 팀 탭의 사진 플레이트처럼 둥근 플레이트 하나에 담는다 (흩어진 오브젝트·잘린 포스터 방지) */
  .pg-art { position:relative; min-height:0; height:172px; border-radius:20px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); overflow:hidden; }
  .pf-art { display:none; } /* 모바일: 장식 오브젝트 상자 대신 분야별 구성 칩 */
  .pf-mix { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .pf-mix-item { display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:14px 16px; border-radius:18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#fff; text-align:left; font-family:inherit; cursor:pointer; transition:background .2s ease; }
  .pf-mix-item:active { background:rgba(255,255,255,.16); }
  .pf-mix-name { font:700 14px/1.3 var(--sans); letter-spacing:-.02em; word-break:keep-all; }
  .pf-mix-n { font:600 13px/1 var(--sans); color:rgba(255,255,255,.7); }
  .pf-mix-n b { font:800 26px/1 var(--sans); color:var(--neon); margin-right:3px; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
  .pf-wall-item { padding:12px 18px; font-size:20px; }
  .tm-net { grid-template-columns:1fr; gap:10px; }
  .tm-net-plate { padding:20px 18px 18px; border-radius:22px; }
  .tm-net-head h3 { font-size:21px; } .tm-net-head p { font-size:14.5px; margin-bottom:14px; }
  .tm-net-list li { padding:9px 12px; font-size:14px; }
  .pg-art { height:200px; }
  .pg-art:has(.v2-rack) .pg-art-a { display:none; } /* 포스터가 있으면 확성기는 생략 — 좁은 플레이트에서 겹침 방지 */
  .pg-art-a { width:64px; right:12px; top:10px; translate:0; z-index:3; } .pg-art-b { width:110px; left:50%; top:50%; translate:-50% -50%; }
  .v2-rack { position:absolute; inset:0; min-height:0; padding:24px 10px 0; align-items:flex-start; justify-content:center; }
  .v2-rack a { width:33%; padding:4px; border-radius:10px; transform:rotate(-8deg) translateY(10px); }
  .v2-rack a:nth-child(2) { margin:0 -3%; } .v2-rack a:nth-child(3) { transform:rotate(8deg) translateY(10px); }
  .v2-rack img { border-radius:7px; }
  .v2-filters-in { padding:10px 20px; gap:6px; mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent); -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent); }
  .v2-pill { min-height:40px; padding:10px 14px; font-size:14px; }
  .v2-head { flex-direction:column; align-items:flex-start; gap:10px; margin-bottom:24px; }
  .v2-section { padding:56px 0; }
  .v2-close-plate { border-radius:26px; padding:36px 22px 32px; }
  .v2-close-img { width:88px; right:14px; top:18px; }
  .v2-close-title { font-size:34px; max-width:none; padding-right:96px; }
  .v2-close-title br { display:none; } /* 데스크톱용 강제 줄바꿈은 좁은 폭에서 오히려 어색하다 — 자연 줄바꿈 */
  .v2-close-body { font-size:16px; }
  .v2-close-plate .v2-btn { width:100%; }
  .v2-close-meta { gap:12px 18px; margin-top:28px; font-size:14px; }

  /* 숫자 벤토: 세로 한 줄, 숫자는 왼쪽·오브젝트는 오른쪽 아래 — 겹치지 않게 본문 오른쪽 여백 확보 */
  .v2-stats { padding:56px 0; }
  .v2-bento { grid-template-columns:1fr; grid-auto-rows:auto; gap:12px; margin-top:24px; }
  .v2-cell { grid-column:span 1; padding:22px 116px 22px 22px; min-height:0; }
  .v2-cell-img, .v2-cell-0 .v2-cell-img { width:104px; right:2px; bottom:-8px; }
  .v2-cell-pre { font-size:14px; min-height:0; }
  .v2-cell-num { font-size:46px; margin:4px 0 4px; }
  .v2-cell-num.is-range { font-size:34px; }
  .v2-cell-label { font-size:19px; margin-bottom:6px; }
  .v2-cell-sub { font-size:14px; }

  /* 함께하는 방법: 핀 해제, 카드 세로 나열 (오브젝트는 위, 글은 아래 — 가로 레일의 '숨은 카드' 문제 제거) */
  .v2-ways { height:auto; }
  .v2-ways-pin { position:static; height:auto; gap:18px; padding:56px 0 48px; }
  .v2-ways-head { padding:0 20px; }
  .v2-ways-track { transform:none; flex-direction:column; gap:12px; padding:0 20px; }
  .v2-way { flex-basis:auto; grid-template-columns:1fr; gap:0; min-height:0; padding:22px 22px 24px; border-radius:26px; }
  .v2-way-copy { display:contents; }
  .v2-way-img { order:-1; width:88px; max-width:88px; justify-self:start; margin-bottom:16px; animation:none; filter:drop-shadow(0 14px 18px rgba(0,0,0,.22)); }
  .v2-way-num { position:absolute; top:22px; right:22px; margin:0; font-size:18px; }
  .v2-way-ko { font-size:24px; margin-bottom:8px; }
  .v2-way-big { font-size:20px; margin-bottom:10px; }
  .v2-way-body { font-size:15px; margin-bottom:12px; max-width:none; }
  .v2-way-end { flex-basis:auto; gap:16px; padding:22px; }
  .v2-way-end p { font-size:20px; }
  .v2-way-end .v2-btn { align-self:stretch; }
  .v2-ways-hint { display:none; }

  /* 타임라인: 왼쪽 세로 레일에 점이 켜지는 리스트 */
  .v2-process { padding:56px 0; }
  .v2-process .v2-head { margin-bottom:28px; }
  .v2-rail { display:none; }
  .v2-steps { grid-template-columns:1fr; gap:0; padding-top:0; }
  .v2-step { opacity:.45; padding:0 0 26px 26px; border-left:2px solid var(--line); }
  .v2-step:last-child { padding-bottom:0; }
  .v2-step-dot { display:block; top:4px; left:-8px; width:14px; height:14px; }
  .v2-step-time { font-size:17px; margin-bottom:6px; }
  .v2-step-label { font-size:20px; margin-bottom:4px; }
  .v2-step-desc { font-size:14.5px; }

  .v2-criteria { padding:56px 0; }
  .v2-crit { gap:10px; }
  .v2-crit-item { padding:22px 20px; border-radius:22px; }
  .v2-crit-num { margin-bottom:18px; font-size:17px; }
  .v2-crit-item h3 { font-size:21px; }
  .v2-crit-item p { font-size:15px; }

  .v2-faq { padding:56px 0; }
  .v2-faq-grid { grid-template-columns:1fr; gap:20px; } .v2-faq-head { position:static; }
  .v2-faq-head .v2-lede { margin:10px 0 16px; }
  .v2-faq-item { border-radius:18px; }
  .v2-faq-item summary { padding:16px 16px; font-size:16px; grid-template-columns:26px 1fr 24px; gap:10px; }
  .v2-faq-a { padding:0 16px 18px 52px; font-size:15px; }

  /* 코끼리: 코끼리가 먼저, 카드 세 장은 겹치지 않게 세로 */
  .v2-kokiri { padding:56px 20px; }
  .v2-kokiri-plate { grid-template-columns:1fr; gap:8px; padding:28px 20px 26px; border-radius:26px; }
  .v2-kokiri-lede { font-size:15.5px; margin:14px 0 20px; }
  .v2-kokiri-copy .v2-btn { width:100%; }
  .v2-kokiri-stage { min-height:0; margin-top:14px; display:grid; gap:10px; }
  .v2-kokiri-ele { position:static; width:54%; margin:0 0 4px auto; order:-1; }
  .v2-kcard { position:static; width:100%; padding:14px 16px; }

  .v2-faces { padding-bottom:56px; }
  .v2-faces-track { gap:10px; padding:6px 0 18px; }
  .v2-faces img { width:84px; height:84px; border-radius:20px; }

  .v2-values { padding:56px 0; }
  .v2-value { grid-template-columns:1fr; gap:10px; padding:24px 0; }
  .v2-value-en { font-size:20px; }
  .v2-value .v2-value-text { font-size:22px; line-height:1.4; }

  .v2-big-marquee { margin-top:32px; }

  /* 뉴스: 대표 글은 오브젝트 아래에서 시작(겹침 없음), 카드는 한 줄 */
  .nw-band { grid-template-columns:1fr; }
  .nw-feature { min-height:0; padding:104px 20px 22px; border-radius:22px; }
  .nw-feature-img { width:92px; right:-4px; top:-6px; }
  .nw-feature-title { font-size:22px; max-width:none; }
  .nw-feature-ex { font-size:14.5px; }
  .nw-grid { grid-template-columns:1fr; gap:12px; }
  .nw-card { border-radius:22px; }
  .nw-big { grid-column:span 1; }
  .nw-body, .nw-card:has(.nw-mark) .nw-body { padding:18px 92px 18px 18px; min-height:0; }
  .nw-big .nw-body, .nw-big:has(.nw-mark) .nw-body { padding:22px 92px 22px 22px; min-height:0; }
  .nw-card:not(:has(.nw-mark)) .nw-body { padding-right:18px; }
  .nw-mark, .nw-big .nw-mark { width:80px; right:-6px; bottom:-8px; }
  .nw-title { font-size:18px; }
  .nw-big .nw-title { font-size:22px; }
  .nw-more .v2-btn { width:100%; }

  /* 프로그램 네 단계: 오브젝트 왼쪽, 글 오른쪽 한 줄 카드 */
  .pg-how { grid-template-columns:1fr; gap:10px; }
  .pg-how-item { display:grid; grid-template-columns:64px 1fr; column-gap:16px; align-items:center; padding:16px 18px 16px 16px; border-radius:20px; }
  .pg-how-item img { width:64px; margin:0; grid-row:span 2; }
  .pg-how-num { top:14px; right:16px; font-size:16px; }
  .pg-how-item h3 { font-size:17px; margin:0 0 4px; padding-right:28px; }
  .pg-how-item p { font-size:14px; }

  .tm-vp { grid-template-columns:1fr; gap:8px; }
  .tm-vp-item { padding:14px 16px; border-radius:16px; display:grid; grid-template-columns:auto 1fr; align-items:baseline; column-gap:10px; }
  .tm-vp-item span { margin-top:0; }
}
@media (max-width:359px) {
  .v2-cell { padding-right:96px; } .v2-cell-img, .v2-cell-0 .v2-cell-img { width:84px; }
  .v2-cell-num.is-range { font-size:30px; }
  .v2-close-title { font-size:30px; padding-right:80px; } .v2-close-img { width:72px; }
}

/* ═══ 축소 동작 선호 ═══ */
@media (prefers-reduced-motion:reduce) {
  .v2 [data-reveal] { opacity:1; translate:0; transition:none; }
  .v2-marquee-track, .v2-close-img, .v2-cell-img, .v2-way-img, .v2-kokiri-ele, .v2-faces-track, .nw-feature-img, .v2-band-art img, .v2-band-photo-obj { animation:none; }
  .v2-kcard { opacity:1; translate:0; transition:none; }
  .v2-ways { height:auto; } .v2-ways-pin { position:static; height:auto; padding:64px 0; }
  .v2-ways-track { transform:none; overflow-x:auto; }
  .v2-ways-hint { display:none; }
  .v2-value-text .w { color:var(--ink); }
  .v2-step { opacity:1; }
}
