/* ================================================================
   TLB PRODUCT — 상품 상세페이지 통합 스타일
   아임웹 상품 에디터에 삽입되는 교재/코스 상세정보
   Merged from: tlb-product-common, lb-product, lb-normalpages
   ================================================================ */

/* --- Section A: Product Common (상단/통계/TOC/저자/법적고지/리뷰) --- */
/* ==========================================================================
   TLB PRODUCT COMMON - V6 Refined Round 10 (Cleaned & Author Fix)
   ========================================================================== */

/* SUITE Font Import (For Main Header) */
@import url('https://cdn.jsdelivr.net/gh/sunn-us/SUITE/fonts/static/woff2/SUITE.css');

/* Section Wrapper */
.tlb_common_section {
    width: 100%;
    padding: 80px 0;
    background-color: #050505;
    font-family: var(--tlb-font-body);
    box-sizing: border-box;
    color: #ffffff;
    position: relative;
}

.tlb_common_container {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    padding: 0 60px;
    box-sizing: border-box;
    /* Limits content width */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

/* 1. Header */
.tlb_header_group {
    text-align: center;
    margin-bottom: 20px;
}

.tlb_header_badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    border: 1px solid rgba(150, 45, 227, 0.3);
    border-radius: 50px;
    background: rgba(150, 45, 227, 0.1);
    color: #b355ff;
    font-size: var(--tlb-fs-caption);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.tlb_header_title {
    font-family: var(--tlb-font-head);
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0;
    margin-top: 0;
    line-height: var(--tlb-lh-none);
    letter-spacing: -1px;
}

/* 2. Media Section (Images & Video) */
.tlb_detail_media_wrapper {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
}

.tlb_detail_media_wrapper p {
    text-align: center;
    margin: 0;
}

.tlb_detail_media_wrapper img {
    max-width: 100%;
    height: auto;
    display: inline-block;
}

/* 2. Visual Area */
.tlb_visual_area_center {
    width: 600px;
    max-width: 100%;
    margin-bottom: 30px;
}

.tlb_book_img_center {
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
    border-radius: 8px;
}

/* 3. Text Info Group */
.tlb_text_group_center {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tlb_brand_logo_large {
    height: 80px;
    width: auto;
    margin-bottom: 4px;
    opacity: 0.9;
    display: block;
}

.tlb_title_row {
    margin-top: 0;
    margin-bottom: 20px;
}

.tlb_product_title_main {
    font-family: var(--tlb-font-body);
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    line-height: var(--tlb-lh-tight);
    display: block;
    margin-bottom: 4px;
}

.tlb_product_subtitle_main {
    font-family: var(--tlb-font-body);
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    line-height: var(--tlb-lh-tight);
    display: block;
}

.tlb_divider_line {
    width: 100%;
    max-width: 100%;
    height: 1px;
    background-color: #333;
    margin: 20px auto 15px auto;
    /* Explicit auto margins for centering */
}

.tlb_desc_text {
    text-align: left;
    width: 100%;
    margin-top: 5px;
    /* 15px (divider bottom) + 5px = 20px Top Gap */
    /* Next Divider has 20px Top Margin = 20px Bottom Gap */
    color: #ddd;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-compact);
}

.tlb_desc_text p {
    margin: 0 0 20px 0;
}

.tlb_desc_text p:last-child {
    margin-bottom: 0;
}

.tlb_solve_logo {
    width: 100%;
    height: auto;
    object-fit: contain;
    margin-bottom: 12px;
    opacity: 0.95;
    display: block;
}

.tlb_type_text {
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    color: #fff;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}

.tlb_type_ebook_wrapper {
    display: inline-flex;
    max-width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    flex-wrap: wrap;
}

.tlb_solve_logo_large {
    display: block;
    width: auto;
    max-width: min(180px, 100%);
    height: auto;
    object-fit: contain;
    flex: 0 1 auto;
}

.tlb_ebook_label {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    flex: 0 1 auto;
}

.tlb_stat_big_num {
    font-size: 64px;
    font-weight: 800;
    color: #fff;
    line-height: var(--tlb-lh-none);
    margin-bottom: 12px;
}

.tlb_q_detail_row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin-bottom: 2px;
    width: 100%;
}

.tlb_chip_gradient {
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    color: #fff;
    padding: 4px 8px;
    border-radius: 6px;
    background: linear-gradient(135deg, #962de3, #5e33fa);
    white-space: nowrap;
}

.tlb_q_detail_text {
    font-size: var(--tlb-fs-caption);
    color: #999;
    min-width: 0;
    white-space: normal;
}

.tlb_page_num {
    font-size: 72px;
    font-weight: 800;
    color: #fff;
    line-height: var(--tlb-lh-none);
}

/* 5. STATS GRID (Restored) */
.tlb_stats_grid_wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    box-sizing: border-box;
}

.tlb_stat_card_unit {
    background-color: #1a1a1a;
    border: 1px solid #2d2d2d;
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    min-height: 180px;
    min-width: 0;
    position: relative;
    box-sizing: border-box;
}

.tlb_stat_header {
    font-size: var(--tlb-fs-meta);
    color: #888;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tlb_stat_content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    flex: 1;
}

/* 5. TOC Enhanced */
.tlb_toc_clean_wrapper {
    width: 100%;
    text-align: left;
    border-top: 1px solid #333;
    padding-top: 40px;
    padding-bottom: 40px;
}

.tlb_toc_head_title {
    font-family: var(--tlb-font-head);
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 30px;
}

/* Author Section Title Modifier */
.tlb_toc_head_title.author_mode {
    align-self: flex-start;
    margin-bottom: 8px;
    /* Reduced margin */
}

.tlb_toc_list_clean {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tlb_toc_item_clean {
    display: flex;
    align-items: flex-start;
    padding: 24px 0;
    border-bottom: 1px solid #222;
}

.tlb_toc_idx_clean {
    color: #555;
    font-size: 28px;
    font-weight: 900;
    width: 60px;
    margin-right: 20px;
    line-height: var(--tlb-lh-none);
}

.tlb_toc_content_col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tlb_toc_main_title {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
}

.tlb_toc_sub_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tlb_toc_sub_item {
    font-size: var(--tlb-fs-small);
    color: #bbb;
    position: relative;
    padding-left: 14px;
    line-height: var(--tlb-lh-head);
}

.tlb_toc_sub_item::before {
    content: '-';
    position: absolute;
    left: 0;
    top: 0;
    color: #666;
}

.tlb_toc_desc_text {
    font-size: var(--tlb-fs-small);
    color: #777;
    line-height: var(--tlb-lh-ui);
    margin-top: 4px;
}

/* 6. Author Section */
.tlb_author_box {
    width: 100%;
    position: relative;
    background-color: #1a1a1a;
    border-radius: 20px;
    padding: 40px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    overflow: hidden;
    border: 1px solid #2d2d2d;
    margin-top: 0;
    /* NO GAP */
    box-sizing: border-box;
    /* Ensure padding doesn't affect total width calculation destructively */
}

.tlb_author_bg_logo {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 240px !important;
    max-width: none !important;
    height: auto !important;
    opacity: 0.05 !important;
    pointer-events: none !important;
    z-index: 0 !important;
    margin: 0 !important;
    border: none !important;
    display: block !important;
}

.tlb_author_content_wrapper {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    width: 100%;
    position: relative;
    z-index: 1;
}

.tlb_author_img_crop {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid #333;
}

.tlb_author_photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tlb_author_text_col {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tlb_author_label {
    font-size: var(--tlb-fs-caption);
    color: #962de3;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
}

.tlb_author_name {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
}

.tlb_author_desc {
    font-size: var(--tlb-fs-body);
    color: #ccc;
    line-height: var(--tlb-lh-compact);
}

/* Responsive */
@media (max-width: 768px) {
    .tlb_common_container {
        padding: 0 20px;
        /* Restore mobile padding */
    }

    /* Header Reductions (Mobile) */
    .tlb_header_badge {
        font-size: var(--tlb-fs-micro);
        padding: 4px 10px;
    }

    .tlb_header_title {
        font-size: 40px;
        /* Reduced from 48px (approx 15%) */
    }

    .tlb_product_title_main,
    .tlb_product_subtitle_main {
        font-size: 30px;
        /* Reduced from 36px (approx 15%) */
    }

    .tlb_visual_area_center {
        width: 100%;
    }

    .tlb_desc_text {
        font-size: var(--tlb-fs-read);
    }

    .tlb_stats_grid_wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .tlb_stat_card_unit {
        min-height: auto;
        padding: 30px;
    }

    .tlb_toc_idx_clean {
        font-size: 24px;
        width: 45px;
        margin-right: 15px;
    }

    /* Author Section Mobile */
    .tlb_author_box {
        width: 100%;
        /* Full width on mobile */
        padding: 30px;
    }

    .tlb_author_content_wrapper {
        flex-direction: column;
        align-items: center;
        /* Image centered */
        text-align: left;
        /* Text left aligned */
        gap: 24px;
    }

    .tlb_author_text_col {
        width: 100%;
        text-align: left;
    }

    .tlb_author_desc {
        font-size: var(--tlb-fs-meta);
        /* Reduced from 16px */
    }

    .tlb_author_text_col .tlb_toc_sub_item {
        font-size: var(--tlb-fs-caption);
        /* Reduced from 15px */
    }

    .tlb_author_bg_logo {
        width: 180px;
        opacity: 0.08;
    }
}

/* 7. Product Info Notice (Legal) - Div Layout */
.tlb_legal_container {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 60px;
    border-top: 2px solid #fff;
    display: flex;
    flex-direction: column;
}

.tlb_legal_row {
    display: flex;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    align-items: stretch;
}

.tlb_legal_label {
    width: 25%;
    background: rgba(255, 255, 255, 0.03);
    padding: 12px 15px;
    font-weight: 600;
    color: #eee;
    font-size: var(--tlb-fs-meta);
    display: flex;
    align-items: center;
}

.tlb_legal_value {
    width: 75%;
    padding: 12px 15px;
    color: #ddd;
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-ui);
    display: flex;
    align-items: center;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .tlb_legal_row {
        flex-direction: column;
        align-items: flex-start;
        padding-bottom: 15px;
        padding-top: 10px;
    }

    .tlb_legal_label {
        width: 100%;
        background: transparent;
        padding: 5px 0;
        color: #aaa;
        font-size: var(--tlb-fs-micro);
        margin-bottom: 2px;
        align-items: flex-end;
        /* Align bottom like a label */
    }

    .tlb_legal_value {
        width: 100%;
        padding: 0;
        font-size: var(--tlb-fs-meta);
        display: block;
    }
}

/* ================================================================
   8-NEW. Top Section — Product Type + Sample + Notice (v3)
   ================================================================ */
.tlb_top_section {
    width: 100%;
    position: relative;
    padding: 48px 0 44px;
    background: #0c0c0c;
    overflow: hidden;
    font-family: var(--tlb-font-body);
    color: #fff;
}

.tlb_top_bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0.02) 0%, transparent 100%);
    pointer-events: none;
}

.tlb_top_inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

/* --- 타입 표시 --- */
.tlb_top_type {
    display: inline-block;
    font-family: var(--tlb-font-body);
    font-size: 32px;
    font-weight: 800;
    color: #fff;
    letter-spacing: var(--tlb-ls-head);
    margin: 0 0 16px;
}

/* --- 설명 --- */
.tlb_top_desc {
    font-size: var(--tlb-fs-small);
    color: rgba(255, 255, 255, 0.5);
    line-height: var(--tlb-lh-text);
    margin: 0 0 28px;
}

/* --- 샘플 다운로드 버튼 --- */
.tlb_top_sample_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 28px;
    background: #fff;
    border: none;
    border-radius: 8px;
    color: #111;
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s;
}

.tlb_top_sample_btn svg {
    fill: #111;
    opacity: 0.5;
}

.tlb_top_sample_btn:hover {
    background: #e4e4e4;
}

/* --- 구매 안내 --- */
.tlb_top_notice_list {
    list-style: none;
    padding: 0;
    margin: 32px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tlb_top_notice_list li {
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-compact);
    color: rgba(255, 255, 255, 0.28);
    padding-left: 12px;
    position: relative;
}

.tlb_top_notice_list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: rgba(255, 255, 255, 0.15);
}

/* --- Mobile --- */
@media (max-width: 600px) {
    .tlb_top_section {
        padding: 36px 0 32px;
    }

    .tlb_top_type {
        font-size: 26px;
    }

    .tlb_top_desc {
        font-size: var(--tlb-fs-meta);
        margin-bottom: 24px;
    }

    .tlb_top_sample_btn {
        width: 100%;
        justify-content: center;
    }

    .tlb_top_notice_list {
        margin-top: 24px;
        padding-top: 16px;
    }

    .tlb_top_notice_list li {
        font-size: var(--tlb-fs-micro);
    }
}

/* ================================================================
   8-OLD. Unified Section (기존 lb_ 페이지 호환 유지)
   ================================================================ */
.tlb_unified_section {
    width: 100%;
    padding: 48px 0 40px;
    position: relative;
    background-color: #0a0a0a;
    overflow: hidden;
    color: #fff;
    font-family: var(--tlb-font-body);
}

.tlb_unified_content {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 2;
}

.tlb_concept_bg {
    position: absolute;
    top: -60%;
    left: 50%;
    transform: translateX(-50%);
    width: 160%;
    height: 220%;
    opacity: 0.04;
    z-index: 1;
    background: radial-gradient(ellipse at center, var(--core-color, #4A86E8), transparent 60%);
    pointer-events: none;
}

/* --- Type Header: 크고 임팩트 있게 --- */
.tlb_unified_header {
    font-family: var(--tlb-font-head);
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 12px;
    line-height: var(--tlb-lh-title);
    letter-spacing: var(--tlb-ls-head);
}

.tlb_header_prefix {
    display: block;
    color: rgba(255, 255, 255, 0.4);
    font-weight: 400;
    font-size: var(--tlb-fs-body);
    letter-spacing: 0;
    margin-bottom: 8px;
}

.tlb_header_main {
    color: #fff;
}

.tlb_concept_badge {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 6px;
    background: var(--core-color, #4A86E8);
    color: #fff;
    font-family: var(--tlb-font-head);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.02em;
    vertical-align: baseline;
}

/* --- Description: 컴팩트 --- */
.tlb_unified_desc {
    font-size: var(--tlb-fs-small);
    color: rgba(255, 255, 255, 0.45);
    line-height: var(--tlb-lh-compact);
    margin-bottom: 24px;
    margin-top: 0;
}

.tlb_unified_desc strong {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
}

/* --- Sample Download: 한 줄, 컴팩트 --- */
.tlb_nested_sample {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 0;
    box-sizing: border-box;
}

.tlb_nested_sample:hover .tlb_sample_btn {
    background-color: #e8e8e8;
}

.tlb_nested_info {
    display: flex;
    align-items: center;
    gap: 6px;
}

.tlb_nested_title {
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-fs-small);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.tlb_nested_icon {
    font-size: var(--tlb-fs-body);
    opacity: 0.7;
}

.tlb_nested_sub {
    display: none;
}

.tlb_sample_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 38px;
    padding: 0 20px;
    background: #fff;
    color: #0a0a0a;
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.2s ease;
    flex-shrink: 0;
}

.tlb_sample_btn svg {
    width: 14px;
    height: 14px;
    fill: #0a0a0a;
}

.tlb_sample_btn:hover {
    background-color: #e8e8e8;
}

/* --- Purchase Notice: 인라인, 극도로 절제 --- */
.tlb_nested_notice {
    width: 100%;
    padding: 20px 0 0;
    box-sizing: border-box;
    margin-top: 20px;
}

.tlb_notice_header_row {
    display: none;
}

.tlb_notice_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 16px;
}

.tlb_notice_list li {
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-ui);
    color: rgba(255, 255, 255, 0.25);
    display: inline;
}

.tlb_notice_list li::before {
    content: '·';
    margin-right: 4px;
    color: rgba(255, 255, 255, 0.15);
}

/* --- Mobile --- */
@media (max-width: 600px) {
    .tlb_unified_section {
        padding: 36px 0 32px;
    }

    .tlb_unified_header {
        font-size: 28px;
    }

    .tlb_header_prefix {
        font-size: var(--tlb-fs-meta);
    }

    .tlb_concept_badge {
        font-size: var(--tlb-fs-read);
        padding: 5px 14px;
    }

    .tlb_unified_desc {
        font-size: var(--tlb-fs-meta);
        margin-bottom: 20px;
    }

    .tlb_nested_sample {
        flex-direction: column;
        gap: 12px;
    }

    .tlb_sample_btn {
        width: 100%;
        height: 42px;
        font-size: var(--tlb-fs-meta);
    }

    .tlb_notice_list {
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }
}

/* 9. Lecture Section Refined */
.tlb_lecture_wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* Ensures left alignment */
    margin-top: 60px;
}

.tlb_lecture_intro {
    font-size: var(--tlb-fs-body);
    color: #bbb;
    line-height: var(--tlb-lh-compact);
    margin-bottom: 40px;
    margin-top: 10px;
    /* Increased spacing from header */
    max-width: 100%;
    text-align: left;
    word-break: keep-all;
    /* Optimization for Korean text wrapping */
}

.tlb_lecture_list {
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0 0 60px 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.tlb_lecture_item {
    display: flex;
    align-items: center;
    background-color: #1a1a1a;
    /* Dark card bg */
    border: 1px solid #2d2d2d;
    border-radius: 12px;
    padding: 20px 25px;
    transition: transform 0.2s, border-color 0.2s;
}

/* 10. Review Assurance Section */
.tlb_review_section {
    width: 100%;
    position: relative;
    overflow: hidden;
    background-color: #000;
    font-family: var(--tlb-font-body);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 60px 0;
    min-height: 600px;
    box-sizing: border-box;
    text-align: center;
}

.tlb_review_bg_layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('https://tlb-assets.pages.dev/images/review_assurance/img_review_bg.jpg');
    background-size: cover;
    background-position: center 30%;
    background-repeat: no-repeat;
    opacity: 1.0;
    z-index: 1;
}

/* Gradient overlay */
.tlb_review_bg_layer::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 2;
}

.tlb_review_content_container {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 95%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin-top: 180px;
}

/* RE MOVED MODEL WRAPPER STYLES */

.tlb_review_text_group {
    position: relative;
    z-index: 5;
    text-align: center;
    width: 100%;
}

.tlb_review_sub_header {
    font-size: 1.2rem;
    font-weight: 700;
    color: #e0e0e0;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
    font-family: var(--tlb-font-body);
}

.tlb_review_main_header {
    font-size: 12vw;
    font-weight: 300;
    color: #fff;
    margin: 0 0 20px 0;
    line-height: var(--tlb-lh-none);
    letter-spacing: var(--tlb-ls-head);
    width: 100%;
    font-family: var(--tlb-font-head) !important;
}

/* Responsive Font Sizing Desktop */
@media (min-width: 1200px) {
    .tlb_review_main_header {
        font-size: 4.5vw;
        /* Aggressive reduction to 4.5vw */
        white-space: nowrap;
    }
}

.tlb_highlight_bold {
    font-weight: 700;
    font-family: var(--tlb-font-head) !important;
}

/* Mobile Break Control */
.tlb_mo_only {
    display: none;
}

.tlb_review_desc_body {
    margin-top: 30px;
    margin-bottom: 30px;
}

.tlb_review_desc_body p {
    font-size: 20px;
    color: #d0d0d0;
    margin: 4px 0;
    line-height: var(--tlb-lh-ui);
    letter-spacing: -0.5px;
    font-family: var(--tlb-font-body);
}

/* Animation Keyframes */
@keyframes tlbFadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Apply Animation - JS가 활성화하면 숨겼다가 애니메이션, 없으면 그냥 보임 */
.tlb_review_section.tlb_anim_ready .tlb_review_sub_header,
.tlb_review_section.tlb_anim_ready .tlb_review_main_header,
.tlb_review_section.tlb_anim_ready .tlb_review_desc_body,
.tlb_review_section.tlb_anim_ready .tlb_review_logo,
.tlb_review_section.tlb_anim_ready .tlb_review_footer_note {
    opacity: 0;
    /* JS가 tlb_anim_ready를 붙인 후에만 숨김 — JS 없으면 기본 보임 */
}

/* Activate Animation when class is added via JS */
.tlb_animate_active .tlb_review_sub_header,
.tlb_animate_active .tlb_review_main_header,
.tlb_animate_active .tlb_review_desc_body,
.tlb_animate_active .tlb_review_logo,
.tlb_animate_active .tlb_review_footer_note {
    animation: tlbFadeInUp 1.0s cubic-bezier(0.215, 0.610, 0.355, 1.000) forwards;
}

/* Standard Delays (Triggered after activation) */
.tlb_animate_active .tlb_review_sub_header {
    animation-delay: 0.2s;
}

.tlb_animate_active .tlb_review_main_header {
    animation-delay: 0.4s;
}

.tlb_animate_active .tlb_review_desc_body {
    animation-delay: 0.6s;
}

.tlb_animate_active .tlb_review_logo {
    animation-delay: 0.8s;
}

.tlb_animate_active .tlb_review_footer_note {
    animation-delay: 1.0s;
}


.tlb_review_logo {
    display: block;
    width: 120px;
    height: auto;
    margin: 0 auto 80px auto;
    opacity: 0.9;
}

.tlb_review_footer_note {
    font-size: var(--tlb-fs-micro);
    color: #777;
    margin-top: 10px;
    font-family: var(--tlb-font-body);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .tlb_review_section {
        padding: 40px 0;
        min-height: 100vw;
        max-height: 600px;
    }

    .tlb_review_bg_layer {
        background-position: center top;
    }

    .tlb_review_content_container {
        margin-top: 100px;
        /* Reduced margin */
    }

    .tlb_mo_only {
        display: block;
        /* Activate mobile line break */
    }

    .tlb_review_sub_header {
        font-size: var(--tlb-fs-caption);
    }

    .tlb_review_main_header {
        font-size: 12vw;
        /* Reduced by ~15% from 14vw */
        margin-bottom: 20px;
        line-height: var(--tlb-lh-none);
        font-weight: 300;
    }

    .tlb_review_desc_body {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .tlb_review_desc_body p {
        font-size: var(--tlb-fs-caption);
        margin: 2px 0;
    }

    .tlb_review_logo {
        width: 90px;
        margin-bottom: 40px;
    }

    .tlb_review_footer_note {
        font-size: 10px;
        white-space: nowrap;
        letter-spacing: -1.0px;
        transform-origin: center top;
        transform: scale(0.95);
        width: 100%;
        overflow: visible;
    }
}


.tlb_lecture_item:hover {
    border-color: #555;
    transform: translateY(-2px);
}

.tlb_lec_idx {
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    color: #888;
    margin-right: 20px;
    min-width: 50px;
    /* Increased for '제1강' */
    white-space: nowrap;
}

.tlb_lec_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tlb_lec_title {
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    color: #fff;
}

.tlb_lec_desc {
    font-size: var(--tlb-fs-meta);
    color: #999;
    text-align: left;
}

.tlb_lec_time_badge {
    background-color: rgba(150, 45, 227, 0.1);
    border: 1px solid rgba(150, 45, 227, 0.3);
    color: #b355ff;
    /* Brand Purple */
    font-weight: 700;
    font-size: var(--tlb-fs-caption);
    padding: 6px 12px;
    border-radius: 6px;
    white-space: nowrap;
    margin-left: 20px;
}

/* Mobile Responsive */
@media (max-width: 600px) {
    .tlb_lecture_item {
        position: relative;
        /* For absolute positioning of badge */
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .tlb_lec_time_badge {
        position: absolute;
        top: 20px;
        /* Match container padding */
        right: 25px;
        /* Match container padding */
        margin: 0;
        background: transparent;
        border: none;
        color: #b355ff;
        /* Keep purple text */
        padding: 0;
        font-size: var(--tlb-fs-meta);
    }

    .tlb_lec_idx {
        margin-bottom: 4px;
    }
}
/* --- Section B: Legacy Product Styles (lb_ prefix — 기존 페이지 호환) --- */
/* ==========================================================================
   LB PRODUCT - 상세페이지 전용 스타일
   The LEET BIBLE Design System - Product Detail Page Styles
   ========================================================================== */

/* ==========================================================================
   Product Detail Styles
   ========================================================================== */

.book-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

.book-title {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin-bottom: 0.5rem !important;
}

.book-subtitle {
  font-size: 1.25rem !important;
  opacity: 0.8 !important;
  margin-bottom: 1rem !important;
}

.book-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  font-size: 0.9375rem !important;
}

.book-meta-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.5rem 1rem !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 0.5rem !important;
}

.book-description {
  font-size: 1.125rem !important;
  line-height: 1.8 !important;
  margin-top: 2rem !important;
}

/* ==========================================================================
   TOC List with Hover Effect
   ========================================================================== */

.toc-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 2rem 0 !important;
}

.toc-item {
  position: relative !important;
  padding: 1.25rem 1.5rem !important;
  margin-bottom: 0.75rem !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 0.75rem !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
}

.toc-item::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 4px !important;
  background: linear-gradient(to bottom, #667eea, #764ba2) !important;
  border-radius: 0.75rem 0 0 0.75rem !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}

.toc-item:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  transform: translateX(8px) !important;
}

.toc-item:hover::before {
  opacity: 1 !important;
}

.toc-number {
  display: inline-block !important;
  width: 2rem !important;
  height: 2rem !important;
  line-height: 2rem !important;
  text-align: center !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 50% !important;
  margin-right: 1rem !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
}

.toc-title {
  font-weight: 600 !important;
  font-size: 1.125rem !important;
}

.toc-description {
  font-size: 0.9375rem !important;
  opacity: 0.7 !important;
  margin-top: 0.5rem !important;
}

/* ==========================================================================
   Outcomes Section
   ========================================================================== */

.outcomes-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 1.5rem !important;
  margin: 2rem 0 !important;
}

.outcome-card {
  position: relative !important;
  padding: 2rem !important;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 1rem !important;
  transition: all 0.3s ease !important;
  overflow: hidden !important;
}

.outcome-card::before {
  content: '' !important;
  position: absolute !important;
  top: -50% !important;
  left: -50% !important;
  width: 200% !important;
  height: 200% !important;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 70%) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  pointer-events: none !important;
}

.outcome-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

.outcome-card:hover::before {
  opacity: 1 !important;
}

.outcome-icon {
  width: 3rem !important;
  height: 3rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 0.75rem !important;
  margin-bottom: 1rem !important;
  font-size: 1.5rem !important;
}

.outcome-title {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.75rem !important;
}

.outcome-description {
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
  opacity: 0.9 !important;
}

/* ==========================================================================
   Keyframe Animations
   ========================================================================== */

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* Animation Utility Classes */
.animate-fadeInUp {
  animation: fadeInUp 0.6s ease-out forwards !important;
}

.animate-fadeInDown {
  animation: fadeInDown 0.6s ease-out forwards !important;
}

.animate-scaleIn {
  animation: scaleIn 0.5s ease-out forwards !important;
}

.animate-slideInLeft {
  animation: slideInLeft 0.7s ease-out forwards !important;
}

.animate-slideInRight {
  animation: slideInRight 0.7s ease-out forwards !important;
}

.animate-float {
  animation: float 3s ease-in-out infinite !important;
}

.animate-pulse {
  animation: pulse 2s ease-in-out infinite !important;
}

/* Animation Delays */
.delay-100 { animation-delay: 100ms !important; }
.delay-200 { animation-delay: 200ms !important; }
.delay-300 { animation-delay: 300ms !important; }
.delay-400 { animation-delay: 400ms !important; }
.delay-500 { animation-delay: 500ms !important; }

/* ==========================================================================
   Responsive Adjustments
   ========================================================================== */

@media (max-width: 768px) {
  .hero-title {
    font-size: 2.5rem !important;
  }

  .hero-subtitle {
    font-size: 1.125rem !important;
  }

  .shadcn-card,
  .card-3d,
  .book-detail {
    padding: 1.5rem !important;
  }

  .book-title {
    font-size: 2rem !important;
  }

  .media-gallery {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  }

  .outcomes-grid {
    grid-template-columns: 1fr !important;
  }

  .toc-item {
    padding: 1rem !important;
  }
}

/* ==========================================================================
   Dark Theme Utilities
   ========================================================================== */

.dark-bg-primary {
  background-color: #0f0f0f !important;
}

.dark-bg-secondary {
  background-color: #1a1a1a !important;
}

.dark-bg-tertiary {
  background-color: #2d2d2d !important;
}

.dark-text-primary {
  color: #ffffff !important;
}

.dark-text-secondary {
  color: rgba(255, 255, 255, 0.8) !important;
}

.dark-text-tertiary {
  color: rgba(255, 255, 255, 0.6) !important;
}

