/* AdMobilize — 디자인 시스템 v2 (2026-10-16)
   콘셉트: Media Operations — 연간 보고서식 편집 레이아웃, 장(章) 번호 체계, 운영 화면을 핵심 이미지로.
   색: 잉크 + 종이 흰색 + 신호 주황 하나. 아이콘 폰트·이모지·스톡 사진·장식 그라데이션 금지. */
@import url("/assets/fonts/pretendard/pretendard-variable.css");
@import url("/assets/fonts/manrope/manrope.css");

:root{
  --ink:#0a0d14;
  --ink-2:#11151f;
  --ink-3:#1a1f2c;
  --paper:#ffffff;
  --bone:#f5f4f0;
  --line:#e3e1db;
  --line-2:#cfccc4;
  --line-d:rgba(255,255,255,.12);
  --text:#0a0d14;
  --sub:#4b4f58;
  --mute:#85878d;
  --sub-d:#b3b7c0;
  --mute-d:#737887;
  --signal:#ff4f00;
  --signal-2:#ff7433;
  --good:#3ccf8e;
  --max:1320px;
  --gut:clamp(20px,4.4vw,64px);
  --kr:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --en:"Manrope","Pretendard Variable",Pretendard,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--kr);font-size:16px;line-height:1.7;color:var(--text);background:var(--paper);
  word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.en,.num{font-family:var(--en);font-variant-numeric:tabular-nums}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;z-index:200;background:#fff;color:#000;padding:8px 12px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}

