/* ================================================================
   TEMP · 자소서 바이블 상세 본문 전용 (임시 파일)
   파일명에 temp 가 붙어 있다. 정식 반영 전까지만 쓰고, 정리 시 지운다.
   생성 2026-08-18 · 스코프 .tlb-jasopdp · 외부 CSS 의존 없음
   금지 사항 반영: 양수 자간 없음 / 이탤릭 없음 / 영문 섹션 라벨 없음
   ================================================================ */
@import url('https://cdn.jsdelivr.net/gh/sunn-us/SUITE/fonts/static/woff2/SUITE.css');
@import url('https://cdn.jsdelivr.net/gh/sun-typeface/SUIT/fonts/variable/woff2/SUIT-Variable.css');

.tlb-jasopdp, .tlb-jasopdp * { box-sizing: border-box; }
.tlb-jasopdp img { max-width: 100%; }

.tlb-jasopdp[data-pdp-preview="true"] {
    margin: 0;
}
/* ================================================================
   EXACT 1:1 SLEEPWELLY DESIGN SYSTEM (ref-sleepwelly)
   ================================================================ */
.tlb-jasopdp {
    --bg: #050505;
    --alt: #0D0D0D;
    --surf: #0B0B0B;
    --ink: #F4EFE4;
    --sub: #A9A296;
    --faint: #6B6B66;
    --navy: #000000;
    --pt: #C9BBA0;
    --ptSoft: #111111;
    --line: rgba(244,239,228,0.10);
    font-family: 'SUIT', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--ink);
    background: var(--bg);
    margin: 0;
    padding: 0;
    width: 100%;
}
/* Sections */
.tlb-jasopdp .tlb-sec {
    padding: 104px 0;
    text-align: center;
    word-break: keep-all;
    background: var(--bg);
    border-bottom: 1px solid var(--line);
}
.tlb-jasopdp .tlb-sec--alt {
    background: var(--alt);
}
.tlb-jasopdp .tlb-sec--navy {
    background: var(--navy);
    color: #F4EFE4;
    border-bottom: none;
}
.tlb-jasopdp .tlb-wrap {
    max-width: 880px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}
/* 3-Tier Typography Rhythm */
.tlb-jasopdp .tlb-over {
    font-family: 'SUIT', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--pt);
    text-transform: uppercase;
}
.tlb-jasopdp .tlb-sec--navy .tlb-over {
    color: #C9BBA0;
}
.tlb-jasopdp .tlb-h2 {
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 32px;
    line-height: 1.44;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-top: 16px;
    margin-bottom: 0;
}
.tlb-jasopdp .tlb-sec--navy .tlb-h2 {
    color: #F4EFE4;
}
.tlb-jasopdp .tlb-h2 em {
    font-style: normal;
    color: var(--pt);
}
.tlb-jasopdp .tlb-sec--navy .tlb-h2 em {
    color: #C9BBA0;
}
.tlb-jasopdp .tlb-sub {
    font-family: 'SUIT', sans-serif;
    font-size: 16.5px;
    line-height: 1.85;
    color: var(--sub);
    max-width: 640px;
    margin: 20px auto 0;
}
.tlb-jasopdp .tlb-sec--navy .tlb-sub {
    color: #F4EFE4;
}
.tlb-jasopdp .tlb-pill {
    display: inline-block;
    font-family: 'SUIT', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--pt);
    background: var(--ptSoft);
    border-radius: 999px;
    padding: 9px 20px;
}
/* F02. Hero Box */
.tlb-jasopdp .tlb-hero-card {
    max-width: 440px;
    margin: 40px auto 0;
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 32px 24px;
    box-shadow: 0 14px 38px rgba(20, 48, 77, 0.10);
}
.tlb-jasopdp .tlb-hero-cover {
    background: linear-gradient(135deg, var(--navy) 0%, #1e3a8a 100%);
    color: #F4EFE4;
    padding: 36px 24px;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: -8px 12px 24px rgba(0,0,0,0.25);
}
/* F03. Trust Badges Circles */
.tlb-jasopdp .tlb-badge-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 10px;
}
.tlb-jasopdp .tlb-badge-circle {
    width: 108px;
    height: 108px;
    border-radius: 50%;
    border: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    background: #0B0B0B;
}
.tlb-jasopdp .tlb-badge-big {
    font-family: 'SUITE', sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: var(--pt);
}
.tlb-jasopdp .tlb-badge-big--two {
    font-size: 15px;
    line-height: 1.25;
}
.tlb-jasopdp .tlb-badge-cap {
    font-size: 14px;
    color: var(--sub);
}
/* F04. Review Cards */
.tlb-jasopdp .tlb-rv-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
    text-align: left;
}
.tlb-jasopdp .tlb-rv-card {
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 4px 14px rgba(244,239,228,0.03);
}
.tlb-jasopdp .tlb-rv-txt {
    font-size: 15px;
    line-height: 1.75;
    color: var(--ink);
    margin-bottom: 16px;
}
.tlb-jasopdp .tlb-rv-meta b {
    color: var(--pt);
    font-weight: 700;
    display: block;
    font-size: 13.5px;
}
.tlb-jasopdp .tlb-rv-meta span {
    color: var(--faint);
    font-size: 12px;
}
/* F05. Timeline Nodes */
.tlb-jasopdp .tlb-tl-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 48px;
}
.tlb-jasopdp .tlb-tl-node {
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
    text-align: center;
}
.tlb-jasopdp .tlb-tl-date {
    display: inline-block;
    background: var(--navy);
    color: #F4EFE4;
    font-family: 'SUITE', sans-serif;
    font-size: 13px;
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 4px;
    margin-bottom: 12px;
}
/* F06. Speech Bubbles */
.tlb-jasopdp .tlb-bubble-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 44px;
    text-align: left;
}
.tlb-jasopdp .tlb-bubble-item {
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 22px 24px;
    box-shadow: 0 4px 14px rgba(244,239,228,0.03);
}
.tlb-jasopdp .tlb-bubble-txt {
    font-size: 15.5px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.5;
}
.tlb-jasopdp .tlb-pain-box {
    background: var(--navy);
    color: #F4EFE4;
    border-radius: 10px;
    padding: 40px 32px;
    margin-top: 40px;
}
/* F08. Stats Row */
.tlb-jasopdp .tlb-stats-row {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-top: 20px;
}
.tlb-jasopdp .tlb-stat-cell {
    padding: 12px 52px;
}
.tlb-jasopdp .tlb-stat-cell + .tlb-stat-cell {
    border-left: 1px solid var(--line);
}
.tlb-jasopdp .tlb-stat-num {
    font-family: 'SUITE', sans-serif;
    font-size: 40px;
    font-weight: 800;
    color: var(--pt);
    margin-top: 8px;
    display: block;
}
/* Table */
.tlb-jasopdp .tlb-table {
    width: 100%;
    margin-top: 44px;
    border-collapse: collapse;
    text-align: left;
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}
.tlb-jasopdp .tlb-table th,
.tlb-jasopdp .tlb-table td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
    font-size: 14px;
}
.tlb-jasopdp .tlb-table th {
    width: 26%;
    background: #0B0B0B;
    color: var(--navy);
    font-family: 'SUITE', sans-serif;
    font-weight: 700;
}
/* ============================================================
   Sleepwelly 1:1 Transposition (24 Frames) PDP Tone: jaso
   ============================================================ */
