/* ============================================================
   Instagram 전용 홍보물 스타일 — insta.js 와 짝.
   1080×1080. 결과지 축소판 금지 — 여기 규칙은 인스타 판형 전용.
   색 사전·난이도 램프·타이포 위계는 DESIGN-SYSTEM.md 를 상속한다.
   접두사: ig-bd(BOLD) ig-ed(EDITORIAL) ig-dp(DATA POSTER) ig-nt(NOTE)
           ig-pr(PREMIUM) ig-mg(MAGAZINE) ig-dk(DARK LAB) ig-if(INFOGRAPHIC)
   ============================================================ */

.ig-card {
  --ink9: #14161F; --ink7: #3D4354; --ink5: #667084; --l3: #C9CFDA; --f1: #F4F5F8;
  --pri: #1C355F; --red: #C2452D;
  position: relative; overflow: hidden; width: 1080px; height: 1080px; box-sizing: border-box;
  background: #fff; color: var(--ink7);
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", "Malgun Gothic", sans-serif;
  font-variant-numeric: tabular-nums; letter-spacing: -0.01em; line-height: 1.4;
  word-break: keep-all; overflow-wrap: anywhere;
}
.ig-card, .ig-card * { box-sizing: border-box; }
.ig-card p, .ig-card h1, .ig-card h2, .ig-card h3 { margin: 0; }
.ig-card > div { width: 100%; height: 100%; position: relative; }
.ig-serif { font-family: "Noto Serif KR", "Batang", serif; }