/* ========== 머리 ========== */
.hd{position:fixed;inset:0 0 auto 0;z-index:100;color:#fff;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.hd .wrap{display:flex;align-items:center;height:76px;gap:20px}
.hd.solid{background:rgba(10,13,20,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line-d)}
.menu-open .hd{background:transparent;border-bottom-color:transparent}
.mark{font-family:var(--en);font-weight:800;font-size:20px;letter-spacing:-.025em;white-space:nowrap;display:inline-flex;align-items:baseline}
.mark i{width:7px;height:7px;background:var(--signal);display:inline-block;margin-left:3px}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.hd-cta{display:inline-flex;align-items:center;height:44px;padding:0 22px;border:1px solid rgba(255,255,255,.3);font-size:14px;font-weight:600;border-radius:999px;transition:background .2s,border-color .2s,color .2s}
.hd-cta:hover{background:#fff;color:var(--ink);border-color:#fff}
.burger{width:44px;height:44px;border-radius:50%;border:0;background:var(--signal);cursor:pointer;position:relative;flex:none}
.burger span{position:absolute;left:13px;right:13px;height:2px;background:#fff;transition:transform .35s var(--ease),top .35s var(--ease)}
.burger span:nth-child(1){top:17px}
.burger span:nth-child(2){top:25px}
.menu-open .burger span:nth-child(1){top:21px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){top:21px;transform:rotate(-45deg)}

/* 전체 화면 메뉴 */
.menu{position:fixed;inset:0;z-index:90;background:var(--ink);color:#fff;display:flex;flex-direction:column;overflow-y:auto;
  visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility 0s .35s}
.menu-open .menu{visibility:visible;opacity:1;transition:opacity .35s var(--ease)}
.menu .wrap{width:100%;flex:1;display:grid;grid-template-columns:1.5fr 1fr;gap:64px;padding-top:128px;padding-bottom:48px}
.menu-main{list-style:none;margin:0;padding:0;counter-reset:m}
.menu-main li{border-top:1px solid var(--line-d)}
.menu-main li:last-child{border-bottom:1px solid var(--line-d)}
.menu-main>li>a{display:grid;grid-template-columns:56px 1fr auto;align-items:baseline;padding:18px 0;gap:8px;transition:color .2s,padding .3s var(--ease)}
.menu-main>li>a::before{counter-increment:m;content:counter(m,decimal-leading-zero);font-family:var(--en);font-size:13px;color:var(--mute-d);font-weight:700}
.menu-main b{font-size:clamp(26px,3.2vw,42px);font-weight:700;letter-spacing:-.03em;line-height:1.2}
.menu-main small{font-family:var(--en);font-size:13px;color:var(--mute-d);letter-spacing:.04em}
.menu-main>li>a:hover,.menu-main>li>a[aria-current]{color:var(--signal-2);padding-left:10px}
.menu-main .sub{display:flex;flex-wrap:wrap;gap:4px 22px;margin:-8px 0 18px 64px;font-size:14px;color:var(--sub-d)}
.menu-main .sub a:hover{color:var(--signal-2)}
.menu-side{display:flex;flex-direction:column;gap:40px;font-size:15px;color:var(--sub-d)}
.menu-side h3{font-family:var(--en);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d);margin:0 0 14px;font-weight:700}
.menu-side a{color:#fff}
.menu-side a:hover{color:var(--signal-2)}
.menu-side .big{font-family:var(--en);font-size:22px;font-weight:600}
.menu-side ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.menu-side p{margin:0}

/* ========== 공통 ========== */
.btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 28px;border-radius:999px;font-weight:600;font-size:15.5px;
  border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-signal{background:var(--signal);color:#fff}.btn-signal:hover{background:#e04600}
.btn-ghost{border-color:rgba(255,255,255,.3);color:#fff}.btn-ghost:hover{border-color:#fff}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#262c3a}
.btn-white{background:#fff;color:var(--ink)}.btn-white:hover{background:var(--ink);color:#fff}
.btn-sm{height:44px;padding:0 20px;font-size:14.5px}
.arr{font-family:var(--en);display:inline-block;transition:transform .25s var(--ease)}
a:hover .arr{transform:translateX(4px)}

.ch{padding:clamp(96px,11vw,160px) 0}
.ch-bone{background:var(--bone)}
.fine{font-size:13px;color:var(--mute);margin:0}

/* ========== 히어로 ========== */
.hero{background:var(--ink);color:#fff;padding:176px 0 0;position:relative;overflow:hidden}
.hero-top{display:grid;grid-template-columns:8fr 4fr;gap:48px;align-items:end;padding-bottom:80px}
.hero-label{font-family:var(--en);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub-d);font-weight:700;margin:0 0 32px;display:flex;gap:14px;align-items:center}
.hero-label i{width:8px;height:8px;background:var(--signal);border-radius:50%;box-shadow:0 0 0 6px rgba(255,79,0,.18)}

/* 운영 보드(예시) */
.board{border-top:1px solid var(--line-d);background:var(--ink-2)}
.board-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-d);font-size:12.5px;color:var(--mute-d)}
.board-bar b{font-family:var(--en);font-size:11.5px;letter-spacing:.16em;color:#fff;font-weight:700}
.board-bar .live{display:inline-flex;gap:8px;align-items:center;color:var(--signal-2);font-family:var(--en);font-weight:700;letter-spacing:.06em}
.board-bar .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--signal);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
.board-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.7fr}
.cell{padding:28px 24px 30px 0;border-right:1px solid var(--line-d)}
.cell+.cell{padding-left:24px}
.cell .k{font-size:13px;color:var(--mute-d);display:block;margin-bottom:12px}
.cell .v{font-family:var(--en);font-size:clamp(28px,2.6vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1;color:#fff;white-space:nowrap}
.cell .v small{font-size:15px;font-weight:600;color:var(--sub-d);margin-left:4px;letter-spacing:0}
.cell .d{display:block;margin-top:12px;font-family:var(--en);font-size:13px;font-weight:700}
.d.up{color:var(--good)}.d.neu{color:var(--sub-d)}
.cell.feed{border-right:0}
.feed ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.feed li{display:grid;grid-template-columns:52px 1fr;gap:12px;font-size:13.5px;color:#dfe2e8;line-height:1.55}
.feed li span{font-size:11px;font-weight:700;padding:3px 0;text-align:center;border:1px solid var(--line-d);border-radius:3px;color:var(--sub-d);height:fit-content}
.feed li span.hot{border-color:rgba(255,79,0,.55);color:var(--signal-2)}
.mixbar{padding:22px 0 30px;border-top:1px solid var(--line-d)}
.mixbar .k{font-size:13px;color:var(--mute-d);display:flex;justify-content:space-between;margin-bottom:12px}
.stack{display:flex;height:10px;gap:2px}
.stack i{display:block;height:100%;flex:var(--v);background:var(--c)}
.legend{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:14px;font-size:12.5px;color:var(--sub-d)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend span::before{content:"";width:10px;height:10px;background:var(--c)}

/* ========== 01 업무 범위 ========== */

/* ========== 02 인텔리전스 ========== */
.report{background:var(--paper);color:var(--text);border-radius:4px;overflow:hidden;box-shadow:0 50px 100px -40px rgba(0,0,0,.8)}
.report-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line)}
.report-hd b{font-size:15px}
.report-hd span{font-size:12px;color:var(--mute)}
.insight{padding:22px 24px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:76px 1fr;gap:16px}
.insight .t{font-size:12px;font-weight:700;color:var(--mute);padding-top:3px}
.insight .t.hot{color:var(--signal)}
.insight h4{margin:0 0 6px;font-size:16px;letter-spacing:-.015em;line-height:1.5}
.insight p{margin:0;font-size:14px;color:var(--sub);line-height:1.65}
.insight .act{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--text);border-bottom:1px solid var(--signal)}
.report-ft{padding:14px 24px;background:var(--bone);font-size:12px;color:var(--mute)}

/* ========== 03 운영 일정 ========== */

/* ========== 04 매체 ========== */

/* ========== 05 전문 상품 ========== */
.split{display:grid;grid-template-columns:1fr 1fr}
.sp{padding:clamp(80px,9vw,128px) clamp(24px,5vw,72px);display:flex;flex-direction:column;min-height:680px}
.sp-a{background:var(--paper);color:var(--text)}
.sp-b{background:var(--ink);color:#fff}
.sp .kind{font-family:var(--en);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--mute);display:flex;justify-content:space-between;margin-bottom:48px}
.sp .kind b{color:var(--signal)}
.sp-b .kind{color:var(--mute-d)}
.sp h3{font-size:clamp(56px,7vw,104px);letter-spacing:-.055em;line-height:1;margin:0 0 20px;font-weight:700}
.sp .desc{font-size:18px;line-height:1.75;color:var(--sub);margin:0 0 40px;max-width:520px}
.sp-b .desc{color:var(--sub-d)}
.sp dl{margin:auto 0 40px;border-top:1px solid var(--line-2)}
.sp-b dl{border-color:var(--line-d)}
.sp dl div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-2);font-size:15px}
.sp-b dl div{border-color:var(--line-d)}
.sp dt{font-weight:700}
.sp dd{margin:0;color:var(--sub)}
.sp-b dd{color:var(--sub-d)}
.sp .go{align-self:flex-start;font-weight:700;font-size:15.5px;display:inline-flex;gap:10px;border-bottom:2px solid var(--signal);padding-bottom:4px}

/* ========== 06 업종 ========== */

/* ========== 07 플래너 ========== */
.planner{display:grid;grid-template-columns:400px 1fr;background:var(--paper);border:1px solid var(--line-2)}
.pl-in{padding:40px;border-right:1px solid var(--line-2)}
.field{margin:0 0 30px;border:0;padding:0;min-width:0}
.field legend,.field .lab{display:block;font-size:13px;font-weight:700;margin:0 0 12px;padding:0}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.seg.two{grid-template-columns:repeat(2,1fr)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{text-align:center;padding:11px 4px;font-size:14px;cursor:pointer;border:1px solid var(--line-2);border-radius:999px;color:var(--sub);transition:all .2s}
.seg label:hover{border-color:var(--text);color:var(--text)}
.seg input:checked+label{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.seg input:focus-visible+label{outline:2px solid var(--signal);outline-offset:2px}
.range-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.range-row output{font-family:var(--en);font-size:30px;font-weight:700;letter-spacing:-.03em}
.range-row output small{font-family:var(--kr);font-size:14px;font-weight:600;margin-left:3px}
input[type=range]{width:100%;accent-color:var(--signal)}
.range-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--mute);margin-top:4px}
.pl-out{padding:40px 44px;min-width:0}
.pl-out-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.pl-out-head h3{font-size:20px;margin:0;letter-spacing:-.02em}
.pl-out-head span{font-size:13px;color:var(--mute)}
.pl-stack{display:flex;height:12px;gap:2px;margin:22px 0 4px}
.pl-stack i{display:block;flex:var(--v);background:var(--c)}
.alloc{width:100%;border-collapse:collapse;margin-top:16px}
.alloc th{font-size:12px;color:var(--mute);font-weight:600;text-align:left;padding:0 12px 10px 0;border-bottom:1px solid var(--line-2)}
.alloc td{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}
.alloc .r{text-align:right;white-space:nowrap}
.alloc td.m{font-weight:700;white-space:nowrap}
.alloc td.m i{display:inline-block;width:10px;height:10px;background:var(--c);margin-right:10px}
.alloc td.why{color:var(--sub);font-size:14px}
.alloc tfoot td{font-weight:700;border-bottom:0;padding-top:16px}
.pl-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}

/* ========== 08 브리프 ========== */
.brief{background:var(--signal);color:#fff;padding:clamp(88px,10vw,140px) 0}
.brief .wrap{display:grid;grid-template-columns:8fr 4fr;gap:48px;align-items:end}
.brief h2{font-size:clamp(36px,5vw,72px);line-height:1.12;letter-spacing:-.05em;margin:0;font-weight:700}
.brief p{margin:28px 0 0;font-size:18px;max-width:620px;color:rgba(255,255,255,.9)}
.brief .side{display:grid;gap:18px;justify-items:start}
.brief .mail{font-family:var(--en);font-size:22px;font-weight:700;border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:4px}
.brief .side small{font-size:13px;color:rgba(255,255,255,.85)}

/* ========== 바닥 ========== */
.ft{background:var(--ink);color:var(--mute-d);font-size:14px;padding:80px 0 40px}
.ft-top{display:grid;grid-template-columns:5fr 7fr;gap:48px;padding-bottom:56px;border-bottom:1px solid var(--line-d)}
.ft .mark{color:#fff;font-size:24px}
.ft-top p{margin:18px 0 0;max-width:360px;line-height:1.75;color:var(--sub-d)}
.ft-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ft-cols h4{color:#fff;font-size:13px;font-weight:700;margin:0 0 16px}
.ft-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ft-cols a:hover{color:#fff}
.ft-bot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:28px;line-height:1.8;font-size:13px}
.ft-bot address{font-style:normal}

/* ========== 등장 효과 ========== */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.board-bar .live::before{animation:none}}

/* ========== 반응형 ========== */
@media (max-width:1100px){
  .hero-top{grid-template-columns:1fr;gap:36px}
  .board-grid{grid-template-columns:repeat(2,1fr)}
  .cell:nth-child(2n){border-right:0}
  .cell:nth-child(3){padding-left:0}
  .cell:nth-child(n+3){border-top:1px solid var(--line-d)}
  .cell.feed{grid-column:1/-1;padding-left:0}
  .split{grid-template-columns:1fr}
  .sp{min-height:0}
  .planner{grid-template-columns:1fr}
  .pl-in{border-right:0;border-bottom:1px solid var(--line-2)}
  .brief .wrap{grid-template-columns:1fr}
  .menu .wrap{grid-template-columns:1fr;gap:40px;padding-top:108px}
  .ft-top{grid-template-columns:1fr}
}
@media (max-width:720px){
  .hd .wrap{height:64px}
  .hd-cta{display:none}
  .hero{padding-top:128px}
  .hero-top{padding-bottom:56px}
  .cell{padding:20px 12px 22px 0}
  .cell+.cell{padding-left:12px}
  .cell:nth-child(3){padding-left:0}
  .cell .v{font-size:26px}
  .feed li{grid-template-columns:46px 1fr}
  .sp dl div{grid-template-columns:104px 1fr}
  .pl-in,.pl-out{padding:28px 22px}
  .alloc td.why,.alloc th.why{display:none}
  .insight{grid-template-columns:1fr;gap:6px}
  .menu-main>li>a{grid-template-columns:40px 1fr;padding:14px 0}
  .menu-main .sub{margin-left:40px}
  .menu-main small{display:none}
  .ft-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .board-bar{flex-wrap:wrap;gap:6px 16px}
  .board-bar span:not(.live){order:3;flex-basis:100%}
}

/* ==========================================================
   하위 페이지 (2026-10-16)
   ========================================================== */

/* 페이지 안 이동 메뉴 */
.subnav{position:sticky;top:76px;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:18px 16px;font-size:14.5px;font-weight:600;color:var(--sub);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.subnav a:first-child{padding-left:0}
.subnav a:hover{color:var(--text)}
.subnav a.on{color:var(--text);border-bottom-color:var(--signal)}
[id]{scroll-margin-top:140px}

/* 2단 본문: 왼쪽 제목 레일 + 오른쪽 내용 */
.sec2{display:grid;grid-template-columns:4fr 8fr;gap:clamp(32px,5vw,80px);padding:clamp(72px,8vw,120px) 0;border-top:1px solid var(--line)}
.sec2:first-child{border-top:0}
.sec2 .rail .no{font-family:var(--en);font-weight:700;font-size:13px;color:var(--signal);letter-spacing:.06em}
.sec2 .rail h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-.04em;margin:10px 0 0;font-weight:700}
.sec2 .rail .en{display:block;font-size:13px;color:var(--mute);margin-top:10px;letter-spacing:.06em;font-weight:600}
.sec2 .body>p.lead2{font-size:clamp(18px,1.6vw,21px);line-height:1.7;margin:0 0 36px;letter-spacing:-.01em;color:var(--text)}

/* 업무 목록 */
.tasks{list-style:none;margin:0 0 36px;padding:0;border-top:1px solid var(--text)}
.tasks li{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.tasks b{font-weight:700;font-size:16px}
.tasks span{color:var(--sub);font-size:15.5px}

/* 사실 표(회사 개요 등) */
.facts{margin:0;border-top:1px solid var(--text)}
.facts div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:16px}
.facts dt{color:var(--mute);font-size:14.5px}
.facts dd{margin:0;font-weight:500}

/* 카드 격자 */

/* 매체 상품 표 */
.spec-note{margin:16px 0 0;font-size:13px;color:var(--mute)}

/* 예시 도식: 퍼널 */
.funnel{display:grid;gap:6px;margin:0 0 36px}
.funnel div{display:grid;grid-template-columns:90px 1fr 120px;align-items:center;gap:16px;font-size:14.5px}
.funnel b{font-weight:700}
.funnel i{display:block;height:28px;background:var(--ink);width:var(--v)}
.funnel div:last-child i{background:var(--signal)}
.funnel span{font-family:var(--en);font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.funnel-note{font-size:13px;color:var(--mute);margin:-24px 0 36px}

/* 글(인사이트) */
.art{max-width:760px}
.art h3{font-size:22px;letter-spacing:-.03em;margin:40px 0 12px}
.art p{color:var(--sub);font-size:16.5px;line-height:1.85;margin:0 0 18px}
.art table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:14.5px}
.art th{text-align:left;font-weight:600;color:var(--mute);font-size:12.5px;padding:10px 12px 10px 0;border-bottom:1px solid var(--text)}
.art td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);color:var(--sub);vertical-align:top}
.art td:first-child{color:var(--text);font-weight:600}
.art .tag{display:inline-block;font-size:12.5px;font-weight:700;color:var(--signal);margin-bottom:12px}

/* 문의 양식 */
.form-wrap{display:grid;grid-template-columns:4fr 8fr;gap:clamp(32px,5vw,80px)}
.form-aside h2{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.04em;line-height:1.25;margin:0 0 20px}
.form-aside p{color:var(--sub);margin:0 0 32px}
.form-aside ol{list-style:none;margin:0 0 36px;padding:0;border-top:1px solid var(--text);counter-reset:f}
.form-aside li{padding:16px 0 16px 40px;border-bottom:1px solid var(--line);position:relative;font-size:15px}
.form-aside li::before{counter-increment:f;content:counter(f,decimal-leading-zero);position:absolute;left:0;top:17px;font-family:var(--en);font-size:12.5px;font-weight:700;color:var(--signal)}
.form-aside li b{display:block}
.form-aside li span{color:var(--sub);font-size:14px}
.form-aside .mailbox{font-size:14px;color:var(--mute)}
.form-aside .mailbox a{display:block;font-family:var(--en);font-size:20px;color:var(--text);font-weight:700;margin-top:4px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.fgrid .full{grid-column:1/-1}
.f label,.f .lab{display:block;font-size:13.5px;font-weight:700;margin:0 0 8px}
.f label em{font-style:normal;color:var(--signal);margin-left:2px}
.f input,.f select,.f textarea{width:100%;border:1px solid var(--line-2);background:var(--paper);border-radius:0;padding:13px 14px;font-size:15.5px;line-height:1.5;transition:border-color .2s}
.f textarea{min-height:168px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--ink)}
.f.err input,.f.err select,.f.err textarea{border-color:var(--signal)}
.f .msg{display:none;font-size:13px;color:var(--signal);margin-top:6px}
.f.err .msg{display:block}
.f .hint{font-size:12.5px;color:var(--mute);margin-top:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.agree{border:1px solid var(--line);background:var(--bone);border-radius:0;padding:18px 20px;font-size:13.5px;color:var(--sub);line-height:1.7}
.agree dl{margin:0 0 12px;display:grid;grid-template-columns:96px 1fr;gap:4px 12px}
.agree dt{color:var(--text);font-weight:600}
.agree dd{margin:0}
.agree label{display:flex;gap:10px;align-items:center;font-size:14.5px;font-weight:700;color:var(--text);cursor:pointer}
.agree input{width:18px;height:18px;accent-color:var(--signal)}
.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}
.form-actions button[disabled]{opacity:.5;cursor:wait}
.form-result{font-size:15px;font-weight:600}
.form-result.ok{color:var(--good)}
.form-result.bad{color:var(--signal)}
.done{display:none;border-top:2px solid var(--signal);padding:40px 0}
.done h3{font-size:28px;letter-spacing:-.03em;margin:0 0 12px}
.done p{color:var(--sub);margin:0}
.sent .done{display:block}
.sent #inquiry{display:none}

@media (max-width:1100px){
  .sec2,.form-wrap{grid-template-columns:1fr;gap:28px}
  .subnav{top:76px}
}
@media (max-width:720px){
  .subnav{top:64px}
  .tasks li,.facts div{grid-template-columns:1fr;gap:4px}
  .fgrid{grid-template-columns:1fr}
  .funnel div{grid-template-columns:64px 1fr 92px;gap:10px}
  .agree dl{grid-template-columns:1fr}
}

/* FAQ (2026-10-16) — details/summary, 내용은 항상 DOM 에 있다(검색·답변 엔진 색인) */
.faq{border-top:1px solid var(--text)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px 1fr 24px;gap:12px;align-items:baseline;padding:24px 0;font-size:clamp(17px,1.5vw,20px);font-weight:700;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font-family:var(--en);font-size:13px;color:var(--signal);font-weight:700}
.faq summary::after{content:"+";font-family:var(--en);font-size:22px;font-weight:500;color:var(--mute);text-align:right;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{margin:0;padding:0 36px 26px 68px;color:var(--sub);font-size:16px;line-height:1.8;max-width:900px}
@media (max-width:720px){.faq summary{grid-template-columns:36px 1fr 20px}.faq .a{padding:0 0 22px 48px}}

/* 히어로 v3 (2026-10-16): 브랜드 한 줄(영문) + 정체성 H1(국문) + 증거 띠 */
.hero-line{font-family:var(--en);font-size:clamp(52px,8.4vw,128px);line-height:.98;letter-spacing:-.05em;font-weight:800;margin:0 0 36px}
.hero-line em{font-style:normal;color:var(--signal)}
.hero-h1{font-size:clamp(20px,2vw,28px)!important;line-height:1.45!important;letter-spacing:-.025em!important;font-weight:600!important;color:#dfe2e8;margin:0}
.proof{list-style:none;margin:0;padding:28px 0 64px;display:grid;grid-template-columns:repeat(5,auto);justify-content:space-between;gap:20px 32px;border-top:1px solid var(--line-d)}
.proof b{display:block;font-family:var(--en);font-size:clamp(24px,2.4vw,34px);font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1.1;white-space:nowrap}
.proof span{font-size:13px;color:var(--mute-d)}
@media (max-width:1100px){.proof{grid-template-columns:repeat(3,auto);justify-content:start}}
@media (max-width:720px){.proof{grid-template-columns:1fr 1fr;padding-bottom:48px}.hero-line{margin-bottom:24px}}

/* 히어로 v4 (2026-10-16): 왼쪽 문안 + 오른쪽 AIM 엔진 시각화 */
.hero .hero-top{grid-template-columns:6fr 6fr;align-items:center;gap:56px;padding-bottom:56px}
.hero-line{font-size:clamp(44px,5.4vw,80px)}
.hero-p{color:var(--sub-d);font-size:16.5px;line-height:1.8;margin:24px 0 32px;max-width:560px}
.hero-copy .btns{display:flex;gap:10px;flex-wrap:wrap}
.engine{margin:0;position:relative;border:1px solid var(--line-d);border-radius:4px;background:radial-gradient(120% 90% at 50% 45%,#141a28 0%,#0d111a 70%);overflow:hidden}
.engine canvas{display:block;width:100%;height:min(560px,62vh);min-height:420px}
.engine figcaption{position:absolute;left:16px;right:16px;bottom:12px;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--mute-d)}
.engine figcaption .live{display:inline-flex;gap:6px;align-items:center;font-family:var(--en);font-weight:700;color:var(--signal-2);letter-spacing:.06em}
.engine figcaption .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--signal);animation:blink 1.6s infinite}
/* 대시보드 동작 */
.feed li{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.feed li.wait{opacity:0;transform:translateY(6px)}
.stack i{transition:flex-grow 1.2s var(--ease)}
@media (max-width:1100px){.hero .hero-top{grid-template-columns:1fr;gap:40px}.engine canvas{height:440px;min-height:0}}
@media (max-width:720px){.engine canvas{height:360px}}

/* ==========================================================
   홈 v5 (2026-10-16) — 메이저 에이전시식 모듈 구성
   ========================================================== */
.sh{margin-bottom:clamp(40px,5vw,72px)}
.sh .eyebrow{margin-bottom:18px}
.sh-t{font-size:clamp(34px,4.6vw,68px);line-height:1.1;letter-spacing:-.045em;font-weight:700;margin:0}
.sh-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.sh-l{max-width:460px;color:var(--sub);font-size:16.5px;line-height:1.8;margin:0}
.sh-l .go,.sh-row>.go{display:inline-flex;margin-top:14px}
.go{font-weight:700;font-size:15px;display:inline-flex;gap:8px;border-bottom:2px solid var(--signal);padding-bottom:3px}
.sh-pad{padding:clamp(96px,10vw,150px) 0 clamp(40px,5vw,64px);margin:0}

/* 마키 */
.marquee{background:var(--ink);color:#fff;padding:44px 0 52px;border-top:1px solid var(--line-d);overflow:hidden}
.mq-lab{font-family:var(--en);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute-d);font-weight:700;margin:0 auto 22px;max-width:var(--max);padding:0 var(--gut)}
.mq-row{overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-row+.mq-row{margin-top:10px}
.mq-track{display:inline-flex;align-items:center;animation:mq 46s linear infinite}
.mq-row.rev .mq-track{animation-direction:reverse;animation-duration:54s}
.mq-track span{font-family:var(--en);font-size:clamp(28px,3.6vw,52px);font-weight:700;letter-spacing:-.03em;padding:0 28px;color:rgba(255,255,255,.88)}
.mq-row.rev .mq-track span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.45)}
.mq-track i{width:9px;height:9px;border-radius:50%;background:var(--signal);flex:none}
.marquee:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

/* 선언문 */
.manifesto{padding:clamp(120px,14vw,200px) 0}
.mf-lab{font-family:var(--en);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);font-weight:700;margin:0 0 28px}
.mf-text{font-size:clamp(30px,4.2vw,64px);line-height:1.28;letter-spacing:-.045em;font-weight:700;margin:0;max-width:1160px;color:var(--text)}
.mf-text .w{color:#d6d3cc;transition:color .35s}
.mf-text .w.on{color:var(--text)}
.mf-text .w.key.on{color:var(--signal)}

/* 서비스 */
.svc{background:var(--bone);padding:clamp(96px,10vw,150px) 0}
.svc-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,5vw,80px);align-items:start}
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--text)}
.svc-btn{width:100%;display:grid;grid-template-columns:52px 1fr auto;align-items:baseline;gap:12px;background:none;border:0;border-bottom:1px solid var(--line-2);padding:26px 0;text-align:left;cursor:pointer;transition:padding .35s var(--ease),color .25s}
.svc-btn .sn{font-family:var(--en);font-size:13px;font-weight:700;color:var(--mute)}
.svc-btn .se{font-family:var(--en);font-size:clamp(28px,3.4vw,52px);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:#b9b6ae;transition:color .25s}
.svc-btn .sk{font-size:15px;font-weight:600;color:var(--mute)}
.svc-btn:hover .se,.svc-btn.on .se{color:var(--text)}
.svc-btn.on{padding-left:14px}
.svc-btn.on .sn,.svc-btn.on .sk{color:var(--signal)}
.svc-panel{display:none}
.svc-panel.on{display:block;animation:fadeup .45s var(--ease)}
@keyframes fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Meet AIM */
.aimx{background:var(--ink);color:#fff;padding:clamp(96px,10vw,150px) 0}
.aimx .sh-l{color:var(--sub-d)}
.aimx .go{color:#fff}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-d);margin-bottom:28px;overflow-x:auto}
.tab{position:relative;background:none;border:0;color:var(--mute-d);font-size:16px;font-weight:700;padding:16px 22px 18px;cursor:pointer;white-space:nowrap}
.tab:first-child{padding-left:0}
.tab.on{color:#fff}
.tab i{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}
.tab:first-child i{left:0}
.tab.on i{background:rgba(255,79,0,.28)}
.tab.on i::after{content:"";position:absolute;inset:0;background:var(--signal);transform-origin:left;transform:scaleX(var(--p,1))}
.tpanel{display:none}
.tpanel.on{display:block;animation:fadeup .5s var(--ease)}
.tpanels .board{border:1px solid var(--line-d);border-radius:4px}
.board-in{padding:0 28px}
.tpanels .report,.budget{max-width:860px}
.budget{background:var(--paper);color:var(--text);border-radius:4px;overflow:hidden}
.bud-rows{padding:12px 24px 18px}
.bud{display:grid;grid-template-columns:130px 1fr 120px;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.bud:last-child{border-bottom:0}
.bud span{font-weight:600}
.bud i{position:relative;height:12px;background:var(--bone);border-radius:2px;overflow:hidden}
.bud i::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--a);background:#cfccc4}
.bud i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--a);background:var(--signal);opacity:.9;transition:width 1.4s var(--ease) .2s}
.tpanel.on .bud i::after{width:var(--b)}
.bud em{font-style:normal;font-family:var(--en);font-size:14px;text-align:right;color:var(--sub)}
.bud em b{color:var(--signal)}

/* 미디어 네트워크 — 가로 스크롤 */
.mnet{padding:clamp(96px,10vw,150px) 0 clamp(80px,8vw,120px)}

/* Work & Insights */
.work{background:var(--bone);padding:clamp(96px,10vw,150px) 0}
.c-tag{font-family:var(--en);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--signal-2)}

/* 대형 CTA (공통) */
.brief .cta-line{font-family:var(--en);font-size:clamp(48px,8vw,128px);line-height:.98;letter-spacing:-.05em;font-weight:800;margin:0 0 28px}
.brief .cta-line em{font-style:normal;color:var(--ink)}

@media (max-width:1100px){
  .svc-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .svc-btn{grid-template-columns:36px 1fr;padding:20px 0}
  .svc-btn .sk{grid-column:2}
  .board-in{padding:0 16px}
  .bud{grid-template-columns:96px 1fr 92px;gap:10px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  .mq-track{animation:none}
  .mf-text .w{color:var(--text)}
}
/* 홈 v5 보정 */
.eyebrow{font-family:var(--en);font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:12px;margin:0 0 18px}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--signal)}
.aimx .eyebrow,.marquee .eyebrow{color:var(--mute-d)}
.brief .cta-line{font-size:clamp(48px,7vw,104px)}
.brief .wrap{grid-template-columns:7fr 5fr}