.tlb-jasopdp {
    --bg: #0B0B0B;
    --alt: #0D0D0D;
    --ink: #F4EFE4;
    --sub: #A9A296;
    --faint: #6B6B66;
    --navy: #000000;
    --pt: #C9BBA0;
    --ptSoft: #111111;
    --line: rgba(244,239,228,0.10);
    --bad: #C98A7C;
    --badSoft: #141010;
    font-family: 'SUIT', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--bg);
}
.tlb-jasopdp .tlb-sec {
    padding: 56px 0;
    position: relative;
    background: var(--bg);
}
.tlb-jasopdp .tlb-sec--alt {
    background: var(--alt);
}
.tlb-jasopdp {
    --bg: #0D0D0D;
    --alt: #0D0D0D;
    --ink: #F4EFE4;
    --sub: #A9A296;
    --faint: #6B6B66;
    --navy: #000000;
    --pt: #C9BBA0;
    --ptSoft: #111111;
    --line: rgba(244,239,228,0.10);
    --bad: #C98A7C;
    --badSoft: #141010;
    font-family: 'SUIT', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: #0D0D0D;
}
/* Sleepwelly Single Paper Canvas (#F5F4EF) Folio System */
.tlb-jasopdp .tlb-chap {
    padding: 80px 0;
    position: relative;
    background: #0D0D0D;
    border-bottom: 1px solid rgba(244,239,228,0.10);
}
.tlb-jasopdp .tlb-chap:last-of-type {
    border-bottom: none;
}
.tlb-jasopdp .tlb-folio-tag {
    font-family: 'SUIT', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    color: #C9BBA0;
    text-transform: uppercase;
    margin-bottom: 12px;
    display: inline-block;
}
.tlb-jasopdp .tlb-block {
    margin-bottom: 56px;
}
.tlb-jasopdp .tlb-block:last-child {
    margin-bottom: 0;
}
.tlb-jasopdp .tlb-block-divider {
    height: 1px;
    background: rgba(244,239,228,0.10);
    margin: 48px auto;
    max-width: 100%;
}
.tlb-jasopdp .tlb-editorial-p {
    font-size: 16px;
    line-height: 1.85;
    color: #E4DED2;
    text-align: left;
    margin: 20px 0 0;
    letter-spacing: -0.01em;
}
.tlb-jasopdp .tlb-wrap {
    max-width: 840px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
    text-align: center;
}
/* Single-Column 1-Column Linear Layout */
.tlb-jasopdp .tlb-col-1 {
    width: 100%;
    margin: 0 auto;
}
.tlb-jasopdp .tlb-editorial-img {
    width: 100%;
    max-width: 720px;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    margin: 32px auto;
    display: block;
}
/* 1. Notice Bar */
.tlb-jasopdp .tlb-notice-bar {
    display: inline-block;
    background: rgba(244,239,228,0.06);
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #F4EFE4;
    margin-bottom: 32px;
}
/* 2. Hero Card & Cover */
.tlb-jasopdp .tlb-hero-card {
    max-width: 440px;
    margin: 36px auto 0;
    background: #0B0B0B;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 12px;
    padding: 32px 24px;
    box-shadow: 0 14px 38px rgba(0,0,0,0.25);
    text-align: center;
}
.tlb-jasopdp .tlb-hero-cover {
    background: linear-gradient(135deg, #1E3A8A 0%, #0F172A 100%);
    color: #F4EFE4;
    padding: 36px 24px;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: -8px 12px 24px rgba(0,0,0,0.3);
    position: relative;
}
.tlb-jasopdp .tlb-hero-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #C9BBA0;
    color: #F4EFE4;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 3px;
}
.tlb-jasopdp .tlb-hero-brand {
    font-size: 12px;
    color: #C9BBA0;
    font-weight: 700;
    margin: 0 0 12px;
}
.tlb-jasopdp .tlb-hero-main {
    font-family: 'SUITE', sans-serif;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.25;
    color: #F4EFE4;
    margin: 0 0 12px;
}
.tlb-jasopdp .tlb-hero-author {
    font-size: 13px;
    color: rgba(255,255,255,0.7);
    margin: 0;
}
.tlb-jasopdp .tlb-hero-price {
    font-size: 14.5px;
    color: #F4EFE4;
    font-weight: 700;
    margin: 0;
}
/* 3. Timeline Nodes */
.tlb-jasopdp .tlb-tl {
    margin-top: 36px;
}
.tlb-jasopdp .tlb-tl-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.tlb-jasopdp .tlb-tl-node {
    background: rgba(244,239,228,0.05);
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 8px;
    padding: 20px 16px;
    text-align: center;
}
.tlb-jasopdp .tlb-tl-dot {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #C9BBA0;
    margin: 0 auto 10px;
}
.tlb-jasopdp .tlb-tl-dot--hollow {
    background: transparent;
    border: 2px solid #C9BBA0;
    box-sizing: border-box;
}
.tlb-jasopdp .tlb-tl-date {
    font-family: 'SUITE', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: #F4EFE4;
    margin: 0 0 4px;
}
.tlb-jasopdp .tlb-tl-cap {
    font-size: 13.5px;
    color: #F4EFE4;
    margin: 0;
}
/* 4. Quotes */
.tlb-jasopdp .tlb-quote {
    background: rgba(244,239,228,0.05);
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 10px;
    padding: 28px 32px;
    margin-top: 32px;
    text-align: left;
    position: relative;
}
.tlb-jasopdp .tlb-quote-mark {
    font-family: Georgia, serif;
    font-size: 48px;
    line-height: 1;
    color: #C9BBA0;
    display: block;
    margin-bottom: -16px;
}
.tlb-jasopdp .tlb-quote-txt {
    font-size: 16px;
    line-height: 1.7;
    color: #F4EFE4;
    margin: 0 0 12px;
}
.tlb-jasopdp .tlb-quote-src {
    font-size: 13px;
    color: #C9BBA0;
    margin: 0;
    font-weight: 600;
}
/* 5. Speech Bubbles */
.tlb-jasopdp .tlb-bubbles {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
}
.tlb-jasopdp .tlb-bb-item {
    max-width: 90%;
}
.tlb-jasopdp .tlb-bb-item--r {
    align-self: flex-end;
}
.tlb-jasopdp .tlb-bb-item--l {
    align-self: flex-start;
}
.tlb-jasopdp .tlb-bb {
    background: #0B0B0B;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 16px;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 600;
    color: #F4EFE4;
    line-height: 1.5;
    margin: 0;
    box-shadow: 0 4px 14px rgba(244,239,228,0.04);
}
.tlb-jasopdp .tlb-bb-item--r .tlb-bb {
    background: #000000;
    color: #F4EFE4;
    border-color: rgba(244,239,228,0.10);
    border-bottom-right-radius: 4px;
}
.tlb-jasopdp .tlb-bb-item--l .tlb-bb {
    border-bottom-left-radius: 4px;
}
.tlb-jasopdp .tlb-bb-src {
    font-size: 12px;
    color: #6B6B66;
    margin: 6px 4px 0;
    text-align: right;
}
/* 6. Consulting Fee Comparison */
.tlb-jasopdp .tlb-fees {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 32px;
}
.tlb-jasopdp .tlb-fee {
    background: #0B0B0B;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 10px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 4px 14px rgba(244,239,228,0.03);
}
.tlb-jasopdp .tlb-fee-cap {
    font-size: 14px;
    color: #A9A296;
    margin: 0 0 8px;
}
.tlb-jasopdp .tlb-fee-val {
    font-size: 18px;
    color: #F4EFE4;
    margin: 0;
}
.tlb-jasopdp .tlb-fee-val b {
    font-family: 'SUITE', sans-serif;
    font-size: 36px;
    font-weight: 800;
    color: #C98A7C;
}
.tlb-jasopdp .tlb-cap {
    font-size: 13px;
    color: #6B6B66;
    margin-top: 12px;
}
/* 7. Author Credentials */
.tlb-jasopdp .tlb-cred {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 32px;
}
.tlb-jasopdp .tlb-cred-item {
    background: #0D0D0D;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 8px;
    padding: 20px 16px;
    text-align: center;
}
.tlb-jasopdp .tlb-cred-item b {
    font-family: 'SUITE', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #F4EFE4;
    display: block;
    margin-bottom: 4px;
}
.tlb-jasopdp .tlb-cred-item span {
    font-size: 13.5px;
    color: #A9A296;
}
/* 8. Before & After Document Comparison */
.tlb-jasopdp .tlb-ex-docs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 32px;
    text-align: left;
}
.tlb-jasopdp .tlb-ex-doc {
    background: #0B0B0B;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 4px 14px rgba(244,239,228,0.03);
}
.tlb-jasopdp .tlb-ex-doc--bad {
    border-top: 4px solid #C98A7C;
}
.tlb-jasopdp .tlb-ex-doc--good {
    border-top: 4px solid #C9BBA0;
}
.tlb-jasopdp .tlb-ex-tab {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 14px;
}
.tlb-jasopdp .tlb-ex-doc--bad .tlb-ex-tab {
    background: #141010;
    color: #C98A7C;
}
.tlb-jasopdp .tlb-ex-doc--good .tlb-ex-tab {
    background: #111111;
    color: #C9BBA0;
}
.tlb-jasopdp .tlb-ex-body {
    font-size: 15px;
    line-height: 1.7;
    color: #F4EFE4;
    margin: 0 0 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(244,239,228,0.10);
}
.tlb-jasopdp .tlb-ex-verdict {
    font-size: 13.5px;
    line-height: 1.6;
    color: #A9A296;
    margin: 0;
}
.tlb-jasopdp .tlb-ex-verdict b {
    color: #F4EFE4;
}
/* 9. 14 Red-Flag Words Cloud */
.tlb-jasopdp .tlb-wd-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 28px;
}
.tlb-jasopdp .tlb-wd {
    background: #141010;
    color: #C98A7C;
    border: 1px solid rgba(179,65,59,0.2);
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
}
.tlb-jasopdp .tlb-wd--xl {
    font-size: 17px;
    font-weight: 800;
    padding: 10px 22px;
}
.tlb-jasopdp .tlb-wd--l {
    font-size: 15px;
    font-weight: 700;
    padding: 9px 18px;
}
/* 10. 3-Step Process */
.tlb-jasopdp .tlb-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 32px;
    text-align: left;
}
.tlb-jasopdp .tlb-step {
    background: #0B0B0B;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 4px 14px rgba(244,239,228,0.03);
}
.tlb-jasopdp .tlb-step-num {
    font-family: 'SUITE', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: #C9BBA0;
    margin: 0 0 8px;
}
.tlb-jasopdp .tlb-step-tit {
    font-family: 'SUITE', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #F4EFE4;
    margin: 0 0 8px;
}
.tlb-jasopdp .tlb-step-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #A9A296;
    margin: 0;
}
/* 11. Interactive Search Test */
.tlb-jasopdp .tlb-search {
    background: #0B0B0B;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 12px;
    padding: 28px;
    margin-top: 28px;
    box-shadow: 0 4px 14px rgba(244,239,228,0.03);
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}
.tlb-jasopdp .tlb-search-cap {
    font-size: 13px;
    color: #A9A296;
    margin: 0 0 12px;
    font-weight: 600;
}
.tlb-jasopdp .tlb-search-bar {
    display: flex;
    border: 2px solid rgba(244,239,228,0.10);
    border-radius: 6px;
    overflow: hidden;
}
.tlb-jasopdp .tlb-search-q {
    flex: 1;
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 700;
    color: #C98A7C;
    background: #0B0B0B;
    text-align: left;
}
.tlb-jasopdp .tlb-search-btn {
    background: #000000;
    color: #F4EFE4;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 20px;
}
/* 12. VS Table */
.tlb-jasopdp .tlb-vs {
    margin-top: 36px;
    overflow-x: auto;
}
.tlb-jasopdp .tlb-vs table {
    width: 100%;
    border-collapse: collapse;
    background: #0B0B0B;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
}
.tlb-jasopdp .tlb-vs th,
.tlb-jasopdp .tlb-vs td {
    padding: 16px;
    border-bottom: 1px solid rgba(244,239,228,0.10);
    border-right: 1px solid rgba(244,239,228,0.10);
    font-size: 14px;
}
.tlb-jasopdp .tlb-vs th {
    background: #0B0B0B;
    font-family: 'SUITE', sans-serif;
    font-weight: 700;
    color: #F4EFE4;
}
.tlb-jasopdp .tlb-vs-label {
    background: #0B0B0B;
    font-weight: 700;
    color: #F4EFE4;
    width: 20%;
}
.tlb-jasopdp .tlb-vs-book {
    background: #111111;
    font-weight: 700;
    color: #C9BBA0;
}
/* 13. Honest Fit Guide */
.tlb-jasopdp .tlb-fit {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 32px;
    text-align: left;
}
.tlb-jasopdp .tlb-fit-card {
    background: #0B0B0B;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 10px;
    padding: 24px;
}
.tlb-jasopdp .tlb-fit-tit {
    font-family: 'SUITE', sans-serif;
    font-size: 17px;
    font-weight: 800;
    color: #F4EFE4;
    margin: 0 0 14px;
}
.tlb-jasopdp .tlb-fit-card ul {
    margin: 0;
    padding-left: 20px;
}
.tlb-jasopdp .tlb-fit-card li {
    font-size: 14px;
    line-height: 1.7;
    color: #CFC8BB;
    margin-bottom: 8px;
}
.tlb-jasopdp .tlb-fit-txt {
    font-size: 14px;
    line-height: 1.7;
    color: #A9A296;
    margin: 0;
}
/* 14. FAQ List */
.tlb-jasopdp .tlb-faq-list {
    margin-top: 36px;
    text-align: left;
}
.tlb-jasopdp .tlb-faq-row {
    background: #0B0B0B;
    border: 1px solid rgba(244,239,228,0.10);
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 12px;
}
.tlb-jasopdp .tlb-faq-q {
    font-family: 'SUITE', sans-serif;
    font-size: 16.5px;
    font-weight: 800;
    color: #F4EFE4;
    margin: 0 0 10px;
}
.tlb-jasopdp .tlb-faq-a {
    font-size: 14.5px;
    line-height: 1.7;
    color: #CFC8BB;
    margin: 0;
}
/* 15. Closing Order Widget */
.tlb-jasopdp .tlb-closing-title {
    color: #F4EFE4;
    margin-top: 12px;
}
.tlb-jasopdp .tlb-closing-list {
    list-style: none;
    padding: 0;
    margin: 28px auto 0;
    max-width: 560px;
    text-align: left;
}
.tlb-jasopdp .tlb-closing-item {
    font-size: 15px;
    color: #F4EFE4;
    padding: 10px 0 10px 28px;
    position: relative;
    border-bottom: 1px solid rgba(244,239,228,0.10);
}
.tlb-jasopdp .tlb-closing-item::before {
    content: "✓";
    position: absolute;
    left: 4px;
    color: #C9BBA0;
    font-weight: bold;
}
/* 3-Tier Typography Rhythm */
.tlb-jasopdp .tlb-overline {
    font-family: 'SUITE', sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: var(--pt);
    margin: 0 0 10px;
}
.tlb-jasopdp .tlb-h2 {
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 34px;
    line-height: 1.48;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0;
}
.tlb-jasopdp .tlb-h2 em {
    font-style: normal;
    color: var(--pt);
}
.tlb-jasopdp .tlb-sec--navy .tlb-h2 {
    color: #F4EFE4;
}
.tlb-jasopdp .tlb-sec--navy .tlb-h2 em {
    color: #C9BBA0;
}
.tlb-jasopdp .tlb-h2--xl {
    font-size: 38px;
}
.tlb-jasopdp .tlb-sub {
    margin: 12px auto 0;
    max-width: 600px;
    font-size: 15.5px;
    line-height: 1.75;
    color: #CFC8BB;
}
.tlb-jasopdp .tlb-sec--navy .tlb-sub {
    color: #F4EFE4;
}
.tlb-jasopdp .tlb-sub b {
    font-weight: 700;
    color: var(--navy);
}
.tlb-jasopdp .tlb-punch {
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 19px;
    line-height: 1.6;
    color: var(--ink);
    margin: 28px 0 0;
}
.tlb-jasopdp .tlb-punch em {
    font-style: normal;
    color: var(--pt);
}
.tlb-jasopdp .tlb-cap {
    margin: 12px auto 0;
    font-size: 12px;
    line-height: 1.6;
    color: var(--faint);
}
/* Timeline (Frame 3) */
.tlb-jasopdp .tlb-tl {
    max-width: 780px;
    margin: 28px auto 0;
}
.tlb-jasopdp .tlb-tl-row {
    display: flex;
    position: relative;
}
.tlb-jasopdp .tlb-tl-row::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 12.5%;
    right: 12.5%;
    height: 2px;
    background: rgba(0,0,0,0.55);
}
.tlb-jasopdp .tlb-tl-node {
    flex: 1;
    position: relative;
}
.tlb-jasopdp .tlb-tl-dot {
    position: relative;
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--navy);
    margin: 0 auto;
}
.tlb-jasopdp .tlb-tl-dot--hollow {
    background: var(--alt);
    border: 2px solid var(--navy);
}
.tlb-jasopdp .tlb-tl-date {
    margin: 18px 0 0;
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 22px;
    line-height: 1;
    color: var(--navy);
}
.tlb-jasopdp .tlb-tl-cap {
    margin: 8px 0 0;
    font-size: 13.5px;
    color: var(--sub);
}
.tlb-jasopdp .tlb-tl-measure {
    position: relative;
    height: 12px;
    margin-top: 32px;
}
.tlb-jasopdp .tlb-tl-measure::before {
    content: "";
    position: absolute;
    left: 12.5%;
    width: 50%;
    top: 0;
    bottom: 0;
    background: linear-gradient(var(--pt),var(--pt)) left top/2px 100% no-repeat,linear-gradient(var(--pt),var(--pt)) right top/2px 100% no-repeat,linear-gradient(var(--pt),var(--pt)) center bottom/100% 2px no-repeat;
}
.tlb-jasopdp .tlb-tl-mlabel {
    margin: 10px 0 0 12.5%;
    width: 50%;
    text-align: center;
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 17px;
    color: var(--pt);
}
/* Big Number Callouts (Frame 4 & 16) */
.tlb-jasopdp .tlb-s3-lead {
    margin: 48px 0 0;
    font-size: 17px;
    color: var(--sub);
}
.tlb-jasopdp .tlb-s3-big {
    margin: 12px 0 0;
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 110px;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--pt);
}
.tlb-jasopdp .tlb-s3-big span {
    font-size: 0.5em;
}
/* Quote Box (Frame 5) */
.tlb-jasopdp .tlb-quote {
    max-width: 640px;
    margin: 44px auto 0;
    background: #0B0B0B;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
    padding: 40px 40px 32px;
    text-align: center;
}
.tlb-jasopdp .tlb-quote-mark {
    display: block;
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 56px;
    line-height: 0.6;
    color: var(--pt);
}
.tlb-jasopdp .tlb-quote-txt {
    margin: 16px 0 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.85;
    color: var(--ink);
}
.tlb-jasopdp .tlb-quote-src {
    margin: 20px 0 0;
    font-size: 13px;
    color: var(--faint);
}
/* Speech Bubbles (Frame 7) */
.tlb-jasopdp .tlb-bubbles {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 620px;
    margin: 48px auto 0;
}
.tlb-jasopdp .tlb-bb-item {
    display: flex;
    flex-direction: column;
}
.tlb-jasopdp .tlb-bb-item--l {
    align-items: flex-start;
}
.tlb-jasopdp .tlb-bb-item--r {
    align-items: flex-end;
}
.tlb-jasopdp .tlb-bb {
    position: relative;
    margin: 0;
    background: var(--navy);
    color: #F4EFE4;
    padding: 16px 26px;
    border-radius: 22px;
    font-size: 16px;
    line-height: 1.6;
    max-width: 85%;
    text-align: left;
}
.tlb-jasopdp .tlb-bb::after {
    content: "";
    position: absolute;
    bottom: -10px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 12px solid var(--navy);
}
.tlb-jasopdp .tlb-bb-item--l .tlb-bb::after {
    left: 28px;
}
.tlb-jasopdp .tlb-bb-item--r .tlb-bb::after {
    right: 28px;
}
/* Consulting Fees (Frame 9) */
.tlb-jasopdp .tlb-fees {
    display: flex;
    max-width: 600px;
    margin: 48px auto 0;
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
}
.tlb-jasopdp .tlb-fee {
    flex: 1;
    padding: 0 12px;
}
.tlb-jasopdp .tlb-fee + .tlb-fee {
    border-left: 1px solid var(--line);
}
.tlb-jasopdp .tlb-fee-cap {
    margin: 0;
    font-size: 14px;
    color: var(--sub);
}
.tlb-jasopdp .tlb-fee-val {
    margin: 12px 0 0;
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 24px;
    line-height: 1;
    color: var(--navy);
}
.tlb-jasopdp .tlb-fee-val b {
    font-size: 52px;
    letter-spacing: -0.02em;
}
/* Triad Solution (Frame 11) */
.tlb-jasopdp .tlb-triad {
    margin: 40px 0 0;
}
.tlb-jasopdp .tlb-triad p {
    margin: 0;
    font-family: 'SUITE', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 2.0;
    color: var(--ink);
}
.tlb-jasopdp .tlb-triad b {
    font-weight: 800;
    color: var(--pt);
}
/* Author Credentials (Frame 12) */
.tlb-jasopdp .tlb-cred {
    display: flex;
    justify-content: center;
    max-width: 780px;
    margin: 48px auto 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.tlb-jasopdp .tlb-cred-item {
    flex: 1;
    padding: 20px 8px;
}
.tlb-jasopdp .tlb-cred-item + .tlb-cred-item {
    border-left: 1px solid var(--line);
}
.tlb-jasopdp .tlb-cred-item b {
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 16px;
    color: var(--navy);
    display: block;
}
.tlb-jasopdp .tlb-cred-item span {
    font-size: 12px;
    color: var(--sub);
    display: block;
    margin-top: 4px;
}
/* Real Example Documents (Frame 13) */
.tlb-jasopdp .tlb-ex-docs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 820px;
    margin: 48px auto 0;
    text-align: left;
}
.tlb-jasopdp .tlb-ex-doc {
    background: #0B0B0B;
    border-radius: 6px;
    border: 1px solid var(--line);
    box-shadow: 0 16px 36px rgba(0,0,0,0.45);
    overflow: hidden;
    position: relative;
}
.tlb-jasopdp .tlb-ex-doc::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 32px;
    background: var(--alt);
    border-bottom: 1px solid var(--line);
}
.tlb-jasopdp .tlb-ex-tab {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 6px 0 0 14px;
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 11.5px;
    padding: 3px 10px;
    border-radius: 3px;
}
.tlb-jasopdp .tlb-ex-doc--bad .tlb-ex-tab {
    background: var(--badSoft);
    color: var(--bad);
}
.tlb-jasopdp .tlb-ex-doc--good .tlb-ex-tab {
    background: var(--ptSoft);
    color: var(--pt);
}
.tlb-jasopdp .tlb-ex-body {
    margin: 0;
    padding: 28px 24px 22px;
    font-size: 15px;
    line-height: 2.0;
    color: #E4DED2;
}
.tlb-jasopdp .tlb-ex-doc--bad .tlb-ex-body u {
    text-decoration: underline;
    text-decoration-color: var(--bad);
    text-decoration-thickness: 2px;
    color: var(--bad);
    font-weight: 600;
}
.tlb-jasopdp .tlb-ex-verdict {
    margin: 0;
    padding: 16px 24px 20px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--sub);
    border-top: 1px solid var(--line);
}
.tlb-jasopdp .tlb-ex-doc--good .tlb-ex-verdict b {
    color: var(--pt);
}
.tlb-jasopdp .tlb-ex-doc--bad .tlb-ex-verdict b {
    color: var(--bad);
}
/* Word Cloud (Frame 14) */
.tlb-jasopdp .tlb-wd-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 680px;
    margin: 44px auto 0;
}
.tlb-jasopdp .tlb-wd {
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 8px 18px;
    font-family: 'SUITE', sans-serif;
    font-weight: 700;
    color: var(--navy);
}
.tlb-jasopdp .tlb-wd--xl {
    font-size: 20px;
    color: var(--bad);
    border-color: var(--bad);
}
.tlb-jasopdp .tlb-wd--l {
    font-size: 17px;
    color: var(--pt);
}
.tlb-jasopdp .tlb-wd--m {
    font-size: 14.5px;
    color: var(--sub);
}
/* How To Use Steps (Frame 18) */
.tlb-jasopdp .tlb-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 44px;
    text-align: left;
}
.tlb-jasopdp .tlb-step {
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
}
.tlb-jasopdp .tlb-step-num {
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 13px;
    color: var(--pt);
    margin-bottom: 8px;
}
.tlb-jasopdp .tlb-step-tit {
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 18px;
    color: var(--navy);
    margin-bottom: 8px;
}
.tlb-jasopdp .tlb-step-desc {
    font-size: 13.5px;
    color: var(--sub);
    line-height: 1.6;
    margin: 0;
}
/* Search Bar Self Test (Frame 19) */
.tlb-jasopdp .tlb-search {
    max-width: 480px;
    margin: 40px auto 0;
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
}
.tlb-jasopdp .tlb-search-cap {
    font-size: 13px;
    color: var(--sub);
    margin-bottom: 12px;
}
.tlb-jasopdp .tlb-search-bar {
    display: flex;
    border: 2px solid var(--navy);
    border-radius: 6px;
    overflow: hidden;
}
.tlb-jasopdp .tlb-search-q {
    flex: 1;
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 700;
    color: var(--navy);
    text-align: left;
}
.tlb-jasopdp .tlb-search-btn {
    background: var(--navy);
    color: #F4EFE4;
    padding: 12px 20px;
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 14px;
}
/* Compare Table (Frame 20) */
.tlb-jasopdp .tlb-vs {
    max-width: 780px;
    margin: 44px auto 0;
    overflow-x: auto;
}
.tlb-jasopdp .tlb-vs table {
    width: 100%;
    border-collapse: collapse;
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 8px;
}
.tlb-jasopdp .tlb-vs th,
.tlb-jasopdp .tlb-vs td {
    padding: 16px 14px;
    font-size: 14px;
    text-align: center;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
}
.tlb-jasopdp .tlb-vs th {
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    background: var(--alt);
    color: var(--navy);
}
.tlb-jasopdp .tlb-vs .tlb-vs-book {
    background: var(--ptSoft);
    color: var(--pt);
    font-weight: 700;
}
.tlb-jasopdp .tlb-vs .tlb-vs-label {
    font-weight: 700;
    color: var(--navy);
    text-align: left;
    background: var(--alt);
}
/* Fit Cards (Frame 23) */
.tlb-jasopdp .tlb-fit {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 760px;
    margin: 44px auto 0;
    text-align: left;
}
.tlb-jasopdp .tlb-fit-card {
    background: #0B0B0B;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 28px 24px;
}
.tlb-jasopdp .tlb-fit-tit {
    font-family: 'SUITE', sans-serif;
    font-weight: 800;
    font-size: 17px;
    color: var(--navy);
    margin-bottom: 14px;
}
.tlb-jasopdp .tlb-fit-card ul {
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.8;
    color: var(--sub);
}
.tlb-jasopdp .tlb-fit-txt {
    font-size: 14px;
    line-height: 1.8;
    color: var(--sub);
    margin: 0;
}
/* Mobile Adjustments */

