/* v2 (2026-09-25): 9-section structure — section labels, counters, meters, emoji cards, speaker lineup, drawer templates.
   Loaded last; reuses the editorial tokens (--ink, --muted, --blue, --line, --light). */

/* ---------- section label + lead ---------- */
.chapter-inner>.sec-label { display:inline-flex; align-items:center; gap:8px; width:auto; margin:0 0 14px; padding:5px 12px 5px 6px; border-radius:100px; background:#eef3ff; color:var(--blue); font-size:13px; line-height:1.5; font-weight:700; letter-spacing:-.01em; }
.sec-no { display:inline-grid; place-items:center; min-width:26px; height:22px; padding:0 6px; border-radius:100px; background:var(--blue); color:#fff; font-size:11px; font-weight:800; letter-spacing:.02em; }
.chapter-inner>.callout.section-title:has(h2) { margin-bottom:18px; }
.chapter-inner>p.deck { margin:0 0 30px; font-size:22px; line-height:1.6; font-weight:650; letter-spacing:-.03em; color:var(--ink); }
.deck .hl, .chapter h3 .hl { background:linear-gradient(transparent 56%, #fff0a3 56%, #fff0a3 94%, transparent 94%); -webkit-box-decoration-break:clone; box-decoration-break:clone; padding:0 .14em; margin:0 -.14em; }
.chapter-inner>p.caption, .chapter-inner>p.hint { margin:10px 0 0; font-size:13px; line-height:1.6; color:#5f6b80; }
.chapter-inner>p.hint { margin:0 0 14px; }
.caption { font-size:13px; color:#5f6b80; }
.chapter-inner>.chapter-inner, .chapter-inner>div, .chapter-inner>ol, .chapter-inner>dl { width:100%; }
.chapter-inner>p.center { text-align:left; }

/* ---------- hero: key numbers + date track ---------- */
.hero .kpis { list-style:none; max-width:1080px; margin:44px auto 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; text-align:left; }
.kpis li { margin:0; padding:20px 22px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 28px #1a204206; }
.kpis .kn { display:block; font-size:34px; line-height:1.15; font-weight:800; letter-spacing:-.04em; color:var(--blue); font-variant-numeric:tabular-nums; }
.kpis .kl { display:block; margin-top:8px; font-size:14px; line-height:1.5; font-weight:600; color:var(--muted); }
.chapter .kpis { list-style:none; padding:0; margin:0 0 10px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.chapter .kpis li { margin:0; padding:18px; }
.chapter .kpis .kn { font-size:30px; }
.chapter .kpis .kl { font-size:13px; }
.track { list-style:none; max-width:1080px; margin:18px auto 0; padding:18px 22px 16px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; text-align:left; }
.track li { position:relative; margin:0; padding:22px 8px 0 0; }
.track li::before { content:''; position:absolute; left:0; right:0; top:6px; height:2px; background:#dfe4f1; }
.track li::after { content:''; position:absolute; left:0; top:1px; width:12px; height:12px; border-radius:50%; background:#fff; border:2px solid #b9c5e6; box-sizing:border-box; }
.track li.start::before, .track li.end::before { background:var(--blue); }
.track li.end::before { right:100%; }
.track li.start::after, .track li.end::after { background:var(--blue); border-color:var(--blue); }
.track li:last-child::before { right:auto; width:0; }
.track .d { display:block; font-size:19px; font-weight:800; letter-spacing:-.02em; color:var(--ink); font-variant-numeric:tabular-nums; }
.track .l { display:block; font-size:13px; font-weight:600; color:var(--muted); }
.track li.start .d, .track li.end .d { color:var(--blue); }

/* ---------- compare + meters ---------- */
.compare { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:26px 0 0; }
.cmp { padding:22px 22px 18px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.cmp.is-open { border-color:#9db4f5; box-shadow:0 10px 28px #2556ea12; }
.cmp p { margin:0; }
.cmp .k { font-size:14px; font-weight:700; color:var(--muted); }
.cmp .v { margin:8px 0 10px; font-size:21px; line-height:1.4; font-weight:800; letter-spacing:-.03em; color:var(--ink); }
.cmp.is-open .v { color:var(--blue); }
.cmp .n { font-size:14px; line-height:1.65; color:var(--muted); }
.meter { height:8px; margin:16px 0 8px; border-radius:100px; background:#edf0f7; overflow:hidden; }
.meter span, .reach .bar span { display:block; height:100%; width:var(--w); border-radius:inherit; background:#e0584b; transform-origin:left center; }
.meter.good span { background:#1fae6f; }
.will-fill span { transform:scaleX(0); transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.will-fill.is-in span { transform:scaleX(1); }
.cmp .mlabel { font-size:13px; color:#5f6b80; }
.mlabel .warn { color:#d64535; }
.mlabel .ok { color:#15965d; }

/* ---------- big numbers ---------- */
.bigstats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0 22px; }
.bs { padding:22px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.bs p { margin:0; }
.bs .num { font-size:44px; line-height:1.1; font-weight:850; letter-spacing:-.045em; color:var(--blue); font-variant-numeric:tabular-nums; }
.bs .cap { margin-top:10px !important; font-size:14px; line-height:1.6; color:var(--muted); }

/* ---------- reach (규모의 경제) ---------- */
.reach { margin:30px 0; padding:24px 26px; background:#fff; border:1px solid var(--line); border-left:3px solid var(--blue); border-radius:14px; }
.reach p { margin:0; }
.reach .rt { font-size:20px; font-weight:800; letter-spacing:-.03em; color:var(--ink); margin-bottom:18px; }
.reach .rb { display:grid; grid-template-columns:96px 1fr; gap:4px 14px; align-items:center; margin:12px 0; }
.reach .rl { font-size:14px; font-weight:700; color:var(--ink); }
.reach .bar { height:12px; border-radius:100px; background:#edf0f7; overflow:hidden; }
.reach .bar span { background:#aab4c8; }
.reach .bar.brand span { background:var(--blue); }
.reach .rv { grid-column:2; font-size:13px; color:#5f6b80; }
.reach .rs { margin-top:18px; font-size:16px; line-height:1.7; color:#485267; }
.reach .rs strong { color:var(--ink); }

/* ---------- case card ---------- */
.case-card { display:block; width:100%; margin:6px 0 26px; padding:0; text-align:left; font:inherit; color:inherit; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; cursor:pointer; box-shadow:0 12px 30px #1a204208; transition:border-color .15s, box-shadow .15s, transform .15s; }
.case-card:hover { border-color:#9db4f5; box-shadow:0 8px 18px #1a20420d; transform:translateY(-1px); }
.case-card:focus-visible { outline:3px solid #edc74a; outline-offset:3px; }
.case-card img { display:block; width:100%; height:auto; border-bottom:1px solid var(--line); }
.cc-body { display:block; padding:18px 22px 20px; }
.cc-who { display:block; font-size:18px; font-weight:800; letter-spacing:-.02em; color:var(--blue); }
.cc-note { display:block; margin-top:6px; font-size:14px; line-height:1.65; color:var(--muted); }
.cc-open { display:inline-block; margin-top:12px; padding:6px 12px; border-radius:8px; background:#eef3ff; color:var(--blue); font-size:13px; font-weight:700; }

/* ---------- keys (3 principles) ---------- */
.chapter-inner>ul.keys { list-style:none; padding:0; display:grid; gap:10px; margin:14px 0 22px; }
.chapter ul.keys li { margin:0; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:14px; display:grid; grid-template-columns:200px 1fr; gap:4px 16px; align-items:baseline; }
.keys .t { font-size:17px; font-weight:800; color:var(--ink); letter-spacing:-.02em; }
.keys .d { font-size:16px; color:var(--muted); line-height:1.65; }

/* ---------- curriculum ---------- */
.journey { list-style:none; margin:0 0 6px; padding:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.journey li { margin:0; }
.jstep { display:flex; flex-direction:column; align-items:flex-start; gap:4px; width:100%; height:100%; padding:14px 12px; font:inherit; text-align:left; background:#fff; border:1px solid var(--line); border-radius:14px; cursor:pointer; transition:border-color .15s, background .15s, transform .15s; }
.jstep:hover { border-color:#9db4f5; background:#f6f8ff; transform:translateY(-1px); }
.jstep:focus-visible { outline:3px solid #edc74a; outline-offset:2px; }
.jn { font-size:12px; font-weight:800; color:var(--blue); letter-spacing:.02em; }
.je { font-size:22px; line-height:1.2; }
.jt { font-size:14px; line-height:1.4; font-weight:700; color:var(--ink); letter-spacing:-.02em; word-break:keep-all; }
.chapter .week-table { width:100%; }
.chapter .week-table th, .chapter .crit th { background:#171c3b; color:#fff; font-size:13px; font-weight:700; padding:12px 16px; }
.chapter .week-table td { padding:14px 16px; vertical-align:middle; font-size:15px; line-height:1.6; border-top:1px solid var(--line); }
.week-table .wk-e { margin-right:6px; }
.week-table .sub { display:block; font-size:13px; color:#5f6b80; }
.week-table .nw { white-space:nowrap; font-variant-numeric:tabular-nums; color:var(--muted); }
.week-table .go { text-align:right; width:1%; white-space:nowrap; }
.week-open { padding:7px 12px; font:inherit; font-size:13px; font-weight:700; color:var(--blue); background:#eef3ff; border:0; border-radius:8px; cursor:pointer; }
.week-open:hover { background:#dfe8ff; }
.week-table tbody tr { cursor:pointer; }
.week-table tbody tr:hover td { background:#f8faff; }

.chapter-inner>h3.special-title { margin-top:56px; }
.speakers { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 14px; }
.spk { display:grid; grid-template-columns:112px 1fr; gap:16px; align-items:start; padding:14px; font:inherit; text-align:left; color:inherit; background:#fff; border:1px solid var(--line); border-radius:18px; cursor:pointer; box-shadow:0 10px 26px #1a204207; transition:border-color .15s, box-shadow .15s, transform .15s; }
.spk:hover { border-color:#9db4f5; box-shadow:0 8px 18px #1a20420d; transform:translateY(-1px); }
.spk:focus-visible { outline:3px solid #edc74a; outline-offset:3px; }
.spk-photo { display:block; aspect-ratio:4/5; border-radius:12px; overflow:hidden; background:#eef1f8; }
.spk-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.spk-photo.is-tbd { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; background:linear-gradient(160deg,#243061,#2556ea); color:#fff; }
.spk-photo .mono { font-size:22px; font-weight:800; letter-spacing:-.02em; }
.spk-photo .tbd { font-size:11px; font-weight:600; opacity:.75; }
.spk-body { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; }
.spk-name { margin-top:6px; font-size:20px; line-height:1.3; font-weight:800; letter-spacing:-.03em; color:var(--ink); }
.spk-nick { font-size:13px; font-weight:700; color:#5f6b80; letter-spacing:0; }
.spk-role { font-size:13px; font-weight:600; color:var(--muted); }
.spk-topic { margin-top:8px; font-size:15px; line-height:1.45; font-weight:750; color:var(--blue); }
.spk-topic::before { content:'「'; } .spk-topic::after { content:'」'; }
.spk-career { font-size:13px; line-height:1.55; color:#485267; }
.spk-career.is-tbd { color:#5f6b80; }
.spk-more { margin-top:8px; font-size:12px; font-weight:700; color:var(--blue); }
.chip { display:inline-block; padding:3px 9px; border-radius:100px; font-size:12px; line-height:1.5; font-weight:700; background:#eef1f7; color:#4b5468; white-space:nowrap; }
.chip.live { background:#ffe9ec; color:#d5263e; }
.chip.vod { background:#eef3ff; color:var(--blue); }
.chip.mission { background:#e8f7ef; color:#138a55; }
.chapter-inner>p.special-extra { margin:0 0 8px; font-size:14px; line-height:1.9; color:var(--muted); }
.special-extra .dot { margin:0 4px; color:#c0c6d4; }
.note { margin:36px 0 0; padding:22px 24px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.note p { margin:0; font-size:16px; line-height:1.7; }
.note .more-row { margin-top:14px; }
.chapter figcaption { margin-top:10px; font-size:13px; color:#5f6b80; text-align:left; }

/* ---------- price ---------- */
.pricebox { display:grid; grid-template-columns:1fr auto 1.3fr; gap:14px; align-items:center; margin:0 0 10px; padding:26px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 30px #1a204208; }
.pricebox>div { display:flex; flex-direction:column; gap:4px; }
.pricebox .pl { font-size:13px; font-weight:700; color:var(--muted); }
.pricebox .pv { font-size:40px; line-height:1.15; font-weight:850; letter-spacing:-.04em; color:var(--ink); font-variant-numeric:tabular-nums; }
.pricebox .pv.ok { color:var(--blue); }
.pricebox .ps { font-size:13px; font-weight:600; color:var(--blue); }
.pb-arrow { font-size:26px; color:#b9c5e6; }
.chapter .crit td:first-child { width:130px; white-space:nowrap; font-weight:700; color:var(--ink); }
.chapter .crit td { padding:14px 16px; border-top:1px solid var(--line); }
.chapter .crit th { background:#171c3b; }

/* ---------- who ---------- */
.fit { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 10px; }
.fit>div { padding:22px 22px 18px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.fit-yes { border-top:3px solid var(--blue) !important; }
.fit-no { border-top:3px solid #d5dae6 !important; }
.fit h3 { margin:0 0 12px !important; font-size:19px; }
.fit ul { margin:0; padding-left:1.2em; }
.chapter .fit li { font-size:15px; margin:8px 0; }
.fit-no li { color:#6b7385; }
.fit-no li::marker { color:#b5bccb !important; }
.worry { display:grid; grid-template-columns:150px 1fr; gap:0; margin:0; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.worry dt, .worry dd { margin:0; padding:16px 20px; border-top:1px solid var(--line); font-size:15px; line-height:1.7; }
.worry dt { font-weight:800; color:var(--ink); background:#fafbfe; }
.worry dd { color:#485267; }
.worry dt:first-of-type, .worry dd:first-of-type { border-top:0; }

/* ---------- after ---------- */
.groups { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 26px; }
.group { padding:22px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.group h3 { margin:0 0 12px !important; font-size:19px; }
.group ul { list-style:none; margin:0; padding:0; }
.chapter .group li { margin:0; padding:10px 0; border-top:1px solid #eef0f5; }
.chapter .group li:first-child { border-top:0; padding-top:0; }
.group .t, .group .gl .t { display:block; font-size:15px; font-weight:800; color:var(--ink); }
.group .d, .group .gl .d { display:block; font-size:14px; line-height:1.6; color:var(--muted); }
button.group-crew { display:block; width:100%; font:inherit; text-align:left; color:inherit; cursor:pointer; background:linear-gradient(180deg,#f3f6ff,#fff 60%); border:1.5px solid #9db4f5; box-shadow:0 12px 30px #2556ea14; transition:box-shadow .15s, transform .15s; }
button.group-crew:hover { box-shadow:0 8px 20px #2556ea14; transform:translateY(-1px); }
button.group-crew:focus-visible { outline:3px solid #edc74a; outline-offset:3px; }
.group-crew .gh { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 10px; margin-bottom:12px; font-size:19px; font-weight:700; letter-spacing:-.035em; color:var(--ink); }
.gopen { padding:5px 10px; border-radius:8px; background:var(--blue); color:#fff; font-size:12px; font-weight:700; letter-spacing:0; }
.group-crew .gl { display:block; padding:10px 0; border-top:1px solid #e3e9fb; }
.group-crew .gh+.gl { border-top:0; padding-top:0; }

/* ---------- apply guide ---------- */
.chapter-inner>ol.questions { margin:6px 0 18px; padding:0; list-style:none; counter-reset:q; display:grid; gap:8px; }
.questions li { counter-increment:q; position:relative; margin:0; padding:14px 18px 14px 52px; background:#fff; border:1px solid var(--line); border-radius:12px; font-size:16px; font-weight:600; color:var(--ink); }
.questions li::before { content:'Q' counter(q); position:absolute; left:16px; top:14px; font-size:13px; font-weight:800; color:var(--blue); }
.chapter-inner>ol.sched { list-style:none; margin:0 0 20px; padding:0; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.sched li { display:grid; grid-template-columns:150px 1fr; gap:2px 18px; margin:0; padding:14px 22px; border-top:1px solid var(--line); align-items:baseline; }
.sched li:first-child { border-top:0; }
.sched .sd { font-size:16px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
.sched .st { font-size:16px; font-weight:600; color:#34425b; }
.sched .ss { grid-column:2; font-size:13px; color:#5f6b80; }
.sched li.hi { background:#f3f6ff; }
.sched li.hi .sd, .sched li.hi .st { color:var(--blue); }
.chapter-inner>details.prep { background:#fff; border:1px solid var(--line); border-radius:16px; padding:0; }
.prep>summary { padding:18px 22px; cursor:pointer; }
.prep>*:not(summary) { margin-left:22px; margin-right:22px; }
.prep>.tablewrap { margin:14px 22px; }

/* ---------- drawer (templates) ---------- */
.detail-panel[data-mode="tpl"] .panel-section[data-mode="tpl"] { display:block; }
.detail-panel[data-mode="tpl"] { --panel-w:720px; }
.panel-body { position:relative; }
.panel-titles { flex:1; min-width:0; }
.panel-sub { margin:2px 0 0; font-size:13px; line-height:1.5; color:var(--muted); }
.panel-week .session, .panel-tpl .lecture { margin:0 0 12px; padding:18px 18px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.session .top, .lecture .top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 10px; margin-bottom:8px; }
.session .when { font-size:13px; font-weight:700; color:var(--muted); font-variant-numeric:tabular-nums; }
.session h3 { margin:0 0 4px !important; font-size:17px !important; line-height:1.45; letter-spacing:-.02em; }
.session .desc { margin:0; font-size:14px; line-height:1.65; color:#485267; }
.session .who { margin:10px 0 0; padding:8px 12px; border-radius:10px; background:#f3f6ff; font-size:13px; font-weight:700; color:var(--blue); }
.session.is-special { border-color:#f2b9c1; box-shadow:0 8px 22px #d5263e10; }
.session.is-special .who { background:#fff1f3; color:#c22037; }
.session .subs { list-style:none; margin:12px 0 0; padding:12px 0 0; border-top:1px dashed #e3e6ee; display:grid; gap:10px; }
.session .subs li { display:grid; grid-template-columns:44px 1fr; gap:10px; margin:0; font-size:14px; }
.subs .code { font-size:12px; font-weight:800; color:var(--blue); padding-top:2px; font-variant-numeric:tabular-nums; }
.subs .t { display:block; font-weight:700; color:var(--ink); line-height:1.5; }
.subs .d { display:block; color:var(--muted); line-height:1.6; }
.panel-tpl h3 { margin:22px 0 10px; font-size:18px; letter-spacing:-.02em; }
.panel-tpl h3:first-child { margin-top:0; }
.panel-tpl p { font-size:15px; line-height:1.75; color:#485267; }
.lecture.is-focus { border-color:#9db4f5; box-shadow:0 0 0 3px #dfe8ff; }
.lec-head { display:grid; grid-template-columns:88px 1fr; gap:14px; align-items:center; margin-bottom:12px; }
.lec-head img, .lec-mono { width:88px; height:110px; border-radius:12px; object-fit:cover; }
.lec-mono { display:grid; place-items:center; background:linear-gradient(160deg,#243061,#2556ea); color:#fff; font-weight:800; font-size:18px; }
.lecture .chips { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.lecture .name { margin:0; font-size:20px; font-weight:800; letter-spacing:-.03em; color:var(--ink); line-height:1.35; }
.lecture .role { display:block; font-size:13px; font-weight:600; color:var(--muted); letter-spacing:0; }
.lecture .t { margin:0 0 4px; font-size:17px; font-weight:800; color:var(--blue); }
.lecture .d { margin:0; }
.lecture .career { margin:12px 0 0; padding:12px 0 0 1.1em; border-top:1px dashed #e3e6ee; }
.lecture .career li { margin:4px 0; font-size:13px; line-height:1.6; color:#485267; }
.tbd-note { margin:10px 0 0 !important; font-size:12px !important; color:#5f6b80 !important; }
.steps5 { list-style:none; margin:14px 0; padding:0; counter-reset:s; display:grid; gap:8px; }
.steps5 li, .crew-benefits li, .crew-steps li { margin:0; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.steps5 .t, .crew-benefits .t, .crew-steps .t { display:block; font-size:15px; font-weight:800; color:var(--ink); }
.steps5 .d, .crew-benefits .d, .crew-steps .d { display:block; margin-top:2px; font-size:14px; line-height:1.65; color:#485267; }
.crew-lead { padding:16px 18px; border-radius:12px; background:#f3f6ff; color:var(--ink) !important; }
.crew-benefits { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.crew-steps { list-style:none; margin:0 0 18px; padding:0; counter-reset:c; display:grid; gap:8px; }
.crew-steps li { counter-increment:c; position:relative; padding-left:52px; }
.crew-steps li::before { content:counter(c); position:absolute; left:16px; top:14px; width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; font-size:12px; font-weight:800; display:grid; place-items:center; }
.panel-tpl .fine-print { font-size:12px; color:#5f6b80; }
.panel-figure figcaption { margin-top:8px; font-size:12px; color:#5f6b80; }

/* ---------- TOC numbers ---------- */
.toc-n { display:inline-block; min-width:24px; margin-right:6px; font-size:11px; font-weight:800; color:#a3abbe; font-variant-numeric:tabular-nums; }
.toc-list a.is-active .toc-n { color:var(--blue); }

/* ---------- responsive ---------- */
@media (max-width:1080px) {
  .hero .kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .journey { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .chapter-inner>p.deck { font-size:19px; margin-bottom:24px; }
  .hero .kpis { margin-top:32px; gap:8px; }
  .kpis li { padding:16px; }
  .kpis .kn { font-size:26px; }
  .kpis .kl { font-size:12px; }
  .chapter .kpis { grid-template-columns:1fr; }
  .chapter .kpis li { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:14px 16px; }
  .chapter .kpis .kl { margin:0; text-align:right; }
  .track { grid-template-columns:1fr; padding:16px 18px; gap:0; }
  .track li { padding:0 0 12px 24px; }
  .track li::before { left:5px; right:auto; top:12px; bottom:-2px; width:2px; height:auto; }
  .track li:last-child::before { display:none; }
  .track li.end::before { right:auto; }
  .track li::after { top:4px; }
  .track li { display:flex; align-items:baseline; gap:10px; }
  .track .d { font-size:16px; }
  .compare, .bigstats, .fit, .groups, .speakers { grid-template-columns:1fr; }
  .bs .num { font-size:36px; }
  .reach { padding:20px; }
  .reach .rb { grid-template-columns:78px 1fr; }
  .chapter ul.keys li { grid-template-columns:1fr; }
  .journey { display:flex; overflow-x:auto; gap:8px; margin:0 -24px 6px; padding:2px 24px 8px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .journey::-webkit-scrollbar { display:none; }
  .journey li { flex:0 0 118px; scroll-snap-align:start; }
  .chapter-inner>.tablewrap .week-table tr { display:grid; grid-template-columns:1fr auto; gap:2px 12px; padding:14px 16px; }
  .chapter-inner>.tablewrap .week-table td { padding:0; border:0; font-size:14px; color:#485267; }
  .chapter-inner>.tablewrap .week-table td:first-child { grid-column:1; font-size:13px; }
  .chapter-inner>.tablewrap .week-table td:nth-child(2) { grid-column:1; color:var(--ink); font-size:15px; }
  .chapter-inner>.tablewrap .week-table td:nth-child(3) { grid-column:1; }
  .chapter-inner>.tablewrap .week-table td:nth-child(4) { grid-column:1; font-size:12px; }
  .chapter-inner>.tablewrap .week-table td.go { grid-column:2; grid-row:1 / span 4; align-self:center; }
  .spk { grid-template-columns:96px 1fr; }
  .pricebox { grid-template-columns:1fr; gap:6px; padding:20px; }
  .pb-arrow { transform:rotate(90deg); width:26px; }
  .pricebox .pv { font-size:34px; }
  .chapter-inner>.tablewrap .crit td:first-child { width:auto; }
  .chapter-inner>.tablewrap .crit td { border:0; }
  .chapter-inner>.tablewrap .crit td:last-child { color:#485267; font-size:15px; }
  .worry { grid-template-columns:1fr; }
  .worry dd { border-top:0; padding-top:0; }
  .sched li { grid-template-columns:112px 1fr; padding:12px 16px; gap:2px 12px; }
  .sched .sd, .sched .st { font-size:15px; }
  .prep>*:not(summary) { margin-left:16px; margin-right:16px; }
  .prep>.tablewrap { margin:12px 16px; }
  .lec-head { grid-template-columns:72px 1fr; }
  .lec-head img, .lec-mono { width:72px; height:90px; }
}
@media (prefers-reduced-motion:reduce) {
  .will-fill span { transition:none; transform:none; }
  .case-card, .spk, .jstep, button.group-crew { transition:none; }
}

/* 2026-09-25: CASE 01 image has ~15% built-in white space on top — trim it and tighten the gap under the h4. */
.chapter-inner>figure.fig-case01 { margin-top:8px; }
.fig-case01 img { aspect-ratio:1470/950; height:auto; object-fit:cover; object-position:50% 62%; }

/* 2026-09-25: letter stats in the V.1.0 layout (lead number + 3-column row). */
.pb-stats { margin:28px 0 24px; padding:28px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.chapter .pb-stats p { margin:0; font-style:normal; }
.pb-stats .h { font-size:15px; font-weight:600; color:var(--muted); margin-bottom:14px !important; }
.pb-stats .num { color:var(--blue); font-weight:750; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.pb-stats .lead .num { font-size:44px; line-height:1.1; }
.pb-stats .lead .cap { margin-top:6px !important; font-size:15px; color:#374151; }
.pb-stats .row { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.pb-stats .row .num { font-size:24px; line-height:1.2; }
.pb-stats .row .cap { margin-top:4px !important; font-size:13.5px; line-height:1.5; color:var(--muted); }
.pb-stats .src { margin-top:18px !important; font-size:13px; color:#5f6b80; }
@media (max-width:800px) {
  .pb-stats { padding:22px 18px; }
  .pb-stats .lead .num { font-size:34px; }
  .pb-stats .row { gap:10px; }
  .pb-stats .row .num { font-size:18px; }
}

/* 2026-09-25: week drawer UX — in-drawer week tabs (all widths), current-week marks, no page shift (week tabs reach every week). */
.detail-panel .week-tabs { margin:0; align-self:stretch; }
.week-tabs { display:none; flex:none; gap:6px; padding:10px 20px; border-bottom:1px solid var(--line); background:#fafbfe; overflow-x:auto; scrollbar-width:none; }
.week-tabs::-webkit-scrollbar { display:none; }
.detail-panel[data-mode="week"] .week-tabs { display:flex; }
.week-tabs button { flex:1 0 auto; min-width:44px; display:inline-flex; align-items:center; justify-content:center; gap:4px; padding:7px 8px; font:inherit; font-size:13px; font-weight:700; color:#4b5468; background:#fff; border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.week-tabs button:hover { border-color:#9db4f5; color:var(--blue); }
.week-tabs button.is-current { background:var(--blue); border-color:var(--blue); color:#fff; }
.week-tabs button:focus-visible { outline:3px solid #edc74a; outline-offset:1px; }
.wt-e { font-size:14px; }
.jstep.is-current { border-color:var(--blue); background:#eef3ff; box-shadow:0 0 0 2px #2556ea33; }
.week-table tbody tr.is-current td { background:#eef3ff; }
@media (max-width:800px) {
  .week-tabs { padding:8px 12px; gap:5px; }
  .week-tabs button { min-width:40px; padding:6px 6px; font-size:12px; }
  .wt-e { display:none; }
}

/* Desktop: while any drawer is open, the bottom CTA bar centres in the space left of the drawer. */
@media (min-width:801px) { body.panel-open .desktop-cta { right:var(--drawer-w, 0px); transition:right .28s ease; } }
.spk.is-current { border-color:var(--blue); box-shadow:0 0 0 2px #2556ea33; background:#f6f8ff; }
/* Special drawer: sticky speaker shortcuts (cards on the page can sit under the drawer). */
.spk-tabs { position:sticky; top:-20px; z-index:2; display:flex; gap:6px; margin:-20px -20px 14px; padding:10px 20px; background:#fafbfe; border-bottom:1px solid var(--line); }
.spk-tabs button { flex:1; padding:7px 8px; font:inherit; font-size:13px; font-weight:700; color:#4b5468; background:#fff; border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.spk-tabs button:hover { border-color:#9db4f5; color:var(--blue); }
.spk-tabs button.is-current { background:var(--blue); border-color:var(--blue); color:#fff; }
@media (max-width:800px) { .spk-tabs { top:-16px; margin:-16px -16px 12px; padding:8px 12px; } .spk-tabs button { font-size:12px; padding:6px 4px; } }
/* Case drawer: title/sub now live in the drawer header (same as the other drawers), so the in-body duplicates hide. */
.detail-panel[data-mode="case"] .panel-subtitle, .detail-panel[data-mode="case"] .panel-note { display:none; }
/* Speaker highlight badges in the special drawer (2026-09-25). */
.lecture .hi { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px !important; }
.lecture .hi span { padding:4px 10px; border-radius:8px; background:linear-gradient(135deg,#eef3ff,#f6f0ff); border:1px solid #dbe4ff; color:#1f3fb8; font-size:12.5px; font-weight:750; letter-spacing:-.01em; }
.lecture .career b { color:var(--ink); font-weight:750; }
/* Speaker cards list the full career (2026-09-25). */
.spk-list { display:flex; flex-direction:column; gap:5px; margin-top:10px; padding-top:10px; border-top:1px dashed #e3e6ee; width:100%; }
.spk-li { position:relative; padding-left:12px; font-size:13px; line-height:1.55; color:#485267; }
.spk-li::before { content:''; position:absolute; left:0; top:.62em; width:5px; height:5px; border-radius:50%; background:var(--blue); opacity:.55; }
.spk-li b { color:var(--ink); font-weight:750; }
.spk { align-items:start; }
/* Week table: emoji + "N주차" always on one line (2026-09-25). */
.chapter .week-table td:first-child { white-space:nowrap; }
/* Week tabs fit all 7 in the narrower drawer: equal widths, number only (2026-09-25). */
.week-tabs button { flex:1 1 0; min-width:0; padding:7px 4px; }
.week-tabs .wt-e { display:none; }

/* ===== 2026-09-25 readability pass (audit items 2–12, item 1 excluded) ===== */
/* 2 · hero facts: 3 items only */
@media (max-width:800px){
  .hero .callout.hero-facts { grid-template-columns:1fr; }
  .hero .callout.hero-facts p { border:0 !important; }
  .hero .callout.hero-facts p + p { border-top:1px solid var(--line) !important; }
  .pc-br { display:none; }
}
/* 3 · prose measure ≈ 680px (about 38–42 Korean characters per line) */
.chapter-inner>p:not(.deck):not(.sec-label):not(.caption):not(.hint):not(.fine-print):not(.more-row),
.chapter-inner>ul, .chapter-inner>h3, .chapter-inner>h4,
.history-entry p { max-width:680px; }
/* 4 · muted text contrast ≥ 4.5:1 */
.chapter-inner>p.fine-print { color:#5f6b80; }
/* 5 · letter timeline: collapsible entries */
.chapter-inner>p.hint + .timeline { margin-top:10px; }
.chapter details.history-entry { padding:0; overflow:visible; }
.chapter details.history-entry>summary { position:static; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; min-height:0; padding:22px 26px; list-style:none; background:transparent; border:0; cursor:pointer; border-radius:12px; }
.chapter details.history-entry>summary::-webkit-details-marker { display:none; }
.chapter details.history-entry>summary::marker { content:''; }
.chapter details.history-entry>summary::after { content:none; }
.chapter details.history-entry[open]>summary { background:transparent; border:0; padding-bottom:4px; }
.chapter details.history-entry>summary h4 { margin:0; }
.chapter details.history-entry>summary:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.he-open { flex:0 0 auto; margin-top:2px; padding:5px 10px; border-radius:8px; font-size:13px; line-height:1.5; font-weight:700; color:var(--blue); background:#fff; white-space:nowrap; }
.he-open::after { content:' ⌄'; }
.history-entry[open] .he-open { font-size:0; padding:5px 10px; }
.history-entry[open] .he-open::after { content:'접기 ⌃'; font-size:13px; }
.chapter details.history-entry>summary:hover .he-open { background:#eef3ff; }
.chapter details.history-entry>p { margin:10px 26px; }
.chapter details.history-entry>p:last-child { margin-bottom:24px; }
.chapter-inner>p.bridge { margin:40px 0 0; font-size:20px; line-height:1.6; color:var(--ink); }
@media (max-width:800px){
  .chapter details.history-entry>summary { padding:18px 16px; gap:10px; }
  .chapter details.history-entry>p { margin:10px 16px; }
  .chapter details.history-entry>p:last-child { margin-bottom:20px; }
  .chapter-inner>p.bridge { margin-top:32px; font-size:18px; }
}
/* 6 · wrapping: no orphan last words, balanced headings */
p, li, figcaption, .spk-li, .cap, .fine-print { text-wrap:pretty; }
h1, h2, h3, h4, .deck, .panel-title { text-wrap:balance; }
/* 7 · mobile minimum 13px for reading text */
.panel-tpl .fine-print, .panel-figure figcaption { font-size:13px; }
@media (max-width:800px){
  .kpis .kl { font-size:13px; }
  .chapter-inner>.tablewrap .week-table td:nth-child(4) { font-size:13px; }
  .chapter-inner>p.fine-print { font-size:13px; }
}
/* 9 · larger tap target for week 상세 buttons */
.week-open { min-height:40px; padding:9px 14px; }
/* 10 · roadmap labels on one line */
.jt { font-size:13px; white-space:nowrap; }
/* 11 · note + photo side by side */
.note-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:center; margin:36px 0 0; }
.note-row>.note { margin:0; }
.note-row>figure { margin:0; }
@media (max-width:800px){
  .note-row { grid-template-columns:1fr; gap:16px; margin-top:28px; }
}
.bm-asof, .chapter .bm-note, .stats-asof, .chapter .history-entry .stat-sub { color:#5f6b80; }
td, dd, dt, summary { text-wrap:pretty; }
.pb-stats .num { white-space:nowrap; }

@media (max-width:800px){ .week-tabs button { min-height:40px; } }
/* 2026-09-25: letter timeline always expanded — date bold, title semibold */
.chapter .history-entry h4 { font-weight:600; }
.chapter .history-entry h4 strong { font-weight:700; }