/* ==========================================================
   하위 페이지 v5 (2026-10-16) — 에이전시 모듈형
   ========================================================== */
.phero{background:var(--ink);color:#fff;padding:168px 0 72px;position:relative;overflow:hidden}
.phero .wrap{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:end}
.phero.solo .wrap{grid-template-columns:1fr}
.phero .crumb{font-family:var(--en);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub-d);font-weight:700;margin:0 0 28px;display:flex;gap:12px;align-items:center}
.phero .crumb i{width:8px;height:8px;background:var(--signal);border-radius:50%;box-shadow:0 0 0 6px rgba(255,79,0,.18)}
.ph-line{font-family:var(--en);font-size:clamp(48px,7vw,112px);line-height:.98;letter-spacing:-.05em;font-weight:800;margin:0 0 32px}
.ph-line em{font-style:normal;color:var(--signal)}
.phero h1{font-size:clamp(20px,2vw,28px);line-height:1.45;letter-spacing:-.025em;font-weight:600;color:#dfe2e8;margin:0}
.phero .lead{color:var(--sub-d);font-size:16.5px;line-height:1.8;margin:0;max-width:520px}
.phero .ph-side{display:grid;gap:24px;align-content:end}
.phero .proof{margin-top:56px;grid-column:1/-1;padding-bottom:0}
.phero .engine canvas{height:min(480px,56vh);min-height:380px}
.ph-visual{grid-column:2;grid-row:1/3}

/* 두꺼운 구간 */
.blk{padding:clamp(96px,10vw,150px) 0}
.blk-bone{background:var(--bone)}
.blk-ink{background:var(--ink);color:#fff}
.blk-ink .sh-l{color:var(--sub-d)}
.blk-ink .eyebrow{color:var(--mute-d)}
.subnav+.manifesto,.subnav+.blk{border-top:0}

/* 서비스 선택기 — 상세가 풍부한 판 */

/* 가로 단계 */

/* 탭 공통(밝은 면) */
.lpanel{display:none}
.lpanel.on{display:block;animation:fadeup .45s var(--ease)}

/* 업종 패널 */

/* 상품 카드 */

/* 큰 사실 격자(회사 정보) */

/* 카드형 기능 (어두운 면) */

/* 위치 카드 */

/* 인사이트 본문(편집형) */
.longread{display:grid;grid-template-columns:4fr 8fr;gap:clamp(32px,5vw,80px);padding:clamp(64px,7vw,104px) 0;border-top:1px solid var(--line)}
.longread:first-of-type{border-top:0}
.longread .lr-side .c-tag{color:var(--signal)}
.longread .lr-side h2{font-size:clamp(26px,2.8vw,38px);letter-spacing:-.04em;line-height:1.25;margin:12px 0 0}
.longread .art h3:first-child{margin-top:0}

@media (max-width:1100px){
  .phero .wrap{grid-template-columns:1fr;gap:32px}
  .ph-visual{grid-column:auto;grid-row:auto}
}
@media (max-width:720px){
  .phero{padding:128px 0 56px}
}

/* ==========================================================
   v6 (2026-10-17) — 박스형 카드 해체
   상자(배경+테두리+둥근 모서리) 대신 머리카락선·굵은 시작선·글자 크기·여백으로 묶는다.
   상자를 남기는 곳: 제품 화면(.engine .board .report .budget), 입력 도구(.planner), 양식 요소.
   설계 문서: wiki/design-direction-v6.md
   ========================================================== */
:root{--rule:var(--line-2);--tab-off:#6f727a}
.blk-ink,.aimx{--rule:var(--line-d)}

/* 공통 동작: 마우스를 올리면 왼쪽에서 그려지는 주황 선 */
.mindex a,.alist a,.pcard,.fcard,.hstep{position:relative}
.mindex a::after,.alist a::after,.pcard::after,.f-rows .fcard::after,.h-rows .hstep::after,.h-roster .hstep::after{
  content:"";position:absolute;left:0;right:0;top:auto;bottom:-1px;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.hstep::after,.f-rules .fcard::after{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.mindex a:hover::after,.alist a:hover::after,.pcard:hover::after,.fcard:hover::after,.hstep:hover::after{transform:scaleX(1)}

/* 목록 순차 등장: 부모는 그대로, 자식이 한 줄씩 */
.rv.stg{opacity:1;transform:none;transition:none}
.rv.stg>*{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.stg.in>*{opacity:1;transform:none}
.rv.stg.in>:nth-child(2){transition-delay:.07s}.rv.stg.in>:nth-child(3){transition-delay:.14s}
.rv.stg.in>:nth-child(4){transition-delay:.21s}.rv.stg.in>:nth-child(5){transition-delay:.28s}
.rv.stg.in>:nth-child(6){transition-delay:.35s}.rv.stg.in>:nth-child(7){transition-delay:.42s}

/* ---------- 서비스 상세: 상자 없는 열린 패널 ---------- */
.svc-detail{position:sticky;top:110px;border-top:2px solid var(--text);padding:28px 0 0;min-height:320px}
.sp-n{font-family:var(--en);font-weight:800;font-size:clamp(88px,9.6vw,148px);line-height:.8;letter-spacing:-.065em;color:var(--signal);margin:0 0 32px}
.svc-panel.on .sp-n{animation:numin .7s var(--ease)}
@keyframes numin{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.sp-k{font-size:clamp(24px,2.2vw,30px);font-weight:700;letter-spacing:-.035em;margin:0 0 12px}
.sp-d{color:var(--sub);font-size:16.5px;line-height:1.8;margin:0 0 28px;max-width:500px}
.svc-panel .sp-list{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--line-2)}
.svc-panel .sp-list li{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line-2);font-size:14.5px}
.svc-panel .sp-list b{font-weight:700}
.svc-panel .sp-list span{color:var(--sub)}
.out-row{display:flex;flex-wrap:wrap;row-gap:4px;font-size:14px;color:var(--text)}
.out-row b{font-weight:600}
.out-row b+b::before{content:"/";margin:0 10px;color:var(--signal);font-weight:400}
.svc-detail .go{margin-top:32px}

/* ---------- 홈 매체 네트워크: 색인 행 ---------- */
.mindex{list-style:none;margin:0;padding:0;border-top:2px solid var(--text)}
.mindex a{display:grid;grid-template-columns:64px minmax(0,3.4fr) minmax(0,4.4fr) minmax(0,2.6fr) 32px;gap:24px;align-items:baseline;padding:30px 0 32px;border-bottom:1px solid var(--line-2)}
.mi-no{font-family:var(--en);font-size:14px;font-weight:700;color:var(--mute);transition:transform .5s var(--ease),color .3s}
.mi-t b{display:block;font-size:clamp(30px,3.4vw,50px);font-weight:700;letter-spacing:-.045em;line-height:1.05;transition:transform .5s var(--ease)}
.mi-t em{display:block;font-style:normal;font-family:var(--en);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:700;margin-top:10px}
.mi-p{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;font-size:15.5px}
.mi-f{font-size:14px;color:var(--sub);line-height:1.6}
.mindex .arr{font-size:22px;justify-self:end;color:var(--mute);transition:transform .35s var(--ease),color .3s}
.mindex a:hover .mi-no,.mindex a:focus-visible .mi-no{color:var(--signal);transform:translateX(10px)}
.mindex a:hover .mi-t b,.mindex a:focus-visible .mi-t b{transform:translateX(10px)}
.mindex a:hover .arr{color:var(--signal)}

/* ---------- 사례·칼럼: 비대칭 편집형 ---------- */
.work-paper{background:var(--paper)}
.work-ed{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,7vw,120px);align-items:start;border-top:2px solid var(--text);padding-top:36px}
.work .c-tag{color:var(--sub)}
.feat{display:flex;flex-direction:column;align-items:flex-start}
.feat b{font-size:clamp(34px,4.6vw,66px);letter-spacing:-.05em;line-height:1.1;font-weight:700;margin:28px 0 28px;
  text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:12px;text-decoration-color:transparent;transition:text-decoration-color .35s}
.feat:hover b{text-decoration-color:var(--signal)}
.feat p{color:var(--sub);font-size:17px;line-height:1.8;max-width:600px;margin:0 0 24px}
.c-chips{display:flex;flex-wrap:wrap;row-gap:4px;font-size:14px;font-weight:600}
.c-chips em{font-style:normal}
.c-chips em+em::before{content:"/";margin:0 10px;color:var(--signal);font-weight:400}
.feat .arr{margin-top:40px;font-size:34px;color:var(--signal)}
.alist{list-style:none;margin:0;padding:0;counter-reset:al}
.alist li{counter-increment:al}
.alist a{display:grid;grid-template-columns:48px 1fr 28px;gap:8px 12px;padding:26px 0 28px;border-bottom:1px solid var(--line-2)}
.alist li:first-child a{padding-top:4px}
.alist a::before{content:counter(al,decimal-leading-zero);grid-row:1/3;font-family:var(--en);font-size:13px;font-weight:700;color:var(--mute);padding-top:1px;transition:transform .5s var(--ease),color .3s}
.alist .c-tag{grid-column:2}
.alist b{grid-column:2;font-size:clamp(18px,1.5vw,21px);letter-spacing:-.025em;line-height:1.45}
.alist .arr{grid-column:3;grid-row:1/3;align-self:center;justify-self:end;color:var(--signal);font-size:20px}
.alist a:hover::before{color:var(--signal);transform:translateX(8px)}

/* ---------- 글자 탭 (업종·매체군) ---------- */
.ltabs{display:flex;gap:0 clamp(22px,2.8vw,44px);overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line-2);margin-bottom:clamp(40px,5vw,72px)}
.ltabs::-webkit-scrollbar{display:none}
.ltab{flex:none;position:relative;background:none;border:0;padding:4px 0 18px;font-size:clamp(16px,1.4vw,19px);font-weight:700;letter-spacing:-.02em;color:var(--tab-off);cursor:pointer;white-space:nowrap;transition:color .25s}
.ltab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.ltab:hover,.ltab.on{color:var(--text)}
.ltab.on::after{transform:scaleX(1)}
.ltab small{font-family:var(--en);font-size:11px;font-weight:700;margin-left:3px;vertical-align:super;color:var(--signal)}
.ltab:focus-visible{outline-offset:2px}
.lpanel{display:none}
.lpanel.on{display:block;animation:fadeup .45s var(--ease)}

/* ---------- 업종 패널·사례 상세: 상자 없음 ---------- */
.ind-panel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,104px);align-items:start}
.ind-panel h3{font-size:clamp(40px,5.4vw,80px);letter-spacing:-.055em;line-height:1.04;margin:0 0 24px;font-weight:700}
.ind-panel .kpi-big{font-size:19px;font-weight:700;color:var(--signal);margin:0}
.ind-panel dl{margin:0;border-top:2px solid var(--text)}
.ind-panel dl div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line-2)}
.ind-panel dt{color:var(--mute);font-size:14px}
.ind-panel dd{margin:0;font-size:17px;line-height:1.6}
.case-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.case-body .tasks{border-top:2px solid var(--text);margin:0}
.case-body .tasks li{grid-template-columns:120px 1fr;border-color:var(--line-2);padding:20px 0}