.tlb-jasopdp {
    --tlb-canvas: #0D0D0D;
    --tlb-card-bg: #0B0B0B;
    --tlb-ink: #F4EFE4;
    --tlb-sub: #CFC8BB;
    --tlb-faint: #A9A296;
    --tlb-navy: #000000;
    --tlb-blue: #C9BBA0;
    --tlb-gold: #C9BBA0;
    --tlb-gold-bg: #0D0D0D;
    --tlb-border: rgba(244,239,228,0.16);
    background: var(--tlb-canvas);
    color: var(--tlb-ink);
    font-family: 'SUIT', -apple-system, BlinkMacSystemFont, sans-serif;
    padding: 60px 24px 80px;
    max-width: 920px;
    margin: 0 auto;
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
}
/* Typography Base */
.tlb-jasopdp h1,
.tlb-jasopdp h2,
.tlb-jasopdp h3,
.tlb-jasopdp .tlb-jasopdp__doc-title,
.tlb-jasopdp .tlb-jasopdp__section-head,
.tlb-jasopdp .tlb-jasopdp__cover-main,
.tlb-jasopdp .tlb-jasopdp__ledger-num {
    font-family: 'SUITE', -apple-system, sans-serif;
    letter-spacing: 0;
}
/* Mobile responsive */