.dark-border {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Glassmorphism Effect */
.glass {
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Gradient Text */
.gradient-text {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Glow Effect */
.glow {
  box-shadow: 0 0 20px rgba(102, 126, 234, 0.3) !important;
}

.glow:hover {
  box-shadow: 0 0 30px rgba(102, 126, 234, 0.5) !important;
}

/* ==========================================================================
   Product Detail Page (.lb_productdetail)
   범용 상품 상세페이지 스타일
   ========================================================================== */

/* Wrapper - 100% 폭, 여백 없음 */
.lb_productdetail {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* Section 기본 */
.lb_productdetail section {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Container (패딩 있는 영역) */
.lb_productdetail .container {
    width: 100%;
    margin: 0 auto;
    padding: 40px 20px;
}

/* ==========================================================================
   Hero Section
   ========================================================================== */

.lb_productdetail .hero {
    background: linear-gradient(135deg, #962de3 0%, #5f17d1 50%, #111111 100%) !important;
    padding: 40px 0 30px !important;
}

.lb_productdetail .shipping {
    background: rgba(26, 26, 26, 0.8) !important;
    border: 1px solid rgba(150, 45, 227, 0.2) !important;
    border-radius: 12px !important;
    backdrop-filter: blur(10px) !important;
    padding: 20px 24px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    transition: all 0.3s ease !important;
}

.lb_productdetail .shipping:hover {
    border-color: rgba(150, 45, 227, 0.5) !important;
    box-shadow: 0 0 30px rgba(150, 45, 227, 0.2) !important;
}

.lb_productdetail .shipping-icon {
    font-size: 2rem !important;
    background: linear-gradient(135deg, #962de3, #c03eff) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.lb_productdetail .shipping-title {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
    color: #f9f9f9 !important;
}

.lb_productdetail .shipping-text {
    color: #d1d5db !important;
    font-size: 1rem !important;
}

/* ==========================================================================
   Sample Section
   ========================================================================== */

.lb_productdetail .sample {
    background: #0a0a0a !important;
    padding: 40px 0 !important;
}

.lb_productdetail .sample-card {
    background: rgba(26, 26, 26, 0.6) !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 16px !important;
    padding: 30px !important;
    transition: all 0.3s ease !important;
}

.lb_productdetail .sample-card:hover {
    background: rgba(26, 26, 26, 0.9) !important;
    border-color: #962de3 !important;
    box-shadow: 0 0 40px rgba(150, 45, 227, 0.2) !important;
}

.lb_productdetail .sample-header {
    display: flex !important;
    align-items: flex-start !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}

.lb_productdetail .sample-icon {
    font-size: 3rem !important;
    background: linear-gradient(135deg, #962de3, #c03eff) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    flex-shrink: 0 !important;
}

.lb_productdetail .sample-title {
    font-size: 1.875rem !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    color: #f9f9f9 !important;
}

.lb_productdetail .sample-desc {
    color: #d1d5db !important;
    line-height: 1.6 !important;
    font-size: 1.125rem !important;
}

/* ==========================================================================
   Media Gallery - 100% 너비, 여백 없음
   ========================================================================== */

.lb_productdetail .media {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.lb_productdetail .gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
}

.lb_productdetail .media-item {
    width: 100% !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb_productdetail .media-item img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.lb_productdetail .video {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: hidden !important;
}

.lb_productdetail .video-wrapper {
    position: relative !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    background: #000 !important;
    width: 100% !important;
}

.lb_productdetail .video-wrapper iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

/* ==========================================================================
   Book Detail Section
   ========================================================================== */

.lb_productdetail .book {
    background: #0a0a0a !important;
    padding: 60px 0 !important;
}

.lb_productdetail .book-header {
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lb_productdetail .book-category {
    display: inline-block !important;
    background: linear-gradient(135deg, #962de3, #c03eff) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 10px !important;
}

.lb_productdetail .book-title {
    font-size: 3rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    background: linear-gradient(135deg, #ffffff 0%, #962de3 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

.lb_productdetail .intro-card {
    background: rgba(26, 26, 26, 0.6) !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 12px !important;
    padding: 30px !important;
    margin-bottom: 40px !important;
}

.lb_productdetail .identity {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #2a2a2a !important;
    margin-bottom: 20px !important;
}

.lb_productdetail .logo {
    width: 60px !important;
    height: auto !important;
}

.lb_productdetail .name-en {
    font-size: 1.875rem !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
    color: #f9f9f9 !important;
}

.lb_productdetail .name-ko {
    color: #d1d5db !important;
    font-size: 1.25rem !important;
}

.lb_productdetail .description p {
    margin-bottom: 14px !important;
    line-height: 1.7 !important;
    color: #e5e7eb !important;
    font-size: 1.125rem !important;
}

/* ==========================================================================
   Specs Grid
   ========================================================================== */

.lb_productdetail .specs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
}

.lb_productdetail .spec-card {
    background: rgba(26, 26, 26, 0.6) !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 12px !important;
    padding: 24px !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.lb_productdetail .spec-number {
    font-size: 3.5rem !important;
    font-weight: 900 !important;
    background: linear-gradient(135deg, #962de3, #c03eff) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    line-height: 1 !important;
    margin-bottom: 6px !important;
}

.lb_productdetail .spec-label {
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    color: #f9f9f9 !important;
    font-size: 1.125rem !important;
}

.lb_productdetail .spec-unit {
    color: #9ca3af !important;
    font-size: 1rem !important;
}

.lb_productdetail .spec-breakdown {
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid #2a2a2a !important;
    text-align: left !important;
}

.lb_productdetail .spec-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.lb_productdetail .badge {
    display: inline-block !important;
    padding: 4px 10px !important;
    background: linear-gradient(135deg, #962de3, #b447ff) !important;
    color: white !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
}

.lb_productdetail .badge-alt {
    background: linear-gradient(135deg, #06b6d4, #0891b2) !important;
}

/* ==========================================================================
   TOC (Table of Contents)
   ========================================================================== */

.lb_productdetail .toc-title {
    font-size: 2.25rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 32px !important;
    color: #f9f9f9 !important;
}

.lb_productdetail .toc-list {
    max-width: 100% !important;
}

.lb_productdetail .toc-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 20px 16px !important;
    border-bottom: 1px solid #2a2a2a !important;
    transition: all 0.3s ease !important;
}

.lb_productdetail .toc-item:hover {
    background: rgba(150, 45, 227, 0.05) !important;
    padding-left: 24px !important;
}

.lb_productdetail .toc-number {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background: linear-gradient(135deg, #962de3, #b447ff) !important;
    color: white !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
}

.lb_productdetail .toc-subtitle {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #f9f9f9 !important;
    margin-bottom: 6px !important;
}

.lb_productdetail .toc-desc {
    color: #d1d5db !important;
    line-height: 1.6 !important;
    font-size: 1rem !important;
}

/* ==========================================================================
   Outcomes Section
   ========================================================================== */

.lb_productdetail .outcomes {
    background: rgba(26, 26, 26, 0.6) !important;
    border: 1px solid #2a2a2a !important;
    padding: 40px 20px !important;
    border-radius: 16px !important;
}

.lb_productdetail .outcome-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.lb_productdetail .outcome-item {
    display: flex !important;
    gap: 12px !important;
    padding: 16px !important;
    background: rgba(26, 26, 26, 0.4) !important;
    border-radius: 8px !important;
    border-left: 3px solid #962de3 !important;
    transition: all 0.3s ease !important;
}

.lb_productdetail .outcome-item:hover {
    transform: translateX(6px) !important;
    background: rgba(150, 45, 227, 0.1) !important;
}

.lb_productdetail .outcome-icon {
    font-size: 1.25rem !important;
    background: linear-gradient(135deg, #962de3, #c03eff) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}

.lb_productdetail .outcome-content p {
    color: #e5e7eb !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

.lb_productdetail .outcome-content strong {
    background: linear-gradient(135deg, #962de3, #c03eff) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-weight: 700 !important;
}

/* ==========================================================================
   Mobile Responsive
   ========================================================================== */

@media (max-width: 768px) {
    .lb_productdetail .container {
        padding: 30px 16px !important;
    }

    .lb_productdetail .book-title {
        font-size: 2rem !important;
    }

    .lb_productdetail .shipping {
        flex-direction: column !important;
        text-align: center !important;
        gap: 10px !important;
    }

    .lb_productdetail .sample-header {
        flex-direction: column !important;
        text-align: center !important;
    }

    .lb_productdetail .identity {
        flex-direction: column !important;
        text-align: center !important;
    }

    .lb_productdetail .specs {
        grid-template-columns: 1fr !important;
    }

    .lb_productdetail .toc-item {
        flex-direction: column !important;
        padding: 16px 12px !important;
    }
}

@media (min-width: 769px) {
    .lb_productdetail .specs {
        grid-template-columns: 1fr 2fr !important;
    }
}

/* ==========================================================================
   FAQ Section - Product Detail Page (Principle Blue Theme)
   ========================================================================== */

.lb_productdetail .lb_faq {
    position: relative !important;
    background: var(--color-background) !important;
    padding: 30px 0 35px 0 !important;
    overflow: hidden !important;
}

/* 다크모드 적용 */
.lb_productdetail .lb_faq[data-theme="dark"] {
    --color-text-title: #f9fafb;
    --color-text-body: #e5e7eb;
    --color-text-light: #9ca3af;
    --color-background: #1a1a1a;
}

/* 그라데이션 배경 - 상단에서 하단으로 */
.lb_productdetail .lb_faq::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 500px !important;
    background: linear-gradient(to bottom,
        rgba(52, 105, 212, 0.25) 0%,
        rgba(74, 134, 232, 0.15) 30%,
        rgba(74, 134, 232, 0.08) 60%,
        transparent 100%
    ) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.lb_productdetail .lb_faq .container {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 var(--section-padding-x) !important;
}

.lb_productdetail .lb_faq .faq_content {
    position: relative !important;
    width: 100% !important;
    margin: 60px auto !important;
}

/* FAQ Header */
.lb_productdetail .lb_faq .faq_header {
    margin-bottom: 48px !important;
}

.lb_productdetail .lb_faq .faq_label_line {
    width: 40px !important;
    height: 6px !important;
    background-color: var(--color-principle) !important;
    margin-bottom: 28px !important;
    display: block !important;
}

.lb_productdetail .lb_faq .faq_label {
    display: block !important;
    font-family: var(--lb-font-family) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.2em !important;
    color: var(--color-principle) !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
}

.lb_productdetail .lb_faq .faq_title {
    font-family: var(--lb-font-family) !important;
    font-size: var(--section-title-size) !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.02em !important;
    color: var(--color-text-title) !important;
    margin: 0 !important;
}

/* FAQ List */
.lb_productdetail .lb_faq .faq_list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* FAQ Item */
.lb_productdetail .lb_faq .faq_item {
    background: rgba(74, 134, 232, 0.05) !important;
    border: 2px solid rgba(74, 134, 232, 0.2) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

.lb_productdetail .lb_faq .faq_item:hover {
    border-color: rgba(74, 134, 232, 0.4) !important;
    background: rgba(74, 134, 232, 0.08) !important;
}

.lb_productdetail .lb_faq .faq_item.active {
    border-color: var(--color-principle) !important;
    background: transparent !important;
}

/* FAQ Question Button */
.lb_productdetail .lb_faq .faq_question {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 20px 24px 20px 0 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    text-align: left !important;
    transition: all 0.3s ease !important;
}

.lb_productdetail .lb_faq .faq_question:hover {
    background: rgba(74, 134, 232, 0.05) !important;
}

.lb_productdetail .lb_faq .faq_q_text {
    font-family: var(--lb-font-family) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: -0.01em !important;
    color: var(--color-text-title) !important;
    flex: 1 !important;
    pointer-events: none !important;
}

/* FAQ Icon - CSS Arrow (아임웹 SVG 제거 문제 해결) */
.lb_productdetail .lb_faq .faq_question::after {
    content: '' !important;
    flex-shrink: 0 !important;
    width: 12px !important;
    height: 12px !important;
    border-right: 2px solid var(--color-principle) !important;
    border-bottom: 2px solid var(--color-principle) !important;
    transform: rotate(45deg) !important;
    transition: transform 0.3s ease !important;
    margin-top: -4px !important;
    pointer-events: none !important;
}

.lb_productdetail .lb_faq .faq_item.active .faq_question::after {
    transform: rotate(-135deg) !important;
    margin-top: 4px !important;
}

/* FAQ Answer */
.lb_productdetail .lb_faq .faq_answer {
    max-height: 0;
    overflow: hidden !important;
    transition: max-height 0.4s ease;
}

.lb_productdetail .lb_faq .faq_item.active .faq_answer {
    border-top: 2px solid rgba(74, 134, 232, 0.2) !important;
}

.lb_productdetail .lb_faq .faq_answer_content {
    padding: 20px 24px 24px 24px !important;
    background: rgba(74, 134, 232, 0.05) !important;
}

.lb_productdetail .lb_faq .faq_answer_content p {
    font-family: var(--lb-font-family) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.75 !important;
    letter-spacing: -0.01em !important;
    color: var(--color-text-body) !important;
    margin: 0 0 16px 0 !important;
}

.lb_productdetail .lb_faq .faq_answer_content p:last-child {
    margin-bottom: 0 !important;
}

/* 반응형 - 모바일 */
@media (max-width: 767px) {
    .lb_productdetail .lb_faq {
        padding: 20px 0 25px 0 !important;
    }

    .lb_productdetail .lb_faq .container {
        padding: 0 var(--section-padding-x-mobile) !important;
    }

    .lb_productdetail .lb_faq .faq_title {
        font-size: var(--section-title-size-mobile) !important;
    }

    .lb_productdetail .lb_faq .faq_header {
        margin-bottom: 32px !important;
    }

    .lb_productdetail .lb_faq .faq_list {
        gap: 12px !important;
    }

    .lb_productdetail .lb_faq .faq_item {
        border-radius: 12px !important;
    }

    .lb_productdetail .lb_faq .faq_question {
        padding: 18px 16px !important;
        gap: 12px !important;
    }

    .lb_productdetail .lb_faq .faq_q_text {
        font-size: 16px !important;
    }

    .lb_productdetail .lb_faq .faq_answer_content {
        padding: 18px 16px 18px 16px !important;
    }

    .lb_productdetail .lb_faq .faq_answer_content p {
        font-size: 15px !important;
        line-height: 1.7 !important;
        margin: 0 0 12px 0 !important;
    }

    .lb_productdetail .lb_faq .faq_answer_content p:last-child {
        margin-bottom: 0 !important;
    }
}


/* --- Section C: Normal Pages (FAQ, 배송, 일반 컴포넌트) --- */
/* ==========================================================================
   LB NORMAL PAGES - 일반 페이지 스타일
   The LEET BIBLE Design System - FAQ, Delivery, and Common Page Components
   ========================================================================== */

/* ==========================================================================
   Section Heading System
   ========================================================================== */

/* Center-aligned heading variant */
.section_header {
    text-align: center;
    margin-bottom: 60px;
}

.section_label {
    display: inline-block;
    font-size: var(--section-label-size);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: var(--section-label-spacing);
}

.section_label.color-principle {
    color: var(--color-principle);
}

.section_label.color-passion {
    color: var(--color-passion);
}

.section_label.color-patience {
    color: var(--color-patience);
}

.section_title {
    font-size: var(--section-title-size);
    font-weight: 700;
    line-height: var(--tlb-lh-tight);
    margin: 0 0 var(--section-subtitle-spacing) 0;
    color: var(--color-text-title);
}

.section_subtitle {
    font-size: var(--section-subtitle-size);
    font-weight: 400;
    line-height: var(--tlb-lh-compact);
    color: var(--color-text-light);
    margin: 0 auto;
}

/* Left-aligned heading variant */
.section_header--left {
    text-align: left;
    margin-bottom: 60px;
}

.section_header--left .section_title {
    margin-left: var(--section-title-offset-left);
}

.section_header--left .section_subtitle {
    margin: 0;
}

/* Mobile styles */
@media (max-width: 767px) {
    .section_header {
        margin-bottom: 40px;
    }

    .section_label {
        font-size: var(--section-label-size-mobile);
        margin-bottom: var(--section-label-spacing-mobile);
    }

    .section_title {
        font-size: var(--section-title-size-mobile);
        margin-bottom: var(--section-subtitle-spacing-mobile);
    }

    .section_subtitle {
        font-size: var(--section-subtitle-size-mobile);
    }

    .section_header--left {
        margin-bottom: 40px;
    }
}
/* ==========================================================================
   Delivery Info Section - CSS Variables 기반
   ========================================================================== */

.lb_delivery_info {
    position: relative;
    background: var(--color-background);
    padding: 100px 0 120px 0;
    overflow: hidden;
}

/* 다크모드 적용 */
.lb_delivery_info[data-theme="dark"] {
    --color-text-title: #f9fafb;
    --color-text-body: #e5e7eb;
    --color-text-light: #9ca3af;
    --color-text-lighter: #6b7280;
    --color-background: #1a1a1a;
    --color-background-dark: #0a0a0a;
    --color-background-card: #2d2d2d;
    --color-background-hover: #333333;
    --color-background-gradient-light: #2a2a2a;
    --color-background-gradient-dark: #1a1a1a;
    --color-border: #404040;
    --color-border-light: #333333;
    --color-border-dark: #4d4d4d;
}

/* 그라데이션 배경 - 하단 중앙에서 연한 보라색 원형으로 */
.lb_delivery_info::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1200px;
    height: 600px;
    background: radial-gradient(
        ellipse at center bottom,
        rgba(150, 45, 227, 0.2) 0%,
        rgba(124, 58, 237, 0.12) 25%,
        rgba(139, 92, 246, 0.06) 45%,
        rgba(139, 92, 246, 0.02) 65%,
        transparent 85%
    );
    pointer-events: none;
    z-index: 0;
}

.lb_delivery_info .container {
    position: relative;
    z-index: 1;
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--section-padding-x);
}

.lb_delivery_info .delivery_content {
    position: relative;
    text-align: left;
    padding: 0;
    max-width: var(--content-max-width);
}

/* 검은색 장식 선 */
.lb_delivery_info .delivery_black_line {
    width: var(--spacing-xl);
    height: 6px;
    background-color: var(--color-text-title);
    margin-bottom: var(--spacing-lg);
    display: block;
}

/* DELIVERY INFO 라벨 */
.lb_delivery_info .delivery_label {
    display: block;
    font-family: var(--lb-font-family);
    font-size: var(--font-size-sm);
    font-weight: 900;
    line-height: var(--tlb-lh-tight);
    letter-spacing: 0.2em;
    color: var(--color-primary);
    text-transform: uppercase;
    margin-bottom: var(--spacing-md);
}

/* 메인 제목 컨테이너 */
.lb_delivery_info .delivery_title {
    font-family: var(--lb-font-family);
    line-height: var(--tlb-lh-none);
    margin: 0 0 var(--spacing-md) 0;
}

/* "본 교재는" */
.lb_delivery_info .title_small {
    display: inline;
    font-size: var(--font-size-2xl);
    font-weight: 500;
    letter-spacing: var(--tlb-ls-head);
    color: var(--color-text-title);
}

/* "실물교재" - 그라데이션 */
.lb_delivery_info .title_large_bold {
    display: inline;
    font-size: var(--section-title-size);
    font-weight: 800;
    letter-spacing: var(--tlb-ls-head);
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 50%, #C4B5FD 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* "입니다." */
.lb_delivery_info .title_large_normal {
    display: inline;
    font-size: var(--section-title-size);
    font-weight: 600;
    letter-spacing: var(--tlb-ls-head);
    color: var(--color-text-title);
}

/* 설명 텍스트 */
.lb_delivery_info .delivery_desc {
    font-family: var(--lb-font-family);
    font-size: var(--font-size-md);
    font-weight: 600;
    line-height: var(--tlb-lh-head);
    letter-spacing: var(--tlb-ls-head);
    color: var(--color-text-title);
    margin: 0 0 4px 0;
}

/* 배송 방법 */
.lb_delivery_info .delivery_method {
    font-family: var(--lb-font-family);
    font-size: var(--font-size-md);
    font-weight: 600;
    line-height: var(--tlb-lh-title);
    letter-spacing: var(--tlb-ls-head);
    color: var(--color-text-light);
    margin: 0 0 var(--spacing-xl) 0;
}

/* 버튼 컨테이너 */
.lb_delivery_info .delivery_buttons {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    align-items: flex-start;
}

/* 버튼 공통 스타일 */
.lb_delivery_info .delivery_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 56px;
    border-radius: 28px;
    font-family: var(--lb-font-family);
    font-size: var(--font-size-base);
    font-weight: 700;
    letter-spacing: var(--tlb-ls-head);
    text-decoration: none;
    transition: var(--lb-transition-base);
    cursor: pointer;
}

/* 보라색 채움 버튼 */
.lb_delivery_info .delivery_btn_primary {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
    color: var(--color-text-white);
    border: none;
    box-shadow: 0 4px 16px rgba(150, 45, 227, 0.3);
}

.lb_delivery_info .delivery_btn_primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(150, 45, 227, 0.4);
}

/* 흰색 아웃라인 버튼 */
.lb_delivery_info .delivery_btn_secondary {
    background: var(--color-background-card);
    color: var(--color-primary);
    border: 2px solid var(--color-primary);
    box-shadow: 0 2px 8px rgba(150, 45, 227, 0.15);
}

.lb_delivery_info .delivery_btn_secondary:hover {
    background: var(--color-primary-transparent);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(150, 45, 227, 0.25);
}

/* 모바일 전용 줄바꿈 */
.mobile-only {
    display: none;
}

/* 반응형 - 모바일 */
@media (max-width: 767px) {
    .lb_delivery_info {
        padding: 80px 0;
    }

    .lb_delivery_info .container {
        padding: 0 var(--section-padding-x-mobile);
    }

    /* 모바일에서 그라데이션 크기 조정 */
    .lb_delivery_info::before {
        width: 800px;
        height: 400px;
        bottom: 0;
    }

    .lb_delivery_info .delivery_content {
        padding: 0;
    }

    .lb_delivery_info .title_small {
        font-size: var(--font-size-lg);
        display: inline;
    }

    .lb_delivery_info .title_large_bold {
        font-size: var(--section-title-size-mobile);
    }

    .lb_delivery_info .title_large_normal {
        font-size: var(--section-title-size-mobile);
    }

    .lb_delivery_info .delivery_desc {
        font-size: var(--tlb-fs-small);
    }

    .lb_delivery_info .delivery_method {
        font-size: var(--font-size-sm);
    }

    .lb_delivery_info .delivery_buttons {
        align-items: center;
    }

    .lb_delivery_info .delivery_btn {
        width: 100%;
        max-width: 100%;
    }

    /* 모바일에서만 줄바꿈 보이기 */
    .mobile-only {
        display: inline;
    }
}

/* ==========================================================================
   Container System - 한국형 이중 컨테이너
   ========================================================================== */

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

.container-text {
    max-width: 860px;
    margin: 0 auto;
}

/* ==========================================================================
   Section Background Utilities - 섹션별 배경
   ========================================================================== */

/* 밝은 배경 */
.section-light {
    background: #ffffff;
    color: var(--color-text-body);
}

/* 어두운 배경 */
.section-dark {
    background: #1a1a1a;
    color: #e5e7eb;
}

.section-dark .section_title,
.section-dark h2,
.section-dark h3 {
    color: #f9fafb;
}

.section-dark .section_subtitle,
.section-dark p {
    color: #e5e7eb;
}

/* 그라데이션 배경 */
.section-gradient-purple {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d1b47 100%);
    color: #e5e7eb;
}

.section-gradient-blue {
    background: linear-gradient(135deg, #f8f9fa 0%, #e8f0ff 100%);
    color: var(--color-text-body);
}

/* 섹션 패딩 */
.section-padding {
    padding: 100px 0;
}

.section-padding-sm {
    padding: 80px 0;
}

.section-padding-lg {
    padding: 120px 0;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .container {
        padding: 0 16px;
    }

    .section-padding {
        padding: 60px 0;
    }

    .section-padding-sm {
        padding: 40px 0;
    }

    .section-padding-lg {
        padding: 80px 0;
    }
}

/* ==========================================================================
   Management Landing Page Components
   ========================================================================== */

/* Intro Card - 범용 카드 컴포넌트 */
.intro-card {
    background: var(--color-background-card);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 32px;
    margin-bottom: 32px;
}

.section-dark .intro-card {
    background: rgba(45, 45, 45, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Outcome List - 체크리스트 스타일 (심플 버전) */
.outcome-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 32px 0;
}

.outcome-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease;
}

.outcome-item:last-child {
    border-bottom: none;
}

.outcome-item:hover {
    padding-left: 8px;
}

.section-dark .outcome-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.outcome-icon {
    flex-shrink: 0;
    font-size: 24px;
    color: var(--color-primary);
    font-weight: 700;
    min-width: 32px;
    text-align: center;
}

.outcome-content {
    flex: 1;
}

.outcome-content p {
    margin: 0;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-compact);
}

/* Spec Cards - 스펙 카드 */
.specs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin: 48px 0;
}

.spec-card {
    background: linear-gradient(135deg, rgba(150, 45, 227, 0.05), rgba(150, 45, 227, 0.1));
    border: 2px solid rgba(150, 45, 227, 0.2);
    border-radius: 16px;
    padding: 32px;
    text-align: center;
    transition: all 0.3s ease;
}

.spec-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(150, 45, 227, 0.15);
}

.spec-label {
    font-size: var(--tlb-fs-lead);
    font-weight: 700;
    color: var(--color-text-title);
    margin-bottom: 8px;
}

.spec-unit {
    font-size: var(--tlb-fs-meta);
    color: var(--color-text-light);
}

/* ==========================================================================
   FAQ Section - 관리반용
   ========================================================================== */

.lb_faq {
    position: relative;
    background: var(--color-background);
    padding: 100px 0;
}

.lb_faq[data-theme="dark"] {
    background: #1a1a1a;
}

.lb_faq .faq_content {
    position: relative;
    width: 100%;
}

.lb_faq .faq_list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.lb_faq .faq_item {
    background: rgba(150, 45, 227, 0.05);
    border: 2px solid rgba(150, 45, 227, 0.2);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.lb_faq .faq_item:hover {
    border-color: rgba(150, 45, 227, 0.4);
}

.lb_faq .faq_item.active {
    border-color: var(--color-primary);
    background: rgba(150, 45, 227, 0.1);
}

.lb_faq .faq_question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--lb-font-family);
}

.lb_faq .faq_question::after {
    content: '+';
    font-size: 24px;
    font-weight: 300;
    color: var(--color-primary);
    transition: transform 0.3s ease;
}

.lb_faq .faq_item.active .faq_question::after {
    transform: rotate(45deg);
}

.lb_faq .faq_q_text {
    font-size: var(--tlb-fs-lead);
    font-weight: 600;
    color: var(--color-text-title);
    flex: 1;
}

.lb_faq .faq_answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.lb_faq .faq_answer_content {
    padding: 0 24px 24px;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-text);
    color: var(--color-text-body);
}

.lb_faq .faq_answer_content p {
    margin-bottom: 16px;
}

.lb_faq .faq_answer_content p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Management Hero Section - 코드잇 스타일
   ========================================================================== */

.management-hero {
    position: relative;
    padding: 80px 0 0 0;
    overflow: hidden;
}

.management-hero__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    min-height: 500px;
}

/* 왼쪽 콘텐츠 */
.management-hero__content {
    z-index: 2;
}

.management-hero__label {
    font-size: var(--tlb-fs-lead);
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 16px;
    letter-spacing: var(--tlb-ls-head);
}

.management-hero__title {
    font-size: 56px;
    font-weight: 800;
    line-height: var(--tlb-lh-tight);
    color: #f9fafb;
    margin: 0 0 40px 0;
    letter-spacing: var(--tlb-ls-head);
}

/* 정보 카드 */
.management-hero__info {
    display: flex;
    align-items: center;
    gap: 0;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.management-hero__info-item {
    flex: 1;
    min-width: 0;
}

.management-hero__info-title {
    font-size: var(--tlb-fs-caption);
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 8px;
}

.management-hero__info-content {
    font-size: var(--tlb-fs-small);
    font-weight: 600;
    color: var(--color-text-title);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.management-hero__badge {
    display: inline-block;
    background: #ff3366;
    color: white;
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 4px;
}

.management-hero__info-separator {
    width: 1px;
    height: 40px;
    background: rgba(0, 0, 0, 0.1);
    margin: 0 16px;
}

/* 오른쪽 그래픽 */
.management-hero__graphics {
    position: relative;
    height: 500px;
    z-index: 1;
}

.management-hero__graphic-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    background: radial-gradient(
        ellipse at center,
        rgba(150, 45, 227, 0.3) 0%,
        rgba(124, 58, 237, 0.2) 30%,
        rgba(139, 92, 246, 0.1) 60%,
        transparent 100%
    );
    border-radius: 50%;
}

.management-hero__graphic-main {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
    background: linear-gradient(135deg, rgba(150, 45, 227, 0.1), rgba(150, 45, 227, 0.05));
    border-radius: 50%;
    border: 2px solid rgba(150, 45, 227, 0.2);
}

.management-hero__lottie {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
}

/* 혜택 배너 */
.management-hero__benefit {
    position: relative;
    background: white;
    margin-top: -1px;
}

.management-hero__benefit::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: radial-gradient(circle at top left, transparent 28px, white 28px);
}

.management-hero__benefit::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: radial-gradient(circle at top right, transparent 28px, white 28px);
}

.management-hero__benefit-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

.management-hero__benefit-content {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 40px;
    align-items: center;
}

.management-hero__benefit-title {
    font-size: 32px;
    font-weight: 800;
    line-height: var(--tlb-lh-title);
    color: var(--color-text-title);
    margin: 0;
}

.management-hero__benefit-items {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
}

.management-hero__benefit-item {
    text-align: center;
    position: relative;
}

.management-hero__benefit-tag {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-primary);
    color: white;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 4px;
    white-space: nowrap;
    z-index: 1;
}

.management-hero__benefit-icon {
    margin-bottom: 12px;
}

.management-hero__benefit-icon svg {
    width: 60px;
    height: 60px;
}

.management-hero__benefit-text {
    font-size: var(--tlb-fs-meta);
    font-weight: 600;
    line-height: var(--tlb-lh-head);
    color: var(--color-text-title);
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .management-hero {
        padding: 60px 0 0 0;
    }

    .management-hero__container {
        grid-template-columns: 1fr;
        gap: 40px;
        min-height: auto;
    }

    .management-hero__title {
        font-size: 36px;
    }

    .management-hero__info {
        flex-direction: column;
        gap: 20px;
        padding: 20px;
    }

    .management-hero__info-separator {
        width: 100%;
        height: 1px;
        margin: 0;
    }

    .management-hero__graphics {
        height: 300px;
    }

    .management-hero__graphic-main {
        width: 280px;
        height: 280px;
    }

    .management-hero__benefit-content {
        grid-template-columns: 1fr;
        gap: 32px;
        text-align: center;
    }

    .management-hero__benefit-title {
        font-size: 24px;
    }

    .management-hero__benefit-items {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .mobile-only {
        display: inline;
    }
}

/* ================================================================
   TC FINAL COURSE (tc_final_course.html 전용 보강)
   tcfd-* 시스템(tlb-landing.css) 위에 깔끔판 v3 디자인을 외부화한 블록.
   모든 셀렉터는 .tcfd-page 안에서만 작동하도록 네임스페이스 강화.
   ================================================================ */

/* HERO */
.tcfd-page .tcfd-hero { min-height: auto; padding: 56px 0 0; }
.tcfd-page .tcfd-hero-top { grid-template-columns: 1fr; justify-items: start; gap: 22px; padding-bottom: 28px; text-align: left; }
.tcfd-page .tcfd-hero-top .tcfd-logo-row { display: flex; align-items: center; gap: 18px; }
.tcfd-page .tcfd-hero-top .tcfd-logo-row img { height: 32px; width: auto; display: block; }
.tcfd-page .tcfd-hero-top .tcfd-logo-row .tcfd-logo-tc { height: 28px; }
.tcfd-page .tcfd-hero-top .tcfd-logo-row .tcfd-logo-divider { width: 1px; height: 22px; background: rgba(255, 248, 237, 0.32); }

.tcfd-page .tcfd-hero-grid { grid-template-columns: 1fr; gap: 30px; min-height: auto; padding: 56px 0 50px; align-items: start; }
.tcfd-page .tcfd-hero-title h1 { font-size: clamp(36px, 5.4vw, 56px); line-height: var(--tlb-lh-tight); letter-spacing: var(--tlb-ls-head); text-align: left; }
.tcfd-page .tcfd-hero-title p { margin-bottom: 18px; }
.tcfd-page .tcfd-brief { padding: 24px 0 0 22px; max-width: 720px; }
.tcfd-page .tcfd-brief strong { font-size: 20px; line-height: var(--tlb-lh-head); }
.tcfd-page .tcfd-brief p { font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-body); }

.tcfd-page .tcfd-hero-strip { grid-template-columns: 1fr; border-left: none; }
.tcfd-page .tcfd-hero-strip span { min-height: auto; padding: 18px 0; border-right: none; border-bottom: 1px solid var(--tcfd-line-light, rgba(255,248,237,0.22)); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-ui); }

/* 섹션 공통 */
.tcfd-page .tcfd-section { padding: 80px 0; }
.tcfd-page .tcfd-section h2 { font-size: var(--tlb-fs-h2); line-height: var(--tlb-lh-title); letter-spacing: -0.015em; }

/* WHAT YOU GET (kit) — 4개 세로 카드 */
.tcfd-page .tcfd-kit-layout { grid-template-columns: 1fr; border-left: 1px solid var(--tcfd-line, rgba(33,22,23,0.18)); }
.tcfd-page .tcfd-kit-layout article { min-height: auto; border-right: 1px solid var(--tcfd-line, rgba(33,22,23,0.18)); padding: 30px 28px; }
.tcfd-page .tcfd-kit-main { grid-row: auto; }
.tcfd-page .tcfd-kit-main h3 { font-size: 22px; line-height: var(--tlb-lh-head); }
.tcfd-page .tcfd-kit-layout h3 { font-size: 19px; line-height: var(--tlb-lh-head); }

/* 정보 표 (리뷰노트 항목, 관리프로그램 장치, 풀셋 모의 점검)
   imweb 부트스트랩 글로벌 룰(.table th{background:#fff!important} 등)을 이기기 위해
   모든 색·배경에 !important 강제 + transparent 배경 명시 */
.tcfd-page .tcfd-info-table { width: 100% !important; border-collapse: collapse !important; margin: 28px 0 0 !important; background: transparent !important; }
.tcfd-page .tcfd-info-table tr,
.tcfd-page .tcfd-info-table tbody,
.tcfd-page .tcfd-info-table thead { background: transparent !important; }
.tcfd-page .tcfd-info-table th,
.tcfd-page .tcfd-info-table td { padding: 18px 18px !important; text-align: left !important; border-bottom: 1px solid var(--tcfd-line, rgba(33,22,23,0.18)) !important; font-size: 16px !important; line-height: 1.65 !important; vertical-align: top !important; background: transparent !important; }
.tcfd-page .tcfd-info-table th { color: #9f111d !important; font-weight: 800 !important; font-size: 14px !important; letter-spacing: -0.01em !important; width: 130px !important; white-space: nowrap !important; }
.tcfd-page .tcfd-info-table td { color: #211617 !important; }
.tcfd-page .tcfd-info-table tr.em td { font-weight: 700 !important; color: #211617 !important; }
.tcfd-page .tcfd-info-table tr.em th { color: #9f111d !important; }

/* 다크 섹션 */
.tcfd-page .tcfd-section.dark { background: var(--tcfd-ink, #211617); color: var(--tcfd-paper, #fff8ed); }
.tcfd-page .tcfd-section.dark h2 { color: var(--tcfd-paper, #fff8ed); }
.tcfd-page .tcfd-section.dark .tcfd-info-table th { color: #ff9aa1 !important; }
.tcfd-page .tcfd-section.dark .tcfd-info-table td { color: rgba(255, 248, 237, 0.85) !important; }
.tcfd-page .tcfd-section.dark .tcfd-info-table th, .tcfd-page .tcfd-section.dark .tcfd-info-table td { border-bottom-color: rgba(255, 248, 237, 0.18) !important; }
.tcfd-page .tcfd-section.dark .tcfd-copy-block p { color: rgba(255, 248, 237, 0.85); }
.tcfd-page .tcfd-section.dark .tcfd-kicker { color: var(--tcfd-red-hot, #e73745); }

/* 본문 단락 */
.tcfd-page .tcfd-copy-block { margin-top: 28px; max-width: 760px; }
.tcfd-page .tcfd-copy-block p { margin: 0 0 18px; font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-read); color: var(--tcfd-ink, #211617); }
.tcfd-page .tcfd-copy-block p:last-child { margin-bottom: 0; }

/* 출처 카드 (언어/추리 각각) */
.tcfd-page .tcfd-source-card { margin-top: 22px; padding: 26px 28px; background: rgba(33, 22, 23, 0.04); border-left: 4px solid var(--tcfd-red, #9f111d); }
.tcfd-page .tcfd-source-card h4 { margin: 0 0 12px; font-size: var(--tlb-fs-read); font-weight: 800; color: var(--tcfd-ink, #211617); letter-spacing: var(--tlb-ls-head); }
.tcfd-page .tcfd-source-card p { margin: 0 0 12px; font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-body); color: var(--tcfd-ink, #211617); }
.tcfd-page .tcfd-source-card p:last-child { margin-bottom: 0; }
.tcfd-page .tcfd-section.dark .tcfd-source-card { background: rgba(255, 248, 237, 0.06); border-left-color: var(--tcfd-red-hot, #e73745); }
.tcfd-page .tcfd-section.dark .tcfd-source-card h4 { color: #fff; }
.tcfd-page .tcfd-section.dark .tcfd-source-card p { color: rgba(255, 248, 237, 0.85); }

/* 한 주 캘린더 — 세로 */
.tcfd-page .tcfd-calendar { grid-template-columns: 1fr; border-left: none; margin-top: 28px; }
.tcfd-page .tcfd-calendar div { min-height: auto; padding: 18px 16px; border-right: none; border-bottom: 1px solid var(--tcfd-line, rgba(33,22,23,0.18)); display: grid; grid-template-columns: 64px 1fr; gap: 18px; align-items: center; }
.tcfd-page .tcfd-calendar b { margin-bottom: 0; font-size: 20px; }
.tcfd-page .tcfd-calendar span { font-size: var(--tlb-fs-body); }

/* 4주 일정 */
.tcfd-page .tcfd-schedule-list { margin-top: 28px; border-top: 2px solid var(--tcfd-ink, #211617); }
.tcfd-page .tcfd-schedule-list .item { display: grid; grid-template-columns: 100px 1fr; gap: 22px; padding: 22px 0; border-bottom: 1px solid var(--tcfd-line, rgba(33,22,23,0.18)); align-items: baseline; }
.tcfd-page .tcfd-schedule-list .item b { font-family: var(--tlb-font-head); font-size: var(--tlb-fs-lead); font-weight: 800; color: var(--tcfd-red, #9f111d); }
.tcfd-page .tcfd-schedule-list .item span { font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-compact); color: var(--tcfd-ink, #211617); }
.tcfd-page .tcfd-schedule-list .item.last span { font-weight: 700; }

/* Target list */
.tcfd-page .tcfd-target-list p { font-size: var(--tlb-fs-lead); padding: 22px 0; line-height: var(--tlb-lh-ui); }

/* FAQ */
.tcfd-page .tcfd-faq summary { font-size: var(--tlb-fs-lead); padding: 22px 0; }

/* 후기 카드 — 길게 + 강조 */
.tcfd-page .tcfd-review-list { margin-top: 36px; display: grid; gap: 20px; }
.tcfd-page .tcfd-review-card { padding: 30px 28px; background: rgba(33, 22, 23, 0.04); border-left: 4px solid var(--tcfd-red, #9f111d); }
.tcfd-page .tcfd-review-card p { margin: 0 0 16px; font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-body); color: var(--tcfd-ink, #211617); }
.tcfd-page .tcfd-review-card p:last-of-type { margin-bottom: 18px; }
.tcfd-page .tcfd-review-card .em { background: rgba(159, 17, 29, 0.1); color: var(--tcfd-red-deep, #53040a); font-weight: 700; padding: 0 3px; border-radius: 2px; }
.tcfd-page .tcfd-review-card cite { font-style: normal; font-size: var(--tlb-fs-meta); color: var(--tcfd-muted, #7a6a63); font-weight: 700; }

/* 마무리 CTA 미세조정 */
.tcfd-page .tcfd-cta { padding: 80px 0; }
.tcfd-page .tcfd-cta h2 { font-size: var(--tlb-fs-h2); }


/* ================================================================
   TC FINAL COURSE FULL (tc_final_course_full.html 전용)
   풀 설득판용 인라인 스타일을 외부화. 깔끔판과 다른 풀판 전용 클래스만.
   모든 셀렉터는 .tcfd-page 안에서만 작동하도록 prefix 강화.
   ================================================================ */
        /* tc_final_course 전용 보강 — 900px 컨텍스트 + 한국식 호흡 */
.tcfd-page .tcfd-page { background: var(--tcfd-paper); }
        /* Hero 한국식 임팩트 */
.tcfd-page .tcfd-page .tcfd-hero { min-height: 760px; padding-top: 56px; }
.tcfd-page .tcfd-page .tcfd-hero-grid { grid-template-columns: 1fr; gap: 32px; align-items: start; min-height: auto; padding: 60px 0 50px; }
.tcfd-page .tcfd-page .tcfd-hero-title h1 {
            font-size: clamp(38px, 5.6vw, 60px);
            line-height: var(--tlb-lh-tight);
            letter-spacing: var(--tlb-ls-head);
            font-weight: 800;
        }
.tcfd-page .tcfd-page .tcfd-hero-title h1 .tcfd-accent { color: var(--tcfd-red-hot); }
.tcfd-page .tcfd-page .tcfd-hero-title h1 .tcfd-d-day { color: var(--tcfd-red-hot); font-weight: 800; }
.tcfd-page .tcfd-page .tcfd-hero-title h1 .tcfd-quiet { color: rgba(255, 248, 237, 0.62); font-weight: 600; }
.tcfd-page .tcfd-page .tcfd-brief { padding: 28px 0 0 26px; max-width: 720px; }
.tcfd-page .tcfd-page .tcfd-brief strong { font-size: 22px; line-height: var(--tlb-lh-title); }
.tcfd-page .tcfd-page .tcfd-brief p { font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-body); }
.tcfd-page .tcfd-page .tcfd-hero-strip span { font-size: var(--tlb-fs-meta); min-height: 88px; padding: 18px 14px; line-height: var(--tlb-lh-head); }
        /* 공통 섹션 헤드 */
.tcfd-page .tcfd-page .tcfd-section { padding: 100px 0; }
.tcfd-page .tcfd-page .tcfd-section h2 {
            font-size: var(--tlb-fs-title);
            line-height: var(--tlb-lh-tight);
            letter-spacing: -0.015em;
            font-weight: 800;
        }
.tcfd-page .tcfd-page .tcfd-section h2 .tcfd-accent { color: var(--tcfd-red); }
.tcfd-page .tcfd-page .tcfd-kicker { font-size: var(--tlb-fs-caption); letter-spacing: 0.18em; }
        /* 다크 섹션 (LEET 본질, 약속) */
.tcfd-page .tcfd-sec-dark { background: linear-gradient(180deg, #0d0506 0%, #1a0608 100%); color: var(--tcfd-paper); }
.tcfd-page .tcfd-sec-dark h2 { color: var(--tcfd-paper); }
.tcfd-page .tcfd-sec-dark .tcfd-kicker { color: var(--tcfd-red-hot); }
.tcfd-page .tcfd-sec-dark p { color: rgba(255, 248, 237, 0.78); }
        /* 빨강 임팩트 섹션 */
.tcfd-page .tcfd-sec-red { background: var(--tcfd-red-deep); color: var(--tcfd-paper); }
.tcfd-page .tcfd-sec-red h2 { color: var(--tcfd-paper); }
.tcfd-page .tcfd-sec-red .tcfd-kicker { color: rgba(255, 248, 237, 0.62); }
.tcfd-page .tcfd-sec-red p { color: rgba(255, 248, 237, 0.84); }
        /* 본문 카피 단락 */
.tcfd-page .tcfd-copy-block p { font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-read); color: var(--tcfd-ink); margin: 0 0 18px; }
.tcfd-page .tcfd-sec-dark .tcfd-copy-block p, .tcfd-sec-red .tcfd-copy-block p { color: rgba(255, 248, 237, 0.82); }
.tcfd-page .tcfd-copy-lead { font-size: 19px !important; line-height: 1.86 !important; color: var(--tcfd-muted) !important; }
        /* 인용 강조 블록 (한국식 큰 슬로건) */
.tcfd-page .tcfd-pull-quote { margin: 56px 0 0; padding: 40px 0 0; border-top: 2px solid var(--tcfd-ink); }
.tcfd-page .tcfd-pull-quote p { font-size: clamp(24px, 3.6vw, 36px); line-height: var(--tlb-lh-head); font-weight: 800; color: var(--tcfd-ink); margin: 0; letter-spacing: -0.015em; }
.tcfd-page .tcfd-sec-dark .tcfd-pull-quote, .tcfd-sec-red .tcfd-pull-quote { border-top-color: rgba(255, 248, 237, 0.42); }
.tcfd-page .tcfd-sec-dark .tcfd-pull-quote p, .tcfd-sec-red .tcfd-pull-quote p { color: var(--tcfd-paper); }
.tcfd-page .tcfd-pull-quote .tcfd-accent { color: var(--tcfd-red-hot); }
        /* 4가지 어려움 보드 */
.tcfd-page .tcfd-pain-list { margin-top: 56px; border-top: 2px solid var(--tcfd-ink); }
.tcfd-page .tcfd-pain-list .tcfd-pain {
            padding: 36px 0;
            border-bottom: 1px solid rgba(33, 22, 23, 0.18);
        }
.tcfd-page .tcfd-pain b { display: block; color: var(--tcfd-red); font-size: var(--tlb-fs-caption); font-weight: 900; letter-spacing: 0.2em; margin-bottom: 14px; }
.tcfd-page .tcfd-pain h3 { margin: 0 0 14px; font-size: var(--tlb-fs-h4); line-height: var(--tlb-lh-title); font-weight: 800; color: var(--tcfd-ink); letter-spacing: var(--tlb-ls-head); }
.tcfd-page .tcfd-pain p { margin: 0; color: var(--tcfd-muted); font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-body); }
.tcfd-page .tcfd-pain p + p { margin-top: 8px; }
        /* POINT 섹션 */
.tcfd-page .tcfd-point-section { padding: 100px 0; }
.tcfd-page .tcfd-point-section.alt { background: var(--tcfd-cream); }
.tcfd-page .tcfd-point-section.alt-dark { background: var(--tcfd-ink); color: var(--tcfd-paper); }
.tcfd-page .tcfd-point-section.alt-dark h2 { color: var(--tcfd-paper); }
.tcfd-page .tcfd-point-section.alt-dark p { color: rgba(255, 248, 237, 0.8); }
.tcfd-page .tcfd-point-tag {
            display: inline-block;
            padding: 8px 18px;
            background: var(--tcfd-red);
            color: #fff;
            font-size: var(--tlb-fs-caption);
            font-weight: 800;
            letter-spacing: 0.22em;
            font-family: var(--tlb-font-head);
            margin-bottom: 28px;
        }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-point-tag { background: var(--tcfd-red-hot); }
.tcfd-page .tcfd-point-headline {
            font-size: var(--tlb-fs-h2);
            line-height: var(--tlb-lh-tight);
            font-weight: 800;
            color: var(--tcfd-ink);
            letter-spacing: -0.015em;
            margin: 0 0 36px;
        }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-point-headline { color: var(--tcfd-paper); }
.tcfd-page .tcfd-point-headline .tcfd-accent { color: var(--tcfd-red); }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-point-headline .tcfd-accent { color: var(--tcfd-red-hot); }
        /* 출처 인포그래픽 카드 */
.tcfd-page .tcfd-source-card {
            margin-top: 32px;
            padding: 28px;
            border: 2px solid var(--tcfd-ink);
            background: rgba(255, 248, 237, 0.6);
        }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-source-card {
            border-color: rgba(255, 248, 237, 0.32);
            background: rgba(255, 248, 237, 0.06);
        }
.tcfd-page .tcfd-source-card h4 {
            margin: 0 0 12px;
            font-size: var(--tlb-fs-body);
            font-weight: 800;
            color: var(--tcfd-red);
            letter-spacing: var(--tlb-ls-head);
        }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-source-card h4 { color: var(--tcfd-red-hot); }
.tcfd-page .tcfd-source-card p { margin: 0; font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-body); color: var(--tcfd-ink); }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-source-card p { color: rgba(255, 248, 237, 0.84); }
.tcfd-page .tcfd-source-card p + p { margin-top: 12px; }
        /* 표(점검 항목 등) 톤 */
.tcfd-page .tcfd-info-table { width: 100%; border-collapse: collapse; margin-top: 28px; }
.tcfd-page .tcfd-info-table th, .tcfd-info-table td { padding: 16px 18px; text-align: left; border-bottom: 1px solid rgba(33, 22, 23, 0.18); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-compact); }
.tcfd-page .tcfd-info-table th { color: var(--tcfd-red); font-weight: 800; font-size: var(--tlb-fs-meta); letter-spacing: var(--tlb-ls-head); width: 120px; }
.tcfd-page .tcfd-info-table td { color: var(--tcfd-ink); }
.tcfd-page .tcfd-info-table .tcfd-em { font-weight: 800; color: var(--tcfd-red); }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-info-table th, .tcfd-point-section.alt-dark .tcfd-info-table td { border-bottom-color: rgba(255, 248, 237, 0.18); }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-info-table th { color: var(--tcfd-red-hot); }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-info-table td { color: rgba(255, 248, 237, 0.84); }
.tcfd-page .tcfd-point-section.alt-dark .tcfd-info-table .tcfd-em { color: var(--tcfd-red-hot); }
        /* Weekly + 4주 진행 */
.tcfd-page .tcfd-week-board { margin-top: 48px; border-top: 2px solid var(--tcfd-ink); }
.tcfd-page .tcfd-week-row { display: grid; grid-template-columns: 80px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid rgba(33, 22, 23, 0.16); align-items: center; }
.tcfd-page .tcfd-week-row b { font-family: var(--tlb-font-head); font-size: 22px; font-weight: 800; color: var(--tcfd-ink); }
.tcfd-page .tcfd-week-row.is-solve b { color: var(--tcfd-red); }
.tcfd-page .tcfd-week-row span { font-size: var(--tlb-fs-read); color: var(--tcfd-ink); font-weight: 600; }
.tcfd-page .tcfd-week-row.is-solve { background: rgba(159, 17, 29, 0.06); margin: 0 -16px; padding-left: 16px; padding-right: 16px; border-bottom-color: rgba(159, 17, 29, 0.18); }
.tcfd-page .tcfd-progress-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 56px; }
.tcfd-page .tcfd-progress-cell { padding: 24px 18px; background: var(--tcfd-paper); border: 2px solid var(--tcfd-ink); }
.tcfd-page .tcfd-progress-cell b { display: block; color: var(--tcfd-red); font-size: var(--tlb-fs-caption); font-weight: 800; letter-spacing: 0.16em; margin-bottom: 10px; }
.tcfd-page .tcfd-progress-cell strong { display: block; font-size: 19px; line-height: var(--tlb-lh-head); font-weight: 800; color: var(--tcfd-ink); margin-bottom: 8px; }
.tcfd-page .tcfd-progress-cell p { margin: 0; font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-compact); color: var(--tcfd-muted); }
        /* 추천 대상 */
.tcfd-page .tcfd-recommend-list { margin-top: 48px; counter-reset: tcfd-rec; }
.tcfd-page .tcfd-recommend-list .tcfd-rec {
            counter-increment: tcfd-rec;
            display: grid;
            grid-template-columns: 64px 1fr;
            gap: 18px;
            padding: 28px 0;
            border-top: 1px solid rgba(33, 22, 23, 0.18);
        }
.tcfd-page .tcfd-recommend-list .tcfd-rec:last-child { border-bottom: 1px solid rgba(33, 22, 23, 0.18); }
.tcfd-page .tcfd-recommend-list .tcfd-rec::before {
            content: counter(tcfd-rec, decimal-leading-zero);
            font-family: 'SUITE', 'SUIT', sans-serif;
            font-size: 22px;
            font-weight: 900;
            color: var(--tcfd-red);
        }
.tcfd-page .tcfd-rec-body strong { display: block; font-size: 19px; line-height: var(--tlb-lh-head); font-weight: 800; color: var(--tcfd-ink); margin-bottom: 8px; }
.tcfd-page .tcfd-rec-body p { margin: 0; font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-text); color: var(--tcfd-muted); }
        /* 후기 */
.tcfd-page .tcfd-review-list { margin-top: 48px; display: grid; gap: 22px; }
.tcfd-page .tcfd-review-card { padding: 32px 28px; background: rgba(255, 248, 237, 0.85); border-left: 4px solid var(--tcfd-red); }
.tcfd-page .tcfd-review-card p { margin: 0 0 14px; font-size: 19px; line-height: var(--tlb-lh-compact); font-weight: 600; color: var(--tcfd-ink); }
.tcfd-page .tcfd-review-card cite { font-style: normal; font-size: var(--tlb-fs-meta); color: var(--tcfd-muted); font-weight: 700; }
        /* 마무리 */
.tcfd-page .tcfd-closing { padding: 110px 0; background: linear-gradient(180deg, #1a0608 0%, #0d0506 100%); color: var(--tcfd-paper); }
.tcfd-page .tcfd-closing h2 { color: var(--tcfd-paper); margin-bottom: 50px; }
.tcfd-page .tcfd-closing h2 .tcfd-accent { color: var(--tcfd-red-hot); }
.tcfd-page .tcfd-closing-info { max-width: 680px; }
.tcfd-page .tcfd-closing-info dl { margin: 0; display: grid; grid-template-columns: 140px 1fr; gap: 18px 24px; }
.tcfd-page .tcfd-closing-info dt { color: rgba(255, 248, 237, 0.6); font-size: var(--tlb-fs-meta); font-weight: 800; letter-spacing: var(--tlb-ls-head); padding-top: 4px; }
.tcfd-page .tcfd-closing-info dd { margin: 0; color: var(--tcfd-paper); font-size: var(--tlb-fs-lead); line-height: var(--tlb-lh-compact); font-weight: 600; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 248, 237, 0.18); }
.tcfd-page .tcfd-closing-info dd:last-child { border-bottom: none; }
        /* 모바일 */
        @media (max-width: 720px) {
            .tcfd-page .tcfd-section, .tcfd-point-section { padding: 70px 0; }
            .tcfd-progress-grid { grid-template-columns: 1fr 1fr; }
            .tcfd-closing-info dl { grid-template-columns: 1fr; gap: 6px 0; }
            .tcfd-closing-info dt { padding-top: 16px; }
            .tcfd-closing-info dd { padding-bottom: 16px; }
            .tcfd-pull-quote { margin-top: 36px; padding-top: 28px; }
            .tcfd-recommend-list .tcfd-rec { grid-template-columns: 1fr; gap: 8px; padding: 22px 0; }
        }

/* ================================================================
   PRODUCT DETAIL TOP — 교재 선택 게이트
   source fragment: 02_페이지/common-detail/top_book_route_gate.html
   ================================================================ */
.tlb-book-route-gate {
    width: 100%;
    padding: 22px 0 34px;
    background: #ffffff;
    color: #222222;
    font-family: var(--tlb-font-body);
    box-sizing: border-box;
}

.tlb-book-route-gate *,
.tlb-book-route-gate *::before,
.tlb-book-route-gate *::after {
    box-sizing: border-box;
}

.tlb-book-route-gate a {
    color: inherit;
    text-decoration: none;
}

.tlb-book-route-gate img {
    display: block;
    max-width: 100%;
}

.tlb-book-route-gate__inner {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto;
    border: 1px solid rgba(115, 115, 115, 0.24);
    background: #ffffff;
}

.tlb-book-route-gate__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: end;
    padding: 22px 24px 20px;
    border-bottom: 1px solid rgba(115, 115, 115, 0.24);
}

.tlb-book-route-gate__label {
    margin: 0 0 9px;
    color: #c13b3d;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-tight);
    font-weight: 800;
    letter-spacing: 0;
}

.tlb-book-route-gate__title {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-size: 26px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    letter-spacing: 0;
    color: #222222;
}

.tlb-book-route-gate__copy {
    margin: 8px 0 0;
    max-width: 650px;
    color: #737373;
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    font-weight: 400;
}

.tlb-book-route-gate__note {
    min-width: 146px;
    margin: 0;
    padding: 10px 12px;
    border-left: 2px solid #c13b3d;
    color: #737373;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-ui);
}

.tlb-book-route-gate__routes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tlb-book-route-gate__route {
    position: relative;
    display: flex;
    min-height: 336px;
    overflow: hidden;
    padding: 20px 18px 18px;
    border-right: 1px solid rgba(255, 255, 255, 0.22);
    color: #ffffff !important;
    flex-direction: column;
}

.tlb-book-route-gate__route:last-child {
    border-right: 0;
}

.tlb-book-route-gate__route::before,
.tlb-book-route-gate__route::after {
    content: "";
    position: absolute;
    inset: 0;
}

.tlb-book-route-gate__route::before {
    background-position: center;
    background-size: cover;
    transform: scale(1.02);
}

.tlb-book-route-gate__route::after {
    background: rgba(16, 16, 24, 0.58);
}

.tlb-book-route-gate__route--principle::before {
    background-image: url('../images/book_gate_principle_bg.jpg');
}

.tlb-book-route-gate__route--practice::before {
    background-image: url('../images/book_gate_practice_bg.jpg');
}

.tlb-book-route-gate__route--final::before {
    background-image: url('../images/book_gate_final_bg.jpg');
}

.tlb-book-route-gate__question,
.tlb-book-route-gate__name,
.tlb-book-route-gate__desc,
.tlb-book-route-gate__books,
.tlb-book-route-gate__action {
    position: relative;
    z-index: 1;
}

.tlb-book-route-gate__question {
    display: block;
    margin: 0 0 6px;
    color: rgba(255, 255, 255, 0.72);
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tlb-book-route-gate__name {
    display: block;
    margin: 0;
    font-family: var(--tlb-font-head);
    font-size: 25px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
    letter-spacing: 0;
}

.tlb-book-route-gate__desc {
    display: block;
    min-height: 64px;
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-text);
}

.tlb-book-route-gate__books {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    height: 116px;
    margin: 14px 0 16px;
}

.tlb-book-route-gate__books img {
    width: min(46%, 102px);
    max-height: 116px;
    object-fit: contain;
    filter: drop-shadow(0 12px 15px rgba(0, 0, 0, 0.34));
}

.tlb-book-route-gate__route--practice .tlb-book-route-gate__books img,
.tlb-book-route-gate__route--final .tlb-book-route-gate__books img {
    border: 1px solid rgba(255, 255, 255, 0.16);
}

.tlb-book-route-gate__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 38px;
    margin-top: auto;
    border: 1px solid rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff !important;
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tlb-book-route-gate__route:hover .tlb-book-route-gate__action {
    background: #ffffff;
    color: #1a1a2e !important;
}

@media (max-width: 768px) {
    .tlb-book-route-gate {
        padding: 14px 0 28px;
    }

    .tlb-book-route-gate__inner {
        width: min(100% - 24px, 900px);
    }

    .tlb-book-route-gate__head,
    .tlb-book-route-gate__routes {
        grid-template-columns: 1fr;
    }

    .tlb-book-route-gate__head {
        gap: 12px;
        padding: 18px 16px;
    }

    .tlb-book-route-gate__title {
        font-size: 22px;
    }

    .tlb-book-route-gate__note {
        min-width: 0;
        padding: 9px 10px;
    }

    .tlb-book-route-gate__route {
        min-height: 286px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    }

    .tlb-book-route-gate__route:last-child {
        border-bottom: 0;
    }

    .tlb-book-route-gate__name {
        font-size: 23px;
    }

    .tlb-book-route-gate__desc {
        max-width: 292px;
        min-height: 0;
    }

    .tlb-book-route-gate__books {
        height: 94px;
        justify-content: flex-start;
    }

    .tlb-book-route-gate__books img {
        width: 82px;
        max-height: 94px;
    }
}

/* ===== GOKAE START (.tlb-gk) ===== */
.tlb-gk{ --bg:#141417; --card:#1A1A1F; --card2:#161619; --ink:#F4F3F6; --ink2:#C6C4CE; --muted:#86848F;
 --line:rgba(255,255,255,0.09); --line2:rgba(255,255,255,0.15); --grey:#2A2A30; --pp:#8C73FF;
 background:var(--bg); color:var(--ink); font-family:var(--tlb-font-body); letter-spacing:-0.2px;}
.tlb-gk *{box-sizing:border-box;} .tlb-gk a{color:inherit;text-decoration:none;} .tlb-gk img{display:block;max-width:100%;}
.tlb-gk__wrap{width:min(720px, calc(100% - 44px)); margin:0 auto;}
.tlb-gk__sec{padding:96px 0; border-top:1px solid var(--line);}
.tlb-gk__sec--alt{background:#1B1B22;} .tlb-gk__sec--accent{background:#17141F;}
.tlb-gk__eb{display:flex; align-items:center; gap:11px; margin:0 0 22px; color:var(--muted); font-size:var(--tlb-fs-micro); font-weight:700;}
.tlb-gk__eb::before{content:""; width:24px; height:1px; background:var(--muted);}
.tlb-gk__h{margin:0; font-family:var(--tlb-font-head); font-weight:800; font-size:34px; line-height:var(--tlb-lh-title); letter-spacing:-0.8px; word-break:keep-all;}
.tlb-gk__h--xl{font-size:46px; line-height:var(--tlb-lh-tight);}
.tlb-gk__lead{margin:22px 0 0; color:var(--ink2); font-size:var(--tlb-fs-body); line-height:var(--tlb-lh-body); text-align:var(--tlb-prose-align);text-justify:none; text-align-last:left; word-break:break-all;}
.tlb-gk__lead .tlb-gk__em,.tlb-gk__brand-lead .tlb-gk__em{color:#fff;}
.tlb-gk__cap{margin:15px 0 0; color:var(--muted); font-size:var(--tlb-fs-caption); line-height:var(--tlb-lh-text); text-align:center;}
.tlb-gk__hero{position:relative; overflow:hidden; padding:118px 0 108px; background:#0C0C0E;}
.tlb-gk__hero-bg{position:absolute; inset:0; background-image:url(https://tlb-assets.pages.dev/images/gokae/hero_law.jpg); background-position:center right; background-size:cover; opacity:0.92;}
.tlb-gk__hero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(12,12,14,0.96) 0%, rgba(12,12,14,0.86) 38%, rgba(12,12,14,0.45) 72%, rgba(12,12,14,0.25) 100%);}
.tlb-gk__hero-in{position:relative; z-index:1;}
.tlb-gk__lockup{display:flex; align-items:center; gap:15px; flex-wrap:wrap;}
.tlb-gk__lockup img.ku{height:30px;} .tlb-gk__lockup img.tlb{height:23px;} .tlb-gk__lockup .x{color:var(--muted); font-size:var(--tlb-fs-body);}
.tlb-gk__lockcap{margin:13px 0 0; color:#B9B6C6; font-size:var(--tlb-fs-caption); font-weight:600;}
.tlb-gk__hero-h{margin:44px 0 0; font-family:var(--tlb-font-head); font-weight:800; font-size:clamp(32px,8.5vw,40px); line-height:var(--tlb-lh-title); letter-spacing:-0.9px; word-break:keep-all; max-width:13em;}
.tlb-gk__hero-h .pp{color:var(--pp);}
/* 2026-10-07 고대 관리반(86) 히어로를 h1에서 h2로 낮췄다(페이지 h1은 상품명 하나). 사이트 기본 h1(4em, 모바일 32px)과 같은 크기를 유지한다 */
.doz_sys h2.tlb-gk__hero-h{font-size:4em; line-height:1.2;}
@media (max-width:767px){ .doz_sys h2.tlb-gk__hero-h{font-size:32px;} }
/* 2026-10-07 매거진 페이지 제목 위젯을 div에서 h1로 올렸다. 사이트 기본 h1(4em)이 아니라 역할 클래스(.tlb-t-title) 값을 그대로 쓴다 */
#w20241128c54fb6ba508b4 h1.tlb-t-title{font-size:var(--tlb-fs-title); line-height:var(--tlb-lh-title); font-weight:var(--tlb-fw-heavy); letter-spacing:var(--tlb-ls-head); margin:0;}
.tlb-gk__hero-sub{margin:22px 0 0; color:#D5D3DD; font-size:var(--tlb-fs-body); line-height:var(--tlb-lh-body); word-break:keep-all; max-width:30em;}
.tlb-gk__metas{margin-top:34px; max-width:460px; border-top:1px solid rgba(255,255,255,0.14);}
.tlb-gk__meta{display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.14); font-size:var(--tlb-fs-small);}
.tlb-gk__meta span{color:#9C9AA6;} .tlb-gk__meta b{color:#fff; font-weight:700;}
.tlb-gk__brand{text-align:center;}
.tlb-gk__brand-media{display:flex; flex-direction:column; align-items:center;}
.tlb-gk__brand-logo{display:block !important; height:30px; width:auto; margin:0 auto 26px !important; opacity:0.96;}
.tlb-gk__brand-book{display:block !important; margin:10px auto 0 !important; width:min(280px,64%); filter:drop-shadow(0 30px 44px rgba(0,0,0,0.6));}
.tlb-gk__brand-lead{margin:24px auto 0 !important; max-width:620px; color:var(--ink2); font-size:var(--tlb-fs-body); line-height:var(--tlb-lh-read); text-align:var(--tlb-prose-align);text-justify:none; text-align-last:left; word-break:break-all;}
.tlb-gk__stars{margin:46px 0 0; color:var(--pp); font-size:30px; letter-spacing:4px;}
.tlb-gk__stats{display:flex; align-items:center; justify-content:center; gap:34px; margin:18px 0 0; flex-wrap:wrap;}
.tlb-gk__stat .v{font-family:var(--tlb-font-head); font-size:40px; font-weight:800; line-height:var(--tlb-lh-none); color:var(--ink);}
.tlb-gk__stat .k{margin-top:9px; color:var(--muted); font-size:var(--tlb-fs-micro); font-weight:700;}
.tlb-gk__stats .vline{width:1px; height:46px; background:var(--line2);}
.tlb-gk__feat{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:48px; text-align:left;}
.tlb-gk__feat .m{padding:20px 0 0; border-top:2px solid var(--pp);}
.tlb-gk__feat .mt{margin:0 0 9px; font-size:var(--tlb-fs-body); font-weight:700; color:var(--ink); word-break:keep-all;}
.tlb-gk__feat .md{margin:0; color:var(--muted); font-size:var(--tlb-fs-caption); line-height:var(--tlb-lh-text); word-break:keep-all;}
.tlb-gk__auth{margin:48px auto 0; max-width:600px; padding:26px 28px; border:1px solid var(--grey); border-radius:14px; background:var(--card); text-align:left;}
.tlb-gk__auth-eb{color:var(--pp); font-size:var(--tlb-fs-micro); font-weight:800;}
.tlb-gk__auth-name{margin:8px 0 16px; font-family:var(--tlb-font-head); font-size:21px; font-weight:800; color:var(--ink);}
.tlb-gk__auth-spec{margin:0; padding-left:0; list-style:none; display:grid; gap:10px;}
.tlb-gk__auth-spec li{position:relative; padding-left:17px; color:var(--ink2); font-size:var(--tlb-fs-meta); line-height:var(--tlb-lh-ui);}
.tlb-gk__auth-spec li::before{content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:999px; background:var(--pp);}
.tlb-gk__pship{text-align:center;}
.tlb-gk__pship .co{display:flex; align-items:center; justify-content:center; gap:14px; margin:22px 0 0;}
.tlb-gk__pship .co img.ku{height:30px;} .tlb-gk__pship .co img.tlb{height:23px;} .tlb-gk__pship .co .x{color:var(--muted);}
.tlb-gk__pship .lead{max-width:640px; margin-left:auto; margin-right:auto;}
.tlb-gk__pk{margin-top:36px; display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.tlb-gk__pkc{padding:30px 28px; border:1px solid var(--grey); border-radius:16px; background:var(--card);}
.tlb-gk__pkc--main{border:1.5px solid var(--pp);}
.tlb-gk__pkc .t{color:var(--pp); font-size:var(--tlb-fs-micro); font-weight:800;}
.tlb-gk__pkc .n{margin:10px 0 12px; font-family:var(--tlb-font-head); font-size:20px; font-weight:800; color:var(--ink); line-height:var(--tlb-lh-title);}
.tlb-gk__pkc .d{margin:0; color:var(--muted); font-size:var(--tlb-fs-meta); line-height:var(--tlb-lh-body); word-break:keep-all;}
.tlb-gk__blk{padding:32px 0; border-top:1px solid var(--line);}
.tlb-gk__blk:first-of-type{margin-top:42px;} .tlb-gk__blk:last-of-type{border-bottom:1px solid var(--line);}
.tlb-gk__blk-l{color:var(--pp); font-size:var(--tlb-fs-caption); font-weight:800; display:flex; align-items:center; gap:8px; letter-spacing:0.3px;}
.tlb-gk__blk-badge{background:var(--pp); color:#fff; font-size:10.5px; font-weight:800; padding:3px 8px; border-radius:5px;}
.tlb-gk__blk-t{margin:11px 0 13px; font-size:21px; font-weight:700; line-height:var(--tlb-lh-head); color:var(--ink); word-break:keep-all;}
.tlb-gk__blk-d{margin:0; color:var(--muted); font-size:var(--tlb-fs-small); line-height:var(--tlb-lh-body); text-align:var(--tlb-prose-align);text-justify:none; text-align-last:left; word-break:break-all;}
.tlb-gk__blk-d .tlb-gk__ld{color:#ECEAF2; font-weight:600;} .tlb-gk__em{color:#FFFFFF; font-weight:700;}
.tlb-gk__book{margin-top:16px; border:1px solid var(--grey); border-radius:16px; overflow:hidden; background:var(--card);}
.tlb-gk__book:first-of-type{margin-top:42px;}
.tlb-gk__book-img{width:100%; background:#15151a;}
.tlb-gk__book-body{padding:26px;}
.tlb-gk__book-vol{color:var(--pp); font-size:var(--tlb-fs-micro); font-weight:800;}
.tlb-gk__book-name{margin:9px 0 12px; font-family:var(--tlb-font-head); font-size:20px; font-weight:800; line-height:var(--tlb-lh-head); color:var(--ink);}
.tlb-gk__book-desc{margin:0; color:var(--muted); font-size:var(--tlb-fs-meta); line-height:var(--tlb-lh-body); text-align:var(--tlb-prose-align);text-justify:none; text-align-last:left; word-break:break-all;}
.tlb-gk__book-desc .tlb-gk__ld{color:#ECEAF2; font-weight:600;}
.tlb-gk__book-btn{display:inline-flex; align-items:center; gap:7px; margin-top:20px; padding:13px 22px; border:1px solid var(--grey); border-radius:9px; color:var(--ink); font-size:var(--tlb-fs-meta); font-weight:700; background:var(--card);}
.tlb-gk__book-btn span{color:var(--pp); font-weight:800;}
.tlb-gk__book-link{display:block; margin-top:18px; padding-top:16px; border-top:1px solid var(--grey); color:var(--ink2); font-size:var(--tlb-fs-meta); font-weight:800; text-align:right;}
.tlb-gk__book-link span{color:var(--pp); margin-left:5px;}
.tlb-gk__split{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px;}
.tlb-gk__sp{padding:22px 20px; border:1px solid var(--grey); border-radius:14px; background:var(--card2);}
.tlb-gk__sp-k{color:var(--pp); font-size:var(--tlb-fs-caption); font-weight:800;}
.tlb-gk__sp-v{margin:9px 0 0; font-family:var(--tlb-font-head); font-size:34px; font-weight:800; color:var(--ink);}
.tlb-gk__sp-d{margin:6px 0 0; color:var(--muted); font-size:var(--tlb-fs-caption);}
.tlb-gk__setbox{margin-top:22px; border:1px solid var(--grey); border-radius:14px; background:var(--card2); overflow:hidden;}
.tlb-gk__setrow{display:flex; align-items:baseline; gap:12px; padding:15px 20px;}
.tlb-gk__setrow + .tlb-gk__setrow{border-top:1px solid var(--line);}
.tlb-gk__srk{color:var(--pp); font-size:var(--tlb-fs-caption); font-weight:800; width:62px; flex:none;}
.tlb-gk__srv{font-family:var(--tlb-font-head); font-size:23px; font-weight:800; color:var(--ink);}
.tlb-gk__srd{color:var(--muted); font-size:var(--tlb-fs-meta); margin-left:auto;}
.tlb-gk__tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px;}
.tlb-gk__tag{padding:8px 14px; border:1px solid var(--grey); border-radius:999px; font-size:var(--tlb-fs-caption); color:var(--ink2);}
.tlb-gk__cad{margin-top:16px; color:var(--ink2); font-size:var(--tlb-fs-meta);} .tlb-gk__cad b{color:var(--pp); font-weight:700;}
.tlb-gk__h--mt{margin-top:28px;}
.tlb-gk__mt12{margin-top:12px;}
.tlb-gk__mt18{margin-top:18px;}
.tlb-gk__center{text-align:center;}
.tlb-gk__lead--narrow{max-width:560px; margin-left:auto; margin-right:auto; text-align:center; text-align-last:center;}
.tlb-gk__chip{display:inline-block; margin-top:16px; padding:11px 17px; background:rgba(140,115,255,0.13); border:1px solid rgba(140,115,255,0.32); border-radius:9px; color:#C9B8FF; font-size:var(--tlb-fs-meta); font-weight:700;}
.tlb-gk__chiphd{display:inline-block; background:var(--pp); color:#fff; font-size:var(--tlb-fs-caption); font-weight:800; padding:6px 14px; border-radius:999px; margin-bottom:14px;}
.tlb-gk__core{margin-top:10px;}
.tlb-gk__citem{display:flex; gap:22px; padding:25px 0; border-bottom:1px solid var(--line);}
.tlb-gk__citem:first-child{border-top:1px solid var(--line);}
.tlb-gk__cnum{flex:none; font-family:var(--tlb-font-head); font-size:34px; font-weight:800; line-height:var(--tlb-lh-none); background:linear-gradient(120deg,#FF73B9,#9A6BFF); -webkit-background-clip:text; background-clip:text; color:transparent;}
.tlb-gk__cbody{flex:1;}
.tlb-gk__ct{margin:0; font-size:var(--tlb-fs-read); font-weight:700; color:var(--ink); line-height:var(--tlb-lh-ui); word-break:keep-all;}
.tlb-gk__cd{margin:7px 0 0; font-size:var(--tlb-fs-meta); color:var(--muted); line-height:var(--tlb-lh-compact); word-break:keep-all;}
.tlb-gk__chip b{color:#fff; font-weight:800;}
.tlb-gk__shot{margin:22px 0 0; border:1px solid var(--grey); border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 30px 70px rgba(0,0,0,0.55);}
.tlb-gk__shot-bar{display:flex; gap:7px; padding:12px 15px; background:#F1F0F4; border-bottom:1px solid #E3E1E8;}
.tlb-gk__shot-bar i{width:9px; height:9px; border-radius:999px; background:#CFCDD6;}
.tlb-gk__rev{margin-top:14px; padding:24px; border:1px solid var(--grey); border-radius:14px; background:var(--card2);}
.tlb-gk__rev:first-of-type{margin-top:38px;}
.tlb-gk__rev-q{margin:0; font-size:var(--tlb-fs-small); line-height:var(--tlb-lh-body); color:var(--ink2); word-break:keep-all;}
.tlb-gk__rev-m{margin:15px 0 0; color:var(--muted); font-size:var(--tlb-fs-micro); font-weight:600;} .tlb-gk__rev-m b{color:var(--ink2);}
.tlb-gk__rev-star{color:var(--pp); letter-spacing:1px;}
.tlb-gk__pc{margin-top:14px; position:relative; padding:26px; border:1px solid var(--grey); border-radius:16px; background:var(--card);}
.tlb-gk__pc:first-of-type{margin-top:42px;}
.tlb-gk__pc--best{border:1.5px solid var(--pp); transform:scale(1.025);}
.tlb-gk__pc-badge{position:absolute; top:-12px; left:26px; background:var(--pp); color:#fff; font-size:var(--tlb-fs-micro); font-weight:800; padding:4px 11px; border-radius:999px;}
.tlb-gk__pc-name{margin:0 0 10px; font-family:var(--tlb-font-head); font-weight:800; line-height:var(--tlb-lh-title); color:var(--ink); font-size:var(--tlb-fs-read);}
.tlb-gk__pc-price{margin:0 0 13px; display:flex; align-items:baseline; gap:9px; flex-wrap:wrap;}
.tlb-gk__pc-price s{color:var(--muted); font-size:var(--tlb-fs-meta); font-weight:600;}
.tlb-gk__pc-price b{font-family:var(--tlb-font-head); font-size:29px; font-weight:800; color:var(--ink);}
.tlb-gk__pc-chips{display:flex; flex-wrap:wrap; gap:7px; margin:0 0 13px;}
.tlb-gk__pc-chip{background:rgba(140,115,255,0.13); border:1px solid rgba(140,115,255,0.32); color:#C9B8FF; font-size:var(--tlb-fs-micro); font-weight:800; padding:4px 10px; border-radius:6px;}
.tlb-gk__pc-bonus{display:inline-block; margin:2px 0 14px; padding:8px 15px; border-radius:9px; background:linear-gradient(100deg,#FF73B9 0%,#9A6BFF 100%); color:#fff; font-size:var(--tlb-fs-micro); font-weight:800; letter-spacing:-0.2px; box-shadow:0 5px 16px rgba(154,107,255,0.42);}
.tlb-gk__pc-desc{margin:0; color:var(--muted); font-size:var(--tlb-fs-meta); line-height:var(--tlb-lh-body); word-break:keep-all;}
.tlb-gk__dl{margin-top:26px; display:grid; gap:6px; list-style:none; padding:0;}
.tlb-gk__dl li{position:relative; padding-left:12px; color:var(--muted); font-size:var(--tlb-fs-caption); line-height:var(--tlb-lh-compact); word-break:keep-all;}
.tlb-gk__dl li::before{content:"-"; position:absolute; left:0; top:0; color:var(--pp); font-weight:800;}
.tlb-gk__dl li b{color:var(--ink); font-weight:700;}
.tlb-gk__qa{padding:22px 0; border-top:1px solid var(--line);}
.tlb-gk__qa:first-of-type{margin-top:38px;} .tlb-gk__qa:last-child{border-bottom:1px solid var(--line);}
.tlb-gk__qa h3{margin:0 0 11px; font-size:var(--tlb-fs-body); font-weight:700; color:var(--ink); word-break:keep-all;}
.tlb-gk__qa h3::before{content:"Q "; color:var(--pp); font-weight:800;}
.tlb-gk__qa p{margin:0; color:var(--muted); font-size:var(--tlb-fs-meta); line-height:var(--tlb-lh-body); word-break:keep-all;}
.tlb-gk__end-co{margin-top:36px; padding-top:28px; border-top:1px solid var(--line); display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:center;}
.tlb-gk__end-co img.ku{height:25px;} .tlb-gk__end-co img.tlb{height:19px;} .tlb-gk__end-co .x{color:var(--muted);}
@media (max-width:520px){ .tlb-gk__sec{padding:64px 0;} .tlb-gk__hero{padding:74px 0 64px;} .tlb-gk__h{font-size:27px;} .tlb-gk__h--xl{font-size:33px;} .tlb-gk__pk{grid-template-columns:1fr;} .tlb-gk__feat{grid-template-columns:1fr; gap:0;} .tlb-gk__feat .m{margin-top:14px;} .tlb-gk__stats{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;} .tlb-gk__stats .vline{display:none;} .tlb-gk__stat .v{font-size:26px;} .tlb-gk__stat .k{font-size:var(--tlb-fs-micro);} }
/* ===== GOKAE END ===== */

/* ===== CENTRAL PDP SYSTEM v1 =====
 * Contract: _tools/pdp-studio/pdp-control.json
 * Product variation is controlled by data-pdp-kind and data-pdp-tone.
 */
.tlb-pdp {
    --tlb-pdp-accent: #3569b4;
    --tlb-pdp-accent-soft: #eaf1fb;
    --tlb-pdp-ink: #17191f;
    --tlb-pdp-muted: #656870;
    --tlb-pdp-line: #d8d7d2;
    --tlb-pdp-paper: #f4f1ea;
    --tlb-pdp-white: #ffffff;
    --tlb-pdp-outer: 980px;
    --tlb-pdp-inner: 900px;
    color: var(--tlb-pdp-ink);
    background: var(--tlb-pdp-white);
    font-family: var(--tlb-font-body);
    letter-spacing: 0;
    word-break: keep-all;
    overflow-x: hidden;
}

.tlb-pdp[data-pdp-preview="true"] {
    margin: 0;
}

.tlb-pdp[data-pdp-tone="principle-sang"] {
    --tlb-pdp-accent: #3569b4;
    --tlb-pdp-accent-soft: #eaf1fb;
    --tlb-pdp-paper: #f4f1ea;
}

.tlb-pdp[data-pdp-tone="principle-ha"] {
    --tlb-pdp-accent: #7540a6;
    --tlb-pdp-accent-soft: #f0eaf5;
    --tlb-pdp-paper: #f4f1ea;
}

.tlb-pdp[data-pdp-tone="practice"] {
    --tlb-pdp-accent: #b84f31;
    --tlb-pdp-accent-soft: #f7ebe7;
    --tlb-pdp-paper: #f5f2eb;
}

.tlb-pdp[data-pdp-tone="advanced"] {
    --tlb-pdp-accent: #252b38;
    --tlb-pdp-accent-soft: #e9ebef;
    --tlb-pdp-paper: #f2f1ed;
}

.tlb-pdp[data-pdp-tone="final"] {
    --tlb-pdp-accent: #a52e32;
    --tlb-pdp-accent-soft: #f6e9e9;
    --tlb-pdp-paper: #f3f1ed;
}

.tlb-pdp[data-pdp-tone="reference"] {
    --tlb-pdp-accent: #39734c;
    --tlb-pdp-accent-soft: #e8f1eb;
    --tlb-pdp-paper: #f3f1e9;
}

.tlb-pdp[data-pdp-tone="course"] {
    --tlb-pdp-accent: #1e655b;
    --tlb-pdp-accent-soft: #e6f0ee;
    --tlb-pdp-paper: #f1f2ee;
}

.tlb-pdp[data-pdp-tone="bundle"] {
    --tlb-pdp-accent: #5b4d3f;
    --tlb-pdp-accent-soft: #eeeae5;
    --tlb-pdp-paper: #f3f1ec;
}

.tlb-pdp[data-pdp-tone="basic"] {
    --tlb-pdp-accent: #3d626f;
    --tlb-pdp-accent-soft: #e7eef0;
    --tlb-pdp-paper: #f2f1ed;
}

/* ================================================================
   EXACT 1:1 SLEEPWELLY DESIGN SYSTEM (ref-sleepwelly)
   ================================================================ */
.tlb-pdp[data-pdp-tone="jaso"] {
    --bg: #FFFFFF;
    --alt: #F7F4EE;
    --ink: #1E1F24;
    --sub: #6B6C72;
    --faint: #9C9DA3;
    --navy: #14304D;
    --pt: #2A5CA8;
    --ptSoft: #EAF1FA;
    --line: #EAE6DE;
    
    font-family: var(--tlb-font-body);
    color: var(--ink);
    background: var(--bg);
    margin: 0;
    padding: 0;
    width: 100%;
}

/* Sections */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec {
    padding: 104px 0;
    text-align: center;
    word-break: keep-all;
    background: var(--bg);
    border-bottom: 1px solid var(--line);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--alt {
    background: var(--alt);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--navy {
    background: var(--navy);
    color: #FFFFFF;
    border-bottom: none;
}

.tlb-pdp[data-pdp-tone="jaso"] .tlb-wrap {
    max-width: 880px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}

/* 3-Tier Typography Rhythm */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-over {
    font-family: var(--tlb-font-body);
    font-weight: 700;
    font-size: var(--tlb-fs-caption);
    letter-spacing: .16em;
    color: var(--pt);
    text-transform: uppercase;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--navy .tlb-over {
    color: #C5A059;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-h2 {
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: 32px;
    line-height: var(--tlb-lh-head);
    letter-spacing: var(--tlb-ls-head);
    color: var(--ink);
    margin-top: 16px;
    margin-bottom: 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--navy .tlb-h2 {
    color: #FFFFFF;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-h2 em {
    font-style: normal;
    color: var(--pt);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--navy .tlb-h2 em {
    color: #C5A059;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sub {
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-body);
    color: var(--sub);
    max-width: 640px;
    margin: 20px auto 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--navy .tlb-sub {
    color: rgba(255, 255, 255, 0.8);
}

.tlb-pdp[data-pdp-tone="jaso"] .tlb-pill {
    display: inline-block;
    font-family: var(--tlb-font-body);
    font-weight: 700;
    font-size: var(--tlb-fs-caption);
    letter-spacing: .12em;
    color: var(--pt);
    background: var(--ptSoft);
    border-radius: 999px;
    padding: 9px 20px;
}

/* F02. Hero Box */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-hero-card {
    max-width: 440px;
    margin: 40px auto 0;
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 32px 24px;
    box-shadow: 0 14px 38px rgba(20, 48, 77, 0.10);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-hero-cover {
    background: linear-gradient(135deg, var(--navy) 0%, #1e3a8a 100%);
    color: #FFFFFF;
    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-pdp[data-pdp-tone="jaso"] .tlb-badge-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 10px;
}
.tlb-pdp[data-pdp-tone="jaso"] .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: #FFFFFF;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-badge-big {
    font-family: var(--tlb-font-head);
    font-size: 24px;
    font-weight: 800;
    color: var(--pt);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-badge-big--two {
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-tight);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-badge-cap {
    font-size: var(--tlb-fs-meta);
    color: var(--sub);
}

/* F04. Review Cards */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-rv-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-rv-card {
    background: #FFFFFF;
    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(0,0,0,0.03);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-rv-txt {
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: var(--ink);
    margin-bottom: 16px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-rv-meta b {
    color: var(--pt);
    font-weight: 700;
    display: block;
    font-size: var(--tlb-fs-caption);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-rv-meta span {
    color: var(--faint);
    font-size: var(--tlb-fs-micro);
}

/* F05. Timeline Nodes */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 48px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-node {
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
    text-align: center;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-date {
    display: inline-block;
    background: var(--navy);
    color: #FFFFFF;
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 4px;
    margin-bottom: 12px;
}

/* F06. Speech Bubbles */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bubble-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 44px;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bubble-item {
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 22px 24px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bubble-txt {
    font-size: var(--tlb-fs-small);
    font-weight: 600;
    color: var(--ink);
    line-height: var(--tlb-lh-ui);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pain-box {
    background: var(--navy);
    color: #FFFFFF;
    border-radius: 10px;
    padding: 40px 32px;
    margin-top: 40px;
}

/* F08. Stats Row */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-stats-row {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-top: 20px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-stat-cell {
    padding: 12px 52px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-stat-cell + .tlb-stat-cell {
    border-left: 1px solid var(--line);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-stat-num {
    font-family: var(--tlb-font-head);
    font-size: 40px;
    font-weight: 800;
    color: var(--pt);
    margin-top: 8px;
    display: block;
}

/* Table */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-table {
    width: 100%;
    margin-top: 44px;
    border-collapse: collapse;
    text-align: left;
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-table th,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-table td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
    font-size: var(--tlb-fs-meta);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-table th {
    width: 26%;
    background: #FAF9F5;
    color: var(--navy);
    font-family: var(--tlb-font-head);
    font-weight: 700;
}

/* ============================================================
   Sleepwelly 1:1 Transposition (24 Frames) PDP Tone: jaso
   ============================================================ */
.tlb-pdp[data-pdp-tone="jaso"] {
    --bg: #FFFFFF;
    --alt: #F7F4EE;
    --ink: #1E1F24;
    --sub: #6B6C72;
    --faint: #9C9DA3;
    --navy: #14304D;
    --pt: #2A5CA8;
    --ptSoft: #EAF1FA;
    --line: #EAE6DE;
    --bad: #B3413B;
    --badSoft: #F8ECEA;
    font-family: var(--tlb-font-body);
    color: var(--ink);
    background: var(--bg);
}

.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec {
    padding: 56px 0;
    position: relative;
    background: var(--bg);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--alt {
    background: var(--alt);
}
.tlb-pdp[data-pdp-tone="jaso"] {
    --bg: #F5F4EF;
    --alt: #F5F4EF;
    --ink: #1E1F24;
    --sub: #6B6C72;
    --faint: #9C9DA3;
    --navy: #14304D;
    --pt: #2A5CA8;
    --ptSoft: #EAF1FA;
    --line: #EAE6DE;
    --bad: #B3413B;
    --badSoft: #F8ECEA;
    font-family: var(--tlb-font-body);
    color: var(--ink);
    background: #F5F4EF;
}

/* Sleepwelly Single Paper Canvas (#F5F4EF) Folio System */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-chap {
    padding: 80px 0;
    position: relative;
    background: #F5F4EF;
    border-bottom: 1px solid #EAE6DE;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-chap:last-of-type {
    border-bottom: none;
}

.tlb-pdp[data-pdp-tone="jaso"] .tlb-folio-tag {
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    letter-spacing: 0.16em;
    color: #2A5CA8;
    text-transform: uppercase;
    margin-bottom: 12px;
    display: inline-block;
}

.tlb-pdp[data-pdp-tone="jaso"] .tlb-block {
    margin-bottom: 56px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-block:last-child {
    margin-bottom: 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-block-divider {
    height: 1px;
    background: #EAE6DE;
    margin: 48px auto;
    max-width: 100%;
}

.tlb-pdp[data-pdp-tone="jaso"] .tlb-editorial-p {
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-body);
    color: #3A3B40;
    text-align: left;
    margin: 20px 0 0;
    letter-spacing: var(--tlb-ls-head);
}

.tlb-pdp[data-pdp-tone="jaso"] .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-pdp[data-pdp-tone="jaso"] .tlb-col-1 {
    width: 100%;
    margin: 0 auto;
}

.tlb-pdp[data-pdp-tone="jaso"] .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-pdp[data-pdp-tone="jaso"] .tlb-notice-bar {
    display: inline-block;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 4px;
    padding: 8px 16px;
    font-size: var(--tlb-fs-caption);
    font-weight: 500;
    color: rgba(255,255,255,0.9);
    margin-bottom: 32px;
}

/* 2. Hero Card & Cover */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-hero-card {
    max-width: 440px;
    margin: 36px auto 0;
    background: #FFFFFF;
    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-pdp[data-pdp-tone="jaso"] .tlb-hero-cover {
    background: linear-gradient(135deg, #1E3A8A 0%, #0F172A 100%);
    color: #FFFFFF;
    padding: 36px 24px;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: -8px 12px 24px rgba(0,0,0,0.3);
    position: relative;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-hero-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #C5A059;
    color: #14304D;
    font-size: var(--tlb-fs-micro);
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 3px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-hero-brand {
    font-size: var(--tlb-fs-micro);
    letter-spacing: 0.15em;
    color: #C5A059;
    font-weight: 700;
    margin: 0 0 12px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-hero-main {
    font-family: var(--tlb-font-head);
    font-size: 32px;
    font-weight: 800;
    line-height: var(--tlb-lh-tight);
    color: #FFFFFF;
    margin: 0 0 12px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-hero-author {
    font-size: var(--tlb-fs-caption);
    color: rgba(255,255,255,0.7);
    margin: 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-hero-price {
    font-size: var(--tlb-fs-meta);
    color: #14304D;
    font-weight: 700;
    margin: 0;
}

/* 3. Timeline Nodes */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl {
    margin-top: 36px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-node {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 20px 16px;
    text-align: center;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-dot {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #C5A059;
    margin: 0 auto 10px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-dot--hollow {
    background: transparent;
    border: 2px solid #C5A059;
    box-sizing: border-box;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-date {
    font-family: var(--tlb-font-head);
    font-size: 20px;
    font-weight: 800;
    color: #FFFFFF;
    margin: 0 0 4px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-cap {
    font-size: var(--tlb-fs-caption);
    color: rgba(255,255,255,0.85);
    margin: 0;
}

/* 4. Quotes */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-quote {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    padding: 28px 32px;
    margin-top: 32px;
    text-align: left;
    position: relative;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-quote-mark {
    font-family: Georgia, serif;
    font-size: 48px;
    line-height: var(--tlb-lh-none);
    color: #C5A059;
    display: block;
    margin-bottom: -16px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-quote-txt {
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-text);
    color: rgba(255,255,255,0.92);
    margin: 0 0 12px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-quote-src {
    font-size: var(--tlb-fs-caption);
    color: #C5A059;
    margin: 0;
    font-weight: 600;
}

/* 5. Speech Bubbles */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bubbles {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item {
    max-width: 90%;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item--r {
    align-self: flex-end;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item--l {
    align-self: flex-start;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb {
    background: #FFFFFF;
    border: 1px solid #EAE6DE;
    border-radius: 16px;
    padding: 16px 20px;
    font-size: var(--tlb-fs-small);
    font-weight: 600;
    color: #1E1F24;
    line-height: var(--tlb-lh-ui);
    margin: 0;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item--r .tlb-bb {
    background: #14304D;
    color: #FFFFFF;
    border-color: #14304D;
    border-bottom-right-radius: 4px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item--l .tlb-bb {
    border-bottom-left-radius: 4px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-src {
    font-size: var(--tlb-fs-micro);
    color: #9C9DA3;
    margin: 6px 4px 0;
    text-align: right;
}

/* 6. Consulting Fee Comparison */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fees {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 32px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee {
    background: #FFFFFF;
    border: 1px solid #EAE6DE;
    border-radius: 10px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee-cap {
    font-size: var(--tlb-fs-meta);
    color: #6B6C72;
    margin: 0 0 8px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee-val {
    font-size: var(--tlb-fs-lead);
    color: #1E1F24;
    margin: 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee-val b {
    font-family: var(--tlb-font-head);
    font-size: 36px;
    font-weight: 800;
    color: #B3413B;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cap {
    font-size: var(--tlb-fs-caption);
    color: #9C9DA3;
    margin-top: 12px;
}

/* 7. Author Credentials */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cred {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 32px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cred-item {
    background: #F7F4EE;
    border: 1px solid #EAE6DE;
    border-radius: 8px;
    padding: 20px 16px;
    text-align: center;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cred-item b {
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-lead);
    font-weight: 800;
    color: #14304D;
    display: block;
    margin-bottom: 4px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cred-item span {
    font-size: var(--tlb-fs-caption);
    color: #6B6C72;
}

/* 8. Before & After Document Comparison */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-docs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 32px;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc {
    background: #FFFFFF;
    border: 1px solid #EAE6DE;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc--bad {
    border-top: 4px solid #B3413B;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc--good {
    border-top: 4px solid #2A5CA8;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-tab {
    display: inline-block;
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 14px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc--bad .tlb-ex-tab {
    background: #F8ECEA;
    color: #B3413B;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc--good .tlb-ex-tab {
    background: #EAF1FA;
    color: #2A5CA8;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-body {
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: #1E1F24;
    margin: 0 0 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EAE6DE;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-verdict {
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-compact);
    color: #6B6C72;
    margin: 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-verdict b {
    color: #1E1F24;
}

/* 9. 14 Red-Flag Words Cloud */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 28px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd {
    background: #F8ECEA;
    color: #B3413B;
    border: 1px solid rgba(179,65,59,0.2);
    border-radius: 999px;
    padding: 8px 16px;
    font-size: var(--tlb-fs-meta);
    font-weight: 600;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd--xl {
    font-size: var(--tlb-fs-read);
    font-weight: 800;
    padding: 10px 22px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd--l {
    font-size: var(--tlb-fs-small);
    font-weight: 700;
    padding: 9px 18px;
}

/* 10. 3-Step Process */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 32px;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-step {
    background: #FFFFFF;
    border: 1px solid #EAE6DE;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-step-num {
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    font-weight: 800;
    color: #2A5CA8;
    letter-spacing: 0.1em;
    margin: 0 0 8px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-step-tit {
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-lead);
    font-weight: 800;
    color: #14304D;
    margin: 0 0 8px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-step-desc {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-compact);
    color: #6B6C72;
    margin: 0;
}

/* 11. Interactive Search Test */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search {
    background: #FFFFFF;
    border: 1px solid #EAE6DE;
    border-radius: 12px;
    padding: 28px;
    margin-top: 28px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search-cap {
    font-size: var(--tlb-fs-caption);
    color: #6B6C72;
    margin: 0 0 12px;
    font-weight: 600;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search-bar {
    display: flex;
    border: 2px solid #14304D;
    border-radius: 6px;
    overflow: hidden;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search-q {
    flex: 1;
    padding: 12px 16px;
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    color: #B3413B;
    background: #FAF9F5;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search-btn {
    background: #14304D;
    color: #FFFFFF;
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
    padding: 12px 20px;
}

/* 12. VS Table */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs {
    margin-top: 36px;
    overflow-x: auto;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs table {
    width: 100%;
    border-collapse: collapse;
    background: #FFFFFF;
    border: 1px solid #EAE6DE;
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs th,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs td {
    padding: 16px;
    border-bottom: 1px solid #EAE6DE;
    border-right: 1px solid #EAE6DE;
    font-size: var(--tlb-fs-meta);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs th {
    background: #FAF9F5;
    font-family: var(--tlb-font-head);
    font-weight: 700;
    color: #14304D;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs-label {
    background: #FAF9F5;
    font-weight: 700;
    color: #14304D;
    width: 20%;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs-book {
    background: #EAF1FA;
    font-weight: 700;
    color: #2A5CA8;
}

/* 13. Honest Fit Guide */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 32px;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-card {
    background: #FAF9F5;
    border: 1px solid #EAE6DE;
    border-radius: 10px;
    padding: 24px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-tit {
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-read);
    font-weight: 800;
    color: #14304D;
    margin: 0 0 14px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-card ul {
    margin: 0;
    padding-left: 20px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-card li {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: #4A4C55;
    margin-bottom: 8px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-txt {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: #6B6C72;
    margin: 0;
}

/* 14. FAQ List */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-faq-list {
    margin-top: 36px;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-faq-row {
    background: #FFFFFF;
    border: 1px solid #EAE6DE;
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 12px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-faq-q {
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-body);
    font-weight: 800;
    color: #14304D;
    margin: 0 0 10px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-faq-a {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: #4A4C55;
    margin: 0;
}

/* 15. Closing Order Widget */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-closing-title {
    color: #FFFFFF;
    margin-top: 12px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-closing-list {
    list-style: none;
    padding: 0;
    margin: 28px auto 0;
    max-width: 560px;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-closing-item {
    font-size: var(--tlb-fs-small);
    color: rgba(255,255,255,0.9);
    padding: 10px 0 10px 28px;
    position: relative;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-closing-item::before {
    content: "✓";
    position: absolute;
    left: 4px;
    color: #C5A059;
    font-weight: bold;
}

/* 3-Tier Typography Rhythm */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-overline {
    font-family: var(--tlb-font-head);
    font-weight: 700;
    font-size: var(--tlb-fs-micro);
    letter-spacing: 0.2em;
    color: var(--pt);
    margin: 0 0 10px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-h2 {
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: 34px;
    line-height: var(--tlb-lh-ui);
    letter-spacing: var(--tlb-ls-head);
    color: var(--ink);
    margin: 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-h2 em {
    font-style: normal;
    color: var(--pt);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--navy .tlb-h2 {
    color: #FFFFFF;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--navy .tlb-h2 em {
    color: #C5A059;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-h2--xl {
    font-size: 38px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sub {
    margin: 12px auto 0;
    max-width: 600px;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: #4A4C55;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sec--navy .tlb-sub {
    color: rgba(255,255,255,0.85);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-sub b {
    font-weight: 700;
    color: var(--navy);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-punch {
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: 19px;
    line-height: var(--tlb-lh-compact);
    color: var(--ink);
    margin: 28px 0 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-punch em {
    font-style: normal;
    color: var(--pt);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cap {
    margin: 12px auto 0;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-compact);
    color: var(--faint);
}

/* Timeline (Frame 3) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl {
    max-width: 780px;
    margin: 28px auto 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-row {
    display: flex;
    position: relative;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-row::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 12.5%;
    right: 12.5%;
    height: 2px;
    background: rgba(20,48,77,.22);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-node {
    flex: 1;
    position: relative;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-dot {
    position: relative;
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--navy);
    margin: 0 auto;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-dot--hollow {
    background: var(--alt);
    border: 2px solid var(--navy);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-date {
    margin: 18px 0 0;
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: 22px;
    line-height: var(--tlb-lh-none);
    color: var(--navy);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-cap {
    margin: 8px 0 0;
    font-size: var(--tlb-fs-caption);
    color: var(--sub);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-tl-measure {
    position: relative;
    height: 12px;
    margin-top: 32px;
}
.tlb-pdp[data-pdp-tone="jaso"] .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-pdp[data-pdp-tone="jaso"] .tlb-tl-mlabel {
    margin: 10px 0 0 12.5%;
    width: 50%;
    text-align: center;
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: var(--tlb-fs-read);
    color: var(--pt);
}

/* Big Number Callouts (Frame 4 & 16) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-s3-lead {
    margin: 48px 0 0;
    font-size: var(--tlb-fs-read);
    color: var(--sub);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-s3-big {
    margin: 12px 0 0;
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: 110px;
    line-height: var(--tlb-lh-none);
    letter-spacing: var(--tlb-ls-head);
    color: var(--pt);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-s3-big span {
    font-size: 0.5em;
}

/* Quote Box (Frame 5) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-quote {
    max-width: 640px;
    margin: 44px auto 0;
    background: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(30,40,60,.08);
    padding: 40px 40px 32px;
    text-align: center;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-quote-mark {
    display: block;
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: 56px;
    line-height: 0.6;
    color: var(--pt);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-quote-txt {
    margin: 16px 0 0;
    font-size: var(--tlb-fs-lead);
    font-weight: 500;
    line-height: var(--tlb-lh-body);
    color: var(--ink);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-quote-src {
    margin: 20px 0 0;
    font-size: var(--tlb-fs-caption);
    color: var(--faint);
}

/* Speech Bubbles (Frame 7) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bubbles {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 620px;
    margin: 48px auto 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item {
    display: flex;
    flex-direction: column;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item--l { align-items: flex-start; }
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item--r { align-items: flex-end; }
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb {
    position: relative;
    margin: 0;
    background: var(--navy);
    color: #FFFFFF;
    padding: 16px 26px;
    border-radius: 22px;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-compact);
    max-width: 85%;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .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-pdp[data-pdp-tone="jaso"] .tlb-bb-item--l .tlb-bb::after { left: 28px; }
.tlb-pdp[data-pdp-tone="jaso"] .tlb-bb-item--r .tlb-bb::after { right: 28px; }

/* Consulting Fees (Frame 9) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fees {
    display: flex;
    max-width: 600px;
    margin: 48px auto 0;
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee {
    flex: 1;
    padding: 0 12px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee + .tlb-fee {
    border-left: 1px solid var(--line);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee-cap {
    margin: 0;
    font-size: var(--tlb-fs-meta);
    color: var(--sub);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee-val {
    margin: 12px 0 0;
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: 24px;
    line-height: var(--tlb-lh-none);
    color: var(--navy);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fee-val b {
    font-size: 52px;
    letter-spacing: var(--tlb-ls-head);
}

/* Triad Solution (Frame 11) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-triad {
    margin: 40px 0 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-triad p {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-weight: 700;
    font-size: 24px;
    line-height: var(--tlb-lh-read);
    color: var(--ink);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-triad b {
    font-weight: 800;
    color: var(--pt);
}

/* Author Credentials (Frame 12) */
.tlb-pdp[data-pdp-tone="jaso"] .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-pdp[data-pdp-tone="jaso"] .tlb-cred-item {
    flex: 1;
    padding: 20px 8px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cred-item + .tlb-cred-item {
    border-left: 1px solid var(--line);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cred-item b {
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: var(--tlb-fs-body);
    color: var(--navy);
    display: block;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-cred-item span {
    font-size: var(--tlb-fs-micro);
    color: var(--sub);
    display: block;
    margin-top: 4px;
}

/* Real Example Documents (Frame 13) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-docs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 820px;
    margin: 48px auto 0;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc {
    background: #FFFFFF;
    border-radius: 6px;
    border: 1px solid var(--line);
    box-shadow: 0 16px 36px rgba(30,40,60,.08);
    overflow: hidden;
    position: relative;
}
.tlb-pdp[data-pdp-tone="jaso"] .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-pdp[data-pdp-tone="jaso"] .tlb-ex-tab {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 6px 0 0 14px;
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: var(--tlb-fs-micro);
    padding: 3px 10px;
    border-radius: 3px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc--bad .tlb-ex-tab { background: var(--badSoft); color: var(--bad); }
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc--good .tlb-ex-tab { background: var(--ptSoft); color: var(--pt); }
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-body {
    margin: 0;
    padding: 28px 24px 22px;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-read);
    color: #3E4048;
}
.tlb-pdp[data-pdp-tone="jaso"] .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-pdp[data-pdp-tone="jaso"] .tlb-ex-verdict {
    margin: 0;
    padding: 16px 24px 20px;
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-text);
    color: var(--sub);
    border-top: 1px solid var(--line);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc--good .tlb-ex-verdict b { color: var(--pt); }
.tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-doc--bad .tlb-ex-verdict b { color: var(--bad); }

/* Word Cloud (Frame 14) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 680px;
    margin: 44px auto 0;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd {
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 8px 18px;
    font-family: var(--tlb-font-head);
    font-weight: 700;
    color: var(--navy);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd--xl { font-size: 20px; color: var(--bad); border-color: var(--bad); }
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd--l { font-size: var(--tlb-fs-read); color: var(--pt); }
.tlb-pdp[data-pdp-tone="jaso"] .tlb-wd--m { font-size: var(--tlb-fs-meta); color: var(--sub); }

/* How To Use Steps (Frame 18) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 44px;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-step {
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-step-num {
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: var(--tlb-fs-caption);
    color: var(--pt);
    margin-bottom: 8px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-step-tit {
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: var(--tlb-fs-lead);
    color: var(--navy);
    margin-bottom: 8px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-step-desc {
    font-size: var(--tlb-fs-caption);
    color: var(--sub);
    line-height: var(--tlb-lh-compact);
    margin: 0;
}

/* Search Bar Self Test (Frame 19) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search {
    max-width: 480px;
    margin: 40px auto 0;
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search-cap {
    font-size: var(--tlb-fs-caption);
    color: var(--sub);
    margin-bottom: 12px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search-bar {
    display: flex;
    border: 2px solid var(--navy);
    border-radius: 6px;
    overflow: hidden;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search-q {
    flex: 1;
    padding: 12px 16px;
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    color: var(--navy);
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-search-btn {
    background: var(--navy);
    color: #FFFFFF;
    padding: 12px 20px;
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: var(--tlb-fs-meta);
}

/* Compare Table (Frame 20) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs {
    max-width: 780px;
    margin: 44px auto 0;
    overflow-x: auto;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs table {
    width: 100%;
    border-collapse: collapse;
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 8px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs th,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs td {
    padding: 16px 14px;
    font-size: var(--tlb-fs-meta);
    text-align: center;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs th {
    font-family: var(--tlb-font-head);
    font-weight: 800;
    background: var(--alt);
    color: var(--navy);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs .tlb-vs-book {
    background: var(--ptSoft);
    color: var(--pt);
    font-weight: 700;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-vs .tlb-vs-label {
    font-weight: 700;
    color: var(--navy);
    text-align: left;
    background: var(--alt);
}

/* Fit Cards (Frame 23) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 760px;
    margin: 44px auto 0;
    text-align: left;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-card {
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 28px 24px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-tit {
    font-family: var(--tlb-font-head);
    font-weight: 800;
    font-size: var(--tlb-fs-read);
    color: var(--navy);
    margin-bottom: 14px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-card ul {
    margin: 0;
    padding-left: 20px;
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-body);
    color: var(--sub);
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-fit-txt {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-body);
    color: var(--sub);
    margin: 0;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-sec { padding: 64px 0; }
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-h2 { font-size: 26px; }
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-h2--xl { font-size: 28px; }
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-sub { font-size: var(--tlb-fs-small); }
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-ex-docs,
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-cred,
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-steps,
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-fit { grid-template-columns: 1fr; flex-direction: column; }
    .tlb-pdp[data-pdp-tone="jaso"] .tlb-s3-big { font-size: 72px; }
}
.tlb-pdp[data-pdp-tone="jaso"] {
    --tlb-canvas: #F5F4EF;
    --tlb-card-bg: #FFFFFF;
    --tlb-ink: #171717;
    --tlb-sub: #55544F;
    --tlb-faint: #888780;
    --tlb-navy: #14304D;
    --tlb-blue: #2A5CA8;
    --tlb-gold: #C5A059;
    --tlb-gold-bg: #F7F3EB;
    --tlb-border: #D8D6CE;

    background: var(--tlb-canvas);
    color: var(--tlb-ink);
    font-family: var(--tlb-font-body);
    padding: 60px 24px 80px;
    max-width: 920px;
    margin: 0 auto;
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
}

/* Typography Base */
.tlb-pdp[data-pdp-tone="jaso"] h1,
.tlb-pdp[data-pdp-tone="jaso"] h2,
.tlb-pdp[data-pdp-tone="jaso"] h3,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__doc-title,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__section-head,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__cover-main,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__ledger-num {
    font-family: var(--tlb-font-head);
    letter-spacing: 0;
}

/* 1. Header Block */
.tlb-pdp__doc-header {
    text-align: center;
    padding-bottom: 48px;
    border-bottom: 2px solid var(--tlb-ink);
    margin-bottom: 48px;
}
.tlb-pdp__doc-tag {
    display: inline-block;
    background: var(--tlb-navy);
    color: #FFFFFF;
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 4px;
    margin-bottom: 20px;
    font-family: var(--tlb-font-body);
}
.tlb-pdp__doc-title {
    font-size: 34px;
    font-weight: 800;
    line-height: var(--tlb-lh-head);
    color: var(--tlb-ink);
    margin: 0 0 18px;
}
.tlb-pdp__doc-title em {
    font-style: normal;
    color: var(--tlb-blue);
    border-bottom: 2px solid var(--tlb-blue);
}
.tlb-pdp__doc-sub {
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-text);
    color: var(--tlb-sub);
    margin: 0;
}

/* 2. Book Canvas Spec Card */
.tlb-pdp__spec-canvas {
    margin-bottom: 64px;
}
.tlb-pdp__book-card {
    background: var(--tlb-card-bg);
    border: 1px solid var(--tlb-border);
    border-radius: 8px;
    padding: 36px;
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 36px;
    align-items: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}
.tlb-pdp__book-cover {
    background: linear-gradient(135deg, var(--tlb-navy) 0%, #1a385c 100%);
    color: #FFFFFF;
    padding: 32px 20px;
    border-radius: 6px;
    text-align: center;
    box-shadow: -6px 10px 20px rgba(0,0,0,0.2);
}
.tlb-pdp__badge-gold {
    display: inline-block;
    background: var(--tlb-gold);
    color: var(--tlb-navy);
    font-size: var(--tlb-fs-micro);
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 3px;
    margin-bottom: 12px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__cover-brand {
    font-size: var(--tlb-fs-micro);
    color: rgba(255,255,255,0.7);
    font-weight: 700;
    margin-bottom: 8px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__cover-main {
    font-size: 24px;
    font-weight: 800;
    line-height: var(--tlb-lh-tight);
    margin-bottom: 12px;
}
.tlb-pdp__cover-sub {
    font-size: var(--tlb-fs-micro);
    color: rgba(255,255,255,0.85);
}
.tlb-pdp__book-meta-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.tlb-pdp__meta-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-bottom: 1px solid #EBE9E2;
    padding-bottom: 12px;
}
.tlb-pdp__meta-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.tlb-pdp__meta-label {
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    color: var(--tlb-faint);
    text-transform: uppercase;
}
.tlb-pdp__meta-val {
    font-size: var(--tlb-fs-meta);
    font-weight: 600;
    color: var(--tlb-ink);
    line-height: var(--tlb-lh-ui);
}

/* 3. Sections */
.tlb-pdp__section {
    background: var(--tlb-card-bg);
    border: 1px solid var(--tlb-border);
    border-radius: 8px;
    padding: 44px 40px;
    margin-bottom: 40px;
}
.tlb-pdp__section-label {
    font-size: var(--tlb-fs-micro);
    font-weight: 800;
    color: var(--tlb-blue);
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__section-head {
    font-size: 26px;
    font-weight: 800;
    color: var(--tlb-ink);
    margin: 0 0 28px;
    line-height: var(--tlb-lh-head);
}

/* Article Body Copy */
.tlb-pdp__article-body p {
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-body);
    color: var(--tlb-sub);
    margin: 0 0 18px;
}
.tlb-pdp__article-body p:last-child {
    margin-bottom: 0;
}
.tlb-pdp__article-body strong {
    color: var(--tlb-navy);
    font-weight: 700;
}

/* Compare Archive Table */
.tlb-pdp__compare-archive {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 32px;
}
.tlb-pdp__compare-col {
    border-radius: 6px;
    padding: 24px;
    border: 1px solid var(--tlb-border);
}
.tlb-pdp__compare-col--bad {
    background: #FFF9F9;
    border-color: #F5D0D0;
}
.tlb-pdp__compare-col--good {
    background: #F4F8FC;
    border-color: #C3DAF0;
}
.tlb-pdp__compare-head {
    font-size: var(--tlb-fs-body);
    font-weight: 800;
    margin-bottom: 16px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__compare-col--bad .tlb-pdp__compare-head { color: #A82A2A; }
.tlb-pdp__compare-col--good .tlb-pdp__compare-head { color: var(--tlb-blue); }

.tlb-pdp__compare-col ul {
    margin: 0;
    padding-left: 18px;
}
.tlb-pdp__compare-col li {
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-text);
    color: var(--tlb-sub);
    margin-bottom: 8px;
}

/* Ledger List */
.tlb-pdp__ledger-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.tlb-pdp__ledger-item {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 20px;
    align-items: start;
    padding-bottom: 24px;
    border-bottom: 1px solid #EBE9E2;
}
.tlb-pdp__ledger-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.tlb-pdp__ledger-num {
    font-size: 24px;
    font-weight: 800;
    color: var(--tlb-blue);
    line-height: var(--tlb-lh-none);
}
.tlb-pdp__ledger-content h3 {
    font-size: var(--tlb-fs-lead);
    font-weight: 800;
    color: var(--tlb-navy);
    margin: 0 0 8px;
}
.tlb-pdp__ledger-content p {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: var(--tlb-sub);
    margin: 0;
}

/* Author Profile */
.tlb-pdp__author-profile {
    background: #FAF9F5;
    border: 1px solid var(--tlb-border);
    border-radius: 6px;
    padding: 28px;
}
.tlb-pdp__author-badge {
    font-size: var(--tlb-fs-meta);
    font-weight: 800;
    color: var(--tlb-blue);
    margin-bottom: 12px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__author-desc {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: var(--tlb-sub);
    margin: 0 0 20px;
}
.tlb-pdp__quote-box {
    margin: 0;
    padding: 16px 20px;
    background: #FFFFFF;
    border-left: 4px solid var(--tlb-blue);
    border-radius: 0 4px 4px 0;
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: var(--tlb-navy);
    font-weight: 600;
}

/* Proof Grid */
.tlb-pdp__proof-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.tlb-pdp__proof-item {
    background: #FAF9F5;
    border: 1px solid var(--tlb-border);
    border-radius: 6px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.tlb-pdp__proof-text {
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-compact);
    color: var(--tlb-ink);
    margin: 0 0 16px;
}
.tlb-pdp__proof-author {
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    color: var(--tlb-blue);
}
.tlb-pdp__proof-author span {
    display: block;
    font-weight: 400;
    color: var(--tlb-faint);
    font-size: var(--tlb-fs-micro);
    margin-top: 2px;
}

/* Ledger Table */
.tlb-pdp__ledger-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--tlb-fs-meta);
}
.tlb-pdp__ledger-table th,
.tlb-pdp__ledger-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #EBE9E2;
    text-align: left;
}
.tlb-pdp__ledger-table th {
    width: 24%;
    background: #FAF9F5;
    color: var(--tlb-navy);
    font-weight: 700;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__ledger-table td {
    color: var(--tlb-sub);
}

/* Closing Section */
.tlb-pdp__section--closing {
    background: var(--tlb-navy) !important;
    color: #FFFFFF !important;
    border: none;
    text-align: center;
}
.tlb-pdp__section--closing .tlb-pdp__section-label { color: var(--tlb-gold) !important; }
.tlb-pdp__section--closing .tlb-pdp__section-head { color: #FFFFFF !important; }
.tlb-pdp__section--closing .tlb-pdp__doc-sub { color: #E5E7EB !important; }

.tlb-pdp__closing-box {
    margin-top: 28px;
    border-top: 1px solid rgba(255,255,255,0.2);
    padding-top: 24px;
}
.tlb-pdp__closing-checklist {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 540px;
    text-align: left;
}
.tlb-pdp__closing-checklist li {
    padding: 10px 0;
    font-size: var(--tlb-fs-meta);
    color: #FFFFFF !important;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}
.tlb-pdp__closing-checklist li:last-child {
    border-bottom: none;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .tlb-pdp[data-pdp-tone="jaso"] { padding: 40px 16px; }
    .tlb-pdp__book-card { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
    .tlb-pdp__compare-archive,
    .tlb-pdp__proof-grid { grid-template-columns: 1fr; }
    .tlb-pdp__doc-title { font-size: 26px; }
    .tlb-pdp__section { padding: 28px 20px; }
}
.tlb-pdp[data-pdp-tone="jaso"] {
    --tlb-bg: #FFFFFF;
    --tlb-alt: #F7F4EE;
    --tlb-ink: #1E1F24;
    --tlb-sub: #6B6C72;
    --tlb-faint: #9C9DA3;
    --tlb-navy: #14304D;
    --tlb-pt: #2A5CA8;
    --tlb-ptSoft: #EAF1FA;
    --tlb-line: #EAE6DE;
    font-family: var(--tlb-font-body);
    color: var(--tlb-ink);
    background: var(--tlb-bg);
}

/* Typography Rules */
.tlb-pdp[data-pdp-tone="jaso"] h1,
.tlb-pdp[data-pdp-tone="jaso"] h2,
.tlb-pdp[data-pdp-tone="jaso"] h3,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__heading,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__title,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__stat-num,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__badge-big {
    font-family: var(--tlb-font-head);
}

.tlb-pdp[data-pdp-tone="jaso"] p,
.tlb-pdp[data-pdp-tone="jaso"] li,
.tlb-pdp[data-pdp-tone="jaso"] td,
.tlb-pdp[data-pdp-tone="jaso"] th,
.tlb-pdp[data-pdp-tone="jaso"] span,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__sub,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__over {
    font-family: var(--tlb-font-body);
}

/* F01. Notice Bar (ref_00전사) */
.tlb-pdp__notice-bar {
    background: var(--tlb-navy);
    color: #FFFFFF;
    text-align: center;
    padding: 12px 20px;
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
    font-family: var(--tlb-font-body);
}

/* F02. Hero Section (ref_02전사) */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__hero {
    padding: 80px 0 90px;
    text-align: center;
    background: var(--tlb-bg);
}
.tlb-pdp__over {
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
    color: var(--tlb-pt);
    font-family: var(--tlb-font-body);
    margin-bottom: 14px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__title {
    font-size: 36px;
    font-weight: 800;
    line-height: var(--tlb-lh-head);
    color: var(--tlb-ink);
    margin-bottom: 18px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__title em {
    font-style: normal;
    color: var(--tlb-pt);
}
.tlb-pdp__sub {
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-body);
    color: var(--tlb-sub);
    max-width: 640px;
    margin: 0 auto 36px;
    font-family: var(--tlb-font-body);
}

/* Hero Book Cover Card */
.tlb-pdp__hero-card-wrap {
    max-width: 440px;
    margin: 0 auto;
    background: var(--tlb-bg);
    border: 1px solid var(--tlb-line);
    border-radius: 12px;
    padding: 32px 24px;
    box-shadow: 0 14px 38px rgba(20, 48, 77, 0.10);
}
.tlb-pdp__hero-cover-box {
    background: linear-gradient(135deg, var(--tlb-navy) 0%, #1e3a8a 100%);
    color: #FFFFFF;
    padding: 36px 24px;
    border-radius: 8px;
    margin-bottom: 20px;
    position: relative;
    box-shadow: -8px 12px 24px rgba(0,0,0,0.25);
}
.tlb-pdp__cover-badge {
    display: inline-block;
    background: #C5A059;
    color: var(--tlb-navy);
    font-weight: 800;
    font-size: var(--tlb-fs-micro);
    padding: 4px 10px;
    border-radius: 4px;
    font-family: var(--tlb-font-head);
    margin-bottom: 12px;
}
.tlb-pdp__cover-series {
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    color: #F7F4EE;
    font-family: var(--tlb-font-head);
    margin-bottom: 8px;
}
.tlb-pdp__cover-title {
    font-size: 26px;
    font-weight: 800;
    line-height: var(--tlb-lh-tight);
    margin-bottom: 14px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__cover-author {
    font-size: var(--tlb-fs-caption);
    color: rgba(255, 255, 255, 0.8);
    font-family: var(--tlb-font-body);
}
.tlb-pdp__cover-cap {
    font-size: var(--tlb-fs-micro);
    color: var(--tlb-faint);
    margin-top: 10px;
    font-family: var(--tlb-font-body);
}

/* F03. Trust Badges (ref_02 수상 뱃지 열 전사) */
.tlb-pdp__badges-sec {
    padding: 60px 0;
    background: var(--tlb-bg);
    border-top: 1px solid var(--tlb-line);
}
.tlb-pdp__badge-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    text-align: center;
}
.tlb-pdp__badge-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.tlb-pdp__badge-circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 1px solid var(--tlb-line);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    background: var(--tlb-bg);
}
.tlb-pdp__badge-top {
    font-size: var(--tlb-fs-micro);
    color: var(--tlb-sub);
    font-family: var(--tlb-font-body);
}
.tlb-pdp__badge-big {
    font-size: 22px;
    font-weight: 800;
    color: var(--tlb-pt);
    font-family: var(--tlb-font-head);
}
.tlb-pdp__badge-big--two {
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-tight);
    text-align: center;
}
.tlb-pdp__badge-cap {
    font-size: var(--tlb-fs-caption);
    color: var(--tlb-sub);
    font-family: var(--tlb-font-body);
}

/* F04. Real Reviews (ref_03~04 전사) */
.tlb-pdp__reviews-sec {
    padding: 96px 0;
    background: var(--tlb-alt);
    border-top: 1px solid var(--tlb-line);
    text-align: center;
}
.tlb-pdp__rv-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
    text-align: left;
}
.tlb-pdp__rv-card {
    background: var(--tlb-bg);
    border: 1px solid var(--tlb-line);
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.tlb-pdp__rv-txt {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: var(--tlb-ink);
    font-family: var(--tlb-font-body);
    margin-bottom: 20px;
}
.tlb-pdp__rv-meta {
    font-size: var(--tlb-fs-micro);
    color: var(--tlb-sub);
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-family: var(--tlb-font-body);
}
.tlb-pdp__rv-meta b {
    color: var(--tlb-pt);
    font-weight: 700;
}
.tlb-pdp__rv-note {
    font-size: var(--tlb-fs-micro);
    color: var(--tlb-faint);
    margin-top: 24px;
    font-family: var(--tlb-font-body);
}

/* F05. Timeline Crisis (ref_02 타임라인 전사) */
.tlb-pdp__timeline-sec {
    padding: 96px 0;
    background: var(--tlb-bg);
    border-top: 1px solid var(--tlb-line);
    text-align: center;
}
.tlb-pdp__tl-nodes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 44px;
}
.tlb-pdp__tl-node {
    background: var(--tlb-alt);
    border: 1px solid var(--tlb-line);
    border-radius: 8px;
    padding: 24px;
}
.tlb-pdp__tl-date {
    display: inline-block;
    background: var(--tlb-navy);
    color: #FFFFFF;
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__tl-name {
    font-size: var(--tlb-fs-lead);
    font-weight: 800;
    color: var(--tlb-ink);
    margin-bottom: 6px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__tl-desc {
    font-size: var(--tlb-fs-caption);
    color: var(--tlb-sub);
    font-family: var(--tlb-font-body);
}

/* F06. Pain Speech Bubbles (ref_09전사) */
.tlb-pdp__pain-sec {
    padding: 96px 0;
    background: var(--tlb-alt);
    border-top: 1px solid var(--tlb-line);
    text-align: center;
}
.tlb-pdp__bubble-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 40px;
}
.tlb-pdp__bubble-item {
    background: var(--tlb-bg);
    border: 1px solid var(--tlb-line);
    border-radius: 8px;
    padding: 22px 24px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
    text-align: left;
}
.tlb-pdp__bubble-txt {
    font-size: var(--tlb-fs-small);
    font-weight: 600;
    color: var(--tlb-ink);
    line-height: var(--tlb-lh-ui);
    font-family: var(--tlb-font-body);
}
.tlb-pdp__pain-conclusion {
    background: var(--tlb-navy);
    color: #FFFFFF;
    border-radius: 8px;
    padding: 36px 28px;
    text-align: center;
    margin-top: 36px;
}
.tlb-pdp__conclusion-title {
    font-size: 22px;
    font-weight: 800;
    color: #C5A059;
    margin-bottom: 12px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__conclusion-desc {
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-text);
    color: #F3F4F6;
    font-family: var(--tlb-font-body);
}

/* F07. Standard Definition (ref_10전사) */
.tlb-pdp__def-sec {
    padding: 96px 0;
    background: var(--tlb-bg);
    border-top: 1px solid var(--tlb-line);
    text-align: center;
}
.tlb-pdp__rule-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
    text-align: left;
}
.tlb-pdp__rule-item {
    background: var(--tlb-bg);
    border: 1px solid var(--tlb-line);
    border-radius: 8px;
    padding: 28px 24px;
}
.tlb-pdp__rule-num {
    display: inline-block;
    color: var(--tlb-pt);
    font-size: var(--tlb-fs-micro);
    font-weight: 800;
    margin-bottom: 10px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__rule-item h3 {
    font-size: var(--tlb-fs-lead);
    font-weight: 800;
    color: var(--tlb-navy);
    margin-bottom: 12px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__rule-item p {
    font-size: var(--tlb-fs-meta);
    color: var(--tlb-sub);
    line-height: var(--tlb-lh-compact);
    font-family: var(--tlb-font-body);
}

/* F08. Authority Numbers (ref_12전사) */
.tlb-pdp__stats-sec {
    padding: 64px 0;
    background: var(--tlb-alt);
    border-top: 1px solid var(--tlb-line);
}
.tlb-pdp__stats-row {
    display: flex;
    justify-content: center;
    align-items: stretch;
}
.tlb-pdp__stat-cell {
    padding: 8px 48px;
    text-align: center;
}
.tlb-pdp__stat-cell + .tlb-pdp__stat-cell {
    border-left: 1px solid var(--tlb-line);
}
.tlb-pdp__stat-label {
    display: block;
    font-size: var(--tlb-fs-meta);
    color: var(--tlb-sub);
    font-family: var(--tlb-font-body);
}
.tlb-pdp__stat-num {
    display: block;
    font-family: var(--tlb-font-head);
    font-size: 36px;
    font-weight: 800;
    color: var(--tlb-pt);
    margin-top: 6px;
}

/* F09. Emotion / Brand Story (ref_14, ref_15전사) */
.tlb-pdp__story-sec {
    padding: 96px 0;
    background: var(--tlb-bg);
    border-top: 1px solid var(--tlb-line);
    text-align: center;
}
.tlb-pdp__author-box {
    max-width: 720px;
    margin: 40px auto 0;
    background: var(--tlb-alt);
    border: 1px solid var(--tlb-line);
    border-radius: 8px;
    padding: 36px 32px;
    text-align: left;
}
.tlb-pdp__author-role {
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
    color: var(--tlb-pt);
    font-family: var(--tlb-font-head);
    margin-bottom: 16px;
}
.tlb-pdp__author-bio {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-body);
    color: var(--tlb-sub);
    font-family: var(--tlb-font-body);
    margin-bottom: 24px;
}
.tlb-pdp__author-quote {
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: var(--tlb-navy);
    font-weight: 600;
    font-family: var(--tlb-font-body);
    padding-left: 16px;
    border-left: 3px solid var(--tlb-pt);
}

/* F11. Curriculum & Appendix Table (ref_27전사) */
.tlb-pdp__table-sec {
    padding: 96px 0;
    background: var(--tlb-alt);
    border-top: 1px solid var(--tlb-line);
    text-align: center;
}
.tlb-pdp__table {
    width: 100%;
    margin-top: 40px;
    border-collapse: collapse;
    font-size: var(--tlb-fs-meta);
    text-align: left;
}
.tlb-pdp__table th,
.tlb-pdp__table td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--tlb-line);
}
.tlb-pdp__table th {
    width: 28%;
    background: var(--tlb-bg);
    color: var(--tlb-navy);
    font-weight: 700;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__table td {
    background: var(--tlb-bg);
    color: var(--tlb-ink);
    font-family: var(--tlb-font-body);
}

/* F12. FAQ Section (ref_31전사) */
.tlb-pdp__faq-sec {
    padding: 96px 0;
    background: var(--tlb-bg);
    border-top: 1px solid var(--tlb-line);
    text-align: center;
}
.tlb-pdp__faq-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 40px;
    text-align: left;
    max-width: 760px;
    margin-inline: auto;
}
.tlb-pdp__faq-row {
    background: var(--tlb-alt);
    border: 1px solid var(--tlb-line);
    border-radius: 8px;
    padding: 24px;
}
.tlb-pdp__faq-q {
    font-size: var(--tlb-fs-body);
    font-weight: 800;
    color: var(--tlb-navy);
    margin-bottom: 10px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__faq-a {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: var(--tlb-sub);
    font-family: var(--tlb-font-body);
}

/* F13. Closing Section (ref_33전사) */
.tlb-pdp__closing-sec {
    padding: 96px 0;
    background: var(--tlb-navy);
    color: #FFFFFF;
    text-align: center;
    border-top: 1px solid var(--tlb-line);
}
.tlb-pdp__closing-sec .tlb-pdp__over {
    color: #C5A059;
}
.tlb-pdp__closing-sec .tlb-pdp__heading {
    color: #FFFFFF;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 16px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__closing-sec .tlb-pdp__sub {
    color: rgba(255, 255, 255, 0.8);
}
.tlb-pdp__closing-list {
    list-style: none;
    max-width: 520px;
    margin: 32px auto 0;
    text-align: left;
    padding: 0;
}
.tlb-pdp__closing-list li {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    font-size: var(--tlb-fs-meta);
    color: #F3F4F6;
    font-family: var(--tlb-font-body);
}
.tlb-pdp__closing-list li:last-child {
    border-bottom: none;
}

.tlb-pdp[data-pdp-tone="jaso"] h1,
.tlb-pdp[data-pdp-tone="jaso"] h2,
.tlb-pdp[data-pdp-tone="jaso"] h3,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__heading,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__title,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__fact-num,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__trust-num,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__book-title,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__eyebrow {
    font-family: var(--tlb-font-head);
}

.tlb-pdp[data-pdp-tone="jaso"] p,
.tlb-pdp[data-pdp-tone="jaso"] li,
.tlb-pdp[data-pdp-tone="jaso"] td,
.tlb-pdp[data-pdp-tone="jaso"] th,
.tlb-pdp[data-pdp-tone="jaso"] span,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__lead,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__faq-a,
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__author-bio {
    font-family: var(--tlb-font-body);
}

/* Notice Bar */
.tlb-pdp__notice-bar {
    background: #0f2c59;
    color: #f7f3eb;
    text-align: center;
    padding: 12px 20px;
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
    font-family: var(--tlb-font-head);
}

/* Hero Section Enhancement */
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__hero {
    padding-top: 60px;
    padding-bottom: 70px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__title {
    font-size: 38px;
    font-weight: 800;
    line-height: var(--tlb-lh-title);
    color: #0f2c59;
    margin-bottom: 24px;
}
.tlb-pdp[data-pdp-tone="jaso"] .tlb-pdp__eyebrow {
    color: #c5a059;
    font-weight: 800;
    font-size: var(--tlb-fs-caption);
    text-transform: uppercase;
}

/* Book Display Card */
.tlb-pdp__book-display {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 32px 24px;
    text-align: center;
    box-shadow: 0 20px 40px rgba(15, 44, 89, 0.08);
}
.tlb-pdp__book-cover {
    background: linear-gradient(135deg, #0f2c59 0%, #1e3a8a 100%);
    color: #ffffff;
    padding: 36px 24px;
    border-radius: 8px;
    margin-bottom: 24px;
    position: relative;
    box-shadow: -8px 12px 24px rgba(0, 0, 0, 0.25);
}
.tlb-pdp__book-badge {
    display: inline-block;
    background: #c5a059;
    color: #0f2c59;
    font-weight: 800;
    font-size: var(--tlb-fs-micro);
    padding: 4px 10px;
    border-radius: 4px;
    font-family: var(--tlb-font-head);
    margin-bottom: 12px;
}
.tlb-pdp__book-series {
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    color: #f7f3eb;
    font-family: var(--tlb-font-head);
    margin-bottom: 8px;
}
.tlb-pdp__book-title {
    font-size: 26px;
    font-weight: 800;
    line-height: var(--tlb-lh-tight);
    margin-bottom: 14px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__book-author {
    font-size: var(--tlb-fs-caption);
    color: rgba(255, 255, 255, 0.8);
    font-family: var(--tlb-font-body);
}
.tlb-pdp__book-specs-summary {
    display: flex;
    justify-content: space-around;
    border-top: 1px solid #f3f4f6;
    padding-top: 16px;
}
.tlb-pdp__book-spec-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.tlb-pdp__spec-label {
    font-size: var(--tlb-fs-micro);
    color: #9ca3af;
    font-family: var(--tlb-font-body);
}
.tlb-pdp__spec-val {
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
    color: #111827;
    font-family: var(--tlb-font-head);
}

/* Trust Line */
.tlb-pdp__trust-line {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    text-align: center;
}
.tlb-pdp__trust-badge {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    padding: 20px;
    border-radius: 8px;
}
.tlb-pdp__trust-num {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: #0f2c59;
    margin-bottom: 4px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__trust-desc {
    font-size: var(--tlb-fs-caption);
    color: #6b7280;
    font-family: var(--tlb-font-body);
}

/* Reviews */
.tlb-pdp__review-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 32px;
}
.tlb-pdp__review-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.tlb-pdp__review-text {
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: #374151;
    font-family: var(--tlb-font-body);
    margin-bottom: 16px;
}
.tlb-pdp__review-author {
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    color: #0f2c59;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__review-note {
    font-size: var(--tlb-fs-micro);
    color: #9ca3af;
    text-align: center;
    margin-top: 20px;
    font-family: var(--tlb-font-body);
}

/* Timeline */
.tlb-pdp__timeline-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 36px;
}
.tlb-pdp__timeline-step {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    padding: 24px;
    border-radius: 8px;
    text-align: center;
}
.tlb-pdp__step-date {
    display: inline-block;
    background: #0f2c59;
    color: #ffffff;
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__step-name {
    display: block;
    font-size: var(--tlb-fs-lead);
    font-weight: 800;
    color: #111827;
    margin-bottom: 6px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__step-desc {
    font-size: var(--tlb-fs-caption);
    color: #6b7280;
    font-family: var(--tlb-font-body);
}

/* Speech Bubbles */
.tlb-pdp__bubble-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 32px;
}
.tlb-pdp__bubble-item {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 20px 24px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}
.tlb-pdp__bubble-text {
    font-size: var(--tlb-fs-small);
    font-weight: 600;
    color: #1f2937;
    line-height: var(--tlb-lh-ui);
    font-family: var(--tlb-font-body);
}
.tlb-pdp__pain-conclusion {
    background: #0f2c59;
    color: #ffffff;
    border-radius: 8px;
    padding: 32px;
    text-align: center;
    margin-top: 32px;
}
.tlb-pdp__conclusion-title {
    font-size: 22px;
    font-weight: 800;
    color: #c5a059;
    margin-bottom: 12px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__conclusion-desc {
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-text);
    color: #f3f4f6;
    font-family: var(--tlb-font-body);
}

/* Rules / Diagnosis */
.tlb-pdp__rule-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
}
.tlb-pdp__rule-item {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 28px 24px;
}
.tlb-pdp__rule-num {
    display: inline-block;
    color: #c5a059;
    font-size: var(--tlb-fs-micro);
    font-weight: 800;
    margin-bottom: 10px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__rule-item h3 {
    font-size: var(--tlb-fs-lead);
    font-weight: 800;
    color: #0f2c59;
    margin-bottom: 12px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__rule-item p {
    font-size: var(--tlb-fs-meta);
    color: #4b5563;
    line-height: var(--tlb-lh-compact);
    font-family: var(--tlb-font-body);
}

/* Diagnosis Row */
.tlb-pdp__diagnosis-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 32px;
}
.tlb-pdp__diagnosis-row {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 24px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 24px;
}
.tlb-pdp__diagnosis-problem h3 {
    font-size: var(--tlb-fs-read);
    font-weight: 800;
    color: #111827;
    margin-bottom: 8px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__diagnosis-problem p {
    font-size: var(--tlb-fs-meta);
    color: #6b7280;
    font-family: var(--tlb-font-body);
}
.tlb-pdp__diagnosis-solution p {
    font-size: var(--tlb-fs-meta);
    color: #1e3a8a;
    line-height: var(--tlb-lh-compact);
    font-family: var(--tlb-font-body);
}
.tlb-pdp__tag {
    display: inline-block;
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    background: #f3f4f6;
    color: #4b5563;
    margin-bottom: 8px;
    font-family: var(--tlb-font-head);
}
.tlb-pdp__tag--accent {
    background: #0f2c59;
    color: #ffffff;
}

.tlb-pdp *,
.tlb-pdp *::before,
.tlb-pdp *::after {
    box-sizing: border-box;
}

.tlb-pdp img {
    display: block;
    max-width: 100%;
    height: auto;
}

.tlb-pdp a {
    color: inherit;
}

.tlb-pdp__section {
    padding: 88px 0;
    border-top: 1px solid var(--tlb-pdp-line);
    background: var(--tlb-pdp-white);
}

.tlb-pdp__section--paper {
    background: var(--tlb-pdp-paper);
}

.tlb-pdp__section--ink {
    color: #ffffff;
    background: var(--tlb-pdp-ink);
    border-top-color: rgba(255, 255, 255, 0.16);
}

.tlb-pdp__outer,
.tlb-pdp__inner {
    width: min(100% - 40px, var(--tlb-pdp-outer));
    margin-inline: auto;
}

.tlb-pdp__inner {
    max-width: var(--tlb-pdp-inner);
}

.tlb-pdp__eyebrow {
    margin: 0 0 16px;
    color: var(--tlb-pdp-accent);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-head);
    font-weight: 800;
}

.tlb-pdp__section--ink .tlb-pdp__eyebrow {
    color: #c8d3e2;
}

.tlb-pdp__lead,
.tlb-pdp__body {
    max-width: 680px;
    margin: 22px 0 0;
    color: var(--tlb-pdp-muted);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-body);
}

.tlb-pdp__section--ink .tlb-pdp__lead,
.tlb-pdp__section--ink .tlb-pdp__body {
    color: rgba(255, 255, 255, 0.76);
}

.tlb-pdp__table {
    width: 100%;
    margin-top: 30px;
    border-collapse: collapse;
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-compact);
}

.tlb-pdp__table th,
.tlb-pdp__table td {
    padding: 15px 12px;
    border-bottom: 1px solid var(--tlb-pdp-line);
    text-align: left;
    vertical-align: top;
}

.tlb-pdp__table th {
    width: 30%;
    color: var(--tlb-pdp-muted);
    font-weight: 700;
}

.tlb-pdp__cta {
    display: inline-flex;
    min-height: 46px;
    margin-top: 28px;
    padding: 0 22px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--tlb-pdp-accent);
    border-radius: 3px;
    color: #ffffff !important;
    background: var(--tlb-pdp-accent);
    font-size: var(--tlb-fs-small);
    font-weight: 700;
    text-decoration: none;
}

.tlb-pdp__section--compact {
    padding-block: 50px;
}

.tlb-pdp__hero {
    padding-block: 108px 0;
}

.tlb-pdp__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(290px, 0.8fr);
    align-items: center;
    gap: 64px;
    min-height: 540px;
}

.tlb-pdp__hero-copy {
    padding-bottom: 72px;
}

.tlb-pdp__hero-title,
.tlb-pdp__display {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-weight: 700;
    letter-spacing: 0;
    word-break: keep-all;
}

.tlb-pdp__hero-title {
    max-width: 13em;
    font-size: 60px;
    line-height: var(--tlb-lh-tight);
}

.tlb-pdp__hero-lead {
    max-width: 650px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-body);
}

.tlb-pdp__hero-book {
    margin: 0;
}

.tlb-pdp__hero-book img {
    width: min(100%, 380px);
    margin-inline: auto;
    filter: drop-shadow(0 34px 45px rgba(0, 0, 0, 0.45));
}

.tlb-pdp__fact-line {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.tlb-pdp__fact-item {
    min-height: 116px;
    padding: 24px 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.tlb-pdp__fact-item:last-child {
    border-right: 0;
}

.tlb-pdp__fact-item strong,
.tlb-pdp__fact-item span {
    display: block;
}

.tlb-pdp__fact-item strong {
    font-family: var(--tlb-font-head);
    font-size: 34px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
    white-space: nowrap;
}

.tlb-pdp__fact-item span {
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.58);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-head);
}

.tlb-pdp__series-line {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 1px auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
}

.tlb-pdp__series-line strong {
    color: var(--tlb-pdp-accent);
    font-family: var(--tlb-font-head);
    font-size: 27px;
    font-weight: 700;
}

.tlb-pdp__series-line span {
    font-size: var(--tlb-fs-body);
    font-weight: 700;
}

.tlb-pdp__series-line i {
    width: 1px;
    height: 34px;
    background: var(--tlb-pdp-line);
}

.tlb-pdp__display {
    max-width: 16em;
    font-size: 52px;
    line-height: var(--tlb-lh-title);
}

.tlb-pdp__lead--wide {
    max-width: 760px;
}

.tlb-pdp__symptoms {
    margin-top: 72px;
    border-top: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__symptom {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: baseline;
    gap: 20px;
    padding: 30px 0;
    border-bottom: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__symptom span {
    color: var(--tlb-pdp-accent);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-meta);
    font-weight: 800;
}

.tlb-pdp__symptom p {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-size: 25px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tlb-pdp__statement {
    padding-block: 140px;
}

.tlb-pdp__point-list {
    margin-top: 80px;
    border-bottom: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__point {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr);
    gap: 34px;
    padding: 48px 0;
    border-top: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__point-number {
    color: var(--tlb-pdp-accent);
    font-family: var(--tlb-font-head);
    font-size: 72px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
}

.tlb-pdp__point-copy > span {
    color: var(--tlb-pdp-accent);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-head);
    font-weight: 800;
}

.tlb-pdp__point-copy h3 {
    margin: 10px 0 0;
    font-family: var(--tlb-font-head);
    font-size: 28px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tlb-pdp__point-copy p {
    max-width: 650px;
    margin: 13px 0 0;
    color: var(--tlb-pdp-muted);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-body);
}

.tlb-pdp__proof-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.66fr);
    align-items: center;
    gap: 74px;
}

.tlb-pdp__page-shot {
    margin: 0;
    border: 1px solid rgba(23, 25, 31, 0.15);
    background: #ffffff;
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.18);
}

.tlb-pdp__page-shot img {
    width: 100%;
}

.tlb-pdp__spread {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 18px;
    margin-top: 66px;
}

.tlb-pdp__feature-lines {
    margin-top: 54px;
    border-bottom: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__feature-lines p {
    margin: 0;
    padding: 21px 4px;
    border-top: 1px solid var(--tlb-pdp-line);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-compact);
    font-weight: 700;
}

.tlb-pdp__author-quote {
    margin: 0;
}

.tlb-pdp__author-quote p {
    max-width: 14em;
    margin: 0;
    font-family: var(--tlb-font-head);
    font-size: 50px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tlb-pdp__author-quote cite {
    display: block;
    margin-top: 24px;
    color: var(--tlb-pdp-muted);
    font-size: var(--tlb-fs-caption);
    font-style: normal;
}

.tlb-pdp__review-list {
    margin-top: 72px;
    border-bottom: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__review {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 40px;
    margin: 0;
    padding: 40px 0;
    border-top: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__review p {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-size: 29px;
    line-height: var(--tlb-lh-ui);
    font-weight: 700;
}

.tlb-pdp__review cite {
    align-self: end;
    color: var(--tlb-pdp-muted);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-compact);
    font-style: normal;
}

.tlb-pdp__fit-caveat {
    max-width: 740px;
    margin: 44px 0 0;
    padding: 20px 24px;
    border-left: 3px solid var(--tlb-pdp-accent);
    color: var(--tlb-pdp-muted);
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
}

.tlb-pdp__format-line {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 24px;
    margin-top: 42px;
    padding: 24px 0;
    border-top: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__format-line + .tlb-pdp__format-line {
    margin-top: 0;
}

.tlb-pdp__format-line span {
    color: var(--tlb-pdp-accent);
    font-weight: 800;
}

.tlb-pdp__format-line p {
    margin: 0;
    color: var(--tlb-pdp-muted);
    line-height: var(--tlb-lh-text);
}

.tlb-pdp__faq-list {
    margin-top: 64px;
    border-bottom: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__faq {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 36px;
    padding: 30px 0;
    border-top: 1px solid var(--tlb-pdp-line);
}

.tlb-pdp__faq strong {
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-compact);
}

.tlb-pdp__faq p {
    margin: 0;
    color: var(--tlb-pdp-muted);
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
}

.tlb-pdp__closing {
    padding-block: 140px;
}

.tlb-pdp__closing-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-top: 54px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.tlb-pdp__closing-row strong,
.tlb-pdp__closing-row span {
    display: block;
}

.tlb-pdp__closing-row strong {
    font-family: var(--tlb-font-head);
    font-size: 34px;
    font-weight: 700;
}

.tlb-pdp__closing-row span {
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.6);
    font-size: var(--tlb-fs-micro);
}

/* v2 composition: the same primitives arranged as product scenes, not cards. */
.tlb-pdp__hero-grid--scene {
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.95fr);
    gap: 36px;
    min-height: 680px;
}

.tlb-pdp__hero-stage {
    position: relative;
    min-height: 650px;
    isolation: isolate;
}

.tlb-pdp__hero-word {
    position: absolute;
    top: 32px;
    right: -22px;
    color: rgba(255, 255, 255, 0.06);
    font-family: var(--tlb-font-head);
    font-size: 74px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
    writing-mode: vertical-rl;
}

.tlb-pdp__hero-stage .tlb-pdp__hero-book {
    position: absolute;
    z-index: 3;
    top: 80px;
    left: 50%;
    width: min(92%, 440px);
    transform: translateX(-50%) rotate(-2deg);
}

.tlb-pdp__hero-stage .tlb-pdp__hero-book img {
    width: 100%;
}

.tlb-pdp__hero-sheet {
    position: absolute;
    width: 42%;
    margin: 0;
}

.tlb-pdp__hero-sheet--back {
    z-index: 1;
    top: 18px;
    left: -2px;
    transform: rotate(-8deg);
}

.tlb-pdp__hero-sheet--front {
    z-index: 4;
    right: -4px;
    bottom: 18px;
    transform: rotate(7deg);
}

.tlb-pdp__section--scene {
    padding: 0;
}

.tlb-pdp__section--scene .tlb-pdp__inner {
    width: 100%;
    max-width: 1180px;
}

.tlb-pdp__scene {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 0.8fr);
    min-height: 700px;
}

.tlb-pdp__scene-media {
    grid-column: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.tlb-pdp__scene-copy {
    grid-row: 1;
    grid-column: 1;
    display: flex;
    padding: 110px 70px;
    flex-direction: column;
    justify-content: center;
}

.tlb-pdp__scene-copy .tlb-pdp__display {
    font-size: 48px;
}

.tlb-pdp__method-layout {
    display: grid;
    grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.28fr);
    gap: 72px;
}

.tlb-pdp__method-head {
    position: sticky;
    top: 42px;
    align-self: start;
}

.tlb-pdp__method-head .tlb-pdp__display {
    font-size: 40px;
}

.tlb-pdp__method-layout .tlb-pdp__point-list {
    margin-top: 0;
}

.tlb-pdp__method-layout .tlb-pdp__point {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 22px;
}

.tlb-pdp__method-layout .tlb-pdp__point-number {
    font-size: 46px;
}

.tlb-pdp__method-page {
    width: min(76%, 330px);
    margin: 32px 0 8px auto;
    transform: rotate(2deg);
}

.tlb-pdp__method-layout .tlb-pdp__point:nth-child(even) .tlb-pdp__method-page {
    margin-right: auto;
    margin-left: 0;
    transform: rotate(-2deg);
}

.tlb-pdp__section--evidence {
    overflow: hidden;
}

.tlb-pdp__gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 82px -56px 70px;
    align-items: center;
}

.tlb-pdp__gallery-item {
    margin: 0;
    transform: rotate(-3deg);
}

.tlb-pdp__gallery-item:nth-child(2) {
    transform: translateY(42px) rotate(2deg);
}

.tlb-pdp__gallery-item:nth-child(3) {
    transform: translateY(-24px) rotate(-1deg);
}

.tlb-pdp__gallery-item:nth-child(4) {
    transform: translateY(24px) rotate(3deg);
}

.tlb-pdp__section--evidence .tlb-pdp__feature-lines {
    border-bottom-color: rgba(255, 255, 255, 0.2);
}

.tlb-pdp__section--evidence .tlb-pdp__feature-lines p {
    border-top-color: rgba(255, 255, 255, 0.2);
}

.tlb-pdp__author {
    display: grid;
    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
    align-items: center;
    gap: 72px;
}

.tlb-pdp__author-photo {
    margin: 0;
}

.tlb-pdp__author-photo img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}

.tlb-pdp__author-copy .tlb-pdp__author-quote p {
    font-size: 42px;
}

.tlb-pdp__author-meta {
    margin: 32px 0 0;
    padding-top: 20px;
    border-top: 1px solid var(--tlb-pdp-line);
    color: var(--tlb-pdp-muted);
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-text);
}

.tlb-pdp__decision {
    display: grid;
    grid-template-columns: 1.18fr 0.82fr;
    margin-top: 64px;
}

.tlb-pdp__decision-side {
    min-height: 430px;
    padding: 48px;
}

.tlb-pdp__decision-side strong {
    display: block;
    margin-bottom: 34px;
    font-family: var(--tlb-font-head);
    font-size: 26px;
    font-weight: 700;
}

.tlb-pdp__decision-side p {
    margin: 0;
    padding: 20px 0;
    border-top: 1px solid currentColor;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-text);
}

.tlb-pdp__decision-side--yes {
    color: var(--tlb-pdp-ink);
    background: var(--tlb-pdp-accent-soft);
}

.tlb-pdp__decision-side--no {
    color: rgba(255, 255, 255, 0.78);
    background: var(--tlb-pdp-ink);
}

.tlb-pdp__proof-page {
    width: min(86%, 420px);
    margin: 0 auto;
    transform: rotate(2deg);
}

.tlb-pdp__closing-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    align-items: end;
    gap: 70px;
}

.tlb-pdp__closing-book {
    margin: 0;
}

.tlb-pdp__closing-book img {
    width: 100%;
    filter: drop-shadow(0 32px 45px rgba(0, 0, 0, 0.45));
}

@media (max-width: 768px) {
    .tlb-pdp__section {
        padding: 64px 0;
    }

    .tlb-pdp__section--compact {
        padding-block: 38px;
    }

    .tlb-pdp__hero {
        padding-block: 68px 0;
    }

    .tlb-pdp__hero-grid,
    .tlb-pdp__proof-grid {
        grid-template-columns: 1fr;
        gap: 38px;
        min-height: 0;
    }

    .tlb-pdp__hero-copy {
        padding-bottom: 0;
    }

    .tlb-pdp__hero-grid--scene,
    .tlb-pdp__method-layout,
    .tlb-pdp__author,
    .tlb-pdp__closing-layout {
        grid-template-columns: 1fr;
    }

    .tlb-pdp__hero-stage {
        min-height: 510px;
    }

    .tlb-pdp__hero-stage .tlb-pdp__hero-book {
        top: 70px;
        width: min(82%, 360px);
    }

    .tlb-pdp__hero-sheet {
        width: 39%;
    }

    .tlb-pdp__hero-sheet--back {
        left: 5px;
    }

    .tlb-pdp__hero-sheet--front {
        right: 5px;
    }

    .tlb-pdp__hero-word {
        right: 0;
        font-size: 52px;
    }

    .tlb-pdp__scene {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .tlb-pdp__scene-media,
    .tlb-pdp__scene-copy {
        grid-row: auto;
        grid-column: 1;
    }

    .tlb-pdp__scene-media {
        height: min(120vw, 620px);
    }

    .tlb-pdp__scene-copy {
        padding: 68px 20px;
    }

    .tlb-pdp__scene-copy .tlb-pdp__display,
    .tlb-pdp__method-head .tlb-pdp__display {
        font-size: 34px;
    }

    .tlb-pdp__method-head {
        position: static;
    }

    .tlb-pdp__method-layout {
        gap: 24px;
    }

    .tlb-pdp__method-page {
        width: min(86%, 330px);
    }

    .tlb-pdp__gallery {
        display: flex;
        gap: 14px;
        margin: 54px -14px 64px;
        padding: 30px 14px 42px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .tlb-pdp__gallery-item,
    .tlb-pdp__gallery-item:nth-child(n) {
        width: 72vw;
        flex: 0 0 72vw;
        transform: none;
        scroll-snap-align: center;
    }

    .tlb-pdp__author {
        gap: 40px;
    }

    .tlb-pdp__author-photo img {
        aspect-ratio: 1 / 1;
    }

    .tlb-pdp__author-copy .tlb-pdp__author-quote p {
        font-size: 34px;
    }

    .tlb-pdp__decision {
        grid-template-columns: 1fr;
        margin-top: 44px;
    }

    .tlb-pdp__decision-side {
        min-height: 0;
        padding: 34px 24px;
    }

    .tlb-pdp__closing-layout {
        gap: 54px;
    }

    .tlb-pdp__closing-book {
        width: min(80%, 330px);
        margin-inline: auto;
    }

    .tlb-pdp__hero-title {
        font-size: 42px;
    }

    .tlb-pdp__hero-lead {
        font-size: var(--tlb-fs-body);
    }

    .tlb-pdp__hero-book img {
        width: min(82%, 330px);
    }

    .tlb-pdp__fact-line {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 54px;
    }

    .tlb-pdp__fact-item strong {
        font-size: 32px;
    }

    .tlb-pdp__fact-item:nth-child(2) {
        border-right: 0;
    }

    .tlb-pdp__fact-item:nth-child(n + 3) {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
    }

    .tlb-pdp__series-line {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .tlb-pdp__series-line i {
        display: none;
    }

    .tlb-pdp__display {
        font-size: 36px;
    }

    .tlb-pdp__symptoms,
    .tlb-pdp__point-list,
    .tlb-pdp__review-list,
    .tlb-pdp__faq-list {
        margin-top: 46px;
    }

    .tlb-pdp__symptom,
    .tlb-pdp__point,
    .tlb-pdp__review,
    .tlb-pdp__faq,
    .tlb-pdp__format-line {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .tlb-pdp__symptom p {
        font-size: 21px;
    }

    .tlb-pdp__statement,
    .tlb-pdp__closing {
        padding-block: 88px;
    }

    .tlb-pdp__point-number {
        font-size: 52px;
    }

    .tlb-pdp__point-copy h3 {
        font-size: 23px;
    }

    .tlb-pdp__spread {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 44px;
    }

    .tlb-pdp__author-quote p {
        font-size: 36px;
    }

    .tlb-pdp__review p {
        font-size: 23px;
    }

    .tlb-pdp__closing-row {
        align-items: stretch;
        flex-direction: column;
    }

    .tlb-pdp__outer,
    .tlb-pdp__inner {
        width: min(100% - 28px, var(--tlb-pdp-outer));
    }

    .tlb-pdp__lead,
    .tlb-pdp__body {
        font-size: var(--tlb-fs-body);
    }

}
/* ===== CENTRAL PDP SYSTEM END ===== */

/* ===== PRINCIPLE STORY PDP ==================================================
   실제 교재 지면을 중심에 두는 Principle (상)/(하) 전용 상세페이지.
   이전 카드형 PDP와 분리하되, 모든 상품 CSS는 이 파일에서만 관리한다.
   ========================================================================== */
.tlb_detail_wrapper > .tlb-story-pdp {
    --tlb-story-paper: #f5f4ef;
    --tlb-story-ink: #171717;
    --tlb-story-muted: #64635f;
    --tlb-story-line: #d8d6ce;
    --tlb-story-accent: #3569b4;
    width: 100%;
    overflow: hidden;
    background: var(--tlb-story-paper);
    color: var(--tlb-story-ink);
    font-family: var(--tlb-font-head);
    isolation: isolate;
}

.tlb_detail_wrapper > .tlb-story-pdp.tlb-story-pdp--principle-ha {
    --tlb-story-accent: #7540a6;
}

.tlb-story-pdp *,
.tlb-story-pdp *::before,
.tlb-story-pdp *::after {
    box-sizing: border-box;
}

.tlb-story-pdp h1,
.tlb-story-pdp h2,
.tlb-story-pdp p,
.tlb-story-pdp figure,
.tlb-story-pdp blockquote,
.tlb-story-pdp dl,
.tlb-story-pdp dd {
    margin: 0;
}

.tlb-story-pdp img {
    display: block;
    width: 100%;
    height: auto;
}

.tlb-story-pdp__wrap {
    width: min(100% - 64px, 1120px);
    margin: 0 auto;
}

.tlb-story-pdp__narrow {
    width: min(100% - 64px, 820px);
}

.tlb-story-pdp__folio {
    color: var(--tlb-story-accent);
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
    line-height: var(--tlb-lh-ui);
}

.tlb-story-pdp h1,
.tlb-story-pdp h2 {
    color: var(--tlb-story-ink);
    font-family: var(--tlb-font-head);
    font-weight: 700;
    letter-spacing: 0;
    word-break: keep-all;
}

.tlb-story-pdp h1 {
    margin-top: 22px;
    font-size: clamp(42px, 4.3vw, 64px);
    line-height: var(--tlb-lh-tight);
}

.tlb-story-pdp h2 {
    font-size: var(--tlb-fs-h2);
    line-height: var(--tlb-lh-head);
}

.tlb-story-pdp__hero {
    padding: 112px 0 134px;
}

.tlb-story-pdp__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.42fr);
    align-items: end;
    gap: clamp(42px, 8vw, 122px);
}

.tlb-story-pdp__hero-copy > p:last-child {
    max-width: 590px;
    margin-top: 30px;
    color: var(--tlb-story-muted);
    font-size: 20px;
    font-weight: 500;
    line-height: var(--tlb-lh-text);
    word-break: keep-all;
}

.tlb-story-pdp__cover {
    width: min(100%, 286px);
    margin: 0;
    background: transparent;
}

.tlb-story-pdp__cover img {
    aspect-ratio: 0.7;
    mix-blend-mode: multiply;
    object-fit: cover;
}

.tlb-story-pdp__block,
.tlb-story-pdp__lecture,
.tlb-story-pdp__ledger,
.tlb-story-pdp__closing {
    border-top: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__block {
    padding: 148px 0;
}

.tlb-story-pdp__block--diagnosis h2 {
    max-width: 710px;
}

.tlb-story-pdp__body,
.tlb-story-pdp__lecture p,
.tlb-story-pdp__ledger p {
    color: var(--tlb-story-muted);
    font-size: 19px;
    font-weight: 500;
    line-height: var(--tlb-lh-body);
    word-break: keep-all;
}

.tlb-story-pdp__body {
    max-width: 700px;
    margin-top: 26px;
}

.tlb-story-pdp__diagnosis {
    margin: 56px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__diagnosis li {
    position: relative;
    padding: 23px 0 23px 26px;
    border-bottom: 1px solid var(--tlb-story-line);
    font-size: 19px;
    font-weight: 600;
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
}

.tlb-story-pdp__diagnosis li::before {
    position: absolute;
    top: 35px;
    left: 1px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--tlb-story-accent);
    content: '';
}

.tlb-story-pdp__proof {
    padding: 142px 0 156px;
    border-top: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__proof h2 {
    margin-top: 20px;
}

.tlb-story-pdp__page {
    margin: 0;
    border: 1px solid var(--tlb-story-line);
    background: #fff;
}

.tlb-story-pdp__page figcaption {
    padding: 14px 16px 15px;
    border-top: 1px solid var(--tlb-story-line);
    color: var(--tlb-story-muted);
    font-size: var(--tlb-fs-caption);
    font-weight: 600;
    line-height: var(--tlb-lh-ui);
}

.tlb-story-pdp__page--wall {
    width: min(100% - 64px, 1120px);
    margin: 66px auto 0;
}

.tlb-story-pdp__page-crop {
    height: 642px;
    overflow: hidden;
    background: #fff;
}

.tlb-story-pdp__page-crop img {
    min-height: 100%;
    object-fit: cover;
    object-position: 50% 20%;
}

.tlb-story-pdp__method-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.65fr);
    align-items: start;
    gap: clamp(48px, 9vw, 132px);
}

.tlb-story-pdp__method-grid .tlb-story-pdp__page {
    margin-top: 8px;
}

.tlb-story-pdp__terms {
    margin-top: 62px;
    border-top: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__terms > div {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 26px;
    padding: 21px 0;
    border-bottom: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__terms dt {
    color: var(--tlb-story-accent);
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    line-height: var(--tlb-lh-compact);
}

.tlb-story-pdp__terms dd {
    font-size: var(--tlb-fs-read);
    font-weight: 600;
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
}

.tlb-story-pdp__contents-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(48px, 9vw, 132px);
}

.tlb-story-pdp__contents-grid h2 {
    margin-top: 22px;
}

.tlb-story-pdp__contents-grid .tlb-story-pdp__body {
    margin-top: 25px;
}

.tlb-story-pdp__page--method {
    width: min(100%, 470px);
    margin-top: 48px;
}

.tlb-story-pdp__block--inside h2 {
    margin-top: 20px;
}

.tlb-story-pdp__sequence {
    display: grid;
    grid-template-columns: minmax(220px, 0.86fr) minmax(250px, 0.9fr) minmax(220px, 0.86fr);
    align-items: center;
    gap: clamp(26px, 5vw, 72px);
    margin-top: 68px;
}

.tlb-story-pdp__sequence-copy {
    border-top: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__sequence-copy > div {
    padding: 24px 0;
    border-bottom: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__sequence-copy strong {
    color: var(--tlb-story-accent);
    font-size: var(--tlb-fs-body);
    font-weight: 700;
}

.tlb-story-pdp__sequence-copy p {
    margin-top: 9px;
    color: var(--tlb-story-muted);
    font-size: var(--tlb-fs-body);
    font-weight: 500;
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
}

.tlb-story-pdp__lecture {
    padding: 118px 0;
}

.tlb-story-pdp__lecture h2 {
    margin: 20px 0 24px;
}

.tlb-story-pdp__reviews {
    margin-top: 58px;
    border-top: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__review-item {
    padding: 35px 0 32px;
    border-bottom: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__review-item p {
    font-size: 22px;
    font-weight: 600;
    line-height: var(--tlb-lh-text);
    word-break: keep-all;
}

.tlb-story-pdp__review-item cite {
    display: block;
    margin-top: 16px;
    color: var(--tlb-story-muted);
    font-size: var(--tlb-fs-caption);
    font-style: normal;
    font-weight: 600;
}

.tlb-story-pdp__route {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(300px, 0.75fr);
    gap: clamp(48px, 10vw, 152px);
    align-items: start;
}

.tlb-story-pdp__route h2 {
    margin-top: 20px;
}

.tlb-story-pdp__route ul {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__route li {
    padding: 20px 0;
    border-bottom: 1px solid var(--tlb-story-line);
    font-size: var(--tlb-fs-read);
    font-weight: 600;
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
}

.tlb-story-pdp__route-note {
    margin-top: 30px;
    color: var(--tlb-story-muted);
    font-size: var(--tlb-fs-small);
    font-weight: 500;
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
}

.tlb-story-pdp__ledger {
    padding: 145px 0;
}

.tlb-story-pdp__ledger-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(360px, 0.84fr);
    gap: clamp(48px, 9vw, 132px);
    align-items: start;
}

.tlb-story-pdp__ledger h2 {
    margin: 20px 0 25px;
}

.tlb-story-pdp__ledger table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid var(--tlb-story-ink);
    font-size: var(--tlb-fs-body);
}

.tlb-story-pdp__ledger th,
.tlb-story-pdp__ledger td {
    padding: 18px 0;
    border-bottom: 1px solid var(--tlb-story-line);
    text-align: left;
    vertical-align: top;
    line-height: var(--tlb-lh-ui);
}

.tlb-story-pdp__ledger th {
    width: 36%;
    color: var(--tlb-story-muted);
    font-weight: 600;
}

.tlb-story-pdp__ledger td {
    font-weight: 700;
    word-break: keep-all;
}

.tlb-story-pdp__faq {
    margin-top: 2px;
    border-top: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__faq-row {
    padding: 28px 0;
    border-bottom: 1px solid var(--tlb-story-line);
}

.tlb-story-pdp__faq-row strong {
    display: block;
    font-size: var(--tlb-fs-lead);
    font-weight: 700;
    line-height: var(--tlb-lh-ui);
    word-break: keep-all;
}

.tlb-story-pdp__faq-row p {
    margin-top: 13px;
    color: var(--tlb-story-muted);
    font-size: var(--tlb-fs-body);
    font-weight: 500;
    line-height: var(--tlb-lh-text);
    word-break: keep-all;
}

.tlb-story-pdp__closing {
    padding: 118px 0 132px;
}

.tlb-story-pdp__closing-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 0.35fr);
    align-items: end;
    gap: clamp(48px, 12vw, 170px);
}

.tlb-story-pdp__closing h2 {
    margin: 20px 0 24px;
}

.tlb-story-pdp__closing p:last-child {
    color: var(--tlb-story-muted);
    font-size: var(--tlb-fs-body);
    font-weight: 600;
}

.tlb-story-pdp__closing .tlb-story-pdp__cover {
    width: min(100%, 220px);
    justify-self: end;
}

@media (max-width: 760px) {
    .tlb-story-pdp__wrap,
    .tlb-story-pdp__narrow,
    .tlb-story-pdp__page--wall {
        width: min(100% - 36px, 1120px);
    }

    .tlb-story-pdp__hero {
        padding: 72px 0 82px;
    }

    .tlb-story-pdp__hero-grid,
    .tlb-story-pdp__method-grid,
    .tlb-story-pdp__contents-grid,
    .tlb-story-pdp__route,
    .tlb-story-pdp__ledger-grid,
    .tlb-story-pdp__closing-grid {
        grid-template-columns: 1fr;
    }

    .tlb-story-pdp__hero-grid {
        gap: 42px;
    }

    .tlb-story-pdp h1 {
        margin-top: 18px;
        font-size: 40px;
    }

    .tlb-story-pdp h2 {
        font-size: 27px;
        line-height: var(--tlb-lh-head);
    }

    .tlb-story-pdp__hero-copy > p:last-child,
    .tlb-story-pdp__body,
    .tlb-story-pdp__lecture p,
    .tlb-story-pdp__ledger p {
        font-size: var(--tlb-fs-read);
    }

    .tlb-story-pdp__cover {
        width: min(62vw, 232px);
    }

    .tlb-story-pdp__block {
        padding: 92px 0;
    }

    .tlb-story-pdp__proof {
        padding: 94px 0 100px;
    }

    .tlb-story-pdp__page--wall {
        margin-top: 42px;
    }

    .tlb-story-pdp__page-crop {
        height: 420px;
    }

    .tlb-story-pdp__page-crop img {
        width: 132%;
        max-width: none;
        min-height: 0;
        transform: translateX(-6%);
    }

    .tlb-story-pdp__method-grid,
    .tlb-story-pdp__contents-grid,
    .tlb-story-pdp__route,
    .tlb-story-pdp__ledger-grid {
        gap: 46px;
    }

    .tlb-story-pdp__terms {
        margin-top: 40px;
    }

    .tlb-story-pdp__terms > div {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 16px;
    }

    .tlb-story-pdp__contents-grid > .tlb-story-pdp__page {
        width: min(100%, 390px);
    }

    .tlb-story-pdp__page--method {
        margin-top: 36px;
    }

    .tlb-story-pdp__sequence {
        grid-template-columns: 1fr;
        gap: 34px;
        margin-top: 44px;
    }

    .tlb-story-pdp__sequence .tlb-story-pdp__page {
        width: min(100%, 390px);
    }

    .tlb-story-pdp__lecture,
    .tlb-story-pdp__closing {
        padding: 88px 0;
    }

    .tlb-story-pdp__review-item p {
        font-size: 19px;
    }

    .tlb-story-pdp__ledger {
        padding: 92px 0;
    }

    .tlb-story-pdp__ledger table {
        font-size: var(--tlb-fs-small);
    }

    .tlb-story-pdp__ledger th {
        width: 39%;
    }

    .tlb-story-pdp__closing .tlb-story-pdp__cover {
        justify-self: start;
        width: min(54vw, 200px);
    }
}
/* ===== PRINCIPLE STORY PDP END ============================================ */

/* ==========================================================================
   TLB PRODUCT v3 ARCHETYPE — 교재 해부 기록 (Principle 상·하 전용)
   ========================================================================== */

/* 캔버스 및 루트 변수 */
.tlb-pdp__canvas[data-pdp-tone="principle-sang"] {
    --pdp-tone-color: #3569B4 !important; /* 상권 표식색 (남색/파랑) */
    --pdp-tone-light: rgba(53, 105, 180, 0.08) !important;
}
.tlb-pdp__canvas[data-pdp-tone="principle-ha"] {
    --pdp-tone-color: #7540A6 !important; /* 하권 표식색 (보라) */
    --pdp-tone-light: rgba(117, 64, 166, 0.08) !important;
}

.tlb-pdp__canvas {
    background-color: #F5F4EF !important;
    color: #171717 !important;
    font-family: var(--tlb-font-head) !important;
    letter-spacing: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.tlb-pdp__canvas *,
.tlb-pdp__canvas *:before,
.tlb-pdp__canvas *:after {
    box-sizing: border-box !important;
}

/* 캔버스 내 섹션 구조 */
.tlb-pdp__canvas .tlb-pdp__section {
    width: 100% !important;
    max-width: 100% !important;
    padding: 100px 20px !important;
    border-bottom: 1px solid #D8D6CE !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: #F5F4EF !important;
}

/* 첫 화면(Hero)은 구분선 없음 또는 더 컴팩트한 패딩 */
.tlb-pdp__canvas .tlb-pdp__section--gate {
    padding: 40px 20px 20px 20px !important;
    border-bottom: none !important;
}

.tlb-pdp__canvas .tlb-pdp__inner {
    width: 100% !important;
    max-width: 980px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

/* 게이트 링크 */
.tlb-pdp__gate-links {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 16px !important;
    margin-top: 8px !important;
}
.tlb-pdp__gate-link {
    color: #65645F !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s !important;
}
.tlb-pdp__gate-link:hover,
.tlb-pdp__gate-link.active {
    color: #171717 !important;
    font-weight: 700 !important;
}
.tlb-pdp__gate-sep {
    color: #D8D6CE !important;
}

/* Folio (메타데이터 표식) */
.tlb-pdp__folio {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--pdp-tone-color) !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
}

/* 제목 및 본문 타이포그래피 */
.tlb-pdp__canvas h1.tlb-pdp__hero-title {
    font-family: var(--tlb-font-head) !important;
    font-size: 38px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #171717 !important;
    margin: 0 0 24px 0 !important;
    letter-spacing: -0.02em !important;
}

.tlb-pdp__canvas p.tlb-pdp__hero-lead {
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #65645F !important;
    margin: 0 !important;
    max-width: 680px !important;
}

.tlb-pdp__canvas h2.tlb-pdp__section-title {
    font-family: var(--tlb-font-head) !important;
    font-size: 30px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #171717 !important;
    margin: 0 0 20px 0 !important;
    letter-spacing: -0.01em !important;
}

.tlb-pdp__canvas p.tlb-pdp__section-lead {
    font-size: 17px !important;
    line-height: 1.65 !important;
    color: #65645F !important;
    margin: 0 0 40px 0 !important;
    max-width: 720px !important;
}

/* 히어로 레이아웃 */
.tlb-pdp__hero-layout {
    display: grid !important;
    grid-template-columns: 1.2fr 0.8fr !important;
    gap: 40px !important;
    width: 100% !important;
    align-items: center !important;
}

.tlb-pdp__hero-cover-container {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.tlb-pdp__hero-cover {
    width: 100% !important;
    max-width: 320px !important;
    height: auto !important;
    border: 1px solid #D8D6CE !important;
    display: block !important;
}

/* 진단 리스트 */
.tlb-pdp__diagnosis-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 720px !important;
}
.tlb-pdp__diagnosis-list li {
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #171717 !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid #D8D6CE !important;
    display: flex !important;
    align-items: flex-start !important;
}
.tlb-pdp__diagnosis-list li:before {
    content: "·" !important;
    font-weight: 900 !important;
    color: var(--pdp-tone-color) !important;
    margin-right: 12px !important;
}
.tlb-pdp__diagnosis-list li:last-child {
    border-bottom: none !important;
}

/* 원본 페이지 크롭 (150~220% 확대해서 본문이 읽히도록) */
.tlb-pdp__page-crop {
    width: 100% !important;
    max-width: 980px !important;
    height: 480px !important;
    overflow: hidden !important;
    border: 1px solid #D8D6CE !important;
    background-color: #ffffff !important;
    margin: 20px auto 16px auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    position: relative !important;
}

.tlb-pdp__page-crop img {
    width: 160% !important; /* 160% 확대 크롭 */
    max-width: none !important;
    height: auto !important;
    display: block !important;
    transform: translateY(-8%) !important; /* 위쪽 영역 크롭 */
}

/* 학습 장치 등의 컴팩트 크롭 */
.tlb-pdp__page-crop--small {
    height: 240px !important;
    margin: 0 0 16px 0 !important;
}
.tlb-pdp__page-crop--small img {
    width: 140% !important;
    transform: translateY(-5%) !important;
}

.tlb-pdp__page-caption {
    font-size: 14px !important;
    color: #65645F !important;
    margin: 0 !important;
    text-align: left !important;
}

/* 방법론 레이아웃 */
.tlb-pdp__method-layout {
    display: grid !important;
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 48px !important;
    width: 100% !important;
    align-items: flex-start !important;
}
.tlb-pdp__method-steps {
    margin: 32px 0 0 0 !important;
    padding: 0 !important;
}
.tlb-pdp__method-steps dt {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--pdp-tone-color) !important;
    margin-bottom: 8px !important;
}
.tlb-pdp__method-steps dd {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #65645F !important;
    margin: 0 0 24px 0 !important;
}
.tlb-pdp__method-steps dd:last-child {
    margin-bottom: 0 !important;
}

/* 학습 장치 그리드 (3개) */
.tlb-pdp__inside-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    margin-top: 20px !important;
}
.tlb-pdp__inside-item {
    display: flex !important;
    flex-direction: column !important;
}
.tlb-pdp__inside-copy strong {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #171717 !important;
    display: block !important;
    margin-bottom: 8px !important;
}
.tlb-pdp__inside-copy p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #65645F !important;
    margin: 0 !important;
}

/* 장부 (Ledger) */
.tlb-pdp__ledger {
    width: 100% !important;
    max-width: 720px !important;
    border-top: 2px solid #171717 !important;
    border-bottom: 2px solid #171717 !important;
    margin: 30px 0 !important;
}
.tlb-pdp__ledger table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: var(--tlb-font-head) !important;
}
.tlb-pdp__ledger th {
    padding: 16px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #65645F !important;
    text-align: left !important;
    border-bottom: 1px solid #D8D6CE !important;
    width: 35% !important;
}
.tlb-pdp__ledger td {
    padding: 16px 20px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #171717 !important;
    text-align: left !important;
    border-bottom: 1px solid #D8D6CE !important;
}
.tlb-pdp__ledger tr:last-child th,
.tlb-pdp__ledger tr:last-child td {
    border-bottom: none !important;
}
.tlb-pdp__ledger-notice {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #65645F !important;
    margin: 0 !important;
    max-width: 720px !important;
}

/* 학습 경로 (Route) */
.tlb-pdp__route {
    width: 100% !important;
    max-width: 720px !important;
    margin: 10px 0 !important;
}
.tlb-pdp__route-step {
    border-left: 2px solid var(--pdp-tone-color) !important;
    padding-left: 24px !important;
    margin-bottom: 40px !important;
    position: relative !important;
}
.tlb-pdp__route-step:last-child {
    margin-bottom: 0 !important;
}
.tlb-pdp__route-step:before {
    content: "" !important;
    position: absolute !important;
    left: -6px !important;
    top: 4px !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background-color: var(--pdp-tone-color) !important;
}
.tlb-pdp__route-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #171717 !important;
    margin-bottom: 12px !important;
}
.tlb-pdp__route-desc {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #65645F !important;
}
.tlb-pdp__route-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.tlb-pdp__route-list li {
    margin-bottom: 10px !important;
    padding-left: 12px !important;
    position: relative !important;
    color: #171717 !important;
}
.tlb-pdp__route-list li:before {
    content: "-" !important;
    position: absolute !important;
    left: 0 !important;
    color: var(--pdp-tone-color) !important;
}
.tlb-pdp__route-list li:last-child {
    margin-bottom: 0 !important;
}

/* 저자 소개 레이아웃 */
.tlb-pdp__author-layout {
    display: grid !important;
    grid-template-columns: 1.2fr 0.8fr !important;
    gap: 48px !important;
    width: 100% !important;
    align-items: flex-start !important;
}
.tlb-pdp__author-bio {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #65645F !important;
    margin: 0 0 24px 0 !important;
}
.tlb-pdp__author-history {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.tlb-pdp__author-history li {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #171717 !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #D8D6CE !important;
}
.tlb-pdp__author-history li:last-child {
    border-bottom: none !important;
}

/* 리뷰 (Transcript) */
.tlb-pdp__transcript {
    width: 100% !important;
    max-width: 720px !important;
    padding: 32px 0 !important;
    border-bottom: 1px solid #D8D6CE !important;
}
.tlb-pdp__transcript:first-child {
    padding-top: 0 !important;
}
.tlb-pdp__transcript:last-child {
    border-bottom: none !important;
}
.tlb-pdp__transcript-quote {
    font-size: 17px !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    color: #171717 !important;
    margin-bottom: 12px !important;
}
.tlb-pdp__transcript-id {
    font-size: 13px !important;
    color: #65645F !important;
    font-weight: 600 !important;
}

/* FAQ 구조 */
.tlb-pdp__faq-row {
    width: 100% !important;
    max-width: 720px !important;
    padding: 24px 0 !important;
    border-bottom: 1px solid #D8D6CE !important;
}
.tlb-pdp__faq-row:first-child {
    padding-top: 0 !important;
}
.tlb-pdp__faq-row:last-child {
    border-bottom: none !important;
}
.tlb-pdp__faq-row strong {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #171717 !important;
    display: block !important;
    margin-bottom: 8px !important;
}
.tlb-pdp__faq-row p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #65645F !important;
    margin: 0 !important;
}

/* 반응형 스타일 */
@media (max-width: 768px) {
    .tlb-pdp__canvas .tlb-pdp__section {
        padding: 60px 16px !important;
    }
    
    .tlb-pdp__hero-layout,
    .tlb-pdp__method-layout,
    .tlb-pdp__author-layout {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    
    .tlb-pdp__inside-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    
    .tlb-pdp__canvas h1.tlb-pdp__hero-title {
        font-size: 28px !important;
    }
    
    .tlb-pdp__canvas h2.tlb-pdp__section-title {
        font-size: 24px !important;
    }
    
    .tlb-pdp__page-crop {
        height: 320px !important;
    }
    .tlb-pdp__page-crop img {
        width: 180% !important;
    }
}

/* ===== Principle PDP: SSOT component assembly with editorial motion ===== */
.tlb-principle-text {
    --principle-accent: #4a86e8;
    --principle-accent-bright: #7fa8f0;
    --principle-accent-deep: #18366e;
    --principle-ink: #0b0b0d;
    --principle-line: rgba(255, 255, 255, .16);
    width: min(100%, 980px);
    margin: 0 auto;
    overflow: hidden;
    color: #fff;
    background: #0b0b0d;
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-fs-body);
    font-weight: 400;
    line-height: var(--tlb-lh-text);
    letter-spacing: 0;
    word-break: keep-all;
}

.tlb-principle-text--ha {
    --principle-accent: #962de3;
    --principle-accent-bright: #b05cf0;
    --principle-accent-deep: #4d0f73;
}

.tlb-principle-text *,
.tlb-principle-text *::before,
.tlb-principle-text *::after {
    box-sizing: border-box;
}

.tlb-principle-text h1,
.tlb-principle-text h2,
.tlb-principle-text h3,
.tlb-principle-text h4,
.tlb-principle-text p,
.tlb-principle-text blockquote,
.tlb-principle-text figure {
    margin: 0;
}

.tlb-principle-text h1,
.tlb-principle-text h2,
.tlb-principle-text h3,
.tlb-principle-text h4,
.tlb-principle-text summary {
    font-family: var(--tlb-font-head);
    font-weight: 700;
    letter-spacing: 0;
}

.tlb-principle-text em {
    color: var(--principle-accent);
    font-style: normal;
}

.tlb-principle-text img {
    display: block;
    max-width: 100%;
    height: auto;
}

.tlb-principle-text__section {
    position: relative;
    padding: 120px 0;
}

.tlb-principle-text__inner {
    position: relative;
    z-index: 1;
    width: min(720px, calc(100% - 56px));
    margin: 0 auto;
}

.tlb-principle-text__section h2 {
    font-size: 44px;
    line-height: var(--tlb-lh-title);
}

.tlb-principle-text__section h3 {
    font-size: 32px;
    line-height: var(--tlb-lh-head);
}

.tlb-principle-text__section p {
    overflow-wrap: anywhere;
}

.tlb-principle-text__kicker,
.tlb-principle-text__english,
.tlb-principle-text__point-number {
    margin-bottom: 22px !important;
    color: var(--principle-accent);
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    line-height: var(--tlb-lh-head);
    letter-spacing: 0;
}

.tlb-principle-text__subhead {
    margin-top: 26px !important;
    color: #b9bdc8;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tlb-principle-text__long-copy {
    max-width: 720px;
    margin-top: 60px !important;
    color: #aeb3be;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-body);
}

.tlb-principle-text__edition {
    padding: 160px 0;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(125deg, #08090c 0%, #10234a 32%, #15151b 58%, #0b0b0d 100%);
    background-size: 220% 220%;
    animation: tlb-principle-ambient 16s ease-in-out infinite alternate;
}

.tlb-principle-text--ha .tlb-principle-text__edition {
    background: linear-gradient(125deg, #09080c 0%, #351049 32%, #1a111f 58%, #0b0b0d 100%);
    background-size: 220% 220%;
}

.tlb-principle-text__edition::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(105deg, transparent 15%, rgba(255, 255, 255, .08) 42%, transparent 68%);
    background-size: 240% 100%;
    content: '';
    animation: tlb-principle-light-sweep 9s ease-in-out infinite;
    pointer-events: none;
}

.tlb-principle-text__edition-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    width: min(932px, calc(100% - 48px));
    text-align: center;
}

.tlb-principle-text__english {
    color: var(--principle-accent-bright);
    font-size: var(--tlb-fs-micro);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.tlb-principle-text__edition h1 {
    color: #fff;
    font-size: 64px;
    line-height: var(--tlb-lh-tight);
}

.tlb-principle-text__edition-meta {
    color: #8f939b;
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
}

.tlb-principle-text__edition-lead {
    max-width: 720px;
    margin-top: 28px !important;
    color: #b9bdc5;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-body);
}

.tlb-principle-text__edition-lead strong {
    color: #fff;
    font-weight: 700;
}

.tlb-principle-text__book {
    width: min(100%, 720px);
    margin: 0 auto;
    filter: drop-shadow(0 34px 44px rgba(0, 0, 0, .36));
    transition: transform .65s cubic-bezier(.2, .8, .2, 1), filter .65s ease;
    animation: tlb-principle-hero-in 1.1s cubic-bezier(.2, .8, .2, 1) both;
}

.tlb-principle-text__book:hover {
    transform: translateY(-8px) scale(1.01);
    filter: drop-shadow(0 44px 60px rgba(0, 0, 0, .48));
}

.tlb-principle-text__edition-update {
    background: #141418;
}

.tlb-principle-text__edition-update > .tlb-principle-text__inner:first-child {
    text-align: center;
}

.tlb-principle-text__edition-update-lead {
    max-width: 680px;
    margin: 24px auto 0 !important;
    color: #a9adb5;
    font-size: var(--tlb-fs-lead);
}

.tlb-principle-text__edition-benefits {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    width: min(860px, calc(100% - 56px));
    max-width: none;
    margin-top: 64px;
}

.tlb-principle-text__edition-benefit {
    min-height: 0;
    display: grid;
    grid-template-columns: 72px 250px minmax(0, 1fr);
    align-items: center;
    gap: 28px;
    padding: 34px 38px;
    border: 1px solid #2d2d32;
    border-radius: 6px;
    background: #1a1a1f;
    color: #fff;
    text-align: left;
}

.tlb-principle-text__edition-benefit > span {
    color: var(--principle-accent-bright);
    font-size: 28px;
    font-weight: 700;
}

.tlb-principle-text__edition-benefit > strong {
    display: block;
    font-family: var(--tlb-font-head);
    font-size: 22px;
    line-height: var(--tlb-lh-head);
}

.tlb-principle-text__edition-benefit em {
    color: var(--principle-accent-bright);
}

.tlb-principle-text__edition-benefit p {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
    color: #aeb1b8;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-text);
}

.tlb-principle-text__edition-mood {
    width: min(932px, calc(100% - 48px));
    margin: 64px auto 0 !important;
    overflow: hidden;
    border-radius: 8px;
}

.tlb-principle-text__edition-mood img {
    width: 100%;
    aspect-ratio: 3 / 1;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.2, .8, .2, 1), filter 1.2s ease;
}

.tlb-principle-text__edition-mood:hover img {
    transform: scale(1.025);
    filter: saturate(1.12) contrast(1.04);
}

.tlb-principle-text__visual-break {
    position: relative;
    height: 620px;
    overflow: hidden;
    background: #08090c;
}

.tlb-principle-text__visual-stage {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.tlb-principle-text__visual-stage::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .12) 48%, transparent 100%);
    background-size: 35% 100%;
    background-repeat: no-repeat;
    content: '';
    animation: tlb-principle-stage-scan 8s ease-in-out infinite;
    pointer-events: none;
}

.tlb-principle-text__visual-stage::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(4, 6, 12, .84) 0%, rgba(4, 6, 12, .46) 44%, rgba(4, 6, 12, .08) 76%), linear-gradient(0deg, rgba(4, 6, 12, .58), transparent 48%);
    content: '';
    pointer-events: none;
}

.tlb-principle-text__visual-stage > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.025);
    animation: tlb-principle-stage-drift 14s ease-in-out infinite alternate;
}

.tlb-principle-text__visual-stage figcaption {
    position: absolute;
    bottom: 72px;
    left: max(56px, calc((100% - 860px) / 2));
    z-index: 2;
    width: min(680px, calc(100% - 112px));
    color: #fff;
}

.tlb-principle-text__visual-stage h2 {
    font-family: var(--tlb-font-head);
    font-size: 44px;
    font-weight: 700;
    line-height: var(--tlb-lh-title);
    letter-spacing: 0;
    text-shadow: 0 3px 24px rgba(0, 0, 0, .48);
}

@keyframes tlb-principle-ambient {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

@keyframes tlb-principle-light-sweep {
    0%, 20% { background-position: 130% 0; }
    65%, 100% { background-position: -130% 0; }
}

@keyframes tlb-principle-hero-in {
    0% { transform: translateY(22px) scale(.985); filter: brightness(.74) drop-shadow(0 20px 30px rgba(0, 0, 0, .28)); }
    100% { transform: translateY(0) scale(1); filter: brightness(1) drop-shadow(0 34px 44px rgba(0, 0, 0, .36)); }
}

@keyframes tlb-principle-stage-scan {
    0%, 18% { background-position: -70% 0; opacity: 0; }
    35% { opacity: .7; }
    68%, 100% { background-position: 165% 0; opacity: 0; }
}

@keyframes tlb-principle-stage-drift {
    0% { transform: scale(1.025) translateX(-.6%); filter: saturate(.92); }
    100% { transform: scale(1.055) translateX(.6%); filter: saturate(1.08); }
}

.tlb-principle-text__leet-intro {
    background: #0b0b0d;
    text-align: center;
}

.tlb-principle-text__leet-intro .tlb-principle-text__subhead {
    margin-top: 0 !important;
}

.tlb-principle-text__leet-korean {
    margin-top: 82px !important;
    color: var(--principle-accent);
    font-size: 30px;
    font-weight: 700;
}

.tlb-principle-text__leet-word {
    color: #fff;
    font-size: 96px;
    font-weight: 700;
    line-height: var(--tlb-lh-none);
}

.tlb-principle-text__leet-english {
    margin-top: 12px !important;
    color: #777f90;
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
}

.tlb-principle-text__stat-copy {
    margin-top: 76px !important;
    color: #bec3cf;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-body);
}

.tlb-principle-text__stat-copy strong {
    color: #fff;
    font-size: 22px;
}

.tlb-principle-text__leet-intro h2 {
    margin-top: 100px;
}

.tlb-principle-text__speech-list {
    display: grid;
    gap: 18px;
    max-width: 760px;
    margin: 66px auto 0;
    text-align: left;
}

.tlb-principle-text__speech-list p {
    position: relative;
    padding: 24px 30px;
    border: 1px solid #333946;
    border-radius: 6px;
    background: #151922;
    color: #c4c8d2;
    font-size: var(--tlb-fs-body);
}

.tlb-principle-text__speech-list p::before {
    position: absolute;
    top: 50%;
    left: -10px;
    width: 18px;
    height: 18px;
    border-bottom: 1px solid #333946;
    border-left: 1px solid #333946;
    background: #151922;
    content: '';
    transform: translateY(-50%) rotate(45deg);
}

.tlb-principle-text__speech-list strong {
    color: #fff;
}

.tlb-principle-text__no {
    min-height: 0;
    padding: 160px 0;
    background: linear-gradient(125deg, var(--principle-accent-deep) 0%, var(--principle-accent) 48%, #10131b 100%);
    background-size: 180% 180%;
    animation: tlb-principle-ambient 14s ease-in-out infinite alternate;
    text-align: center;
}

.tlb-principle-text__no-label {
    color: rgba(255, 255, 255, .78);
    font-size: var(--tlb-fs-lead);
    font-weight: 700;
}

.tlb-principle-text__no-word {
    color: #fff;
    font-size: 96px;
    font-weight: 700;
    line-height: var(--tlb-lh-none);
}

.tlb-principle-text__no h2 {
    margin-top: 14px;
    font-size: 44px;
}

.tlb-principle-text__no h2 + p {
    margin-top: 38px;
    color: #c6cad3;
    font-size: 22px;
}

.tlb-principle-text__no h2 + p strong {
    color: #fff;
}

.tlb-principle-text__no .tlb-principle-text__long-copy {
    margin-right: auto;
    margin-left: auto;
}

.tlb-principle-text__diagnosis {
    background: #faf7f2;
    color: #16181d;
}

.tlb-principle-text__diagnosis h2 {
    font-size: 44px;
}

.tlb-principle-text__checklist {
    margin: 60px 0 0;
    padding: 0;
    border-top: 2px solid #16181d;
    list-style: none;
}

.tlb-principle-text__checklist li {
    position: relative;
    padding: 26px 12px 26px 58px;
    border-bottom: 1px dashed #aeb4bf;
    color: #3f4249;
    font-size: var(--tlb-fs-body);
}

.tlb-principle-text__checklist li::before {
    position: absolute;
    top: 29px;
    left: 14px;
    width: 24px;
    height: 24px;
    border: 2px solid #4f67a5;
    content: '';
}

.tlb-principle-text__checklist li::after {
    position: absolute;
    top: 33px;
    left: 20px;
    width: 13px;
    height: 7px;
    border-bottom: 3px solid #4f67a5;
    border-left: 3px solid #4f67a5;
    content: '';
    transform: rotate(-45deg);
}

.tlb-principle-text__diagnosis-result {
    margin-top: 54px !important;
    padding: 34px;
    border-top: 6px solid var(--principle-accent);
    background: #111a36;
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    line-height: var(--tlb-lh-compact);
    text-align: center;
}

.tlb-principle-text__diagnosis-result em {
    display: inline-block;
    margin-top: 8px;
    font-size: 28px;
}

.tlb-principle-text__product {
    background: linear-gradient(180deg, #0b0b0d 0%, #111827 54%, #0b0b0d 100%);
    text-align: center;
}

.tlb-principle-text--ha .tlb-principle-text__product {
    background: linear-gradient(180deg, #0b0b0d 0%, #21102b 54%, #0b0b0d 100%);
}

.tlb-principle-text__product > .tlb-principle-text__inner {
    width: min(932px, calc(100% - 48px));
}

.tlb-principle-text__product .tlb-principle-text__subhead {
    color: #fff;
}

.tlb-principle-text__product-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 74px;
    margin-top: 80px;
    padding: 0 0 64px;
}

.tlb-principle-text__product-book {
    width: min(100%, 820px);
    margin: 0 auto;
    filter: drop-shadow(0 30px 44px rgba(0, 0, 0, .38));
    transition: transform .7s cubic-bezier(.2, .8, .2, 1), filter .7s ease;
}

.tlb-principle-text__product-name {
    color: var(--principle-accent);
    font-family: var(--tlb-font-head);
    font-size: 48px;
    font-weight: 700;
    line-height: var(--tlb-lh-tight);
}

.tlb-principle-text__authority-copy {
    max-width: 720px;
    margin: 42px auto 0 !important;
    color: #b8bdc8;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-body);
}

.tlb-principle-text__authority-copy strong {
    color: #fff;
}

.tlb-principle-text__review-list {
    display: grid;
    gap: 28px;
    max-width: 860px;
    margin: 82px auto 0;
    text-align: left;
}

.tlb-principle-text__review {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    padding: 30px 34px 34px;
    border: 0;
    border-radius: 6px;
    background: #fff;
    color: #17191e;
}

.tlb-principle-text__review::before {
    position: absolute;
    top: -13px;
    left: 30px;
    width: 0;
    height: 0;
    border-right: 14px solid transparent;
    border-bottom: 14px solid #fff;
    border-left: 14px solid transparent;
    content: '';
}

.tlb-principle-text__stars {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 16px;
    color: #e52636;
    font-size: 20px;
    letter-spacing: 0;
}

.tlb-principle-text__review blockquote {
    grid-column: 1;
    grid-row: 2;
    color: #30343b;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-body);
}

.tlb-principle-text__review figcaption {
    grid-column: 1;
    grid-row: 1;
    margin-top: 2px;
    color: #555b66;
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
}

.tlb-principle-text__review-note {
    margin-top: 30px !important;
    color: #737a87;
    font-size: var(--tlb-fs-meta);
    text-align: center;
}

.tlb-principle-text__reviews {
    background: #faf7f2;
    color: #211d1b;
}

.tlb-principle-text__reviews > .tlb-principle-text__inner {
    width: min(860px, calc(100% - 56px));
}

.tlb-principle-text__reviews h2 {
    color: #211d1b;
}

.tlb-principle-text__review-intro {
    max-width: 680px;
    margin-top: 24px !important;
    color: #6b625d;
    font-size: var(--tlb-fs-lead);
}

.tlb-principle-text__reviews .tlb-principle-text__review {
    border: 1px solid #e7e1dc;
}

.tlb-principle-text__benefits {
    background: var(--principle-accent);
}

.tlb-principle-text__benefits > .tlb-principle-text__inner {
    width: min(860px, calc(100% - 56px));
}

.tlb-principle-text__benefits h2 {
    text-align: center;
}

.tlb-principle-text__benefits h2 strong {
    color: #fff;
}

.tlb-principle-text__benefit-lines {
    display: grid;
    gap: 26px;
    margin-top: 72px;
}

.tlb-principle-text__benefit-lines > div {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 30px;
    min-height: 180px;
    padding: 36px 50px;
    border-radius: 8px;
    background: #fff;
    color: #111723;
}

.tlb-principle-text__benefit-lines span {
    display: block;
    width: 74px;
    height: auto;
    color: var(--principle-accent);
    font-size: 30px;
    font-weight: 700;
}

.tlb-principle-text__benefit-lines p {
    color: #111723;
    font-family: var(--tlb-font-head);
    font-size: 26px;
    font-weight: 700;
    line-height: var(--tlb-lh-head);
}

.tlb-principle-text__benefit-lines strong {
    color: #111723;
}

.tlb-principle-text__trap {
    background: #0b0b0d;
}

.tlb-principle-text__trap h2 {
    max-width: 800px;
}

.tlb-principle-text__trap > .tlb-principle-text__inner > p:not(.tlb-principle-text__declaration):not(.tlb-principle-text__conclusion) {
    max-width: 740px;
    margin-top: 44px;
    color: #aeb3bd;
    font-size: var(--tlb-fs-lead);
}

.tlb-principle-text__declaration {
    margin-top: 90px !important;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    line-height: var(--tlb-lh-head);
}

.tlb-principle-text__muted-story {
    padding: 32px 0;
    border-top: 1px solid #343a46;
    border-bottom: 1px solid #343a46;
    color: #7f8590 !important;
}

.tlb-principle-text__conclusion {
    margin-top: 82px !important;
    font-size: 34px;
    line-height: var(--tlb-lh-ui);
}

.tlb-principle-text__conclusion strong {
    color: var(--principle-accent);
}

.tlb-principle-text__solution {
    background: #10131a;
}

.tlb-principle-text__question-bubble {
    width: fit-content;
    max-width: 700px;
    margin: 0 auto 90px !important;
    padding: 26px 36px;
    border: 2px solid #545b69;
    border-radius: 6px;
    background: #fff;
    color: #17191e;
    font-size: 20px;
    font-weight: 700;
    line-height: var(--tlb-lh-ui);
    text-align: center;
}

.tlb-principle-text__solution h2 {
    text-align: center;
}

.tlb-principle-text__wrong-list {
    margin-top: 72px;
    border-top: 1px solid #363b46;
}

.tlb-principle-text__wrong-list p {
    position: relative;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 28px;
    padding: 26px 0;
    border-bottom: 1px solid #363b46;
}

.tlb-principle-text__wrong-list p::before {
    content: none;
}

.tlb-principle-text__wrong-list strong {
    color: #fff;
}

.tlb-principle-text__wrong-list span {
    color: #8f95a1;
}

.tlb-principle-text__solution h3 {
    margin-top: 100px;
    text-align: center;
}

.tlb-principle-text__principles {
    display: grid;
    gap: 10px;
    max-width: 720px;
    margin: 48px auto 0;
}

.tlb-principle-text__principles span {
    padding: 16px 22px;
    border-top: 3px solid var(--principle-accent);
    background: #1b202b;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
}

.tlb-principle-text__solution .tlb-principle-text__principles + p {
    margin-top: 42px;
    color: #aeb3bd;
    text-align: center;
}

.tlb-principle-text__proof {
    background: #fff;
    color: #17191e;
}

.tlb-principle-text__proof h2 {
    max-width: 820px;
}

.tlb-principle-text__proof > .tlb-principle-text__inner,
.tlb-principle-text__point > .tlb-principle-text__inner,
.tlb-principle-text__author > .tlb-principle-text__inner,
.tlb-principle-text__fit > .tlb-principle-text__inner,
.tlb-principle-text__ha-method > .tlb-principle-text__inner {
    width: min(860px, calc(100% - 56px));
}

.tlb-principle-text__proof > .tlb-principle-text__inner > p:not(.tlb-principle-text__kicker) {
    max-width: 720px;
    margin-top: 30px;
    color: #555a64;
}

.tlb-principle-text__proof-pages,
.tlb-principle-text__inside-pages {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 24px;
    margin-top: 64px;
}

.tlb-principle-text__proof-pages figure,
.tlb-principle-text__inside-pages figure,
.tlb-principle-text__device-pages figure {
    border: 1px solid #cfd3da;
    background: #fff;
}

.tlb-principle-text__proof-pages figcaption,
.tlb-principle-text__inside-pages figcaption {
    padding: 16px 18px;
    color: #505660;
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
}

.tlb-principle-text__proof-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 36px;
    margin-top: 58px;
    border-top: 2px solid #15171b;
}

.tlb-principle-text__proof-notes > div {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px 14px;
    padding: 28px 0;
    border-bottom: 1px solid #c9cdd4;
}

.tlb-principle-text__proof-notes span {
    grid-row: 1 / 3;
    color: var(--principle-accent);
    font-size: 24px;
    font-weight: 700;
}

.tlb-principle-text__proof-notes strong {
    color: #17191e;
    font-size: var(--tlb-fs-lead);
}

.tlb-principle-text__proof-notes p {
    color: #666b75;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-compact);
}

.tlb-principle-text__author {
    overflow: hidden;
    background: #0b0b0d;
}

.tlb-principle-text__author::after {
    position: absolute;
    right: -120px;
    bottom: -160px;
    width: 520px;
    height: 520px;
    background: url('https://tlb-assets.pages.dev/images/logo_snu_watermark.png') center / contain no-repeat;
    content: '';
    opacity: .08;
}

.tlb-principle-text__author-grid {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    align-items: start;
    gap: 62px;
    margin-top: 64px;
}

.tlb-principle-text__author-grid > img {
    width: 280px;
    aspect-ratio: 1 / 1;
    border: 1px solid #353b46;
    object-fit: cover;
}

.tlb-principle-text__author-grid > div > p:not(.tlb-principle-text__author-name) {
    margin-top: 24px;
    color: #aeb3bd;
}

.tlb-principle-text__author-name {
    color: #fff;
    font-size: 30px;
    font-weight: 700;
}

.tlb-principle-text__author-grid ul {
    margin: 34px 0 0;
    padding: 24px 0 0;
    border-top: 1px solid #343946;
    list-style: none;
}

.tlb-principle-text__author-grid li {
    padding: 7px 0;
    color: #c8ccd4;
}

.tlb-principle-text__author-grid li::before {
    margin-right: 10px;
    color: var(--principle-accent);
    content: '·';
}

.tlb-principle-text__point {
    background: #141418;
}

.tlb-principle-text__point--two {
    background: #0b0b0d;
}

.tlb-principle-text__point-number strong {
    display: block;
    color: var(--principle-accent);
    font-size: 64px;
    line-height: var(--tlb-lh-none);
}

.tlb-principle-text__point > .tlb-principle-text__inner > p:not(.tlb-principle-text__point-number):not(.tlb-principle-text__point-closing) {
    max-width: 720px;
    margin-top: 28px;
    color: #aeb3bd;
}

.tlb-principle-text__inside-pages,
.tlb-principle-text__device-pages {
    margin-top: 64px;
}

.tlb-principle-text__inside-pages figure {
    border-color: #343a45;
    background: #151922;
}

.tlb-principle-text__inside-pages figcaption {
    color: #c4c8d1;
}

.tlb-principle-text__editorial-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
    margin-top: 46px;
}

.tlb-principle-text__editorial-notes p {
    padding-top: 24px;
    border-top: 3px solid var(--principle-accent);
    color: #9ea4b0;
}

.tlb-principle-text__editorial-notes strong {
    display: block;
    margin-bottom: 14px;
    color: #fff;
    font-size: 20px;
}

.tlb-principle-text__device-pages {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.tlb-principle-text__device-pages figure:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 9px);
    margin: 0 auto;
}

.tlb-principle-text__device-pages figure {
    border-color: #323844;
    background: #12161d;
}

.tlb-principle-text__device-pages figcaption {
    display: block;
    padding: 18px;
    color: #9fa5b0;
    font-size: var(--tlb-fs-meta);
}

.tlb-principle-text__device-pages figcaption strong {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: var(--tlb-fs-read);
}

.tlb-principle-text__point-closing {
    margin-top: 62px !important;
    padding-top: 32px;
    border-top: 1px solid #343a45;
    color: #c4c8d1;
    font-size: 22px;
    text-align: center;
}

.tlb-principle-text__lecture {
    background: #000;
    text-align: center;
}

.tlb-principle-text__lecture > .tlb-principle-text__inner > p:not(.tlb-principle-text__point-number) {
    max-width: 760px !important;
    margin-right: auto;
    margin-left: auto;
}

.tlb-principle-text__sample-link {
    display: inline-block;
    margin-top: 52px;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--principle-accent);
    color: #fff;
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-read);
    font-weight: 700;
}

.tlb-principle-text__value {
    padding: 160px 0;
    background: linear-gradient(125deg, var(--principle-accent-deep) 0%, var(--principle-accent) 52%, #141419 100%);
    background-size: 180% 180%;
    animation: tlb-principle-ambient 14s ease-in-out infinite alternate;
    text-align: center;
}

.tlb-principle-text__value h2 {
    font-size: 44px;
}

.tlb-principle-text__value p {
    margin-top: 54px;
    padding: 30px;
    border: 2px solid rgba(255, 255, 255, .7);
    border-radius: 6px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}

.tlb-principle-text__value strong {
    color: #fff;
}

.tlb-principle-text__fit {
    background: #000;
}

.tlb-principle-text__fit ol {
    margin: 72px 0 0;
    padding: 0;
    border-top: 1px solid #343946;
    list-style: none;
}

.tlb-principle-text__fit li {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 12px 28px;
    padding: 36px 0;
    border-bottom: 1px solid #343946;
}

.tlb-principle-text__fit li > span {
    grid-row: 1 / 3;
    color: var(--principle-accent);
    font-size: 42px;
    font-weight: 700;
}

.tlb-principle-text__fit li > strong {
    color: #fff;
    font-size: 22px;
}

.tlb-principle-text__fit li > p {
    color: #9ea4af;
}

.tlb-principle-text__ha-pain {
    background: #0b0b0d;
}

.tlb-principle-text__ha-pain > .tlb-principle-text__inner > p:not(.tlb-principle-text__kicker):not(.tlb-principle-text__declaration) {
    max-width: 760px;
    margin-top: 34px;
    color: #aeb3bd;
}

.tlb-principle-text__survey-quotes {
    display: grid;
    gap: 14px;
    margin-top: 58px;
}

.tlb-principle-text__survey-quotes blockquote {
    padding: 22px 26px;
    border-bottom: 3px solid var(--principle-accent);
    background: #151922;
    color: #d3d6dd;
    font-size: var(--tlb-fs-body);
}

.tlb-principle-text__ha-reversal .tlb-principle-text__display-small {
    margin-top: 52px;
    font-size: 32px;
    line-height: var(--tlb-lh-ui);
}

.tlb-principle-text__ha-reversal > .tlb-principle-text__inner > p:last-child {
    max-width: 740px;
    margin: 54px auto 0;
    color: rgba(255, 255, 255, .82);
    font-size: var(--tlb-fs-lead);
}

.tlb-principle-text__reading-problem {
    background: #0b0b0d;
}

.tlb-principle-text__reading-problem > .tlb-principle-text__inner > p:not(.tlb-principle-text__question-bubble) {
    max-width: 740px;
    margin-top: 34px;
    color: #afb4be;
}

.tlb-principle-text__reading-problem .tlb-principle-text__question-bubble {
    margin-top: 72px !important;
}

.tlb-principle-text__two-questions {
    margin: 60px 0;
    border-top: 1px solid #363b46;
}

.tlb-principle-text__two-questions p {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 28px;
    padding: 28px 0;
    border-bottom: 1px solid #363b46;
}

.tlb-principle-text__two-questions span {
    color: var(--principle-accent);
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
}

.tlb-principle-text__two-questions strong {
    color: #fff;
    font-size: 22px;
}

.tlb-principle-text__reading-problem h3 {
    margin-top: 90px;
    text-align: center;
}

.tlb-principle-text__ha-method {
    background: #141418;
}

.tlb-principle-text__ha-method > .tlb-principle-text__inner > p:not(.tlb-principle-text__kicker):not(.tlb-principle-text__point-closing) {
    max-width: 760px;
    margin-top: 34px;
    color: #b0b5bf;
}

.tlb-principle-text__ha-method h3 {
    margin-top: 100px;
    text-align: center;
}

.tlb-principle-text__ha-points {
    display: grid;
    gap: 70px;
    margin-top: 68px;
}

.tlb-principle-text__ha-points article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px 50px;
    align-items: start;
    padding-top: 34px;
    border-top: 1px solid #3b404a;
}

.tlb-principle-text__ha-points article > p:first-child {
    grid-column: 1 / -1;
    color: var(--principle-accent);
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
}

.tlb-principle-text__ha-points h4 {
    font-size: 26px;
}

.tlb-principle-text__ha-points h4 + p {
    color: #aeb3bd;
}

.tlb-principle-text__ha-points img {
    grid-column: 2;
    grid-row: 2 / 4;
    border: 1px solid #383e49;
}

.tlb-principle-text__faq {
    background: #faf7f2;
    color: #17191d;
}

.tlb-principle-text__faq h2 {
    color: #17191d;
}

.tlb-principle-text__faq-list {
    margin-top: 58px;
    border-top: 2px solid #17191d;
}

.tlb-principle-text__faq-item {
    border-bottom: 1px solid #c8ccd2;
}

.tlb-principle-text__faq-item summary {
    position: relative;
    padding: 26px 54px 26px 0;
    color: #17191d;
    font-size: 19px;
    cursor: pointer;
    list-style: none;
}

.tlb-principle-text__faq-item summary::-webkit-details-marker {
    display: none;
}

.tlb-principle-text__faq-item summary::after {
    position: absolute;
    top: 20px;
    right: 10px;
    color: var(--principle-accent);
    content: '+';
    font-size: 30px;
    font-weight: 500;
}

.tlb-principle-text__faq-item[open] summary::after {
    content: '−';
}

.tlb-principle-text__faq-item p {
    max-width: 760px;
    padding: 0 0 28px;
    color: #5c616a;
    font-size: var(--tlb-fs-body);
}

.tlb-principle-text__closing {
    padding: 160px 0;
    background: #0b0b0d;
}

.tlb-principle-text__closing-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: center;
    gap: 64px;
    width: min(860px, calc(100% - 56px));
}

.tlb-principle-text__closing-name {
    margin-top: 34px !important;
    color: var(--principle-accent-bright);
    font-family: var(--tlb-font-head);
    font-size: 26px;
    font-weight: 700;
}

.tlb-principle-text__closing img {
    width: 320px;
}

.tlb-principle-text__edition-benefit,
.tlb-principle-text__benefit-lines > div,
.tlb-principle-text__review,
.tlb-principle-text__proof-pages figure,
.tlb-principle-text__inside-pages figure,
.tlb-principle-text__device-pages figure,
.tlb-principle-text__ha-points article {
    transition: transform .45s cubic-bezier(.2, .8, .2, 1), border-color .45s ease, box-shadow .45s ease, background-color .45s ease;
}

@media (hover: hover) {
    .tlb-principle-text__edition-benefit:hover,
    .tlb-principle-text__benefit-lines > div:hover,
    .tlb-principle-text__review:hover {
        transform: translateY(-5px);
        border-color: var(--principle-accent);
        box-shadow: 0 22px 42px rgba(0, 0, 0, .18);
    }

    .tlb-principle-text__proof-pages figure:hover,
    .tlb-principle-text__inside-pages figure:hover,
    .tlb-principle-text__device-pages figure:hover {
        transform: translateY(-8px);
        border-color: var(--principle-accent);
        box-shadow: 0 28px 50px rgba(0, 0, 0, .28);
    }

    .tlb-principle-text__product-book:hover {
        transform: translateY(-10px) scale(1.012);
        filter: drop-shadow(0 44px 62px rgba(0, 0, 0, .5));
    }
}

@supports (animation-timeline: view()) {
    .tlb-principle-text__proof-pages figure,
    .tlb-principle-text__inside-pages figure,
    .tlb-principle-text__device-pages figure,
    .tlb-principle-text__ha-points article,
    .tlb-principle-text__review {
        animation: tlb-principle-view-rise linear both;
        animation-timeline: view();
        animation-range: entry 0% cover 28%;
    }
}

@keyframes tlb-principle-view-rise {
    0% { transform: translateY(28px); filter: saturate(.72) brightness(.88); }
    100% { transform: translateY(0); filter: saturate(1) brightness(1); }
}

@media (max-width: 800px) {
    .tlb-principle-text__edition-grid,
    .tlb-principle-text__product-grid,
    .tlb-principle-text__author-grid,
    .tlb-principle-text__closing-grid,
    .tlb-principle-text__ha-points article {
        grid-template-columns: 1fr;
    }

    .tlb-principle-text__author-grid > img {
        width: 240px;
    }

    .tlb-principle-text__ha-points img {
        grid-column: 1;
        grid-row: auto;
        width: min(100%, 420px);
    }
}

@media (max-width: 640px) {
    .tlb-principle-text {
        font-size: var(--tlb-fs-body);
        line-height: var(--tlb-lh-text);
    }

    .tlb-principle-text__section {
        padding: 80px 0;
    }

    .tlb-principle-text__inner {
        width: calc(100% - 36px);
    }

    .tlb-principle-text__edition-grid,
    .tlb-principle-text__edition-benefits,
    .tlb-principle-text__product > .tlb-principle-text__inner,
    .tlb-principle-text__benefits > .tlb-principle-text__inner,
    .tlb-principle-text__reviews > .tlb-principle-text__inner,
    .tlb-principle-text__proof > .tlb-principle-text__inner,
    .tlb-principle-text__point > .tlb-principle-text__inner,
    .tlb-principle-text__author > .tlb-principle-text__inner,
    .tlb-principle-text__fit > .tlb-principle-text__inner,
    .tlb-principle-text__ha-method > .tlb-principle-text__inner,
    .tlb-principle-text__closing-grid {
        width: calc(100% - 36px);
    }

    .tlb-principle-text__section h2 {
        font-size: 34px;
        line-height: var(--tlb-lh-head);
    }

    .tlb-principle-text__section h3 {
        font-size: 26px;
    }

    .tlb-principle-text__subhead {
        font-size: 19px;
    }

    .tlb-principle-text__edition {
        padding: 96px 0;
    }

    .tlb-principle-text__edition-grid {
        gap: 44px;
    }

    .tlb-principle-text__english {
        font-size: var(--tlb-fs-micro);
    }

    .tlb-principle-text__edition h1 {
        font-size: 44px;
        line-height: var(--tlb-lh-tight);
    }

    .tlb-principle-text__edition-lead {
        margin-top: 30px !important;
        font-size: var(--tlb-fs-lead);
    }

    .tlb-principle-text__book {
        width: 100%;
    }

    .tlb-principle-text__visual-break {
        height: 470px;
    }

    .tlb-principle-text__visual-stage > img {
        object-position: 56% center;
    }

    .tlb-principle-text--ha .tlb-principle-text__visual-stage > img {
        object-position: 60% center;
    }

    .tlb-principle-text__visual-stage::after {
        background: linear-gradient(0deg, rgba(4, 6, 12, .88) 0%, rgba(4, 6, 12, .24) 76%);
    }

    .tlb-principle-text__visual-stage figcaption {
        bottom: 34px;
        left: 18px;
        width: calc(100% - 36px);
    }

    .tlb-principle-text__visual-stage h2 {
        font-size: 31px;
        line-height: var(--tlb-lh-head);
    }

    .tlb-principle-text__edition-benefits {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 54px;
    }

    .tlb-principle-text__edition-benefit {
        grid-template-columns: 1fr;
        gap: 14px;
        min-height: auto;
        padding: 30px 24px;
    }

    .tlb-principle-text__edition-benefit > strong {
        font-size: 23px;
    }

    .tlb-principle-text__leet-korean {
        margin-top: 60px !important;
        font-size: 23px;
    }

    .tlb-principle-text__leet-word {
        font-size: 92px;
    }

    .tlb-principle-text__stat-copy {
        margin-top: 54px !important;
        font-size: var(--tlb-fs-lead);
    }

    .tlb-principle-text__stat-copy strong {
        font-size: 26px;
    }

    .tlb-principle-text__leet-intro h2 {
        margin-top: 74px;
    }

    .tlb-principle-text__speech-list {
        margin-top: 46px;
    }

    .tlb-principle-text__speech-list p {
        padding: 20px 20px;
        font-size: var(--tlb-fs-body);
    }

    .tlb-principle-text__no {
        min-height: 0;
    }

    .tlb-principle-text__no-label {
        font-size: 22px;
    }

    .tlb-principle-text__no-word {
        font-size: 84px;
    }

    .tlb-principle-text__no h2 {
        font-size: 36px;
    }

    .tlb-principle-text__no h2 + p {
        font-size: 21px;
    }

    .tlb-principle-text__long-copy {
        margin-top: 42px !important;
        font-size: var(--tlb-fs-read);
    }

    .tlb-principle-text__diagnosis h2 {
        font-size: 38px;
    }

    .tlb-principle-text__checklist {
        margin-top: 42px;
    }

    .tlb-principle-text__checklist li {
        padding: 22px 0 22px 48px;
        font-size: var(--tlb-fs-read);
    }

    .tlb-principle-text__diagnosis-result {
        padding: 26px 18px;
        font-size: 21px;
    }

    .tlb-principle-text__diagnosis-result em {
        font-size: 27px;
    }

    .tlb-principle-text__product-grid {
        gap: 42px;
        margin-top: 52px;
        padding: 0 0 42px;
    }

    .tlb-principle-text__product-book {
        width: 100%;
    }

    .tlb-principle-text__product-name {
        font-size: 44px;
    }

    .tlb-principle-text__authority-copy {
        margin-top: 32px !important;
        font-size: var(--tlb-fs-lead);
        line-height: var(--tlb-lh-body);
    }

    .tlb-principle-text__review {
        width: 100%;
        padding: 24px 22px 28px;
    }

    .tlb-principle-text__review blockquote {
        font-size: var(--tlb-fs-body);
    }

    .tlb-principle-text__benefit-lines {
        margin-top: 52px;
    }

    .tlb-principle-text__benefit-lines > div {
        grid-template-columns: 1fr;
        gap: 18px;
        min-height: 0;
        padding: 30px 26px;
    }

    .tlb-principle-text__benefit-lines span {
        width: auto;
        height: auto;
        font-size: 24px;
    }

    .tlb-principle-text__benefit-lines p {
        font-size: 25px;
    }

    .tlb-principle-text__declaration {
        margin-top: 66px !important;
        font-size: 34px;
    }

    .tlb-principle-text__trap > .tlb-principle-text__inner > p:not(.tlb-principle-text__declaration):not(.tlb-principle-text__conclusion) {
        font-size: var(--tlb-fs-read);
    }

    .tlb-principle-text__conclusion {
        margin-top: 60px !important;
        font-size: 25px;
    }

    .tlb-principle-text__question-bubble {
        margin-bottom: 62px !important;
        padding: 22px 20px;
        font-size: 20px;
    }

    .tlb-principle-text__wrong-list {
        margin-top: 54px;
    }

    .tlb-principle-text__wrong-list p {
        grid-template-columns: 1fr;
        gap: 6px;
        padding-left: 0;
    }

    .tlb-principle-text__solution h3 {
        margin-top: 76px;
    }

    .tlb-principle-text__principles span {
        font-size: var(--tlb-fs-read);
    }

    .tlb-principle-text__proof-pages,
    .tlb-principle-text__inside-pages,
    .tlb-principle-text__proof-notes,
    .tlb-principle-text__editorial-notes,
    .tlb-principle-text__device-pages {
        grid-template-columns: 1fr;
    }

    .tlb-principle-text__proof-notes {
        gap: 0;
    }

    .tlb-principle-text__device-pages figure:last-child {
        grid-column: auto;
        width: 100%;
    }

    .tlb-principle-text__author-grid {
        gap: 38px;
        margin-top: 46px;
    }

    .tlb-principle-text__point-number strong {
        font-size: 68px;
    }

    .tlb-principle-text__point-closing {
        font-size: 20px;
    }

    .tlb-principle-text__value h2 {
        font-size: 34px;
    }

    .tlb-principle-text__value p {
        margin-top: 42px;
        padding: 24px 18px;
        font-size: 23px;
    }

    .tlb-principle-text__fit ol {
        margin-top: 52px;
    }

    .tlb-principle-text__fit li {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 8px 14px;
        padding: 30px 0;
    }

    .tlb-principle-text__fit li > span {
        font-size: 30px;
    }

    .tlb-principle-text__fit li > strong {
        font-size: var(--tlb-fs-lead);
    }

    .tlb-principle-text__ha-reversal .tlb-principle-text__display-small {
        font-size: 28px;
    }

    .tlb-principle-text__two-questions p {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .tlb-principle-text__two-questions strong {
        font-size: 19px;
    }

    .tlb-principle-text__ha-points {
        gap: 54px;
    }

    .tlb-principle-text__ha-points article {
        gap: 18px;
    }

    .tlb-principle-text__ha-points h4 {
        font-size: 26px;
    }

    .tlb-principle-text__faq-item summary {
        font-size: var(--tlb-fs-read);
    }

    .tlb-principle-text__closing img {
        width: min(100%, 320px);
    }
}

/* ===== Principle PDP V3: editorial art direction ===== */
.tlb-principle-text__section {
    isolation: isolate;
}

.tlb-principle-text__section h2 {
    text-wrap: balance;
}

.tlb-principle-text__edition {
    min-height: 880px;
    padding: 118px 0 110px;
    background:
        radial-gradient(circle at 74% 50%, rgba(74, 134, 232, .22), transparent 34%),
        linear-gradient(125deg, #05070b 0%, #101a31 50%, #06070a 100%);
}

.tlb-principle-text--ha .tlb-principle-text__edition {
    background:
        radial-gradient(circle at 74% 50%, rgba(150, 45, 227, .24), transparent 34%),
        linear-gradient(125deg, #070509 0%, #25112e 50%, #070609 100%);
}

.tlb-principle-text__edition::after {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 80px 80px;
    content: '';
    mask-image: linear-gradient(90deg, #000, transparent 68%);
    pointer-events: none;
}

.tlb-principle-text__edition-grid {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
    grid-template-rows: auto auto auto 1fr;
    align-items: center;
    gap: 14px 36px;
    width: min(900px, calc(100% - 64px));
    text-align: left;
}

.tlb-principle-text__edition-grid > :not(.tlb-principle-text__book) {
    grid-column: 1;
}

.tlb-principle-text__edition .tlb-principle-text__english {
    align-self: end;
    margin-bottom: 12px !important;
}

.tlb-principle-text__edition h1 {
    font-size: 58px;
    line-height: var(--tlb-lh-none);
}

.tlb-principle-text__edition-meta {
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .2);
}

.tlb-principle-text__edition-lead {
    max-width: 400px;
    margin-top: 24px !important;
    font-size: var(--tlb-fs-body);
}

.tlb-principle-text__book {
    grid-column: 2;
    grid-row: 1 / 5;
    width: 118%;
    max-width: none;
    transform: translateX(-2%);
}

.tlb-principle-text__book:hover {
    transform: translate(-2%, -10px) scale(1.015);
}

.tlb-principle-text__edition-update {
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(74, 134, 232, .1), transparent 44%),
        #f4f6fa;
    color: #15181f;
}

.tlb-principle-text--ha .tlb-principle-text__edition-update {
    background:
        linear-gradient(135deg, rgba(150, 45, 227, .11), transparent 44%),
        #f6f4f8;
}

.tlb-principle-text__edition-update h2 {
    color: #11141a;
}

.tlb-principle-text__edition-update-lead {
    color: #5d6370;
}

.tlb-principle-text__edition-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 76px;
    border-top: 1px solid #bfc5d0;
    border-bottom: 1px solid #bfc5d0;
}

.tlb-principle-text__edition-benefit {
    display: block;
    grid-template-columns: none;
    min-height: 350px;
    padding: 34px 30px 38px;
    border: 0;
    border-right: 1px solid #cbd0d9;
    background: transparent;
    box-shadow: none;
}

.tlb-principle-text__edition-benefit:last-child {
    border-right: 0;
}

.tlb-principle-text__edition-benefit > span {
    color: var(--principle-accent);
    font-size: 64px;
    line-height: var(--tlb-lh-none);
    opacity: .28;
}

.tlb-principle-text__edition-benefit > strong {
    margin-top: 54px;
    color: #161a22;
    font-size: 24px;
}

.tlb-principle-text__edition-benefit p {
    margin-top: 24px;
    color: #646a76;
}

.tlb-principle-text__edition-mood {
    width: min(900px, calc(100% - 56px));
    height: 430px;
    margin-top: 80px;
    border: 0;
    box-shadow: 0 28px 70px rgba(31, 39, 54, .22);
}

.tlb-principle-text__edition-mood img {
    height: 100%;
    object-fit: cover;
}

.tlb-principle-text__leet-intro {
    background:
        radial-gradient(circle at 50% 25%, rgba(74, 134, 232, .15), transparent 28%),
        linear-gradient(180deg, #05070b 0%, #0d1320 58%, #050608 100%);
}

.tlb-principle-text__leet-intro::before {
    position: absolute;
    top: 220px;
    left: 50%;
    z-index: 0;
    width: 740px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--principle-accent), transparent);
    content: '';
    transform: translateX(-50%);
    box-shadow: 0 0 30px var(--principle-accent);
}

.tlb-principle-text__leet-word {
    font-size: 148px;
    line-height: .88;
    text-shadow: 0 0 54px rgba(74, 134, 232, .28);
}

.tlb-principle-text__speech-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tlb-principle-text__speech-list p {
    min-height: 148px;
    padding: 28px 30px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 4px;
    background: rgba(255, 255, 255, .06);
    backdrop-filter: blur(12px);
}

.tlb-principle-text__no {
    min-height: 900px;
    padding: 150px 0 126px;
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 32%, color-mix(in srgb, var(--principle-accent) 28%, transparent), transparent 28%),
        #050609;
    text-align: left;
}

.tlb-principle-text__no::before {
    position: absolute;
    top: 52%;
    left: -10%;
    width: 120%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--principle-accent), transparent);
    content: '';
    opacity: .8;
    transform: rotate(-12deg);
    box-shadow: 0 0 34px var(--principle-accent);
    animation: tlb-principle-verdict-line 5s ease-in-out infinite alternate;
}

.tlb-principle-text__no-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 48px 70px;
    width: min(860px, calc(100% - 72px));
}

.tlb-principle-text__no-verdict {
    align-self: center;
    padding-right: 46px;
    border-right: 1px solid rgba(255, 255, 255, .24);
}

.tlb-principle-text__no-label {
    color: var(--principle-accent-bright);
    font-size: 24px;
}

.tlb-principle-text__no-word {
    margin-top: 8px !important;
    font-family: var(--tlb-font-head);
    font-size: 154px;
    font-style: italic;
    line-height: .82;
    transform: translateX(-10px) rotate(-4deg);
    text-shadow: 0 18px 60px rgba(0, 0, 0, .45);
}

.tlb-principle-text__no-message {
    align-self: center;
}

.tlb-principle-text__no h2 {
    margin-top: 0;
    font-size: 48px;
}

.tlb-principle-text__no-message > p {
    margin-top: 32px;
    color: #c4c9d3;
    font-size: 25px;
    line-height: var(--tlb-lh-text);
}

.tlb-principle-text__no-reason {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 36px;
    margin-top: 62px;
    padding-top: 36px;
    border-top: 1px solid rgba(255, 255, 255, .28);
}

.tlb-principle-text__no-reason > span {
    color: var(--principle-accent-bright);
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
    letter-spacing: 0;
}

.tlb-principle-text__no-reason .tlb-principle-text__long-copy,
.tlb-principle-text__no-reason > p {
    margin: 0 !important;
    color: #c1c6d0;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-read);
}

.tlb-principle-text__no-layout--ha .tlb-principle-text__no-verdict {
    display: flex;
    min-height: 210px;
    align-items: center;
}

.tlb-principle-text__no-layout--ha .tlb-principle-text__display-small {
    margin-top: 32px;
    font-size: 29px;
}

.tlb-principle-text__diagnosis {
    background:
        linear-gradient(90deg, rgba(74, 134, 232, .08) 1px, transparent 1px),
        linear-gradient(rgba(74, 134, 232, .08) 1px, transparent 1px),
        #f4f4f2;
    background-size: 36px 36px;
}

.tlb-principle-text__diagnosis > .tlb-principle-text__inner {
    width: min(820px, calc(100% - 64px));
}

.tlb-principle-text__checklist {
    padding: 18px 42px 0;
    border: 1px solid #d4d7dc;
    border-top: 5px solid #1b2337;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 26px 60px rgba(39, 45, 58, .12);
}

.tlb-principle-text__diagnosis-result {
    margin-top: 0 !important;
    padding: 46px 34px;
    border-top: 0;
    background: linear-gradient(135deg, #111827, #1d2f5a);
}

.tlb-principle-text__product {
    overflow: hidden;
    background:
        radial-gradient(circle at 22% 52%, rgba(74, 134, 232, .24), transparent 34%),
        #07090d;
    text-align: left;
}

.tlb-principle-text--ha .tlb-principle-text__product {
    background:
        radial-gradient(circle at 22% 52%, rgba(150, 45, 227, .25), transparent 34%),
        #08070a;
}

.tlb-principle-text__product > .tlb-principle-text__inner {
    width: min(880px, calc(100% - 64px));
}

.tlb-principle-text__product > .tlb-principle-text__inner > h2,
.tlb-principle-text__product > .tlb-principle-text__inner > .tlb-principle-text__subhead,
.tlb-principle-text__product > .tlb-principle-text__inner > .tlb-principle-text__kicker {
    max-width: 650px;
}

.tlb-principle-text__product-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    align-items: center;
    gap: 22px 36px;
    margin-top: 86px;
}

.tlb-principle-text__product-book {
    width: 125%;
    max-width: none;
    transform: translateX(-14%) rotate(-2deg);
}

.tlb-principle-text__product-book:hover {
    transform: translate(-14%, -10px) rotate(-1deg) scale(1.015);
}

.tlb-principle-text__product-name {
    font-size: 56px;
}

.tlb-principle-text__benefits {
    background:
        linear-gradient(125deg, var(--principle-accent-deep), var(--principle-accent) 58%, #121826);
}

.tlb-principle-text__benefit-lines {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, .5);
    border-bottom: 1px solid rgba(255, 255, 255, .5);
}

.tlb-principle-text__benefit-lines > div {
    display: block;
    min-height: 270px;
    padding: 42px 28px;
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, .4);
    border-radius: 0;
    background: transparent;
    color: #fff;
}

.tlb-principle-text__benefit-lines > div:last-child {
    border-right: 0;
}

.tlb-principle-text__benefit-lines span {
    color: rgba(255, 255, 255, .45);
    font-size: 56px;
    line-height: var(--tlb-lh-none);
}

.tlb-principle-text__benefit-lines p,
.tlb-principle-text__benefit-lines strong {
    margin-top: 40px;
    color: #fff;
    font-size: 23px;
}

.tlb-principle-text__trap > .tlb-principle-text__inner,
.tlb-principle-text__reading-problem > .tlb-principle-text__inner {
    width: min(820px, calc(100% - 64px));
}

.tlb-principle-text__concept-scene {
    position: relative;
    width: calc(100% + 80px);
    margin: 72px 0 76px -40px !important;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #05070b;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
}

.tlb-principle-text__concept-scene::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(3, 4, 7, .9), rgba(3, 4, 7, .08) 62%);
    content: '';
}

.tlb-principle-text__concept-scene img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.2, .8, .2, 1);
}

.tlb-principle-text__concept-scene:hover img {
    transform: scale(1.035);
}

.tlb-principle-text__concept-scene figcaption {
    position: absolute;
    top: 50%;
    left: 54px;
    z-index: 2;
    transform: translateY(-50%);
}

.tlb-principle-text__concept-scene figcaption span {
    display: block;
    margin-bottom: 18px;
    color: var(--principle-accent-bright);
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    letter-spacing: 0;
}

.tlb-principle-text__concept-scene figcaption strong {
    color: #fff;
    font-family: var(--tlb-font-head);
    font-size: 34px;
    line-height: var(--tlb-lh-title);
}

.tlb-principle-text__reading-problem .tlb-principle-text__concept-scene {
    margin-bottom: 82px !important;
}

.tlb-principle-text__wrong-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 38px;
    border-top: 1px solid #3a404b;
}

.tlb-principle-text__wrong-list::before,
.tlb-principle-text__wrong-list::after {
    position: absolute;
    top: 50%;
    left: 7%;
    z-index: 2;
    width: 86%;
    height: 6px;
    background: #b71927;
    content: '';
    opacity: .72;
    transform: rotate(20deg);
    pointer-events: none;
}

.tlb-principle-text__wrong-list::after {
    transform: rotate(-20deg);
}

.tlb-principle-text__wrong-list p {
    grid-template-columns: 1fr;
    gap: 8px;
    min-height: 142px;
    padding: 30px 4px;
}

.tlb-principle-text__principles {
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, .3);
}

.tlb-principle-text__principles span {
    display: grid;
    grid-template-columns: 64px 1fr;
    align-items: center;
    padding: 22px 28px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .22);
    background: linear-gradient(90deg, rgba(74, 134, 232, .28), transparent 72%);
}

.tlb-principle-text__principles span::before {
    color: var(--principle-accent-bright);
    content: counter(principle-item, decimal-leading-zero);
    counter-increment: principle-item;
    font-size: 13px;
}

.tlb-principle-text__principles {
    counter-reset: principle-item;
}

.tlb-principle-text__proof-pages,
.tlb-principle-text__inside-pages {
    grid-template-columns: .94fr 1.06fr;
    gap: 0;
    padding: 34px 30px 54px;
    background: linear-gradient(145deg, #edf0f5, #d8dde6);
}

.tlb-principle-text__proof-pages figure:first-child,
.tlb-principle-text__inside-pages figure:first-child {
    z-index: 1;
    transform: translate(22px, 28px) rotate(-3deg);
}

.tlb-principle-text__proof-pages figure:last-child,
.tlb-principle-text__inside-pages figure:last-child {
    z-index: 2;
    transform: translate(-8px, -10px) rotate(2deg);
}

.tlb-principle-text__proof-pages figure,
.tlb-principle-text__inside-pages figure {
    box-shadow: 0 24px 50px rgba(24, 31, 43, .22);
}

.tlb-principle-text__author {
    background:
        linear-gradient(105deg, #07080b 0%, #101827 68%, #08090c 100%);
}

.tlb-principle-text__author-grid {
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 70px;
}

.tlb-principle-text__author-grid > img {
    width: 340px;
    filter: grayscale(1) contrast(1.06);
    box-shadow: 24px 24px 0 rgba(74, 134, 232, .16);
    transition: filter .5s ease, transform .5s ease;
}

.tlb-principle-text__author-grid > img:hover {
    filter: grayscale(0) contrast(1);
    transform: translateY(-6px);
}

.tlb-principle-text__point--one {
    background: linear-gradient(145deg, #111827, #080a0e 62%);
}

.tlb-principle-text__point--two {
    background: linear-gradient(145deg, #07080b, #18141d 70%);
}

.tlb-principle-text__reviews {
    background:
        linear-gradient(135deg, rgba(74, 134, 232, .08), transparent 45%),
        #f3f1ed;
}

.tlb-principle-text__review-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.tlb-principle-text__review {
    min-height: 240px;
    border: 0 !important;
    border-radius: 3px;
    box-shadow: 0 16px 34px rgba(45, 43, 40, .1);
}

.tlb-principle-text__review:nth-child(3n) {
    grid-column: 1 / -1;
    min-height: 0;
}

.tlb-principle-text__lecture {
    overflow: hidden;
    background: #030406;
}

.tlb-principle-text__lecture::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .94), rgba(0, 0, 0, .48)),
        url('https://tlb-assets.pages.dev/images/pdp/principle_sang/editorial_mood_v1.jpg') 65% center / cover no-repeat;
    content: '';
    opacity: .74;
}

.tlb-principle-text--ha .tlb-principle-text__lecture::before {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .94), rgba(0, 0, 0, .48)),
        url('https://tlb-assets.pages.dev/images/pdp/principle_ha/editorial_mood_v1.jpg') 65% center / cover no-repeat;
}

.tlb-principle-text__lecture > .tlb-principle-text__inner {
    z-index: 1;
    text-align: left;
}

.tlb-principle-text__sample-link {
    position: relative;
    margin-top: 58px;
    padding: 18px 24px 18px 62px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 0;
    background: rgba(0, 0, 0, .36);
}

.tlb-principle-text__sample-link::before {
    position: absolute;
    top: 50%;
    left: 24px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid var(--principle-accent-bright);
    content: '';
    transform: translateY(-50%);
}

.tlb-principle-text__value {
    overflow: hidden;
}

.tlb-principle-text__value::before {
    position: absolute;
    top: 18px;
    left: 50%;
    color: rgba(255, 255, 255, .09);
    content: 'VALUE INCLUDED';
    font-family: 'SUITE', 'SUIT', sans-serif;
    font-size: 112px;
    font-weight: 700;
    white-space: nowrap;
    transform: translateX(-50%);
}

.tlb-principle-text__closing {
    overflow: hidden;
    background:
        linear-gradient(90deg, #050609 0%, rgba(5, 6, 9, .9) 48%, rgba(5, 6, 9, .48) 100%),
        url('https://tlb-assets.pages.dev/images/pdp/principle_sang/editorial_mood_v1.jpg') center / cover no-repeat;
}

.tlb-principle-text--ha .tlb-principle-text__closing {
    background:
        linear-gradient(90deg, #050609 0%, rgba(5, 6, 9, .9) 48%, rgba(5, 6, 9, .48) 100%),
        url('https://tlb-assets.pages.dev/images/pdp/principle_ha/editorial_mood_v1.jpg') center / cover no-repeat;
}

@keyframes tlb-principle-verdict-line {
    from { opacity: .36; transform: translateX(-5%) rotate(-12deg); }
    to { opacity: .9; transform: translateX(5%) rotate(-12deg); }
}

@media (max-width: 767px) {
    .tlb-principle-text__edition {
        min-height: 0;
        padding: 94px 0 86px;
    }

    .tlb-principle-text__edition-grid {
        display: flex;
        width: min(100% - 40px, 560px);
        align-items: center;
        gap: 20px;
        text-align: center;
    }

    .tlb-principle-text__edition h1 {
        font-size: 47px;
    }

    .tlb-principle-text__edition-meta {
        width: 100%;
    }

    .tlb-principle-text__edition-lead {
        max-width: 520px;
    }

    .tlb-principle-text__book {
        width: 118%;
        transform: none;
    }

    .tlb-principle-text__book:hover {
        transform: translateY(-6px);
    }

    .tlb-principle-text__edition-benefits {
        grid-template-columns: 1fr;
    }

    .tlb-principle-text__edition-benefit {
        min-height: 0;
        padding: 32px 8px 36px;
        border-right: 0;
        border-bottom: 1px solid #cbd0d9;
    }

    .tlb-principle-text__edition-benefit:last-child {
        border-bottom: 0;
    }

    .tlb-principle-text__edition-benefit > span {
        font-size: 46px;
    }

    .tlb-principle-text__edition-benefit > strong {
        margin-top: 24px;
    }

    .tlb-principle-text__edition-mood {
        height: 280px;
    }

    .tlb-principle-text__leet-word {
        font-size: 100px;
    }

    .tlb-principle-text__speech-list {
        grid-template-columns: 1fr;
    }

    .tlb-principle-text__speech-list p {
        min-height: 0;
    }

    .tlb-principle-text__no {
        min-height: 0;
        padding: 104px 0 94px;
    }

    .tlb-principle-text__no-layout {
        grid-template-columns: 1fr;
        gap: 44px;
        width: min(100% - 40px, 560px);
    }

    .tlb-principle-text__no-verdict {
        padding: 0 0 34px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .25);
        text-align: center;
    }

    .tlb-principle-text__no-word {
        font-size: 116px;
        transform: rotate(-4deg);
    }

    .tlb-principle-text__no-message {
        text-align: center;
    }

    .tlb-principle-text__no h2 {
        font-size: 38px;
    }

    .tlb-principle-text__no-message > p {
        font-size: 21px;
    }

    .tlb-principle-text__no-reason {
        grid-column: auto;
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 10px;
        text-align: left;
    }

    .tlb-principle-text__no-layout--ha .tlb-principle-text__no-verdict {
        min-height: 0;
        justify-content: center;
    }

    .tlb-principle-text__no-layout--ha .tlb-principle-text__display-small {
        font-size: 25px;
        line-height: var(--tlb-lh-compact);
    }

    .tlb-principle-text__checklist {
        padding: 10px 22px 0;
    }

    .tlb-principle-text__product {
        text-align: center;
    }

    .tlb-principle-text__product-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .tlb-principle-text__product-book {
        width: 118%;
        transform: translateX(-8%) rotate(-2deg);
    }

    .tlb-principle-text__product-book:hover {
        transform: translate(-8%, -6px) rotate(-1deg);
    }

    .tlb-principle-text__benefit-lines {
        grid-template-columns: 1fr;
    }

    .tlb-principle-text__benefit-lines > div {
        min-height: 0;
        padding: 34px 12px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .4);
    }

    .tlb-principle-text__benefit-lines > div:last-child {
        border-bottom: 0;
    }

    .tlb-principle-text__benefit-lines span {
        font-size: 42px;
    }

    .tlb-principle-text__benefit-lines p,
    .tlb-principle-text__benefit-lines strong {
        margin-top: 24px;
    }

    .tlb-principle-text__concept-scene {
        width: calc(100% + 32px);
        margin: 54px 0 60px -16px !important;
        aspect-ratio: 4 / 5;
    }

    .tlb-principle-text__concept-scene img {
        object-position: 64% center;
    }

    .tlb-principle-text__concept-scene::after {
        background: linear-gradient(0deg, rgba(3, 4, 7, .92), transparent 72%);
    }

    .tlb-principle-text__concept-scene figcaption {
        top: auto;
        right: 26px;
        bottom: 30px;
        left: 26px;
        transform: none;
    }

    .tlb-principle-text__concept-scene figcaption strong {
        font-size: 28px;
    }

    .tlb-principle-text__wrong-list {
        grid-template-columns: 1fr;
    }

    .tlb-principle-text__wrong-list::before,
    .tlb-principle-text__wrong-list::after {
        width: 112%;
        left: -6%;
        transform: rotate(54deg);
    }

    .tlb-principle-text__wrong-list::after {
        transform: rotate(-54deg);
    }

    .tlb-principle-text__proof-pages,
    .tlb-principle-text__inside-pages {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 24px 20px 42px;
    }

    .tlb-principle-text__proof-pages figure:first-child,
    .tlb-principle-text__inside-pages figure:first-child,
    .tlb-principle-text__proof-pages figure:last-child,
    .tlb-principle-text__inside-pages figure:last-child {
        transform: none;
    }

    .tlb-principle-text__author-grid {
        grid-template-columns: 1fr;
    }

    .tlb-principle-text__author-grid > img {
        width: min(100%, 340px);
    }

    .tlb-principle-text__review-list {
        grid-template-columns: 1fr;
    }

    .tlb-principle-text__review:nth-child(3n) {
        grid-column: auto;
    }

    .tlb-principle-text__lecture::before {
        background-position: 74% center;
    }

    .tlb-principle-text__value::before {
        font-size: 64px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tlb-principle-text *,
    .tlb-principle-text *::before,
    .tlb-principle-text *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

/* Principle 상세 내용 위계 (2026-10-08 principle-content-codex): 교재 비교와 독해 과정은 별개, 주요 코너는 큰 항목명과 지면으로 표시. */
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin: 44px auto 0; gap: 36px; text-align: left;}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair > div {display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 22px; padding: 28px 0; border-top: 1px solid var(--line);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair img {display: block; width: 100%; height: auto;}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair h3 {margin: 0 0 16px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h3); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: var(--ink);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair p {margin: 0; font-family: var(--tlb-font-body); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-read); letter-spacing: var(--tlb-ls-body); color: var(--sub);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-reading {width: 100%; margin: 44px auto 0; text-align: left; border-bottom: 1px solid var(--line);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-reading > div {display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 32px; padding: 32px 0; border-top: 1px solid var(--line);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-reading h3 {margin: 0; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h3); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: var(--pt);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-reading p {margin: 12px 0 0; font-family: var(--tlb-font-body); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-read); letter-spacing: var(--tlb-ls-body); color: var(--sub);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-reading .tlb-principle-reading-action {margin: 0; font-size: var(--tlb-fs-lead); font-weight: 700; color: var(--ink);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-features {width: 100%; max-width: none;}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-features .tlb9-solve {grid-template-columns: minmax(0, 1fr) minmax(240px, 34%); gap: 32px; padding: 44px 0;}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-feature-title {margin: 0 0 20px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h3); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: var(--pt);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-feature-benefit {margin: 0 0 16px; font-family: var(--tlb-font-body); font-size: var(--tlb-fs-lead); line-height: var(--tlb-lh-read); letter-spacing: var(--tlb-ls-body); font-weight: 700; color: var(--ink);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-features .tlb9-solve-desc {font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-read);}
.tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-features .tlb9-solve-img {width: 100%; max-width: none; box-sizing: border-box; border-radius: 4px;}
@media (max-width: 739px) {
  .tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair {grid-template-columns: minmax(0, 1fr); gap: 0;}
  .tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair > div {grid-template-columns: 70px minmax(0, 1fr); gap: 18px;}
  .tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair > div > div {display: contents;}
  .tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair h3 {align-self: center; margin: 0;}
  .tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-pair p {grid-column: 1 / -1;}
  .tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-reading > div {grid-template-columns: minmax(0, 1fr); gap: 16px;}
  .tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-features .tlb9-solve {grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 36px 0;}
  .tlb-story:is(.tlb-story--principle-sang, .tlb-story--principle-ha) .tlb-principle-features .tlb9-solve-img {max-width: 300px; margin: 0 auto;}
}

/* Principle 하 독해 비교 (2026-10-08 principle-compare-codex): 항목끼리 대응하는 비교 지면. */
.tlb-story.tlb-story--principle-ha .tlb-principle-compare {width: 100%; margin: 48px auto 0; text-align: left; border-bottom: 1px solid var(--line);}
.tlb-story.tlb-story--principle-ha :is(.tlb-principle-compare-head, .tlb-principle-compare-row) {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));}
.tlb-story.tlb-story--principle-ha .tlb-principle-compare-head > div {display: flex; align-items: center; padding: 26px 32px; border-top: 3px solid color-mix(in srgb, var(--story-ink) 25%, transparent); background: color-mix(in srgb, var(--story-ink) 4%, transparent);}
.tlb-story.tlb-story--principle-ha .tlb-principle-compare-head > div:last-child {border-top-color: var(--pt); background: color-mix(in srgb, var(--pt) 14%, transparent);}
.tlb-story.tlb-story--principle-ha .tlb-principle-compare-head h3 {margin: 0; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h4); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: var(--sub);}
.tlb-story.tlb-story--principle-ha .tlb-principle-compare-head > div:last-child h3 {color: var(--ink);}
.tlb-story.tlb-story--principle-ha .tlb-principle-compare-row p {display: block; margin: 0; padding: 24px 32px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--story-ink) 4%, transparent); font-family: var(--tlb-font-body); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-read); letter-spacing: var(--tlb-ls-body); font-weight: 400; color: var(--sub); word-break: keep-all; overflow-wrap: anywhere;}
.tlb-story.tlb-story--principle-ha .tlb-principle-compare-row p:last-child {background: color-mix(in srgb, var(--pt) 9%, transparent); color: var(--ink);}
.tlb-story.tlb-story--principle-ha .tlb-principle-compare-row strong {font-family: var(--tlb-font-body); font-weight: 700; color: inherit;}
.tlb-story.tlb-story--principle-ha .tlb-principle-compare-row p:last-child strong {color: color-mix(in srgb, var(--pt) 35%, var(--ink));}
@media (max-width: 739px) {
  .tlb-story.tlb-story--principle-ha .tlb-principle-compare {margin-top: 36px;}
  .tlb-story.tlb-story--principle-ha .tlb-principle-compare-head > div {padding: 20px 16px;}
  .tlb-story.tlb-story--principle-ha .tlb-principle-compare-head h3 {font-size: var(--tlb-fs-h5);}
  .tlb-story.tlb-story--principle-ha .tlb-principle-compare-row p {padding: 20px 16px;}
}

/* 상세 하단 통합 안내 (2026-10-08 principle-bottom-codex): 기존 운영 안내를 본문 테마 안에서 구성. */
.tlb_common_section.tlb-pdp-support {padding: 64px 28px 72px; background: var(--bg, #0B0B0B); color: var(--ink, #FFFFFF);}
.tlb-pdp-support .tlb-pdp-support-inner {width: 100%; max-width: 900px; margin: 0 auto; text-align: left;}
.tlb-pdp-support h2 {margin: 0 0 16px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h3); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: inherit;}
.tlb-pdp-support .tlb-pdp-support-row {display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 36px; padding: 36px 0; border-top: 1px solid var(--line, #333333);}
.tlb-pdp-support .tlb-pdp-support-row:last-child {padding-bottom: 0;}
.tlb-pdp-support h3 {margin: 0; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h5); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: var(--pt, #C9BBA0);}
.tlb-pdp-support h4 {margin: 28px 0 12px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-lead); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: inherit;}
.tlb-pdp-support h4:first-child {margin-top: 0;}
.tlb-pdp-support p, .tlb-pdp-support li {font-family: var(--tlb-font-body); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-read); letter-spacing: var(--tlb-ls-body); font-weight: 400; color: color-mix(in srgb, var(--ink, #FFFFFF) 85%, var(--bg, #0B0B0B)); word-break: keep-all; overflow-wrap: anywhere;}
.tlb-pdp-support p {margin: 12px 0;}
.tlb-pdp-support ul {margin: 12px 0 0; padding-left: 20px;}
.tlb-pdp-support li {margin: 8px 0;}
.tlb-pdp-support strong {font-family: var(--tlb-font-body); font-weight: 700; color: var(--ink, #FFFFFF);}
.tlb-pdp-support .tlb-pdp-support-intro {margin: 0 0 32px;}
@media (max-width: 739px) {
  .tlb_common_section.tlb-pdp-support {padding: 44px 22px 52px;}
  .tlb-pdp-support .tlb-pdp-support-row {grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 28px 0;}
}

/* Principle 교재 공통정보 통합 (2026-10-08 principle-book-common-codex): 전체 목차와 강의 목록. */
.tlb_common_section.tlb-principle-book-info {padding: 64px 28px 72px; background: var(--bg, #0B0B0B); color: var(--ink, #FFFFFF);}
.tlb-principle-book-info .tlb-principle-book-inner {width: 100%; max-width: 900px; margin: 0 auto; text-align: left;}
.tlb-principle-book-info h2 {margin: 0 0 36px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h2); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: inherit;}
.tlb-principle-book-info h3 {margin: 0 0 24px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h3); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: inherit;}
.tlb-principle-book-info h4 {margin: 0 0 12px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h5); line-height: var(--tlb-lh-title); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: inherit;}
.tlb-principle-book-info h4 span {font-family: var(--tlb-font-head); color: var(--pt, #C9BBA0);}
.tlb-principle-book-info p, .tlb-principle-book-info li, .tlb-principle-book-info dd {font-family: var(--tlb-font-body); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-read); letter-spacing: var(--tlb-ls-body); font-weight: 400; color: color-mix(in srgb, var(--ink, #FFFFFF) 85%, var(--bg, #0B0B0B)); word-break: keep-all; overflow-wrap: anywhere;}
.tlb-principle-book-info p {margin: 12px 0;}
.tlb-principle-book-info ul {margin: 16px 0; padding-left: 20px;}
.tlb-principle-book-info li {margin: 8px 0;}
.tlb-principle-book-info strong {font-family: var(--tlb-font-body); font-weight: 700; color: var(--ink, #FFFFFF);}
.tlb-principle-book-info .tlb-principle-book-intro {display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: center; gap: 44px;}
.tlb-principle-book-info .tlb-principle-book-intro > img {display: block; width: 100%; height: auto;}
.tlb-principle-book-info .tlb-principle-book-note {margin-top: 24px; padding: 16px 0 0; border-top: 1px solid var(--line, #333333); font-size: var(--tlb-fs-small);}
.tlb-principle-book-info .tlb-principle-book-facts {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 44px 0 0; border-top: 1px solid var(--line, #333333); border-bottom: 1px solid var(--line, #333333);}
.tlb-principle-book-info .tlb-principle-book-facts > div {padding: 24px; border-left: 1px solid var(--line, #333333);}
.tlb-principle-book-info .tlb-principle-book-facts > div:first-child {border-left: 0; padding-left: 0;}
.tlb-principle-book-info dt {margin: 0 0 12px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-ui); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: var(--pt, #C9BBA0);}
.tlb-principle-book-info dd {margin: 0;}
.tlb-principle-book-info dd span {display: block; margin-top: 8px; font-size: var(--tlb-fs-small);}
.tlb-principle-book-info .tlb-principle-book-block {margin-top: 64px; padding-top: 36px; border-top: 1px solid var(--line, #333333);}
.tlb-principle-book-info .tlb-principle-book-toc {list-style: none; margin: 28px 0; padding: 0;}
.tlb-principle-book-info .tlb-principle-book-chapter {margin: 0; padding: 24px 0; border-top: 1px solid var(--line, #333333);}
.tlb-principle-book-info .tlb-principle-book-chapter h4 {display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 16px;}
.tlb-principle-book-info .tlb-principle-book-chapter ul {margin: 16px 0 0 54px;}
.tlb-principle-book-info .tlb-principle-book-lectures {list-style: none; margin: 28px 0 0; padding: 0;}
.tlb-principle-book-info .tlb-principle-book-lectures > li {display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 28px; margin: 0; padding: 24px 0; border-top: 1px solid var(--line, #333333);}
.tlb-principle-book-info .tlb-principle-book-lecture-meta, .tlb-principle-book-info .tlb-principle-book-lecture-meta span {font-family: var(--tlb-font-head); font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-ui); letter-spacing: var(--tlb-ls-head); font-weight: 700; color: var(--pt, #C9BBA0);}
.tlb-principle-book-info .tlb-principle-book-lecture-meta span {display: block; margin-top: 8px; color: inherit;}
.tlb-principle-book-info .tlb-principle-book-lectures p {margin-bottom: 0;}
.tlb-principle-book-info .tlb-principle-book-author {display: grid; grid-template-columns: 140px minmax(0, 1fr); align-items: start; gap: 36px;}
.tlb-principle-book-info .tlb-principle-book-author > img {display: block; width: 100%; height: auto;}
.tlb-story.tlb-story .tlb-principle-book-info :is(h2, h3, h4, dt, .tlb-principle-book-lecture-meta), .tlb-story.tlb-story .tlb-principle-book-info :is(h2, h3, h4, .tlb-principle-book-lecture-meta) span {font-family: var(--tlb-font-head);}
@media (max-width: 739px) {
  .tlb_common_section.tlb-principle-book-info {padding: 44px 22px 52px;}
  .tlb-principle-book-info .tlb-principle-book-intro {grid-template-columns: minmax(0, 1fr); gap: 28px;}
  .tlb-principle-book-info .tlb-principle-book-intro > img {max-width: 200px; margin: 0 auto;}
  .tlb-principle-book-info .tlb-principle-book-facts {grid-template-columns: minmax(0, 1fr); margin-top: 28px;}
  .tlb-principle-book-info .tlb-principle-book-facts > div {padding: 20px 0; border-left: 0; border-top: 1px solid var(--line, #333333);}
  .tlb-principle-book-info .tlb-principle-book-facts > div:first-child {border-top: 0;}
  .tlb-principle-book-info .tlb-principle-book-block {margin-top: 44px; padding-top: 28px;}
  .tlb-principle-book-info .tlb-principle-book-chapter h4 {grid-template-columns: 28px minmax(0, 1fr); gap: 12px;}
  .tlb-principle-book-info .tlb-principle-book-chapter ul {margin-left: 0;}
  .tlb-principle-book-info .tlb-principle-book-lectures > li {grid-template-columns: 52px minmax(0, 1fr); gap: 16px; padding: 20px 0;}
  .tlb-principle-book-info .tlb-principle-book-author {grid-template-columns: minmax(0, 1fr); gap: 24px;}
  .tlb-principle-book-info .tlb-principle-book-author > img {max-width: 120px;}
}