/* ---------- 단계: 세로선 단 시간축 (기본) ---------- */
.hsteps{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));counter-reset:hs;border-top:2px solid var(--text)}
.hstep{counter-increment:hs;display:flex;flex-direction:column;padding:28px clamp(16px,1.8vw,28px) 4px;border-left:1px solid var(--rule)}
.hstep:first-child{border-left:0;padding-left:0}
.hstep::before{content:counter(hs,decimal-leading-zero);font-family:var(--en);font-weight:800;font-size:clamp(56px,5.6vw,88px);line-height:.85;letter-spacing:-.06em;color:var(--line-2);margin-bottom:32px;transition:color .4s,transform .5s var(--ease)}
.hstep:hover::before{color:var(--signal);transform:translateX(8px)}
.hstep .when{font-family:var(--en);font-size:12.5px;font-weight:700;color:var(--mute);letter-spacing:.06em}
.hstep b{font-size:clamp(20px,1.6vw,23px);letter-spacing:-.03em;margin:8px 0 10px;line-height:1.3}
.hstep p{margin:0 0 28px;color:var(--sub);font-size:15px;line-height:1.7}
.hstep .doc{margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);font-size:13.5px;font-weight:600}
.hstep .doc span{display:block;font-size:11.5px;color:var(--mute);margin-bottom:2px;font-weight:500}
/* 번호가 문안에 있는 단(AIX 대행 서비스): 문안의 번호를 크게 쓴다 */
.h-num .hstep::before{display:none}
.h-num .when{font-size:clamp(56px,5.6vw,88px);font-weight:800;line-height:.85;letter-spacing:-.06em;color:var(--line-2);margin-bottom:32px;transition:color .4s,transform .5s var(--ease)}
.h-num .hstep:hover .when{color:var(--signal);transform:translateX(8px)}