.tlb-jasopdp {
    --tlb-bg: #0B0B0B;
    --tlb-alt: #0D0D0D;
    --tlb-ink: #F4EFE4;
    --tlb-sub: #A9A296;
    --tlb-faint: #6B6B66;
    --tlb-navy: #000000;
    --tlb-pt: #C9BBA0;
    --tlb-ptSoft: #111111;
    --tlb-line: rgba(244,239,228,0.10);
    font-family: 'SUIT', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--tlb-ink);
    background: var(--tlb-bg);
}
/* Typography Rules */
.tlb-jasopdp h1,
.tlb-jasopdp h2,
.tlb-jasopdp h3,
.tlb-jasopdp .tlb-jasopdp__heading,
.tlb-jasopdp .tlb-jasopdp__title,
.tlb-jasopdp .tlb-jasopdp__stat-num,
.tlb-jasopdp .tlb-jasopdp__badge-big {
    font-family: 'SUITE', -apple-system, sans-serif;
}
.tlb-jasopdp p,
.tlb-jasopdp li,
.tlb-jasopdp td,
.tlb-jasopdp th,
.tlb-jasopdp span,
.tlb-jasopdp .tlb-jasopdp__sub,
.tlb-jasopdp .tlb-jasopdp__over {
    font-family: 'SUIT', -apple-system, sans-serif;
}
/* F02. Hero Section (ref_02전사) */
.tlb-jasopdp .tlb-jasopdp__hero {
    padding: 80px 0 90px;
    text-align: center;
    background: var(--tlb-bg);
}
.tlb-jasopdp .tlb-jasopdp__title {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.4;
    color: var(--tlb-ink);
    margin-bottom: 18px;
}
.tlb-jasopdp .tlb-jasopdp__title em {
    font-style: normal;
    color: var(--tlb-pt);
}
.tlb-jasopdp h1,
.tlb-jasopdp h2,
.tlb-jasopdp h3,
.tlb-jasopdp .tlb-jasopdp__heading,
.tlb-jasopdp .tlb-jasopdp__title,
.tlb-jasopdp .tlb-jasopdp__fact-num,
.tlb-jasopdp .tlb-jasopdp__trust-num,
.tlb-jasopdp .tlb-jasopdp__book-title,
.tlb-jasopdp .tlb-jasopdp__eyebrow {
    font-family: 'SUITE', -apple-system, sans-serif;
}
.tlb-jasopdp p,
.tlb-jasopdp li,
.tlb-jasopdp td,
.tlb-jasopdp th,
.tlb-jasopdp span,
.tlb-jasopdp .tlb-jasopdp__lead,
.tlb-jasopdp .tlb-jasopdp__faq-a,
.tlb-jasopdp .tlb-jasopdp__author-bio {
    font-family: 'SUIT', -apple-system, sans-serif;
}
/* Hero Section Enhancement */
.tlb-jasopdp .tlb-jasopdp__hero {
    padding-top: 60px;
    padding-bottom: 70px;
}
.tlb-jasopdp .tlb-jasopdp__title {
    font-size: 38px;
    font-weight: 800;
    line-height: 1.3;
    color: #0f2c59;
    margin-bottom: 24px;
}
.tlb-jasopdp .tlb-jasopdp__eyebrow {
    color: #C9BBA0;
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
}
.tlb-jasopdp *,
.tlb-jasopdp *::before,
.tlb-jasopdp *::after {
    box-sizing: border-box;
}
.tlb-jasopdp img {
    display: block;
    max-width: 100%;
    height: auto;
}
.tlb-jasopdp a {
    color: inherit;
}
@media (max-width: 768px) {
    .tlb-jasopdp .tlb-sec {
        padding: 64px 0;
    }
}
@media (max-width: 768px) {
    .tlb-jasopdp .tlb-h2 {
        font-size: 26px;
    }
}
@media (max-width: 768px) {
    .tlb-jasopdp .tlb-h2--xl {
        font-size: 28px;
    }
}
@media (max-width: 768px) {
    .tlb-jasopdp .tlb-sub {
        font-size: 15px;
    }
}
@media (max-width: 768px) {
    .tlb-jasopdp .tlb-ex-docs,
    .tlb-jasopdp .tlb-cred,
    .tlb-jasopdp .tlb-steps,
    .tlb-jasopdp .tlb-fit {
        grid-template-columns: 1fr;
        flex-direction: column;
    }
}
@media (max-width: 768px) {
    .tlb-jasopdp .tlb-s3-big {
        font-size: 72px;
    }
}
@media (max-width: 768px) {
    .tlb-jasopdp {
        padding: 40px 16px;
    }
}
/* ---------------- 다크 레이어 ---------------- */