/* ═══════════ 01 BOLD — 초대형 타이포 ═══════════ */
.ig-bd > div { padding: 70px 64px; color: var(--ink9); }
.ig-bd .br { position: absolute; left: 64px; bottom: 56px; font-size: 17px; font-weight: 800; letter-spacing: .14em; color: var(--ink9); }
.ig-bd .pg { position: absolute; right: 64px; bottom: 50px; font-size: 30px; font-weight: 900; }
.ig-bd .pg i { font-style: normal; font-weight: 400; color: var(--l3); }
.ig-bd .t { font-size: 26px; font-weight: 800; letter-spacing: .16em; color: var(--red); }
.ig-bd .kick { font-size: 25px; font-weight: 600; color: var(--ink5); }
.bd-hook h2 { margin-top: 150px; font-size: 150px; font-weight: 900; line-height: 1.06; letter-spacing: -0.045em; }
.bd-hook h2 em { font-style: normal; color: var(--red); }
.bd-hook .sub { margin-top: 64px; font-size: 31px; line-height: 1.6; color: var(--ink7); max-width: 860px; }
.bd-num .hero { margin-top: 96px; line-height: .92; }
.bd-num .hero b { font-size: 360px; font-weight: 900; letter-spacing: -0.05em; }
.bd-num .hero i { font-style: normal; font-size: 96px; font-weight: 900; color: var(--red); }
.bd-num .hl { margin-top: 30px; font-size: 34px; font-weight: 800; }
.bd-num .row { display: flex; gap: 72px; margin-top: 78px; }
.bd-num .row b { font-size: 64px; font-weight: 900; display: block; line-height: 1; }
.bd-num .row b i { font-style: normal; font-size: 30px; color: var(--ink5); font-weight: 700; }
.bd-num .row span { font-size: 22px; color: var(--ink5); }
.bd-ins h3 { font-size: 104px; font-weight: 900; line-height: 1.06; letter-spacing: -0.04em; }
.bd-ins h3 em { font-style: normal; color: var(--red); }
.bd-ins .ls { margin-top: 72px; }
.bd-ins .ls > div { display: grid; grid-template-columns: 84px 1fr; align-items: start; gap: 8px; margin-top: 40px; }
.bd-ins .ls b { font-size: 56px; font-weight: 900; color: var(--red); line-height: 1.1; }
.bd-ins .ls p { font-size: 33px; font-weight: 700; line-height: 1.45; }
.bd-data .bars { margin-top: 64px; }
.bd-data .bars .r { display: grid; grid-template-columns: 104px 1fr 92px; align-items: center; gap: 26px; margin-top: 24px; }
.bd-data .bars .d { font-size: 32px; font-weight: 800; }
.bd-data .bars .tr { height: 54px; background: var(--f1); }
.bd-data .bars .tr i { display: block; height: 100%; }
.bd-data .bars b { font-size: 38px; font-weight: 900; text-align: right; }
.bd-data .co { margin-top: 56px; padding-top: 30px; border-top: 8px solid var(--ink9); font-size: 31px; font-weight: 800; }
.bd-hard h3 { margin-top: 60px; font-size: 92px; font-weight: 900; letter-spacing: -0.04em; line-height: 1.1; }
.bd-hard .tw { margin-top: 34px; font-size: 42px; font-weight: 800; color: var(--red); line-height: 1.4; }
.bd-hard .q { margin-top: 110px; }
.bd-hard .q b { font-size: 58px; font-weight: 900; display: block; }
.bd-hard .q span { font-size: 27px; color: var(--ink5); margin-top: 10px; display: block; }
.bd-why .t { color: var(--red); letter-spacing: 0; font-size: 30px; }
.bd-why h3 { margin-top: 48px; font-size: 58px; font-weight: 900; line-height: 1.42; letter-spacing: -0.02em; }
.bd-why .mi { margin-top: 62px; font-size: 28px; line-height: 1.6; color: var(--ink7); }
.bd-why .mi b { color: var(--red); }
.bd-str .ls { margin-top: 48px; }
.bd-str .ls > div { display: grid; grid-template-columns: 116px 1fr; gap: 20px; margin-top: 42px; align-items: start; }
.bd-str .ls b { font-size: 96px; font-weight: 900; color: var(--l3); line-height: .9; }
.bd-str .ls strong { font-size: 39px; font-weight: 900; display: block; }
.bd-str .ls p { font-size: 25px; color: var(--ink5); margin-top: 10px; line-height: 1.55; }
.bd-str .tx { margin-top: 60px; font-size: 52px; font-weight: 900; line-height: 1.5; }
.bd-proof .fr { margin-top: 120px; line-height: .9; }
.bd-proof .fr b { font-size: 260px; font-weight: 900; letter-spacing: -0.05em; }
.bd-proof .fr i { font-style: normal; font-size: 140px; font-weight: 300; color: var(--l3); margin: 0 14px; }
.bd-proof .hl { margin-top: 44px; font-size: 40px; font-weight: 900; }
.bd-proof .me { margin-top: 22px; font-size: 26px; color: var(--ink5); }
.bd-cta { background: var(--ink9); color: #fff; }
.bd-cta .kick { color: rgba(255,255,255,.55); }
.bd-cta h2 { margin-top: 130px; font-size: 106px; font-weight: 900; line-height: 1.12; letter-spacing: -0.04em; color: #fff; }
.bd-cta h2 em { font-style: normal; color: #E8654B; }
.bd-cta .sub { margin-top: 48px; font-size: 29px; line-height: 1.6; color: rgba(255,255,255,.72); max-width: 800px; }
.bd-cta .who { margin-top: 90px; }
.bd-cta .who b { font-size: 36px; font-weight: 900; display: block; }
.bd-cta .who span { font-size: 52px; font-weight: 900; color: #E8654B; display: block; margin-top: 12px; }
.bd-cta .pg { color: rgba(255,255,255,.9); }

/* ═══════════ 02 EDITORIAL — 교육 매거진 ═══════════ */
.ig-ed > div { padding: 68px 66px 112px; background: #FDFCFA; color: var(--ink7); }
.ig-ed .folio { position: absolute; left: 66px; right: 66px; bottom: 44px; display: flex; justify-content: space-between; font-size: 19px; color: var(--ink5); letter-spacing: .05em; }
.ig-ed .folio em { font-family: "Noto Serif KR", serif; font-style: normal; }
.ig-ed .cap { font-size: 21px; font-weight: 800; letter-spacing: .22em; color: var(--red); }
.ig-ed .rulex { border-top: 1px solid var(--l3); margin: 46px 0 24px; }
.ig-ed .rulex.top { border-top: 3px solid var(--ink9); margin: 0 0 60px; }
.ed-hook .mast { border-top: 10px solid var(--ink9); padding-top: 24px; }
.ed-hook .mast b { font-family: "Noto Serif KR", serif; font-size: 54px; font-weight: 900; }
.ed-hook .mast span { display: block; font-size: 20px; color: var(--ink5); margin-top: 8px; letter-spacing: .08em; }
.ed-hook h2 { margin-top: 108px; font-family: "Noto Serif KR", serif; font-size: 82px; font-weight: 900; line-height: 1.24; letter-spacing: -0.02em; color: var(--ink9); }
.ed-hook .deck { margin-top: 40px; font-size: 29px; line-height: 1.7; color: var(--ink5); max-width: 830px; }
.ed-hook .iss { font-size: 22px; color: var(--ink7); }
.ed-num h3 { margin-top: 26px; font-family: "Noto Serif KR", serif; font-size: 62px; font-weight: 900; color: var(--ink9); }
.ed-num .cols { margin-top: 92px; display: grid; grid-template-columns: repeat(3, 1fr); }
.ed-num .cols > div { padding: 10px 30px 0; border-left: 1px solid var(--l3); }
.ed-num .cols > div:first-child { border-left: 0; padding-left: 0; }
.ed-num .cols b { font-family: "Noto Serif KR", serif; font-size: 104px; font-weight: 900; color: var(--ink9); line-height: 1; display: block; }
.ed-num .cols b i { font-style: normal; font-size: 34px; color: var(--ink5); }
.ed-num .cols strong { display: block; margin-top: 26px; font-size: 26px; font-weight: 800; color: var(--ink9); }
.ed-num .cols span { display: block; margin-top: 10px; font-size: 20px; line-height: 1.6; color: var(--ink5); }
.ed-quote .qm { font-family: "Noto Serif KR", serif; font-size: 230px; line-height: .55; color: var(--red); display: block; }
.ed-quote .q { margin-top: 26px; font-family: "Noto Serif KR", serif; font-size: 52px; font-weight: 900; line-height: 1.55; color: var(--ink9); }
.ed-quote .sg { margin-top: 34px; font-size: 24px; color: var(--ink5); }
.ed-quote .side { margin-top: 60px; border-top: 1px solid var(--l3); padding-top: 30px; }
.ed-quote .side p { font-size: 22px; line-height: 1.75; color: var(--ink5); }
.ed-data .bars { margin-top: 48px; }
.ed-data .bars .r { display: grid; grid-template-columns: 88px 1fr 130px; align-items: center; gap: 22px; margin-top: 26px; }
.ed-data .bars .r span { font-size: 26px; font-weight: 700; }
.ed-data .bars .r i { display: block; height: 16px; background: var(--f1); }
.ed-data .bars .r b { display: block; height: 100%; }
.ed-data .bars .r em { font-style: normal; font-size: 22px; color: var(--ink5); text-align: right; }
.ed-data .cap.two { margin-top: 70px; }
.ed-data .us { margin-top: 20px; }
.ed-data .us > div { display: flex; justify-content: space-between; border-bottom: 1px solid var(--l3); padding: 20px 0; }
.ed-data .us span { font-size: 27px; font-weight: 700; color: var(--ink9); }
.ed-data .us em { font-style: normal; font-size: 24px; color: var(--ink5); }
.ed-data .fn { margin-top: 40px; font-size: 21px; color: var(--ink5); }
.ed-hard h3 { margin-top: 40px; font-family: "Noto Serif KR", serif; font-size: 76px; font-weight: 900; color: var(--ink9); line-height: 1.2; }
.ed-hard .stand { margin-top: 34px; font-size: 31px; line-height: 1.65; color: var(--ink7); }
.ed-hard .meta { margin-top: 84px; border-top: 2px solid var(--ink9); padding-top: 28px; }
.ed-hard .meta b { font-size: 42px; font-weight: 900; color: var(--ink9); margin-right: 22px; }
.ed-hard .meta span { font-size: 25px; color: var(--ink5); }
.ed-hard .meta p { margin-top: 20px; font-size: 25px; line-height: 1.7; }
.ed-why .bo { margin-top: 56px; font-size: 34px; line-height: 1.9; color: var(--ink7); }
.ed-why .dc { font-family: "Noto Serif KR", serif; font-size: 108px; font-weight: 900; float: left; line-height: .82; padding: 10px 22px 0 0; color: var(--pri); }
.ed-why .mi { margin-top: 52px; border-top: 1px solid var(--l3); padding-top: 26px; font-size: 24px; color: var(--ink5); line-height: 1.7; }
.ed-str h3 { margin-top: 24px; font-family: "Noto Serif KR", serif; font-size: 58px; font-weight: 900; color: var(--ink9); }
.ed-str .it { display: grid; grid-template-columns: 92px 1fr; gap: 18px; margin-top: 56px; }
.ed-str .it b { font-family: "Noto Serif KR", serif; font-size: 58px; font-weight: 900; color: var(--red); line-height: 1; }
.ed-str .it strong { font-size: 33px; font-weight: 800; color: var(--ink9); }
.ed-str .it p { margin-top: 12px; font-size: 24px; line-height: 1.65; color: var(--ink5); }
.ed-str .tx { margin-top: 56px; font-size: 33px; line-height: 1.85; }
.ed-proof h3 { margin-top: 30px; font-family: "Noto Serif KR", serif; font-size: 60px; font-weight: 900; color: var(--ink9); }
.ed-proof .tb { margin-top: 56px; border-top: 2px solid var(--ink9); }
.ed-proof .tb > div { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--l3); padding: 30px 4px; }
.ed-proof .tb b { font-size: 32px; font-weight: 900; color: var(--ink9); }
.ed-proof .tb span { font-size: 25px; color: var(--ink7); }
.ed-proof .fn { margin-top: 42px; font-size: 22px; line-height: 1.7; color: var(--ink5); }
.ed-cta { text-align: center; }
.ed-cta h2 { font-family: "Noto Serif KR", serif; font-size: 66px; font-weight: 900; color: var(--ink9); line-height: 1.35; margin-top: 100px; }
.ed-cta .deck { margin-top: 36px; font-size: 26px; line-height: 1.7; color: var(--ink5); }
.ed-cta .colo { margin-top: 90px; }
.ed-cta .colo b { display: block; font-size: 38px; font-weight: 900; color: var(--ink9); }
.ed-cta .colo span { display: block; margin-top: 12px; font-size: 24px; color: var(--ink5); }
.ed-cta .iss { font-size: 21px; color: var(--ink5); }

/* ═══════════ 03 DATA POSTER — 남색 포스터 ═══════════ */
.ig-dp > div { padding: 68px 64px 124px; background: var(--pri); color: #fff; }
.ig-dp .strip { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; padding: 26px 64px; border-top: 1px solid rgba(255,255,255,.3); font-size: 19px; color: rgba(255,255,255,.75); letter-spacing: .04em; }
.ig-dp .t { font-size: 30px; font-weight: 800; }
.ig-dp .kick { font-size: 23px; color: rgba(255,255,255,.65); }
.dp-hook .hero { margin-top: 60px; line-height: .88; }
.dp-hook .hero b { font-size: 420px; font-weight: 900; letter-spacing: -0.06em; }
.dp-hook .hero i { font-style: normal; font-size: 110px; font-weight: 900; color: rgba(255,255,255,.55); }
.dp-hook .ub { width: 280px; height: 18px; background: #E03131; margin: 40px 0 34px; }
.dp-hook .hl { font-size: 44px; font-weight: 900; }
.dp-hook .sub { margin-top: 18px; font-size: 26px; color: rgba(255,255,255,.75); line-height: 1.6; }
.dp-num .row { display: flex; align-items: baseline; gap: 44px; border-bottom: 1px solid rgba(255,255,255,.25); padding: 40px 0; }
.dp-num .row b { font-size: 120px; font-weight: 900; line-height: 1; letter-spacing: -0.04em; min-width: 300px; }
.dp-num .row.big b { font-size: 180px; }
.dp-num .row b i { font-style: normal; font-size: 44px; color: rgba(255,255,255,.55); }
.dp-num .row strong { display: block; font-size: 32px; font-weight: 800; }
.dp-num .row span { display: block; margin-top: 8px; font-size: 22px; color: rgba(255,255,255,.65); }
.dp-ins .ln { display: grid; grid-template-columns: 100px 1fr; gap: 16px; align-items: start; margin-top: 66px; }
.dp-ins .ln i { font-style: normal; font-size: 54px; font-weight: 900; color: rgba(255,255,255,.35); line-height: 1.1; }
.dp-ins .ln p { font-size: 36px; font-weight: 700; line-height: 1.5; }
.dp-data .cols { display: flex; align-items: flex-end; gap: 40px; height: 540px; margin-top: 80px; }
.dp-data .cols > div { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; text-align: center; }
.dp-data .cols b { font-size: 46px; font-weight: 900; margin-bottom: 14px; }
.dp-data .cols i { display: block; width: 100%; }
.dp-data .cols span { font-size: 30px; font-weight: 700; margin-top: 18px; }
.dp-data .co { margin-top: 50px; font-size: 28px; font-weight: 800; }
.dp-hard .t em { font-style: normal; color: #FF8A7A; }
.dp-hard .waffle { margin-top: 64px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.dp-hard .waffle i { aspect-ratio: 1; background: rgba(255,255,255,.16); }
.dp-hard .waffle i.hot { background: #E03131; }
.dp-hard .co { margin-top: 54px; font-size: 28px; font-weight: 700; line-height: 1.55; }
.dp-why h3 { margin-top: 56px; font-size: 52px; font-weight: 900; line-height: 1.5; }
.dp-why .mi { margin-top: 64px; border-left: 6px solid #E03131; padding-left: 30px; }
.dp-why .mi span { font-size: 22px; font-weight: 800; color: rgba(255,255,255,.6); letter-spacing: .1em; }
.dp-why .mi p { margin-top: 10px; font-size: 30px; font-weight: 700; line-height: 1.5; }
.dp-str .flow { margin-top: 48px; display: flex; flex-direction: column; }
.dp-str .flow .nd { border: 2px solid rgba(255,255,255,.4); padding: 26px 34px; }
.dp-str .flow .nd b { font-size: 26px; font-weight: 900; color: #FF8A7A; margin-right: 18px; }
.dp-str .flow .nd strong { font-size: 32px; font-weight: 900; }
.dp-str .flow .nd p { margin-top: 8px; font-size: 22px; color: rgba(255,255,255,.7); line-height: 1.5; }
.dp-str .flow .ar { text-align: center; font-size: 34px; font-weight: 900; color: rgba(255,255,255,.5); padding: 6px 0; font-style: normal; }
.dp-str .tx { margin-top: 70px; font-size: 46px; font-weight: 900; line-height: 1.55; }
.dp-proof .fr { margin-top: 70px; line-height: .9; }
.dp-proof .fr b { font-size: 250px; font-weight: 900; letter-spacing: -0.05em; }
.dp-proof .fr span { font-size: 90px; font-weight: 300; color: rgba(255,255,255,.5); }
.dp-proof .hl { margin-top: 40px; font-size: 40px; font-weight: 900; }
.dp-proof .tk { margin-top: 44px; display: flex; flex-wrap: wrap; gap: 10px; }
.dp-proof .tk i { width: 34px; height: 34px; background: rgba(255,255,255,.14); }
.dp-proof .tk i.on { background: #fff; }
.dp-proof .me { margin-top: 40px; font-size: 24px; color: rgba(255,255,255,.7); }
.dp-cta { background: #fff !important; color: var(--pri) !important; }
.dp-cta .kick { color: var(--ink5); }
.dp-cta h2 { margin-top: 120px; font-size: 96px; font-weight: 900; line-height: 1.12; letter-spacing: -0.04em; }
.dp-cta .sub { margin-top: 44px; font-size: 28px; color: var(--ink7); line-height: 1.6; max-width: 820px; }
.dp-cta .who { margin-top: 100px; }
.dp-cta .who b { font-size: 38px; font-weight: 900; display: block; }
.dp-cta .who em { font-style: normal; font-size: 56px; font-weight: 900; color: var(--red); display: block; margin-top: 10px; }

/* ═══════════ 04 NOTE — 모눈 연구노트 ═══════════ */
.ig-nt > div { padding: 62px 58px; background: #FCFCF9;
  background-image: linear-gradient(rgba(28,53,95,.075) 1px, transparent 1px), linear-gradient(90deg, rgba(28,53,95,.075) 1px, transparent 1px);
  background-size: 36px 36px; color: var(--ink7); }
.ig-nt .tab { display: inline-flex; gap: 22px; align-items: baseline; border: 2px solid var(--ink9); background: #fff; padding: 14px 26px; }
.ig-nt .tab span { font-size: 17px; font-weight: 800; letter-spacing: .16em; color: var(--ink5); }
.ig-nt .tab b { font-size: 21px; font-weight: 900; color: var(--ink9); }
.ig-nt .tab em { font-style: normal; font-size: 18px; color: var(--ink5); }
.ig-nt .t { margin-top: 54px; font-size: 28px; font-weight: 900; color: var(--ink9); border-bottom: 3px solid var(--ink9); display: table; padding-bottom: 8px; }
.ig-nt mark { background: rgba(229,165,10,.42); color: inherit; padding: 2px 10px; }
.ig-nt .pen { font-family: "Nanum Pen Script", cursive; font-size: 46px; color: var(--red); display: inline-block; margin-top: 40px; }
.ig-nt .pen.tilt { transform: rotate(-2.5deg); }
.ig-nt .ruled p { border-bottom: 1px dashed var(--l3); padding: 24px 4px; font-size: 29px; line-height: 1.6; }
.nt-hook .kick { margin-top: 70px; font-size: 24px; color: var(--ink5); }
.nt-hook h2 { margin-top: 28px; font-size: 88px; font-weight: 900; color: var(--ink9); line-height: 1.3; letter-spacing: -0.03em; }
.nt-hook .sub { margin-top: 44px; font-size: 28px; line-height: 1.65; max-width: 840px; }
.nt-hook .pen { position: absolute; right: 90px; bottom: 90px; }
.nt-num .lg { display: flex; align-items: baseline; gap: 36px; margin-top: 58px; }
.nt-num .lg b { font-size: 130px; font-weight: 900; color: var(--ink9); line-height: 1; border-bottom: 7px solid rgba(194,69,45,.75); padding-bottom: 6px; min-width: 280px; }
.nt-num .lg b i { font-style: normal; font-size: 44px; color: var(--ink5); }
.nt-num .lg strong { display: block; font-size: 30px; font-weight: 800; color: var(--ink9); }
.nt-num .lg span { display: block; margin-top: 6px; font-size: 21px; color: var(--ink5); }
.nt-num .pen { position: absolute; right: 96px; bottom: 84px; }
.nt-ins .ruled { margin-top: 30px; }
.nt-ins .qq { font-size: 31px !important; font-weight: 700; color: var(--ink9); }
.nt-data .bars { margin-top: 50px; }
.nt-data .bars .r { display: grid; grid-template-columns: 90px 1fr 90px; gap: 24px; align-items: center; margin-top: 30px; }
.nt-data .bars .r span { font-size: 29px; font-weight: 800; color: var(--ink9); }
.nt-data .bars .r i { display: block; height: 40px; background: #fff; border: 1.5px dashed var(--ink5); padding: 4px; }
.nt-data .bars .r b { display: block; height: 100%; }
.nt-data .bars .r em { font-style: normal; font-size: 30px; font-weight: 800; }
.nt-data .co { margin-top: 60px; font-size: 30px; font-weight: 800; color: var(--ink9); }
.nt-hard h3 { margin-top: 50px; font-size: 44px; font-weight: 800; color: var(--ink9); }
.nt-hard .cir { display: inline-block; border: 4px solid var(--red); border-radius: 50%; padding: 10px 26px; color: var(--red); font-weight: 900; }
.nt-hard .tw { margin-top: 46px; font-size: 33px; font-weight: 700; line-height: 1.6; }
.nt-hard .ot { margin-top: 44px; display: flex; gap: 20px; flex-wrap: wrap; }
.nt-hard .ot span { border: 1.5px dashed var(--ink5); background: #fff; padding: 14px 22px; font-size: 25px; font-weight: 700; }
.nt-hard .ot i { font-style: normal; color: var(--ink5); font-weight: 400; }
.nt-hard .pen { position: absolute; right: 100px; bottom: 86px; }
.nt-why .ruled { margin-top: 30px; }
.nt-why .mi { color: var(--red) !important; font-weight: 700; }
.nt-str .ck { margin-top: 40px; }
.nt-str .ck > div { display: grid; grid-template-columns: 64px 1fr; gap: 14px; margin-top: 44px; align-items: start; }
.nt-str .ck i { font-style: normal; font-size: 44px; color: var(--ink9); line-height: 1; }
.nt-str .ck strong { font-size: 33px; font-weight: 800; color: var(--ink9); }
.nt-str .ck p { margin-top: 10px; font-size: 24px; color: var(--ink5); line-height: 1.6; }
.nt-str .pen { position: absolute; right: 96px; bottom: 80px; }
.nt-proof .ls { margin-top: 44px; }
.nt-proof .ls > div { display: flex; gap: 26px; align-items: baseline; border-bottom: 1px dashed var(--l3); padding: 26px 4px; }
.nt-proof .ls b { font-size: 30px; font-weight: 900; color: var(--ink9); min-width: 130px; }
.nt-proof .ls span { font-size: 26px; flex: 1; }
.nt-proof .ls em { font-style: normal; font-size: 34px; color: #2F9E44; font-weight: 900; }
.nt-proof .stamp { position: absolute; right: 96px; top: 250px; width: 200px; height: 200px; border: 5px double var(--red); border-radius: 50%; display: grid; place-content: center; text-align: center; color: var(--red); font-family: "Noto Serif KR", serif; font-size: 42px; font-weight: 900; line-height: 1.3; transform: rotate(9deg); opacity: .9; }
.nt-proof .co { margin-top: 44px; font-size: 25px; color: var(--ink5); }
.nt-cta h2 { margin-top: 120px; font-size: 74px; font-weight: 900; color: var(--ink9); line-height: 1.4; letter-spacing: -0.02em; }
.nt-cta .sub { margin-top: 44px; font-size: 28px; line-height: 1.65; }
.nt-cta .who { margin-top: 90px; }
.nt-cta .who b { font-size: 40px; font-weight: 900; color: var(--ink9); display: block; }
.nt-cta .who .pen { font-size: 66px; margin-top: 16px; }

/* ═══════════ 05 PREMIUM — 여백과 한 문장 ═══════════ */
.pr-c { padding: 92px 80px; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--ink7); }
.pr-c .mk { position: absolute; top: 64px; left: 0; right: 0; font-size: 19px; font-weight: 800; letter-spacing: .4em; color: var(--ink5); }
.pr-c .dots { position: absolute; bottom: 60px; left: 0; right: 0; display: flex; justify-content: center; gap: 12px; }
.pr-c .dots i { width: 9px; height: 9px; background: var(--l3); }
.pr-c .dots i.on { background: var(--red); }
.pr-c .hr { width: 68px; border-top: 2px solid var(--ink9); margin: 48px auto; }
.pr-c h2 { font-family: "Noto Serif KR", serif; font-size: 64px; font-weight: 900; line-height: 1.6; color: var(--ink9); max-width: 800px; letter-spacing: -0.01em; }
.pr-c h3 { font-family: "Noto Serif KR", serif; font-size: 46px; font-weight: 900; line-height: 1.75; color: var(--ink9); max-width: 800px; }
.pr-c .sub { font-size: 23px; color: var(--ink5); line-height: 1.8; max-width: 720px; }
.pr-c .l { font-size: 24px; font-weight: 700; letter-spacing: .14em; color: var(--ink5); margin-top: 34px; }
.pr-c .hero b { font-family: "Noto Serif KR", serif; font-size: 250px; font-weight: 900; color: var(--ink9); line-height: 1; letter-spacing: -0.03em; }
.pr-c .hero i { font-style: normal; font-family: "Noto Serif KR", serif; font-size: 70px; color: var(--ink5); }
.pr-c .hero.sm b { font-size: 190px; }
.pr-num .l { margin-top: 40px; }
.pr-data .line { position: relative; width: 700px; border-top: 1px solid var(--ink9); margin-top: 70px; }
.pr-data .line i { position: absolute; top: -8px; width: 16px; height: 16px; background: var(--red); }
.pr-data .lab { position: relative; width: 700px; height: 70px; margin-top: 18px; }
.pr-data .lab span { position: absolute; font-size: 20px; color: var(--ink5); }
.pr-data .lab span:first-child { left: 0; }
.pr-data .lab span:last-child { right: 0; }
.pr-data .lab b { position: absolute; transform: translateX(-50%); font-family: "Noto Serif KR", serif; font-size: 44px; font-weight: 900; color: var(--red); }
.pr-hard .no { font-family: "Noto Serif KR", serif; font-size: 300px; font-weight: 900; color: var(--ink9); line-height: 1; }
.pr-hard .no i { font-style: normal; color: var(--red); }
.pr-str .ls { margin-top: 54px; }
.pr-str .ls > div { display: flex; gap: 30px; align-items: baseline; justify-content: center; margin-top: 34px; }
.pr-str .ls i { font-style: normal; font-family: "Noto Serif KR", serif; font-size: 30px; color: var(--red); }
.pr-str .ls span { font-size: 34px; font-weight: 700; color: var(--ink9); }
.pr-cta .ph { margin-top: 46px; font-size: 38px; font-weight: 800; color: var(--ink9); letter-spacing: .02em; }

/* ═══════════ 06 MAGAZINE — 커버 스토리 ═══════════ */
.ig-mg > div { padding: 64px 62px; background: #fff; color: var(--ink7); }
.ig-mg .cap { font-size: 21px; font-weight: 800; letter-spacing: .2em; color: var(--pri); }
.ig-mg .pgno { position: absolute; right: 46px; bottom: 40px; font-size: 26px; font-weight: 900; color: var(--ink9); border-top: 3px solid var(--ink9); padding-top: 10px; }
.mg-cover .mast { font-family: "Noto Serif KR", serif; font-size: 116px; font-weight: 900; color: var(--ink9); letter-spacing: -0.02em; line-height: 1; }
.mg-cover .mast span { color: var(--red); font-size: 76px; vertical-align: 14px; }
.mg-cover .issue { margin-top: 20px; padding-bottom: 24px; border-bottom: 4px solid var(--ink9); font-size: 22px; color: var(--ink5); letter-spacing: .06em; }
.mg-cover .coverlines { margin-top: 70px; max-width: 620px; }
.mg-cover .coverlines .big { font-family: "Noto Serif KR", serif; font-size: 58px; font-weight: 900; color: var(--ink9); line-height: 1.35; }
.mg-cover .coverlines p:not(.big) { margin-top: 26px; font-size: 25px; line-height: 1.65; color: var(--ink5); }
.mg-cover .covernum { position: absolute; right: 84px; bottom: 190px; text-align: right; }
.mg-cover .covernum b { font-family: "Noto Serif KR", serif; font-size: 200px; font-weight: 900; color: var(--red); line-height: 1; letter-spacing: -0.04em; }
.mg-cover .covernum b i { font-style: normal; font-size: 70px; }
.mg-cover .covernum span { display: block; font-size: 24px; font-weight: 700; color: var(--ink9); margin-top: 6px; }
.mg-cover .foot { position: absolute; left: 62px; bottom: 48px; font-size: 21px; color: var(--ink5); }
.mg-num .side { position: absolute; left: 64px; top: 92px; writing-mode: vertical-rl; font-size: 21px; font-weight: 800; letter-spacing: .34em; color: var(--ink5); }
.mg-num .bleed { position: absolute; right: -60px; top: 100px; line-height: .85; text-align: right; }
.mg-num .bleed b { font-size: 480px; font-weight: 900; color: var(--pri); letter-spacing: -0.07em; }
.mg-num .bleed i { font-style: normal; font-size: 120px; font-weight: 900; color: var(--l3); }
.mg-num .hl { position: absolute; left: 150px; bottom: 320px; font-size: 36px; font-weight: 900; color: var(--ink9); max-width: 640px; line-height: 1.5; }
.mg-num .row { position: absolute; left: 150px; bottom: 130px; display: flex; gap: 64px; }
.mg-num .row b { font-size: 60px; font-weight: 900; color: var(--ink9); display: block; line-height: 1; }
.mg-num .row b i { font-style: normal; font-size: 28px; color: var(--ink5); }
.mg-num .row span { font-size: 21px; color: var(--ink5); display: block; margin-top: 8px; }
.mg-toc .ln { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 16px; border-bottom: 2px solid var(--ink9); padding: 40px 0; }
.mg-toc .ln b { font-family: "Noto Serif KR", serif; font-size: 66px; font-weight: 900; color: var(--pri); }
.mg-toc .ln p { font-size: 31px; font-weight: 700; color: var(--ink9); line-height: 1.5; }
.mg-toc .qbox { margin-top: 48px; font-size: 27px; line-height: 1.7; color: var(--ink5); }
.mg-toc .qbox span { display: block; margin-top: 14px; font-size: 21px; }
.mg-data { display: block; }
.mg-data .lft { max-width: 430px; }
.mg-data .lft h3 { margin-top: 26px; font-family: "Noto Serif KR", serif; font-size: 82px; font-weight: 900; color: var(--ink9); line-height: 1.2; }
.mg-data .lft .co { margin-top: 40px; font-size: 25px; line-height: 1.65; color: var(--ink7); }
.mg-data .rgt { position: absolute; right: 88px; top: 84px; bottom: 130px; width: 440px; display: flex; flex-direction: column; justify-content: center; }
.mg-data .rgt .r { display: flex; align-items: center; gap: 22px; margin-top: 40px; }
.mg-data .rgt .r i { flex: 1; display: block; }
.mg-data .rgt .r b { font-size: 34px; font-weight: 900; color: var(--ink9); min-width: 52px; }
.mg-data .rgt .r span { font-size: 26px; font-weight: 700; min-width: 62px; }
.mg-hard h2 { margin-top: 44px; font-family: "Noto Serif KR", serif; font-size: 88px; font-weight: 900; color: var(--ink9); line-height: 1.16; }
.mg-hard .deck { margin-top: 38px; font-size: 31px; line-height: 1.6; color: var(--ink7); max-width: 840px; }
.mg-hard .band { margin-top: 100px; background: var(--ink9); color: #fff; padding: 34px 42px; display: flex; gap: 34px; align-items: baseline; }
.mg-hard .band b { font-size: 46px; font-weight: 900; }
.mg-hard .band span { font-size: 26px; color: rgba(255,255,255,.7); }
.mg-hard .band em { font-style: normal; margin-left: auto; font-size: 26px; font-weight: 800; color: #FF8A7A; }
.mg-why .bigq { position: absolute; left: 60px; top: 30px; font-family: "Noto Serif KR", serif; font-size: 400px; color: var(--f1); line-height: 1; }
.mg-why h3 { position: relative; margin-top: 190px; font-family: "Noto Serif KR", serif; font-size: 56px; font-weight: 900; color: var(--ink9); line-height: 1.55; }
.mg-why .by { position: relative; margin-top: 54px; border-top: 2px solid var(--ink9); padding-top: 24px; font-size: 24px; color: var(--ink5); line-height: 1.6; }
.mg-str .it { display: grid; grid-template-columns: 110px 1fr; gap: 22px; margin-top: 58px; align-items: start; }
.mg-str .it b { font-family: "Noto Serif KR", serif; font-size: 90px; font-weight: 900; color: var(--f1); -webkit-text-stroke: 2px var(--pri); line-height: .9; }
.mg-str .it strong { font-size: 36px; font-weight: 900; color: var(--ink9); }
.mg-str .it p { margin-top: 12px; font-size: 25px; line-height: 1.6; color: var(--ink5); }
.mg-str .tx { margin-top: 60px; font-size: 34px; line-height: 1.8; }
.mg-proof .grid { margin-top: 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 3px solid var(--ink9); }
.mg-proof .grid > div { padding: 56px 40px; border: 1.5px solid var(--ink9); text-align: center; }
.mg-proof .grid b { font-family: "Noto Serif KR", serif; font-size: 88px; font-weight: 900; color: var(--ink9); display: block; line-height: 1; }
.mg-proof .grid span { display: block; margin-top: 18px; font-size: 24px; color: var(--ink5); }
.mg-proof .fn { margin-top: 40px; font-size: 22px; color: var(--ink5); }
.mg-cta .box { margin-top: 60px; border: 6px solid var(--ink9); padding: 84px 70px; text-align: center; }
.mg-cta .box h3 { margin-top: 30px; font-family: "Noto Serif KR", serif; font-size: 62px; font-weight: 900; color: var(--ink9); line-height: 1.3; }
.mg-cta .box p { margin-top: 30px; font-size: 25px; line-height: 1.65; color: var(--ink5); }
.mg-cta .who { margin-top: 60px; }
.mg-cta .who b { font-size: 38px; font-weight: 900; color: var(--ink9); display: block; }
.mg-cta .who span { display: block; margin-top: 10px; font-size: 32px; font-weight: 800; color: var(--red); }
.mg-cta .foot { position: absolute; left: 62px; bottom: 44px; font-size: 21px; color: var(--ink5); }

/* ═══════════ 07 DARK LAB — 어두운 데이터 랩 ═══════════ */
.ig-dk > div { padding: 62px 60px; background: #14161F; color: #C9CFDA; }
.ig-dk .labbar { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid #3D4354; padding-bottom: 24px; font-size: 18px; letter-spacing: .14em; color: #667084; }
.ig-dk .labbar b { color: #F4F5F8; font-size: 20px; }
.ig-dk .labbar em { font-style: normal; }
.ig-dk .t { margin-top: 52px; font-size: 24px; color: #667084; letter-spacing: .1em; }
.dk-hook .kick { margin-top: 60px; font-size: 24px; color: #667084; }
.dk-hook .hero { margin-top: 30px; line-height: .9; }
.dk-hook .hero b { font-size: 330px; font-weight: 900; color: #F4F5F8; letter-spacing: -0.05em; }
.dk-hook .hero i { font-style: normal; font-size: 96px; font-weight: 900; color: #667084; }
.dk-hook .ruler { display: flex; justify-content: space-between; align-items: flex-end; margin: 44px 0 36px; }
.dk-hook .ruler i { width: 2px; height: 24px; background: #3D4354; }
.dk-hook .ruler i.big { height: 44px; background: #667084; }
.dk-hook .hl { font-size: 42px; font-weight: 900; color: #F4F5F8; }
.dk-hook .sub { margin-top: 16px; font-size: 25px; color: #8B95A6; line-height: 1.6; }
.dk-num .cells { margin-top: 70px; display: grid; gap: 26px; }
.dk-num .cells > div { border: 1px solid #3D4354; padding: 40px 46px; display: grid; grid-template-columns: 240px 1fr; align-items: center; gap: 8px 30px; }
.dk-num .cells span { font-size: 20px; letter-spacing: .12em; color: #667084; grid-column: 1 / -1; }
.dk-num .cells b { font-size: 110px; font-weight: 900; color: #F4F5F8; line-height: 1; }
.dk-num .cells b i { font-style: normal; font-size: 40px; color: #667084; }
.dk-num .cells em { font-style: normal; font-size: 22px; color: #8B95A6; line-height: 1.5; }
.ig-dk .log { display: grid; grid-template-columns: 150px 1fr; gap: 26px; border-left: 3px solid #3D4354; padding: 22px 0 22px 30px; margin-top: 26px; align-items: start; }
.ig-dk .log i { font-style: normal; font-size: 21px; letter-spacing: .1em; color: #667084; padding-top: 8px; }
.ig-dk .log p { font-size: 30px; color: #F4F5F8; line-height: 1.55; }
.ig-dk .log.q p { color: #C9CFDA; }
.ig-dk .log.big p { font-size: 36px; line-height: 1.6; }
.ig-dk .log.warn { border-left-color: #E5A50A; }
.ig-dk .log.warn i { color: #E5A50A; }
.dk-data .ax { margin-top: 46px; display: grid; grid-template-columns: 180px repeat(5, 1fr); gap: 12px; }
.dk-data .ax em { font-style: normal; font-size: 22px; color: #667084; text-align: center; grid-column: span 1; }
.dk-data .ax em:first-of-type { grid-column: 2; }
.dk-data .heat { margin-top: 14px; }
.dk-data .heat .hr { display: grid; grid-template-columns: 180px repeat(5, 1fr); gap: 12px; margin-top: 12px; align-items: center; }
.dk-data .heat .hr span { font-size: 22px; color: #C9CFDA; }
.dk-data .heat .hr i { font-style: normal; display: grid; place-content: center; height: 104px; background: #1E2230; font-size: 30px; font-weight: 900; color: #fff; }
.dk-data .co { margin-top: 46px; font-size: 27px; font-weight: 700; color: #F4F5F8; }
.dk-hard .tgt { position: relative; height: 400px; display: grid; place-content: center; margin-top: 30px; }
.dk-hard .tgt b { position: relative; z-index: 1; font-size: 170px; font-weight: 900; color: #F4F5F8; background: #14161F; padding: 0 40px; }
.dk-hard .tgt .xl { position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid #3D4354; }
.dk-hard .tgt .yl { position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1px solid #3D4354; }
.dk-hard .meta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 20px; }
.dk-hard .meta span { border: 1px solid #3D4354; padding: 12px 22px; font-size: 23px; color: #C9CFDA; }
.dk-hard .co { margin-top: 44px; font-size: 28px; font-weight: 700; color: #F4F5F8; line-height: 1.55; }
.dk-str .seq { display: grid; grid-template-columns: 160px 1fr; gap: 30px; border: 1px solid #3D4354; padding: 34px 40px; margin-top: 28px; align-items: start; }
.dk-str .seq i { font-style: normal; font-size: 22px; letter-spacing: .12em; color: #E5A50A; padding-top: 10px; }
.dk-str .seq b { font-size: 34px; font-weight: 900; color: #F4F5F8; }
.dk-str .seq p { margin-top: 10px; font-size: 23px; color: #8B95A6; line-height: 1.55; }
.dk-proof .vr { display: flex; gap: 26px; align-items: baseline; border-bottom: 1px solid #262B3A; padding: 30px 4px; }
.dk-proof .vr i { font-style: normal; font-size: 24px; color: #2F9E44; letter-spacing: .06em; }
.dk-proof .vr b { font-size: 30px; font-weight: 900; color: #F4F5F8; min-width: 130px; }
.dk-proof .vr span { font-size: 25px; color: #C9CFDA; }
.dk-proof .sum { margin-top: 56px; display: flex; align-items: baseline; gap: 30px; }
.dk-proof .sum b { font-size: 100px; font-weight: 900; color: #F4F5F8; line-height: 1; }
.dk-proof .sum span { font-size: 28px; color: #8B95A6; }
.dk-cta h2 { margin-top: 110px; font-size: 92px; font-weight: 900; color: #F4F5F8; line-height: 1.18; letter-spacing: -0.03em; }
.dk-cta .sub { margin-top: 42px; font-size: 27px; color: #8B95A6; line-height: 1.65; max-width: 820px; }
.dk-cta .band { margin-top: 100px; background: #C2452D; padding: 40px 48px; display: flex; align-items: baseline; gap: 40px; }
.dk-cta .band b { font-size: 38px; font-weight: 900; color: #fff; }
.dk-cta .band em { font-style: normal; margin-left: auto; font-size: 42px; font-weight: 900; color: #fff; }

/* ═══════════ 08 INFOGRAPHIC — 도식·흐름·비교 ═══════════ */
.ig-if > div { padding: 66px 62px 132px; background: #fff; color: var(--ink7); }
.ig-if .prog { position: absolute; left: 62px; right: 62px; bottom: 50px; display: flex; align-items: center; gap: 8px; }
.ig-if .prog i { flex: 1; height: 10px; background: #E8EBF1; }
.ig-if .prog i.on { background: var(--pri); }
.ig-if .prog span { margin-left: 22px; font-size: 18px; font-weight: 700; color: var(--ink5); white-space: nowrap; }
.ig-if .t { font-size: 34px; font-weight: 900; color: var(--ink9); }
.ig-if .kick { font-size: 23px; color: var(--ink5); }
.ig-if .co { font-size: 26px; font-weight: 700; color: var(--ink7); line-height: 1.55; }
.if-hook h2 { margin-top: 26px; font-size: 72px; font-weight: 900; color: var(--ink9); line-height: 1.2; letter-spacing: -0.03em; }
.ig-if .flow, .ig-if .pf { display: flex; align-items: stretch; gap: 20px; margin-top: 80px; }
.ig-if .flow .nd, .ig-if .pf .nd { flex: 1; border: 3px solid var(--pri); padding: 40px 30px; display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.ig-if .flow .nd b, .ig-if .pf .nd b { font-size: 38px; font-weight: 900; color: var(--pri); }
.ig-if .flow .nd span, .ig-if .pf .nd span { font-size: 22px; color: var(--ink5); }
.ig-if .flow .nd.hot, .ig-if .pf .nd.hot { background: var(--pri); }
.ig-if .flow .nd.hot b, .ig-if .pf .nd.hot b, .ig-if .flow .nd.hot span, .ig-if .pf .nd.hot span { color: #fff; }
.ig-if .flow > i, .ig-if .pf > i { font-style: normal; align-self: center; font-size: 46px; font-weight: 900; color: var(--pri); }
.if-hook .sub { margin-top: 70px; font-size: 27px; line-height: 1.6; color: var(--ink5); }
.if-num .vs { display: grid; grid-template-columns: 1fr 100px 1fr; align-items: center; height: 600px; margin-top: 40px; }
.if-num .half { text-align: center; }
.if-num .half b { font-size: 168px; font-weight: 900; color: var(--pri); line-height: 1; letter-spacing: -0.04em; display: block; }
.if-num .half.r b { color: var(--red); }
.if-num .half b i { font-style: normal; font-size: 56px; color: var(--ink5); }
.if-num .half span { display: block; margin-top: 26px; font-size: 32px; font-weight: 800; color: var(--ink9); }
.if-num .half em { font-style: normal; display: block; margin-top: 12px; font-size: 22px; color: var(--ink5); }
.if-num .mid { text-align: center; font-size: 80px; font-weight: 900; color: var(--l3); }
.if-num .foot3 { margin-top: 26px; border-top: 2px solid var(--ink9); padding-top: 28px; font-size: 26px; color: var(--ink7); }
.if-num .foot3 b { font-weight: 900; color: var(--ink9); }
.if-ins .tl { margin-top: 60px; border-left: 4px solid var(--pri); margin-left: 34px; padding-left: 56px; }
.if-ins .tn { position: relative; margin-top: 60px; }
.if-ins .tn:first-child { margin-top: 10px; }
.if-ins .tn i { font-style: normal; position: absolute; left: -94px; top: -6px; width: 68px; height: 68px; background: var(--pri); color: #fff; display: grid; place-content: center; font-size: 34px; font-weight: 900; }
.if-ins .tn p { font-size: 33px; font-weight: 700; color: var(--ink9); line-height: 1.5; }
.if-data .waffle { margin-top: 56px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.if-data .waffle i { aspect-ratio: 1; display: block; }
.if-data .leg { margin-top: 44px; display: flex; gap: 30px; flex-wrap: wrap; }
.if-data .leg span { font-size: 24px; font-weight: 700; display: inline-flex; align-items: center; gap: 10px; }
.if-data .leg i { width: 22px; height: 22px; display: inline-block; }
.if-data .co { margin-top: 30px; }
.if-hard .pyr { margin-top: 70px; }
.if-hard .pyr .r { display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 24px; margin-top: 20px; }
.if-hard .pyr .r span { font-size: 30px; font-weight: 800; color: var(--ink9); }
.if-hard .pyr .r i { display: flex; align-items: center; padding-left: 24px; height: 88px; }
.if-hard .pyr .r b { font-size: 34px; font-weight: 900; color: #fff; }
.if-hard .co { margin-top: 60px; }
.if-why .ce { margin-top: 60px; display: flex; flex-direction: column; gap: 4px; }
.if-why .bx { border: 3px solid var(--ink9); padding: 44px 48px; }
.if-why .bx span { font-size: 21px; font-weight: 800; letter-spacing: .18em; color: var(--ink5); display: block; }
.if-why .bx p { margin-top: 16px; font-size: 31px; font-weight: 700; color: var(--ink9); line-height: 1.55; }
.if-why .bx.hot { border-color: var(--red); }
.if-why .bx.hot span { color: var(--red); }
.if-why .ce > i { font-style: normal; text-align: center; font-size: 52px; font-weight: 900; color: var(--red); padding: 8px 0; }
.if-str .steps { margin-top: 54px; }
.if-str .st { display: grid; grid-template-columns: 96px 1fr; gap: 30px; margin-top: 44px; align-items: start; }
.if-str .st i { font-style: normal; width: 78px; height: 78px; background: var(--pri); color: #fff; display: grid; place-content: center; font-size: 40px; font-weight: 900; }
.if-str .st b { font-size: 36px; font-weight: 900; color: var(--ink9); }
.if-str .st p { margin-top: 10px; font-size: 25px; color: var(--ink5); line-height: 1.55; }
.if-str .tx { margin-top: 60px; font-size: 34px; line-height: 1.75; }
.if-proof .co { margin-top: 60px; }
.if-cta h2 { margin-top: 60px; font-size: 78px; font-weight: 900; color: var(--ink9); line-height: 1.22; letter-spacing: -0.03em; }
.if-cta .sub { margin-top: 40px; font-size: 27px; line-height: 1.6; color: var(--ink5); max-width: 840px; }
.if-cta .arrowbox { margin-top: 90px; background: var(--pri); color: #fff; display: flex; align-items: center; gap: 44px; padding: 46px 56px; }
.if-cta .arrowbox b { font-size: 42px; font-weight: 900; }
.if-cta .arrowbox span { font-size: 36px; font-weight: 700; }
.if-cta .arrowbox i { font-style: normal; margin-left: auto; font-size: 56px; font-weight: 900; }
.if-cta .kick { margin-top: 40px; }

/* ═══════════ 화면 UI — 목적 선택 · 템플릿 미리보기 · 그리드 ═══════════ */
.ig-goalbar { display: flex; gap: 10px; align-items: stretch; margin: 18px 0 14px; flex-wrap: wrap; }
.ig-goalbar .cap { font-size: 11px; font-weight: 800; color: #667084; letter-spacing: .06em; align-self: center; line-height: 1.5; margin-right: 4px; }
.ig-goalbar button { border: 1px solid #C9CFDA; background: #fff; padding: 10px 16px; cursor: pointer; text-align: left; }
.ig-goalbar button b { display: block; font-size: 13.5px; font-weight: 800; color: #14161F; }
.ig-goalbar button span { display: block; font-size: 11.5px; color: #667084; margin-top: 2px; }
.ig-goalbar button.on { border-color: #1C355F; box-shadow: inset 0 0 0 1px #1C355F; background: #F4F6FA; }
.ig-goalbar button.on b { color: #1C355F; }

.ig-tplbar { display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; margin: 0 0 22px; }
.ig-tplbar button { border: 1px solid #C9CFDA; background: #fff; padding: 8px 8px 10px; cursor: pointer; text-align: left; }
.ig-tplbar button.on { border-color: #1C355F; box-shadow: inset 0 0 0 1.5px #1C355F; }
.ig-tplbar .igp-frame { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; border: 1px solid #E3E6EC; position: relative; }
.ig-tplbar .igp-frame .ig-card { position: absolute; left: 0; top: 0; transform: scale(var(--igp-scale, .118)); transform-origin: 0 0; }
.ig-tplbar .nm { display: block; margin-top: 8px; font-size: 12px; font-weight: 800; color: #14161F; letter-spacing: .02em; }
.ig-tplbar .ds { display: block; font-size: 10.5px; color: #667084; margin-top: 1px; }

.ig-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(542px, 1fr)); gap: 26px; }
.ig-slot { }
.ig-frame { width: 540px; height: 540px; overflow: hidden; border: 1px solid #C9CFDA; background: #fff;
  box-shadow: 0 1px 3px rgba(20,22,31,.10), 0 8px 24px rgba(20,22,31,.06); }
.ig-frame > .ig-card { transform: scale(.5); transform-origin: 0 0; }
.ig-actions { display: flex; justify-content: space-between; align-items: center; width: 540px; margin-top: 8px; }
.ig-actions > span { font-size: 12.5px; font-weight: 700; color: #3D4354; }

@media (max-width: 1400px) { .ig-tplbar { grid-template-columns: repeat(4, 1fr); } }

/* ============================================================
   v2 — 심화 캐러셀(10~18장) 카드 성격별 레이아웃
   ============================================================ */

/* ── BOLD v2 ── */
.ig-bd .ins { margin-top: 44px; font-size: 27px; line-height: 1.6; color: var(--ink7); font-weight: 600; max-width: 880px; }
.ig-bd .ev { margin-top: 18px; font-size: 22px; color: var(--ink5); }
.bd-hook .rng { margin-top: 26px; font-size: 22px; color: var(--ink5); }
.ig-bd h3 { margin-top: 26px; font-size: 47px; font-weight: 900; letter-spacing: -0.03em; line-height: 1.25; }
.ig-bd h3.sm { font-size: 36px; }
.bd-snap .grid { margin-top: 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px 48px; }
.bd-snap .grid > div { border-top: 6px solid var(--ink9); padding-top: 18px; }
.bd-snap .grid b { font-size: 66px; font-weight: 900; line-height: 1; display: block; letter-spacing: -0.03em; }
.bd-snap .grid b i { font-style: normal; font-size: 28px; color: var(--red); font-weight: 800; }
.bd-snap .grid strong { display: block; margin-top: 10px; font-size: 23px; font-weight: 800; }
.bd-snap .grid span { display: block; margin-top: 4px; font-size: 18.5px; color: var(--ink5); }
.bd-snap .ins { margin-top: 40px; }
.bd-data .bars b i { font-style: normal; font-size: 20px; color: var(--ink5); font-weight: 600; margin-left: 4px; }
.bd-units .bars { margin-top: 40px; }
.bd-units .bars .r { display: grid; grid-template-columns: 230px 1fr 130px; align-items: center; gap: 20px; margin-top: 20px; }
.bd-units .bars .n { font-size: 25px; font-weight: 800; }
.bd-units .bars .tr { height: 36px; background: var(--f1); }
.bd-units .bars .tr i { display: block; height: 100%; background: rgba(20,22,31,.45); }
.bd-units .bars .r.top .tr i { background: var(--ink9); }
.bd-units .bars b { font-size: 25px; font-weight: 900; text-align: right; }
.bd-units .bars b i { font-style: normal; font-size: 18px; color: var(--ink5); font-weight: 600; }
.bd-types .vs { margin-top: 56px; display: flex; align-items: center; gap: 44px; }
.bd-types .vs > div { text-align: center; }
.bd-types .vs b { font-size: 120px; font-weight: 900; line-height: 1; display: block; letter-spacing: -0.04em; }
.bd-types .vs .hot b { color: var(--red); }
.bd-types .vs span { display: block; margin-top: 10px; font-size: 23px; color: var(--ink5); font-weight: 700; }
.bd-types .vs > i { font-style: normal; font-size: 40px; font-weight: 900; color: var(--l3); }
.bd-types .tags { margin-top: 48px; display: flex; gap: 14px; flex-wrap: wrap; }
.bd-types .tags span { border: 2.5px solid var(--ink9); padding: 12px 20px; font-size: 24px; font-weight: 700; }
.bd-types .tags b { font-weight: 900; }
.bd-proof .row { display: flex; gap: 60px; margin-top: 48px; }
.bd-proof .row b { font-size: 54px; font-weight: 900; display: block; line-height: 1; }
.bd-proof .row span { display: block; margin-top: 8px; font-size: 21px; color: var(--ink5); }
.bd-hits .tb, .bd-essay .tb { margin-top: 44px; border-top: 6px solid var(--ink9); }
.bd-hits .tb > div, .bd-essay .tb > div { display: flex; gap: 22px; align-items: baseline; border-bottom: 2px solid var(--l3); padding: 19px 4px; }
.bd-hits .tb b, .bd-essay .tb b { font-size: 27px; font-weight: 900; min-width: 130px; }
.bd-hits .tb span, .bd-essay .tb span { font-size: 22px; color: var(--ink5); min-width: 180px; }
.bd-hits .tb em, .bd-essay .tb em { font-style: normal; font-size: 23px; color: var(--ink7); flex: 1; }
.bd-essay .tb i { font-style: normal; font-size: 23px; font-weight: 800; min-width: 70px; }
.bd-hits .ins { margin-top: 34px; }
.bd-case .qh { margin-top: 44px; }
.bd-case .qh b { font-size: 56px; font-weight: 900; display: block; letter-spacing: -0.02em; }
.bd-case.rx .qh b { color: var(--red); }
.bd-case .qh span { display: block; margin-top: 10px; font-size: 24px; color: var(--ink5); }
.bd-case .sum { margin-top: 26px; font-size: 27px; line-height: 1.55; font-weight: 600; }
.bd-case .dl { margin-top: 36px; }
.bd-case .dl > div { display: grid; grid-template-columns: 210px 1fr; gap: 20px; border-top: 2px solid var(--l3); padding: 22px 0; align-items: start; }
.bd-case .dl > div:first-child { border-top: 6px solid var(--ink9); }
.bd-case .dl dt { font-size: 21px; font-weight: 800; color: var(--red); letter-spacing: .04em; margin: 0; padding-top: 3px; }
.bd-case .dl dd { font-size: 25px; line-height: 1.55; margin: 0; color: var(--ink7); }
.bd-why2 .ls { margin-top: 40px; }
.bd-why2 .ls > div { display: grid; grid-template-columns: 170px 1fr; gap: 18px; margin-top: 30px; align-items: start; }
.bd-why2 .ls b { font-size: 28px; font-weight: 900; color: var(--red); }
.bd-why2 .ls p { font-size: 25px; line-height: 1.55; color: var(--ink7); }
.bd-str .ls small { display: block; margin-top: 8px; font-size: 19px; color: var(--ink5); }
.bd-str .ls p { font-size: 24px !important; color: var(--ink7) !important; }
.bd-review .q { margin-top: 50px; font-size: 34px; line-height: 1.75; font-weight: 700; color: var(--ink9); }
.bd-cta .sm { margin-top: 44px; }
.bd-cta .sm p { font-size: 25px; line-height: 1.8; color: rgba(255,255,255,.85); }
.bd-cta h2 { margin-top: 90px; font-size: 92px; }
.bd-cta .who { margin-top: 60px; }

/* ── EDITORIAL v2 ── */
.ig-ed .insight { margin-top: 36px; font-size: 25px; line-height: 1.7; color: var(--ink7); }
.ig-ed .fn { margin-top: 22px; font-size: 20px; color: var(--ink5); line-height: 1.6; }
.ig-ed h3.hd { margin-top: 26px; font-family: "Noto Serif KR", serif; font-size: 44px; font-weight: 900; color: var(--ink9); line-height: 1.3; }
.ed-num .cols.six { grid-template-columns: repeat(3, 1fr); gap: 54px 0; margin-top: 64px; }
.ed-num .cols.six b { font-size: 76px; }
.ed-data .us > div.top span { color: var(--red); }
.ed-types .two { margin-top: 52px; display: grid; grid-template-columns: 1fr 1fr; }
.ed-types .two > div { text-align: center; padding: 24px 0; border-left: 1px solid var(--l3); }
.ed-types .two > div:first-child { border-left: 0; }
.ed-types .two b { font-family: "Noto Serif KR", serif; font-size: 100px; font-weight: 900; color: var(--ink9); display: block; line-height: 1; }
.ed-types .two span { display: block; margin-top: 14px; font-size: 24px; color: var(--ink5); }
.ed-types .us { margin-top: 30px; }
.ed-types .us > div { display: flex; justify-content: space-between; border-bottom: 1px solid var(--l3); padding: 16px 0; }
.ed-types .us span { font-size: 24px; font-weight: 700; color: var(--ink9); }
.ed-types .us em { font-style: normal; font-size: 22px; color: var(--ink5); }
.ed-trend .pt { display: grid; grid-template-columns: 96px 1fr; gap: 18px; border-bottom: 1px solid var(--l3); padding: 30px 0; align-items: start; }
.ed-trend .pt b { font-family: "Noto Serif KR", serif; font-size: 40px; font-weight: 900; color: var(--red); }
.ed-trend .pt p { font-size: 27px; line-height: 1.65; color: var(--ink7); }
.ed-trend .hd { margin-top: 20px; }
.ed-proof h3 { margin-top: 28px; font-family: "Noto Serif KR", serif; font-size: 46px; font-weight: 900; color: var(--ink9); line-height: 1.3; }
.ed-proof .big { margin-top: 50px; display: flex; align-items: center; gap: 56px; }
.ed-proof .big > b { font-family: "Noto Serif KR", serif; font-size: 170px; font-weight: 900; color: var(--ink9); line-height: 1; }
.ed-proof .big > b i { font-style: normal; font-size: 60px; color: var(--ink5); }
.ed-proof .big p { font-size: 26px; line-height: 1.9; color: var(--ink7); }
.ed-proof .big p b { font-weight: 900; color: var(--ink9); }
.ed-case h3 { margin-top: 40px; font-family: "Noto Serif KR", serif; font-size: 62px; font-weight: 900; color: var(--ink9); }
.ed-case h3 span { display: block; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 24px; font-weight: 400; color: var(--ink5); margin-top: 12px; }
.ed-case .stand { margin-top: 24px; font-size: 26px; line-height: 1.65; color: var(--ink7); }
.ed-case .dl { margin-top: 36px; border-top: 2px solid var(--ink9); }
.ed-case .dl > div { display: grid; grid-template-columns: 190px 1fr; gap: 24px; border-bottom: 1px solid var(--l3); padding: 24px 0; align-items: start; }
.ed-case .dl dt { font-size: 20px; font-weight: 800; color: var(--ink5); letter-spacing: .06em; margin: 0; padding-top: 4px; }
.ed-case .dl dd { font-size: 25px; line-height: 1.6; color: var(--ink7); margin: 0; }
.ed-str .it small { display: block; margin-top: 10px; font-size: 20px; color: var(--ink5); }
.ed-cta .sm { margin-top: 40px; }
.ed-cta .sm p { font-size: 24px; line-height: 1.85; color: var(--ink7); }

/* ── DATA POSTER v2 ── */
.ig-dp .fn { margin-top: 22px; font-size: 20px; color: rgba(255,255,255,.6); line-height: 1.6; }
.ig-dp h3 { margin-top: 20px; font-size: 42px; font-weight: 900; line-height: 1.3; letter-spacing: -0.02em; }
.dp-snap .grid { margin-top: 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px 56px; }
.dp-snap .grid > div { border-top: 3px solid rgba(255,255,255,.4); padding-top: 20px; }
.dp-snap .grid b { font-size: 76px; font-weight: 900; line-height: 1; display: block; }
.dp-snap .grid b i { font-style: normal; font-size: 30px; color: rgba(255,255,255,.55); }
.dp-snap .grid strong { display: block; margin-top: 12px; font-size: 24px; font-weight: 800; }
.dp-snap .grid span { display: block; margin-top: 4px; font-size: 19px; color: rgba(255,255,255,.6); }
.dp-data .cols span em { display: block; font-style: normal; font-size: 20px; color: rgba(255,255,255,.55); }
.dp-units .hb { margin-top: 44px; }
.dp-units .hb .r { display: grid; grid-template-columns: 200px 1fr 140px; gap: 20px; align-items: center; margin-top: 26px; }
.dp-units .hb span { font-size: 25px; font-weight: 700; }
.dp-units .hb i { display: block; height: 34px; background: rgba(255,255,255,.12); }
.dp-units .hb i b { display: block; height: 100%; background: #fff; }
.dp-units .hb em { font-style: normal; font-size: 22px; text-align: right; color: rgba(255,255,255,.8); }
.dp-types .vs { margin-top: 56px; display: flex; gap: 80px; }
.dp-types .vs b { font-size: 140px; font-weight: 900; line-height: 1; display: block; }
.dp-types .vs .hot b { color: #FF8A7A; }
.dp-types .vs span { display: block; margin-top: 10px; font-size: 24px; color: rgba(255,255,255,.7); }
.dp-types .tags { margin-top: 50px; display: flex; gap: 12px; flex-wrap: wrap; }
.dp-types .tags span { border: 2px solid rgba(255,255,255,.5); padding: 10px 20px; font-size: 22px; }
.dp-proof .row3 { margin-top: 40px; display: flex; gap: 44px; font-size: 25px; color: rgba(255,255,255,.8); }
.dp-proof .row3 b { font-weight: 900; color: #fff; }
.dp-hits .tb { margin-top: 40px; border-top: 3px solid rgba(255,255,255,.6); }
.dp-hits .tb > div { display: flex; gap: 22px; align-items: baseline; border-bottom: 1px solid rgba(255,255,255,.22); padding: 18px 2px; }
.dp-hits .tb b { font-size: 26px; font-weight: 900; min-width: 128px; }
.dp-hits .tb span { font-size: 21px; color: rgba(255,255,255,.6); min-width: 170px; }
.dp-hits .tb em { font-style: normal; font-size: 22px; flex: 1; color: rgba(255,255,255,.9); }
.dp-hits .tb i { font-style: normal; font-size: 22px; font-weight: 800; min-width: 66px; }
.dp-case .qh { margin-top: 40px; }
.dp-case .qh b { font-size: 64px; font-weight: 900; display: block; }
.dp-case .qh span { display: block; margin-top: 8px; font-size: 23px; color: rgba(255,255,255,.65); }
.dp-case .dl { margin-top: 36px; }
.dp-case .dl > div { border-left: 6px solid #E03131; padding: 6px 0 6px 26px; margin-top: 26px; }
.dp-case .dl i { font-style: normal; font-size: 20px; font-weight: 800; color: rgba(255,255,255,.55); letter-spacing: .08em; display: block; }
.dp-case .dl p { margin-top: 8px; font-size: 25px; line-height: 1.55; }
.dp-why2 .mi { border-left: 6px solid #E03131; padding-left: 26px; margin-top: 34px; }
.dp-why2 .mi span { font-size: 21px; font-weight: 800; color: rgba(255,255,255,.55); }
.dp-why2 .mi p { margin-top: 8px; font-size: 25px; line-height: 1.55; font-weight: 600; }
.dp-why2 h3 { font-size: 38px; }
.dp-str .nd small { display: block; margin-top: 8px; font-size: 19px; color: rgba(255,255,255,.55); }
.dp-review .q { margin-top: 54px; font-size: 33px; line-height: 1.8; font-weight: 600; }
.dp-cta .sm { margin-top: 40px; }
.dp-cta .sm p { font-size: 24px; line-height: 1.8; color: var(--ink7); }
.dp-cta h2 { margin-top: 80px; font-size: 84px; }
.dp-cta .who { margin-top: 60px; }

/* ── NOTE v2 ── */
.ig-nt .hd { margin-top: 26px; font-size: 33px; font-weight: 800; color: var(--ink9); line-height: 1.45; }
.ig-nt .co { margin-top: 36px; font-size: 27px; font-weight: 700; color: var(--ink9); line-height: 1.6; }
.ig-nt .sub.sm { font-size: 22px; margin-top: 16px; }
.nt-snap .grid { margin-top: 50px; display: grid; grid-template-columns: 1fr 1fr; gap: 36px 44px; }
.nt-snap .grid > div { border: 1.5px dashed var(--ink5); background: rgba(255,255,255,.75); padding: 22px 26px; }
.nt-snap .grid b { font-size: 62px; font-weight: 900; color: var(--ink9); line-height: 1; display: block; }
.nt-snap .grid b i { font-style: normal; font-size: 26px; color: var(--red); }
.nt-snap .grid strong { display: block; margin-top: 10px; font-size: 22px; font-weight: 800; }
.nt-snap .grid span { display: block; margin-top: 4px; font-size: 18px; color: var(--ink5); }
.nt-units .ls { margin-top: 36px; }
.nt-units .ls > div { border-bottom: 1px dashed var(--l3); padding: 20px 4px; }
.nt-units .ls b { font-size: 27px; font-weight: 800; color: var(--ink9); margin-right: 16px; }
.nt-units .ls > div.top b { background: rgba(229,165,10,.42); padding: 2px 8px; }
.nt-units .ls span { font-size: 22px; color: var(--ink7); }
.nt-units .ls em { display: block; font-style: normal; font-size: 19px; color: var(--ink5); margin-top: 6px; }
.nt-types .two { margin-top: 44px; display: flex; gap: 40px; }
.nt-types .two > div { flex: 1; border: 1.5px dashed var(--ink5); background: rgba(255,255,255,.75); text-align: center; padding: 30px 0; }
.nt-types .two b { font-size: 84px; font-weight: 900; color: var(--ink9); display: block; line-height: 1; }
.nt-types .two span { display: block; margin-top: 10px; font-size: 22px; color: var(--ink5); }
.nt-types .tags { margin-top: 36px; display: flex; gap: 14px; flex-wrap: wrap; }
.nt-types .tags span { border: 1.5px dashed var(--ink5); background: #fff; padding: 12px 20px; font-size: 22px; font-weight: 700; }
.nt-proof .row3 { margin-top: 40px; display: flex; gap: 36px; }
.nt-proof .row3 > div { flex: 1; border: 1.5px dashed var(--ink5); background: rgba(255,255,255,.75); text-align: center; padding: 24px 0; }
.nt-proof .row3 b { font-size: 56px; font-weight: 900; color: var(--ink9); display: block; line-height: 1; }
.nt-proof .row3 span { display: block; margin-top: 8px; font-size: 20px; color: var(--ink5); }
.nt-essay .ls { margin-top: 36px; }
.nt-essay .ls > div { display: flex; gap: 24px; align-items: baseline; border-bottom: 1px dashed var(--l3); padding: 20px 4px; }
.nt-essay .ls b { font-size: 27px; font-weight: 900; color: var(--ink9); min-width: 150px; }
.nt-essay .ls span { font-size: 22px; color: var(--ink5); flex: 1; }
.nt-essay .ls i { font-style: normal; font-size: 23px; font-weight: 800; min-width: 64px; }
.nt-essay .ls em { font-style: normal; font-size: 23px; font-weight: 700; }
.nt-case h3 { margin-top: 44px; font-size: 40px; font-weight: 800; color: var(--ink9); }
.nt-case .dl { margin-top: 32px; }
.nt-case .dl > div { display: grid; grid-template-columns: 180px 1fr; gap: 20px; border-bottom: 1px dashed var(--l3); padding: 20px 0; align-items: start; }
.nt-case .dl dt { font-size: 20px; font-weight: 800; color: var(--red); margin: 0; padding-top: 3px; }
.nt-case .dl dd { font-size: 24px; line-height: 1.55; color: var(--ink7); margin: 0; }
.nt-why2 .mi { color: var(--red) !important; font-weight: 700; }
.nt-review .qq p { font-size: 29px !important; line-height: 1.9 !important; font-weight: 600; color: var(--ink9); }
.nt-cta .ruled { margin-top: 36px; }

/* ── PREMIUM v2 ── */
.pr-c h3.sm { font-size: 38px; line-height: 1.5; }
.pr-snap .grid { margin-top: 50px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 56px 40px; }
.pr-snap .grid b { font-family: "Noto Serif KR", serif; font-size: 74px; font-weight: 900; color: var(--ink9); line-height: 1; display: block; }
.pr-snap .grid b i { font-style: normal; font-size: 28px; color: var(--ink5); }
.pr-snap .grid span { display: block; margin-top: 12px; font-size: 21px; font-weight: 700; color: var(--ink9); letter-spacing: .06em; }
.pr-snap .grid em { display: block; font-style: normal; margin-top: 6px; font-size: 17px; color: var(--ink5); }
.pr-list .rows { margin-top: 40px; width: 780px; }
.pr-list .rows > div { display: flex; align-items: center; gap: 20px; border-bottom: 1px solid var(--l3); padding: 19px 4px; text-align: left; }
.pr-list .rows.tight > div { padding: 14px 4px; }
.pr-list .rows i { width: 14px; height: 14px; flex: none; }
.pr-list .rows span { font-size: 26px; font-weight: 700; color: var(--ink9); flex: 1; text-align: left; }
.pr-list .rows > div.top span { color: var(--red); }
.pr-list .rows em { font-style: normal; font-size: 22px; color: var(--ink5); }
.pr-list .pts { margin-top: 40px; width: 800px; }
.pr-list .pts > div { display: flex; gap: 24px; align-items: baseline; margin-top: 28px; text-align: left; }
.pr-list .pts i { font-style: normal; font-family: "Noto Serif KR", serif; font-size: 26px; color: var(--red); flex: none; }
.pr-list .pts p { font-size: 24px; line-height: 1.65; color: var(--ink7); }
.pr-list .pts b { color: var(--ink9); }
.pr-types .two { margin-top: 48px; display: flex; gap: 100px; }
.pr-types .two b { font-family: "Noto Serif KR", serif; font-size: 120px; font-weight: 900; color: var(--ink9); display: block; line-height: 1; }
.pr-types .two span { display: block; margin-top: 12px; font-size: 22px; color: var(--ink5); letter-spacing: .1em; }
.pr-case .no { font-family: "Noto Serif KR", serif; font-size: 150px; font-weight: 900; color: var(--ink9); line-height: 1; }
.pr-case .no i { font-style: normal; color: var(--red); }
.pr-case .meta { margin-top: 14px; font-size: 22px; color: var(--ink5); }
.pr-case .dl { margin-top: 40px; width: 820px; text-align: left; }
.pr-case .dl > div { display: grid; grid-template-columns: 170px 1fr; gap: 20px; border-top: 1px solid var(--l3); padding: 20px 0; }
.pr-case .dl dt { font-size: 19px; font-weight: 800; color: var(--ink5); letter-spacing: .08em; margin: 0; padding-top: 3px; }
.pr-case .dl dd { font-size: 23px; line-height: 1.6; color: var(--ink7); margin: 0; }
.pr-str .ls > div { text-align: left; }
.pr-str .ls span { display: block; font-size: 30px; font-weight: 800; color: var(--ink9); }
.pr-str .ls p { margin-top: 8px; font-size: 21px; color: var(--ink5); line-height: 1.6; max-width: 640px; }
.pr-ins .q { font-size: 36px; line-height: 1.8; }
.pr-cta .pts.ct { margin-top: 36px; }
.pr-cta .pts.ct p { font-size: 23px; line-height: 1.9; color: var(--ink7); }

/* ── MAGAZINE v2 ── */
.ig-mg .fn { margin-top: 24px; font-size: 20px; color: var(--ink5); line-height: 1.6; }
.ig-mg h3.hd { margin-top: 24px; font-family: "Noto Serif KR", serif; font-size: 42px; font-weight: 900; color: var(--ink9); line-height: 1.3; }
.mg-snap .grid { margin-top: 56px; display: grid; grid-template-columns: 1fr 1fr; border: 3px solid var(--ink9); }
.mg-snap .grid > div { padding: 40px 36px; border: 1.5px solid var(--ink9); }
.mg-snap .grid b { font-family: "Noto Serif KR", serif; font-size: 64px; font-weight: 900; color: var(--ink9); line-height: 1; display: block; }
.mg-snap .grid b i { font-style: normal; font-size: 26px; color: var(--ink5); }
.mg-snap .grid strong { display: block; margin-top: 12px; font-size: 22px; font-weight: 800; }
.mg-snap .grid span { display: block; margin-top: 4px; font-size: 18px; color: var(--ink5); }
.mg-units h3 { margin-top: 24px; font-family: "Noto Serif KR", serif; font-size: 46px; font-weight: 900; color: var(--ink9); line-height: 1.25; }
.mg-units .ls, .mg-types .ls { margin-top: 40px; }
.mg-units .ls > div, .mg-types .ls > div { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--ink9); padding: 24px 4px; }
.mg-units .ls b, .mg-types .ls b { font-size: 30px; font-weight: 800; color: var(--ink9); }
.mg-units .ls > div.top b { color: var(--red); }
.mg-units .ls span, .mg-types .ls span { font-size: 22px; color: var(--ink5); }
.mg-types h3 { margin-top: 24px; font-family: "Noto Serif KR", serif; font-size: 44px; font-weight: 900; color: var(--ink9); line-height: 1.3; }
.mg-types .band2 { margin-top: 48px; display: flex; }
.mg-types .band2 > div { flex: 1; background: var(--ink9); color: #fff; text-align: center; padding: 44px 0; }
.mg-types .band2 > div.hot { background: var(--red); }
.mg-types .band2 b { font-family: "Noto Serif KR", serif; font-size: 90px; font-weight: 900; display: block; line-height: 1; }
.mg-types .band2 span { display: block; margin-top: 12px; font-size: 22px; opacity: .85; }
.mg-types .ls.sm > div { border-bottom-width: 1px; border-color: var(--l3); padding: 16px 4px; }
.mg-hits .tb { margin-top: 44px; border-top: 4px solid var(--ink9); }
.mg-hits .tb > div { display: flex; gap: 24px; align-items: baseline; border-bottom: 1px solid var(--l3); padding: 19px 4px; }
.mg-hits .tb b { font-size: 27px; font-weight: 900; color: var(--ink9); min-width: 132px; }
.mg-hits .tb span { font-size: 21px; color: var(--ink5); min-width: 170px; }
.mg-hits .tb em { font-style: normal; font-size: 22px; color: var(--ink7); flex: 1; }
.mg-hits .tb i { font-style: normal; font-size: 22px; font-weight: 800; min-width: 62px; }
.mg-hits .hd { margin-top: 20px; }
.mg-case h2 { margin-top: 36px; font-family: "Noto Serif KR", serif; font-size: 88px; font-weight: 900; color: var(--ink9); line-height: 1; }
.mg-case .band { margin-top: 24px; background: var(--ink9); color: #fff; padding: 20px 30px; display: flex; justify-content: space-between; align-items: baseline; }
.mg-case .band span { font-size: 23px; }
.mg-case .band em { font-style: normal; font-size: 22px; font-weight: 800; color: #FF8A7A; }
.mg-case .dl { margin-top: 30px; }
.mg-case .dl > div { display: grid; grid-template-columns: 185px 1fr; gap: 22px; border-bottom: 1px solid var(--l3); padding: 21px 0; align-items: start; }
.mg-case .dl dt { font-size: 19px; font-weight: 800; color: var(--pri); letter-spacing: .08em; margin: 0; padding-top: 4px; }
.mg-case .dl dd { font-size: 24px; line-height: 1.55; color: var(--ink7); margin: 0; }
.mg-why2 .bigq { position: absolute; left: 60px; top: 20px; font-family: "Noto Serif KR", serif; font-size: 300px; color: var(--f1); line-height: 1; }
.mg-why2 h3 { position: relative; margin-top: 130px; font-family: "Noto Serif KR", serif; font-size: 52px; font-weight: 900; color: var(--ink9); }
.mg-why2 .ls { position: relative; margin-top: 44px; }
.mg-why2 .ls > div { border-top: 2px solid var(--ink9); padding: 24px 0; }
.mg-why2 .ls b { font-size: 26px; font-weight: 900; color: var(--red); margin-right: 18px; }
.mg-why2 .ls p { display: inline; font-size: 25px; line-height: 1.6; color: var(--ink7); }
.mg-str .it small { display: block; margin-top: 8px; font-size: 19px; color: var(--ink5); }
.mg-review .bigq { position: absolute; left: 60px; top: 90px; font-family: "Noto Serif KR", serif; font-size: 280px; color: var(--f1); line-height: 1; }
.mg-review .q { position: relative; margin-top: 140px; font-family: "Noto Serif KR", serif; font-size: 37px; font-weight: 700; line-height: 1.8; color: var(--ink9); }
.mg-review .by { position: relative; margin-top: 40px; border-top: 2px solid var(--ink9); padding-top: 20px; font-size: 22px; color: var(--ink5); }
.mg-cta .sm { margin-top: 26px; }
.mg-cta .sm p { font-size: 22px; line-height: 1.8; color: var(--ink7); }
.mg-cta .box { padding: 60px 64px; }
.mg-cta .box h3 { font-size: 54px; }
.mg-cta .who { margin-top: 40px; }

/* ── DARK LAB v2 ── */
.ig-dk .fn { margin-top: 24px; font-size: 20px; color: #667084; line-height: 1.6; }
.ig-dk .hd { margin-top: 24px; font-size: 36px; font-weight: 900; color: #F4F5F8; line-height: 1.4; }
.ig-dk .co { margin-top: 34px; font-size: 26px; font-weight: 700; color: #F4F5F8; line-height: 1.6; }
.dk-snap .cells.g { margin-top: 50px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.dk-snap .cells.g > div { border: 1px solid #3D4354; padding: 30px 34px; display: block; }
.dk-snap .cells.g span { font-size: 19px; letter-spacing: .12em; color: #667084; display: block; }
.dk-snap .cells.g b { font-size: 74px; font-weight: 900; color: #F4F5F8; line-height: 1.05; display: block; margin-top: 10px; }
.dk-snap .cells.g b i { font-style: normal; font-size: 30px; color: #667084; }
.dk-snap .cells.g em { font-style: normal; font-size: 19px; color: #8B95A6; display: block; margin-top: 8px; }
.dk-diff .bars { margin-top: 46px; }
.dk-diff .bars .r { display: grid; grid-template-columns: 90px 1fr 140px; gap: 22px; align-items: center; margin-top: 28px; }
.dk-diff .bars span { font-size: 26px; font-weight: 700; color: #C9CFDA; }
.dk-diff .bars i { display: block; height: 34px; background: #1E2230; }
.dk-diff .bars i b { display: block; height: 100%; }
.dk-diff .bars em { font-style: normal; font-size: 22px; color: #8B95A6; text-align: right; }
.dk-types .cells.two { margin-top: 44px; display: flex; gap: 24px; }
.dk-types .cells.two > div { flex: 1; border: 1px solid #3D4354; padding: 36px 40px; }
.dk-types .cells.two span { font-size: 20px; color: #667084; letter-spacing: .1em; display: block; }
.dk-types .cells.two b { font-size: 96px; font-weight: 900; color: #F4F5F8; display: block; line-height: 1; margin-top: 10px; }
.dk-types .cells.two em { font-style: normal; font-size: 21px; color: #8B95A6; display: block; margin-top: 8px; }
.dk-types .tags { margin-top: 36px; display: flex; gap: 12px; flex-wrap: wrap; }
.dk-types .tags span { border: 1px solid #3D4354; padding: 10px 18px; font-size: 21px; color: #C9CFDA; }
.dk-proof .sum.big { margin-top: 50px; }
.dk-proof .sum.big b { font-size: 130px; }
.dk-case .qh { margin-top: 40px; display: flex; align-items: baseline; gap: 30px; flex-wrap: wrap; }
.dk-case .qh b { font-size: 80px; font-weight: 900; color: #F4F5F8; }
.dk-case .qh .meta { display: flex; gap: 12px; flex-wrap: wrap; }
.dk-case .qh .meta span { border: 1px solid #3D4354; padding: 8px 16px; font-size: 20px; color: #C9CFDA; }
.dk-case .log { margin-top: 22px; }
.dk-case .log i { font-size: 19px; }
.dk-case .log p { font-size: 26px; }
.dk-why2 .hd { font-size: 32px; }
.dk-review .q { margin-top: 50px; font-size: 32px; line-height: 1.85; color: #F4F5F8; font-weight: 600; }
.dk-cta .sm { margin-top: 36px; }
.dk-cta .sm p { font-size: 23px; line-height: 1.85; color: #8B95A6; }
.dk-cta h2 { margin-top: 80px; font-size: 80px; }
.dk-cta .band { margin-top: 70px; }
.dk-str .seq em { display: block; font-style: normal; margin-top: 8px; font-size: 19px; color: #667084; }

/* ── INFOGRAPHIC v2 ── */
.ig-if .fn { margin-top: 22px; font-size: 20px; color: var(--ink5); line-height: 1.6; }
.ig-if .hd { margin-top: 22px; font-size: 33px; font-weight: 900; color: var(--ink9); line-height: 1.4; }
.if-snap .grid { margin-top: 56px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 26px; }
.if-snap .grid > div { border: 3px solid var(--pri); padding: 30px 26px; }
.if-snap .grid b { font-size: 60px; font-weight: 900; color: var(--pri); line-height: 1; display: block; }
.if-snap .grid b i { font-style: normal; font-size: 24px; color: var(--ink5); }
.if-snap .grid strong { display: block; margin-top: 12px; font-size: 20px; font-weight: 800; color: var(--ink9); }
.if-snap .grid span { display: block; margin-top: 4px; font-size: 16.5px; color: var(--ink5); line-height: 1.4; }
.if-units .hb { margin-top: 40px; }
.if-units .hb .r { display: grid; grid-template-columns: 210px 1fr 130px; gap: 20px; align-items: center; margin-top: 24px; }
.if-units .hb span { font-size: 24px; font-weight: 700; color: var(--ink9); }
.if-units .hb i { display: block; height: 32px; background: #E8EBF1; }
.if-units .hb i b { display: block; height: 100%; background: var(--pri); }
.if-units .hb em { font-style: normal; font-size: 21px; color: var(--ink5); text-align: right; }
.if-hits .tb { margin-top: 40px; border-top: 4px solid var(--pri); }
.if-hits .tb > div { display: flex; gap: 22px; align-items: baseline; border-bottom: 1px solid #E3E6EC; padding: 18px 2px; }
.if-hits .tb b { font-size: 26px; font-weight: 900; color: var(--pri); min-width: 128px; }
.if-hits .tb span { font-size: 21px; color: var(--ink5); min-width: 168px; }
.if-hits .tb em { font-style: normal; font-size: 22px; color: var(--ink7); flex: 1; }
.if-hits .tb i { font-style: normal; font-size: 22px; font-weight: 800; min-width: 62px; }
.if-case .qh { margin-top: 34px; display: flex; gap: 26px; align-items: center; }
.if-case .qh > i { font-style: normal; min-width: 110px; height: 110px; background: var(--pri); color: #fff; display: grid; place-content: center; font-size: 34px; font-weight: 900; text-align: center; padding: 0 10px; }
.if-case .qh b { font-size: 38px; font-weight: 900; color: var(--ink9); display: block; }
.if-case .qh span { display: block; margin-top: 6px; font-size: 21px; color: var(--ink5); }
.if-case .ce { margin-top: 30px; display: flex; flex-direction: column; }
.if-case .ce .bx { border: 2.5px solid var(--ink9); padding: 22px 30px; }
.if-case .ce .bx.hot { border-color: var(--red); }
.if-case .ce .bx span { font-size: 18px; font-weight: 800; letter-spacing: .12em; color: var(--ink5); display: block; }
.if-case .ce .bx.hot span { color: var(--red); }
.if-case .ce .bx p { margin-top: 8px; font-size: 23px; font-weight: 600; color: var(--ink9); line-height: 1.5; }
.if-case .ce .ar { font-style: normal; text-align: center; font-size: 30px; font-weight: 900; color: var(--red); padding: 2px 0; }
.if-why2 .ls { margin-top: 36px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.if-why2 .ls .bx { border: 3px solid var(--ink9); padding: 28px 30px; }
.if-why2 .ls .bx span { font-size: 22px; font-weight: 900; color: var(--red); display: block; }
.if-why2 .ls .bx p { margin-top: 10px; font-size: 22px; line-height: 1.55; color: var(--ink7); }
.if-str .st small { display: block; margin-top: 8px; font-size: 19px; color: var(--ink5); }
.if-review .qbox { margin-top: 44px; border-left: 8px solid var(--pri); padding: 10px 0 10px 40px; }
.if-review .qbox p { font-size: 31px; line-height: 1.8; font-weight: 600; color: var(--ink9); }
.if-cta .sm { margin-top: 36px; }
.if-cta .sm p { font-size: 24px; line-height: 1.8; color: var(--ink7); }
.if-cta h2 { margin-top: 40px; font-size: 68px; }
.if-cta .arrowbox { margin-top: 60px; }

/* ── 커버리지 검수 표시 ── */
.ig-coverage { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; padding: 10px 14px; border: 1px solid #C9CFDA; background: #fff; }
.ig-coverage b { font-size: 12.5px; font-weight: 800; color: #1C355F; margin-right: 6px; }
.ig-coverage span { font-size: 11.5px; padding: 3px 8px; border: 1px solid #E3E6EC; color: #3D4354; }
.ig-coverage span.ok { border-color: #2F9E44; color: #1F7A4A; }
.ig-coverage span.miss { border-color: #E03131; color: #B3362A; font-weight: 800; }
.ig-coverage span.na { color: #A8B0BE; border-style: dashed; }
.ig-coverage small { margin-left: auto; font-size: 11px; color: #667084; }
.nt-units { position: relative; }
.nt-units .pen.tilt { position: absolute; right: 100px; bottom: 78px; margin-top: 0; }

/* 넘침 방지 미세 조정 */
.ed-proof .tb > div { padding: 15px 4px; }
.nt-proof .ls > div { padding: 18px 4px; }
.dk-proof .vr { padding: 22px 4px; }
.dp-ins .ln { margin-top: 50px; }

.nt-proof .co { margin-top: 24px; font-size: 24px; }
.nt-proof .t { margin-top: 44px; }
.dk-proof .sum { margin-top: 40px; }
.dk-proof .t { margin-top: 42px; }

.nt-proof .ls > div { padding: 15px 4px; }

/* 긴 총평 대응 — 글자를 줄여서라도 담는다 */
.bd-review .q.lg { font-size: 27px; line-height: 1.65; }
.ed-quote .q.lg { font-size: 38px; line-height: 1.6; }
.dp-review .q.lg { font-size: 26px; line-height: 1.7; }
.nt-review.lg .qq p { font-size: 24px !important; line-height: 1.75 !important; }
.pr-ins.lg .q { font-size: 30px; line-height: 1.7; }
.mg-review.lg .q { font-size: 28px; line-height: 1.7; }
.dk-review.lg .q { font-size: 26px; line-height: 1.75; }
.if-review.lg .qbox p { font-size: 25px; line-height: 1.7; }

/* 경향(trend) 5포인트 수용 — 간격 압축 */
.bd-ins .ls { margin-top: 44px; }
.bd-ins .ls > div { margin-top: 26px; }
.bd-ins h3 { font-size: 84px; }
.dp-ins .ln { margin-top: 34px; }
.dp-ins .ln p { font-size: 31px; }
.nt-ins .ruled p { padding: 17px 4px; font-size: 27px; }
.mg-toc .ln { padding: 24px 0; }
.mg-toc .ln b { font-size: 52px; }
.mg-toc .ln p { font-size: 28px; }
.dk-ins .log { padding: 16px 0 16px 28px; margin-top: 18px; }
.dk-ins .log p { font-size: 27px; }
.if-ins .tl { margin-top: 44px; }
.if-ins .tn { margin-top: 40px; }
.if-ins .tn p { font-size: 29px; }
.ed-trend .pt { padding: 22px 0; }
.ed-trend .pt p { font-size: 25px; }
.ed-trend .pt b { font-size: 34px; }
/* ed 유형 카드 하단 여유 */
.ed-types .two { margin-top: 38px; }
.ed-types .two > div { padding: 8px 0; }
.ed-types .two b { font-size: 86px; }
.ed-types .us > div { padding: 12px 0; }
/* dk 표지 간격 분리 (kick과 거대 숫자 겹침) */
.dk-hook .kick { margin-top: 44px; }
.dk-hook .hero { margin-top: 56px; }

.bd-ins h3 { font-size: 58px; margin-top: 18px; }
.bd-ins .ls { margin-top: 36px; }
.bd-ins .ls > div { margin-top: 22px; }
.bd-ins .ls p { font-size: 30px; }
.bd-ins .ls b { font-size: 44px; }

/* ── Question Matrix (문항 전수 지도) — 템플릿별 8가지 그리드 ── */
.ig-card .qm { display: grid; gap: 12px; margin-top: 40px; }
.ig-card .leg { margin-top: 34px; display: flex; gap: 24px; flex-wrap: wrap; font-size: 22px; font-weight: 700; }
.ig-card .leg i { display: inline-block; width: 20px; height: 20px; margin-right: 8px; vertical-align: -2px; }
/* BOLD — 흰 셀 + 난이도 상단 두꺼운 바 */
.bd-matrix .qm .c { border: 2.5px solid var(--ink9); padding: 0 0 12px; text-align: center; }
.bd-matrix .qm .c i { display: block; height: 14px; margin-bottom: 10px; }
.bd-matrix .qm .c b { font-size: 30px; font-weight: 900; display: block; }
.bd-matrix .qm .c em { font-style: normal; font-size: 17px; color: var(--ink5); }
/* EDITORIAL — 헤어라인 셀 + 세리프 번호 + 하단 색 점 */
.ed-matrix .qm { gap: 0; border: 1px solid var(--l3); }
.ed-matrix .qm .c { border: 1px solid var(--l3); padding: 14px 0 12px; text-align: center; }
.ed-matrix .qm .c b { font-family: "Noto Serif KR", serif; font-size: 28px; font-weight: 900; color: var(--ink9); display: block; }
.ed-matrix .qm .c i { display: block; width: 26px; height: 6px; margin: 8px auto 4px; }
.ed-matrix .qm .c em { font-style: normal; font-size: 16px; color: var(--ink5); }
.ed-matrix .leg { font-size: 20px; }
/* DATA POSTER — 난이도색으로 꽉 채운 타일 */
.dp-matrix .qm .c { aspect-ratio: 1.25; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.dp-matrix .qm .c b { font-size: 30px; font-weight: 900; color: #fff; }
.dp-matrix .qm .c em { font-style: normal; font-size: 17px; color: rgba(255,255,255,.85); }
.dp-matrix .leg { color: rgba(255,255,255,.85); }
/* NOTE — 난이도색 점선 스탬프 */
.nt-matrix .qm .c { border: 2.5px dashed; background: rgba(255,255,255,.8); padding: 12px 0; text-align: center; }
.nt-matrix .qm .c b { font-size: 28px; font-weight: 900; color: var(--ink9); display: block; }
.nt-matrix .qm .c em { font-style: normal; font-size: 16px; color: var(--ink5); }
/* PREMIUM — 번호 + 색 점 미니멀 */
.pr-matrix .qm { width: 100%; gap: 20px 14px; }
.pr-matrix .qm .c { text-align: center; }
.pr-matrix .qm .c b { font-family: "Noto Serif KR", serif; font-size: 32px; font-weight: 900; color: var(--ink9); display: block; }
.pr-matrix .qm .c i { display: block; width: 16px; height: 16px; margin: 8px auto 0; }
.pr-matrix .leg { justify-content: center; font-size: 20px; }
/* MAGAZINE — 굵은 검정 격자 */
.mg-matrix .qm { gap: 0; border: 3px solid var(--ink9); }
.mg-matrix .qm .c { border: 1.5px solid var(--ink9); padding: 12px 0 10px; text-align: center; }
.mg-matrix .qm .c b { font-size: 28px; font-weight: 900; color: var(--ink9); display: block; }
.mg-matrix .qm .c i { display: block; width: 100%; height: 8px; margin: 8px 0 4px; }
.mg-matrix .qm .c em { font-style: normal; font-size: 16px; color: var(--ink5); }
/* DARK LAB — 히트맵 타일 */
.dk-matrix .qm .c { aspect-ratio: 1.3; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; }
.dk-matrix .qm .c b { font-size: 28px; font-weight: 900; color: #fff; }
.dk-matrix .qm .c em { font-style: normal; font-size: 16px; color: rgba(255,255,255,.85); }
.dk-matrix .leg { color: #C9CFDA; }
/* INFOGRAPHIC — 와플 + 번호 */
.if-matrix .qm .c { border: 2px solid var(--pri); padding: 0 0 10px; text-align: center; }
.if-matrix .qm .c i { display: block; height: 12px; margin-bottom: 8px; }
.if-matrix .qm .c b { font-size: 28px; font-weight: 900; color: var(--ink9); display: block; }
.if-matrix .qm .c em { font-style: normal; font-size: 16px; color: var(--ink5); }
.nt-matrix { position: relative; }
.nt-matrix .pen { position: absolute; right: 70px; bottom: 60px; margin-top: 0; }

/* why(틀린 이유) 7행 수용 */
.dk-why2 .log { padding: 12px 0 12px 24px; margin-top: 14px; }
.dk-why2 .log p { font-size: 24px; line-height: 1.45; }
.dk-why2 .log i { font-size: 18px; }
.nt-why2 .ruled p { padding: 15px 4px; font-size: 25px; }
.mg-why2 .ls > div { padding: 16px 0; }
.mg-why2 .ls p { font-size: 23px; }
.mg-why2 .ls b { font-size: 24px; }
.mg-why2 h3 { margin-top: 100px; font-size: 46px; }
/* types 카드 8유형 수용 */
.mg-types .band2 { margin-top: 34px; }
.mg-types .band2 > div { padding: 30px 0; }
.mg-types .band2 b { font-size: 74px; }
.mg-types .ls.sm > div { padding: 11px 4px; }
.ed-types .two { margin-top: 30px; }
.ed-types .two b { font-size: 74px; }
.ed-types .us > div { padding: 9px 0; }
.ed-types .insight { margin-top: 22px; font-size: 22px; }
.ed-types .fn { margin-top: 14px; }

.mg-why2 .ls b { display: block; margin-right: 0; }
.mg-why2 .ls p { display: block; margin-top: 6px; }
.mg-why2 .ls > div { padding: 13px 0; }

/* ============================================================
   v5 — 10장 고정 캐러셀. 장마다 Visual Hero + 색 리듬(Full/Light/Dark/Split).
   ============================================================ */

/* ── v5 공용 부품 ── */
.ig-card .hero-bar { display: flex; margin-top: 40px; }
.ig-card .hero-bar i { display: block; height: 100%; }
.ig-card .leg { margin-top: 22px; display: flex; gap: 22px; flex-wrap: wrap; font-size: 21px; font-weight: 700; }
.ig-card .leg i { display: inline-block; width: 18px; height: 18px; margin-right: 8px; vertical-align: -2px; }
.ig-card .nums { display: flex; gap: 0; margin-top: 56px; }
.ig-card .nums > div { padding: 0 44px; border-left: 2px solid rgba(127,127,127,.35); }
.ig-card .nums > div:first-child { padding-left: 0; border-left: 0; }
.ig-card .nums b { display: block; font-size: 74px; font-weight: 900; line-height: 1; letter-spacing: -0.03em; }
.ig-card .nums span { display: block; margin-top: 10px; font-size: 21px; opacity: .75; font-weight: 700; }
.ig-card .rng { margin-top: 42px; }
.ig-card .rng > b { display: block; font-size: 20px; font-weight: 800; letter-spacing: .1em; margin-bottom: 14px; opacity: .75; }
.ig-card .rng > div { display: flex; flex-wrap: wrap; gap: 10px; }
.ig-card .rng > div span { border: 2px solid currentColor; padding: 10px 18px; font-size: 22px; font-weight: 700; }
.ig-card .rng > div span.more { opacity: .6; border-style: dashed; }
.ig-card .rng > p { font-size: 23px; line-height: 1.65; }
/* 문항 지도 행 — 공통 골격 (색·괘선은 템플릿별) */
.ig-card .qt { margin-top: 30px; }
.ig-card .qt > div { display: grid; grid-template-columns: 96px 1fr 170px 30px 64px 40px; align-items: center; gap: 14px; padding: 12px 4px; }
.ig-card .qt b { font-size: 27px; font-weight: 900; }
.ig-card .qt span { font-size: 21px; opacity: .8; overflow: hidden; white-space: nowrap; }
.ig-card .qt u { font-size: 19px; text-decoration: none; opacity: .6; overflow: hidden; white-space: nowrap; }
.ig-card .qt i { width: 22px; height: 22px; }
.ig-card .qt em { font-style: normal; font-size: 22px; font-weight: 800; text-align: right; }
.ig-card .qt mark { background: none; color: #2F9E44; font-weight: 900; font-size: 22px; }
.ig-card .qt > div.hard b { color: #C2452D; }
.ig-card .con { font-size: 30px; line-height: 1.55; font-weight: 600; }
/* 서술형·적중 공용 행 */
.ig-card .er > div { display: flex; gap: 18px; align-items: baseline; padding: 12px 2px; }
.ig-card .er b { font-size: 25px; font-weight: 900; min-width: 92px; }
.ig-card .er span { font-size: 20px; opacity: .7; flex: 1; overflow: hidden; white-space: nowrap; }
.ig-card .er i { font-style: normal; font-size: 21px; font-weight: 800; min-width: 56px; }
.ig-card .er em { font-style: normal; font-size: 21px; font-weight: 700; }
.ig-card .src p { font-size: 22px; padding: 8px 0; }
.ig-card .src p b { font-weight: 900; margin-right: 10px; }

/* ══════ BOLD 리듬: 1 잉크다크 / 4 틴트 / 6 다크 / 8 주묵 / 10 다크 ══════ */
.bdc-cover { background: #14161F; color: #fff; }
.bdc-cover .kick { color: rgba(255,255,255,.55) !important; }
.bdc-cover h2 { margin-top: 90px; font-size: 96px; font-weight: 900; line-height: 1.1; letter-spacing: -0.04em; }
.bdc-cover h2 em { font-style: normal; color: #E8654B; }
.bdc-cover .con { margin-top: 44px; color: rgba(255,255,255,.85); max-width: 860px; }
.bdc-cover .nums b { color: #fff; }
.bdc-cover .br, .bdc-cover .pg { color: #fff; }
.ig-bd h3 { margin-top: 26px; font-size: 44px; font-weight: 900; letter-spacing: -0.03em; line-height: 1.25; }
.ig-bd h3.sm { font-size: 34px; }
.ig-bd .ev { margin-top: 20px; font-size: 21px; color: var(--ink5); }
.bdc-snap .grid { margin-top: 48px; display: grid; grid-template-columns: 1fr 1fr; gap: 34px 48px; }
.bdc-snap .grid > div { border-top: 6px solid var(--ink9); padding-top: 16px; }
.bdc-snap .grid b { font-size: 58px; font-weight: 900; line-height: 1; display: block; }
.bdc-snap .grid b i { font-style: normal; font-size: 26px; color: var(--red); }
.bdc-snap .grid strong { display: block; margin-top: 8px; font-size: 21px; font-weight: 800; }
.bdc-snap .grid span { display: block; margin-top: 3px; font-size: 17.5px; color: var(--ink5); }
.bdc-dist .us { margin-top: 40px; }
.bdc-dist .us > div { display: grid; grid-template-columns: 220px 1fr 130px; align-items: center; gap: 18px; margin-top: 17px; }
.bdc-dist .us span { font-size: 23px; font-weight: 800; }
.bdc-dist .us i { display: block; height: 30px; background: var(--f1); }
.bdc-dist .us i b { display: block; height: 100%; background: rgba(20,22,31,.45); }
.bdc-dist .us > div.top i b { background: var(--ink9); }
.bdc-dist .us em { font-style: normal; font-size: 21px; font-weight: 700; text-align: right; color: var(--ink5); }
.bdc-trend { background: #F4F5F8; }
.bdc-trend h3 { font-size: 56px; }
.bdc-trend h3 em { font-style: normal; color: var(--red); }
.bdc-trend .ls { margin-top: 36px; }
.bdc-trend .ls > div { display: grid; grid-template-columns: 78px 1fr; gap: 14px; margin-top: 24px; align-items: start; }
.bdc-trend .ls b { font-size: 40px; font-weight: 900; color: var(--red); line-height: 1.1; }
.bdc-trend .ls p { font-size: 29px; font-weight: 600; line-height: 1.5; }
.bdc-qmap .qt > div { border-bottom: 2px solid var(--l3); }
.bdc-qmap .qt { border-top: 6px solid var(--ink9); }
.bdc-qmap.dark { background: #14161F; color: #fff; }
.bdc-qmap.dark .t { color: #E8654B; }
.bdc-qmap.dark .qt { border-top-color: #fff; }
.bdc-qmap.dark .qt > div { border-bottom-color: rgba(255,255,255,.2); }
.bdc-qmap.dark .qt > div.hard b { color: #FF8A7A; }
.bdc-qmap.dark .ev { color: rgba(255,255,255,.6); }
.bdc-qmap.dark .br, .bdc-qmap.dark .pg { color: #fff; }
.bdc-wh .top { padding-bottom: 26px; }
.bdc-wh .er > div { border-bottom: 1.5px solid var(--l3); }
.bdc-wh .ins { margin-top: 18px; font-size: 24px; font-weight: 600; }
.bdc-wh .bot { margin: 34px -64px -120px; background: #1C355F; color: #fff; padding: 40px 64px 120px; }
.bdc-wh .bot .hero b { font-size: 96px; font-weight: 900; }
.bdc-wh .bot .hero i { font-style: normal; font-size: 44px; color: rgba(255,255,255,.6); }
.bdc-wh .bot .hero span { display: block; font-size: 23px; margin-top: 6px; color: rgba(255,255,255,.75); }
.bdc-wh .bot .src { margin-top: 20px; columns: 2; column-gap: 40px; }
.bdc-wh .bot .src p { font-size: 21px; padding: 6px 0; }
.bdc-wh .bot .mo { margin-top: 16px; font-size: 20px; color: rgba(255,255,255,.65); }
.bdc-hard { background: #C2452D; color: #fff; }
.bdc-hard .t { color: rgba(255,255,255,.7) !important; }
.bdc-hard .cs { display: grid; grid-template-columns: 190px 1fr; gap: 26px; margin-top: 40px; align-items: start; }
.bdc-hard .cs .no { font-size: 120px; font-weight: 900; line-height: .9; letter-spacing: -0.04em; }
.bdc-hard .cs .meta { font-size: 21px; color: rgba(255,255,255,.75); }
.bdc-hard .cs .sum { margin-top: 10px; font-size: 24px; font-weight: 700; line-height: 1.45; }
.bdc-hard .cs .dl { margin-top: 14px; }
.bdc-hard .cs .dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 14px; border-top: 1px solid rgba(255,255,255,.3); padding: 12px 0; }
.bdc-hard .cs .dl dt { font-size: 18px; font-weight: 800; color: rgba(255,255,255,.7); margin: 0; padding-top: 2px; }
.bdc-hard .cs .dl dd { font-size: 21.5px; line-height: 1.45; margin: 0; }
.bdc-hard .ev { color: rgba(255,255,255,.7); }
.bdc-hard .br, .bdc-hard .pg { color: #fff; }
.bdc-why .pr2 { margin-top: 36px; }
.bdc-why .pr2 > div { display: grid; grid-template-columns: 84px 1fr; gap: 16px; margin-top: 26px; align-items: start; }
.bdc-why .pr2 b { font-size: 40px; font-weight: 900; color: var(--l3); }
.bdc-why .fr span { display: block; font-size: 24px; color: var(--ink7); line-height: 1.45; }
.bdc-why .fr i { display: none; }
.bdc-why .fr strong { display: block; margin-top: 8px; font-size: 25px; font-weight: 900; color: var(--red); }
.bdc-str { background: #14161F; color: #fff; }
.bdc-str .t { color: #E8654B !important; }
.bdc-str h3.sm { color: rgba(255,255,255,.85); }
.bdc-str .ls { margin-top: 30px; }
.bdc-str .ls > div { display: grid; grid-template-columns: 96px 1fr; gap: 18px; margin-top: 30px; align-items: start; }
.bdc-str .ls b { font-size: 84px; font-weight: 900; color: rgba(255,255,255,.25); line-height: .9; }
.bdc-str .ls strong { font-size: 34px; font-weight: 900; display: block; }
.bdc-str .ls p { margin-top: 8px; font-size: 23px; color: rgba(255,255,255,.75); line-height: 1.5; }
.bdc-str .ls small { display: block; margin-top: 6px; font-size: 18.5px; color: rgba(255,255,255,.5); }
.bdc-str .cta { margin-top: 44px; border-top: 1px solid rgba(255,255,255,.3); padding-top: 24px; display: flex; gap: 26px; align-items: baseline; flex-wrap: wrap; }
.bdc-str .cta b { font-size: 28px; font-weight: 900; }
.bdc-str .cta span { font-size: 20px; color: rgba(255,255,255,.65); }
.bdc-str .cta em { font-style: normal; margin-left: auto; font-size: 30px; font-weight: 900; color: #E8654B; }
.bdc-str .pg { color: #fff; }

/* ══════ EDITORIAL 리듬: 4 틴트 / 6 잉크 / 8 대형 주묵 넘버 / 10 남색 ══════ */
.edc-cover .mast { border-top: 10px solid var(--ink9); padding-top: 22px; }
.edc-cover .mast b { font-family: "Noto Serif KR", serif; font-size: 50px; font-weight: 900; }
.edc-cover .mast span { display: block; font-size: 19px; color: var(--ink5); margin-top: 6px; }
.edc-cover h2 { margin-top: 80px; font-family: "Noto Serif KR", serif; font-size: 84px; font-weight: 900; line-height: 1.2; color: var(--ink9); }
.edc-cover .deck { margin-top: 30px; font-size: 29px; line-height: 1.6; color: var(--ink5); }
.edc-cover .nums { margin-top: 60px; }
.edc-cover .nums b { font-family: "Noto Serif KR", serif; color: var(--ink9); }
.edc-cover .iss { margin-top: 46px; font-size: 22px; color: var(--ink7); border-top: 1px solid var(--l3); padding-top: 20px; }
.edc-snap .cols { margin-top: 52px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 0; }
.edc-snap .cols > div { border-left: 1px solid var(--l3); padding: 4px 26px 0; }
.edc-snap .cols > div:nth-child(3n+1) { border-left: 0; padding-left: 0; }
.edc-snap .cols b { font-family: "Noto Serif KR", serif; font-size: 66px; font-weight: 900; color: var(--ink9); display: block; line-height: 1; }
.edc-snap .cols b i { font-style: normal; font-size: 28px; color: var(--ink5); }
.edc-snap .cols strong { display: block; margin-top: 14px; font-size: 22px; font-weight: 800; }
.edc-snap .cols span { display: block; margin-top: 6px; font-size: 18px; color: var(--ink5); line-height: 1.5; }
.edc-snap .rng { border-top: 2px solid var(--ink9); padding-top: 22px; }
.edc-dist h3 { margin-top: 22px; font-family: "Noto Serif KR", serif; font-size: 42px; font-weight: 900; color: var(--ink9); line-height: 1.3; }
.edc-dist .us { margin-top: 34px; }
.edc-dist .us > div { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--l3); padding: 15px 2px; }
.edc-dist .us span { font-size: 25px; font-weight: 700; color: var(--ink9); }
.edc-dist .us > div.top span { color: var(--red); }
.edc-dist .us em { font-style: normal; font-size: 21px; color: var(--ink5); }
.edc-trend { background: #F4F5F8; }
.edc-trend .pt { display: grid; grid-template-columns: 92px 1fr; gap: 16px; border-bottom: 1px solid var(--l3); padding: 26px 0; align-items: start; }
.edc-trend .pt b { font-family: "Noto Serif KR", serif; font-size: 38px; font-weight: 900; color: var(--red); }
.edc-trend .pt p { font-size: 27px; line-height: 1.6; color: var(--ink7); }
.edc-qmap .qt { border-top: 3px solid var(--ink9); }
.edc-qmap .qt > div { border-bottom: 1px solid var(--l3); }
.edc-qmap .qt b { font-family: "Noto Serif KR", serif; }
.edc-qmap.dark { background: #14161F; color: #E8EAF0; }
.edc-qmap.dark .cap { color: #E8654B; }
.edc-qmap.dark .qt { border-top-color: #E8EAF0; }
.edc-qmap.dark .qt > div { border-bottom-color: rgba(255,255,255,.18); }
.edc-qmap.dark .qt > div.hard b { color: #FF8A7A; }
.edc-qmap.dark .fn { color: rgba(255,255,255,.55); }
.edc-qmap.dark .folio { color: rgba(255,255,255,.55); }
.edc-wh { display: grid; grid-template-columns: 1fr 1fr; gap: 0 44px; align-content: start; }
.edc-wh .lft { border-right: 1px solid var(--l3); padding-right: 44px; }
.edc-wh h3 { margin-top: 18px; font-family: "Noto Serif KR", serif; font-size: 44px; font-weight: 900; color: var(--ink9); }
.edc-wh h3.pctn { font-size: 96px; line-height: 1; }
.edc-wh h3.pctn i { font-style: normal; font-size: 40px; color: var(--ink5); }
.edc-wh .er > div { border-bottom: 1px solid var(--l3); }
.edc-wh .src { margin-top: 16px; }
.edc-wh .src p { border-bottom: 1px solid var(--f1); }
.edc-hard .cs { display: grid; grid-template-columns: 200px 1fr; gap: 24px; margin-top: 36px; align-items: start; }
.edc-hard .cs .no { font-family: "Noto Serif KR", serif; font-size: 140px; font-weight: 900; color: var(--red); line-height: .85; }
.edc-hard .cs .meta { font-size: 21px; color: var(--ink5); }
.edc-hard .cs .stand { margin-top: 8px; font-size: 24px; line-height: 1.5; color: var(--ink7); }
.edc-hard .cs .dl { margin-top: 12px; }
.edc-hard .cs .dl > div { display: grid; grid-template-columns: 140px 1fr; gap: 16px; border-top: 1px solid var(--l3); padding: 11px 0; }
.edc-hard .cs .dl dt { font-size: 17.5px; font-weight: 800; color: var(--ink5); margin: 0; padding-top: 2px; }
.edc-hard .cs .dl dd { font-size: 21px; line-height: 1.45; color: var(--ink7); margin: 0; }
.edc-why .pt2 { display: grid; grid-template-columns: 88px 1fr; gap: 16px; border-bottom: 1px solid var(--l3); padding: 22px 0; align-items: start; }
.edc-why .pt2 b { font-family: "Noto Serif KR", serif; font-size: 36px; font-weight: 900; color: var(--ink9); }
.edc-why .pt2 .w { font-size: 23px; color: var(--ink7); line-height: 1.5; }
.edc-why .pt2 .h { margin-top: 6px; font-size: 24px; font-weight: 800; color: var(--red); }
.edc-str { background: #1C355F; color: #EDF2F9; }
.edc-str .cap { color: #9FB4D8; }
.edc-str .it { display: grid; grid-template-columns: 88px 1fr; gap: 18px; margin-top: 42px; align-items: start; }
.edc-str .it b { font-family: "Noto Serif KR", serif; font-size: 56px; font-weight: 900; color: #fff; }
.edc-str .it strong { font-size: 32px; font-weight: 900; color: #fff; }
.edc-str .it p { margin-top: 8px; font-size: 23px; line-height: 1.55; color: rgba(255,255,255,.8); }
.edc-str .it small { display: block; margin-top: 6px; font-size: 18.5px; color: rgba(255,255,255,.55); }
.edc-str .colo { margin-top: 50px; border-top: 1px solid rgba(255,255,255,.3); padding-top: 22px; }
.edc-str .colo b { font-size: 28px; font-weight: 900; display: block; }
.edc-str .colo span { display: block; margin-top: 6px; font-size: 20px; color: rgba(255,255,255,.7); }

/* ══════ DATA POSTER 리듬: 기본 남색 / 2·4·9 라이트 / 6 잉크 / 8 주묵 ══════ */
.dpc-cover .hero { margin-top: 60px; }
.dpc-cover .hero b { font-size: 300px; font-weight: 900; line-height: .9; letter-spacing: -0.05em; display: block; }
.dpc-cover .hero span { display: block; margin-top: 16px; font-size: 34px; font-weight: 800; }
.dpc-cover .ub { width: 260px; height: 16px; background: #E03131; margin: 36px 0 26px; }
.dpc-cover .con { color: rgba(255,255,255,.8); }
.dpc-cover .nums { margin-top: 40px; }
.ig-dp > .dpc-snap, .ig-dp > .dpc-trend, .ig-dp > .dpc-why { background: #fff; color: #14161F; }
.dpc-snap .strip, .dpc-trend .strip, .dpc-why .strip { color: #667084; border-top-color: #C9CFDA; }
.dpc-snap .t, .dpc-trend .t, .dpc-why .t { color: #1C355F; }
.dpc-snap .grid { margin-top: 50px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px 52px; }
.dpc-snap .grid > div { border-top: 5px solid #1C355F; padding-top: 16px; }
.dpc-snap .grid b { font-size: 64px; font-weight: 900; line-height: 1; display: block; color: #1C355F; }
.dpc-snap .grid b i { font-style: normal; font-size: 26px; color: #667084; }
.dpc-snap .grid strong { display: block; margin-top: 8px; font-size: 21px; font-weight: 800; }
.dpc-snap .grid span { display: block; margin-top: 3px; font-size: 17.5px; color: #667084; }
.dpc-dist .cols { display: flex; align-items: flex-end; gap: 34px; height: 380px; margin-top: 60px; }
.dpc-dist .cols > div { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; text-align: center; }
.dpc-dist .cols b { font-size: 40px; font-weight: 900; margin-bottom: 12px; }
.dpc-dist .cols i { display: block; width: 100%; }
.dpc-dist .cols span { font-size: 26px; font-weight: 700; margin-top: 14px; }
.dpc-dist .cols span em { display: block; font-style: normal; font-size: 19px; color: rgba(255,255,255,.55); }
.dpc-dist .us { margin-top: 40px; }
.dpc-dist .us > div { display: grid; grid-template-columns: 180px 1fr 90px; gap: 18px; align-items: center; margin-top: 16px; }
.dpc-dist .us span { font-size: 22px; font-weight: 700; }
.dpc-dist .us i { display: block; height: 26px; background: rgba(255,255,255,.12); }
.dpc-dist .us i b { display: block; height: 100%; background: #fff; }
.dpc-dist .us em { font-style: normal; font-size: 21px; text-align: right; }
.dpc-trend .ln { display: grid; grid-template-columns: 90px 1fr; gap: 14px; margin-top: 38px; align-items: start; }
.dpc-trend .ln i { font-style: normal; font-size: 46px; font-weight: 900; color: #C9CFDA; }
.dpc-trend .ln p { font-size: 30px; font-weight: 600; line-height: 1.5; color: #14161F; }
.dpc-trend .fn { color: #667084; }
.dpc-qmap .qt > div { border-bottom: 1px solid rgba(255,255,255,.22); }
.dpc-qmap.dark { background: #14161F; }
.dpc-qmap.dark .qt > div.hard b { color: #FF8A7A; }
.dpc-wh .er > div { border-bottom: 1px solid rgba(255,255,255,.22); }
.dpc-wh .bot { margin-top: 30px; border-top: 3px solid rgba(255,255,255,.5); padding-top: 24px; }
.dpc-wh .bot .hero b { font-size: 110px; font-weight: 900; line-height: 1; }
.dpc-wh .bot .hero b i, .dpc-wh .bot .hero i { font-style: normal; font-size: 46px; color: rgba(255,255,255,.55); }
.dpc-wh .bot .hero span { display: block; font-size: 22px; margin-top: 8px; color: rgba(255,255,255,.75); }
.dpc-wh .src { margin-top: 14px; columns: 2; column-gap: 36px; }
.dpc-wh .src p { font-size: 20px; padding: 5px 0; }
.dpc-wh .mo { margin-top: 12px; font-size: 19px; color: rgba(255,255,255,.6); }
.dpc-hard { background: #C2452D !important; }
.dpc-hard .cs { display: grid; grid-template-columns: 180px 1fr; gap: 24px; margin-top: 38px; align-items: start; }
.dpc-hard .cs .no { font-size: 120px; font-weight: 900; line-height: .9; }
.dpc-hard .cs .meta { font-size: 20px; color: rgba(255,255,255,.75); }
.dpc-hard .cs .dl > div { border-left: 5px solid rgba(255,255,255,.5); padding: 4px 0 4px 20px; margin-top: 16px; }
.dpc-hard .cs .dl i { font-style: normal; font-size: 18px; font-weight: 800; color: rgba(255,255,255,.7); display: block; }
.dpc-hard .cs .dl p { margin-top: 6px; font-size: 21.5px; line-height: 1.45; }
.dpc-why .fr2 { display: grid; grid-template-columns: 80px 1fr; gap: 16px; margin-top: 30px; align-items: start; }
.dpc-why .fr2 b { font-size: 42px; font-weight: 900; color: #C9CFDA; }
.dpc-why .fr2 .w { font-size: 23px; color: #3D4354; line-height: 1.5; }
.dpc-why .fr2 .h { margin-top: 6px; font-size: 24px; font-weight: 900; color: #C2452D; }
.dpc-why .fn { color: #667084; }
.dpc-str .nd { display: grid; grid-template-columns: 96px 1fr; gap: 18px; margin-top: 34px; align-items: start; }
.dpc-str .nd b { font-size: 80px; font-weight: 900; color: rgba(255,255,255,.3); line-height: .9; }
.dpc-str .nd strong { font-size: 32px; font-weight: 900; }
.dpc-str .nd p { margin-top: 8px; font-size: 22px; color: rgba(255,255,255,.75); line-height: 1.5; }
.dpc-str .nd small { display: block; margin-top: 6px; font-size: 18px; color: rgba(255,255,255,.5); }
.dpc-str .cta { margin-top: 44px; border-top: 1px solid rgba(255,255,255,.35); padding-top: 22px; display: flex; gap: 24px; align-items: baseline; flex-wrap: wrap; }
.dpc-str .cta b { font-size: 28px; font-weight: 900; }
.dpc-str .cta span { font-size: 19px; color: rgba(255,255,255,.65); }
.dpc-str .cta em { font-style: normal; margin-left: auto; font-size: 30px; font-weight: 900; }

/* ══════ NOTE 리듬: 4 형광지 / 6 칠판 / 8 주묵지 ══════ */
.ntc-cover h2 { margin-top: 40px; font-size: 74px; font-weight: 900; color: var(--ink9); line-height: 1.25; }
.ntc-cover .kick { margin-top: 40px; font-size: 22px; color: var(--ink5); }
.ntc-cover .con { margin-top: 30px; }
.ntc-cover .nums { margin-top: 44px; }
.ntc-cover .nums b { color: var(--ink9); }
.ntc-cover .pen { position: absolute; right: 80px; bottom: 70px; }
.ntc-snap .grid { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 26px 36px; }
.ntc-snap .grid > div { border: 1.5px dashed var(--ink5); background: rgba(255,255,255,.78); padding: 18px 22px; }
.ntc-snap .grid b { font-size: 52px; font-weight: 900; color: var(--ink9); line-height: 1; display: block; }
.ntc-snap .grid b i { font-style: normal; font-size: 24px; color: var(--red); }
.ntc-snap .grid strong { display: block; margin-top: 8px; font-size: 20px; font-weight: 800; }
.ntc-snap .grid span { display: block; margin-top: 3px; font-size: 17px; color: var(--ink5); }
.ntc-snap .rng { background: rgba(255,255,255,.78); border: 1.5px dashed var(--ink5); padding: 18px 22px; margin-top: 28px; }
.ntc-dist .us { margin-top: 30px; }
.ntc-dist .us > div { border-bottom: 1px dashed var(--l3); padding: 14px 2px; }
.ntc-dist .us b { font-size: 24px; font-weight: 800; color: var(--ink9); margin-right: 14px; }
.ntc-dist .us > div.top b { background: rgba(229,165,10,.42); padding: 2px 8px; }
.ntc-dist .us span { font-size: 20px; color: var(--ink7); }
.ntc-trend { background-color: #FBF6E3 !important; }
.ntc-trend .ruled p { border-bottom: 1px dashed #C9B87A; padding: 20px 4px; font-size: 28px; line-height: 1.55; }
.ntc-qmap .qt > div { border-bottom: 1px dashed var(--l3); padding: 9px 2px; }
.ntc-qmap.dark { background-color: #17202A !important;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px) !important;
  color: #EDF2F0; }
.ntc-qmap.dark .tab { background: #17202A; border-color: #EDF2F0; }
.ntc-qmap.dark .tab b, .ntc-qmap.dark .tab span, .ntc-qmap.dark .tab em { color: #EDF2F0; }
.ntc-qmap.dark .t { color: #EDF2F0; border-bottom-color: #EDF2F0; }
.ntc-qmap.dark .hd { color: #EDF2F0; }
.ntc-qmap.dark .qt > div { border-bottom-color: rgba(255,255,255,.2); }
.ntc-qmap.dark .qt > div.hard b { color: #FF8A7A; }
.ntc-qmap.dark .co { color: rgba(255,255,255,.75); }
.ntc-wh .er > div { border-bottom: 1px dashed var(--l3); }
.ntc-wh .bot { margin-top: 26px; border-top: 2.5px solid var(--ink9); padding-top: 10px; position: relative; }
.ntc-wh .src p { border-bottom: 1px dashed var(--l3); padding: 9px 0; font-size: 21px; }
.ntc-wh .src p em { font-style: normal; color: #2F9E44; font-weight: 900; }
.ntc-wh .stamp { position: absolute; right: 30px; top: 60px; width: 150px; height: 150px; border: 5px double var(--red); border-radius: 50%; display: grid; place-content: center; text-align: center; color: var(--red); font-family: "Noto Serif KR", serif; font-size: 32px; font-weight: 900; line-height: 1.3; transform: rotate(9deg); opacity: .9; }
.ntc-wh .co { margin-top: 16px; font-size: 22px; }
.ntc-hard { background-color: #FAEFEC !important; }
.ntc-hard .cs { display: grid; grid-template-columns: 150px 1fr; gap: 22px; margin-top: 34px; align-items: start; }
.ntc-hard .cir { display: inline-grid; place-content: center; width: 128px; height: 128px; border: 4px solid var(--red); border-radius: 50%; color: var(--red); font-weight: 900; font-size: 44px; }
.ntc-hard .meta { font-size: 20px; color: var(--ink5); }
.ntc-hard .dl { margin-top: 10px; }
.ntc-hard .dl > div { display: grid; grid-template-columns: 140px 1fr; gap: 14px; border-bottom: 1px dashed #D9BCB2; padding: 11px 0; }
.ntc-hard .dl dt { font-size: 18px; font-weight: 800; color: var(--red); margin: 0; }
.ntc-hard .dl dd { font-size: 21px; line-height: 1.45; color: var(--ink7); margin: 0; }
.ntc-hard .pen.tilt { position: absolute; right: 80px; bottom: 56px; margin: 0; }
.ntc-why .ck > div { display: grid; grid-template-columns: 56px 1fr; gap: 12px; margin-top: 26px; align-items: start; }
.ntc-why .ck i { font-style: normal; font-size: 38px; color: var(--red); }
.ntc-why .ck .w { font-size: 24px; color: var(--ink7); line-height: 1.5; }
.ntc-why .ck .h { margin-top: 5px; font-size: 24px; font-weight: 800; color: var(--ink9); }
.ntc-str .ck > div { display: grid; grid-template-columns: 60px 1fr; gap: 12px; margin-top: 32px; align-items: start; }
.ntc-str .ck i { font-style: normal; font-size: 40px; color: var(--ink9); }
.ntc-str .ck strong { font-size: 29px; font-weight: 800; color: var(--ink9); }
.ntc-str .ck p { margin-top: 6px; font-size: 22px; color: var(--ink5); line-height: 1.55; }
.ntc-str .ck small { display: block; margin-top: 4px; font-size: 18px; color: var(--ink5); }
.ntc-str .cta { margin-top: 40px; border-top: 2.5px solid var(--ink9); padding-top: 20px; }
.ntc-str .cta b { font-size: 28px; font-weight: 900; color: var(--ink9); display: block; }
.ntc-str .cta > span { display: block; margin-top: 6px; font-size: 20px; color: var(--ink7); }
.ntc-str .cta .pen { font-size: 52px; margin-top: 8px; }

/* ══════ PREMIUM 리듬: 6 잉크 미니멀 / 8 틴트 / 10 남색 ══════ */
.prc-cover h2 { font-family: "Noto Serif KR", serif; font-size: 76px; font-weight: 900; line-height: 1.35; color: var(--ink9); }
.prc-cover .nums { justify-content: center; margin-top: 48px; }
.prc-cover .nums b { font-family: "Noto Serif KR", serif; color: var(--ink9); font-size: 60px; }
.prc-snap .grid { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 48px 36px; }
.prc-snap .grid b { font-family: "Noto Serif KR", serif; font-size: 64px; font-weight: 900; color: var(--ink9); line-height: 1; display: block; }
.prc-snap .grid b i { font-style: normal; font-size: 26px; color: var(--ink5); }
.prc-snap .grid span { display: block; margin-top: 10px; font-size: 20px; font-weight: 700; color: var(--ink9); }
.prc-snap .grid em { display: block; font-style: normal; margin-top: 4px; font-size: 16px; color: var(--ink5); }
.prc-dist .hero-bar { width: 780px; }
.prc-dist .rows { margin-top: 30px; width: 780px; }
.prc-dist .rows > div { display: flex; justify-content: space-between; border-bottom: 1px solid var(--l3); padding: 15px 4px; }
.prc-dist .rows span { font-size: 25px; font-weight: 700; color: var(--ink9); }
.prc-dist .rows > div.top span { color: var(--red); }
.prc-dist .rows em { font-style: normal; font-size: 21px; color: var(--ink5); }
.prc-trend .pts { margin-top: 36px; width: 820px; }
.prc-trend .pts > div { display: flex; gap: 22px; align-items: baseline; margin-top: 26px; text-align: left; }
.prc-trend .pts i { font-style: normal; font-family: "Noto Serif KR", serif; font-size: 25px; color: var(--red); }
.prc-trend .pts p { font-size: 24px; line-height: 1.6; color: var(--ink7); }
.prc-qmap { justify-content: flex-start; padding-top: 150px !important; }
.prc-qmap .qt { width: 100%; }
.prc-qmap .qt > div { border-bottom: 1px solid var(--l3); padding: 10px 2px; text-align: left; }
.prc-qmap.dark { background: #14161F !important; color: #E8EAF0; }
.prc-qmap.dark .mk { color: rgba(255,255,255,.5); }
.prc-qmap.dark .l { color: rgba(255,255,255,.6); }
.prc-qmap.dark .qt > div { border-bottom-color: rgba(255,255,255,.18); }
.prc-qmap.dark .qt > div.hard b { color: #FF8A7A; }
.prc-qmap.dark .sub { color: rgba(255,255,255,.55) !important; }
.prc-qmap.dark .dots i { background: rgba(255,255,255,.3); }
.prc-qmap.dark .dots i.on { background: #E8654B; }
.prc-wh .two { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; width: 100%; margin-top: 20px; }
.prc-wh .rows { width: auto; }
.prc-wh .rows > div { display: flex; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--l3); padding: 12px 2px; text-align: left; }
.prc-wh .rows span { font-size: 22px; font-weight: 700; color: var(--ink9); white-space: nowrap; }
.prc-wh .rows em { font-style: normal; font-size: 19px; color: var(--ink5); overflow: hidden; white-space: nowrap; }
.prc-hard { background: #F4F5F8 !important; }
.prc-hard .csw { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; width: 100%; margin-top: 24px; }
.prc-hard .cs { text-align: left; }
.prc-hard .cs .no { font-family: "Noto Serif KR", serif; font-size: 110px; font-weight: 900; color: var(--ink9); line-height: 1; }
.prc-hard .cs .no i { font-style: normal; color: var(--red); }
.prc-hard .cs .meta { margin-top: 8px; font-size: 19px; color: var(--ink5); }
.prc-hard .cs .dl > div { border-top: 1px solid var(--l3); padding: 12px 0; }
.prc-hard .cs .dl dt { font-size: 17px; font-weight: 800; color: var(--ink5); letter-spacing: .06em; margin: 0 0 5px; }
.prc-hard .cs .dl dd { font-size: 20.5px; line-height: 1.5; color: var(--ink7); margin: 0; }
.prc-why .pts.wide { width: 880px; }
.prc-why .pts.wide p { font-size: 22.5px; }
.prc-why .pts.wide em { font-style: normal; color: var(--red); font-weight: 800; }
.prc-str { background: #1C355F !important; color: #EDF2F9; }
.prc-str .mk { color: rgba(255,255,255,.55); }
.prc-str .l { color: rgba(255,255,255,.65); }
.prc-str .ls { margin-top: 40px; }
.prc-str .ls > div { display: flex; gap: 26px; align-items: baseline; justify-content: center; margin-top: 30px; text-align: left; }
.prc-str .ls i { font-style: normal; font-family: "Noto Serif KR", serif; font-size: 30px; color: #fff; }
.prc-str .ls span { display: block; font-size: 30px; font-weight: 800; color: #fff; }
.prc-str .ls p { margin-top: 6px; font-size: 21px; color: rgba(255,255,255,.7); line-height: 1.55; max-width: 620px; }
.prc-str .hr { border-top-color: rgba(255,255,255,.4); }
.prc-str .sub { color: rgba(255,255,255,.75) !important; }
.prc-str .ph { margin-top: 20px; font-size: 34px; font-weight: 800; color: #fff; }
.prc-str .dots i { background: rgba(255,255,255,.3); }
.prc-str .dots i.on { background: #fff; }

/* ══════ MAGAZINE 리듬: 4 틴트 / 6 잉크 / 8 주묵 밴드 / 10 잉크 ══════ */
.mgc-cover .mast { font-family: "Noto Serif KR", serif; font-size: 104px; font-weight: 900; color: var(--ink9); line-height: 1; }
.mgc-cover .mast span { color: var(--red); font-size: 68px; vertical-align: 12px; }
.mgc-cover .issue { margin-top: 18px; padding-bottom: 20px; border-bottom: 4px solid var(--ink9); font-size: 21px; color: var(--ink5); }
.mgc-cover .coverlines { margin-top: 54px; }
.mgc-cover .coverlines .big { font-family: "Noto Serif KR", serif; font-size: 58px; font-weight: 900; color: var(--ink9); line-height: 1.3; }
.mgc-cover .coverlines p:not(.big) { margin-top: 20px; font-size: 26px; color: var(--ink5); line-height: 1.6; }
.mgc-cover .nums { margin-top: 54px; }
.mgc-cover .nums b { font-family: "Noto Serif KR", serif; color: var(--red); }
.mgc-cover .foot { position: absolute; left: 62px; bottom: 48px; font-size: 20px; color: var(--ink5); }
.mgc-snap .grid { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; border: 3px solid var(--ink9); }
.mgc-snap .grid > div { padding: 28px 30px; border: 1.5px solid var(--ink9); }
.mgc-snap .grid b { font-family: "Noto Serif KR", serif; font-size: 54px; font-weight: 900; color: var(--ink9); line-height: 1; display: block; }
.mgc-snap .grid b i { font-style: normal; font-size: 24px; color: var(--ink5); }
.mgc-snap .grid strong { display: block; margin-top: 10px; font-size: 20px; font-weight: 800; }
.mgc-snap .grid span { display: block; margin-top: 3px; font-size: 16.5px; color: var(--ink5); }
.mgc-snap .rng { margin-top: 26px; }
.mgc-dist { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-content: start; }
.mgc-dist .lft h3 { margin-top: 22px; font-family: "Noto Serif KR", serif; font-size: 72px; font-weight: 900; color: var(--ink9); line-height: 1.15; }
.mgc-dist .lft .co { margin-top: 30px; font-size: 25px; line-height: 1.6; color: var(--ink7); }
.mgc-dist .rgt .cols { display: flex; align-items: flex-end; gap: 22px; justify-content: flex-end; min-height: 340px; }
.mgc-dist .rgt .cols .r { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.mgc-dist .rgt .cols i { display: block; width: 64px; }
.mgc-dist .rgt .cols b { font-size: 30px; font-weight: 900; color: var(--ink9); margin-top: 10px; }
.mgc-dist .rgt .cols span { font-size: 22px; font-weight: 700; }
.mgc-dist .rgt .us { margin-top: 30px; }
.mgc-dist .rgt .us > div { display: flex; justify-content: space-between; border-bottom: 2px solid var(--ink9); padding: 13px 2px; }
.mgc-dist .rgt .us b { font-size: 24px; font-weight: 800; color: var(--ink9); }
.mgc-dist .rgt .us > div.top b { color: var(--red); }
.mgc-dist .rgt .us span { font-size: 20px; color: var(--ink5); }
.mgc-trend { background: #F4F5F8; }
.mgc-trend .ln { display: grid; grid-template-columns: 108px 1fr; gap: 14px; border-bottom: 2px solid var(--ink9); padding: 26px 0; align-items: center; }
.mgc-trend .ln b { font-family: "Noto Serif KR", serif; font-size: 52px; font-weight: 900; color: var(--pri); }
.mgc-trend .ln p { font-size: 27px; font-weight: 700; color: var(--ink9); line-height: 1.5; }
.mgc-qmap .qt { border-top: 4px solid var(--ink9); }
.mgc-qmap .qt > div { border-bottom: 1px solid var(--l3); }
.mgc-qmap.dark { background: #14161F; color: #E8EAF0; }
.mgc-qmap.dark .cap { color: #FF8A7A; }
.mgc-qmap.dark .qt { border-top-color: #E8EAF0; }
.mgc-qmap.dark .qt > div { border-bottom-color: rgba(255,255,255,.18); }
.mgc-qmap.dark .qt > div.hard b { color: #FF8A7A; }
.mgc-qmap.dark .fn { color: rgba(255,255,255,.55); }
.mgc-qmap.dark .pgno { color: #E8EAF0; border-top-color: #E8EAF0; }
.mgc-wh { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-content: start; }
.mgc-wh h3 { margin-top: 16px; font-family: "Noto Serif KR", serif; font-size: 46px; font-weight: 900; color: var(--ink9); }
.mgc-wh .er > div { border-bottom: 1px solid var(--l3); }
.mgc-wh .pct { margin-top: 16px; background: var(--ink9); color: #fff; padding: 22px 26px; }
.mgc-wh .pct b { font-family: "Noto Serif KR", serif; font-size: 60px; font-weight: 900; display: block; line-height: 1; }
.mgc-wh .pct span { display: block; margin-top: 6px; font-size: 19px; opacity: .8; }
.mgc-wh .src { margin-top: 14px; }
.mgc-wh .src p { border-bottom: 1px solid var(--f1); }
.mgc-hard .cs { display: grid; grid-template-columns: 190px 1fr; gap: 22px; margin-top: 34px; align-items: start; }
.mgc-hard .cs h2 { font-family: "Noto Serif KR", serif; font-size: 130px; font-weight: 900; color: var(--red); line-height: .85; }
.mgc-hard .band { background: var(--ink9); color: #fff; padding: 14px 22px; display: flex; justify-content: space-between; align-items: baseline; }
.mgc-hard .band span { font-size: 20px; }
.mgc-hard .band em { font-style: normal; font-size: 19px; font-weight: 800; color: #FF8A7A; }
.mgc-hard .dl { margin-top: 8px; }
.mgc-hard .dl > div { display: grid; grid-template-columns: 140px 1fr; gap: 16px; border-bottom: 1px solid var(--l3); padding: 11px 0; }
.mgc-hard .dl dt { font-size: 17.5px; font-weight: 800; color: var(--pri); margin: 0; padding-top: 2px; }
.mgc-hard .dl dd { font-size: 21px; line-height: 1.45; color: var(--ink7); margin: 0; }
.mgc-why h3 { margin-top: 18px; font-family: "Noto Serif KR", serif; font-size: 48px; font-weight: 900; color: var(--ink9); }
.mgc-why .ln2 { display: grid; grid-template-columns: 90px 1fr; gap: 14px; border-top: 2px solid var(--ink9); padding: 20px 0; align-items: start; margin-top: 6px; }
.mgc-why .ln2 b { font-family: "Noto Serif KR", serif; font-size: 40px; font-weight: 900; color: var(--ink9); }
.mgc-why .ln2 .w { font-size: 23px; color: var(--ink7); line-height: 1.5; }
.mgc-why .ln2 .h { margin-top: 6px; font-size: 24px; font-weight: 800; color: var(--red); }
.mgc-str { background: #14161F; color: #E8EAF0; }
.mgc-str .cap { color: #FF8A7A; }
.mgc-str .it { display: grid; grid-template-columns: 96px 1fr; gap: 18px; margin-top: 40px; align-items: start; }
.mgc-str .it b { font-family: "Noto Serif KR", serif; font-size: 84px; font-weight: 900; color: rgba(255,255,255,.22); line-height: .9; }
.mgc-str .it strong { font-size: 33px; font-weight: 900; color: #fff; }
.mgc-str .it p { margin-top: 8px; font-size: 23px; line-height: 1.5; color: rgba(255,255,255,.75); }
.mgc-str .it small { display: block; margin-top: 6px; font-size: 18px; color: rgba(255,255,255,.5); }
.mgc-str .colo { margin-top: 46px; border-top: 1px solid rgba(255,255,255,.3); padding-top: 22px; display: flex; gap: 24px; align-items: baseline; flex-wrap: wrap; }
.mgc-str .colo b { font-size: 28px; font-weight: 900; }
.mgc-str .colo span { font-size: 19px; color: rgba(255,255,255,.65); }
.mgc-str .colo em { font-style: normal; margin-left: auto; font-size: 28px; font-weight: 900; color: #FF8A7A; }

/* ══════ DARK LAB 리듬: 2 라이트 반전 / 7 남색 하단 / 9 라이트 ══════ */
.dkc-cover .hero { margin-top: 50px; }
.dkc-cover .hero b { font-size: 250px; font-weight: 900; color: #F4F5F8; line-height: .9; letter-spacing: -0.05em; display: block; }
.dkc-cover .hero span { display: block; margin-top: 14px; font-size: 30px; font-weight: 800; color: #C9CFDA; }
.dkc-cover .ruler { display: flex; justify-content: space-between; align-items: flex-end; margin: 34px 0 26px; }
.dkc-cover .ruler i { width: 2px; height: 22px; background: #3D4354; }
.dkc-cover .ruler i.big { height: 40px; background: #667084; }
.dkc-cover .con { color: #C9CFDA; }
.dkc-cover .nums { margin-top: 36px; }
.dkc-cover .nums b { color: #F4F5F8; }
.ig-dk > .dkc-snap, .ig-dk > .dkc-why { background: #F4F5F8; color: #14161F; }
.dkc-snap .labbar, .dkc-why .labbar { border-bottom-color: #C9CFDA; color: #667084; }
.dkc-snap .labbar b, .dkc-why .labbar b { color: #14161F; }
.dkc-snap .t, .dkc-why .t { color: #1C355F; }
.dkc-snap .cells { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.dkc-snap .cells > div { border: 1.5px solid #14161F; padding: 24px 28px; background: #fff; }
.dkc-snap .cells span { font-size: 18px; letter-spacing: .1em; color: #667084; display: block; }
.dkc-snap .cells b { font-size: 60px; font-weight: 900; color: #14161F; line-height: 1.05; display: block; margin-top: 8px; }
.dkc-snap .cells b i { font-style: normal; font-size: 26px; color: #667084; }
.dkc-snap .cells em { font-style: normal; font-size: 17.5px; color: #3D4354; display: block; margin-top: 6px; }
.dkc-snap .fn { color: #3D4354; }
.dkc-dist .us { margin-top: 30px; }
.dkc-dist .us > div { display: flex; justify-content: space-between; border-bottom: 1px solid #262B3A; padding: 14px 2px; }
.dkc-dist .us span { font-size: 23px; color: #C9CFDA; font-weight: 700; }
.dkc-dist .us > div.top span { color: #FF8A7A; }
.dkc-dist .us em { font-style: normal; font-size: 20px; color: #8B95A6; }
.dkc-trend .log { display: grid; grid-template-columns: 130px 1fr; gap: 20px; border-left: 3px solid #3D4354; padding: 16px 0 16px 26px; margin-top: 22px; align-items: start; }
.dkc-trend .log i { font-style: normal; font-size: 19px; color: #E5A50A; padding-top: 6px; }
.dkc-trend .log p { font-size: 28px; color: #F4F5F8; line-height: 1.5; }
.dkc-qmap .qt > div { border-bottom: 1px solid #262B3A; }
.dkc-qmap .qt span, .dkc-qmap .qt u { color: #8B95A6; }
.dkc-qmap.deep { background: #0C0E15; }
.dkc-qmap .qt > div.hard b { color: #FF8A7A; }
.dkc-wh .er > div { border-bottom: 1px solid #262B3A; }
.dkc-wh .bot { margin: 26px -60px -62px; background: #1C355F; padding: 26px 60px 62px; }
.dkc-wh .vr { display: flex; gap: 20px; align-items: baseline; border-bottom: 1px solid rgba(255,255,255,.15); padding: 12px 2px; }
.dkc-wh .vr i { font-style: normal; font-size: 19px; color: #6FDF8F; }
.dkc-wh .vr b { font-size: 24px; font-weight: 900; color: #fff; min-width: 84px; }
.dkc-wh .vr span { font-size: 21px; color: rgba(255,255,255,.8); }
.dkc-wh .bot .fn { color: rgba(255,255,255,.6); }
.dkc-hard .cs { display: grid; grid-template-columns: 170px 1fr; gap: 24px; margin-top: 34px; align-items: start; }
.dkc-hard .cs .no { font-size: 110px; font-weight: 900; color: #F4F5F8; line-height: .9; }
.dkc-hard .meta { display: flex; gap: 10px; flex-wrap: wrap; }
.dkc-hard .meta span { border: 1px solid #3D4354; padding: 6px 14px; font-size: 18px; color: #C9CFDA; }
.dkc-hard .log { display: grid; grid-template-columns: 150px 1fr; gap: 16px; border-left: 3px solid #E03131; padding: 10px 0 10px 22px; margin-top: 16px; align-items: start; }
.dkc-hard .log i { font-style: normal; font-size: 17.5px; color: #8B95A6; padding-top: 4px; }
.dkc-hard .log p { font-size: 22px; color: #F4F5F8; line-height: 1.45; }
.dkc-why .seq { display: grid; grid-template-columns: 130px 1fr; gap: 20px; border: 1.5px solid #C9CFDA; background: #fff; padding: 22px 28px; margin-top: 22px; align-items: start; }
.dkc-why .seq i { font-style: normal; font-size: 19px; color: #C2452D; font-weight: 800; padding-top: 4px; }
.dkc-why .seq .w { font-size: 22px; color: #3D4354; line-height: 1.5; }
.dkc-why .seq .h { margin-top: 6px; font-size: 23px; font-weight: 900; color: #C2452D; }
.dkc-why .fn { color: #667084; }
.dkc-str .seq { display: grid; grid-template-columns: 110px 1fr; gap: 22px; border: 1px solid #3D4354; padding: 26px 32px; margin-top: 24px; align-items: start; }
.dkc-str .seq i { font-style: normal; font-size: 20px; color: #E5A50A; letter-spacing: .1em; padding-top: 6px; }
.dkc-str .seq b { font-size: 30px; font-weight: 900; color: #F4F5F8; }
.dkc-str .seq p { margin-top: 8px; font-size: 22px; color: #8B95A6; line-height: 1.5; }
.dkc-str .seq em { display: block; font-style: normal; margin-top: 6px; font-size: 17.5px; color: #667084; }
.dkc-str .band { margin-top: 36px; background: #C2452D; padding: 26px 34px; display: flex; gap: 24px; align-items: baseline; flex-wrap: wrap; }
.dkc-str .band b { font-size: 28px; font-weight: 900; color: #fff; }
.dkc-str .band span { font-size: 19px; color: rgba(255,255,255,.8); }
.dkc-str .band em { font-style: normal; margin-left: auto; font-size: 28px; font-weight: 900; color: #fff; }

/* ══════ INFOGRAPHIC 리듬: 1 남색 / 6 잉크 / 8 주묵 박스 / 10 남색 하단 ══════ */
.ifc-cover { background: #1C355F; color: #fff; }
.ifc-cover .kick { color: rgba(255,255,255,.6) !important; }
.ifc-cover h2 { margin-top: 70px; font-size: 78px; font-weight: 900; line-height: 1.2; letter-spacing: -0.03em; }
.ifc-cover .con { margin-top: 34px; color: rgba(255,255,255,.8); }
.ifc-cover .nums { margin-top: 60px; align-items: center; }
.ifc-cover .nums .sep { width: 2px; height: 80px; background: rgba(255,255,255,.3); }
.ifc-cover .nums > div { border-left: 0; }
.ifc-cover .prog i { background: rgba(255,255,255,.25); }
.ifc-cover .prog i.on { background: #fff; }
.ifc-cover .prog span { color: rgba(255,255,255,.7); }
.ifc-snap .grid { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 22px; }
.ifc-snap .grid > div { border: 3px solid var(--pri); padding: 24px 22px; }
.ifc-snap .grid b { font-size: 52px; font-weight: 900; color: var(--pri); line-height: 1; display: block; }
.ifc-snap .grid b i { font-style: normal; font-size: 22px; color: var(--ink5); }
.ifc-snap .grid strong { display: block; margin-top: 10px; font-size: 18.5px; font-weight: 800; color: var(--ink9); }
.ifc-snap .grid span { display: block; margin-top: 3px; font-size: 15.5px; color: var(--ink5); line-height: 1.4; }
.ifc-snap .rng > div span { border-color: var(--pri); color: var(--pri); }
.ifc-dist .waffle { margin-top: 36px; display: grid; grid-template-columns: repeat(11, 1fr); gap: 10px; }
.ifc-dist .waffle i { aspect-ratio: 1; display: block; }
.ifc-dist .us { margin-top: 34px; }
.ifc-dist .us > div { display: grid; grid-template-columns: 190px 1fr 70px; gap: 16px; align-items: center; margin-top: 16px; }
.ifc-dist .us span { font-size: 22px; font-weight: 700; color: var(--ink9); }
.ifc-dist .us i { display: block; height: 26px; background: #E8EBF1; }
.ifc-dist .us i b { display: block; height: 100%; background: var(--pri); }
.ifc-dist .us em { font-style: normal; font-size: 20px; color: var(--ink5); text-align: right; }
.ifc-trend .tl { margin-top: 40px; border-left: 4px solid var(--pri); margin-left: 28px; padding-left: 46px; }
.ifc-trend .tn { position: relative; margin-top: 34px; }
.ifc-trend .tn:first-child { margin-top: 6px; }
.ifc-trend .tn i { font-style: normal; position: absolute; left: -78px; top: -4px; width: 56px; height: 56px; background: var(--pri); color: #fff; display: grid; place-content: center; font-size: 28px; font-weight: 900; }
.ifc-trend .tn p { font-size: 28px; font-weight: 700; color: var(--ink9); line-height: 1.5; }
.ifc-qmap .qt { border-top: 4px solid var(--pri); }
.ifc-qmap .qt > div { border-bottom: 1px solid #E3E6EC; }
.ifc-qmap .qt b { color: var(--pri); }
.ifc-qmap.dark { background: #14161F; color: #E8EAF0; }
.ifc-qmap.dark .t { color: #fff; }
.ifc-qmap.dark .qt { border-top-color: #E8EAF0; }
.ifc-qmap.dark .qt > div { border-bottom-color: rgba(255,255,255,.18); }
.ifc-qmap.dark .qt b { color: #9FB4D8; }
.ifc-qmap.dark .qt > div.hard b { color: #FF8A7A; }
.ifc-qmap.dark .fn { color: rgba(255,255,255,.55); }
.ifc-qmap.dark .prog span { color: rgba(255,255,255,.7); }
.ifc-wh { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-content: start; }
.ifc-wh .lft { border-right: 3px solid var(--pri); padding-right: 40px; }
.ifc-wh .er > div { border-bottom: 1px solid #E3E6EC; }
.ifc-wh .src p { border-bottom: 1px solid #E3E6EC; }
.ifc-hard .cs { display: grid; grid-template-columns: 150px 1fr; gap: 24px; margin-top: 32px; align-items: start; }
.ifc-hard .cs .no { font-style: normal; width: 130px; height: 130px; background: #C2452D; color: #fff; display: grid; place-content: center; font-size: 40px; font-weight: 900; }
.ifc-hard .ce .bx { border: 2.5px solid var(--ink9); padding: 14px 22px; margin-top: 10px; }
.ifc-hard .ce .bx span { font-size: 16.5px; font-weight: 800; letter-spacing: .1em; color: var(--ink5); display: block; }
.ifc-hard .ce .bx p { margin-top: 5px; font-size: 21px; font-weight: 600; color: var(--ink9); line-height: 1.45; }
.ifc-hard .ce .meta { margin-top: 10px; font-size: 19px; color: var(--ink5); }
.ifc-why .fl { margin-top: 30px; }
.ifc-why .pair { display: grid; grid-template-columns: 1fr 60px 1fr; gap: 12px; align-items: stretch; margin-top: 18px; }
.ifc-why .pair .bx { border: 2.5px solid var(--ink9); padding: 16px 22px; }
.ifc-why .pair .bx span { font-size: 18px; font-weight: 900; color: var(--ink9); display: block; }
.ifc-why .pair .bx p { margin-top: 4px; font-size: 20px; color: var(--ink7); line-height: 1.45; }
.ifc-why .pair .bx.hot { border-color: var(--red); display: flex; align-items: center; }
.ifc-why .pair .bx.hot p { font-weight: 800; color: var(--red); margin: 0; }
.ifc-why .pair > i { font-style: normal; align-self: center; text-align: center; font-size: 34px; font-weight: 900; color: var(--red); }
.ifc-str .steps { margin-top: 36px; }
.ifc-str .st { display: grid; grid-template-columns: 88px 1fr; gap: 24px; margin-top: 30px; align-items: start; }
.ifc-str .st i { font-style: normal; width: 70px; height: 70px; background: var(--pri); color: #fff; display: grid; place-content: center; font-size: 36px; font-weight: 900; }
.ifc-str .st b { font-size: 31px; font-weight: 900; color: var(--ink9); }
.ifc-str .st p { margin-top: 6px; font-size: 22px; color: var(--ink5); line-height: 1.5; }
.ifc-str .st small { display: block; margin-top: 5px; font-size: 18px; color: var(--ink5); }
.ifc-str .arrowbox { margin-top: 40px; background: var(--pri); color: #fff; display: flex; align-items: center; gap: 30px; padding: 30px 40px; flex-wrap: wrap; }
.ifc-str .arrowbox b { font-size: 32px; font-weight: 900; }
.ifc-str .arrowbox span { font-size: 20px; opacity: .85; }
.ifc-str .arrowbox em { font-style: normal; font-size: 28px; font-weight: 900; }
.ifc-str .arrowbox i { font-style: normal; margin-left: auto; font-size: 44px; font-weight: 900; }

/* v5 — 다크/컬러 장의 브랜드·꼬리 요소 색 대응 */
.dpc-hard .strip, .bdc-hard .strip { color: rgba(255,255,255,.75); border-top-color: rgba(255,255,255,.35); }
.mgc-str .pgno, .edc-str .folio, .prc-str .mk { color: rgba(255,255,255,.7); }
.edc-str .folio { color: rgba(255,255,255,.55); }
.mgc-str .pgno { border-top-color: #E8EAF0; }

/* v5 — 씬 색상 우선순위 강화 (.ig-XX > div 의 color 를 이기도록) */
.ig-bd > .bdc-cover, .ig-bd > .bdc-hard, .ig-bd > .bdc-str, .ig-bd > .bdc-qmap.dark { color: #fff; }
.ig-ed > .edc-str { color: #EDF2F9; }
.ig-ed > .edc-qmap.dark { color: #E8EAF0; }
.ig-mg > .mgc-str, .ig-mg > .mgc-qmap.dark { color: #E8EAF0; }
.ig-if > .ifc-cover, .ig-if > .ifc-qmap.dark { color: #fff; }
.ig-pr .prc-qmap.dark, .ig-pr .prc-str { color: #EDF2F9; }
.bdc-cover h2, .bdc-hard .cs .no, .bdc-str .ls strong { color: #fff; }
.ifc-cover h2 { color: #fff; }

/* v5 — 씬 배경 우선순위 강화 */
.ig-bd > .bdc-cover, .ig-bd > .bdc-str, .ig-bd > .bdc-qmap.dark { background: #14161F; }
.ig-bd > .bdc-hard { background: #C2452D; }
.ig-bd > .bdc-trend { background: #F4F5F8; }
.ig-ed > .edc-str { background: #1C355F; }
.ig-ed > .edc-qmap.dark { background: #14161F; }
.ig-ed > .edc-trend { background: #F4F5F8; }
.ig-mg > .mgc-str, .ig-mg > .mgc-qmap.dark { background: #14161F; }
.ig-mg > .mgc-trend { background: #F4F5F8; }
.ig-if > .ifc-cover { background: #1C355F; }
.ig-if > .ifc-qmap.dark { background: #14161F; }

/* 하단 색면 위 브랜드·페이지 가독성 (2026-08-23 원장님 지적: 학원명이 남색 블록에 묻힘) */
.bdc-wh .br, .bdc-wh .pg { color: #fff; }
.bdc-wh .pg i { color: rgba(255,255,255,.5); }
.ig-bd .pg i { color: var(--l3); }
.bdc-cover .pg i, .bdc-qmap.dark .pg i, .bdc-hard .pg i, .bdc-str .pg i { color: rgba(255,255,255,.5); }

/* 대비 보강 (2026-08-23) — 흐린 페이지번호·고스트 숫자·색면 위 본문 */
.ig-bd .pg i { color: #667084; }
.bdc-why .pr2 b { color: #98A2B3; }
.bdc-hard .cs .dl dd, .bdc-hard .cs .dl dt { color: #fff; }
.bdc-hard .cs .dl dt { color: rgba(255,255,255,.85); }
.dpc-trend .ln i { color: #94A3BF; }
.dpc-why .fr2 b { color: #94A3BF; }
.dpc-hard .cs .dl p { color: #fff; }

/* 다크·주묵 씬의 페이지 분수는 밝게 (선언 순서상 마지막) */
.bdc-cover .pg i, .bdc-qmap.dark .pg i, .bdc-hard .pg i, .bdc-str .pg i, .bdc-wh .pg i { color: rgba(255,255,255,.6); }

/* ── 문항 지도 밀도 (2026-08-23: 26문항 시험에서 표가 하단 브랜드와 겹침) ── */
.ig-card .qt.d1 > div { padding: 8px 4px; }
.ig-card .qt.d1 b { font-size: 24px; }
.ig-card .qt.d1 span { font-size: 19px; }
.ig-card .qt.d1 u { font-size: 17px; }
.ig-card .qt.d1 em { font-size: 20px; }
.ig-card .qt.d1 i { width: 20px; height: 20px; }
.ig-card .qt.d2 > div { padding: 5px 4px; gap: 10px; }
.ig-card .qt.d2 b { font-size: 21px; }
.ig-card .qt.d2 span { font-size: 17px; }
.ig-card .qt.d2 u { font-size: 15.5px; }
.ig-card .qt.d2 em { font-size: 18px; }
.ig-card .qt.d2 mark { font-size: 18px; }
.ig-card .qt.d2 i { width: 17px; height: 17px; }
.ig-card .qt.d3 > div { padding: 3px 4px; gap: 8px; grid-template-columns: 76px 1fr 140px 24px 52px 32px; }
.ig-card .qt.d3 b { font-size: 18.5px; }
.ig-card .qt.d3 span { font-size: 15px; }
.ig-card .qt.d3 u { font-size: 14px; }
.ig-card .qt.d3 em { font-size: 16px; }
.ig-card .qt.d3 mark { font-size: 16px; }
.ig-card .qt.d3 i { width: 14px; height: 14px; }
/* 표가 길어져도 하단 브랜드·페이지 자리를 침범하지 않도록 여유를 확보 */
.bdc-qmap .qt, .edc-qmap .qt, .dpc-qmap .qt, .ntc-qmap .qt,
.prc-qmap .qt, .mgc-qmap .qt, .dkc-qmap .qt, .ifc-qmap .qt { margin-bottom: 8px; }
.bdc-qmap .ev, .ntc-qmap .co, .dkc-qmap .fn, .edc-qmap .fn,
.dpc-qmap .fn, .mgc-qmap .fn, .ifc-qmap .fn, .prc-qmap .sub { margin-bottom: 4px; }

/* 문항이 아주 많은 시험(50~60문항)은 2단 조판으로 — 행을 지우지 않는다 */
.ig-card .qt.d4 { columns: 2; column-gap: 34px; }
.ig-card .qt.d4 > div { break-inside: avoid; padding: 2px 2px; gap: 7px;
  grid-template-columns: 56px 1fr 20px 40px 24px; }
.ig-card .qt.d4 u { display: none; }
.ig-card .qt.d4 b { font-size: 16.5px; }
.ig-card .qt.d4 span { font-size: 13.5px; }
.ig-card .qt.d4 em { font-size: 14.5px; }
.ig-card .qt.d4 mark { font-size: 14.5px; }
.ig-card .qt.d4 i { width: 12px; height: 12px; }

/* ============================================================
   코덱스 표지 (2026-09-26 원장님 지시) — 8템플릿 공통 1장.
   그림(<img>)이 바탕이고 글자는 왼쪽·아래에 얹는다 (프롬프트가 왼쪽 45%·아래 30% 를 비워 두게 한다).
   <img> 라야 PNG 저장(exportCard → inlineImages)에 따라온다.
   ============================================================ */
.ig-card.ig-ai { background: #14161F; }
.igai-cover { position: relative; width: 100%; height: 100%; color: #fff; overflow: hidden; }
.igai-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.igai-veil { position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(10,12,24,.90) 0%, rgba(10,12,24,.72) 40%, rgba(10,12,24,.22) 66%, rgba(10,12,24,0) 100%),
              linear-gradient(0deg, rgba(10,12,24,.96) 0%, rgba(10,12,24,.80) 24%, rgba(10,12,24,.35) 44%, rgba(10,12,24,0) 60%); }
.igai-txt { position: absolute; left: 72px; width: 640px; bottom: 116px; }   /* 오른쪽 인물과 안 겹치게 폭을 묶는다 (실측 2026-09-26) */
.igai-txt .kick { font-size: 26px; font-weight: 700; letter-spacing: .02em; color: rgba(255,255,255,.72); }
.igai-txt h2 { margin-top: 22px; font-size: 78px; font-weight: 900; line-height: 1.08; letter-spacing: -0.04em; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.igai-txt h2 em { font-style: normal; color: #F2A38F; }
.igai-txt .con { margin-top: 30px; font-size: 32px; line-height: 1.4; font-weight: 600; color: rgba(255,255,255,.92); max-width: 760px; word-break: keep-all; }
.igai-txt .nums { margin-top: 40px; display: flex; gap: 44px; }
.igai-txt .nums > div { border-left: 4px solid #F2A38F; padding-left: 16px; }
.igai-txt .nums b { display: block; font-size: 54px; font-weight: 900; line-height: 1; letter-spacing: -0.03em; }
.igai-txt .nums span { display: block; margin-top: 8px; font-size: 20px; color: rgba(255,255,255,.75); }
.igai-br { position: absolute; left: 72px; bottom: 48px; font-size: 22px; font-weight: 800; letter-spacing: .04em; color: rgba(255,255,255,.85); }
.igai-pg { position: absolute; right: 72px; bottom: 48px; font-size: 26px; font-weight: 900; color: #fff; }
.igai-pg i { font-style: normal; font-size: 18px; color: rgba(255,255,255,.6); }
/* 템플릿(.ig-bd 등)의 .nums/.kick 규칙이 더 세서 글자가 검게 찍혔다 (실측 2026-09-26) — 표지 글자는 늘 흰색 */
.ig-card.ig-ai .igai-txt .kick { color: rgba(255,255,255,.72) !important; }
.ig-card.ig-ai .igai-txt h2, .ig-card.ig-ai .igai-txt .con { color: #fff !important; }
.ig-card.ig-ai .igai-txt .nums > div { border: 0; border-left: 4px solid #F2A38F; padding: 0 0 0 16px; background: none; }
.ig-card.ig-ai .igai-txt .nums b { color: #fff !important; font-size: 54px !important; }
.ig-card.ig-ai .igai-txt .nums span { color: rgba(255,255,255,.78) !important; font-size: 20px !important; }
.ig-card.ig-ai .igai-br, .ig-card.ig-ai .igai-pg { color: #fff !important; }

/* ── 분석표 카드 표지 (csai-, 2026-10-07) — 위 사진 · 아래 화풍 색 판. 색은 cards.js CS_COVER_TONES 가 --cp/--ci/--ca 로 넣는다 ── */
.ig-card.csai { background: var(--cp, #fff); }
.csai-wrap { position: relative; width: 100%; height: 100%; overflow: hidden; background: var(--cp); color: var(--ci); font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", sans-serif; }
.csai-wrap[data-font="serif"] h2, .csai-wrap[data-font="serif"] .csai-con { font-family: "Noto Serif KR", "Nanum Myeongjo", "바탕", Batang, serif; }
.csai-photo { position: absolute; left: 0; right: 0; top: 0; height: 620px; overflow: hidden; border-bottom: 12px solid var(--ca); }
.csai-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.csai-tag { position: absolute; left: 64px; top: 56px; background: var(--cp); color: var(--ci); padding: 12px 22px; font-size: 26px; font-weight: 800; letter-spacing: .02em; border-left: 10px solid var(--ca); }
.csai-panel { position: absolute; left: 0; right: 0; top: 632px; bottom: 0; padding: 40px 64px 0; }
.csai-panel h2 { margin: 0; font-size: 70px; font-weight: 900; line-height: 1.08; letter-spacing: -0.035em; color: var(--ci); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.csai-panel h2 em { font-style: normal; color: var(--ca); }
.csai-con { margin: 18px 0 0; font-size: 31px; font-weight: 700; line-height: 1.35; color: var(--ci); opacity: .9; word-break: keep-all; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.csai-nums { margin-top: 38px; display: flex; gap: 0; }
.csai-nums > div { flex: 1; padding: 0 22px; border-left: 3px solid var(--ca); }
.csai-nums > div:first-child { padding-left: 0; border-left: 0; }
.csai-nums b { display: block; font-size: 60px; font-weight: 900; line-height: 1; letter-spacing: -0.03em; color: var(--ca); }
.csai-nums span { display: block; margin-top: 10px; font-size: 22px; font-weight: 700; color: var(--ci); opacity: .8; }
.csai-foot { position: absolute; left: 64px; right: 64px; bottom: 30px; display: flex; justify-content: space-between; font-size: 21px; font-weight: 800; color: var(--ci); opacity: .85; }
.csai-foot i { font-style: normal; opacity: .6; }
/* 화풍별 손질 — 밝은 판에서 강조색 숫자가 흐리면 글자색으로 */
.csai-wrap[data-font] .csai-nums b { text-shadow: none; }
#cs-cover-card[data-csai="webtoon"] .csai-photo { border-bottom: 10px solid #111; }
#cs-cover-card[data-csai="webtoon"] .csai-nums b, #cs-cover-card[data-csai="clay"] .csai-nums b, #cs-cover-card[data-csai="kraft"] .csai-nums b { color: var(--ci); }
#cs-cover-card[data-csai="webtoon"] .csai-panel h2 em { color: #111; background: var(--ca); padding: 0 8px; }
#cs-cover-card[data-csai="newsprint"] .csai-tag { border-left: 0; border-top: 3px double #161616; border-bottom: 3px double #161616; }
/* 표지 배치 5가지 — data-layout. 기본(bottom)은 위 규칙 그대로 */
/* split: 왼쪽 판(글자) · 오른쪽 사진 */
.csai-wrap[data-layout="split"] .csai-photo { left: auto; right: 0; top: 0; bottom: 0; width: 46%; height: auto; border-bottom: 0; border-left: 12px solid var(--ca); }
.csai-wrap[data-layout="split"] .csai-tag { left: 64px; top: 72px; }
.csai-wrap[data-layout="split"] .csai-panel { top: 170px; right: 46%; padding: 30px 48px 0 64px; }
.csai-wrap[data-layout="split"] .csai-panel h2 { white-space: normal; font-size: 74px; line-height: 1.12; }
.csai-wrap[data-layout="split"] .csai-nums { flex-direction: column; gap: 22px; margin-top: 44px; }
.csai-wrap[data-layout="split"] .csai-nums > div { padding: 0 0 0 20px; border-left: 4px solid var(--ca); }
.csai-wrap[data-layout="split"] .csai-nums > div:first-child { padding-left: 20px; border-left: 4px solid var(--ca); }
.csai-wrap[data-layout="split"] .csai-foot { right: calc(46% + 48px); }
/* card: 사진 전체 · 아래에 떠 있는 둥근 판 */
.csai-wrap[data-layout="card"] .csai-photo { height: 100%; border-bottom: 0; }
.csai-wrap[data-layout="card"] .csai-tag { border-left: 0; border-radius: 999px; padding: 12px 26px; background: var(--ca); color: #fff; }
.csai-wrap[data-layout="card"] .csai-panel { top: auto; left: 48px; right: 48px; bottom: 48px; height: 452px; background: var(--cp); border-radius: 36px; padding: 44px 52px 0; box-shadow: 0 18px 50px rgba(0, 0, 0, .22); }
.csai-wrap[data-layout="card"] .csai-foot { left: 52px; right: 52px; bottom: 30px; }
/* frame: 색 액자 · 가운데 제목 상자 */
.csai-wrap[data-layout="frame"] .csai-photo { inset: 40px; height: auto; border: 3px solid var(--ca); }
.csai-wrap[data-layout="frame"] .csai-tag { left: 50%; top: 84px; transform: translateX(-50%); border-left: 0; border-top: 2px solid var(--ca); border-bottom: 2px solid var(--ca); white-space: nowrap; }
.csai-wrap[data-layout="frame"] .csai-panel { top: auto; left: 92px; right: 92px; bottom: 92px; height: 430px; background: var(--cp); padding: 40px 48px 0; text-align: center; outline: 2px solid var(--ca); outline-offset: -14px; }
.csai-wrap[data-layout="frame"] .csai-panel h2 { white-space: normal; font-size: 60px; }
.csai-wrap[data-layout="frame"] .csai-nums { justify-content: center; }
.csai-wrap[data-layout="frame"] .csai-nums > div { flex: 0 1 auto; padding: 0 26px; }
.csai-wrap[data-layout="frame"] .csai-foot { left: 48px; right: 48px; bottom: 28px; }
/* band: 위 띠(제목) · 가운데 사진 · 아래 띠(숫자) */
.csai-wrap[data-layout="band"] .csai-photo { top: 330px; height: 470px; border-bottom: 0; border-top: 12px solid var(--ca); }
.csai-wrap[data-layout="band"] .csai-tag { top: 48px; left: 64px; padding: 0; background: none; border-left: 0; color: var(--ca); font-size: 28px; }
.csai-wrap[data-layout="band"] .csai-panel { top: 104px; height: 226px; padding: 0 64px; }
.csai-wrap[data-layout="band"] .csai-panel h2 { white-space: normal; font-size: 70px; }
.csai-wrap[data-layout="band"] .csai-nums { position: absolute; left: 64px; right: 64px; top: 726px; margin: 0; }
.csai-wrap[data-layout="band"] .csai-foot { position: absolute; top: 916px; bottom: auto; }
.csai-nums b { white-space: nowrap; }
.csai-wrap[data-layout="card"] .csai-nums b, .csai-wrap[data-layout="frame"] .csai-nums b { font-size: 50px; }
.csai-wrap[data-layout="split"] .csai-foot { flex-direction: column; gap: 6px; font-size: 19px; }
.csai-wrap[data-layout="card"] .csai-panel h2 { white-space: normal; font-size: 62px; }
.csai-wrap[data-layout="split"] .csai-foot { font-size: 17px; }

/* 표지(1장)의 학원 로고 (2026-10-10) — 학원 이름 바로 앞 */
/* 표지 템플릿들이 사진용으로 img 에 크기·위치를 크게 걸어 두어(폴라로이드·잡지 등) 로고까지 늘어났다 — 여기서 못 박는다 */
.ig-card .cv-logo, .cvt .cv-logo, .csai-foot .cv-logo, .igai-br .cv-logo {
  display: inline-block !important; position: static !important; inset: auto !important;
  height: 1.8em !important; width: auto !important; max-width: 7em !important; min-width: 0 !important;
  object-fit: contain !important; vertical-align: middle !important; margin: 0 .45em 0 0 !important;
  border: 0 !important; box-shadow: none !important; transform: none !important; filter: none !important; opacity: 1 !important;
}