/* 단계: 행 목록 (AIM 업무 단계) — 영문 단계명이 왼쪽 기둥 */
.h-rows{grid-template-columns:1fr}
.h-rows .hstep{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,4fr) minmax(0,2.4fr);gap:24px;align-items:baseline;padding:30px 0 32px;border-left:0;border-bottom:1px solid var(--rule)}
.h-rows .hstep::before{display:none}
.h-rows .when{font-size:clamp(34px,3.6vw,56px);font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--text);transition:color .3s,transform .5s var(--ease)}
.h-rows .hstep:hover .when{color:var(--signal);transform:translateX(10px)}
.h-rows b{margin:0;font-size:20px}
.h-rows p{margin:0}
.h-rows .doc{margin:0;padding:0;border:0}

/* 단계: 큰 글자 명단 (회사소개 조직) */
.h-roster{grid-template-columns:1fr;border-top:0}
.h-roster .hstep{display:grid;grid-template-columns:minmax(0,6.4fr) minmax(0,2fr) minmax(0,3.6fr);gap:24px;align-items:center;padding:clamp(12px,1.4vw,20px) 0;border-left:0;border-top:1px solid var(--rule)}
.h-roster .hstep:last-child{border-bottom:1px solid var(--rule)}
.h-roster .hstep::before{display:none}
.h-roster .when{font-size:clamp(44px,6.8vw,108px);font-weight:800;letter-spacing:-.055em;line-height:1.02;color:#c4c1b9;transition:color .45s,transform .6s var(--ease)}
.h-roster .hstep:hover .when{color:var(--text);transform:translateX(12px)}
.h-roster .hstep:hover b{color:var(--signal)}
.h-roster b{margin:0;font-size:22px}
.h-roster p{margin:0}

/* ---------- 기능: 끈적한 제목 + 흐르는 행 (AIM) ---------- */
.stick{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,120px);align-items:start}
.stick-h{position:sticky;top:150px}
.stick-h .sh-l{margin-top:32px}
.f-rows{border-top:2px solid currentColor}
.f-rows .fcard{display:grid;grid-template-columns:76px 1fr;gap:2px 16px;padding:34px 0 38px;border-bottom:1px solid var(--rule)}
.f-rows .no{grid-row:1/4;font-family:var(--en);font-weight:800;font-size:40px;line-height:1;letter-spacing:-.05em;color:var(--signal);transition:transform .5s var(--ease)}
.f-rows b{font-size:clamp(22px,2vw,28px);letter-spacing:-.035em;line-height:1.25}
.f-rows em{font-style:normal;font-family:var(--en);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute-d);font-weight:700;margin-top:6px}
.f-rows p{margin:14px 0 0;color:var(--sub-d);font-size:16px;line-height:1.75;max-width:520px}
.f-rows .fcard:hover .no{transform:translateX(8px)}