.tlb-jasopdp {
    --bg:   #050505;
    --alt:  #0D0D0D;
    --surf: #0B0B0B;
    --ink:  #F4EFE4;
    --sub:  #A9A296;
    --faint:#6B6B66;
    --navy: #000000;
    --line: rgba(244,239,228,0.10);
    background: var(--bg);
    color: var(--ink);
    letter-spacing: 0;
}

/* ---- 면 전수 처리. 밝은 배경을 가진 모든 요소를 한 번에 ---- */
.tlb-jasopdp .tlb-chap,
.tlb-jasopdp .tlb-sec { background: var(--bg); border-bottom: 1px solid var(--line); }
.tlb-jasopdp .tlb-chap--alt { background: var(--alt); }
.tlb-jasopdp .tlb-sec--navy { background: var(--navy); border-bottom: none; }

.tlb-jasopdp .tlb-quote,
.tlb-jasopdp .tlb-fees,
.tlb-jasopdp .tlb-table,
.tlb-jasopdp .tlb-vs table,
.tlb-jasopdp .tlb-search { background: transparent !important; }

.tlb-jasopdp .tlb-ex-doc,
.tlb-jasopdp .tlb-fit-card,
.tlb-jasopdp .tlb-fee,
.tlb-jasopdp .tlb-step,
.tlb-jasopdp .tlb-tl-node,
.tlb-jasopdp .tlb-cred-item,
.tlb-jasopdp .tlb-faq-row,
.tlb-jasopdp .tlb-bb,
.tlb-jasopdp .tlb-wd,
.tlb-jasopdp .tlb-badge-circle,
.tlb-jasopdp .tlb-rv-card {
    background: var(--surf) !important;
    border: 1px solid var(--line) !important;
    box-shadow: none !important;
}
.tlb-jasopdp .tlb-chap--alt .tlb-ex-doc,
.tlb-jasopdp .tlb-chap--alt .tlb-fit-card,
.tlb-jasopdp .tlb-chap--alt .tlb-fee,
.tlb-jasopdp .tlb-chap--alt .tlb-faq-row,
.tlb-jasopdp .tlb-chap--alt .tlb-bb { background: #060606 !important; }

/* ---- 활자. 자간 0, 이탤릭 없음 ---- */
.tlb-jasopdp .tlb-h2,
.tlb-jasopdp .tlb-step-tit,
.tlb-jasopdp .tlb-fit-tit,
.tlb-jasopdp .tlb-faq-q,
.tlb-jasopdp .tlb-closing-title { color: var(--ink); letter-spacing: 0; }
/* 강조는 굵기 차이로만 */
.tlb-jasopdp .tlb-h2 em {
    color: var(--ink); font-style: normal; font-weight: 300; letter-spacing: 0;
}
.tlb-jasopdp .tlb-sub,
.tlb-jasopdp .tlb-editorial-p,
.tlb-jasopdp .tlb-step-desc,
.tlb-jasopdp .tlb-fit-txt,
.tlb-jasopdp .tlb-faq-a { color: var(--sub); letter-spacing: 0; }
.tlb-jasopdp .tlb-cap { color: var(--faint); letter-spacing: 0; }

/* 선언. 박스 없이 위아래 실선 */
.tlb-jasopdp .tlb-notice-bar {
    background: transparent !important; border: none !important;
    border-top: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important;
    color: var(--ink) !important; border-radius: 0 !important;
    padding: 26px 0 !important; margin: 40px 0 !important; display: block !important;
    font-size: 20px; font-weight: 600; line-height: 1.6; letter-spacing: 0;
}

/* 예문 */
.tlb-jasopdp .tlb-ex-doc--good { border-color: rgba(244,239,228,0.26) !important; }
.tlb-jasopdp .tlb-ex-body { color: var(--ink); }
.tlb-jasopdp .tlb-ex-verdict { color: var(--sub); }
.tlb-jasopdp .tlb-ex-verdict b { color: var(--ink); font-weight: 600; }
.tlb-jasopdp .tlb-ex-tab {
    background: transparent !important; color: var(--faint) !important;
    border: 1px solid var(--line) !important; letter-spacing: 0 !important; font-size: 12px;
}
.tlb-jasopdp .tlb-ex-doc--good .tlb-ex-tab { color: var(--ink) !important; border-color: rgba(244,239,228,0.26) !important; }

/* 수치 */
.tlb-jasopdp .tlb-fee-val { color: var(--ink); font-weight: 300; letter-spacing: 0; }
.tlb-jasopdp .tlb-fee-val b { color: var(--ink); font-weight: 600; }
.tlb-jasopdp .tlb-fee-cap { color: var(--faint); }
.tlb-jasopdp .tlb-tl-dot { background: rgba(244,239,228,0.45) !important; }
.tlb-jasopdp .tlb-tl-date {
    background: transparent !important; color: var(--ink) !important;
    font-weight: 300 !important; font-size: 26px !important; letter-spacing: 0 !important;
}
.tlb-jasopdp .tlb-tl-cap { color: var(--faint) !important; }

/* 표 */
.tlb-jasopdp .tlb-table th,
.tlb-jasopdp .tlb-vs table th,
.tlb-jasopdp .tlb-vs .tlb-vs-label {
    background: transparent !important; color: var(--faint) !important;
    border-color: var(--line) !important; font-weight: 500;
}
.tlb-jasopdp .tlb-table td,
.tlb-jasopdp .tlb-vs table td { color: var(--sub) !important; border-color: var(--line) !important; }
.tlb-jasopdp .tlb-table td strong { color: var(--ink); font-weight: 600; }
.tlb-jasopdp .tlb-vs .tlb-vs-book { background: rgba(244,239,228,0.05) !important; color: var(--ink) !important; }

/* 인용 */
.tlb-jasopdp .tlb-quote { border: 1px solid var(--line) !important; border-radius: 14px; }
.tlb-jasopdp .tlb-quote-txt { color: var(--ink); font-weight: 300; }
.tlb-jasopdp .tlb-quote-mark { color: rgba(244,239,228,0.2); }
.tlb-jasopdp .tlb-quote-src { color: var(--faint); }

.tlb-jasopdp .tlb-bb { color: var(--sub) !important; }
.tlb-jasopdp .tlb-bb-src { color: var(--faint); }
.tlb-jasopdp .tlb-step-num { color: var(--faint); letter-spacing: 0 !important; font-size: 12px; }
.tlb-jasopdp .tlb-fit-card ul li { color: var(--sub); }
.tlb-jasopdp .tlb-closing-item { color: var(--sub); border-color: var(--line); }
.tlb-jasopdp .tlb-cred-item b { color: var(--ink); }
.tlb-jasopdp .tlb-cred-item span { color: var(--faint); }

/* ---- 이미지 ---- */
.tlb-jasopdp .tlb-stage { position: relative; overflow: hidden; }
.tlb-jasopdp .tlb-stage-bg {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; opacity: 0.45; z-index: 0;
}
.tlb-jasopdp .tlb-stage::after {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(180deg, rgba(5,5,5,0.75) 0%, rgba(5,5,5,0.6) 45%, rgba(5,5,5,0.97) 100%);
}
.tlb-jasopdp .tlb-stage > .tlb-wrap { position: relative; z-index: 2; }

.tlb-jasopdp .tlb-strip {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 48px 0 0;
}
.tlb-jasopdp .tlb-strip img {
    width: 100%; height: 160px; object-fit: cover;
    border-radius: 12px; display: block; opacity: 0.7;
}
.tlb-jasopdp .tlb-cover {
    display: block; width: 100%; max-width: 380px; height: auto;
    margin: 48px auto 0; border-radius: 3px; box-shadow: 0 40px 90px rgba(0,0,0,0.8);
}
.tlb-jasopdp .tlb-figcap {
    display: block; text-align: center; margin-top: 18px;
    font-size: 13px; letter-spacing: 0; color: var(--faint);
}

@media (max-width: 767px) {
    .tlb-jasopdp .tlb-strip { grid-template-columns: 1fr 1fr; gap: 8px; }
    .tlb-jasopdp .tlb-strip img { height: 112px; }
    .tlb-jasopdp .tlb-tl-date { font-size: 21px !important; }
    .tlb-jasopdp .tlb-notice-bar { font-size: 17px; padding: 20px 0 !important; margin: 30px 0 !important; }
}

/* 브라우저 기본 이탤릭 차단 */
.tlb-jasopdp cite, .tlb-jasopdp em, .tlb-jasopdp i, .tlb-jasopdp .tlb-quote-src { font-style: normal; }

/* 아임웹 상세 영역 전체폭 사용. 섹션 배경이 좌우로 끊기지 않게 한다 */
.tlb-jasopdp { max-width: none; margin: 0; padding: 0; }
.tlb-jasopdp .tlb-chap, .tlb-jasopdp .tlb-sec { padding-left: 0; padding-right: 0; }

/* ================================================================
   모션. 자바스크립트에 기대지 않는다.
   아임웹은 붙여넣은 <script> 를 지운다. 그런데 사이트 공용 tlb-common.js 가
   .tlb-reveal 을 잡아 tlb_tc_scroll_reveal(opacity:0) 만 씌우고 visible 을
   붙이지 못해 본문이 통째로 사라지는 일이 있었다. 그래서 여기서 그 숨김을
   되돌려 놓고, 스크롤 연동 애니메이션은 지원하는 브라우저에서만 얹는다.
   ================================================================ */
.tlb-jasopdp .tlb-reveal,
.tlb-jasopdp .tlb_tc_scroll_reveal,
.tlb-jasopdp .lb_animate_fadeInUp {
    opacity: 1;
    transform: none;
    transition: none;
    animation: none;
}

@supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
        .tlb-jasopdp .tlb-reveal {
            animation: tlbJasoRise linear both;
            animation-timeline: view();
            animation-range: entry 4% entry 46%;
        }
    }
}
@keyframes tlbJasoRise {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: none; }
}