/* 기능: 선으로만 나눈 3단 (AIX 기술) */
.f-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.f-rules .fcard{display:flex;flex-direction:column;padding:30px clamp(20px,2.6vw,40px) 48px;border-left:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.f-rules .fcard:nth-child(3n+1){border-left:0;padding-left:0}
.f-rules .no{font-family:var(--en);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--signal-2)}
.f-rules b{font-size:clamp(21px,1.8vw,25px);letter-spacing:-.03em;margin:56px 0 4px;line-height:1.3}
.f-rules em{font-style:normal;font-family:var(--en);font-size:12.5px;letter-spacing:.06em;color:var(--mute-d);font-weight:600;margin-bottom:16px}
.f-rules p{margin:0;color:var(--sub-d);font-size:15px;line-height:1.75}

/* 기능: 큰 숫자 단 (AIX 한국일보·회사소개 역량·인사이트 리포트) */
.f-num{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:56px clamp(24px,3.4vw,56px)}
.f-num .fcard{display:flex;flex-direction:column}
.f-num .no{font-family:var(--en);font-weight:800;font-size:clamp(88px,11vw,176px);line-height:.8;letter-spacing:-.07em;color:var(--signal);margin:0 0 28px;transition:transform .6s var(--ease)}
.f-num[style*="--n:4"] .no{font-size:clamp(80px,8.4vw,136px)}
.f-num .fcard:hover .no{transform:translateX(10px)}
.f-num b{font-size:clamp(21px,1.8vw,25px);letter-spacing:-.03em;line-height:1.3;padding-top:18px;border-top:2px solid currentColor}
.f-num em{font-style:normal;font-family:var(--en);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:700;margin:8px 0 16px}
.f-num p{margin:0;color:var(--sub);font-size:15.5px;line-height:1.75;max-width:380px}
.blk-ink .f-num em{color:var(--mute-d)}
.blk-ink .f-num p{color:var(--sub-d)}
.f-word .no{font-size:clamp(52px,5.8vw,88px);line-height:.95;letter-spacing:-.05em;color:#fff}
.f-word .no::after{content:".";color:var(--signal)}

/* ---------- 미디어 상품: 사양표 행 ---------- */
.lp-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(28px,4vw,64px);align-items:end;margin-bottom:clamp(32px,4vw,52px)}
.lp-head h3{font-size:clamp(40px,5.2vw,76px);letter-spacing:-.055em;line-height:1;margin:0;font-weight:700}
.lp-head .en-s{display:block;font-family:var(--en);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:700;margin-top:14px}
.lp-head p{margin:0;color:var(--sub);font-size:17px;max-width:560px}
.pcards{border-top:2px solid var(--text)}
.pcard{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);grid-template-rows:auto 1fr;gap:6px clamp(24px,4vw,64px);padding:30px 0 32px;border-bottom:1px solid var(--line-2)}
.pcard .pk{grid-column:1;display:flex;flex-direction:column;gap:8px}
.pcard .pk b{font-size:clamp(22px,2vw,28px);letter-spacing:-.035em;line-height:1.2;transition:transform .5s var(--ease)}
.pcard .pk em{font-style:normal;font-size:13.5px;font-weight:700;color:var(--text);display:flex;gap:8px;align-items:center}
.pcard .pk em::before{content:"";width:14px;height:2px;background:var(--signal)}
.pcard .ps{grid-column:1;margin:0;font-size:13.5px;color:var(--mute)}
.pcard dl{grid-column:2;grid-row:1/3;margin:0;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,2fr);gap:16px 28px}
.pcard dt{font-size:12px;color:var(--mute);font-weight:600;margin-bottom:6px}
.pcard dd{margin:0;font-size:15px;line-height:1.65}
.pcard:hover .pk b{transform:translateX(8px)}

/* ---------- 회사 개요: 정의 목록 행 ---------- */
.facts-grid{margin:0;border-top:2px solid var(--text)}
.facts-grid div{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line-2)}
.facts-grid dt{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.facts-grid dd{margin:0;font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:-.02em;line-height:1.45}
.facts-grid div:first-child dd{font-size:clamp(28px,3.4vw,48px);font-weight:700;letter-spacing:-.045em;line-height:1.15}
.facts-grid dd a{border-bottom:2px solid var(--signal)}

/* ---------- 오시는 길: 주소를 크게 ---------- */
.loc{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,3fr);gap:clamp(32px,6vw,96px);border-top:2px solid var(--text);padding-top:36px}
.loc .lc{display:flex;flex-direction:column}
.loc .lc .c-tag{color:var(--sub)}
.loc .lc b{font-size:clamp(28px,3.2vw,46px);letter-spacing:-.05em;line-height:1.18;margin:24px 0 20px;font-weight:700}
.loc .lc p{color:var(--sub);margin:0}
.loc .lc2{display:flex;flex-direction:column;gap:32px;border-left:1px solid var(--line-2);padding-left:clamp(24px,3vw,48px)}

/* ---------- 반응형 ---------- */
@media (max-width:1100px){
  .brief .wrap{grid-template-columns:1fr}
  .svc-detail{position:static;min-height:0}
  .longread{grid-template-columns:1fr}
  .stick{grid-template-columns:1fr;gap:40px}
  .stick-h{position:static}
  .work-ed{grid-template-columns:1fr;gap:56px}
  .mindex a{grid-template-columns:56px minmax(0,4fr) minmax(0,5fr) 28px}
  .mi-f{grid-column:3}
  .mindex .arr{grid-column:4;grid-row:1}
  .hsteps{grid-template-columns:1fr}
  .hstep{display:grid;grid-template-columns:120px 1fr;column-gap:24px;padding:28px 0;border-left:0;border-bottom:1px solid var(--rule)}
  .hstep::before{grid-row:1/6;margin:0;font-size:56px}
  .hstep>*{grid-column:2}
  .hstep p{margin-bottom:16px}
  .hstep::after{top:auto;bottom:-1px;height:1px}
  .h-num .hstep{grid-template-columns:1fr}
  .h-num .when{grid-column:1;font-size:56px;margin-bottom:16px}
  .h-num .hstep>*{grid-column:1}
  .h-rows .hstep{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px 24px}
  .h-rows .when{grid-row:1/4;grid-column:1}
  .h-rows .hstep>:not(.when){grid-column:2}
  .h-roster .hstep{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 24px;padding:20px 0}
  .h-roster .when{grid-column:1/-1}
  .h-roster .hstep>:not(.when){grid-column:auto}
  .f-rules{grid-template-columns:1fr 1fr}
  .f-rules .fcard:nth-child(3n+1){border-left:1px solid var(--rule);padding-left:clamp(20px,2.6vw,40px)}
  .f-rules .fcard:nth-child(2n+1){border-left:0;padding-left:0}
  .f-num[style*="--n:4"]{grid-template-columns:1fr 1fr}
  .ind-panel,.case-body,.loc{grid-template-columns:1fr}
  .loc .lc2{border-left:0;padding-left:0;border-top:1px solid var(--line-2);padding-top:28px}
  .pcard{grid-template-columns:1fr;grid-template-rows:auto}
  .pcard dl{grid-column:1;grid-row:auto;margin-top:18px}
  .lp-head{grid-template-columns:1fr}
}
@media (max-width:720px){
  .sp-n{font-size:84px;margin-bottom:24px}
  .svc-panel .sp-list li{grid-template-columns:1fr;gap:2px}
  .mindex a{grid-template-columns:36px minmax(0,1fr) 20px;gap:10px 10px;padding:24px 0 26px}
  .mi-t,.mi-p,.mi-f{grid-column:2}
  .mindex .arr{grid-column:3;grid-row:1}
  .mi-t b{font-size:30px}
  .mi-p{margin-top:8px;font-size:15px;gap:4px 16px}
  .mindex a:hover .mi-no,.mindex a:hover .mi-t b{transform:none}
  .feat b{font-size:32px;margin:20px 0}
  .alist a{grid-template-columns:36px 1fr 20px}
  .hstep{grid-template-columns:64px 1fr;column-gap:12px}
  .hstep::before{font-size:36px}
  .h-num .when{font-size:44px}
  .h-rows .hstep{grid-template-columns:1fr;gap:6px}
  .h-rows .when,.h-rows .hstep>:not(.when){grid-column:1;grid-row:auto}
  .h-rows .when{font-size:36px;margin-bottom:6px}
  .h-roster .hstep{grid-template-columns:1fr}
  .h-roster .when{font-size:48px}
  .f-rules{grid-template-columns:1fr}
  .f-rules .fcard,.f-rules .fcard:nth-child(3n+1){border-left:0;padding:28px 0 36px}
  .f-rules b{margin-top:28px}
  .f-num,.f-num[style*="--n:4"]{grid-template-columns:1fr;gap:48px}
  .f-num .no{font-size:96px}
  .f-word .no{font-size:60px}
  .pcard dl{grid-template-columns:1fr;gap:12px}
  .pcard dl div{display:grid;grid-template-columns:76px 1fr;gap:12px}
  .pcard dt{margin:0}
  .facts-grid div{grid-template-columns:1fr;gap:6px}
  .ind-panel dl div,.case-body .tasks li{grid-template-columns:1fr;gap:4px}
  .ltab{font-size:16px}
  .loc .lc b{font-size:25px}
}
@media (prefers-reduced-motion:reduce){
  .rv.stg>*{opacity:1;transform:none;transition:none}
  .svc-panel.on .sp-n{animation:none}
  .mindex a::after,.alist a::after,.pcard::after,.fcard::after,.hstep::after,.ltab::after{transition:none}
  .mi-no,.mi-t b,.hstep::before,.h-num .when,.h-rows .when,.h-roster .when,.f-rows .no,.f-num .no,.pcard .pk b,.alist a::before{transition:none}
}