/* 히어로 배경. 아주 느린 확대로 정지 화면 느낌을 없앤다 */
.tlb-jasopdp .tlb-stage-bg {
    animation: tlbJasoDrift 34s ease-in-out infinite alternate;
    transform-origin: 52% 46%;
}
@keyframes tlbJasoDrift {
    from { transform: scale(1.02); }
    to   { transform: scale(1.13); }
}

/* 타임라인 점. 한 번씩 숨을 쉰다 */
.tlb-jasopdp .tlb-tl-dot { animation: tlbJasoPulse 3.4s ease-in-out infinite; }
@keyframes tlbJasoPulse {
    0%, 100% { opacity: 0.45; }
    50%      { opacity: 1; }
}

/* 예문 대조와 스트립은 시선이 머물 때 또렷해진다 */
.tlb-jasopdp .tlb-strip img {
    transition: opacity 0.5s ease, transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.tlb-jasopdp .tlb-strip img:hover { opacity: 0.95; transform: scale(1.03); }
.tlb-jasopdp .tlb-cover {
    transition: transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.tlb-jasopdp .tlb-cover:hover { transform: translateY(-8px); }

@media (prefers-reduced-motion: reduce) {
    .tlb-jasopdp .tlb-reveal { opacity: 1; transform: none; transition: none; animation: none; }
    .tlb-jasopdp .tlb-stage-bg,
    .tlb-jasopdp .tlb-tl-dot { animation: none; }
    .tlb-jasopdp .tlb-strip img,
    .tlb-jasopdp .tlb-cover { transition: none; }
}

/* ---- 모바일 정리 ---- */
.tlb-jasopdp .tlb-fee-val { white-space: nowrap; }
@media (max-width: 767px) {
    .tlb-jasopdp .tlb-strip { grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 34px; }
    .tlb-jasopdp .tlb-strip img { height: 96px; border-radius: 8px; }
    .tlb-jasopdp .tlb-h2--xl { font-size: 27px; line-height: 1.42; }
    .tlb-jasopdp .tlb-sec--navy .tlb-h2--xl + .tlb-sub { font-size: 16px; }
    .tlb-jasopdp .tlb-cover { max-width: 260px; margin-top: 34px; }
}

/* ---- 선언 헤딩. PC는 지정한 자리에서 끊고, 모바일은 자동 줄바꿈에 맡긴다 ---- */
.tlb-jasopdp .tlb-h2 { word-break: keep-all; overflow-wrap: break-word; }
.tlb-jasopdp .tlb-brw { display: inline; }
@media (max-width: 767px) {
    .tlb-jasopdp .tlb-brw { display: none; }
    .tlb-jasopdp .tlb-sec--navy .tlb-h2--xl { font-size: 24px; line-height: 1.5; }
}

/* ---- 학습 흐름. 가로로 긴 상자를 세로로 쌓는다 ---- */
.tlb-jasopdp .tlb-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 660px;
    margin: 44px auto 0;
    text-align: left;
}
.tlb-jasopdp .tlb-step {
    display: grid;
    grid-template-columns: 150px 1fr;
    grid-template-rows: auto auto;
    column-gap: 22px;
    row-gap: 4px;
    align-items: start;
    padding: 22px 26px;
    border-radius: 12px;
}
.tlb-jasopdp .tlb-step-num { grid-column: 1; grid-row: 1; margin: 0; }
.tlb-jasopdp .tlb-step-tit { grid-column: 1; grid-row: 2; margin: 0; }
.tlb-jasopdp .tlb-step-desc {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin: 0;
    align-self: center;
}
@media (max-width: 767px) {
    .tlb-jasopdp .tlb-steps { gap: 10px; margin-top: 32px; }
    .tlb-jasopdp .tlb-step {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        row-gap: 6px;
        padding: 18px 20px;
    }
    .tlb-jasopdp .tlb-step-num { grid-column: 1; grid-row: 1; }
    .tlb-jasopdp .tlb-step-tit { grid-column: 1; grid-row: 2; }
    .tlb-jasopdp .tlb-step-desc { grid-column: 1; grid-row: 3; align-self: start; }
}

/* ---- 표. 첫 열만 좁게 고정한다.
   table-layout:fixed 에서 두 열 다 폭을 지정하면 남는 공간이 균등 분배돼
   결국 1:1 이 된다. 그래서 둘째 열은 auto 로 비워 둔다. ---- */
.tlb-jasopdp .tlb-table { table-layout: fixed; width: 100%; }
.tlb-jasopdp .tlb-table th,
.tlb-jasopdp .tlb-table td { width: auto; vertical-align: top; line-height: 1.7; }
.tlb-jasopdp .tlb-table thead th:first-child,
.tlb-jasopdp .tlb-table tbody th:first-child {
    width: 132px;
    white-space: nowrap;
}
.tlb-jasopdp .tlb-table thead th:last-child,
.tlb-jasopdp .tlb-table tbody td:last-child { width: auto; }
@media (max-width: 767px) {
    .tlb-jasopdp .tlb-table thead th:first-child,
    .tlb-jasopdp .tlb-table tbody th:first-child { width: 84px; white-space: normal; }
    .tlb-jasopdp .tlb-table th,
    .tlb-jasopdp .tlb-table td { padding: 14px 12px; font-size: 13px; }
}

/* ---- 말풍선 ----
   어두운 바탕에서 잘 안 보여 밝은 면에 어두운 글씨로 뒤집었다.
   좌우 어긋남은 transform 으로 준다. margin 으로 주면 풍선 폭에 더해져
   컨테이너를 넘길 때 중앙 정렬이 깨지고 왼쪽으로 흘러나간다. */
.tlb-jasopdp .tlb-bubbles {
    max-width: 760px;
    width: 100%;
    margin: 44px auto 0;
    padding: 0;
    gap: 16px;
    overflow: visible;
}
.tlb-jasopdp .tlb-bb-item {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.tlb-jasopdp .tlb-bb,
.tlb-jasopdp .tlb-bb-item--l .tlb-bb,
.tlb-jasopdp .tlb-bb-item--r .tlb-bb,
.tlb-jasopdp .tlb-chap--alt .tlb-bb,
.tlb-jasopdp .tlb-chap--alt .tlb-bb-item--l .tlb-bb,
.tlb-jasopdp .tlb-chap--alt .tlb-bb-item--r .tlb-bb {
    width: auto;
    min-width: min(330px, 92%);
    max-width: 100%;
    margin: 0;
    white-space: nowrap;
    text-align: center;
    padding: 17px 30px;
    font-size: clamp(11.5px, 3.2vw, 16px);
    font-weight: 500;
    border-radius: 20px;
    background: #F4EFE4 !important;
    color: #16150F !important;
    border: none !important;
    box-shadow: 0 10px 26px rgba(0,0,0,0.45) !important;
}
.tlb-jasopdp .tlb-bb::after,
.tlb-jasopdp .tlb-chap--alt .tlb-bb::after {
    border-top-color: #F4EFE4;
}
.tlb-jasopdp .tlb-bb-item--l .tlb-bb { --tlb-bb-x: -30px; }
.tlb-jasopdp .tlb-bb-item--r .tlb-bb { --tlb-bb-x: 30px; }
.tlb-jasopdp .tlb-bb {
    transform: translate(var(--tlb-bb-x, 0), 0);
    animation: tlbBbFloat 5.2s ease-in-out infinite;
}
.tlb-jasopdp .tlb-bb-item:nth-child(2) .tlb-bb { animation-delay: -1.3s; }
.tlb-jasopdp .tlb-bb-item:nth-child(3) .tlb-bb { animation-delay: -2.6s; }
.tlb-jasopdp .tlb-bb-item:nth-child(4) .tlb-bb { animation-delay: -3.9s; }
@keyframes tlbBbFloat {
    0%, 100% { transform: translate(var(--tlb-bb-x, 0), 0); }
    50%      { transform: translate(var(--tlb-bb-x, 0), -6px); }
}
@media (max-width: 767px) {
    .tlb-jasopdp .tlb-bubbles { max-width: none; gap: 11px; margin-top: 32px; }
    .tlb-jasopdp .tlb-bb,
    .tlb-jasopdp .tlb-bb-item--l .tlb-bb,
    .tlb-jasopdp .tlb-bb-item--r .tlb-bb {
        min-width: min(300px, 90%);
        padding: 13px 16px;
        border-radius: 16px;
    }
    .tlb-jasopdp .tlb-bb-item--l .tlb-bb { --tlb-bb-x: -10px; }
    .tlb-jasopdp .tlb-bb-item--r .tlb-bb { --tlb-bb-x: 10px; }
    .tlb-jasopdp .tlb-bb::after { border-left-width: 7px; border-right-width: 7px; border-top-width: 10px; bottom: -8px; }
    .tlb-jasopdp .tlb-bb-item--l .tlb-bb::after { left: 20px; }
    .tlb-jasopdp .tlb-bb-item--r .tlb-bb::after { right: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .tlb-jasopdp .tlb-bb { animation: none; }
}



/* ---- 저자. 상자 없이 한 덩어리 좌정렬 ---- */
.tlb-jasopdp .tlb-bio {
    max-width: 560px;
    margin: 56px auto 0;
    padding-top: 34px;
    border-top: 1px solid var(--line);
    text-align: left;
}
.tlb-jasopdp .tlb-bio-name {
    margin: 0;
    font-family: 'SUITE', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--ink);
}
.tlb-jasopdp .tlb-bio-txt {
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 1.8;
    color: var(--sub);
}
.tlb-jasopdp .tlb-bio-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}
.tlb-jasopdp .tlb-bio-item {
    position: relative;
    padding: 3px 0 3px 16px;
    font-size: 14px;
    line-height: 1.75;
    color: var(--faint);
}
.tlb-jasopdp .tlb-bio-item::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 15px;
    width: 5px;
    height: 1px;
    background: rgba(244,239,228,0.35);
}
@media (max-width: 767px) {
    .tlb-jasopdp .tlb-bio { margin-top: 40px; padding-top: 26px; }
}