/* ==========================================================
   다국어 메뉴 (2026-10-17) — Google 번역은 언어를 고를 때만 불러온다
   ========================================================== */
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:none;color:#fff;font-family:var(--en);font-size:13px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:border-color .2s,background .2s}
.lang-btn:hover,.lang-btn[aria-expanded="true"]{border-color:#fff}
.lang-g{width:15px;height:15px;border:1.5px solid currentColor;border-radius:50%;position:relative}
.lang-g::before{content:"";position:absolute;inset:0 4px;border:1.5px solid currentColor;border-top:0;border-bottom:0;border-radius:50%}
.lang-g::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transform:translateY(-50%)}
.lang-pop{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;background:var(--ink-2);border:1px solid var(--line-d);padding:10px 0;display:none;z-index:120;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.lang-pop.open{display:block;animation:fadeup .25s var(--ease)}
.lang-pop a{display:flex;justify-content:space-between;padding:9px 18px;font-size:14px;color:var(--sub-d)}
.lang-pop a:hover{color:#fff;background:rgba(255,255,255,.05)}
.lang-pop a.on{color:#fff}
.lang-pop a.on::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--signal);align-self:center}
.lang-note{margin:6px 18px 4px;padding-top:10px;border-top:1px solid var(--line-d);font-size:11.5px;color:var(--mute-d)}
.lang-row{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:14px}
.lang-row a{color:var(--sub-d);transition:color .2s}
.lang-row a:hover,.lang-row a.on{color:#fff}
.lang-row a.on{border-bottom:1px solid var(--signal)}
.menu-side .lang-row a{color:#fff;opacity:.7}
.menu-side .lang-row a:hover,.menu-side .lang-row a.on{opacity:1}
.ft-lang{display:grid;grid-template-columns:140px 1fr auto;gap:12px 32px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line-d)}
.ft-lang-lab{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.ft-lang .lang-row{font-size:14.5px;gap:8px 22px}
.ft-lang-note{font-size:12px;color:var(--mute-d);white-space:nowrap}
/* Google 번역 기본 화면 요소 숨김(상단 막대·말풍선) */
.gt-el,.goog-te-banner-frame,.skiptranslate>iframe,iframe.skiptranslate,#goog-gt-tt,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important;visibility:hidden!important}
html.is-translated body{top:0!important;position:static!important}
font.goog-text-highlight,.VIpgJd-yAWNEb-VIpgJd-fmcmS-sn54Q{background:none!important;box-shadow:none!important}
@media (max-width:1100px){.ft-lang{grid-template-columns:1fr}.ft-lang-note{white-space:normal}}
@media (max-width:720px){.lang-btn{padding:0 12px;height:40px}.lang-btn .lang-cur{display:none}.lang-pop{right:-52px}}
.mf-text.mf-plain{color:var(--text)}