/* ---- 비용 상자 내부 여백 ---- */
.tlb-jasopdp .tlb-fees { padding: 34px 24px; align-items: stretch; }
.tlb-jasopdp .tlb-fee { padding: 6px 16px; }
.tlb-jasopdp .tlb-fee-val { margin-top: 14px; }
@media (max-width: 767px) {
    .tlb-jasopdp .tlb-fees { padding: 26px 12px; }
    .tlb-jasopdp .tlb-fee { padding: 4px 10px; }
}

/* 비용. 바깥 틀은 없애고 안쪽 상자만 남긴다 */
.tlb-jasopdp .tlb-fees {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    gap: 16px;
    max-width: 620px;
}
.tlb-jasopdp .tlb-fee {
    padding: 30px 20px !important;
    border-radius: 12px !important;
}
.tlb-jasopdp .tlb-fee + .tlb-fee { border-left: 1px solid var(--line) !important; }
.tlb-jasopdp .tlb-fee-val { margin-top: 12px; }
@media (max-width: 767px) {
    .tlb-jasopdp .tlb-fees { gap: 10px; }
    .tlb-jasopdp .tlb-fee { padding: 24px 12px !important; }
}

/* 인용구. 아임웹 froala 의 blockquote 기본값(margin:0 0 20px)이 같은 특정도로
   나중에 로드돼 우리 auto 마진을 눌렀다. 그래서 강제한다. */
.tlb-jasopdp blockquote.tlb-quote {
    margin: 44px auto 0 !important;
    max-width: min(640px, 100%) !important;
    width: auto !important;
}
/* 폭이 정해진 블록은 전부 가운데로 */
.tlb-jasopdp .tlb-fees,
.tlb-jasopdp .tlb-bubbles,
.tlb-jasopdp .tlb-steps,
.tlb-jasopdp .tlb-ex-docs,
.tlb-jasopdp .tlb-fit,
.tlb-jasopdp .tlb-vs,
.tlb-jasopdp .tlb-faq-list,
.tlb-jasopdp .tlb-table,
.tlb-jasopdp .tlb-tl,
.tlb-jasopdp .tlb-strip,
.tlb-jasopdp .tlb-cover,
.tlb-jasopdp .tlb-closing-list {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 목차 번호 자리에 한글 두 글자를 넣으면 28px 로는 60px 칸을 넘긴다 */
.tlb_common_section .tlb_toc_idx_clean.tlb-toc-word {
    font-size: 17px;
    line-height: 1.9;
    white-space: nowrap;
}
