/* ================================================================
   TLB LANDING — 랜딩페이지 통합 스타일
   아임웹 디자인모드에서 코드로 삽입되는 LP/TC/헤더푸터
   Merged from: lb-full-access, lb-management-new, lb-principle, lb-headerfooter, tlb-product-tc
   ================================================================ */

/* --- Section A: Full Access Package LP --- */
/* TLB Full Access Package - Premium Style 
   Based on Management Class Design - FIXED
*/

:root {
    /* Color Palette - Sprint Style */
    --sp-bg-main: #0a0a0a;
    --sp-bg-card: #141414;
    --sp-bg-card-hover: #1c1c1c;

    --sp-text-white: #ffffff;
    --sp-text-gray: #a0a0a0;
    --sp-text-dark: #666666;

    --sp-primary: #7000ff;
    --sp-accent: #ff00aa;
    --sp-gradient-main: linear-gradient(135deg, #7000ff 0%, #ff00aa 100%);
    --sp-gradient-text: linear-gradient(92deg, #fff 0%, #b0b0b0 100%);
    --sp-gradient-gold: linear-gradient(135deg, #FFD700 0%, #FDB931 100%);

    /* Spacing */
    --sp-container-width: 1000px;

    /* Effects */
    --sp-glass: rgba(255, 255, 255, 0.03);
    --sp-glass-border: rgba(255, 255, 255, 0.1);
    --sp-shadow-glow: 0 0 40px rgba(112, 0, 255, 0.15);
}

/* ================================================================
   TLB Homepage / Category Unified System
   Source: docs/HOMEPAGE_CSS_MIGRATION_ACTION_PLAN_2026-06-18.md
   ================================================================ */

.tlb-home-system,
.tlb-cat {
    width: 100%;
    box-sizing: border-box;
    font-family: var(--tlb-font-family, 'SUIT', -apple-system, BlinkMacSystemFont, sans-serif);
    color: var(--color-text-title);
    background: var(--color-background-card);
}

.tlb-home-system *,
.tlb-home-system *::before,
.tlb-home-system *::after,
.tlb-cat *,
.tlb-cat *::before,
.tlb-cat *::after {
    box-sizing: border-box;
}

.tlb-home-shell,
.tlb-cat-shell {
    width: min(100% - 48px, 980px);
    margin: 0 auto;
    padding: 76px 0;
}

.tlb-home-system--intro .tlb-home-shell,
.tlb-home-system--curriculum .tlb-home-shell,
.tlb-home-system--proof .tlb-home-shell,
.tlb-cat .tlb-cat-shell {
    padding: 64px 0;
}

.tlb-home-kicker,
.tlb-cat-kicker {
    display: block;
    margin: 0 0 18px;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--color-primary);
}

.tlb-home-lede,
.tlb-cat-head {
    max-width: 760px;
}

.tlb-home-title,
.tlb-cat-title {
    margin: 0;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 58px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
    letter-spacing: 0;
    color: var(--color-text-title);
}

.tlb-cat-title {
    font-size: 48px;
}

.tlb-home-copy,
.tlb-cat-copy {
    max-width: 720px;
    margin: 24px 0 0;
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-body);
    font-weight: 400;
    color: var(--color-text-body);
}

.tlb-home-route-map {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 54px;
    border: 1px solid var(--color-border-dark);
    border-right: 0;
    border-bottom: 0;
}

.tlb-home-route-map--linear {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tlb-home-route {
    display: flex;
    min-height: 220px;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    color: var(--color-text-title);
    text-decoration: none;
    border-right: 1px solid var(--color-border-dark);
    border-bottom: 1px solid var(--color-border-dark);
    background: var(--color-background-card);
    transition: background var(--tlb-transition-base), color var(--tlb-transition-base);
}

.tlb-home-route:hover,
.tlb-home-route:focus-visible {
    background: var(--color-background-hover);
}

.tlb-home-route-step {
    display: block;
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    color: var(--color-text-light);
}

.tlb-home-route-name {
    display: block;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 28px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-home-route-desc {
    display: block;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-compact);
    color: var(--color-text-body);
}

.tlb-home-route--basic {
    border-top: 4px solid var(--color-primary);
}

.tlb-home-route--principle {
    border-top: 4px solid var(--color-principle);
}

.tlb-home-route--practice,
.tlb-home-route--package {
    border-top: 4px solid var(--color-accent);
}

.tlb-home-route--final {
    border-top: 4px solid var(--color-error);
}

.tlb-home-route--camp {
    border-top: 4px solid var(--color-text-title);
}

.tlb-home-divider {
    width: 100%;
    height: 1px;
    margin: 56px 0 0;
    background: var(--color-border-dark);
}

.tlb-home-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 42px;
    border: 1px solid var(--color-border);
    border-right: 0;
    border-bottom: 0;
}

.tlb-home-proof {
    min-height: 210px;
    padding: 26px;
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-background-card);
}

.tlb-home-proof-label {
    display: block;
    margin-bottom: 18px;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--color-primary);
}

.tlb-home-proof-title,
.tlb-cat-note-title {
    display: block;
    font-size: 20px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-home-proof-copy,
.tlb-cat-note-copy {
    margin: 14px 0 0;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: var(--color-text-body);
}

.tlb-home-actions,
.tlb-cat-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 38px;
}

.tlb-home-action,
.tlb-cat-action,
.tlb-cat-row-link {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid var(--color-border-dark);
    color: var(--color-text-title);
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    text-decoration: none;
    background: var(--color-background-card);
}

.tlb-home-action--primary,
.tlb-cat-action--primary {
    border-color: var(--color-primary);
    color: var(--color-text-white);
    background: var(--color-primary);
}

.tlb-home-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
    gap: 40px;
    align-items: center;
    padding-bottom: 38px;
    border-bottom: 1px solid var(--color-border-dark);
}

.tlb-home-stage-copy {
    min-width: 0;
}

.tlb-home-stage-note {
    margin: 28px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--color-border-dark);
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    font-weight: 600;
    color: var(--color-text-title);
}

.tlb-home-stage-visual {
    margin: 0;
    border: 1px solid var(--color-border-dark);
    background: var(--color-background-card);
    overflow: hidden;
}

.tlb-home-stage-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-bottom: 1px solid var(--color-border-dark);
}

.tlb-home-stage-caption {
    margin: 0;
    padding: 16px 18px;
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-compact);
    color: var(--color-text-body);
}

.tlb-home-signal-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 34px;
    border: 1px solid var(--color-border-dark);
    border-right: 0;
    border-bottom: 0;
}

.tlb-home-signal {
    min-height: 126px;
    padding: 22px;
    border-right: 1px solid var(--color-border-dark);
    border-bottom: 1px solid var(--color-border-dark);
    background: var(--color-background-card);
}

.tlb-home-signal-label {
    display: block;
    margin-bottom: 16px;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 800;
    letter-spacing: 0;
    color: var(--color-primary);
}

.tlb-home-signal-text {
    display: block;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-ui);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-home-image-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 42px;
    border: 1px solid var(--color-border);
    border-right: 0;
    border-bottom: 0;
}

.tlb-home-image-panel {
    margin: 0;
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-background-card);
    overflow: hidden;
}

.tlb-home-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    filter: saturate(0.92) contrast(1.04);
    transition: transform var(--tlb-transition-base), filter var(--tlb-transition-base);
}

.tlb-home-image-panel:hover .tlb-home-image {
    transform: scale(1.025);
    filter: saturate(1) contrast(1.06);
}

.tlb-home-image-caption {
    margin: 0;
    padding: 18px 20px;
    border-top: 1px solid var(--color-border);
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-compact);
    font-weight: 600;
    color: var(--color-text-title);
}

.tlb-home-flow {
    margin-top: 42px;
    border-top: 1px solid var(--color-border-dark);
}

.tlb-home-flow-step {
    display: grid;
    grid-template-columns: 88px minmax(150px, 0.74fr) minmax(0, 2fr);
    gap: 24px;
    align-items: start;
    padding: 24px 0;
    border-bottom: 1px solid var(--color-border);
}

.tlb-home-flow-index {
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-title);
    font-weight: 800;
    letter-spacing: 0;
    color: var(--color-primary);
}

.tlb-home-flow-title {
    display: block;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 24px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-home-flow-copy {
    margin: 0;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: var(--color-text-body);
}

.tlb-home-route-thumb {
    display: block;
    width: 100%;
    margin-bottom: 2px;
    border: 1px solid var(--color-border);
    background: var(--color-background-hover);
    overflow: hidden;
}

.tlb-home-route-image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform var(--tlb-transition-base);
}

.tlb-home-route:hover .tlb-home-route-image,
.tlb-home-route:focus-visible .tlb-home-route-image {
    transform: scale(1.025);
}

.tlb-home-route-meta {
    display: block;
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid var(--color-border);
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-home-choice-board {
    margin-top: 42px;
    border-top: 1px solid var(--color-border-dark);
}

.tlb-home-choice-row {
    display: grid;
    grid-template-columns: minmax(180px, 0.9fr) minmax(0, 1.7fr) minmax(132px, auto);
    gap: 22px;
    align-items: center;
    padding: 22px 0;
    border-bottom: 1px solid var(--color-border);
}

.tlb-home-choice-head {
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-home-choice-copy {
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: var(--color-text-body);
}

.tlb-home-choice-link {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid var(--color-border-dark);
    color: var(--color-text-title);
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    text-decoration: none;
    background: var(--color-background-card);
    transition: background var(--tlb-transition-base), color var(--tlb-transition-base), border-color var(--tlb-transition-base);
}

.tlb-home-choice-link:hover,
.tlb-home-choice-link:focus-visible {
    border-color: var(--color-primary);
    color: var(--color-text-white);
    background: var(--color-primary);
}

.tlb-home-story {
    background: var(--color-background-card);
}

.tlb-home-story-shell {
    width: min(100% - 48px, 980px);
    margin: 0 auto;
}

.tlb-home-story-hero {
    position: relative;
    min-height: 640px;
    overflow: hidden;
    background: var(--color-background-dark);
}

.tlb-home-story-hero-bg,
.tlb-home-story-hero-shade {
    position: absolute;
    inset: 0;
}

.tlb-home-story-hero-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.8) contrast(1.08);
}

.tlb-home-story-hero-shade {
    background: var(--color-background-dark);
    opacity: 0.72;
}

.tlb-home-story-hero-inner {
    position: relative;
    display: flex;
    min-height: 640px;
    flex-direction: column;
    justify-content: center;
    padding: 96px 0;
    color: var(--color-text-white);
}

.tlb-home-story-logo {
    display: block;
    width: min(100%, 280px);
    margin-bottom: 44px;
}

.tlb-home-story-eyebrow,
.tlb-home-story-kicker {
    margin: 0 0 18px;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 800;
    letter-spacing: 0;
    color: var(--color-primary);
}

.tlb-home-story-hero-title {
    max-width: 760px;
    margin: 0;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 56px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
    letter-spacing: 0;
    color: var(--color-text-white);
}

.tlb-home-story-hero-copy {
    max-width: 720px;
    margin: 30px 0 0;
    font-size: 19px;
    line-height: var(--tlb-lh-body);
    color: var(--color-text-white);
}

.tlb-home-story-block,
.tlb-home-story-panel,
.tlb-home-catalog-section,
.tlb-home-story-cta {
    padding: 92px 0;
    border-bottom: 1px solid var(--color-border-dark);
}

.tlb-home-story-block--lead {
    padding-top: 104px;
}

.tlb-home-story-title,
.tlb-home-catalog-title {
    max-width: 820px;
    margin: 0;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 42px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
    letter-spacing: 0;
    color: var(--color-text-title);
}

.tlb-home-story-copy,
.tlb-home-catalog-copy {
    max-width: 760px;
    margin: 22px 0 0;
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-body);
    color: var(--color-text-body);
}

.tlb-home-story-index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 54px;
    border-top: 1px solid var(--color-border-dark);
}

.tlb-home-story-index-item {
    padding: 28px 26px 28px 0;
    border-bottom: 1px solid var(--color-border);
}

.tlb-home-story-index-label,
.tlb-home-story-trap-label,
.tlb-home-story-book-label,
.tlb-home-catalog-book-label {
    display: block;
    margin-bottom: 16px;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 800;
    letter-spacing: 0;
    color: var(--color-primary);
}

.tlb-home-story-index-title,
.tlb-home-story-trap-title,
.tlb-home-story-book-title,
.tlb-home-catalog-book-title {
    display: block;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 22px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-home-story-index-copy,
.tlb-home-story-trap-copy,
.tlb-home-catalog-book-copy {
    margin: 14px 0 0;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: var(--color-text-body);
}

.tlb-home-story-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: 54px;
    align-items: start;
}

.tlb-home-story-panel--dark {
    width: min(100% - 48px, 980px);
    margin: 0 auto;
    padding: 72px 54px;
    border: 0;
    background: var(--color-background-dark);
}

.tlb-home-story-panel--dark .tlb-home-story-title,
.tlb-home-story-panel--dark .tlb-home-story-copy,
.tlb-home-story-panel--dark .tlb-home-story-trap-title,
.tlb-home-story-panel--dark .tlb-home-story-trap-copy {
    color: var(--color-text-white);
}

.tlb-home-story-panel-copy {
    min-width: 0;
}

.tlb-home-story-trap-list {
    border-top: 1px solid var(--color-border-dark);
}

.tlb-home-story-trap {
    padding: 24px 0;
    border-bottom: 1px solid var(--color-border-dark);
}

.tlb-home-story-split {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
    gap: 52px;
    margin-top: 38px;
    align-items: start;
}

.tlb-home-story-copy-stack {
    min-width: 0;
}

.tlb-home-story-quote {
    padding: 30px 0;
    border-top: 4px solid var(--color-primary);
    border-bottom: 1px solid var(--color-border-dark);
}

.tlb-home-story-quote-title {
    display: block;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 28px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-home-story-quote-copy {
    margin: 18px 0 0;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: var(--color-text-body);
}

.tlb-home-story-panel--solution {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

.tlb-home-story-shelf {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--color-border-dark);
    border-right: 0;
    border-bottom: 0;
}

.tlb-home-story-book,
.tlb-home-catalog-book {
    display: block;
    min-width: 0;
    padding: 22px;
    border-right: 1px solid var(--color-border-dark);
    border-bottom: 1px solid var(--color-border-dark);
    color: var(--color-text-title);
    text-decoration: none;
    background: var(--color-background-card);
}

.tlb-home-story-book:hover,
.tlb-home-story-book:focus-visible,
.tlb-home-catalog-book:hover,
.tlb-home-catalog-book:focus-visible {
    background: var(--color-background-hover);
}

.tlb-home-story-book-image,
.tlb-home-catalog-book-image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin-bottom: 20px;
    border: 1px solid var(--color-border);
}

.tlb-home-story-cta {
    border-bottom: 0;
}

.tlb-home-catalog-hero {
    padding: 96px 0 84px;
    text-align: center;
    border-bottom: 1px solid var(--color-border-dark);
}

.tlb-home-catalog-logo {
    display: block;
    width: min(100%, 310px);
    margin: 0 auto 42px;
}

.tlb-home-catalog-title,
.tlb-home-catalog-copy {
    margin-right: auto;
    margin-left: auto;
}

.tlb-home-catalog-head {
    margin-bottom: 42px;
}

.tlb-home-catalog-section--principle .tlb-home-story-kicker,
.tlb-home-catalog-section--principle .tlb-home-catalog-book-label,
.tlb-home-story-book--principle .tlb-home-story-book-label {
    color: var(--color-principle);
}

.tlb-home-story-book--basic .tlb-home-story-book-label {
    color: var(--color-primary);
}

.tlb-home-catalog-section--practice .tlb-home-story-kicker,
.tlb-home-catalog-section--practice .tlb-home-catalog-book-label,
.tlb-home-story-book--practice .tlb-home-story-book-label {
    color: var(--color-accent);
}

.tlb-home-catalog-section--final .tlb-home-story-kicker,
.tlb-home-catalog-section--final .tlb-home-catalog-book-label,
.tlb-home-story-book--final .tlb-home-story-book-label {
    color: var(--color-error);
}

.tlb-home-catalog-books {
    display: grid;
    border: 1px solid var(--color-border-dark);
    border-right: 0;
    border-bottom: 0;
}

.tlb-home-catalog-books--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tlb-home-catalog-books--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tlb-cat--principle .tlb-cat-action--primary {
    border-color: var(--color-principle);
    background: var(--color-principle);
}

.tlb-cat--practice .tlb-cat-action--primary,
.tlb-cat--package .tlb-cat-action--primary {
    border-color: var(--color-accent);
    background: var(--color-accent);
}

.tlb-cat--final .tlb-cat-action--primary {
    border-color: var(--color-error);
    background: var(--color-error);
}

.tlb-cat--camp .tlb-cat-action--primary {
    border-color: var(--color-text-title);
    background: var(--color-text-title);
}

.tlb-cat--principle .tlb-cat-kicker,
.tlb-cat--principle .tlb-cat-panel-label {
    color: var(--color-principle);
}

.tlb-cat--basic .tlb-cat-kicker,
.tlb-cat--basic .tlb-cat-panel-label {
    color: var(--color-primary);
}

.tlb-cat--practice .tlb-cat-kicker,
.tlb-cat--practice .tlb-cat-panel-label {
    color: var(--color-accent);
}

.tlb-cat--final .tlb-cat-kicker,
.tlb-cat--final .tlb-cat-panel-label {
    color: var(--color-error);
}

.tlb-cat--camp .tlb-cat-kicker,
.tlb-cat--camp .tlb-cat-panel-label {
    color: var(--color-text-title);
}

.tlb-cat--package .tlb-cat-kicker,
.tlb-cat--package .tlb-cat-panel-label {
    color: var(--color-accent);
}

.tlb-cat-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 42px;
    border: 1px solid var(--color-border-dark);
    border-right: 0;
    border-bottom: 0;
}

.tlb-cat-split--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tlb-cat-panel {
    min-height: 220px;
    padding: 30px;
    border-right: 1px solid var(--color-border-dark);
    border-bottom: 1px solid var(--color-border-dark);
    background: var(--color-background-card);
}

.tlb-cat-panel-label {
    display: block;
    margin-bottom: 20px;
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-none);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tlb-cat-panel-title {
    margin: 0;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 24px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    letter-spacing: 0;
    color: var(--color-text-title);
}

.tlb-cat-panel-copy {
    margin: 18px 0 0;
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-text);
    color: var(--color-text-body);
}

.tlb-cat-table,
.tlb-cat-matrix {
    margin-top: 42px;
    border-top: 1px solid var(--color-border-dark);
}

.tlb-cat-row,
.tlb-cat-matrix-row {
    display: grid;
    grid-template-columns: minmax(140px, 0.9fr) minmax(0, 2fr) auto;
    gap: 22px;
    align-items: center;
    padding: 22px 0;
    border-bottom: 1px solid var(--color-border);
}

.tlb-cat-matrix-row {
    grid-template-columns: minmax(150px, 0.9fr) minmax(160px, 1fr) minmax(0, 1.6fr);
}

.tlb-cat-matrix--compact .tlb-cat-matrix-row {
    grid-template-columns: minmax(100px, 0.6fr) minmax(180px, 1fr) minmax(0, 1.8fr);
}

.tlb-cat-row-head,
.tlb-cat-matrix-row strong {
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-cat-row-copy,
.tlb-cat-matrix-row span,
.tlb-cat-matrix-row em {
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-compact);
    font-style: normal;
    color: var(--color-text-body);
}

.tlb-cat-matrix-row em {
    color: var(--color-text-light);
}

.tlb-cat-note {
    margin-top: 38px;
    padding: 26px 0 0;
    border-top: 1px solid var(--color-border-dark);
}

.tlb-support {
    width: 100%;
    box-sizing: border-box;
    font-family: var(--tlb-font-family, 'SUIT', -apple-system, BlinkMacSystemFont, sans-serif);
    color: var(--color-text-title);
    background: var(--color-background-card);
}

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

.tlb-support-shell {
    width: min(100% - 48px, 980px);
    margin: 0 auto;
    padding: 56px 0;
}

.tlb-support-head {
    max-width: 720px;
}

.tlb-support-kicker {
    display: block;
    margin: 0 0 16px;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--color-primary);
}

.tlb-support-title {
    margin: 0;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 38px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
    letter-spacing: 0;
    color: var(--color-text-title);
}

.tlb-support-copy {
    max-width: 700px;
    margin: 20px 0 0;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-body);
    color: var(--color-text-body);
}

.tlb-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 34px;
    border: 1px solid var(--color-border-dark);
    border-right: 0;
    border-bottom: 0;
}

.tlb-support-item {
    min-height: 184px;
    padding: 24px;
    border-right: 1px solid var(--color-border-dark);
    border-bottom: 1px solid var(--color-border-dark);
    background: var(--color-background-card);
}

.tlb-support-item-label {
    display: block;
    margin-bottom: 18px;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--color-text-light);
}

.tlb-support-item-title {
    display: block;
    font-family: 'SUITE', var(--tlb-font-family, sans-serif);
    font-size: 19px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
    color: var(--color-text-title);
}

.tlb-support-item-copy {
    margin: 14px 0 0;
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
    color: var(--color-text-body);
}

.tlb-support-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 32px;
}

.tlb-support-action {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid var(--color-border-dark);
    color: var(--color-text-title);
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    text-decoration: none;
    background: var(--color-background-card);
}

.tlb-support-action--primary {
    border-color: var(--color-primary);
    color: var(--color-text-white);
    background: var(--color-primary);
}

.tlb-support--resources .tlb-support-kicker,
.tlb-support--resources .tlb-support-action--primary,
.tlb-support--wbdown .tlb-support-kicker,
.tlb-support--wbdown .tlb-support-action--primary {
    border-color: var(--color-primary);
    color: var(--color-text-white);
    background: var(--color-primary);
}

.tlb-support--resources .tlb-support-kicker,
.tlb-support--wbdown .tlb-support-kicker {
    color: var(--color-primary);
    background: transparent;
}

.tlb-support--resources-premium .tlb-support-kicker,
.tlb-support--resources-premium .tlb-support-action--primary,
.tlb-support--magazine .tlb-support-kicker,
.tlb-support--magazine .tlb-support-action--primary {
    border-color: var(--color-accent);
    color: var(--color-text-white);
    background: var(--color-accent);
}

.tlb-support--resources-premium .tlb-support-kicker,
.tlb-support--magazine .tlb-support-kicker {
    color: var(--color-accent);
    background: transparent;
}

.tlb-support--feedbacks .tlb-support-kicker,
.tlb-support--feedbacks .tlb-support-action--primary,
.tlb-support--done .tlb-support-kicker,
.tlb-support--done .tlb-support-action--primary {
    border-color: var(--color-principle);
    color: var(--color-text-white);
    background: var(--color-principle);
}

.tlb-support--feedbacks .tlb-support-kicker,
.tlb-support--done .tlb-support-kicker {
    color: var(--color-principle);
    background: transparent;
}

.tlb-support--faq .tlb-support-kicker,
.tlb-support--community .tlb-support-kicker,
.tlb-support--notice .tlb-support-kicker {
    color: var(--color-text-title);
}

@media (max-width: 860px) {
    .tlb-home-shell,
    .tlb-cat-shell,
    .tlb-support-shell {
        width: min(100% - 32px, 980px);
        padding: 56px 0;
    }

    .tlb-home-route-map,
    .tlb-home-route-map--linear,
    .tlb-home-proof-grid,
    .tlb-home-stage,
    .tlb-home-signal-strip,
    .tlb-home-image-grid,
    .tlb-home-story-index,
    .tlb-home-story-panel,
    .tlb-home-story-split,
    .tlb-home-story-shelf,
    .tlb-home-catalog-books,
    .tlb-home-catalog-books--three,
    .tlb-home-catalog-books--four,
    .tlb-cat-split,
    .tlb-cat-split--three,
    .tlb-support-grid {
        grid-template-columns: 1fr;
    }

    .tlb-home-route,
    .tlb-home-proof,
    .tlb-home-signal,
    .tlb-cat-panel,
    .tlb-support-item {
        min-height: auto;
        padding: 24px;
    }

    .tlb-home-stage {
        gap: 28px;
        padding-bottom: 30px;
    }

    .tlb-home-stage-image {
        aspect-ratio: 4 / 3;
    }

    .tlb-home-signal-strip,
    .tlb-home-image-grid {
        margin-top: 32px;
    }

    .tlb-home-flow-step,
    .tlb-home-choice-row {
        grid-template-columns: 1fr;
        gap: 10px;
        align-items: start;
    }

    .tlb-home-choice-link {
        width: 100%;
    }

    .tlb-home-story-shell {
        width: min(100% - 32px, 980px);
    }

    .tlb-home-story-hero,
    .tlb-home-story-hero-inner {
        min-height: 620px;
    }

    .tlb-home-story-hero-inner {
        padding: 72px 0;
    }

    .tlb-home-story-logo {
        width: min(100%, 230px);
        margin-bottom: 34px;
    }

    .tlb-home-story-hero-title {
        font-size: 38px;
    }

    .tlb-home-story-hero-copy {
        font-size: var(--tlb-fs-body);
    }

    .tlb-home-story-block,
    .tlb-home-story-panel,
    .tlb-home-catalog-section,
    .tlb-home-story-cta {
        padding: 62px 0;
    }

    .tlb-home-story-panel--dark {
        width: min(100% - 32px, 980px);
        padding: 42px 24px;
    }

    .tlb-home-story-title,
    .tlb-home-catalog-title {
        font-size: 30px;
    }

    .tlb-home-story-index-item {
        padding-right: 0;
    }

    .tlb-home-story-split {
        gap: 28px;
        margin-top: 30px;
    }

    .tlb-home-story-quote-title {
        font-size: 23px;
    }

    .tlb-home-catalog-hero {
        padding: 68px 0 58px;
    }

    .tlb-home-catalog-logo {
        width: min(100%, 250px);
        margin-bottom: 32px;
    }

    .tlb-home-title {
        font-size: 34px;
    }

    .tlb-cat-title {
        font-size: 30px;
    }

    .tlb-support-title {
        font-size: 28px;
    }

    .tlb-cat-row,
    .tlb-cat-matrix-row,
    .tlb-cat-matrix--compact .tlb-cat-matrix-row {
        grid-template-columns: 1fr;
        gap: 10px;
        align-items: start;
    }

    .tlb-home-actions,
    .tlb-cat-actions,
    .tlb-support-actions {
        flex-direction: column;
    }

    .tlb-home-action,
    .tlb-cat-action,
    .tlb-cat-row-link,
    .tlb-support-action {
        width: 100%;
    }
}

/* Training Camp Final - Reference Variations A/B/C */
.tcva-page,
.tcvb-page,
.tcvc-page {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    overflow: hidden;
    font-family: var(--tlb-font-body);
}

.tcva-page *,
.tcva-page *::before,
.tcva-page *::after,
.tcvb-page *,
.tcvb-page *::before,
.tcvb-page *::after,
.tcvc-page *,
.tcvc-page *::before,
.tcvc-page *::after {
    box-sizing: border-box;
}

.tcva-shell,
.tcvb-shell,
.tcvc-shell {
    width: min(100% - 80px, 900px);
    margin: 0 auto;
}

/* Variation A: season poster */
.tcva-page {
    --va-black: #090405;
    --va-ink: #1e1414;
    --va-red: #b30f1c;
    --va-hot: #ff3344;
    --va-deep: #4d0208;
    --va-paper: #fff2e4;
    --va-line: rgba(255, 242, 228, 0.2);
    background: var(--va-black);
    color: var(--va-paper);
}

.tcva-hero {
    position: relative;
    min-height: 980px;
    padding: 54px 0 86px;
    background:
        linear-gradient(115deg, rgba(179, 15, 28, 0.95) 0 28%, transparent 28% 100%),
        radial-gradient(circle at 80% 16%, rgba(255, 51, 68, 0.35), transparent 30%),
        linear-gradient(180deg, #160305 0%, #090405 100%);
}

.tcva-side {
    position: absolute;
    right: -18px;
    top: 110px;
    color: rgba(255, 242, 228, 0.07);
    font-family: var(--tlb-font-head);
    font-size: 170px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
    writing-mode: vertical-rl;
}

.tcva-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 42px;
    border-bottom: 1px solid var(--va-line);
}

.tcva-brand img:first-child {
    width: 206px;
}

.tcva-brand img:nth-child(2) {
    width: 280px;
}

.tcva-label {
    margin: 0 0 24px;
    color: var(--va-hot);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
    letter-spacing: 0.24em;
}

.tcva-hero .tcva-label {
    margin-top: 110px;
}

.tcva-hero h1,
.tcva-section h2 {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-weight: 700;
}

.tcva-hero h1 {
    max-width: 700px;
    color: var(--va-paper);
    font-size: clamp(62px, 8vw, 106px);
    line-height: var(--tlb-lh-none);
}

.tcva-hero-copy {
    max-width: 650px;
    margin: 38px 0 0;
    color: rgba(255, 242, 228, 0.78);
    font-size: 20px;
    line-height: var(--tlb-lh-body);
}

.tcva-actions {
    display: flex;
    gap: 14px;
    margin-top: 46px;
}

.tcva-actions a,
.tcva-faq a {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border: 1px solid var(--va-paper);
    color: var(--va-paper);
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    text-decoration: none;
}

.tcva-actions a:first-child,
.tcva-faq a {
    border-color: var(--va-hot);
    background: var(--va-hot);
    color: #fff;
}

.tcva-section {
    padding: 118px 0;
}

.tcva-section h2 {
    font-size: clamp(42px, 5.8vw, 72px);
    line-height: var(--tlb-lh-none);
}

.tcva-manifesto,
.tcva-set,
.tcva-rhythm,
.tcva-faq {
    background: var(--va-paper);
    color: var(--va-ink);
}

.tcva-manifesto .tcva-label,
.tcva-set .tcva-label,
.tcva-rhythm .tcva-label,
.tcva-faq .tcva-label {
    color: var(--va-red);
}

.tcva-statement {
    margin-top: 56px;
    border-top: 2px solid var(--va-ink);
}

.tcva-statement span {
    display: block;
    padding: 26px 0;
    border-bottom: 1px solid rgba(30, 20, 20, 0.18);
    font-size: 26px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcva-red {
    background: var(--va-deep);
}

.tcva-red h2 {
    color: var(--va-paper);
}

.tcva-seal-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 62px;
    border-top: 1px solid var(--va-line);
    border-left: 1px solid var(--va-line);
}

.tcva-seal-grid article {
    min-height: 260px;
    padding: 24px;
    border-right: 1px solid var(--va-line);
    border-bottom: 1px solid var(--va-line);
}

.tcva-seal-grid b {
    display: block;
    margin-bottom: 64px;
    color: #ff8b94;
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-lead);
    font-weight: 900;
}

.tcva-seal-grid strong {
    display: block;
    color: #fff;
    font-size: 24px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcva-seal-grid p {
    margin: 14px 0 0;
    color: rgba(255, 242, 228, 0.68);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-compact);
}

.tcva-book-stage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 60px;
}

.tcva-book-stage figure {
    margin: 0;
    background: #111;
}

.tcva-book-stage img {
    width: 100%;
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.tcva-book-stage figcaption {
    padding: 20px;
    background: var(--va-ink);
    color: var(--va-paper);
    font-size: 22px;
    font-weight: 700;
}

.tcva-source,
.tcva-mock {
    background: var(--va-black);
}

.tcva-source-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 2px solid var(--va-paper);
}

.tcva-source-list article {
    padding: 42px 30px;
    border-bottom: 1px solid var(--va-line);
}

.tcva-source-list article + article {
    border-left: 1px solid var(--va-line);
}

.tcva-source-list span {
    color: var(--va-hot);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
    letter-spacing: 0.22em;
}

.tcva-source-list h3 {
    margin: 28px 0 18px;
    color: var(--va-paper);
    font-family: var(--tlb-font-head);
    font-size: 32px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcva-source-list p {
    margin: 0;
    color: rgba(255, 242, 228, 0.7);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcva-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-top: 56px;
    border-top: 2px solid var(--va-ink);
    border-left: 1px solid rgba(30, 20, 20, 0.18);
}

.tcva-week span {
    min-height: 134px;
    padding: 22px 14px;
    border-right: 1px solid rgba(30, 20, 20, 0.18);
    border-bottom: 1px solid rgba(30, 20, 20, 0.18);
    font-size: var(--tlb-fs-lead);
    font-weight: 700;
}

.tcva-week span:nth-child(odd) {
    background: var(--va-red);
    color: #fff;
}

.tcva-mock dl {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 56px 0 0;
    border-top: 1px solid var(--va-line);
    border-left: 1px solid var(--va-line);
}

.tcva-mock dl div {
    min-height: 170px;
    padding: 24px;
    border-right: 1px solid var(--va-line);
    border-bottom: 1px solid var(--va-line);
}

.tcva-mock dt {
    color: #ff8b94;
    font-size: var(--tlb-fs-meta);
    font-weight: 900;
}

.tcva-mock dd {
    margin: 30px 0 0;
    color: var(--va-paper);
    font-size: 22px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcva-faq details {
    border-top: 1px solid rgba(30, 20, 20, 0.18);
}

.tcva-faq summary {
    padding: 26px 0;
    cursor: pointer;
    font-family: var(--tlb-font-head);
    font-size: 24px;
    font-weight: 700;
}

.tcva-faq p {
    margin: -6px 0 26px;
    color: #6e5f58;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcva-faq a {
    margin-top: 34px;
}

/* Variation B: white editorial */
.tcvb-page {
    --vb-ink: #181111;
    --vb-muted: #786d68;
    --vb-red: #c51724;
    --vb-paper: #fffaf3;
    --vb-soft: #f0e5d7;
    --vb-line: rgba(24, 17, 17, 0.18);
    background: var(--vb-paper);
    color: var(--vb-ink);
}

.tcvb-hero {
    padding: 54px 0 88px;
    background: var(--vb-paper);
}

.tcvb-mast {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 34px;
    border-bottom: 3px solid var(--vb-ink);
}

.tcvb-mast img {
    width: 210px;
}

.tcvb-mast span {
    color: var(--vb-red);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-lead);
    font-weight: 700;
}

.tcvb-hero h1,
.tcvb-section h2 {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-weight: 700;
}

.tcvb-hero h1 {
    max-width: 850px;
    margin-top: 78px;
    font-size: clamp(58px, 8vw, 96px);
    line-height: var(--tlb-lh-none);
}

.tcvb-hero > .tcvb-shell > p {
    max-width: 730px;
    margin: 34px 0 0;
    color: var(--vb-muted);
    font-size: 21px;
    line-height: var(--tlb-lh-body);
}

.tcvb-hero-note {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 62px;
    border-top: 1px solid var(--vb-line);
    border-left: 1px solid var(--vb-line);
}

.tcvb-hero-note b {
    min-height: 106px;
    display: flex;
    align-items: center;
    padding: 22px;
    border-right: 1px solid var(--vb-line);
    border-bottom: 1px solid var(--vb-line);
    color: var(--vb-red);
    font-size: 21px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcvb-section {
    padding: 108px 0;
    border-top: 1px solid var(--vb-line);
}

.tcvb-two {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 60px;
}

.tcvb-index {
    margin: 0 0 28px;
    color: var(--vb-red);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.22em;
}

.tcvb-section h2 {
    font-size: clamp(40px, 5.4vw, 68px);
    line-height: var(--tlb-lh-tight);
}

.tcvb-section p {
    max-width: 720px;
    margin: 28px 0 0;
    color: var(--vb-muted);
    font-size: 20px;
    line-height: var(--tlb-lh-body);
}

.tcvb-red {
    background: var(--vb-red);
    color: #fff;
}

.tcvb-red .tcvb-index,
.tcvb-red h2 {
    color: #fff;
}

.tcvb-operate {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 58px;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.tcvb-operate div {
    min-height: 210px;
    padding: 26px;
    border-right: 1px solid rgba(255, 255, 255, 0.28);
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

.tcvb-operate strong {
    display: block;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
}

.tcvb-operate span {
    display: block;
    margin-top: 54px;
    color: rgba(255, 255, 255, 0.82);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-ui);
    font-weight: 700;
}

.tcvb-image .tcvb-shell {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 54px;
    align-items: center;
}

.tcvb-image-reverse .tcvb-shell {
    grid-template-columns: 1.08fr 0.92fr;
}

.tcvb-image-reverse figure {
    order: 2;
}

.tcvb-image figure {
    margin: 0;
    border: 1px solid var(--vb-line);
    background: var(--vb-soft);
}

.tcvb-image img {
    width: 100%;
    display: block;
    aspect-ratio: 1 / 1.15;
    object-fit: cover;
}

.tcvb-note {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 50px;
    border-top: 2px solid var(--vb-ink);
}

.tcvb-note span {
    min-height: 124px;
    padding: 26px;
    border-bottom: 1px solid var(--vb-line);
    color: var(--vb-ink);
    font-size: 23px;
    font-weight: 700;
}

.tcvb-note span:nth-child(odd) {
    border-right: 1px solid var(--vb-line);
}

.tcvb-calendar-section {
    background: var(--vb-soft);
}

.tcvb-calendar {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-top: 48px;
}

.tcvb-calendar b,
.tcvb-calendar span {
    min-height: 148px;
    padding: 20px 14px;
    border: 1px solid var(--vb-line);
    border-left: none;
    color: var(--vb-ink);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcvb-calendar b:first-child {
    border-left: 1px solid var(--vb-line);
}

.tcvb-calendar b {
    background: var(--vb-red);
    color: #fff;
}

.tcvb-final {
    background: #151010;
    color: #fffaf3;
}

.tcvb-final .tcvb-index,
.tcvb-final h2 {
    color: #fffaf3;
}

.tcvb-final p {
    color: rgba(255, 250, 243, 0.72);
}

.tcvb-faq details {
    border-top: 1px solid var(--vb-line);
}

.tcvb-faq summary {
    padding: 26px 0;
    cursor: pointer;
    font-family: var(--tlb-font-head);
    font-size: 23px;
    font-weight: 700;
}

.tcvb-faq a {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    margin-top: 34px;
    padding: 0 28px;
    background: var(--vb-red);
    color: #fff;
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    text-decoration: none;
}

/* Variation C: system console */
.tcvc-page {
    --vc-black: #060607;
    --vc-panel: #101012;
    --vc-ink: #f8eee6;
    --vc-muted: rgba(248, 238, 230, 0.64);
    --vc-red: #ff2f42;
    --vc-deep: #6b0710;
    --vc-line: rgba(248, 238, 230, 0.18);
    background: var(--vc-black);
    color: var(--vc-ink);
}

.tcvc-hero {
    min-height: 880px;
    padding: 54px 0 74px;
    background:
        linear-gradient(90deg, rgba(255, 47, 66, 0.1) 1px, transparent 1px) 0 0 / 34px 34px,
        linear-gradient(0deg, rgba(255, 47, 66, 0.07) 1px, transparent 1px) 0 0 / 34px 34px,
        radial-gradient(circle at 70% 18%, rgba(255, 47, 66, 0.24), transparent 36%),
        var(--vc-black);
}

.tcvc-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding-bottom: 34px;
    border-bottom: 1px solid var(--vc-line);
}

.tcvc-topline img {
    width: 210px;
}

.tcvc-topline span,
.tcvc-label {
    color: var(--vc-red);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
    letter-spacing: 0.22em;
}

.tcvc-command {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 54px;
    align-items: end;
    min-height: 650px;
}

.tcvc-command p {
    margin: 0 0 24px;
    color: var(--vc-red);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
    letter-spacing: 0.22em;
}

.tcvc-command h1,
.tcvc-section h2 {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-weight: 700;
}

.tcvc-command h1 {
    font-size: clamp(56px, 7.6vw, 92px);
    line-height: var(--tlb-lh-none);
}

.tcvc-command aside {
    border: 1px solid var(--vc-line);
    background: rgba(16, 16, 18, 0.88);
}

.tcvc-command aside b,
.tcvc-command aside span {
    display: block;
    padding: 20px 22px;
    border-bottom: 1px solid var(--vc-line);
    font-weight: 700;
}

.tcvc-command aside b {
    color: var(--vc-red);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-lead);
}

.tcvc-command aside span {
    color: var(--vc-ink);
    font-size: 19px;
}

.tcvc-section {
    padding: 112px 0;
    border-top: 1px solid var(--vc-line);
}

.tcvc-section h2 {
    max-width: 820px;
    font-size: clamp(40px, 5.6vw, 70px);
    line-height: var(--tlb-lh-none);
}

.tcvc-alert {
    background: var(--vc-deep);
}

.tcvc-alert-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 54px;
    border-top: 1px solid rgba(248, 238, 230, 0.24);
    border-left: 1px solid rgba(248, 238, 230, 0.24);
}

.tcvc-alert-grid p {
    margin: 0;
    min-height: 136px;
    padding: 26px;
    border-right: 1px solid rgba(248, 238, 230, 0.24);
    border-bottom: 1px solid rgba(248, 238, 230, 0.24);
    font-size: 24px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcvc-label {
    margin: 0 0 24px;
}

.tcvc-map {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 58px;
    border-top: 1px solid var(--vc-line);
    border-left: 1px solid var(--vc-line);
}

.tcvc-map div {
    min-height: 180px;
    padding: 24px;
    border-right: 1px solid var(--vc-line);
    border-bottom: 1px solid var(--vc-line);
    background: var(--vc-panel);
}

.tcvc-map b {
    color: var(--vc-red);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
}

.tcvc-map strong {
    display: block;
    margin-top: 54px;
    color: var(--vc-ink);
    font-size: 22px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcvc-spec {
    background: #0c0c0e;
}

.tcvc-spec-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 54px;
}

.tcvc-spec-grid article {
    padding: 34px;
    border: 1px solid var(--vc-line);
    background: linear-gradient(145deg, rgba(255, 47, 66, 0.14), rgba(16, 16, 18, 0.92));
}

.tcvc-spec-grid h3 {
    margin: 0;
    color: var(--vc-red);
    font-family: var(--tlb-font-head);
    font-size: 32px;
    font-weight: 700;
}

.tcvc-spec-grid strong {
    display: block;
    margin-top: 56px;
    color: var(--vc-ink);
    font-size: 30px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcvc-spec-grid p,
.tcvc-target p,
.tcvc-faq p {
    margin: 20px 0 0;
    color: var(--vc-muted);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcvc-board-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    margin-top: 54px;
    border-top: 1px solid var(--vc-line);
    border-left: 1px solid var(--vc-line);
}

.tcvc-board-grid span {
    min-height: 150px;
    display: flex;
    align-items: end;
    padding: 18px;
    border-right: 1px solid var(--vc-line);
    border-bottom: 1px solid var(--vc-line);
    color: var(--vc-ink);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcvc-board-grid span:nth-child(odd) {
    background: var(--vc-red);
}

.tcvc-loop {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    align-items: center;
    gap: 0;
    margin-top: 54px;
}

.tcvc-loop span {
    min-height: 94px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--vc-line);
    color: var(--vc-ink);
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    text-align: center;
}

.tcvc-loop i {
    display: none;
}

.tcvc-final {
    background: var(--vc-deep);
}

.tcvc-final dl {
    margin: 54px 0 0;
    border-top: 1px solid rgba(248, 238, 230, 0.24);
}

.tcvc-final dl div {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 28px;
    padding: 28px 0;
    border-bottom: 1px solid rgba(248, 238, 230, 0.24);
}

.tcvc-final dt {
    color: #ff9aa4;
    font-weight: 900;
}

.tcvc-final dd {
    margin: 0;
    color: var(--vc-ink);
    font-size: 26px;
    font-weight: 700;
}

.tcvc-faq summary {
    padding: 26px 0;
    border-top: 1px solid var(--vc-line);
    cursor: pointer;
    font-family: var(--tlb-font-head);
    font-size: 23px;
    font-weight: 700;
}

.tcvc-faq a {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    margin-top: 34px;
    padding: 0 28px;
    background: var(--vc-red);
    color: #fff;
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 860px) {
    .tcva-shell,
    .tcvb-shell,
    .tcvc-shell {
        width: min(100% - 34px, 900px);
    }

    .tcva-brand,
    .tcvb-mast,
    .tcvc-topline {
        flex-direction: column;
        align-items: flex-start;
    }

    .tcva-brand img:first-child,
    .tcvb-mast img,
    .tcvc-topline img {
        width: 184px;
    }

    .tcva-brand img:nth-child(2) {
        width: 260px;
    }

    .tcva-side {
        display: none;
    }

    .tcva-hero,
    .tcvc-hero {
        min-height: auto;
        padding-bottom: 72px;
    }

    .tcva-hero .tcva-label {
        margin-top: 76px;
    }

    .tcva-hero h1,
    .tcvb-hero h1,
    .tcvc-command h1 {
        font-size: 48px;
    }

    .tcva-hero-copy,
    .tcvb-hero > .tcvb-shell > p {
        font-size: var(--tlb-fs-read);
    }

    .tcva-actions,
    .tcvb-hero-note,
    .tcvb-two,
    .tcvb-operate,
    .tcvb-image .tcvb-shell,
    .tcvb-image-reverse .tcvb-shell,
    .tcvb-note,
    .tcvb-calendar,
    .tcvc-command,
    .tcvc-alert-grid,
    .tcvc-map,
    .tcvc-spec-grid,
    .tcvc-board-grid,
    .tcvc-loop {
        grid-template-columns: 1fr;
    }

    .tcva-actions {
        display: grid;
    }

    .tcva-actions a,
    .tcva-faq a,
    .tcvb-faq a,
    .tcvc-faq a {
        width: 100%;
    }

    .tcva-section,
    .tcvb-section,
    .tcvc-section {
        padding: 82px 0;
    }

    .tcva-section h2,
    .tcvb-section h2,
    .tcvc-section h2 {
        font-size: 38px;
    }

    .tcva-statement span,
    .tcvb-note span,
    .tcvc-alert-grid p {
        font-size: 20px;
    }

    .tcva-seal-grid,
    .tcva-book-stage,
    .tcva-source-list,
    .tcva-week,
    .tcva-mock dl {
        grid-template-columns: 1fr;
    }

    .tcva-seal-grid,
    .tcva-week,
    .tcva-mock dl,
    .tcvc-map,
    .tcvc-board-grid {
        border-left: none;
    }

    .tcva-seal-grid article,
    .tcva-week span,
    .tcva-mock dl div,
    .tcvc-map div,
    .tcvc-board-grid span {
        min-height: auto;
        border-right: none;
    }

    .tcva-seal-grid b,
    .tcvb-operate span,
    .tcvc-map strong,
    .tcvc-spec-grid strong {
        margin-top: 0;
        margin-bottom: 22px;
    }

    .tcva-source-list article + article {
        border-left: none;
    }

    .tcvb-image-reverse figure {
        order: 0;
    }

    .tcvb-calendar b,
    .tcvb-calendar span {
        min-height: auto;
        border-left: 1px solid var(--vb-line);
    }

    .tcvc-command aside {
        margin-top: 8px;
    }

    .tcvc-final dl div {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tcvc-final dd {
        font-size: 22px;
    }
}

/* Training Camp Final Course v5 - Final Briefing Dossier */
.tcfd-page {
    --tcfd-black: #12090a;
    --tcfd-ink: #211617;
    --tcfd-red: #9f111d;
    --tcfd-red-deep: #53040a;
    --tcfd-red-hot: #e73745;
    --tcfd-cream: #f4eadc;
    --tcfd-paper: #fff8ed;
    --tcfd-muted: #7a6a63;
    --tcfd-line: rgba(33, 22, 23, 0.18);
    --tcfd-line-light: rgba(255, 248, 237, 0.22);
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    overflow: hidden;
    background: var(--tcfd-paper);
    color: var(--tcfd-ink);
    font-family: var(--tlb-font-body);
}

.tcfd-page *,
.tcfd-page *::before,
.tcfd-page *::after {
    box-sizing: border-box;
}

.tcfd-shell {
    width: min(900px, calc(100% - 64px));
    margin: 0 auto;
}

.tcfd-hero {
    min-height: 880px;
    padding: 54px 0 0;
    background:
        linear-gradient(90deg, rgba(255, 248, 237, 0.03) 1px, transparent 1px) 0 0 / 44px 44px,
        linear-gradient(0deg, rgba(255, 248, 237, 0.03) 1px, transparent 1px) 0 0 / 44px 44px,
        radial-gradient(circle at 86% 10%, rgba(231, 55, 69, 0.32), transparent 34%),
        linear-gradient(145deg, #140708 0%, #2b0508 48%, #6f0710 100%);
    color: var(--tcfd-paper);
}

.tcfd-hero-top {
    display: grid;
    grid-template-columns: 188px 1fr auto;
    gap: 28px;
    align-items: center;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--tcfd-line-light);
}

.tcfd-hero-top img {
    width: 188px;
    height: auto;
    display: block;
}

.tcfd-hero-top span,
.tcfd-hero-top b {
    font-family: var(--tlb-font-head);
    font-size: 19px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
    text-transform: uppercase;
}

.tcfd-hero-top span {
    color: #c8ff15;
}

.tcfd-hero-top b {
    color: var(--tcfd-paper);
}

.tcfd-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 60px;
    align-items: end;
    min-height: 640px;
    padding: 70px 0 62px;
}

.tcfd-hero-title p,
.tcfd-kicker {
    margin: 0 0 24px;
    color: var(--tcfd-red-hot);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.22em;
}

.tcfd-hero-title h1 {
    margin: 0;
    color: var(--tcfd-paper);
    font-family: var(--tlb-font-head);
    font-size: clamp(58px, 7.2vw, 88px);
    line-height: var(--tlb-lh-none);
    font-weight: 700;
}

.tcfd-brief {
    position: relative;
    padding: 34px 0 0 34px;
    border-left: 2px solid rgba(255, 248, 237, 0.52);
}

.tcfd-brief::before {
    content: "";
    position: absolute;
    top: 0;
    left: -2px;
    width: 72px;
    height: 2px;
    background: rgba(255, 248, 237, 0.52);
}

.tcfd-brief strong {
    display: block;
    margin-bottom: 18px;
    color: #fff;
    font-family: var(--tlb-font-head);
    font-size: 30px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcfd-brief p {
    margin: 0;
    color: rgba(255, 248, 237, 0.78);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-read);
}

.tcfd-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.tcfd-btn {
    display: inline-flex;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border: 1px solid currentColor;
    color: inherit;
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    text-decoration: none;
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.tcfd-btn:hover {
    transform: translateY(-2px);
}

.tcfd-btn-main {
    border-color: var(--tcfd-red-hot);
    background: var(--tcfd-red-hot);
    color: #fff;
}

.tcfd-hero-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--tcfd-line-light);
    border-left: 1px solid var(--tcfd-line-light);
}

.tcfd-hero-strip span {
    min-height: 104px;
    display: flex;
    align-items: center;
    padding: 20px;
    border-right: 1px solid var(--tcfd-line-light);
    color: rgba(255, 248, 237, 0.86);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcfd-section {
    padding: 118px 0;
}

.tcfd-section h2 {
    margin: 0;
    color: var(--tcfd-ink);
    font-family: var(--tlb-font-head);
    font-size: clamp(38px, 5vw, 64px);
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcfd-problem {
    background: var(--tcfd-paper);
}

.tcfd-problem-board {
    margin-top: 54px;
    border-top: 2px solid var(--tcfd-ink);
}

.tcfd-problem-board p {
    position: relative;
    margin: 0;
    padding: 24px 0 24px 54px;
    border-bottom: 1px solid var(--tcfd-line);
    color: #3d3030;
    font-size: 25px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcfd-problem-board p::before {
    content: "";
    position: absolute;
    top: 33px;
    left: 0;
    width: 24px;
    height: 24px;
    border: 2px solid var(--tcfd-red);
}

.tcfd-thesis {
    display: block;
    margin-top: 42px;
    padding: 34px 38px;
    background: var(--tcfd-ink);
    color: var(--tcfd-paper);
    font-size: 24px;
    line-height: var(--tlb-lh-ui);
    font-weight: 700;
}

.tcfd-operation {
    background: var(--tcfd-cream);
}

.tcfd-flow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 58px;
    border-top: 2px solid var(--tcfd-ink);
    border-left: 1px solid var(--tcfd-line);
}

.tcfd-flow div {
    min-height: 294px;
    padding: 28px 22px;
    border-right: 1px solid var(--tcfd-line);
    border-bottom: 1px solid var(--tcfd-line);
}

.tcfd-flow em {
    display: block;
    margin-bottom: 64px;
    color: var(--tcfd-red);
    font-style: normal;
    font-family: var(--tlb-font-head);
    font-size: 19px;
    font-weight: 900;
}

.tcfd-flow strong {
    display: block;
    color: var(--tcfd-ink);
    font-size: 23px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcfd-flow p {
    margin: 16px 0 0;
    color: var(--tcfd-muted);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-compact);
}

.tcfd-kit {
    background:
        linear-gradient(90deg, rgba(33, 22, 23, 0.05) 1px, transparent 1px) 0 0 / 36px 36px,
        var(--tcfd-paper);
}

.tcfd-kit-layout {
    display: grid;
    grid-template-columns: 1.18fr 1fr 1fr;
    border-top: 2px solid var(--tcfd-ink);
    margin-top: 58px;
}

.tcfd-kit-layout article {
    min-height: 270px;
    padding: 28px;
    border-right: 1px solid var(--tcfd-line);
    border-bottom: 1px solid var(--tcfd-line);
    background: rgba(255, 248, 237, 0.82);
}

.tcfd-kit-layout article:nth-child(3n + 1) {
    border-left: 1px solid var(--tcfd-line);
}

.tcfd-kit-main {
    grid-row: span 2;
    background: var(--tcfd-red-deep) !important;
    color: var(--tcfd-paper);
}

.tcfd-kit-layout span {
    display: block;
    margin-bottom: 28px;
    color: var(--tcfd-red);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
}

.tcfd-kit-main span {
    color: #ff9aa1;
}

.tcfd-kit-layout h3 {
    margin: 0;
    color: inherit;
    font-family: var(--tlb-font-head);
    font-size: 25px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcfd-kit-main h3 {
    font-size: 36px;
    line-height: var(--tlb-lh-tight);
}

.tcfd-kit-layout p {
    margin: 22px 0 0;
    color: var(--tcfd-muted);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-text);
}

.tcfd-kit-main p {
    color: rgba(255, 248, 237, 0.78);
    font-size: var(--tlb-fs-lead);
}

.tcfd-set {
    background: var(--tcfd-ink);
    color: var(--tcfd-paper);
}

.tcfd-set .tcfd-kicker,
.tcfd-set .tcfd-set-head h2 {
    color: var(--tcfd-paper);
}

.tcfd-set-head {
    display: grid;
    grid-template-columns: 1fr 0.86fr;
    gap: 54px;
    align-items: end;
}

.tcfd-set-head p {
    margin: 0;
    color: rgba(255, 248, 237, 0.72);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-body);
}

.tcfd-set-visual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 58px;
}

.tcfd-set-visual figure {
    position: relative;
    min-height: 390px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 248, 237, 0.18);
    background: #070303;
}

.tcfd-set-visual img {
    width: 100%;
    height: 100%;
    min-height: 390px;
    display: block;
    object-fit: cover;
    opacity: 0.62;
    filter: grayscale(0.18) contrast(1.05);
    transform: scale(1.02);
}

.tcfd-set-visual figcaption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 22px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 248, 237, 0.42);
    color: #fff;
    font-size: 24px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcfd-set-copy {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin-top: 18px;
    border-top: 1px solid rgba(255, 248, 237, 0.18);
    border-left: 1px solid rgba(255, 248, 237, 0.18);
}

.tcfd-set-copy article {
    padding: 30px;
    border-right: 1px solid rgba(255, 248, 237, 0.18);
    border-bottom: 1px solid rgba(255, 248, 237, 0.18);
}

.tcfd-set-copy h3 {
    margin: 0 0 14px;
    color: #ff9aa1;
    font-family: var(--tlb-font-head);
    font-size: 28px;
    font-weight: 700;
}

.tcfd-set-copy p {
    margin: 0;
    color: rgba(255, 248, 237, 0.78);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-text);
}

.tcfd-week {
    background: var(--tcfd-paper);
}

.tcfd-calendar {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-top: 58px;
    border-top: 2px solid var(--tcfd-ink);
    border-left: 1px solid var(--tcfd-line);
}

.tcfd-calendar div {
    min-height: 190px;
    padding: 22px 16px;
    border-right: 1px solid var(--tcfd-line);
    border-bottom: 1px solid var(--tcfd-line);
}

.tcfd-calendar b {
    display: block;
    margin-bottom: 64px;
    color: var(--tcfd-ink);
    font-family: var(--tlb-font-head);
    font-size: 28px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
}

.tcfd-calendar span {
    color: var(--tcfd-muted);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcfd-calendar .is-solve {
    background: var(--tcfd-red);
}

.tcfd-calendar .is-solve b,
.tcfd-calendar .is-solve span {
    color: #fff;
}

.tcfd-mock {
    background:
        linear-gradient(135deg, rgba(159, 17, 29, 0.08), transparent 46%),
        var(--tcfd-cream);
}

.tcfd-mock-panel {
    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    gap: 0;
    border: 2px solid var(--tcfd-ink);
    background: var(--tcfd-paper);
}

.tcfd-mock-panel > div {
    padding: 44px;
    background: var(--tcfd-red-deep);
}

.tcfd-mock-panel > div h2,
.tcfd-mock-panel > div .tcfd-kicker {
    color: var(--tcfd-paper);
}

.tcfd-mock-panel dl {
    margin: 0;
}

.tcfd-mock-panel dl div {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 28px;
    min-height: 104px;
    align-items: center;
    padding: 22px 34px;
    border-bottom: 1px solid var(--tcfd-line);
}

.tcfd-mock-panel dl div:last-child {
    border-bottom: none;
}

.tcfd-mock-panel dt {
    color: var(--tcfd-red);
    font-size: var(--tlb-fs-small);
    font-weight: 900;
}

.tcfd-mock-panel dd {
    margin: 0;
    color: var(--tcfd-ink);
    font-size: 24px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcfd-target {
    background: var(--tcfd-red-deep);
    color: var(--tcfd-paper);
}

.tcfd-target .tcfd-kicker,
.tcfd-target h2 {
    color: var(--tcfd-paper);
}

.tcfd-target-list {
    margin-top: 56px;
    counter-reset: target;
    border-top: 1px solid var(--tcfd-line-light);
}

.tcfd-target-list p {
    counter-increment: target;
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 22px;
    margin: 0;
    padding: 28px 0;
    border-bottom: 1px solid var(--tcfd-line-light);
    color: rgba(255, 248, 237, 0.88);
    font-size: 23px;
    line-height: var(--tlb-lh-ui);
    font-weight: 700;
}

.tcfd-target-list p::before {
    content: counter(target, decimal-leading-zero);
    color: #ff9aa1;
    font-family: 'SUITE', 'SUIT', sans-serif;
    font-size: 18px;
    font-weight: 900;
}

.tcfd-faq {
    background: var(--tcfd-paper);
}

.tcfd-faq details {
    border-top: 1px solid var(--tcfd-line);
}

.tcfd-faq details:last-child {
    border-bottom: 1px solid var(--tcfd-line);
}

.tcfd-faq summary {
    cursor: pointer;
    padding: 28px 0;
    color: var(--tcfd-ink);
    font-family: var(--tlb-font-head);
    font-size: 24px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcfd-faq p {
    max-width: 760px;
    margin: -8px 0 28px;
    color: var(--tcfd-muted);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-body);
}

.tcfd-cta {
    padding: 124px 0;
    background:
        linear-gradient(90deg, rgba(255, 248, 237, 0.05) 1px, transparent 1px) 0 0 / 44px 44px,
        var(--tcfd-black);
    color: var(--tcfd-paper);
    text-align: center;
}

.tcfd-cta p {
    margin: 0 0 26px;
    color: var(--tcfd-red-hot);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.22em;
}

.tcfd-cta h2 {
    margin: 0;
    color: var(--tcfd-paper);
    font-family: var(--tlb-font-head);
    font-size: clamp(46px, 6vw, 74px);
    line-height: var(--tlb-lh-none);
    font-weight: 700;
}

.tcfd-cta .tcfd-btn {
    margin-top: 42px;
    min-width: 260px;
}

.tcfd-cta small {
    display: block;
    margin-top: 22px;
    color: rgba(255, 248, 237, 0.56);
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-compact);
}

@media (max-width: 860px) {
    .tcfd-shell {
        width: min(100% - 34px, 900px);
    }

    .tcfd-hero {
        min-height: auto;
        padding-top: 44px;
    }

    .tcfd-hero-top {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 18px;
        text-align: center;
    }

    .tcfd-hero-top img {
        width: 184px;
    }

    .tcfd-hero-grid,
    .tcfd-set-head,
    .tcfd-mock-panel {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .tcfd-hero-grid {
        min-height: auto;
        padding: 64px 0 54px;
    }

    .tcfd-hero-title h1 {
        font-size: 50px;
    }

    .tcfd-brief {
        padding-left: 24px;
    }

    .tcfd-actions,
    .tcfd-hero-strip,
    .tcfd-flow,
    .tcfd-kit-layout,
    .tcfd-set-visual,
    .tcfd-set-copy,
    .tcfd-calendar {
        grid-template-columns: 1fr;
    }

    .tcfd-actions {
        display: grid;
    }

    .tcfd-btn {
        width: 100%;
    }

    .tcfd-hero-strip {
        border-left: none;
    }

    .tcfd-hero-strip span {
        min-height: auto;
        padding: 18px 0;
        border-right: none;
        border-bottom: 1px solid var(--tcfd-line-light);
    }

    .tcfd-section {
        padding: 84px 0;
    }

    .tcfd-section h2 {
        font-size: 38px;
    }

    .tcfd-problem-board p {
        padding-left: 38px;
        font-size: 20px;
    }

    .tcfd-problem-board p::before {
        top: 30px;
        width: 18px;
        height: 18px;
    }

    .tcfd-thesis {
        padding: 28px 24px;
        font-size: 20px;
    }

    .tcfd-flow,
    .tcfd-kit-layout,
    .tcfd-calendar {
        border-left: none;
    }

    .tcfd-flow div,
    .tcfd-kit-layout article,
    .tcfd-calendar div {
        min-height: auto;
        border-right: none;
        border-left: none !important;
    }

    .tcfd-flow em,
    .tcfd-calendar b {
        margin-bottom: 26px;
    }

    .tcfd-kit-main {
        grid-row: auto;
    }

    .tcfd-kit-main h3 {
        font-size: 29px;
    }

    .tcfd-set-visual figure,
    .tcfd-set-visual img {
        min-height: 310px;
    }

    .tcfd-mock-panel > div {
        padding: 34px 28px;
    }

    .tcfd-mock-panel dl div {
        grid-template-columns: 1fr;
        gap: 10px;
        min-height: auto;
        padding: 24px 26px;
    }

    .tcfd-mock-panel dd {
        font-size: 21px;
    }

    .tcfd-target-list p {
        grid-template-columns: 1fr;
        gap: 8px;
        font-size: 20px;
    }

    .tcfd-faq summary {
        font-size: 21px;
    }

    .tcfd-cta {
        padding: 96px 0;
    }

    .tcfd-cta h2 {
        font-size: 44px;
    }
}

/* ================================================================
   Training Camp Final Course v4
   Fresh Skimmify-inspired structure, TLB authority visual language.
   ================================================================ */

.tcfs-page {
    width: min(100%, 980px);
    margin: 0 auto;
    background: #fff7ed;
    color: #1b1112;
    font-family: var(--tlb-font-body);
    line-height: var(--tlb-lh-text);
    word-break: keep-all;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
}

.tcfs-page *,
.tcfs-page *::before,
.tcfs-page *::after {
    box-sizing: border-box;
}

.tcfs-inner {
    width: min(100% - 80px, 900px);
    margin: 0 auto;
}

.tcfs-label {
    margin: 0 0 18px;
    color: #c41628;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.tcfs-page h1,
.tcfs-page h2,
.tcfs-page h3,
.tcfs-page summary {
    font-family: var(--tlb-font-head);
    font-weight: 700;
}

.tcfs-page h1,
.tcfs-page h2 {
    margin: 0;
    font-size: clamp(42px, 7vw, 78px);
    line-height: var(--tlb-lh-none);
    letter-spacing: var(--tlb-ls-head);
}

.tcfs-page h3 {
    margin: 0;
    font-size: 30px;
    line-height: var(--tlb-lh-tight);
}

.tcfs-lead {
    max-width: 740px;
    margin: 26px 0 0;
    color: #7a6762;
    font-size: 20px;
    line-height: var(--tlb-lh-text);
    font-weight: 500;
}

.tcfs-hero {
    padding: 72px 0 88px;
    background:
        radial-gradient(circle at 50% 20%, rgba(255, 118, 103, 0.28), transparent 42%),
        linear-gradient(145deg, #240206 0%, #6f0712 50%, #170507 100%);
    color: #fffaf4;
    text-align: center;
}

.tcfs-hero-light {
    padding: 58px 0 76px;
    background:
        radial-gradient(circle at 84% 14%, rgba(184, 15, 30, 0.18), transparent 34%),
        linear-gradient(180deg, #fff8ef 0%, #f4e7da 100%);
    color: #1b1112;
    text-align: left;
}

.tcfs-brand {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding-bottom: 42px;
}

.tcfs-brand img:first-child {
    width: 176px;
    height: auto;
    display: block;
    margin-bottom: 0;
}

.tcfs-brand img:nth-child(2) {
    width: 230px;
    height: auto;
    display: block;
    margin-bottom: 0;
}

.tcfs-brand b {
    padding-left: 18px;
    border-left: 1px solid rgba(49, 3, 8, 0.22);
    color: #310308;
    font-family: var(--tlb-font-head);
    font-size: 28px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
}

.tcfs-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 58px;
    align-items: center;
}

.tcfs-hero-copy {
    max-width: 820px;
    margin: 0;
}

.tcfs-hero-light .tcfs-label {
    color: #b80f1e;
}

.tcfs-red .tcfs-label,
.tcfs-cta .tcfs-label {
    color: #ff9ba1;
}

.tcfs-hero-copy p:not(.tcfs-label) {
    max-width: 620px;
    margin: 28px 0 0;
    color: #756764;
    font-size: 20px;
    line-height: var(--tlb-lh-text);
}

.tcfs-actions {
    display: flex;
    justify-content: flex-start;
    gap: 12px;
    margin-top: 36px;
}

.tcfs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 0 32px;
    border: 1px solid rgba(49, 3, 8, 0.28);
    color: #310308;
    text-decoration: none;
    font-size: var(--tlb-fs-body);
    font-weight: 700;
}

.tcfs-btn-primary {
    background: #310308;
    border-color: #310308;
    color: #fffaf4;
}

.tcfs-hero-mock {
    position: relative;
    min-height: 520px;
    margin: 0;
    padding: 34px;
    border: 2px solid #310308;
    background:
        linear-gradient(90deg, rgba(49, 3, 8, 0.07) 1px, transparent 1px) 0 0 / 28px 28px,
        #fffaf4;
    box-shadow: 24px 26px 0 rgba(49, 3, 8, 0.1);
}

.tcfs-hero-mock figcaption {
    color: #b80f1e;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.14em;
}

.tcfs-mock-score {
    margin-top: 42px;
    padding: 28px 0;
    border-top: 2px solid #310308;
    border-bottom: 1px solid rgba(49, 3, 8, 0.18);
}

.tcfs-mock-score span {
    display: block;
    color: #756764;
    font-size: var(--tlb-fs-meta);
}

.tcfs-mock-score strong {
    display: block;
    margin-top: 8px;
    color: #310308;
    font-size: 32px;
    line-height: var(--tlb-lh-tight);
}

.tcfs-mock-bars {
    padding: 26px 0;
}

.tcfs-mock-bars i {
    display: block;
    height: 15px;
    margin-bottom: 14px;
    background: linear-gradient(90deg, rgba(184, 15, 30, 0.68), rgba(184, 15, 30, 0.08));
}

.tcfs-mock-bars i:nth-child(2) {
    width: 78%;
}

.tcfs-mock-bars i:nth-child(3) {
    width: 58%;
}

.tcfs-mock-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(49, 3, 8, 0.18);
    border-left: 1px solid rgba(49, 3, 8, 0.18);
}

.tcfs-mock-grid span {
    min-height: 74px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-right: 1px solid rgba(49, 3, 8, 0.18);
    border-bottom: 1px solid rgba(49, 3, 8, 0.18);
    color: #310308;
    font-weight: 700;
}

.tcfs-number-band {
    padding: 0;
    background: #310308;
    color: #fffaf4;
}

.tcfs-number-band .tcfs-inner > p {
    margin: 0;
    padding: 30px 0;
    border-bottom: 1px solid rgba(255, 250, 244, 0.18);
    color: rgba(255, 250, 244, 0.74);
    font-size: var(--tlb-fs-lead);
    text-align: center;
}

.tcfs-numbers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-left: 1px solid rgba(255, 250, 244, 0.18);
}

.tcfs-numbers div {
    min-height: 190px;
    padding: 34px 24px;
    border-right: 1px solid rgba(255, 250, 244, 0.18);
}

.tcfs-numbers span {
    display: block;
    color: #ff9ba1;
    font-family: var(--tlb-font-head);
    font-size: 42px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
}

.tcfs-numbers strong {
    display: block;
    margin-top: 24px;
    color: #fffaf4;
    font-size: 19px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcfs-section {
    padding: 118px 0;
}

.tcfs-center {
    text-align: center;
}

.tcfs-center .tcfs-lead {
    margin-left: auto;
    margin-right: auto;
}

.tcfs-red {
    background:
        radial-gradient(circle at 80% 20%, rgba(255, 118, 103, 0.18), transparent 34%),
        linear-gradient(180deg, #180608 0%, #310308 100%);
    color: #fffaf4;
}

.tcfs-cream {
    background: #f2e5da;
}

.tcfs-focus-list {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(255, 250, 244, 0.22);
}

.tcfs-focus-list article {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 42px;
    padding: 44px 0;
    border-bottom: 1px solid rgba(255, 250, 244, 0.18);
    align-items: start;
}

.tcfs-focus-list span,
.tcfs-mock span {
    color: #ff9ba1;
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.08em;
}

.tcfs-focus-list h3 {
    color: #fffaf4;
}

.tcfs-focus-list p {
    grid-column: 2;
    margin: -18px 0 0;
    color: rgba(255, 250, 244, 0.74);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcfs-source {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin-top: 58px;
    border-top: 2px solid #310308;
    border-bottom: 1px solid rgba(49, 3, 8, 0.18);
}

.tcfs-source article {
    padding: 42px 38px 44px 0;
}

.tcfs-source article + article {
    padding-left: 38px;
    padding-right: 0;
    border-left: 1px solid rgba(49, 3, 8, 0.18);
}

.tcfs-source-visual {
    min-height: 220px;
    margin-bottom: 32px;
    padding: 28px;
    border: 1px solid rgba(49, 3, 8, 0.22);
    background:
        linear-gradient(90deg, rgba(49, 3, 8, 0.07) 1px, transparent 1px) 0 0 / 22px 22px,
        #fffaf4;
}

.tcfs-source-visual b {
    display: block;
    color: #b80f1e;
    font-size: var(--tlb-fs-micro);
    letter-spacing: 0.13em;
}

.tcfs-source-visual i {
    display: block;
    height: 14px;
    margin-top: 22px;
    background: linear-gradient(90deg, rgba(49, 3, 8, 0.44), rgba(49, 3, 8, 0.08));
}

.tcfs-source-visual i:nth-of-type(2) {
    width: 82%;
}

.tcfs-source-visual i:nth-of-type(3) {
    width: 64%;
}

.tcfs-source-logic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-content: start;
}

.tcfs-source-logic b {
    grid-column: 1 / -1;
    margin-bottom: 10px;
}

.tcfs-source-logic em {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(49, 3, 8, 0.18);
    color: #310308;
    font-style: normal;
    font-weight: 700;
}

.tcfs-source h3 {
    color: #310308;
}

.tcfs-source p {
    margin: 22px 0 0;
    color: #756764;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcfs-dashboard {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 0;
    margin-top: 58px;
    border: 2px solid #310308;
    background: #fffaf4;
}

.tcfs-dash-main {
    padding: 42px;
    border-right: 1px solid rgba(49, 3, 8, 0.18);
    background:
        linear-gradient(90deg, rgba(49, 3, 8, 0.07) 1px, transparent 1px) 0 0 / 28px 28px,
        #fffaf4;
}

.tcfs-dash-main strong {
    display: block;
    color: #310308;
    font-size: 30px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcfs-dash-main span {
    display: inline-block;
    margin-top: 12px;
    color: #b80f1e;
    font-size: var(--tlb-fs-body);
    font-weight: 700;
}

.tcfs-dash-main i {
    display: block;
    height: 16px;
    margin-top: 22px;
    background: linear-gradient(90deg, rgba(184, 15, 30, 0.55), rgba(184, 15, 30, 0.08));
}

.tcfs-dash-main i:nth-of-type(2) {
    width: 78%;
}

.tcfs-dash-main i:nth-of-type(3) {
    width: 58%;
}

.tcfs-dash-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.tcfs-dash-grid div {
    min-height: 150px;
    padding: 30px;
    border-right: 1px solid rgba(49, 3, 8, 0.18);
    border-bottom: 1px solid rgba(49, 3, 8, 0.18);
}

.tcfs-dash-grid b {
    display: block;
    color: #310308;
    font-size: 22px;
}

.tcfs-dash-grid p {
    margin: 14px 0 0;
    color: #756764;
    font-size: var(--tlb-fs-body);
}

.tcfs-mock {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 58px;
    border-top: 2px solid #310308;
}

.tcfs-mock div {
    min-height: 160px;
    padding: 30px 22px;
    border-right: 1px solid rgba(49, 3, 8, 0.18);
    border-bottom: 1px solid rgba(49, 3, 8, 0.18);
}

.tcfs-mock div:last-child {
    border-right: none;
}

.tcfs-mock strong {
    display: block;
    margin-top: 18px;
    color: #310308;
    font-size: 22px;
    line-height: var(--tlb-lh-title);
}

.tcfs-checks {
    margin-top: 50px;
    border-top: 1px solid rgba(255, 250, 244, 0.22);
}

.tcfs-checks p {
    position: relative;
    margin: 0;
    padding: 26px 0 26px 42px;
    border-bottom: 1px solid rgba(255, 250, 244, 0.18);
    color: #fffaf4;
    font-size: 22px;
    font-weight: 700;
}

.tcfs-checks p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 38px;
    width: 22px;
    height: 2px;
    background: #ff9ba1;
}

.tcfs-faq {
    background: #fffaf4;
}

.tcfs-faq details {
    border-bottom: 1px solid rgba(49, 3, 8, 0.18);
}

.tcfs-faq summary {
    cursor: pointer;
    list-style: none;
    padding: 28px 0;
    color: #310308;
    font-size: 24px;
    line-height: var(--tlb-lh-head);
}

.tcfs-faq summary::-webkit-details-marker {
    display: none;
}

.tcfs-faq details p {
    max-width: 760px;
    margin: -6px 0 28px;
    color: #756764;
    font-size: var(--tlb-fs-lead);
}

.tcfs-cta {
    padding: 116px 0 132px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 118, 103, 0.22), transparent 42%),
        linear-gradient(145deg, #240206 0%, #6f0712 54%, #160506 100%);
    color: #fffaf4;
    text-align: center;
}

.tcfs-cta p:not(.tcfs-label) {
    max-width: 700px;
    margin: 26px auto 0;
    color: rgba(255, 250, 244, 0.76);
    font-size: 20px;
}

.tcfs-cta .tcfs-btn {
    margin-top: 42px;
}

.tcfs-cta small {
    display: block;
    margin-top: 24px;
    color: rgba(255, 250, 244, 0.56);
    font-size: var(--tlb-fs-caption);
}

@media (max-width: 900px) {
    .tcfs-inner {
        width: min(100% - 44px, 900px);
    }

    .tcfs-numbers,
    .tcfs-hero-grid,
    .tcfs-source,
    .tcfs-dashboard,
    .tcfs-mock {
        grid-template-columns: 1fr 1fr;
    }

    .tcfs-focus-list article {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .tcfs-focus-list p {
        grid-column: auto;
        margin-top: 0;
    }
}

@media (max-width: 560px) {
    .tcfs-inner {
        width: min(100% - 30px, 900px);
    }

    .tcfs-page h1,
    .tcfs-page h2 {
        font-size: 40px;
    }

    .tcfs-hero {
        padding: 54px 0 64px;
    }

    .tcfs-brand {
        flex-direction: column;
        gap: 14px;
        padding-bottom: 34px;
    }

    .tcfs-brand img:first-child {
        width: min(190px, 68vw);
    }

    .tcfs-brand img:nth-child(2) {
        width: min(300px, 84vw);
    }

    .tcfs-brand b {
        padding-left: 0;
        padding-top: 14px;
        border-left: none;
        border-top: 1px solid rgba(49, 3, 8, 0.22);
        font-size: 24px;
    }

    .tcfs-hero-grid {
        gap: 46px;
    }

    .tcfs-hero-copy {
        margin-top: 44px;
    }

    .tcfs-hero-copy p:not(.tcfs-label),
    .tcfs-lead,
    .tcfs-cta p:not(.tcfs-label) {
        font-size: var(--tlb-fs-read);
    }

    .tcfs-actions {
        flex-direction: column;
    }

    .tcfs-btn {
        width: 100%;
    }

    .tcfs-section {
        padding: 82px 0;
    }

    .tcfs-numbers,
    .tcfs-hero-grid,
    .tcfs-source,
    .tcfs-dashboard,
    .tcfs-dash-grid,
    .tcfs-mock {
        grid-template-columns: 1fr;
    }

    .tcfs-hero-mock {
        min-height: 430px;
        padding: 26px;
        box-shadow: 12px 14px 0 rgba(49, 3, 8, 0.1);
    }

    .tcfs-number-band .tcfs-inner > p {
        text-align: left;
    }

    .tcfs-numbers {
        border-left: none;
    }

    .tcfs-numbers div {
        min-height: auto;
        padding: 28px 0;
        border-right: none;
        border-bottom: 1px solid rgba(255, 250, 244, 0.18);
    }

    .tcfs-source article,
    .tcfs-source article + article {
        padding: 34px 0;
        border-left: none;
    }

    .tcfs-source article + article {
        border-top: 1px solid rgba(49, 3, 8, 0.18);
    }

    .tcfs-dash-main {
        border-right: none;
        border-bottom: 1px solid rgba(49, 3, 8, 0.18);
    }

    .tcfs-mock div {
        min-height: auto;
        padding: 26px 0;
        border-right: none;
    }

    .tcfs-checks p {
        padding-left: 34px;
        font-size: var(--tlb-fs-lead);
    }
}

/* Theme: Beyond Principle (Orange/Yellow) */
.theme-beyond {
    --sp-primary: #FF8C00;
    /* Dark Orange */
    --sp-accent: #FFD700;
    /* Gold */
    --sp-gradient-main: linear-gradient(135deg, #FF8C00 0%, #FFD700 100%);
    --sp-shadow-glow: 0 0 40px rgba(255, 140, 0, 0.15);
}

.theme-beyond .sp-badge {
    background: rgba(255, 140, 0, 0.1) !important;
    border: 1px solid rgba(255, 140, 0, 0.3) !important;
    color: #FFD700 !important;
    box-shadow: 0 0 20px rgba(255, 140, 0, 0.1) !important;
}

.theme-beyond .sp-hero::before {
    background: radial-gradient(circle, rgba(255, 140, 0, 0.12) 0%, transparent 70%);
}

.theme-beyond .sp-table-footer {
    background: rgba(255, 140, 0, 0.05) !important;
    border-top: 2px solid rgba(255, 140, 0, 0.2) !important;
}

.theme-beyond .sp-chip {
    box-shadow: 0 2px 10px rgba(255, 140, 0, 0.3);
}

/* Reset & Base */
body {
    margin: 0;
    padding: 0;
}

/* Wrapper for Embed */
.sp-wrapper {
    background-color: var(--sp-bg-main) !important;
    color: var(--sp-text-white) !important;
    font-family: var(--tlb-font-body) !important;
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    width: 100% !important;
    overflow: hidden;
}

.sp-container {
    max-width: var(--sp-container-width);
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
}

/* Typography */
.sp-h1 {
    font-size: 48px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
}

.sp-h2 {
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
}

.sp-h3 {
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    color: white !important;
}

.sp-desc {
    font-size: var(--tlb-fs-read);
    color: var(--sp-text-gray);
    font-weight: 400;
}

.sp-gradient-text {
    background: var(--sp-gradient-main);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.sp-gold-text {
    background: var(--sp-gradient-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    font-weight: 800;
}

/* Utilities */
.sp-br-mobile {
    display: none;
}

.mobile-only {
    display: none;
}

/* Components */

/* Hero Section */
.sp-hero {
    padding: 100px 0 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.sp-hero::before {
    content: '';
    position: absolute;
    top: -30%;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(112, 0, 255, 0.12) 0%, transparent 70%);
    filter: blur(80px);
    z-index: -1;
}

.sp-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 14px !important;
    background: rgba(112, 0, 255, 0.1) !important;
    border: 1px solid rgba(112, 0, 255, 0.3) !important;
    border-radius: 100px !important;
    color: #b355ff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-bottom: 24px !important;
    box-shadow: 0 0 20px rgba(112, 0, 255, 0.1) !important;
}

.sp-hero-logo {
    margin-top: 32px !important;
    opacity: 0.8 !important;
    transition: opacity 0.3s !important;
}

.sp-hero-logo:hover {
    opacity: 1 !important;
}

.sp-hero-logo img {
    height: 24px !important;
    width: auto !important;
}

/* Section Common */
.sp-section {
    padding: 60px 0 !important;
}

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

.sp-label {
    color: var(--sp-primary) !important;
    font-weight: 900 !important;
    font-size: 12px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 6px !important;
}

/* Table Styles - CRITICAL FIX 
   배경 투명화 강제 적용 (왼쪽 흰색 문제 해결)
*/
.sp-wrapper table,
.sp-wrapper tr,
.sp-wrapper th,
.sp-wrapper td {
    background-color: transparent !important;
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.sp-wrapper table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    table-layout: fixed;
}

.sp-wrapper th,
.sp-wrapper td {
    padding: 0;
    margin: 0;
    border: none;
    box-sizing: border-box;
}

.sp-table-container {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    overflow-x: auto;
    background: rgba(255, 255, 255, 0.03) !important;
    /* 컨테이너 배경 유지 */
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.sp-table {
    width: 100% !important;
    border-collapse: collapse !important;
    text-align: left !important;
}

/* Table Header (보통 왼쪽 부분) 수정 */
.sp-wrapper table th,
.sp-table th {
    padding: 16px 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    white-space: nowrap !important;
    background: transparent !important;
    /* 재확인 */
}

/* Table Body Cells */
.sp-wrapper table td,
.sp-table td {
    padding: 18px 24px !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    vertical-align: middle !important;
    background: transparent !important;
    /* 재확인 */
    color: var(--sp-text-white) !important;
}

/* Specific Column Styles */
.sp-col-name {
    text-align: left;
}

.sp-col-price {
    text-align: right;
}

.sp-table-name {
    font-size: var(--tlb-fs-body);
    font-weight: 500;
    color: var(--sp-text-white);
    line-height: var(--tlb-lh-ui);
}

.sp-table-price {
    font-size: var(--tlb-fs-body);
    font-weight: 700;
    color: var(--sp-text-white);
    text-align: right;
    white-space: nowrap;
}

.sp-table tr:last-child td {
    border-bottom: none;
}

/* Column Specifics - Desktop */
.sp-table .sp-col-name,
.sp-table .sp-table-name {
    width: 75%;
    font-weight: 500;
}

.sp-table .sp-col-price,
.sp-table .sp-table-price {
    width: 25%;
    text-align: right !important;
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
}

/* Type Text Styling */
.sp-type-text {
    display: inline-block;
    font-size: var(--tlb-fs-caption);
    margin-left: 8px;
    font-weight: 400;
}

/* Type Colors */
.type-physical {
    color: #d0aaff;
}

.type-ebook {
    color: #7fffd4;
}

.type-benefit {
    color: var(--sp-accent);
    font-weight: 700;
}

.sp-table-footer {
    background: rgba(112, 0, 255, 0.05) !important;
    border-top: 2px solid rgba(112, 0, 255, 0.2) !important;
}

.sp-table-footer td {
    padding: 24px;
}

.sp-total-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    text-align: center;
}

.sp-total-label {
    font-size: var(--tlb-fs-body);
    color: #aaa;
}

.sp-total-price-group {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sp-original-price {
    font-size: var(--tlb-fs-meta);
    color: #666;
    text-decoration: line-through;
    margin-bottom: 2px;
}

.sp-final-price {
    font-size: 32px;
    font-weight: 800;
    color: var(--sp-accent);
    line-height: var(--tlb-lh-none);
    display: flex;
    align-items: center;
    gap: 10px;
}

.sp-discount-badge {
    display: inline-block;
    background: rgba(255, 0, 170, 0.1);
    color: var(--sp-accent);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: var(--tlb-fs-micro);
    font-weight: 700;
    vertical-align: middle;
}

/* Redesigned Discount Circle */
.sp-discount-circle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #ff0000;
    color: white;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(255, 0, 0, 0.3);
    margin-left: 10px;
    line-height: var(--tlb-lh-none);
    padding: 2px;
}

.sp-discount-circle .small {
    font-size: 9px;
    font-weight: 700;
    opacity: 0.9;
}

.sp-discount-circle .big {
    font-size: var(--tlb-fs-small);
    font-weight: 800;
    margin: 1px 0;
}

/* Chip Style */
.sp-chip {
    display: inline-block;
    background: var(--sp-gradient-main);
    color: white;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 4px;
    margin-left: 6px;
    vertical-align: middle;
    box-shadow: 0 2px 10px rgba(112, 0, 255, 0.3);
    line-height: var(--tlb-lh-tight);
    position: relative;
    top: -1px;
}

/* Benefits Section */
.sp-benefit-card {
    background: linear-gradient(135deg, #1a1a1a 0%, #111 100%);
    border: 1px solid #333;
    border-radius: 24px;
    padding: 32px;
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 20px;
}

.sp-benefit-icon {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

/* Notice Section */
.sp-notice-box {
    background: rgba(255, 255, 255, 0.02);
    border: 1px dashed #333;
    border-radius: 16px;
    padding: 24px;
    margin-top: 40px;
}

.sp-notice-title {
    font-size: var(--tlb-fs-small);
    font-weight: 700;
    color: #aaa;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.sp-notice-list li {
    font-size: var(--tlb-fs-meta);
    color: #999;
    margin-bottom: 6px;
    padding-left: 16px;
    position: relative;
}

.sp-notice-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #666;
}

/* Responsive */
@media (max-width: 768px) {
    .sp-h1 {
        font-size: 36px !important;
    }

    .sp-h2 {
        font-size: 30px !important;
    }

    .sp-container {
        padding: 0 12px !important;
    }

    .sp-br-mobile {
        display: block !important;
    }

    .mobile-only {
        display: block !important;
        height: 0 !important;
        margin: 0 !important;
    }

    .sp-table-container {
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 12px !important;
        max-width: 100% !important;
    }

    .sp-table {
        min-width: auto !important;
        width: 100% !important;
    }

    .sp-table th,
    .sp-table td {
        padding: 8px 4px !important;
        font-size: 13px !important;
    }

    .sp-table th:first-child,
    .sp-table td:first-child {
        padding-left: 11px !important;
    }

    .sp-table th:last-child,
    .sp-table td:last-child {
        padding-right: 11px !important;
    }

    .sp-table th {
        font-size: 12px !important;
    }

    .sp-table .sp-col-name,
    .sp-table .sp-table-name {
        width: auto;
    }

    .sp-table .sp-col-price,
    .sp-table .sp-table-price {
        width: 1%;
        white-space: nowrap;
    }

    .sp-type-text {
        display: block;
        margin-left: 0;
        margin-top: 2px;
        font-size: var(--tlb-fs-micro);
    }

    .sp-type-text.type-benefit {
        display: inline-block;
        margin-left: 0;
    }

    .sp-chip {
        display: inline-block;
        margin-left: 4px;
        margin-top: 0;
        font-size: 10px;
        padding: 1px 6px;
        top: 0;
    }

    .sp-table-footer td {
        padding: 32px 16px;
    }

    .sp-total-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 16px;
    }

    .sp-total-price-group {
        text-align: center;
    }

    .sp-final-price {
        font-size: 28px;
        flex-direction: row;
        gap: 8px;
        justify-content: center;
    }

    .sp-discount-badge {
        display: block;
        margin: 4px auto 0;
        width: fit-content;
    }

    .sp-benefit-card {
        flex-direction: column;
        text-align: center;
        gap: 16px;
        padding: 20px;
    }
}
/* --- Section B: Management Class LP --- */
/* 
   TLB Management Class - Sprint Style Redesign 
   Reference: https://sprint.codeit.kr/
*/

:root {
    /* Color Palette - Sprint Style */
    --sp-bg-main: #0a0a0a;
    --sp-bg-card: #141414;
    --sp-bg-card-hover: #1c1c1c;

    --sp-text-white: #ffffff;
    --sp-text-gray: #a0a0a0;
    --sp-text-dark: #666666;

    --sp-primary: #7000ff;
    --sp-accent: #ff00aa;
    --sp-gradient-main: linear-gradient(135deg, #7000ff 0%, #ff00aa 100%);
    --sp-gradient-text: linear-gradient(92deg, #fff 0%, #b0b0b0 100%);

    /* Spacing */
    --sp-container-width: 1000px;
    /* 좀 더 타이트한 몰입감 */

    /* Effects */
    --sp-glass: rgba(255, 255, 255, 0.03);
    --sp-glass-border: rgba(255, 255, 255, 0.1);
    --sp-shadow-glow: 0 0 40px rgba(112, 0, 255, 0.15);
}

/* Reset & Base */
/* Body style removed to prevent global conflict */
/* body {
    background-color: var(--sp-bg-main);
    color: var(--sp-text-white);
    font-family: 'SUIT', sans-serif;
    margin: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
} */

.sp-container {
    max-width: var(--sp-container-width);
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
}

/* Typography */
.sp-h1 {
    font-size: 56px;
    font-weight: 800;
    line-height: var(--tlb-lh-none);
    letter-spacing: var(--tlb-ls-head);
    margin: 0;
}

.sp-h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: var(--tlb-lh-tight);
    margin-bottom: 16px;
}

.sp-h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
}

.sp-desc {
    font-size: var(--tlb-fs-lead);
    color: var(--sp-text-gray);
    font-weight: 400;
}

.sp-gradient-text {
    background: var(--sp-gradient-main);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* Components */

/* 1. Hero Section */
.sp-hero {
    padding: 160px 0 120px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.sp-hero::before {
    content: '';
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(112, 0, 255, 0.15) 0%, transparent 70%);
    filter: blur(60px);
    z-index: -1;
}

.sp-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: rgba(112, 0, 255, 0.1);
    border: 1px solid rgba(112, 0, 255, 0.3);
    border-radius: 100px;
    color: #b355ff;
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
    margin-bottom: 32px;
    box-shadow: 0 0 20px rgba(112, 0, 255, 0.1);
}

.sp-hero-btn {
    display: inline-block;
    padding: 20px 48px;
    background: var(--sp-gradient-main);
    color: white;
    font-weight: 700;
    font-size: var(--tlb-fs-lead);
    border-radius: 12px;
    text-decoration: none;
    margin-top: 48px;
    transition: transform 0.2s;
    box-shadow: 0 10px 30px rgba(112, 0, 255, 0.3);
}

.sp-hero-btn:hover {
    transform: translateY(-2px);
}

/* 2. Section Common */
.sp-section {
    padding: 120px 0;
}

.sp-section-header {
    margin-bottom: 64px;
    text-align: center;
}

.sp-label {
    color: var(--sp-primary);
    font-weight: 900;
    /* 요청: 800~900 */
    font-size: var(--tlb-fs-caption);
    letter-spacing: 0.2em;
    /* 요청: 자간 확대 */
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
}

/* 3. Cards */
.sp-card {
    background: var(--sp-glass);
    border: 1px solid var(--sp-glass-border);
    border-radius: 24px;
    padding: 40px;
    transition: all 0.3s ease;
}

.sp-card:hover {
    background: var(--sp-bg-card-hover);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-5px);
}

.sp-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.sp-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.sp-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* 4. Feature List (Checkmarks) */
.sp-check-list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
}

.sp-check-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 16px;
    color: var(--sp-text-gray);
    font-size: var(--tlb-fs-body);
}

.sp-check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--sp-accent);
    font-weight: bold;
}

/* Chat Bubble Section - Advanced */
.sp-chat-container {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 32px;
    /* 간격 증가 */
}

.sp-chat-bubble {
    background: white;
    color: #333;
    padding: 24px 32px;
    border-radius: 24px;
    font-size: var(--tlb-fs-lead);
    font-weight: 500;
    line-height: var(--tlb-lh-ui);
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transform-origin: center bottom;
    animation: popIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    opacity: 0;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

/* 말풍선 꼬리 공통 */
.sp-chat-bubble::after {
    content: '';
    position: absolute;
    bottom: -12px;
    width: 24px;
    height: 24px;
    background: white;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    border-right: 1px solid rgba(0, 0, 0, 0.05);
    transform: rotate(45deg);
}

/* 홀수: 좌하단 꼬리 */
.sp-chat-bubble:nth-child(odd) {
    align-self: flex-start;
    border-bottom-left-radius: 4px;
}

.sp-chat-bubble:nth-child(odd)::after {
    left: 24px;
    /* 모서리에서 살짝 띄움 */
}

/* 짝수: 우하단 꼬리 */
.sp-chat-bubble:nth-child(even) {
    align-self: flex-end;
    border-bottom-right-radius: 4px;
    background: #f4f0ff;
    /* 짝수는 살짝 다른 색상 */
}

.sp-chat-bubble:nth-child(even)::after {
    right: 24px;
    background: #f4f0ff;
}

.sp-chat-bubble:nth-child(1) {
    animation-delay: 0.1s;
}

.sp-chat-bubble:nth-child(2) {
    animation-delay: 0.2s;
}

.sp-chat-bubble:nth-child(3) {
    animation-delay: 0.3s;
}

.sp-chat-bubble:nth-child(4) {
    animation-delay: 0.4s;
}

.sp-chat-bubble strong {
    color: var(--sp-primary);
    font-weight: 800;
    background: linear-gradient(120deg, rgba(112, 0, 255, 0.1) 0%, rgba(112, 0, 255, 0) 100%);
    padding: 0 4px;
}

@keyframes popIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(20px);
    }

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

/* Character Image Placeholder */
.sp-chat-character {
    text-align: center;
    margin-bottom: 40px;
}

.sp-chat-character img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: #333;
    object-fit: cover;
    border: 4px solid var(--sp-primary);
    box-shadow: 0 0 30px rgba(112, 0, 255, 0.3);
}

/* Section Backgrounds - Enhanced */
section.sp-bg-black,
.sp-bg-black {
    background-color: #0a0a0a !important;
    background: #0a0a0a !important;
    color: white !important;
}

section.sp-bg-dark,
.sp-bg-dark {
    background-color: #141414 !important;
    background: #141414 !important;
    color: white !important;
}

/* Tinted White / Gradient Backgrounds */
section.sp-bg-white,
.sp-bg-white {
    background-color: #f8f9fa !important;
    background: linear-gradient(180deg, #f8f9fa 0%, #e9ecef 100%) !important;
    color: #1f2124 !important;
}

section.sp-bg-gray,
.sp-bg-gray {
    background-color: #1a1a1a !important;
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
    color: white !important;
    position: relative;
    overflow: hidden;
}

.sp-bg-gray::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 80% 20%, rgba(112, 0, 255, 0.08) 0%, transparent 50%);
    pointer-events: none;
}

/* Light Mode Text Overrides - Only for sp-bg-white */
.sp-bg-white .sp-h2 {
    color: #1f2124;
}

.sp-bg-white .sp-desc {
    color: #666;
}

.sp-bg-white .sp-card {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    backdrop-filter: blur(10px);
}

/* Horizontal Course Layout */
.sp-course-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.sp-course-row {
    display: grid;
    grid-template-columns: 300px 1fr auto;
    gap: 32px;
    align-items: center;
    background: #141414;
    border: 1px solid #2a2a2a;
    border-radius: 24px;
    padding: 32px;
    transition: all 0.3s ease;
}

.sp-course-row:hover {
    border-color: var(--sp-primary);
    transform: translateY(-2px);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.sp-course-info h3 {
    font-size: 24px;
    margin: 0 0 8px 0;
    color: white;
}

.sp-course-desc {
    color: #888;
    font-size: var(--tlb-fs-small);
    margin: 0;
}

.sp-course-meta {
    display: flex;
    gap: 24px;
    color: #aaa;
    font-size: var(--tlb-fs-meta);
}

.sp-course-action .sp-btn {
    padding: 12px 24px;
    background: var(--sp-primary);
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    display: inline-block;
}

/* Coming Soon Overlay */
.sp-course-row.disabled {
    opacity: 0.5;
    position: relative;
    pointer-events: none;
    border-style: dashed;
}

.sp-course-row.disabled::after {
    content: 'COMING SOON';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.8);
    padding: 12px 24px;
    border-radius: 100px;
    font-weight: 700;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* 5. Course Card (Special) */
.sp-course-card {
    background: #141414;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid #2a2a2a;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.sp-course-card.highlight {
    border: 1px solid var(--sp-primary);
    box-shadow: 0 0 30px rgba(112, 0, 255, 0.1);
}

.sp-course-header {
    padding: 32px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 100%);
    border-bottom: 1px solid #2a2a2a;
}

.sp-course-body {
    padding: 32px;
    flex: 1;
}

.sp-price {
    font-size: 28px;
    font-weight: 700;
    color: white;
    margin-top: 8px;
}

.sp-price span {
    font-size: var(--tlb-fs-body);
    color: #666;
    font-weight: 400;
}

/* 6. Reward Box */
.sp-reward-box {
    background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%);
    border: 1px solid #333;
    border-radius: 32px;
    padding: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.sp-reward-content {
    flex: 1;
}

.sp-reward-badge {
    background: var(--sp-gradient-main);
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    box-shadow: 0 10px 30px rgba(112, 0, 255, 0.4);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .sp-h1 {
        font-size: 36px;
    }

    .sp-h2 {
        font-size: 28px;
    }

    .sp-grid-2,
    .sp-grid-3,
    .sp-grid-4 {
        grid-template-columns: 1fr;
    }

    .sp-reward-box {
        flex-direction: column;
        text-align: center;
        padding: 40px 24px;
    }

    .sp-hero {
        padding: 100px 0 80px;
    }
}

/* Recommendation Section - ZigZag Layout */
.sp-recommend-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.sp-recommend-card {
    display: flex;
    align-items: center;
    gap: 40px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 32px;
    padding: 40px;
    transition: transform 0.3s ease;
}

.sp-recommend-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.05);
    border-color: var(--sp-primary);
}

/* 짝수 번째 카드는 좌우 반전 (ZigZag) */
.sp-recommend-card:nth-child(even) {
    flex-direction: row-reverse;
}

.sp-recommend-img {
    flex: 0 0 30%;
    /* 30% 너비 */
    aspect-ratio: 1;
    /* 1:1 비율 */
    border-radius: 24px;
    overflow: hidden;
    background: #222;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.sp-recommend-content {
    flex: 1;
    /* 나머지 70% */
    text-align: left;
}

.sp-recommend-title {
    font-family: var(--tlb-font-head);
    /* 요청: SUITE 폰트 */
    font-size: 32px;
    font-weight: 700;
    color: white;
    margin-bottom: 12px;
}

.sp-recommend-quote {
    font-family: var(--tlb-font-body);
    font-size: 24px;
    font-weight: 800;
    /* 요청: 두껍게 */
    color: var(--sp-primary);
    margin-bottom: 20px;
    line-height: var(--tlb-lh-title);
}

.sp-recommend-desc {
    font-size: var(--tlb-fs-body);
    color: #aaa;
    line-height: var(--tlb-lh-text);
    white-space: pre-line;
    /* 줄바꿈 허용 */
}

/* Mobile Responsive for Recommendation */
@media (max-width: 768px) {

    .sp-recommend-card,
    .sp-recommend-card:nth-child(even) {
        flex-direction: column;
        text-align: center;
        gap: 24px;
        padding: 24px;
    }

    .sp-recommend-img {
        width: 120px;
        height: 120px;
        flex: none;
    }

    .sp-recommend-content {
        text-align: center;
    }
}

/* Floating Bubble Layout (Reference Implementation) */
.sp-floating-container {
    position: relative;
    height: 600px;
    /* 충분한 높이 확보 */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

.sp-floating-center {
    width: 300px;
    height: 300px;
    z-index: 2;
    position: relative;
    animation: floatCenter 6s ease-in-out infinite;
}

.sp-floating-bubble {
    position: absolute;
    background: white;
    border: 1px solid rgba(112, 0, 255, 0.1);
    border-radius: 50%;
    /* 원형에 가깝게 */
    width: 240px;
    height: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(112, 0, 255, 0.1);
    z-index: 1;
    transition: transform 0.3s ease;
}

.sp-floating-bubble:hover {
    transform: scale(1.05);
    border-color: var(--sp-primary);
    z-index: 3;
}

.sp-bubble-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 12px;
    position: relative;
}

.sp-bubble-badge {
    position: absolute;
    bottom: 0;
    right: -5px;
    width: 28px;
    height: 28px;
    background: #ff4d4d;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: var(--tlb-fs-body);
    border: 2px solid white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.sp-bubble-text {
    font-size: var(--tlb-fs-body);
    color: #333;
    font-weight: 700;
    line-height: var(--tlb-lh-head);
    word-break: keep-all;
}

/* Positions */
.sp-bubble-1 {
    top: 0;
    left: 5%;
    animation: float 5s ease-in-out infinite;
}

.sp-bubble-2 {
    top: 0;
    right: 5%;
    animation: float 5s ease-in-out infinite 1s;
}

.sp-bubble-3 {
    bottom: 20px;
    left: 10%;
    animation: float 5s ease-in-out infinite 2s;
}

.sp-bubble-4 {
    bottom: 20px;
    right: 10%;
    animation: float 5s ease-in-out infinite 3s;
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

@keyframes floatCenter {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-10px) rotate(2deg);
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .sp-floating-container {
        height: auto;
        flex-direction: column;
        gap: 24px;
        margin-top: 0;
    }

    .sp-floating-center {
        width: 200px;
        height: 200px;
        order: 1;
    }

    .sp-floating-bubble {
        position: relative;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100%;
        height: auto;
        border-radius: 24px;
        flex-direction: row;
        text-align: left;
        gap: 20px;
        order: 2;
    }

    .sp-bubble-icon {
        margin-bottom: 0;
    }
}
/* --- Section C: Principle LP --- */
@charset "utf-8";

/* ==========================================================================
   Variables & Reset
   ========================================================================== */
:root {
    --sp-bg-dark: #0a0a0a;
    --sp-bg-card: rgba(255, 255, 255, 0.03);
    --sp-bg-card-hover: rgba(255, 255, 255, 0.08);
    --sp-primary: #3b82f6;
    --sp-accent: #8b5cf6;
    --sp-text-main: #ffffff;
    --sp-text-sub: #a1a1aa;
    --sp-border: rgba(255, 255, 255, 0.1);
    --sp-gradient-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    --sp-gradient-text: linear-gradient(to right, #60a5fa, #a78bfa);
    --sp-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--tlb-font-body);
    background-color: var(--sp-bg-dark);
    color: var(--sp-text-main);
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
}

.sp-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

.sp-section {
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

/* ==========================================================================
   Typography
   ========================================================================== */
.sp-h1 {
    font-size: 48px;
    font-weight: 800;
    line-height: var(--tlb-lh-tight);
    margin-bottom: 24px;
    letter-spacing: var(--tlb-ls-head);
}

.sp-h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: var(--tlb-lh-title);
    margin-bottom: 16px;
}

.sp-h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
}

.sp-desc {
    font-size: var(--tlb-fs-lead);
    color: var(--sp-text-sub);
    line-height: var(--tlb-lh-text);
}

.sp-gradient-text {
    background: var(--sp-gradient-text);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.sp-highlight {
    color: #60a5fa;
    font-weight: 700;
}

/* ==========================================================================
   Components
   ========================================================================== */
.sp-badge {
    display: inline-block;
    padding: 6px 12px;
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.3);
    color: #60a5fa;
    border-radius: 100px;
    font-size: var(--tlb-fs-caption);
    font-weight: 600;
    margin-bottom: 24px;
    letter-spacing: 0.05em;
}

.sp-card {
    background: var(--sp-bg-card);
    border: 1px solid var(--sp-border);
    border-radius: 20px;
    padding: 40px;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.sp-card:hover {
    background: var(--sp-bg-card-hover);
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.sp-btn {
    display: inline-block;
    padding: 16px 40px;
    background: var(--sp-gradient-primary);
    color: white;
    font-weight: 700;
    font-size: var(--tlb-fs-lead);
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.sp-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.6);
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.sp-hero {
    padding: 160px 0 100px;
    text-align: center;
    background: radial-gradient(circle at 50% 0%, rgba(59, 130, 246, 0.15) 0%, transparent 70%);
}

/* ==========================================================================
   Intro Section
   ========================================================================== */
.sp-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.sp-intro-img {
    width: 100%;
    border-radius: 20px;
    border: 1px solid var(--sp-border);
}

/* ==========================================================================
   4-Step System
   ========================================================================== */
.sp-step-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 60px;
}

.sp-step-card {
    position: relative;
    overflow: hidden;
}

.sp-step-num {
    font-size: 80px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.03);
    position: absolute;
    top: 10px;
    right: 20px;
    line-height: var(--tlb-lh-none);
}

.sp-step-icon {
    font-size: 40px;
    margin-bottom: 20px;
    display: inline-block;
}

/* ==========================================================================
   Reward System
   ========================================================================== */
.sp-reward-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
}

.sp-reward-card {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid var(--sp-border);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
}

.sp-rank-badge {
    width: 60px;
    height: 60px;
    background: #222;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin: 0 auto 16px;
    border: 2px solid var(--sp-accent);
    color: var(--sp-accent);
    font-weight: 800;
}

/* ==========================================================================
   Type Section
   ========================================================================== */
.sp-type-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 60px;
}

.sp-type-card {
    text-align: center;
    padding: 40px 24px;
}

.sp-type-icon {
    font-size: 48px;
    margin-bottom: 24px;
}

.sp-quote {
    font-style: italic;
    color: #fff;
    font-size: var(--tlb-fs-lead);
    margin-bottom: 16px;
    display: block;
}

/* ==========================================================================
   CTA Section
   ========================================================================== */
.sp-cta {
    text-align: center;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(59, 130, 246, 0.1) 100%);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 768px) {
    .sp-h1 {
        font-size: 32px;
    }

    .sp-h2 {
        font-size: 28px;
    }

    .sp-intro-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .sp-step-container {
        grid-template-columns: 1fr;
    }

    .sp-reward-grid {
        grid-template-columns: 1fr;
    }

    .sp-type-grid {
        grid-template-columns: 1fr;
    }

    .sp-section {
        padding: 60px 0;
    }
}
/* --- Section D: Header & Footer --- */
/* ============================================
   TLB Header & Footer Styles
   ============================================ */

/* Footer Wrapper */
.tlb_footer_wrapper {
    background-color: #f5f5f5 !important;
    padding: 60px 20px 40px !important;
    font-family: var(--tlb-font-body) !important;
    color: #333 !important;
    line-height: 1.6 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.tlb_footer_container {
    max-width: 860px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 50px !important;
}

/* Section Titles */
.tlb_footer_section {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
}

.tlb_footer_title {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin-bottom: 10px !important;
    border-bottom: 2px solid #333 !important;
    padding-bottom: 12px !important;
}

.tlb_footer_title_ko {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin: 0 !important;
    letter-spacing: -0.5px !important;
}

.tlb_footer_title_en {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #888 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* Customer Center Section - Enhanced Design */
.tlb_footer_customer {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.tlb_footer_customer_item {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    padding: 24px !important;
    border-radius: 12px !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.tlb_footer_customer_main {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    display: block !important;
    margin-bottom: 8px !important;
    letter-spacing: -0.3px !important;
}

.tlb_footer_customer_desc {
    font-size: 15px !important;
    color: #444 !important;
    line-height: 1.8 !important;
    display: block !important;
}

.tlb_footer_customer_sub {
    font-size: 13px !important;
    color: #666 !important;
    line-height: 1.7 !important;
    padding: 12px 16px !important;
    border-left: 4px solid #4a90e2 !important;
    margin-top: 8px !important;
    background-color: #f0f4f8 !important;
    border-radius: 4px !important;
}

/* Table Layout */
.tlb_footer_table {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
}

.tlb_footer_table_row {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.tlb_footer_table_label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #222 !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #e0e0e0 !important;
    letter-spacing: -0.3px !important;
}

.tlb_footer_table_content {
    font-size: 14px !important;
    color: #555 !important;
}

/* List Styles */
.tlb_footer_list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.tlb_footer_list li {
    padding-left: 20px !important;
    position: relative !important;
    line-height: 1.8 !important;
    font-size: 14px !important;
    color: #555 !important;
}

.tlb_footer_list li::before {
    content: "•" !important;
    position: absolute !important;
    left: 0 !important;
    color: #999 !important;
    font-weight: bold !important;
    font-size: 16px !important;
}

/* Highlight Text */
.tlb_footer_highlight {
    color: #e74c3c !important;
    font-weight: 600 !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .tlb_footer_wrapper {
        padding: 40px 16px 30px !important;
    }

    .tlb_footer_container {
        gap: 40px !important;
    }

    .tlb_footer_title_ko {
        font-size: 18px !important;
    }

    .tlb_footer_customer_main {
        font-size: 16px !important;
    }

    .tlb_footer_customer_desc,
    .tlb_footer_table_content {
        font-size: 13px !important;
    }

    .tlb_footer_table_label {
        font-size: 15px !important;
    }

    .tlb_footer_customer_item {
        padding: 20px !important;
    }
}

@media (max-width: 480px) {
    .tlb_footer_wrapper {
        padding: 30px 12px 20px !important;
    }

    .tlb_footer_container {
        gap: 30px !important;
    }

    .tlb_footer_title_ko {
        font-size: 17px !important;
    }

    .tlb_footer_list li {
        font-size: 13px !important;
    }

    .tlb_footer_customer_item {
        padding: 16px !important;
    }
}

/* ============================================
   Product Top Notice Section (New Design)
   ============================================ */
.tlb_product_notice_wrapper {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--tlb-font-body) !important;
    background-color: #1a1a1a !important;
}

.tlb_notice_box {
    width: 100% !important;
    padding: 60px 20px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* Header: Logo + Title + Icon */
.tlb_notice_top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    margin-bottom: 30px !important;
}

.tlb_notice_logo_small {
    width: 32px !important;
    /* Adjust based on actual logo ratio */
    height: auto !important;
}

.tlb_notice_title_large {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    letter-spacing: -0.5px !important;
    line-height: 1 !important;
}

.tlb_notice_icon {
    font-size: 32px !important;
    line-height: 1 !important;
}

/* Main Text */
.tlb_notice_main_text {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin-bottom: 24px !important;
}

.tlb_notice_sub_row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 24px !important;
    font-weight: 600 !important;
}

/* Purple Highlight Bar */
.tlb_notice_highlight_bar {
    display: inline-block !important;
    background-color: #962de3 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 12px 30px !important;
    margin-bottom: 40px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Divider */
.tlb_notice_divider {
    width: 100% !important;
    max-width: 800px !important;
    height: 1px !important;
    background-color: #333333 !important;
    border: none !important;
    margin: 0 auto 30px !important;
}

/* List Area */
.tlb_notice_list {
    max-width: 800px !important;
    margin: 0 auto !important;
    text-align: left !important;
    list-style: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.tlb_notice_list li {
    font-size: 15px !important;
    color: #aaaaaa !important;
    line-height: 1.6 !important;
    position: relative !important;
    padding-left: 14px !important;
    word-break: keep-all !important;
}

.tlb_notice_list li::before {
    content: '•' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #aaaaaa !important;
}

/* E-book specific */
.tlb_solve_img_inline {
    height: 20px !important;
    vertical-align: middle !important;
    border-radius: 4px !important;
}

@media (max-width: 768px) {
    .tlb_notice_box {
        padding: 40px 20px !important;
    }

    .tlb_notice_title_large {
        font-size: 26px !important;
    }

    .tlb_notice_main_text,
    .tlb_notice_sub_row {
        font-size: 20px !important;
    }

    .tlb_notice_highlight_bar {
        font-size: 15px !important;
        padding: 12px 20px !important;
        width: 100% !important;
    }

    .tlb_notice_list li {
        font-size: 14px !important;
    }
}
/* --- Section E: Training Camp --- */
/* Fonts are loaded in the HTML head via link tags to avoid double-loading */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

/* --- RESET & VARIABLES --- */
.tlb-tc-wrapper {
    --c-bg: #0D0D0D;
    --c-bg-card: rgba(255, 255, 255, 0.03);
    --c-lime: #C2F707;
    --c-lime-dim: rgba(194, 247, 7, 0.1);
    --c-text-white: #FFFFFF;
    --c-text-gray: #A1A1AA;
    --c-border: rgba(255, 255, 255, 0.1);

    font-family: var(--tlb-font-body);
    background-color: var(--c-bg);
    color: var(--c-text-white);
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
}

.tlb-tc-wrapper *,
.tlb-tc-wrapper *::before,
.tlb-tc-wrapper *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Global Typography - Relying on inheritance from wrapper and global site styles */
.tlb-tc-wrapper {
    font-family: var(--tlb-font-body);
}

.tlb-tc-h2,
.tlb-tc-h3-highlight,
.tlb-tc-hero-title,
.tlb-tc-benefits-h3,
.tlb-tc-feature-h3-v2,
.tlb-tc-section-h2,
.tlb-tc-how-h2,
.tlb-tc-module-h2,
.tlb-tc-recommend-h2,
.tlb-tc-faq-h2,
.tlb-tc-final-h2,
.tlb-tc-final-footer-h3,
.tlb-tc-feature-h3,
.tlb-tc-what-h2,
.tlb-tc-solution-h3 {
    font-family: var(--tlb-font-head) !important;
    /* Keep essential override for headers */
    letter-spacing: -0.025em;
}

/* Ensure all children of headers inherit the header's font (SUITE) */
[class^="tlb-tc-"][class$="-h2"] *,
[class^="tlb-tc-"][class$="-h3"] *,
.tlb-tc-hero-title *,
.tlb-tc-h3-highlight * {
    font-family: inherit !important;
}

.tlb-tc-wrapper strong,
.tlb-tc-wrapper b {
    font-weight: 700;
    color: var(--c-text-white);
    font-family: inherit;
    /* Naturally inherit SUITE if inside header, otherwise SUIT */
}

.tlb-tc-wrapper a {
    text-decoration: none;
    color: inherit;
}

.tlb-tc-wrapper ul {
    list-style: none;
}

/* --- UTILITIES --- */
.tlb-tc-container {
    max-width: 860px;
    /* Reduced from 1000px for better balance */
    margin: 0 auto;
    padding: 0 20px;
}


.tlb-tc-text-lime {
    color: var(--c-lime);
}

.tlb-tc-text-gray {
    color: var(--c-text-gray);
}

.tlb-tc-text-center {
    text-align: center;
}

.tlb-tc-fw-700 {
    font-weight: 700;
}

.tlb-tc-fw-900 {
    font-weight: 700;
}

.tlb-tc-grid-2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.tlb-tc-grid-3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.tlb-tc-grid-4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.tlb-tc-grid-5 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

/* Desktop Layout */
@media (min-width: 768px) {
    .tlb-tc-grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .tlb-tc-grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .tlb-tc-grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .tlb-tc-grid-5 {
        grid-template-columns: repeat(5, 1fr);
    }

    .tlb-tc-desktop-flex-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
}

/* --- COMPONENTS --- */
.tlb-tc-card {
    background: var(--c-bg-card);
    border: 1px solid var(--c-border);
    border-radius: 16px;
    padding: 24px;
    transition: all 0.3s ease;
}

.tlb-tc-card:hover {
    border-color: rgba(194, 247, 7, 0.3);
    transform: translateY(-3px);
}

.tlb-tc-btn-lime {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--c-lime);
    color: #000;
    font-weight: 700;
    font-size: 1.25rem;
    padding: 0 40px;
    height: 64px;
    border-radius: 12px;
    box-shadow: 0 0 20px rgba(194, 247, 7, 0.2);
    transition: all 0.2s;
    width: 100%;
    max-width: 360px;
    cursor: pointer;
}

.tlb-tc-btn-lime:hover {
    box-shadow: 0 0 40px rgba(194, 247, 7, 0.5);
    transform: scale(1.02);
}

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined' !important;
}

.tlb-tc-badge {

    display: inline-block;
    padding: 6px 14px;
    border-radius: 100px;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.tlb-tc-badge.lime {
    background: var(--c-lime);
    color: #000;
}

.tlb-tc-badge.outline {
    border: 1px solid var(--c-lime);
    color: var(--c-lime);
}

/* --- SECTIONS --- */
.tlb-tc-wrapper section {
    padding: 80px 0;
    position: relative;
}


/* 1. HERO */
.tlb-tc-hero {
    padding-top: 140px;
    padding-bottom: 120px;
    background: radial-gradient(circle at 50% 0%, rgba(194, 247, 7, 0.08) 0%, transparent 60%);
    text-align: center;
}

.tlb-tc-hero h1 {
    font-size: 2.8rem;
    line-height: var(--tlb-lh-tight);
    margin-bottom: 24px;
    font-weight: 700;
}

.tlb-tc-hero p {
    font-size: 1.2rem;
    color: var(--c-text-gray);
    margin-bottom: 60px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* --- NEW HERO INFO BAR --- */
.tlb-tc-info-bar {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    /* Center wider for Duration */
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 30px;
    max-width: 800px;
    /* Limit width */
    margin-left: auto;
    margin-right: auto;
}

.tlb-tc-info-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 10px;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.tlb-tc-info-item:last-child {
    border-right: none;
}

.tlb-tc-info-item label {
    font-size: 0.8rem;
    color: #666;
    margin-bottom: 8px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* Mobile: Stack if too narrow? Or keep horizontal?
   User asked for 3-slot readability. Horizontal is likely preferred if fits. */
@media (max-width: 600px) {
    .tlb-tc-info-bar {
        grid-template-columns: 1fr 1.6fr 1fr;
    }

    .tlb-tc-info-item {
        padding: 15px 5px;
    }

    .tlb-tc-info-item label {
        font-size: 0.7rem;
    }

    .tlb-tc-info-item strong {
        font-size: 1.1rem !important;
    }
}

.tlb-tc-chip-lime {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 100px;
    background: rgba(194, 247, 7, 0.1);
    color: var(--c-lime);
    border: 1px solid rgba(194, 247, 7, 0.3);
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 5px;
}

.tlb-tc-info-tab strong {
    display: block;
    font-size: 1rem;
}

/* 2. WHY */
.tlb-tc-dilemma-box {
    border-left: 4px solid var(--c-lime);
    background: linear-gradient(90deg, rgba(194, 247, 7, 0.05) 0%, transparent 100%);
    padding: 30px;
    margin: 40px 0;
    font-size: 1.1rem;
    color: #ddd;
}

.tlb-tc-dilemma-item {
    margin-bottom: 15px;
    display: flex;
    gap: 10px;
}

.tlb-tc-dilemma-item::before {
    content: '•';
    color: var(--c-lime);
}

/* 3. SOLUTION */
.tlb_tc_solution_section {
    background-color: #1a1a1a;
}

.tlb-tc-solution-banner {
    background: #111;
    padding: 60px 20px;
    text-align: center;
    border-radius: 20px;
    border: 1px solid #222;
    margin-top: 40px;
}

/* 4. WHAT */
.tlb-tc-feature-card {
    position: relative;
    height: 100%;
}

.tlb-tc-feature-num {
    font-size: 4rem;
    font-weight: 700;
    color: #222;
    position: absolute;
    top: 10px;
    right: 20px;
    line-height: var(--tlb-lh-none);
}

.tlb-tc-feature-list li {
    font-size: 0.9rem;
    color: #888;
    margin-top: 8px;
    padding-left: 12px;
    position: relative;
}

.tlb-tc-feature-list li::before {
    content: '';
    width: 4px;
    height: 4px;
    background: var(--c-lime);
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 9px;
}

.tlb-tc-how-section {
    background: #1a1b23;
    /* Significantly lighter and more distinct */
    padding: 100px 0;
}


/* CSS v28 */
.tlb-tc-calendar-board {
    margin-top: 40px;
    margin-bottom: 30px;

    /* Reduced from 80px */
    background: #1a1b23;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.tlb-tc-cal-col {
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.tlb-tc-cal-col:last-child {
    border-right: none;
}

.tlb-tc-cal-header {
    background: rgba(255, 255, 255, 0.03);
    padding: 15px 10px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tlb-tc-cal-col.active .tlb-tc-cal-header {
    background: rgba(194, 247, 7, 0.1);
}

.tlb-tc-cal-day-name {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    color: #888;
    letter-spacing: 1px;
}

.tlb-tc-cal-col.active .tlb-tc-cal-day-name {
    color: var(--c-lime);
}

.tlb-tc-cal-body {
    flex: 1;
    padding: 40px 15px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 140px;
}

.tlb-tc-cal-content {
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    word-break: keep-all;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tlb-tc-cal-sub {
    font-size: 0.85rem;
    font-weight: 500;
    color: #888;
}

.tlb-tc-cal-col.active .tlb-tc-cal-sub {
    color: rgba(194, 247, 7, 0.6);
}


.tlb-tc-cal-col.dim .tlb-tc-cal-content {
    color: #555;
}

.tlb-tc-cal-col.active .tlb-tc-cal-content {
    color: var(--c-lime);
}

@media (max-width: 767px) {
    .tlb-tc-calendar-board {
        grid-template-columns: 1fr;
    }

    .tlb-tc-cal-col {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        flex-direction: row;
        align-items: center;
    }

    .tlb-tc-cal-header {
        width: 80px;
        border-bottom: none;
        border-right: 1px solid rgba(255, 255, 255, 0.05);
        padding: 20px 10px;
    }

    .tlb-tc-cal-body {
        padding: 20px;
        min-height: auto;
        text-align: left;
        align-items: flex-start;
    }
}



/* 5. STATS: Immersive Scoreboard Redesign */
.tlb-tc-stats-immersive {
    margin: 40px 0 10px;
    /* Reduced bottom margin from 30px */
    padding: 60px 40px 20px;
    /* Reduced bottom padding from 40px */
    background: radial-gradient(circle at center, rgba(194, 247, 7, 0.05) 0%, transparent 70%);
    text-align: center;
}




.tlb-tc-stats-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
    /* Reduced from 60px */
    flex-wrap: wrap;
    max-width: 100%;
    margin: 0 auto;
}


.tlb-tc-stat-unit-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 150px;
    /* Reduced from 180px */
    position: relative;
}


/* Atmospheric Glow Background for each unit */
.tlb-tc-stat-unit-box::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.02) 0%, transparent 70%);
    pointer-events: none;
    z-index: -1;
}

.tlb-tc-stat-main-label {
    font-size: 1rem;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 15px;
}

.tlb-tc-stat-big-num {
    font-size: 4.5rem;
    font-weight: 700;
    color: #fff;
    line-height: var(--tlb-lh-none);
    font-family: var(--tlb-font-head);
    letter-spacing: -0.025em;
}


.tlb-tc-stat-big-num .unit {
    font-size: 1.5rem;
    font-weight: 700;
    color: #444;
    margin-left: 2px;
    letter-spacing: 0;
}

.tlb-tc-stat-sub-info {
    font-size: 1.1rem;
    color: var(--c-lime);
    font-weight: 700;
    margin-top: 10px;
    opacity: 0.8;
}

.tlb-tc-stat-divider {
    width: 1px;
    height: 100px;
    background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.1), transparent);
    align-self: center;
}

/* TOTAL Score Area */
.tlb-tc-stats-total-wrapper {
    margin-top: 40px;
    /* Reduced from 60px */
    padding: 30px 0 10px;
    /* Reduced padding from 40px */
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
}



.tlb-tc-total-intro {
    font-size: 1.2rem;
    font-weight: 700;
    color: #666;
    margin-bottom: 20px;
    letter-spacing: 4px;
}

.tlb-tc-total-giant {
    position: relative;
    display: flex;
    flex-direction: column;
    /* Stacked for perfect centering and to avoid overlap */
    align-items: center;
    justify-content: center;
    gap: 5px;
    /* Tight gap between number and unit */
    white-space: nowrap;
}



.tlb-tc-total-giant .tlb-tc-stat-giant-num {
    font-size: 10rem;
    /* Slightly larger since it's stacked now */
    font-weight: 700;
    color: var(--c-lime);
    line-height: var(--tlb-lh-none);
    letter-spacing: -2px;
    text-shadow: 0 0 50px rgba(194, 247, 7, 0.4);
    font-family: var(--tlb-font-head);
    /* Imweb Conflict Fix: Override global .num styles */
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
}




.tlb-tc-total-giant .unit {
    font-size: 1.8rem;
    /* Scaled down for stack layout */
    font-weight: 700;
    color: #fff;
    opacity: 0.9;
}



.tlb-tc-total-footer {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    margin-top: 10px;
    /* Reduced from 15px */
    opacity: 0.9;
}



@media (max-width: 767px) {
    .tlb-tc-stats-container {
        gap: 40px;
    }

    .tlb-tc-stat-divider {
        display: none;
    }

    .tlb-tc-stat-big-num {
        font-size: 4rem;
    }

    .tlb-tc-total-giant .num {
        font-size: 8rem;
        letter-spacing: -4px;
    }

    .tlb-tc-total-giant .unit {
        font-size: 2rem;
    }
}




/* 6. MODULE */
.tlb-tc-module-viz {
    display: flex;
    height: 200px;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    margin: 40px 0;
}

.tlb-tc-mod-box {
    flex: 1;
    max-width: 150px;
    border-radius: 12px 12px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    border: 1px solid #333;
    background: #111;
    color: #666;
    height: 120px;
}

.tlb-tc-mod-box.active {
    background: var(--c-lime);
    color: #000;
    border: none;
    height: 160px;
    box-shadow: 0 0 30px rgba(194, 247, 7, 0.2);
    font-size: 1.2rem;
    flex-direction: column;
}

/* 8. FAQ */
.tlb-tc-wrapper details {
    background: #151515;
    margin-bottom: 10px;
    border-radius: 12px;
    overflow: hidden;
}

.tlb-tc-wrapper summary {
    padding: 20px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tlb-tc-wrapper summary::-webkit-details-marker {
    display: none;
}

.tlb-tc-wrapper summary::after {
    content: '+';
    font-size: 1.5rem;
    font-weight: 300;
    color: #666;
}

.tlb-tc-wrapper details[open] summary::after {
    content: '-';
}

.tlb-tc-wrapper details[open] summary {
    color: var(--c-lime);
}

.tlb-tc-faq-ans {
    padding: 0 20px 20px;
    color: #aaa;
    font-size: 0.95rem;
    line-height: var(--tlb-lh-compact);
    border-top: 1px solid #222;
    padding-top: 15px;
}

/* 9. PRICE */
.tlb-tc-price-card {
    background: #111;
    border: 1px solid #333;
    padding: 40px;
    border-radius: 20px;
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0 0 60px rgba(0, 0, 0, 0.5);
}

/* --- SCROLL ANIMATION --- */
.tlb_tc_scroll_reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}

.tlb_tc_scroll_reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* --- HERO V2 (Split Layout) --- */
.tlb-tc-hero-v2 {
    position: relative;
    padding: 60px 0 40px;
    /* Background Image: Center centered and covers full section height 100% */
    background: linear-gradient(90deg, #050505 0%, rgba(5, 5, 5, 0.8) 50%, rgba(5, 5, 5, 0.4) 100%),
        url('../images/hero_bg_neon.png') no-repeat center center / cover;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}




.tlb-tc-hero-logo-row {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

@media (max-width: 768px) {
    .tlb-tc-hero-logo-row {
        justify-content: center;
    }
}

.tlb-tc-hero-split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

@media (max-width: 768px) {
    .tlb-tc-hero-split {
        flex-direction: column;
        text-align: center;
    }
}

.tlb-tc-hero-text {
    flex: 1;
    min-width: 0;
}

.tlb-tc-hero-visual {
    flex: 1;
    display: flex;
    justify-content: center;
}

.tlb-tc-hero-img-3d {
    width: 100%;
    max-width: 500px;
    height: auto;
    filter: drop-shadow(0 0 25px rgba(194, 247, 7, 0.2));
    animation: tlb-float 4s ease-in-out infinite;
}

@keyframes tlb-float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.tlb-tc-hero-subtitle {
    font-size: 1.1rem;
    color: #888;
    margin-bottom: 15px;
    font-weight: 500;
}

.tlb-tc-hero-title {
    font-size: 2.8rem;
    line-height: var(--tlb-lh-tight);
    margin-bottom: 40px;
    color: #fff;
    font-weight: 700;
}

@media (max-width: 768px) {
    .tlb-tc-hero-title {
        font-size: 2.2rem;
    }
}

/* Ticket Info Grid (Mini Table) */
.tlb-tc-hero-info-grid {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding-top: 30px;
}

@media (max-width: 768px) {
    .tlb-tc-hero-info-grid {
        grid-template-columns: 1fr;
        /* Stack on mobile */
        gap: 20px;
        text-align: center;
        justify-content: center;
    }
}

.tlb-tc-info-cell {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tlb-tc-info-cell label {
    font-size: 0.85rem;
    color: var(--c-lime);
    font-weight: 700;
    opacity: 0.8;
}

.tlb-tc-info-cell strong {
    font-size: 1.1rem;
    color: #fff;
    letter-spacing: var(--tlb-ls-head);
}

/* --- BENEFITS BAR (Floating Box) --- */
.tlb-tc-benefits-section-v2 {
    position: relative;
    z-index: 10;
    width: 100%;
    margin-top: 30px;
}

.tlb-tc-benefits-header-v2 {
    text-align: center;
    margin-bottom: 2px;
}

.tlb-tc-benefits-box {
    background: #111;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 32px 24px 18px 24px;
    /* Restored top padding, kept bottom tight */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}




.tlb-tc-benefits-list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    /* Back to 6 columns as requested */
    gap: 20px 10px;
}

.tlb-tc-benefits-h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    font-family: var(--tlb-font-head) !important;
}

@media (max-width: 900px) {
    .tlb-tc-benefits-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px 15px;
    }

    .tlb-tc-benefits-h3 {
        font-size: 1.3rem;
    }
}

@media (max-width: 600px) {
    .tlb-tc-benefits-list {
        grid-template-columns: repeat(2, 1fr);
    }
}


.tlb-tc-benefit-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}

.tlb-tc-icon-lime {
    font-size: 40px;
    /* Increased size */
    color: var(--c-lime);
    background: rgba(194, 247, 7, 0.1);
    padding: 12px;
    /* Increased padding */
    border-radius: 50%;
}



.tlb-tc-benefit-item p {
    font-size: 0.8rem;
    color: #ccc;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
    margin: 0;
}

/* Scroll Reveal Base (Reuse existing or ensure defined) */
/* Already defined above */



/* --- LEET Dilemma Section (Centered Chips) --- */
.tlb-tc-dilemma-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    /* Ensures chips are centered in container */
    margin: 40px 0;
    width: 100%;
    /* Full width */
}

/* --- SECTION HEADERS (Generic) --- */
.tlb-tc-section-header {
    text-align: center !important;
    width: 100% !important;
    max-width: 1000px;
    margin: 0 auto 3rem auto !important;
    display: block !important;
}

.tlb-tc-h2 {
    font-weight: 700;
    line-height: var(--tlb-lh-title);
    font-size: 2.8rem;
    margin-bottom: 24px;
}

.tlb-tc-dilemma-chip {
    /* Neon Lime Gradient (Subtle) */
    background: linear-gradient(90deg, #C2F707 0%, #E2FF80 100%);
    border: 1px solid rgba(194, 247, 7, 0.3);
    color: #000000 !important;
    /* Force Black Text */
    padding: 22px 50px;
    border-radius: 50px;
    font-size: 1.3rem;
    font-weight: 600;
    display: flex;
    justify-content: center;
    /* Center content horizontally inside chip */
    align-items: center;
    gap: 20px;
    transition: all 0.3s ease;
    max-width: 95%;
    /* Neon Glow */
    box-shadow: 0 0 25px rgba(194, 247, 7, 0.25) !important;
}

.tlb-tc-dilemma-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important;
    /* Subtle hover shadow */
}

.tlb-tc-dilemma-chip span,
.tlb-tc-dilemma-chip strong {
    color: #000000 !important;
    /* Ensure child elements are also black */
}

.tlb-tc-dilemma-icon {
    color: #d00000 !important;
    /* Cleaner Red */
    font-size: 32px;
    font-weight: 700;
}

.tlb-tc-h3-highlight {
    font-size: 1.92rem;
    line-height: var(--tlb-lh-title);
    color: #fff;
    font-weight: 700;
    margin-bottom: 24px;
}

@media (max-width: 768px) {
    .tlb-tc-dilemma-chip {
        font-size: 0.95rem;
        padding: 15px 20px;
        text-align: left;
        border-radius: 12px;
        /* Less rounded on mobile for text wrap */
    }

    .tlb-tc-h3-highlight {
        font-size: 1.3rem;
    }
}

/* --- REFACTOR UTILITIES (Added to replace inline styles) --- */
.tlb-tc-logo-img {
    height: 22px;
    opacity: 0.9;
}

.tlb-tc-text-lime-underline {
    color: var(--c-lime);
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-thickness: 3px;
    text-decoration-color: rgba(194, 247, 7, 0.5);
}

.tlb-tc-text-caption-sm {
    color: #555;
    font-size: 0.75rem;
    letter-spacing: -0.5px;
}

.tlb-tc-logo-img-tc {
    height: 22px;
}

.tlb-tc-logo-divider {
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, 0.3);
    margin: 0 12px;
}

.tlb-tc-benefits-wrapper {
    margin-top: 10px;
}

.tlb-tc-header-mb-3rem {
    margin-bottom: 3rem;
}

.tlb-tc-mb-3rem {
    margin-bottom: 3rem;
}

.tlb-tc-desc-center {
    font-size: 1.25rem;
    color: #bbb;
    margin-top: 24px;
    line-height: var(--tlb-lh-compact);
    text-align: center;
}

.tlb-tc-conclusion-wrapper {
    max-width: 700px;
    margin: 60px auto 0;
    text-align: center;
}

.tlb-tc-conclusion-text {
    margin-bottom: 30px;
    font-size: 1.25rem;
    color: #bbb;
    line-height: var(--tlb-lh-compact);
}

.tlb-tc-solution-mb {
    margin-bottom: 20px;
}

.tlb-tc-solution-grid-wrapper {
    margin-bottom: 40px;
    text-align: left;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.tlb-tc-solution-card {
    padding: 15px;
    font-size: 0.95rem;
}

.tlb-tc-solution-h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.tlb-tc-txt-gray-mt40-sm {
    color: var(--c-text-gray);
    margin-top: 40px;
    font-size: 0.9rem;
}

.tlb-tc-what-h2 {
    margin-bottom: 40px;
}

.tlb-tc-feature-h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
}

.tlb-tc-feature-desc {
    color: var(--c-text-gray);
    margin-bottom: 15px;
}

.tlb-tc-how-flex-row {
    margin-bottom: 30px;
}

.tlb-tc-how-h2 {
    font-size: 2rem;
    margin-bottom: 10px;
}

.tlb-tc-cal-day-dim {
    opacity: 0.5;
}

.tlb-tc-cal-summary {
    font-size: 1.1rem;
    margin-bottom: 20px;
    text-align: center;
}

.tlb-tc-cal-note {
    font-size: 0.9rem;
    margin-bottom: 40px;
    text-align: center;
    color: var(--c-text-gray);
}

.tlb-tc-task-stack {
    max-width: 750px;
    /* Even more compact to reduce empty space on the right */
    margin: 40px auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}



.tlb-tc-task-row {
    display: flex;
    align-items: center;
    /* Center chip and content vertically */
    gap: 30px;
    /* Reduced gap between chip and text area for better balance */
    padding: 35px 40px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.tlb-tc-task-row:hover {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
    border-color: rgba(194, 247, 7, 0.2);
    transform: translateX(10px);
}

.tlb-tc-task-head {
    flex-shrink: 0;
    width: auto;
    /* Let it fit the content */
    min-width: 140px;
}


.tlb-tc-task-head .tlb-tc-badge {
    margin-bottom: 0;
    width: 100%;
    text-align: center;
    font-size: 0.75rem;
    letter-spacing: 2px;
    padding: 10px 18px;
    border-color: rgba(194, 247, 7, 0.4);
    white-space: nowrap;
    /* Prevents line breaks */
}


.tlb-tc-task-head .tlb-tc-badge {
    margin-bottom: 0;
}

.tlb-tc-task-content {
    flex: 1;
}


.tlb-tc-feature-list.v3 {
    display: flex;
    flex-direction: column;
    gap: 15px;
    /* Increased slightly */
    margin: 0;
    /* Reset default margins */
    padding: 0;
    /* Reset default padding */
    list-style: none;
    /* Ensure no default bullets if any */
}


.tlb-tc-feature-list.v3 li {
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 15px;
    /* Natural, balanced gap after fixing the overlapping issue */
    line-height: var(--tlb-lh-tight);
    margin: 0;
    padding: 0;
    position: relative;
}






.tlb-tc-feature-list.v3 li::before {
    content: "";
    position: static;
    /* Vital: Override base position: absolute */
    top: auto;
    left: auto;
    width: 8px;
    height: 8px;
    background: var(--c-lime);
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 12px var(--c-lime);
    margin: 0;
}



@media (max-width: 767px) {
    .tlb-tc-task-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding: 25px;
    }

    .tlb-tc-task-head {
        width: auto;
    }

    .tlb-tc-feature-list.v3 li {
        font-size: 1.2rem;
    }
}


.tlb-tc-stat-label {
    font-size: 0.8rem;
    color: var(--c-text-gray);
}

.tlb-tc-stat-unit {
    font-size: 1rem;
    font-weight: 400;
    color: #666;
    margin-left: 4px;
}

.tlb-tc-stat-item-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tlb-tc-stat-total-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--c-lime);
}

.tlb-tc-stat-total-val {
    font-size: 2rem;
}

.tlb-tc-how-footer {
    margin-top: 5px;
    /* Significantly reduced to fix wide gap */
    text-align: center;
}



/* --- COMPACT CURRICULUM PILLAR DESIGN --- */
.tlb-tc-curriculum-compact {
    display: grid;
    grid-template-columns: 200px repeat(3, 1fr);
    max-width: 900px;
    margin: 20px auto 40px;
    /* Reduced top margin to 20px for chip spacing */
    background: rgba(10, 10, 10, 0.8);
    /* Semi-transparent */
    backdrop-filter: blur(10px);
    /* Glass effect */
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);
}

.tlb-tc-curr-labels {
    background: rgba(255, 255, 255, 0.02);
    display: grid;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.tlb-tc-curr-lab {
    height: 48px;
    display: flex;
    align-items: center;
    padding-left: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #888;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    letter-spacing: var(--tlb-ls-head);
}

.tlb-tc-curr-lab:last-child {
    border-bottom: none;
}

.tlb-tc-curr-pillar {
    position: relative;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
    display: grid;
    grid-template-rows: repeat(6, 48px);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.tlb-tc-curr-pillar:last-child {
    border-right: none;
}

.tlb-tc-curr-pillar:hover {
    background: rgba(255, 255, 255, 0.02);
}

/* Module Colors - Deepened for better contrast on glass */
.tlb-mod-a {
    --mod-color: #c2f707;
    --mod-bg: rgba(194, 247, 7, 0.08);
}

.tlb-mod-b {
    --mod-color: #ff9d42;
    --mod-bg: rgba(255, 157, 66, 0.08);
}

.tlb-mod-c {
    --mod-color: #00b4ff;
    --mod-bg: rgba(0, 180, 255, 0.08);
}

.tlb-tc-curr-pillar.active {
    background: var(--mod-bg);
    border-left: 1px solid rgba(255, 255, 255, 0.02);
    border-right: 1px solid rgba(255, 255, 255, 0.02);
}

/* Central Module Tag Split */
.tlb-tc-curr-mod-tag {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    line-height: var(--tlb-lh-none);
    pointer-events: none;
    z-index: 2;
    opacity: 0.12;
    transition: all 0.5s ease;
}

.tlb-tc-curr-mod-tag small {
    display: block;
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    margin-bottom: 4px;
    color: inherit;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s ease;
}

.tlb-tc-curr-mod-tag strong {
    display: block;
    font-family: var(--tlb-font-head) !important;
    font-weight: 700;
    font-size: 2.8rem;
    color: inherit;
    letter-spacing: -0.025em;
    filter: drop-shadow(0 0 10px transparent);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center;
    will-change: transform, opacity, filter;
}

/* Remove hover to prevent manual overrides, only active class drives animation */
.tlb-tc-curr-pillar.active .tlb-tc-curr-mod-tag {
    opacity: 1;
    color: var(--mod-color);
    filter: drop-shadow(0 0 25px var(--mod-color));
}

.tlb-tc-curr-pillar.active .tlb-tc-curr-mod-tag small {
    transform: translateY(-8px);
    /* More spacing */
}

.tlb-tc-curr-pillar.active .tlb-tc-curr-mod-tag strong {
    transform: scale(1.8) translateY(8px);
    /* Dramatic scale + spacing */
}

/* Background Image for Section */
.tlb_tc_rotation_section {
    background-color: #000;
    background-image: url('../images/tlb-tc-practice-cover.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    padding: 120px 0;
    /* Slightly more vertical breathing room */
}

/* Extreme subtlety overlay */
.tlb_tc_rotation_section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.94);
    /* Extreme subtlety */
    z-index: 1;
}

.tlb_tc_rotation_section .tlb-tc-container {
    position: relative;
    z-index: 2;
}

/* Bottom Text Sync */
.tlb_tc_rotation_section .tlb-tc-desc-center {
    color: #888 !important;
}


.tlb-tc-curr-box {
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.tlb-tc-curr-box:last-child {
    border-bottom: none;
}


@media (max-width: 768px) {
    .tlb-tc-curriculum-compact {
        grid-template-columns: 130px repeat(3, 1fr);
    }

    .tlb-tc-curr-lab {
        padding-left: 12px;
        font-size: 0.75rem;
        height: 42px;
    }

    .tlb-tc-curr-pillar {
        grid-template-rows: repeat(6, 42px);
    }

    .tlb-tc-curr-mod-tag strong {
        font-size: 1.6rem;
    }
}




/* --- CURRICULUM CHIP --- */
.tlb-tc-curr-chip-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
    /* Requested gap */
}

.tlb-tc-curr-chip {
    background: rgba(194, 247, 7, 0.1);
    border: 1px solid rgba(194, 247, 7, 0.3);
    color: #c2f707;
    padding: 8px 24px;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: var(--tlb-ls-head);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* --- RECOMMENDED FOR SECTION (White Chips) --- */
.tlb_tc_recommend_section {
    background: #0f1115;
    /* Contrasting dark background */
    padding: 100px 0;
}

.tlb-tc-recommend-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 50px auto 0;
    width: fit-content;
    /* Container shrinks to fit longest child */
}

.tlb-tc-recommend-chip {
    background: rgba(255, 255, 255, 0.03);
    /* Soft glass */
    color: #e0e0e0;
    /* Soft contrast white */
    padding: 16px 35px;
    border-radius: 100px;
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    opacity: 0;
    transform: translateY(20px);
    animation: tlbFadeUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

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

.tlb-tc-recommend-chip:nth-child(1) {
    animation-delay: 0.1s;
}

.tlb-tc-recommend-chip:nth-child(2) {
    animation-delay: 0.25s;
}

.tlb-tc-recommend-chip:nth-child(3) {
    animation-delay: 0.4s;
}

.tlb-tc-recommend-chip:nth-child(4) {
    animation-delay: 0.55s;
}

.tlb-tc-recommend-chip:hover {
    transform: translateY(-4px) scale(1.02);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(194, 247, 7, 0.3);
    /* Subtle lime glow on border */
    box-shadow: 0 10px 30px rgba(194, 247, 7, 0.05);
}

.tlb-tc-recommend-chip .material-symbols-outlined {
    font-size: 28px;
    color: var(--c-lime);
    font-variation-settings: 'FILL' 1, 'wght' 700;
}

.tlb-tc-recommend-chip span:last-child {
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: var(--tlb-lh-none);
    white-space: nowrap;
}

@media (max-width: 768px) {
    .tlb_tc_recommend_section {
        padding: 70px 0;
    }

    .tlb-tc-recommend-grid {
        width: 100%;
    }

    .tlb-tc-recommend-chip {
        padding: 16px 25px;
        border-radius: 12px;
    }

    .tlb-tc-recommend-chip span:last-child {
        font-size: 0.95rem;
        white-space: normal;
        line-height: var(--tlb-lh-head);
    }
}

.tlb-tc-faq-h2 {
    margin-bottom: 30px;
}

.tlb-tc-final-section {
    background: #000;
    padding: 120px 0;
    border: none;
}

.tlb-tc-final-price-label {
    font-size: 0.9rem;
    color: var(--c-lime);
    font-weight: 700;
    margin-bottom: 5px;
}

.tlb-tc-final-h2 {
    font-size: 2rem;
    margin-bottom: 30px;
}

.tlb-tc-final-info-box {
    text-align: left;
    background: #1A1A1A;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 30px;
    font-size: 0.95rem;
}

.tlb-tc-final-info-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.tlb-tc-final-price-val {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 30px;
    color: #fff;
}

.tlb-tc-final-footer {
    margin-top: 80px;
    text-align: center;
}

.tlb-tc-final-footer-h3 {
    font-size: 2rem;
    margin-bottom: 20px;
}

.tlb-tc-final-footer-desc {
    color: var(--c-text-gray);
    margin-bottom: 40px;
}

.tlb-tc-final-note {
    color: #666;
    font-size: 0.9rem;
    margin-top: 10px;
}

.tlb-tc-text-spacing-tight {
    letter-spacing: -0.5px;
}

/* --- Speech Bubble Problem Cards (Section 3) --- */
.tlb-tc-solution-bubbles-wrapper {
    max-width: 800px;
    margin: 60px auto 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    /* Tighter gap */
}

.tlb-tc-bubble-item {
    display: flex;
    align-items: center;
    gap: 30px;
    width: 100%;
}

.tlb-tc-bubble-item.tlb-char-right {
    justify-content: flex-end;
}

.tlb-tc-char-box {
    flex-shrink: 0;
    width: 160px;
    /* Increased from 130px */
    height: 160px;
    /* Increased from 130px */
    display: flex;
    align-items: center;
    justify-content: center;
    animation: tlbEmojiFloat 3s infinite ease-in-out;
    position: relative;
    z-index: 2;
    /* Ensure it stays on top */
}

.tlb-char-left .tlb-tc-char-box {
    margin-right: -40px;
    /* Overlap right */
}

.tlb-char-right .tlb-tc-char-box {
    margin-left: -40px;
    /* Overlap left */
}

.tlb-tc-bubble-item:nth-child(2) .tlb-tc-char-box {
    animation-delay: 0.5s;
}

.tlb-tc-bubble-item:nth-child(3) .tlb-tc-char-box {
    animation-delay: 1s;
}

@keyframes tlbEmojiFloat {

    0%,
    100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-10px) rotate(3deg);
    }
}

.tlb-tc-char-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.4));
    /* Deepened shadow for layer effect */
}

@media (max-width: 768px) {
    .tlb-tc-solution-bubbles-wrapper {
        gap: 30px;
        /* Increase gap slightly for vertical stack */
    }

    .tlb-tc-bubble-item {
        flex-direction: column !important;
        /* Stack vertically */
        align-items: center;
        width: 100%;
        gap: 15px;
    }

    /* Reorder for Right Character to appear visually logical if needed, 
       but default column stack is Image -> Bubble or Bubble -> Image depending on markup order.
       Let's enforce Image First for consistent "Speaker" feel */

    .tlb-tc-bubble-item.tlb-char-right {
        flex-direction: column-reverse !important;
        /* Image on top */
    }

    .tlb-tc-char-box {
        width: 80px;
        /* Reduced from 130px */
        height: 80px;
    }

    .tlb-tc-problem-card {
        max-width: 100%;
        width: 100%;
        padding: 24px 20px;
        text-align: center;
    }

    .tlb-tc-problem-label {
        font-size: 1.1rem;
    }

    .tlb-tc-problem-text {
        font-size: 1rem;
        line-height: var(--tlb-lh-compact);
    }
}

.tlb-tc-problem-card {
    position: relative;
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    /* Sharper, modern radius */
    padding: 24px 28px;
    /* Significantly reduced padding */
    flex: 1;
    max-width: 540px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.tlb-tc-problem-label {
    font-size: 1.25rem;
    font-weight: 700;
    /* Extra bold */
    color: #fff;
    margin-bottom: 12px;
    letter-spacing: var(--tlb-ls-head);
}

.tlb-tc-problem-text {
    font-size: 1.15rem;
    font-weight: 500;
    color: #ccc;
    line-height: var(--tlb-lh-ui);
    margin: 0;
}

.tlb-tc-problem-card::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 14px;
    height: 14px;
    background: inherit;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    transform: translateY(-50%) rotate(45deg);
    z-index: -1;
}

/* Bubble Tail - Left Character */
.tlb-char-left .tlb-tc-problem-card::before {
    left: -8px;
}

/* Bubble Tail - Right Character */
.tlb-char-right .tlb-tc-problem-card::before {
    right: -8px;
    border-left: none;
    border-bottom: none;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.tlb-tc-problem-card:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(194, 247, 7, 0.4);
    transform: translateY(-8px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
}

.tlb-tc-section-head.center {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

.tlb-tc-section-h2 {
    font-size: 2.8rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
    letter-spacing: -1px;
}

.tlb-tc-section-p {
    font-size: 1.25rem;
    color: #999;
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
}


/* Remove old icon styles */


@media (max-width: 768px) {
    .tlb-tc-bubble-item {
        flex-direction: column !important;
        align-items: center;
        gap: 15px;
    }

    .tlb-tc-char-box {
        width: 100px;
        height: 100px;
    }

    .tlb-tc-problem-card {
        padding: 30px;
        border-radius: 20px;
        text-align: center;
    }

    .tlb-tc-problem-card::before {
        display: none;
        /* Hide tail on mobile stack */
    }

    .tlb-tc-problem-label {
        font-size: 1.1rem;
    }

    .tlb-tc-problem-text {
        font-size: 1rem;
    }
}

/* --- 1-Column Feature Rows (Section 4) --- */
.tlb-tc-feature-list-v2 {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 60px;
}

.tlb-tc-feature-row {
    display: flex;
    align-items: stretch;
    /* Content and image same height */
    gap: 0;
    /* Flush to the edge */
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 0;
    /* Remove overall padding */
    transition: all 0.3s ease;
    overflow: hidden;
    min-height: 420px;
    /* Reduced from 480px */
}


.tlb-tc-feature-row:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(194, 247, 7, 0.3);
}

.tlb-tc-feature-img-box {
    flex: 0 0 32%;
    /* Fixed width for image */
    overflow: hidden;
    position: relative;
}


.tlb-tc-feature-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Fill the area */
    display: block;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.tlb-tc-feature-row:hover .tlb-tc-feature-img-box img {
    transform: scale(1.05);
}

.tlb-tc-feature-content {
    flex: 0 0 68%;
    padding: 35px 50px;
    /* Reduced from 50px 60px */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* Ensure top alignment */
}



.tlb-tc-feature-h3-v2 {
    font-size: 2rem;
    /* Slighly smaller for tighter fit */
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
    /* Reduced from 24px */
    display: flex;
    align-items: center;
    gap: 15px;
    letter-spacing: -0.5px;
}



.tlb-tc-feature-num-tag {
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
    background: var(--c-lime);
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    font-weight: 700;
    border-bottom-right-radius: 15px;
    /* Only bottom-right rounded */
    z-index: 2;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
}


.tlb-tc-feature-desc-v2 {
    font-size: 1.05rem;
    /* Reduced from 1.15rem */
    color: #bbb;
    line-height: var(--tlb-lh-ui);
    margin-bottom: 20px;
    /* Reduced from 24px */
    word-break: keep-all;
}



.tlb-tc-check-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.tlb-tc-check-list li {
    position: relative;
    padding-left: 40px;
    font-size: 1.25rem;
    color: #eee;
    line-height: var(--tlb-lh-head);
    font-weight: 600;
    /* Increased from 500 */
}

.tlb-tc-list-caption {
    display: block;
    font-size: 0.95rem;
    color: #888;
    margin-top: 4px;
    font-weight: 400;
}

.tlb-tc-feature-note {
    display: block;
    font-size: 0.9rem;
    color: #777;
    margin-top: 15px;
    font-style: italic;
}


.tlb-tc-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--c-lime);
    font-size: 1.7rem;
    font-weight: 700;
}

@media (max-width: 1024px) {
    .tlb-tc-feature-row {
        flex-direction: column;
        border-radius: 20px;
    }

    .tlb-tc-feature-img-box {
        flex: 0 0 240px;
        /* Fixed height for mobile image */
        min-width: 100%;
    }

    .tlb-tc-feature-content {
        flex: 1;
        padding: 40px 30px;
    }

    .tlb-tc-feature-h3-v2 {
        font-size: 1.8rem;
    }

    .tlb-tc-feature-desc-v2 {
        font-size: 1.2rem;
    }

    .tlb-tc-check-list li {
        font-size: 1.15rem;
        padding-left: 35px;
    }
}

@media (max-width: 768px) {
    .tlb-tc-feature-h3-v2 {
        font-size: 1.6rem;
    }

    .tlb-tc-feature-desc-v2 {
        font-size: 1.05rem;
        line-height: var(--tlb-lh-compact);
    }

    .tlb-tc-check-list li {
        font-size: 1rem;
        /* Better readability */
        padding-left: 30px;
    }

    /* --- Global Mobile Font Adjustments --- */
    .tlb-tc-h2 {
        font-size: 1.8rem;
        /* Reduced from 2.8rem */
        line-height: var(--tlb-lh-title);
    }

    .tlb-tc-section-h2 {
        font-size: 2rem;
        /* Reduced from 2.8rem */
    }

    .tlb-tc-section-p {
        font-size: 1.05rem;
        line-height: var(--tlb-lh-compact);
        word-break: keep-all;
    }

    .tlb-tc-desc-center {
        font-size: 1.05rem;
        line-height: var(--tlb-lh-compact);
        word-break: keep-all;
    }

    .tlb-tc-hero-h1 {
        font-size: 2.2rem;
        /* If class exists, safeguard */
        line-height: var(--tlb-lh-tight);
    }

    .tlb-tc-feature-num-tag {
        width: 36px;
        height: 36px;
        font-size: 1.1rem;
    }

    /* Stats Mobile */
    .tlb-tc-stats-container {
        gap: 30px;
    }

    .tlb-tc-stat-big-num {
        font-size: 3rem;
        /* Reduced from 4.5rem */
    }

    .tlb-tc-stat-main-label {
        font-size: 0.85rem;
    }
}

/* --- Section F: Compatibility Layer for Current LP Files --- */
.tlb-lp-wrapper {
    width: 100%;
    min-height: 100vh;
    background: #050505;
    color: #f8fafc;
    overflow: hidden;
}

.tlb_bg_deep_dark {
    background: #050505 !important;
}

.tlb_bg_surface_dark {
    background: #0b0b0f !important;
}

.tlb_relative {
    position: relative;
}

.tlb_flex_center_all {
    display: flex;
    align-items: center;
    justify-content: center;
}

.tlb_grid_center {
    display: grid;
    place-items: center;
}

.tlb_grid_2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tlb_grid_3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tlb_w_full {
    width: 100%;
}

.tlb_mx_auto {
    margin-left: auto;
    margin-right: auto;
}

.tlb_mt_auto {
    margin-top: auto;
}

.tlb_mb_2xl {
    margin-bottom: 64px !important;
}

.tlb_mb_3xl {
    margin-bottom: 80px !important;
}

.tlb_p_2xl {
    padding: 64px !important;
}

.tlb_pt_xl {
    padding-top: 48px !important;
}

.tlb_t_md {
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tlb_t_2xl {
    font-size: 30px;
    line-height: var(--tlb-lh-tight);
}

.tlb_t_3xl {
    font-size: 36px;
    line-height: var(--tlb-lh-tight);
}

.tlb_t_4xl {
    font-size: 48px;
    line-height: var(--tlb-lh-none);
}

.tlb_text_huge {
    font-size: clamp(34px, 5vw, 56px);
    line-height: var(--tlb-lh-tight);
    letter-spacing: -0.04em;
}

.tlb_text_giant {
    font-size: clamp(42px, 7vw, 78px);
    line-height: var(--tlb-lh-none);
    letter-spacing: -0.05em;
}

.tlb_font_black {
    font-weight: 900;
}

.tlb_font_bold {
    font-weight: 700;
}

.tlb_font_medium {
    font-weight: 500;
}

.tlb_line_through {
    text-decoration: line-through;
}

.tlb_underline {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.tlb_text_highlight {
    background: linear-gradient(135deg, #b355ff 0%, #45daff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.tlb_text_glow {
    text-shadow: 0 0 36px rgba(150, 45, 227, 0.2);
}

.tlb_dark_glass_card {
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(18px);
}

.tlb_border_gradient_wrap {
    position: relative;
    padding: 1px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(179, 85, 255, 0.9), rgba(69, 218, 255, 0.5));
}

.tlb_border_gradient_inner {
    border-radius: 27px;
    background: #08080d;
}

.tlb_badge_pro_primary,
.tlb_badge_pro_secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: var(--tlb-fs-caption);
    font-weight: 800;
    letter-spacing: var(--tlb-ls-head);
}

.tlb_badge_pro_primary {
    color: #d8b4fe;
    background: rgba(150, 45, 227, 0.14);
    border: 1px solid rgba(150, 45, 227, 0.35);
}

.tlb_badge_pro_secondary {
    color: #cbd5e1;
    background: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.24);
}

.tlb_glow_orb_primary,
.tlb_glow_orb_secondary {
    position: absolute;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.3;
    pointer-events: none;
}

.tlb_glow_orb_primary {
    background: rgba(150, 45, 227, 0.6);
}

.tlb_glow_orb_secondary {
    background: rgba(69, 218, 255, 0.45);
}

.text-center {
    text-align: center;
}

.tlb-tc-desc {
    color: var(--c-text-gray);
    font-size: 1.15rem;
    line-height: var(--tlb-lh-text);
}

.tlb-tc-header-mb-48px {
    margin-bottom: 48px;
}

.tlb-bubble-left {
    margin-right: auto;
}

.tlb-bubble-right {
    margin-left: auto;
}

.tlb-tc-stat-count {
    font-variant-numeric: tabular-nums;
}

.tlb_tc_hero_section,
.tlb_tc_why_section,
.tlb_tc_what_section,
.tlb_tc_faq_section,
.tlb_tc_faq_details {
    position: relative;
}

@media (max-width: 768px) {
    .tlb_grid_2,
    .tlb_grid_3 {
        grid-template-columns: 1fr;
    }

    .tlb_p_2xl {
        padding: 36px 24px !important;
    }

    .tlb_mb_2xl,
    .tlb_mb_3xl {
        margin-bottom: 44px !important;
    }

    .hidden-mobile {
        display: none !important;
    }
}

/* ================================================================
   Training Camp Campaign V1 — Hub / Practice / Final shared layer
   ================================================================ */

.tcx-wrapper {
    --tcx-bg: #070806;
    --tcx-surface: rgba(255, 255, 255, 0.055);
    --tcx-surface-strong: rgba(255, 255, 255, 0.09);
    --tcx-border: rgba(255, 255, 255, 0.12);
    --tcx-line: rgba(255, 255, 255, 0.08);
    --tcx-text: #f8f8f2;
    --tcx-muted: #a5aaa0;
    --tcx-soft: #d9dfd2;
    --tcx-lime: #c2f707;
    --tcx-lime-soft: rgba(194, 247, 7, 0.13);
    --tcx-amber: #ffb84d;
    --tcx-amber-soft: rgba(255, 184, 77, 0.14);
    --tcx-blue: #7dd3fc;
    --tcx-radius-xl: 34px;
    --tcx-radius-lg: 24px;
    --tcx-shadow: 0 28px 90px rgba(0, 0, 0, 0.42);
    background:
        radial-gradient(circle at 12% 8%, rgba(194, 247, 7, 0.16), transparent 30%),
        radial-gradient(circle at 82% 16%, rgba(255, 184, 77, 0.12), transparent 26%),
        linear-gradient(180deg, #080a07 0%, #10120d 48%, #070806 100%);
    color: var(--tcx-text);
    font-family: var(--tlb-font-body);
    line-height: var(--tlb-lh-compact);
    word-break: keep-all;
    overflow: hidden;
}

.tcx-wrapper *,
.tcx-wrapper *::before,
.tcx-wrapper *::after {
    box-sizing: border-box;
}

.tcx-wrapper a {
    color: inherit;
    text-decoration: none;
}

.tcx-wrapper strong {
    color: #fff;
}

.tcx-shell {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

.tcx-narrow {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto;
}

.tcx-section {
    padding: 108px 0;
    position: relative;
}

.tcx-section.compact {
    padding: 76px 0;
}

.tcx-logos {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 48px;
}

.tcx-logo-tlb {
    height: 25px;
    width: auto;
}

.tcx-logo-tc {
    height: 34px;
    width: auto;
}

.tcx-logo-rule {
    width: 1px;
    height: 26px;
    background: rgba(255, 255, 255, 0.24);
}

.tcx-hero {
    min-height: 760px;
    padding: 80px 0 96px;
    display: flex;
    align-items: center;
    position: relative;
}

.tcx-hero::after {
    content: '';
    position: absolute;
    inset: auto -12% -34% -12%;
    height: 420px;
    background: radial-gradient(ellipse at 50% 0%, rgba(194, 247, 7, 0.16), transparent 65%);
    pointer-events: none;
}

.tcx-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: 56px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.tcx-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(194, 247, 7, 0.28);
    background: rgba(194, 247, 7, 0.09);
    color: var(--tcx-lime);
    font-size: var(--tlb-fs-caption);
    font-weight: 800;
    letter-spacing: 0.02em;
    margin-bottom: 22px;
}

.tcx-eyebrow.amber {
    color: var(--tcx-amber);
    border-color: rgba(255, 184, 77, 0.32);
    background: rgba(255, 184, 77, 0.1);
}

.tcx-h1,
.tcx-h2,
.tcx-h3,
.tcx-kicker,
.tcx-card-title,
.tcx-metric-value {
    font-family: var(--tlb-font-head);
    letter-spacing: -0.04em;
}

.tcx-h1 {
    font-size: clamp(44px, 6.6vw, 82px);
    line-height: var(--tlb-lh-none);
    margin: 0 0 28px;
}

.tcx-h2 {
    font-size: clamp(34px, 4.8vw, 58px);
    line-height: var(--tlb-lh-none);
    margin: 0;
}

.tcx-h3,
.tcx-card-title {
    font-size: var(--tlb-fs-h3);
    line-height: var(--tlb-lh-tight);
    margin: 0;
}

.tcx-lead {
    color: var(--tcx-soft);
    font-size: var(--tlb-fs-h5);
    line-height: var(--tlb-lh-text);
    margin: 0;
}

.tcx-muted {
    color: var(--tcx-muted);
}

.tcx-accent {
    color: var(--tcx-lime);
}

.tcx-amber {
    color: var(--tcx-amber);
}

.tcx-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 38px;
}

.tcx-btn {
    min-height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border-radius: 16px;
    font-weight: 900;
    border: 1px solid var(--tcx-border);
    background: var(--tcx-surface);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.tcx-btn.primary {
    color: #111;
    background: var(--tcx-lime);
    border-color: var(--tcx-lime);
    box-shadow: 0 0 36px rgba(194, 247, 7, 0.24);
}

.tcx-btn.amber {
    color: #15100a;
    background: var(--tcx-amber);
    border-color: var(--tcx-amber);
    box-shadow: 0 0 34px rgba(255, 184, 77, 0.2);
}

.tcx-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.3);
}

.tcx-hero-panel {
    position: relative;
    border: 1px solid var(--tcx-border);
    border-radius: var(--tcx-radius-xl);
    background:
        linear-gradient(155deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
        radial-gradient(circle at 20% 0%, rgba(194, 247, 7, 0.18), transparent 42%);
    padding: 30px;
    box-shadow: var(--tcx-shadow);
    overflow: hidden;
}

.tcx-hero-panel::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -90px;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: rgba(194, 247, 7, 0.14);
    filter: blur(18px);
}

.tcx-ticket {
    position: relative;
    padding: 28px;
    border-radius: 26px;
    background: rgba(5, 6, 5, 0.62);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.tcx-ticket-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 30px;
}

.tcx-ticket-label {
    color: var(--tcx-muted);
    font-size: var(--tlb-fs-micro);
    font-weight: 900;
    letter-spacing: 0.16em;
}

.tcx-ticket-name {
    display: block;
    margin-top: 8px;
    font-size: 28px;
    line-height: var(--tlb-lh-none);
    font-weight: 900;
}

.tcx-ticket-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 7px 12px;
    color: #101010;
    background: var(--tcx-lime);
    font-size: var(--tlb-fs-micro);
    font-weight: 900;
    white-space: nowrap;
}

.tcx-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.tcx-metric {
    min-height: 104px;
    border-radius: 18px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.tcx-metric-label {
    display: block;
    color: var(--tcx-muted);
    font-size: var(--tlb-fs-micro);
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.tcx-metric-value {
    display: block;
    font-size: 25px;
    line-height: var(--tlb-lh-tight);
    font-weight: 900;
}

.tcx-panel-note {
    margin-top: 18px;
    color: var(--tcx-muted);
    font-size: var(--tlb-fs-meta);
}

.tcx-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 32px;
    margin-bottom: 46px;
}

.tcx-section-head p {
    max-width: 480px;
}

.tcx-grid-2,
.tcx-grid-3,
.tcx-grid-4 {
    display: grid;
    gap: 18px;
}

.tcx-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tcx-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tcx-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tcx-card {
    border: 1px solid var(--tcx-border);
    border-radius: var(--tcx-radius-lg);
    padding: 28px;
    background: var(--tcx-surface);
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.18);
}

.tcx-card.featured {
    border-color: rgba(194, 247, 7, 0.42);
    background:
        linear-gradient(150deg, rgba(194, 247, 7, 0.12), rgba(255, 255, 255, 0.045)),
        rgba(255, 255, 255, 0.04);
}

.tcx-card.amber {
    border-color: rgba(255, 184, 77, 0.38);
    background:
        linear-gradient(150deg, rgba(255, 184, 77, 0.12), rgba(255, 255, 255, 0.04)),
        rgba(255, 255, 255, 0.04);
}

.tcx-card p {
    margin: 12px 0 0;
    color: var(--tcx-muted);
}

.tcx-tag {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: 6px 11px;
    margin-bottom: 16px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--tcx-soft);
    font-size: var(--tlb-fs-micro);
    font-weight: 900;
    letter-spacing: 0.08em;
}

.tcx-tag.lime {
    color: var(--tcx-lime);
    background: var(--tcx-lime-soft);
}

.tcx-tag.amber {
    color: var(--tcx-amber);
    background: var(--tcx-amber-soft);
}

.tcx-list {
    display: grid;
    gap: 12px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.tcx-list li {
    position: relative;
    padding-left: 18px;
    color: var(--tcx-soft);
}

.tcx-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--tcx-lime);
}

.tcx-list.amber li::before {
    background: var(--tcx-amber);
}

.tcx-route-card {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.tcx-route-card .tcx-btn {
    margin-top: auto;
    width: 100%;
}

.tcx-decision {
    border-radius: var(--tcx-radius-xl);
    border: 1px solid var(--tcx-border);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.035);
}

.tcx-decision-row {
    display: grid;
    grid-template-columns: 1.1fr 0.75fr 1.15fr;
    gap: 18px;
    padding: 24px;
    border-bottom: 1px solid var(--tcx-line);
}

.tcx-decision-row:last-child {
    border-bottom: none;
}

.tcx-decision-row span {
    color: var(--tcx-muted);
}

.tcx-decision-row strong {
    color: var(--tcx-lime);
}

.tcx-program-strip {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    gap: 16px;
}

.tcx-versus {
    display: grid;
    place-items: center;
    color: var(--tcx-muted);
    font-weight: 900;
    letter-spacing: 0.12em;
}

.tcx-rhythm {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.tcx-rhythm-item {
    padding: 22px;
    min-height: 156px;
    border-radius: 22px;
    border: 1px solid var(--tcx-border);
    background: rgba(255, 255, 255, 0.045);
}

.tcx-rhythm-day {
    display: block;
    margin-bottom: 14px;
    color: var(--tcx-muted);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
    letter-spacing: 0.1em;
}

.tcx-rhythm-title {
    display: block;
    color: #fff;
    font-size: var(--tlb-fs-lead);
    font-weight: 900;
    line-height: var(--tlb-lh-title);
}

.tcx-rhythm-desc {
    display: block;
    margin-top: 10px;
    color: var(--tcx-muted);
    font-size: var(--tlb-fs-meta);
}

.tcx-spec-table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid var(--tcx-border);
    background: rgba(255, 255, 255, 0.035);
}

.tcx-spec-table th,
.tcx-spec-table td {
    padding: 20px;
    text-align: left;
    border-bottom: 1px solid var(--tcx-line);
    vertical-align: top;
}

.tcx-spec-table tr:last-child th,
.tcx-spec-table tr:last-child td {
    border-bottom: none;
}

.tcx-spec-table th {
    width: 30%;
    color: var(--tcx-lime);
    font-size: var(--tlb-fs-meta);
    letter-spacing: 0.08em;
}

.tcx-spec-table td {
    color: var(--tcx-soft);
}

.tcx-faq {
    display: grid;
    gap: 12px;
}

.tcx-faq details {
    border-radius: 18px;
    border: 1px solid var(--tcx-border);
    background: rgba(255, 255, 255, 0.045);
    padding: 20px 22px;
}

.tcx-faq summary {
    cursor: pointer;
    color: #fff;
    font-weight: 700;
}

.tcx-faq p {
    margin: 14px 0 0;
    color: var(--tcx-muted);
}

.tcx-final-page {
    --tcx-bg: #080706;
    background:
        radial-gradient(circle at 78% 7%, rgba(255, 184, 77, 0.15), transparent 28%),
        radial-gradient(circle at 9% 14%, rgba(194, 247, 7, 0.12), transparent 34%),
        linear-gradient(180deg, #090807 0%, #15110c 48%, #080706 100%);
}

.tcx-countdown-card {
    position: relative;
    overflow: hidden;
    min-height: 330px;
}

.tcx-countdown-card::after {
    content: '50';
    position: absolute;
    right: -12px;
    bottom: -70px;
    color: rgba(255, 184, 77, 0.12);
    font-size: 210px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.12em;
}

.tcx-sticky-cta {
    position: sticky;
    bottom: 18px;
    z-index: 10;
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto 24px;
    display: flex;
    justify-content: center;
}

.tcx-sticky-cta-inner {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    background: rgba(7, 8, 6, 0.82);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 70px rgba(0, 0, 0, 0.4);
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.tcx-sticky-cta-text {
    padding-left: 10px;
    color: var(--tcx-soft);
    font-weight: 800;
}

@media (max-width: 900px) {
    .tcx-hero {
        min-height: auto;
        padding: 54px 0 82px;
    }

    .tcx-hero-grid,
    .tcx-grid-2,
    .tcx-grid-3,
    .tcx-grid-4,
    .tcx-program-strip,
    .tcx-rhythm {
        grid-template-columns: 1fr;
    }

    .tcx-section-head {
        display: block;
    }

    .tcx-section-head p {
        margin-top: 18px;
    }

    .tcx-decision-row {
        grid-template-columns: 1fr;
    }

    .tcx-versus {
        min-height: 54px;
    }

    .tcx-metric-grid {
        grid-template-columns: 1fr;
    }

    .tcx-ticket-top {
        display: block;
    }

    .tcx-ticket-chip {
        margin-top: 18px;
    }

    .tcx-sticky-cta-inner {
        display: grid;
    }

    .tcx-sticky-cta .tcx-btn {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .tcx-shell,
    .tcx-narrow,
    .tcx-sticky-cta {
        width: min(100% - 28px, 1120px);
    }

    .tcx-section {
        padding: 78px 0;
    }

    .tcx-logos {
        justify-content: center;
        margin-bottom: 34px;
    }

    .tcx-actions {
        display: grid;
    }

    .tcx-btn {
        width: 100%;
    }

    .tcx-card,
    .tcx-ticket,
    .tcx-hero-panel {
        padding: 22px;
    }

    .tcx-spec-table th,
    .tcx-spec-table td {
        display: block;
        width: 100%;
        padding: 16px;
    }

    .tcx-spec-table th {
        padding-bottom: 0;
    }
}

/* ================================================================
   Training Camp Campaign V2 — Korean long-form landing refinement
   ================================================================ */

.tcx-longform {
    --tcx-bg: #f6f2ea;
    --tcx-ink: #171511;
    --tcx-ink-2: #39342b;
    --tcx-muted-2: #716a5f;
    --tcx-paper: #fffaf1;
    --tcx-paper-2: #ede5d7;
    --tcx-line-2: rgba(23, 21, 17, 0.13);
    --tcx-deep: #1b0b0d;
    --tcx-deep-2: #341014;
    --tcx-red: #b8232f;
    --tcx-red-2: #e44645;
    --tcx-red-3: #ff7667;
    --tcx-gold: var(--tcx-red);
    --tcx-gold-2: var(--tcx-red-3);
    background: var(--tcx-bg);
    color: var(--tcx-ink);
    font-family: var(--tlb-font-body);
    letter-spacing: 0;
    width: min(100%, 980px);
    margin: 0 auto;
}

.tcx-longform *,
.tcx-longform *::before,
.tcx-longform *::after {
    letter-spacing: 0;
}

.tcx-longform .tcx-h1,
.tcx-longform .tcx-h2,
.tcx-longform .tcx-h3,
.tcx-longform .tcx-card-title,
.tcx-longform .tcx-metric-value {
    font-family: var(--tlb-font-head);
    font-weight: 700;
    letter-spacing: 0;
}

.tcx-longform .tcx-shell {
    width: min(100% - 80px, 900px);
}

.tcx-longform .tcx-narrow {
    width: min(100% - 80px, 820px);
}

.tcx-longform .tcx-section {
    padding: 104px 0;
}

.tcx-product-intro {
    padding: 62px 0 76px;
    background: var(--tcx-bg);
    border-bottom: 1px solid var(--tcx-line-2);
    color: var(--tcx-ink);
}

.tcx-product-logo-strip {
    padding: 34px 0;
    background: var(--tcx-bg);
    border-bottom: 1px solid var(--tcx-line-2);
}

.tcx-product-logo-strip .tcx-logos {
    margin-bottom: 0;
}

.tcx-final-hero {
    position: relative;
    overflow: hidden;
    min-height: 680px;
    padding: 72px 0;
    color: #fff8ef;
    background:
        radial-gradient(circle at 50% 34%, rgba(224, 59, 47, 0.32), transparent 28%),
        radial-gradient(circle at 20% 18%, rgba(137, 16, 26, 0.48), transparent 36%),
        radial-gradient(circle at 82% 24%, rgba(255, 161, 91, 0.2), transparent 26%),
        linear-gradient(145deg, #130709 0%, #28090d 42%, #4b1014 72%, #1b0809 100%);
    border-bottom: 1px solid rgba(255, 244, 226, 0.12);
    isolation: isolate;
}

.tcx-final-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255, 244, 226, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 244, 226, 0.03) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 50% 42%, black, transparent 70%);
    pointer-events: none;
    z-index: -2;
}

.tcx-final-hero::after {
    content: '';
    position: absolute;
    inset: auto 10% -24% 10%;
    height: 320px;
    background: radial-gradient(ellipse at center, rgba(255, 84, 68, 0.34), transparent 68%);
    filter: blur(12px);
    pointer-events: none;
    z-index: -1;
}

.tcx-final-hero .tcx-shell {
    position: relative;
    display: grid;
    min-height: 536px;
    place-items: center;
    justify-items: center;
    text-align: center;
}

.tcx-final-hero-object {
    width: min(820px, 100%);
    display: grid;
    justify-items: center;
    text-align: center;
}

.tcx-final-hero-main {
    width: 100%;
    display: grid;
    justify-items: center;
    align-items: center;
    justify-content: center;
    gap: 24px;
    text-align: center;
}

.tcx-final-logo-tlb {
    width: auto;
    height: clamp(44px, 6vw, 72px);
    opacity: 0.95;
}

.tcx-final-logo-tc {
    width: auto;
    height: clamp(66px, 8vw, 104px);
}

.tcx-final-hero-main h1 {
    margin: 6px 0 0;
    color: #fff8ef;
    font-family: var(--tlb-font-head);
    font-size: clamp(42px, 6.2vw, 86px);
    font-weight: 700;
    line-height: var(--tlb-lh-tight);
    letter-spacing: 0;
}

.tcx-final-hero-rule {
    width: min(520px, 72%);
    height: 1px;
    margin: 34px 0 24px;
    background: rgba(255, 248, 239, 0.28);
}

.tcx-final-hero-object p {
    margin: 0;
    color: rgba(255, 248, 239, 0.88);
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-fs-h4);
    font-weight: 700;
    line-height: var(--tlb-lh-head);
}

.tcx-final-hero-art {
    position: relative;
    width: min(420px, 64vw);
    margin-top: 50px;
    padding: 10px;
    border: 1px solid rgba(255, 248, 239, 0.18);
    background: linear-gradient(145deg, rgba(255, 248, 239, 0.12), rgba(255, 248, 239, 0.02));
    box-shadow: 0 42px 120px rgba(0, 0, 0, 0.44);
    transform: rotate(-2.4deg);
}

.tcx-final-hero-art img {
    display: block;
    width: 100%;
    height: auto;
}

.tcx-longform .tcx-hero {
    min-height: 720px;
    padding: 104px 0 110px;
    background:
        linear-gradient(115deg, rgba(8, 10, 6, 0.94) 0%, rgba(31, 35, 22, 0.92) 52%, rgba(54, 45, 25, 0.9) 100%),
        radial-gradient(circle at 76% 20%, rgba(240, 182, 91, 0.22), transparent 35%);
    color: #fffaf1;
}

.tcx-longform .tcx-hero::after {
    display: none;
}

.tcx-longform .tcx-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
    gap: 72px;
}

.tcx-longform .tcx-logos {
    margin-bottom: 42px;
}

.tcx-longform .tcx-logo-rule {
    background: rgba(23, 21, 17, 0.18);
}

.tcx-product-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr);
    gap: 72px;
    align-items: start;
}

.tcx-longform .tcx-eyebrow {
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--tcx-red);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
}

.tcx-longform .tcx-h1 {
    max-width: 760px;
    font-size: clamp(42px, 5.2vw, 72px);
    line-height: var(--tlb-lh-tight);
    margin-bottom: 34px;
}

.tcx-longform .tcx-h2 {
    font-size: clamp(34px, 4.25vw, 60px);
    line-height: var(--tlb-lh-tight);
}

.tcx-longform .tcx-card-title,
.tcx-longform .tcx-h3 {
    font-size: var(--tlb-fs-h4);
    line-height: var(--tlb-lh-head);
}

.tcx-longform .tcx-lead {
    color: inherit;
    opacity: 0.78;
    font-size: var(--tlb-fs-h5);
    line-height: var(--tlb-lh-read);
}

.tcx-longform .tcx-amber {
    color: var(--tcx-gold-2);
}

.tcx-longform .tcx-btn {
    min-height: 60px;
    border-radius: 6px;
    padding: 0 28px;
    border-color: var(--tcx-line-2);
    background: rgba(23, 21, 17, 0.03);
    color: var(--tcx-ink);
    font-family: var(--tlb-font-body);
    font-weight: 700;
}

.tcx-longform .tcx-btn.amber,
.tcx-longform .tcx-btn.primary {
    background: var(--tcx-red-2);
    border-color: var(--tcx-red-2);
    color: #fff8ef;
    box-shadow: none;
}

.tcx-longform .tcx-dashboard {
    border-radius: 4px;
    padding: 34px;
    border: 1px solid var(--tcx-line-2);
    background: var(--tcx-paper);
    box-shadow: none;
}

.tcx-longform .tcx-dashboard::before {
    display: none;
}

.tcx-dashboard-head {
    padding: 28px;
    border-radius: 2px;
    background: #efe6d6;
    color: var(--tcx-ink);
}

.tcx-dashboard-head span,
.tcx-dashboard-row span,
.tcx-proof-strip span,
.tcx-timeline-item span,
.tcx-spec-panels article > span,
.tcx-review-board span,
.tcx-mock-box .tcx-grid-3 span,
.tcx-mock-box .tcx-grid-4 span {
    display: block;
    color: var(--tcx-muted-2);
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
}

.tcx-dashboard-head strong {
    display: block;
    margin-top: 10px;
    color: var(--tcx-ink) !important;
    font-family: var(--tlb-font-head);
    font-size: 34px;
    line-height: var(--tlb-lh-tight);
}

.tcx-dashboard-head p {
    margin: 14px 0 0;
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-text);
}

.tcx-dashboard-row {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 4px;
    border-bottom: 1px solid var(--tcx-line-2);
}

.tcx-dashboard-row strong {
    color: var(--tcx-ink);
    font-size: 20px;
}

.tcx-dashboard-note {
    margin-top: 24px;
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-body);
}

.tcx-longform .tcx-proof-strip {
    padding: 36px 0;
    background: var(--tcx-deep);
    color: #fffaf1;
}

.tcx-proof-strip .tcx-grid-4 {
    gap: 0;
}

.tcx-proof-strip .tcx-grid-4 > div {
    padding: 8px 30px;
    border-right: 1px solid rgba(255, 250, 241, 0.14);
}

.tcx-proof-strip .tcx-grid-4 > div:last-child {
    border-right: none;
}

.tcx-proof-strip strong {
    display: block;
    margin-top: 8px;
    color: #fffaf1;
    font-family: var(--tlb-font-head);
    font-size: 24px;
    font-weight: 700;
}

.tcx-center {
    text-align: center;
    margin-bottom: 54px;
}

.tcx-center .tcx-lead {
    margin-top: 26px;
}

.tcx-gap-large {
    gap: 24px;
}

.tcx-longform .tcx-card {
    border: 1px solid var(--tcx-line-2);
    border-radius: 2px;
    padding: 34px;
    background: var(--tcx-paper);
    box-shadow: none;
}

.tcx-longform .tcx-card p {
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-body);
}

.tcx-statement-stack {
    border-top: 1px solid var(--tcx-line-2);
    border-bottom: 1px solid var(--tcx-line-2);
}

.tcx-statement-row {
    display: grid;
    grid-template-columns: 88px minmax(220px, 0.56fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    padding: 34px 0;
    border-bottom: 1px solid var(--tcx-line-2);
}

.tcx-statement-row:last-child {
    border-bottom: 0;
}

.tcx-statement-row span {
    color: var(--tcx-red);
    font-size: var(--tlb-fs-meta);
    font-weight: 900;
}

.tcx-statement-row strong {
    color: var(--tcx-ink);
    font-family: var(--tlb-font-head);
    font-size: clamp(24px, 2.4vw, 34px);
    font-weight: 700;
    line-height: var(--tlb-lh-title);
}

.tcx-statement-row p {
    margin: 0;
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-body);
}

.tcx-longform .tcx-tag {
    background: transparent;
    color: var(--tcx-red);
    padding: 0;
    margin-bottom: 22px;
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
}

.tcx-light-section {
    background: #fffaf1;
}

.tcx-longform .tcx-section-head {
    display: block;
    align-items: flex-start;
    margin-bottom: 50px;
}

.tcx-longform .tcx-section-head p {
    max-width: 760px;
    margin-top: 24px;
    color: var(--tcx-muted-2);
}

.tcx-timeline {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--tcx-line-2);
}

.tcx-timeline-item {
    display: grid;
    grid-template-columns: 140px minmax(220px, 0.62fr) minmax(0, 1fr);
    gap: 34px;
    padding: 34px 0;
    border-bottom: 1px solid var(--tcx-line-2);
}

.tcx-timeline-item strong {
    color: var(--tcx-ink);
    font-family: var(--tlb-font-head);
    font-size: 26px;
    line-height: var(--tlb-lh-title);
}

.tcx-timeline-item p {
    margin: 0;
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-body);
}

.tcx-spec-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.tcx-spec-panels article {
    padding: 42px;
    border-radius: 2px;
    background: var(--tcx-deep);
    color: #fffaf1;
}

.tcx-spec-panels article:nth-child(2) {
    background: #341014;
}

.tcx-spec-panels h3 {
    margin: 14px 0 20px;
    font-family: var(--tlb-font-head);
    font-size: 36px;
    font-weight: 700;
    line-height: var(--tlb-lh-tight);
}

.tcx-spec-panels p,
.tcx-spec-panels li {
    color: rgba(255, 250, 241, 0.74);
    line-height: var(--tlb-lh-read);
}

.tcx-spec-panels ul {
    display: grid;
    gap: 10px;
    margin: 28px 0 0;
    padding-left: 20px;
}

.tcx-source-matrix {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--tcx-line-2);
    border-radius: 2px;
    overflow: hidden;
    background: var(--tcx-paper);
}

.tcx-source-matrix article {
    padding: 44px;
}

.tcx-source-matrix article + article {
    border-left: 1px solid var(--tcx-line-2);
    background: #f4eddf;
}

.tcx-source-matrix span,
.tcx-system-row span {
    display: block;
    color: var(--tcx-red);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
}

.tcx-source-matrix h3 {
    margin: 16px 0 20px;
    color: var(--tcx-ink);
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-fs-h2);
    font-weight: 700;
    line-height: var(--tlb-lh-tight);
}

.tcx-source-matrix p {
    margin: 0;
    color: var(--tcx-muted-2);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-body);
}

.tcx-section-note {
    margin: 34px 0 0;
    padding: 24px 28px;
    border-left: 3px solid var(--tcx-red);
    background: rgba(184, 35, 47, 0.06);
    color: var(--tcx-ink-2);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-body);
}

.tcx-type-table {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border: 1px solid var(--tcx-line-2);
    border-radius: 2px;
    overflow: hidden;
}

.tcx-type-table > div {
    padding: 28px 20px;
    background: var(--tcx-paper);
    border-right: 1px solid var(--tcx-line-2);
}

.tcx-type-table > div:last-child {
    border-right: 0;
}

.tcx-type-table span {
    display: block;
    color: var(--tcx-muted-2);
    font-size: var(--tlb-fs-meta);
    font-weight: 700;
}

.tcx-type-table strong {
    display: block;
    margin-top: 12px;
    color: var(--tcx-ink);
    font-family: var(--tlb-font-head);
    font-size: 28px;
    font-weight: 700;
}

.tcx-review-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--tcx-line-2);
    border-radius: 2px;
    overflow: hidden;
}

.tcx-review-board > div {
    padding: 34px 28px;
    border-right: 1px solid var(--tcx-line-2);
    background: #f6f2ea;
}

.tcx-review-board > div:last-child {
    border-right: none;
}

.tcx-review-board strong {
    display: block;
    margin-top: 12px;
    font-family: var(--tlb-font-head);
    font-size: 25px;
    font-weight: 700;
}

.tcx-review-board p {
    margin: 16px 0 0;
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-text);
}

.tcx-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--tcx-line-2);
    border-radius: 2px;
    overflow: hidden;
}

.tcx-review-grid > div {
    padding: 32px 28px;
    border-right: 1px solid var(--tcx-line-2);
    border-bottom: 1px solid var(--tcx-line-2);
    background: #f6f2ea;
}

.tcx-review-grid > div:nth-child(3n) {
    border-right: none;
}

.tcx-review-grid > div:nth-last-child(-n + 3) {
    border-bottom: none;
}

.tcx-review-grid span {
    display: block;
    color: var(--tcx-muted-2);
    font-size: var(--tlb-fs-caption);
    font-weight: 700;
}

.tcx-review-grid strong {
    display: block;
    margin-top: 12px;
    font-family: var(--tlb-font-head);
    font-size: 25px;
    font-weight: 700;
}

.tcx-review-grid p {
    margin: 16px 0 0;
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-text);
}

.tcx-mock-section {
    background: var(--tcx-deep);
    color: #fffaf1;
}

.tcx-mock-box {
    max-width: 1040px;
}

.tcx-mock-box .tcx-lead {
    max-width: 760px;
    margin-top: 26px;
}

.tcx-mock-box .tcx-grid-3 {
    margin-top: 48px;
    gap: 16px;
}

.tcx-mock-box .tcx-grid-3,
.tcx-mock-box .tcx-grid-4 {
    margin-top: 48px;
    gap: 16px;
}

.tcx-mock-box .tcx-grid-3 > div,
.tcx-mock-box .tcx-grid-4 > div {
    padding: 28px;
    border-radius: 2px;
    background: rgba(255, 250, 241, 0.08);
    border: 1px solid rgba(255, 250, 241, 0.12);
}

.tcx-mock-box .tcx-grid-3 strong,
.tcx-mock-box .tcx-grid-4 strong {
    display: block;
    margin-bottom: 10px;
    color: #fffaf1;
    font-family: var(--tlb-font-head);
    font-size: 24px;
    font-weight: 700;
}

.tcx-checklist {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--tcx-line-2);
}

.tcx-checklist > div {
    position: relative;
    padding: 28px 0 28px 42px;
    border-bottom: 1px solid var(--tcx-line-2);
    color: var(--tcx-ink);
    font-size: 22px;
    font-weight: 700;
    line-height: var(--tlb-lh-ui);
}

.tcx-checklist > div::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 38px;
    width: 16px;
    height: 16px;
    background: var(--tcx-red);
}

.tcx-system-ledger {
    border-top: 1px solid var(--tcx-line-2);
}

.tcx-system-row {
    display: grid;
    grid-template-columns: 160px minmax(220px, 0.48fr) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    padding: 30px 0;
    border-bottom: 1px solid var(--tcx-line-2);
}

.tcx-system-row strong {
    color: var(--tcx-ink);
    font-family: var(--tlb-font-head);
    font-size: 28px;
    font-weight: 700;
    line-height: var(--tlb-lh-title);
}

.tcx-system-row p {
    margin: 0;
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-body);
}

.tcx-fine-print {
    margin: 24px 0 0;
    color: rgba(255, 250, 241, 0.64);
    font-size: var(--tlb-fs-meta);
    line-height: var(--tlb-lh-text);
}

.tcx-longform .tcx-faq {
    margin-top: 38px;
}

.tcx-longform .tcx-faq details {
    border-color: var(--tcx-line-2);
    background: var(--tcx-paper);
    border-radius: 2px;
    padding: 26px 28px;
}

.tcx-longform .tcx-faq summary {
    color: var(--tcx-ink);
    font-family: var(--tlb-font-body);
    font-size: 20px;
    font-weight: 700;
}

.tcx-longform .tcx-faq p {
    color: var(--tcx-muted-2);
    line-height: var(--tlb-lh-body);
}

.tcx-apply-box {
    padding: 58px;
    border-radius: 2px;
    background: linear-gradient(135deg, #1b0b0d 0%, #330f13 100%);
    color: #fffaf1;
    text-align: center;
}

.tcx-apply-box .tcx-lead {
    margin-top: 24px;
}

.tcx-apply-box .tcx-actions {
    justify-content: center;
}

.tcx-longform .tcx-sticky-cta-inner {
    background: rgba(27, 11, 13, 0.92);
    border-color: rgba(255, 250, 241, 0.16);
    border-radius: 4px;
}

.tcx-longform .tcx-sticky-cta {
    width: min(100% - 80px, 900px);
}

@media (max-width: 900px) {
    .tcx-longform .tcx-section {
        padding: 78px 0;
    }

    .tcx-final-hero {
        min-height: auto;
        padding: 56px 0 76px;
    }

    .tcx-final-hero .tcx-shell {
        min-height: 500px;
    }

    .tcx-longform .tcx-hero-grid,
    .tcx-product-intro-grid,
    .tcx-spec-panels,
    .tcx-source-matrix,
    .tcx-type-table,
    .tcx-review-board,
    .tcx-review-grid {
        grid-template-columns: 1fr;
    }

    .tcx-statement-row,
    .tcx-timeline-item {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .tcx-system-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .tcx-source-matrix article + article {
        border-left: none;
        border-top: 1px solid var(--tcx-line-2);
    }

    .tcx-proof-strip .tcx-grid-4 > div,
    .tcx-type-table > div,
    .tcx-review-board > div,
    .tcx-review-grid > div {
        border-right: none;
        border-bottom: 1px solid var(--tcx-line-2);
    }

    .tcx-type-table > div:last-child,
    .tcx-review-board > div:last-child,
    .tcx-review-grid > div:last-child {
        border-bottom: none;
    }
}

@media (max-width: 560px) {
    .tcx-longform .tcx-shell,
    .tcx-longform .tcx-narrow,
    .tcx-longform .tcx-sticky-cta {
        width: min(100% - 30px, 900px);
    }

    .tcx-longform .tcx-h1 {
        font-size: 42px;
    }

    .tcx-final-hero-main {
        gap: 18px;
    }

    .tcx-final-logo-tlb {
        height: 38px;
    }

    .tcx-final-logo-tc {
        height: 58px;
    }

    .tcx-dashboard,
    .tcx-spec-panels article,
    .tcx-apply-box {
        padding: 26px;
    }

    .tcx-dashboard-row {
        display: block;
    }

    .tcx-dashboard-row strong {
        display: block;
        margin-top: 8px;
    }
}

/* ================================================================
   Typography policy — TLB authority style
   Headers and FAQ labels must not exceed 700 weight.
   ================================================================ */

.tcx-wrapper h1,
.tcx-wrapper h2,
.tcx-wrapper h3,
.tcx-wrapper h4,
.tcx-wrapper summary,
.tcx-wrapper .tcx-h1,
.tcx-wrapper .tcx-h2,
.tcx-wrapper .tcx-h3,
.tcx-wrapper .tcx-card-title,
.tcx-wrapper .tcx-faq summary,
.tcx-wrapper .tcx-final-hero-copy h1,
.tcx-wrapper .tcx-final-hero-copy p,
.tcx-wrapper .tcx-final-hero-copy strong {
    font-weight: 700 !important;
}

/* ================================================================
   Training Camp Final Course 2026 Rebuild
   Fresh product-detail layout. Does not depend on legacy tcx cards.
   ================================================================ */

:root {
    --tcf-black: #0b0708;
    --tcf-ink: #171213;
    --tcf-paper: #f7f1eb;
    --tcf-paper-2: #efe4da;
    --tcf-white: #fffaf4;
    --tcf-muted: #756764;
    --tcf-red: #b80f1e;
    --tcf-red-dark: #6d0711;
    --tcf-red-deep: #310308;
    --tcf-gold: #d8b46a;
    --tcf-line: rgba(49, 3, 8, 0.18);
    --tcf-line-dark: rgba(255, 250, 244, 0.2);
}

.tcf-page {
    width: min(100%, 980px);
    margin: 0 auto;
    background:
        linear-gradient(90deg, rgba(49, 3, 8, 0.06) 1px, transparent 1px) 0 0 / 48px 48px,
        linear-gradient(180deg, var(--tcf-paper) 0%, #fbf7f2 42%, #efe3da 100%);
    color: var(--tcf-ink);
    font-family: var(--tlb-font-body);
    line-height: var(--tlb-lh-text);
    word-break: keep-all;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
}

.tcf-page-modern {
    background:
        linear-gradient(90deg, rgba(49, 3, 8, 0.045) 1px, transparent 1px) 0 0 / 42px 42px,
        linear-gradient(180deg, #fff8ef 0%, #f6eee6 38%, #ebe0d4 100%);
}

.tcf-page *,
.tcf-page *::before,
.tcf-page *::after {
    box-sizing: border-box;
}

.tcf-frame {
    width: min(100%, 980px);
    margin: 0 auto;
}

.tcf-inner {
    width: min(100% - 80px, 900px);
    margin: 0 auto;
}

.tcf-section {
    padding: 118px 0;
    position: relative;
}

.tcf-black {
    background:
        linear-gradient(135deg, rgba(184, 15, 30, 0.26) 0%, rgba(49, 3, 8, 0) 42%),
        linear-gradient(180deg, #14090b 0%, var(--tcf-black) 100%);
    color: var(--tcf-white);
}

.tcf-red-paper {
    background:
        linear-gradient(120deg, rgba(184, 15, 30, 0.18), rgba(184, 15, 30, 0) 44%),
        linear-gradient(180deg, #fff8ef 0%, #f1e2d4 100%);
    border-top: 1px solid var(--tcf-line);
    border-bottom: 1px solid var(--tcf-line);
}

.tcf-label {
    margin: 0 0 18px;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.tcf-black .tcf-label,
.tcf-system .tcf-label {
    color: #ff6d74;
}

.tcf-title,
.tcf-hero-copy h2,
.tcf-apply h2 {
    margin: 0;
    font-family: var(--tlb-font-head);
    font-size: clamp(34px, 5.2vw, 62px);
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcf-lead,
.tcf-hero-copy p,
.tcf-apply p {
    max-width: 760px;
    margin: 28px 0 0;
    color: var(--tcf-muted);
    font-size: 20px;
    line-height: var(--tlb-lh-body);
    font-weight: 500;
}

.tcf-black .tcf-lead,
.tcf-black .tcf-hero-copy p {
    color: rgba(255, 250, 244, 0.72);
}

.tcf-hero {
    min-height: 720px;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 95, 103, 0.34) 0%, rgba(255, 95, 103, 0.08) 28%, rgba(49, 3, 8, 0) 54%),
        linear-gradient(145deg, #240206 0%, #5c0610 42%, #120506 100%);
    color: var(--tcf-white);
    position: relative;
}

.tcf-hero::before {
    content: "";
    position: absolute;
    inset: 34px;
    border: 1px solid rgba(255, 250, 244, 0.18);
    pointer-events: none;
}

.tcf-hero::after {
    content: "";
    position: absolute;
    inset: auto -15% -24% -15%;
    height: 42%;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.16), transparent 65%);
    pointer-events: none;
}

.tcf-hero-inner {
    position: relative;
    z-index: 1;
    padding: 56px 0 48px;
}

.tcf-hero-brand {
    min-height: 286px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.tcf-logo-tlb {
    width: min(256px, 66vw);
    height: auto;
    display: block;
    margin-bottom: 18px;
}

.tcf-logo-camp {
    width: min(430px, 82vw);
    height: auto;
    display: block;
    margin-bottom: 18px;
}

.tcf-hero-brand h1 {
    margin: 0;
    color: var(--tcf-white);
    font-family: var(--tlb-font-head);
    font-size: clamp(42px, 6.9vw, 72px);
    line-height: var(--tlb-lh-none);
    font-weight: 700;
}

.tcf-hero-line {
    width: min(420px, 70vw);
    height: 1px;
    margin: 22px 0 16px;
    background: linear-gradient(90deg, transparent, rgba(255, 250, 244, 0.72), transparent);
}

.tcf-hero-brand p {
    margin: 0;
    color: rgba(255, 250, 244, 0.86);
    font-size: 22px;
    line-height: var(--tlb-lh-head);
    font-weight: 600;
}

.tcf-hero-copy {
    max-width: 820px;
    margin: 20px auto 0;
    text-align: center;
}

.tcf-hero-copy h2 {
    font-size: clamp(32px, 4.8vw, 56px);
}

.tcf-hero-copy .tcf-label {
    color: #ffafb3;
}

.tcf-hero-copy p:not(.tcf-label) {
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 250, 244, 0.76);
    margin-top: 20px;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcf-hero-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 34px;
}

.tcf-hero-ledger {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 32px 0 0;
    border-top: 1px solid rgba(255, 250, 244, 0.24);
    border-bottom: 1px solid rgba(255, 250, 244, 0.24);
}

.tcf-hero-ledger div {
    min-height: 92px;
    padding: 20px 16px;
    border-right: 1px solid rgba(255, 250, 244, 0.18);
}

.tcf-hero-ledger div:last-child {
    border-right: none;
}

.tcf-hero-ledger dt {
    margin: 0 0 10px;
    color: #ffb3b8;
    font-size: var(--tlb-fs-caption);
    font-weight: 800;
}

.tcf-hero-ledger dd {
    margin: 0;
    color: var(--tcf-white);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcf-skim-strip {
    padding: 0;
    background: var(--tcf-red-deep);
    color: var(--tcf-white);
}

.tcf-skim-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-left: 1px solid rgba(255, 250, 244, 0.18);
}

.tcf-skim-grid div {
    min-height: 178px;
    padding: 32px 24px;
    border-right: 1px solid rgba(255, 250, 244, 0.18);
    background:
        linear-gradient(180deg, rgba(255, 250, 244, 0.06), rgba(255, 250, 244, 0)),
        rgba(255, 250, 244, 0.02);
}

.tcf-skim-grid span,
.tcf-focus-grid span {
    display: block;
    color: #ff9298;
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tcf-skim-grid strong {
    display: block;
    margin-top: 16px;
    color: var(--tcf-white);
    font-family: var(--tlb-font-head);
    font-size: 25px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-skim-grid p {
    margin: 16px 0 0;
    color: rgba(255, 250, 244, 0.66);
    font-size: var(--tlb-fs-small);
    line-height: var(--tlb-lh-compact);
}

.tcf-contrast {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 64px;
    border: 1px solid var(--tcf-line-dark);
}

.tcf-contrast div {
    min-height: 310px;
    padding: 44px;
}

.tcf-contrast div + div {
    border-left: 1px solid var(--tcf-line-dark);
    background: rgba(184, 15, 30, 0.18);
}

.tcf-contrast span,
.tcf-dossier-row span,
.tcf-source article > span,
.tcf-review-form span,
.tcf-system-map span,
.tcf-week span {
    display: block;
    margin-bottom: 16px;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.tcf-black .tcf-contrast span,
.tcf-black .tcf-source article > span {
    color: #ff7b82;
}

.tcf-contrast strong {
    display: block;
    max-width: 320px;
    color: var(--tcf-white);
    font-family: var(--tlb-font-head);
    font-size: 30px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-contrast p,
.tcf-source p,
.tcf-source li {
    color: rgba(255, 250, 244, 0.72);
}

.tcf-contrast p {
    margin: 26px 0 0;
    font-size: var(--tlb-fs-lead);
}

.tcf-pain-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 62px;
    border-top: 1px solid var(--tcf-line-dark);
    border-left: 1px solid var(--tcf-line-dark);
}

.tcf-pain-grid article {
    min-height: 292px;
    padding: 42px 38px;
    border-right: 1px solid var(--tcf-line-dark);
    border-bottom: 1px solid var(--tcf-line-dark);
    background: rgba(255, 250, 244, 0.035);
}

.tcf-pain-grid article:nth-child(2),
.tcf-pain-grid article:nth-child(3) {
    background: rgba(184, 15, 30, 0.12);
}

.tcf-pain-grid span,
.tcf-strategy-board span,
.tcf-offer-stack span,
.tcf-proof-notes span,
.tcf-proof-strip span {
    display: block;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.tcf-black .tcf-pain-grid span {
    color: #ff7b82;
}

.tcf-pain-grid strong {
    display: block;
    margin-top: 18px;
    color: var(--tcf-white);
    font-family: var(--tlb-font-head);
    font-size: 28px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-pain-grid p {
    margin: 24px 0 0;
    color: rgba(255, 250, 244, 0.7);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-text);
}

.tcf-proof-strip {
    display: grid;
    grid-template-columns: 1.7fr repeat(5, 1fr);
    margin-top: 30px;
    border: 1px solid var(--tcf-line-dark);
}

.tcf-proof-strip span,
.tcf-proof-strip b {
    min-height: 78px;
    display: flex;
    align-items: center;
    padding: 0 22px;
    border-right: 1px solid var(--tcf-line-dark);
}

.tcf-proof-strip span {
    color: #ff8d93;
    letter-spacing: 0.04em;
    text-transform: none;
}

.tcf-proof-strip b {
    justify-content: center;
    color: var(--tcf-white);
    font-size: var(--tlb-fs-lead);
    font-weight: 700;
}

.tcf-proof-strip b:last-child {
    border-right: none;
}

.tcf-story-panel {
    margin-top: 62px;
    padding: 44px 46px;
    border-top: 1px solid var(--tcf-line-dark);
    border-bottom: 1px solid var(--tcf-line-dark);
    background:
        linear-gradient(90deg, rgba(184, 15, 30, 0.22), rgba(184, 15, 30, 0) 48%),
        rgba(255, 250, 244, 0.035);
}

.tcf-story-kicker {
    margin: 0 0 28px;
    color: #ff8d93;
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tcf-anxiety-list {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(255, 250, 244, 0.16);
}

.tcf-anxiety-list p {
    position: relative;
    margin: 0;
    padding: 24px 0 24px 34px;
    border-bottom: 1px solid rgba(255, 250, 244, 0.16);
    color: var(--tcf-white);
    font-size: 24px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcf-anxiety-list p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 39px;
    width: 16px;
    height: 2px;
    background: #ff6d74;
}

.tcf-turning-point {
    max-width: 820px;
    margin: 42px 0 0;
    color: rgba(255, 250, 244, 0.78);
    font-family: var(--tlb-font-head);
    font-size: 31px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcf-shift-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 64px;
    border: 2px solid var(--tcf-red-deep);
    background: rgba(255, 250, 244, 0.58);
}

.tcf-shift-panel article {
    min-height: 360px;
    padding: 46px 42px;
}

.tcf-shift-panel article + article {
    border-left: 1px solid var(--tcf-line);
    background: linear-gradient(180deg, rgba(184, 15, 30, 0.14), rgba(184, 15, 30, 0.03));
}

.tcf-shift-panel span {
    display: block;
    margin-bottom: 20px;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.08em;
}

.tcf-shift-panel strong {
    display: block;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 34px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-shift-panel p {
    margin: 28px 0 0;
    color: var(--tcf-muted);
    font-size: 19px;
    line-height: var(--tlb-lh-text);
}

.tcf-focus-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 62px;
    border-top: 2px solid var(--tcf-red-deep);
    border-left: 1px solid var(--tcf-line);
}

.tcf-focus-grid article {
    min-height: 344px;
    padding: 34px 26px;
    border-right: 1px solid var(--tcf-line);
    border-bottom: 1px solid var(--tcf-line);
    background:
        linear-gradient(180deg, rgba(184, 15, 30, 0.08), rgba(184, 15, 30, 0) 50%),
        rgba(255, 250, 244, 0.6);
}

.tcf-focus-grid article:nth-child(even) {
    background: rgba(255, 250, 244, 0.42);
}

.tcf-focus-grid span {
    color: var(--tcf-red);
    font-size: var(--tlb-fs-lead);
    letter-spacing: 0.04em;
}

.tcf-focus-grid strong {
    display: block;
    margin-top: 22px;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 27px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-focus-grid p {
    margin: 22px 0 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-text);
}

.tcf-dossier {
    margin-top: 64px;
    border-top: 2px solid var(--tcf-red-deep);
}

.tcf-dossier-row {
    display: grid;
    grid-template-columns: 90px 310px 1fr;
    gap: 26px;
    padding: 34px 0;
    border-bottom: 1px solid var(--tcf-line);
    align-items: start;
}

.tcf-dossier-row span {
    color: var(--tcf-red);
    font-size: var(--tlb-fs-lead);
}

.tcf-dossier-row strong {
    color: var(--tcf-ink);
    font-family: var(--tlb-font-head);
    font-size: 25px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-dossier-row p {
    margin: 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcf-split {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 58px;
    align-items: center;
}

.tcf-split-reverse {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.tcf-copy-stack {
    min-width: 0;
}

.tcf-flow-list {
    margin: 42px 0 0;
    padding: 0;
    list-style: none;
    border-top: 2px solid var(--tcf-red-deep);
}

.tcf-flow-list li {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 24px;
    padding: 22px 0;
    border-bottom: 1px solid var(--tcf-line);
}

.tcf-flow-list strong {
    color: var(--tcf-red-deep);
    font-size: 20px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-flow-list span {
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-compact);
}

.tcf-strategy-board {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 62px;
    border-top: 2px solid var(--tcf-red-deep);
}

.tcf-strategy-board article {
    min-height: 320px;
    padding: 42px 38px;
    border-bottom: 1px solid var(--tcf-line);
}

.tcf-strategy-board article:nth-child(odd) {
    border-right: 1px solid var(--tcf-line);
}

.tcf-strategy-board article:nth-child(4) {
    background: rgba(184, 15, 30, 0.08);
}

.tcf-strategy-board strong {
    display: block;
    margin-top: 18px;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 30px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-strategy-board p {
    margin: 24px 0 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcf-offer-stack {
    margin-top: 62px;
    border-top: 2px solid var(--tcf-red-deep);
}

.tcf-offer-stack article {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) 238px;
    gap: 28px;
    padding: 34px 0;
    border-bottom: 1px solid var(--tcf-line);
    align-items: center;
}

.tcf-offer-stack article:nth-child(5) {
    background: linear-gradient(90deg, rgba(184, 15, 30, 0.08), transparent 62%);
}

.tcf-offer-no {
    color: var(--tcf-red);
    font-size: 20px;
    letter-spacing: 0.04em;
}

.tcf-offer-copy strong {
    display: block;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 29px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-offer-copy p {
    margin: 12px 0 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcf-offer-visual {
    position: relative;
    min-height: 158px;
    padding: 22px;
    border: 1px solid rgba(49, 3, 8, 0.24);
    background:
        linear-gradient(90deg, rgba(49, 3, 8, 0.07) 1px, transparent 1px) 0 0 / 20px 20px,
        rgba(255, 250, 244, 0.76);
    overflow: hidden;
}

.tcf-offer-visual b {
    display: block;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.12em;
}

.tcf-offer-visual em {
    position: absolute;
    right: 18px;
    bottom: 16px;
    color: var(--tcf-red-deep);
    font-size: var(--tlb-fs-micro);
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.tcf-offer-ui i,
.tcf-offer-rank i,
.tcf-offer-note i,
.tcf-offer-mock i {
    display: block;
    height: 12px;
    margin-top: 15px;
    background: linear-gradient(90deg, rgba(49, 3, 8, 0.44), rgba(49, 3, 8, 0.08));
}

.tcf-offer-ui i:nth-of-type(2),
.tcf-offer-rank i:nth-of-type(2),
.tcf-offer-note i:nth-of-type(2),
.tcf-offer-mock i:nth-of-type(2) {
    width: 82%;
}

.tcf-offer-ui i:nth-of-type(3),
.tcf-offer-rank i:nth-of-type(3),
.tcf-offer-note i:nth-of-type(3),
.tcf-offer-mock i:nth-of-type(3) {
    width: 64%;
}

.tcf-offer-rank i {
    height: 10px;
    margin-top: 12px;
    background: linear-gradient(90deg, var(--tcf-red), rgba(184, 15, 30, 0.08));
}

.tcf-offer-rank i:nth-of-type(1) {
    width: 96%;
}

.tcf-offer-rank i:nth-of-type(2) {
    width: 78%;
}

.tcf-offer-rank i:nth-of-type(3) {
    width: 66%;
}

.tcf-offer-rank i:nth-of-type(4) {
    width: 48%;
}

.tcf-offer-note {
    background:
        linear-gradient(180deg, rgba(184, 15, 30, 0.1), rgba(184, 15, 30, 0) 48%),
        #fffaf4;
}

.tcf-offer-note i {
    height: 1px;
    margin-top: 22px;
    background: rgba(49, 3, 8, 0.26);
}

.tcf-offer-week {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    align-content: start;
}

.tcf-offer-week b {
    grid-column: 1 / -1;
    margin-bottom: 8px;
}

.tcf-offer-week i {
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(49, 3, 8, 0.2);
    color: var(--tcf-red-deep);
    font-size: var(--tlb-fs-micro);
    font-style: normal;
    font-weight: 900;
}

.tcf-offer-week i:nth-of-type(1),
.tcf-offer-week i:nth-of-type(3),
.tcf-offer-week i:nth-of-type(5) {
    background: rgba(184, 15, 30, 0.12);
}

.tcf-offer-mock i {
    width: 100%;
    height: 9px;
    margin-top: 12px;
}

.tcf-mid-cta {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 34px;
    align-items: end;
    margin-top: 72px;
    padding: 38px;
    border: 2px solid var(--tcf-red-deep);
    background:
        linear-gradient(135deg, rgba(184, 15, 30, 0.12), rgba(184, 15, 30, 0) 54%),
        rgba(255, 250, 244, 0.74);
}

.tcf-mid-cta-copy .tcf-label {
    margin-bottom: 18px;
}

.tcf-mid-cta-copy strong {
    display: block;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 34px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcf-mid-cta-copy p:not(.tcf-label) {
    max-width: 560px;
    margin: 20px 0 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-text);
}

.tcf-mid-cta-ledger {
    margin: 0;
    border-top: 1px solid var(--tcf-line);
}

.tcf-mid-cta-ledger div {
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--tcf-line);
}

.tcf-mid-cta-ledger dt,
.tcf-apply-ledger dt {
    margin: 0;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-caption);
    line-height: var(--tlb-lh-title);
    font-weight: 900;
}

.tcf-mid-cta-ledger dd,
.tcf-apply-ledger dd {
    margin: 0;
    color: var(--tcf-red-deep);
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcf-mid-cta-actions {
    grid-column: 1 / -1;
    display: flex;
    gap: 12px;
    margin-top: 4px;
}

.tcf-mid-cta .tcf-button.primary {
    background: var(--tcf-red-deep);
    border-color: var(--tcf-red-deep);
    color: var(--tcf-white);
}

.tcf-mid-cta .tcf-button.secondary {
    border-color: var(--tcf-red-deep);
    color: var(--tcf-red-deep);
}

.tcf-visual-frame {
    position: relative;
    min-height: 520px;
    padding: 34px;
    border: 1px solid var(--tcf-red-deep);
    background:
        linear-gradient(90deg, rgba(49, 3, 8, 0.08) 1px, transparent 1px) 0 0 / 34px 34px,
        #fffaf4;
    box-shadow: 18px 22px 0 rgba(49, 3, 8, 0.08);
    overflow: hidden;
}

.tcf-black .tcf-visual-frame,
.tcf-system .tcf-visual-frame {
    border-color: var(--tcf-line-dark);
    background:
        linear-gradient(90deg, rgba(255, 250, 244, 0.08) 1px, transparent 1px) 0 0 / 34px 34px,
        rgba(255, 250, 244, 0.04);
    box-shadow: 18px 22px 0 rgba(0, 0, 0, 0.2);
}

.tcf-visual-frame figcaption {
    position: absolute;
    left: 28px;
    top: 24px;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-micro);
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tcf-black .tcf-visual-frame figcaption,
.tcf-system .tcf-visual-frame figcaption {
    color: #ff878e;
}

.tcf-production-visual,
.tcf-set-visual {
    isolation: isolate;
}

.tcf-production-board {
    display: grid;
    gap: 18px;
    margin-top: 62px;
}

.tcf-production-board div {
    padding: 28px 28px 26px;
    border: 1px solid var(--tcf-line);
    background: rgba(255, 250, 244, 0.76);
}

.tcf-production-board div:nth-child(2) {
    margin-left: 42px;
}

.tcf-production-board div:nth-child(3) {
    margin-left: 84px;
    background: linear-gradient(135deg, rgba(184, 15, 30, 0.14), rgba(255, 250, 244, 0.78));
}

.tcf-production-board span,
.tcf-set-rule span,
.tcf-note-sheet span,
.tcf-system-points span {
    color: var(--tcf-red);
    font-size: var(--tlb-fs-micro);
    line-height: var(--tlb-lh-none);
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tcf-production-board strong {
    display: block;
    margin-top: 16px;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 29px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcf-production-board p {
    margin: 12px 0 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-body);
}

.tcf-mock-paper {
    position: absolute;
    inset: 72px 34px 34px;
    padding: 28px;
    border: 1px solid var(--tcf-line);
    background: #fffaf4;
    box-shadow: 0 20px 40px rgba(49, 3, 8, 0.12);
}

.tcf-mock-paper-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 2px solid var(--tcf-red-deep);
}

.tcf-mock-paper-head span {
    color: var(--tcf-red);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
    letter-spacing: 0.13em;
}

.tcf-mock-paper-head strong {
    color: var(--tcf-red-deep);
    font-size: 30px;
    line-height: var(--tlb-lh-none);
    font-weight: 700;
}

.tcf-paper-lines {
    margin-top: 24px;
}

.tcf-paper-lines i {
    display: block;
    height: 12px;
    margin-bottom: 11px;
    background: linear-gradient(90deg, rgba(49, 3, 8, 0.18), rgba(49, 3, 8, 0.06));
}

.tcf-paper-lines i:nth-child(2) {
    width: 88%;
}

.tcf-paper-lines i:nth-child(3) {
    width: 72%;
}

.tcf-paper-lines i:nth-child(4) {
    width: 96%;
}

.tcf-paper-lines i:nth-child(5) {
    width: 64%;
}

.tcf-question-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 28px;
}

.tcf-question-grid span {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(49, 3, 8, 0.2);
    color: var(--tcf-red-deep);
    font-size: var(--tlb-fs-caption);
    font-weight: 800;
}

.tcf-set-rule {
    margin-top: 38px;
    border-top: 2px solid var(--tcf-red-deep);
}

.tcf-set-rule div {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 24px;
    padding: 18px 0;
    border-bottom: 1px solid var(--tcf-line);
}

.tcf-set-rule strong {
    color: var(--tcf-red-deep);
    font-size: 22px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-equation {
    display: grid;
    grid-template-columns: 1fr 42px 1fr 42px 1fr;
    margin-top: 64px;
    border: 2px solid var(--tcf-red-deep);
    background: rgba(255, 250, 244, 0.56);
}

.tcf-equation div {
    min-height: 300px;
    padding: 40px 34px;
}

.tcf-equation div:last-child {
    background: linear-gradient(180deg, rgba(184, 15, 30, 0.12), rgba(184, 15, 30, 0.02));
}

.tcf-equation i {
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid var(--tcf-line);
    border-right: 1px solid var(--tcf-line);
    color: var(--tcf-red);
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
}

.tcf-equation span {
    display: block;
    margin-bottom: 18px;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-caption);
    font-weight: 900;
}

.tcf-equation strong {
    display: block;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 31px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-equation p {
    margin: 24px 0 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-read);
}

.tcf-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-top: 64px;
    border: 1px solid var(--tcf-red-deep);
}

.tcf-week div {
    min-height: 246px;
    padding: 28px 18px;
    border-right: 1px solid var(--tcf-line);
    background: rgba(255, 250, 244, 0.54);
}

.tcf-week div:last-child {
    border-right: none;
}

.tcf-week .tcf-solve-day {
    background: linear-gradient(180deg, var(--tcf-red-dark), var(--tcf-red-deep));
    color: var(--tcf-white);
}

.tcf-week .tcf-solve-day span {
    color: #ffb4b8;
}

.tcf-week .tcf-review-day {
    color: var(--tcf-ink);
}

.tcf-week strong {
    display: block;
    min-height: 74px;
    color: inherit;
    font-size: 23px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-week p {
    margin: 22px 0 0;
    color: currentColor;
    opacity: 0.72;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-ui);
}

.tcf-source {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 58px;
    border-top: 1px solid var(--tcf-line-dark);
    border-bottom: 1px solid var(--tcf-line-dark);
}

.tcf-source article {
    padding: 48px 42px 48px 0;
}

.tcf-source article + article {
    padding-left: 42px;
    padding-right: 0;
    border-left: 1px solid var(--tcf-line-dark);
}

.tcf-source h3 {
    margin: 0;
    color: var(--tcf-white);
    font-family: var(--tlb-font-head);
    font-size: 32px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-source p {
    margin: 26px 0 0;
    font-size: var(--tlb-fs-lead);
}

.tcf-source ol {
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255, 250, 244, 0.16);
}

.tcf-source li {
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 250, 244, 0.16);
    font-size: var(--tlb-fs-body);
}

.tcf-source-visual article {
    display: grid;
    grid-template-rows: 230px auto auto 1fr;
    gap: 0;
}

.tcf-mini-visual {
    position: relative;
    margin-bottom: 34px;
    padding: 26px;
    border: 1px solid rgba(255, 250, 244, 0.18);
    background: rgba(255, 250, 244, 0.045);
    overflow: hidden;
}

.tcf-mini-visual span {
    display: block;
    color: #ff858c;
    font-size: var(--tlb-fs-micro);
    font-weight: 900;
    letter-spacing: 0.13em;
}

.tcf-reading-card i {
    display: block;
    height: 16px;
    margin-top: 22px;
    background: linear-gradient(90deg, rgba(255, 250, 244, 0.72), rgba(255, 250, 244, 0.08));
}

.tcf-reading-card i:nth-child(3) {
    width: 76%;
}

.tcf-reading-card i:nth-child(4) {
    width: 54%;
}

.tcf-reasoning-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-content: start;
}

.tcf-reasoning-card span {
    grid-column: 1 / -1;
}

.tcf-reasoning-card b {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 250, 244, 0.18);
    color: var(--tcf-white);
    font-size: var(--tlb-fs-small);
}

.tcf-reasoning-card b:last-child {
    grid-column: 1 / -1;
    background: rgba(184, 15, 30, 0.28);
}

.tcf-review-form {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 60px;
    border: 1px solid var(--tcf-red-deep);
}

.tcf-review-form div {
    min-height: 254px;
    padding: 30px 22px;
    border-right: 1px solid var(--tcf-line);
    background: rgba(255, 250, 244, 0.62);
}

.tcf-review-form div:last-child {
    border-right: none;
    background: rgba(184, 15, 30, 0.08);
}

.tcf-review-form strong {
    display: block;
    color: var(--tcf-red-deep);
    font-size: 25px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcf-review-form p {
    margin: 24px 0 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-compact);
}

.tcf-share {
    margin-top: 34px;
    padding: 34px 38px;
    border-left: 6px solid var(--tcf-red);
    background: #fffaf4;
}

.tcf-share strong {
    display: block;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 27px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-share p {
    margin: 14px 0 0;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-lead);
}

.tcf-note-visual {
    min-height: 560px;
}

.tcf-note-sheet {
    position: absolute;
    inset: 72px 34px 34px;
    border: 1px solid var(--tcf-line);
    background: #fffaf4;
}

.tcf-note-sheet div {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 18px;
    min-height: 96px;
    padding: 24px 26px;
    border-bottom: 1px solid var(--tcf-line);
    align-items: center;
}

.tcf-note-sheet div:last-child {
    border-bottom: none;
    background: rgba(184, 15, 30, 0.08);
}

.tcf-note-sheet strong {
    color: var(--tcf-red-deep);
    font-size: 20px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-system {
    background:
        linear-gradient(135deg, rgba(184, 15, 30, 0.16), transparent 38%),
        #171213;
    color: var(--tcf-white);
}

.tcf-system .tcf-title {
    color: var(--tcf-white);
}

.tcf-system-map {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 62px;
    border: 1px solid var(--tcf-line-dark);
}

.tcf-system-map div {
    min-height: 286px;
    padding: 34px 24px;
    border-right: 1px solid var(--tcf-line-dark);
}

.tcf-system-map div:last-child {
    border-right: none;
}

.tcf-system-map span {
    color: #ff8b91;
}

.tcf-system-map strong {
    display: block;
    color: var(--tcf-white);
    font-size: 25px;
    line-height: var(--tlb-lh-tight);
    font-weight: 700;
}

.tcf-system-map p {
    margin: 24px 0 0;
    color: rgba(255, 250, 244, 0.66);
    font-size: var(--tlb-fs-body);
}

.tcf-dashboard-visual {
    min-height: 520px;
}

.tcf-dashboard-mock {
    position: absolute;
    inset: 72px 34px 34px;
    border: 1px solid rgba(255, 250, 244, 0.18);
    background: rgba(0, 0, 0, 0.26);
    color: var(--tcf-white);
}

.tcf-dashboard-top {
    display: flex;
    justify-content: space-between;
    padding: 24px;
    border-bottom: 1px solid rgba(255, 250, 244, 0.18);
}

.tcf-dashboard-top strong {
    font-size: 22px;
    font-weight: 700;
}

.tcf-dashboard-top span {
    color: #ff9aa0;
    font-weight: 800;
}

.tcf-dashboard-rank {
    padding: 30px 24px;
    border-bottom: 1px solid rgba(255, 250, 244, 0.18);
}

.tcf-dashboard-rank b {
    display: block;
    margin-bottom: 22px;
    color: #ff858c;
    font-size: var(--tlb-fs-micro);
    letter-spacing: 0.14em;
}

.tcf-dashboard-rank i {
    display: block;
    height: 18px;
    margin-top: 14px;
    background: linear-gradient(90deg, rgba(255, 250, 244, 0.66), rgba(255, 250, 244, 0.08));
}

.tcf-dashboard-rank i:nth-child(3) {
    width: 82%;
}

.tcf-dashboard-rank i:nth-child(4) {
    width: 68%;
}

.tcf-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.tcf-dashboard-grid span {
    min-height: 88px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    border-right: 1px solid rgba(255, 250, 244, 0.18);
    border-bottom: 1px solid rgba(255, 250, 244, 0.18);
    color: rgba(255, 250, 244, 0.78);
    font-weight: 700;
}

.tcf-system-points {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 36px;
}

.tcf-system-points span {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 250, 244, 0.2);
    color: var(--tcf-white);
}

.tcf-final-week {
    background:
        radial-gradient(circle at 88% 22%, rgba(184, 15, 30, 0.2), transparent 38%),
        linear-gradient(180deg, #f7efe6 0%, #ebe0d5 100%);
}

.tcf-final-ledger {
    margin: 62px 0 0;
    border-top: 2px solid var(--tcf-red-deep);
}

.tcf-final-ledger div {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 30px;
    padding: 28px 0;
    border-bottom: 1px solid var(--tcf-line);
}

.tcf-final-ledger dt {
    margin: 0;
    color: var(--tcf-red);
    font-size: var(--tlb-fs-small);
    font-weight: 900;
}

.tcf-final-ledger dd {
    margin: 0;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 28px;
    line-height: var(--tlb-lh-title);
    font-weight: 700;
}

.tcf-checks {
    margin-top: 54px;
    border-top: 2px solid var(--tcf-red-deep);
}

.tcf-checks p {
    position: relative;
    margin: 0;
    padding: 26px 0 26px 56px;
    border-bottom: 1px solid var(--tcf-line);
    color: var(--tcf-ink);
    font-size: 22px;
    line-height: var(--tlb-lh-ui);
    font-weight: 700;
}

.tcf-checks p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 34px;
    width: 30px;
    height: 2px;
    background: var(--tcf-red);
}

.tcf-checks-dark {
    border-top-color: rgba(255, 250, 244, 0.28);
}

.tcf-checks-dark p {
    border-bottom-color: rgba(255, 250, 244, 0.18);
    color: var(--tcf-white);
}

.tcf-proof-notes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 58px;
}

.tcf-proof-notes article {
    min-height: 280px;
    padding: 34px 30px;
    border: 1px solid var(--tcf-line);
    background:
        linear-gradient(180deg, rgba(184, 15, 30, 0.08), rgba(184, 15, 30, 0) 48%),
        #fffaf4;
    box-shadow: 12px 14px 0 rgba(49, 3, 8, 0.07);
}

.tcf-proof-notes strong {
    display: block;
    margin-top: 28px;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 27px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcf-faq-section {
    background: #fffaf4;
}

.tcf-faq {
    margin-top: 50px;
    border-top: 2px solid var(--tcf-red-deep);
}

.tcf-faq details {
    border-bottom: 1px solid var(--tcf-line);
}

.tcf-faq summary {
    cursor: pointer;
    list-style: none;
    padding: 30px 0;
    color: var(--tcf-red-deep);
    font-family: var(--tlb-font-head);
    font-size: 24px;
    line-height: var(--tlb-lh-head);
    font-weight: 700;
}

.tcf-faq summary::-webkit-details-marker {
    display: none;
}

.tcf-faq p {
    max-width: 780px;
    margin: -8px 0 30px;
    color: var(--tcf-muted);
    font-size: var(--tlb-fs-lead);
}

.tcf-apply {
    padding: 120px 0 150px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 124, 130, 0.22), transparent 42%),
        linear-gradient(145deg, #200306 0%, #6d0711 48%, #130405 100%);
    color: var(--tcf-white);
    text-align: center;
}

.tcf-apply .tcf-label {
    color: #ffb0b5;
}

.tcf-apply p {
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 250, 244, 0.76);
}

.tcf-apply-ledger {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 48px auto 0;
    max-width: 900px;
    border-top: 1px solid rgba(255, 250, 244, 0.24);
    border-bottom: 1px solid rgba(255, 250, 244, 0.24);
    text-align: left;
}

.tcf-apply-ledger div {
    min-height: 116px;
    padding: 24px 20px;
    border-right: 1px solid rgba(255, 250, 244, 0.18);
}

.tcf-apply-ledger div:last-child {
    border-right: none;
}

.tcf-apply-ledger dt {
    color: #ffb3b8;
}

.tcf-apply-ledger dd {
    color: var(--tcf-white);
    font-size: 19px;
}

.tcf-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 44px;
}

.tcf-button,
.tcf-sticky a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 30px;
    border: 1px solid rgba(255, 250, 244, 0.55);
    color: var(--tcf-white);
    text-decoration: none;
    font-size: var(--tlb-fs-body);
    font-weight: 700;
}

.tcf-button.primary {
    background: var(--tcf-white);
    border-color: var(--tcf-white);
    color: var(--tcf-red-deep);
}

.tcf-button.secondary {
    background: transparent;
}

.tcf-apply small {
    display: block;
    margin-top: 26px;
    color: rgba(255, 250, 244, 0.56);
    font-size: var(--tlb-fs-caption);
}

.tcf-sticky {
    position: fixed;
    left: 50%;
    bottom: 18px;
    z-index: 40;
    width: min(100% - 36px, 900px);
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 16px 14px 22px;
    background: rgba(18, 5, 6, 0.94);
    border: 1px solid rgba(255, 250, 244, 0.18);
    color: var(--tcf-white);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.tcf-sticky strong,
.tcf-sticky span {
    display: block;
}

.tcf-sticky strong {
    font-size: var(--tlb-fs-small);
    font-weight: 700;
}

.tcf-sticky span {
    margin-top: 2px;
    color: rgba(255, 250, 244, 0.62);
    font-size: var(--tlb-fs-caption);
}

.tcf-sticky a {
    min-height: 44px;
    padding: 0 20px;
    background: var(--tcf-red);
    border-color: var(--tcf-red);
    white-space: nowrap;
}

.tcf-page h1,
.tcf-page h2,
.tcf-page h3,
.tcf-page h4,
.tcf-page summary {
    font-weight: 700 !important;
}

@media (max-width: 900px) {
    .tcf-inner {
        width: min(100% - 44px, 900px);
    }

    .tcf-section {
        padding: 92px 0;
    }

    .tcf-hero {
        min-height: auto;
    }

    .tcf-hero::before {
        inset: 20px;
    }

    .tcf-hero-ledger,
    .tcf-apply-ledger,
    .tcf-skim-grid,
    .tcf-focus-grid,
    .tcf-contrast,
    .tcf-source,
    .tcf-pain-grid,
    .tcf-strategy-board,
    .tcf-shift-panel,
    .tcf-system-map {
        grid-template-columns: 1fr 1fr;
    }

    .tcf-mid-cta {
        grid-template-columns: 1fr;
    }

    .tcf-proof-strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .tcf-proof-strip span {
        grid-column: 1 / -1;
    }

    .tcf-offer-stack article {
        grid-template-columns: 72px 1fr;
        align-items: start;
    }

    .tcf-offer-visual {
        grid-column: 2;
        width: min(100%, 340px);
        margin-top: 6px;
    }

    .tcf-offer-copy p {
        grid-column: 2;
    }

    .tcf-pain-grid article,
    .tcf-strategy-board article,
    .tcf-shift-panel article {
        min-height: auto;
    }

    .tcf-split,
    .tcf-split-reverse {
        grid-template-columns: 1fr;
    }

    .tcf-hero-ledger div:nth-child(2),
    .tcf-apply-ledger div:nth-child(2),
    .tcf-system-map div:nth-child(2) {
        border-right: none;
    }

    .tcf-hero-ledger div:nth-child(n + 3),
    .tcf-apply-ledger div:nth-child(n + 3),
    .tcf-system-map div:nth-child(n + 3) {
        border-top: 1px solid rgba(255, 250, 244, 0.18);
    }

    .tcf-dossier-row {
        grid-template-columns: 70px 1fr;
    }

    .tcf-dossier-row p {
        grid-column: 2;
    }

    .tcf-equation {
        grid-template-columns: 1fr;
    }

    .tcf-equation i {
        min-height: 42px;
        border-left: none;
        border-right: none;
        border-top: 1px solid var(--tcf-line);
        border-bottom: 1px solid var(--tcf-line);
    }

    .tcf-week,
    .tcf-review-form {
        grid-template-columns: 1fr 1fr;
    }

    .tcf-flow-list li {
        grid-template-columns: 130px 1fr;
    }

    .tcf-week div,
    .tcf-skim-grid div,
    .tcf-focus-grid article,
    .tcf-review-form div {
        border-right: 1px solid var(--tcf-line);
        border-bottom: 1px solid var(--tcf-line);
    }

    .tcf-source article,
    .tcf-source article + article {
        padding: 38px 0;
        border-left: none;
    }

    .tcf-source article + article {
        border-top: 1px solid var(--tcf-line-dark);
    }

    .tcf-source-visual article {
        grid-template-rows: auto;
    }
}

@media (max-width: 560px) {
    .tcf-inner {
        width: min(100% - 30px, 900px);
    }

    .tcf-section {
        padding: 76px 0;
    }

    .tcf-title,
    .tcf-hero-copy h2,
    .tcf-apply h2 {
        font-size: 34px;
    }

    .tcf-lead,
    .tcf-hero-copy p,
    .tcf-apply p {
        font-size: var(--tlb-fs-read);
    }

    .tcf-hero-inner {
        padding: 64px 0 50px;
    }

    .tcf-hero-brand {
        min-height: 248px;
    }

    .tcf-logo-tlb {
        width: min(200px, 68vw);
    }

    .tcf-logo-camp {
        width: min(300px, 86vw);
    }

    .tcf-hero-brand p {
        font-size: var(--tlb-fs-lead);
    }

    .tcf-hero-copy h2 {
        font-size: 30px;
    }

    .tcf-hero-copy p:not(.tcf-label) {
        font-size: var(--tlb-fs-body);
    }

    .tcf-hero-ledger,
    .tcf-apply-ledger,
    .tcf-skim-grid,
    .tcf-focus-grid,
    .tcf-contrast,
    .tcf-source,
    .tcf-pain-grid,
    .tcf-strategy-board,
    .tcf-proof-strip,
    .tcf-proof-notes,
    .tcf-shift-panel,
    .tcf-week,
    .tcf-review-form,
    .tcf-system-map {
        grid-template-columns: 1fr;
    }

    .tcf-hero-actions {
        flex-direction: column;
    }

    .tcf-hero-actions .tcf-button {
        width: 100%;
    }

    .tcf-skim-grid {
        border-left: none;
    }

    .tcf-skim-grid div {
        min-height: auto;
        padding: 26px 0;
        border-right: none;
        border-bottom: 1px solid rgba(255, 250, 244, 0.18);
    }

    .tcf-focus-grid article {
        min-height: auto;
        padding: 30px 0;
        border-right: none;
    }

    .tcf-visual-frame {
        min-height: 440px;
        padding: 24px;
        box-shadow: 10px 12px 0 rgba(49, 3, 8, 0.08);
    }

    .tcf-production-board div:nth-child(2),
    .tcf-production-board div:nth-child(3) {
        margin-left: 0;
    }

    .tcf-flow-list li,
    .tcf-offer-stack article,
    .tcf-set-rule div,
    .tcf-note-sheet div {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .tcf-offer-copy p,
    .tcf-offer-visual {
        grid-column: auto;
    }

    .tcf-offer-visual {
        width: 100%;
        min-height: 148px;
        margin-top: 20px;
    }

    .tcf-mid-cta {
        margin-top: 52px;
        padding: 28px 24px;
    }

    .tcf-mid-cta-copy strong {
        font-size: 27px;
    }

    .tcf-mid-cta-actions {
        flex-direction: column;
    }

    .tcf-proof-strip span,
    .tcf-proof-strip b {
        justify-content: flex-start;
        border-right: none;
        border-bottom: 1px solid var(--tcf-line-dark);
    }

    .tcf-story-panel {
        padding: 32px 24px;
    }

    .tcf-anxiety-list p {
        padding-left: 28px;
        font-size: 20px;
    }

    .tcf-turning-point {
        font-size: 24px;
    }

    .tcf-shift-panel article {
        padding: 34px 26px;
    }

    .tcf-shift-panel article + article {
        border-left: none;
        border-top: 1px solid var(--tcf-line);
    }

    .tcf-shift-panel strong {
        font-size: 26px;
    }

    .tcf-mock-paper,
    .tcf-note-sheet,
    .tcf-dashboard-mock {
        inset: 62px 22px 22px;
    }

    .tcf-question-grid {
        grid-template-columns: 1fr 1fr;
    }

    .tcf-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .tcf-system-points {
        grid-template-columns: 1fr;
    }

    .tcf-hero-ledger div,
    .tcf-apply-ledger div,
    .tcf-contrast div,
    .tcf-pain-grid article,
    .tcf-strategy-board article,
    .tcf-source article,
    .tcf-week div,
    .tcf-focus-grid article,
    .tcf-review-form div,
    .tcf-system-map div {
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid var(--tcf-line);
    }

    .tcf-apply-ledger div {
        border-bottom-color: rgba(255, 250, 244, 0.18);
    }

    .tcf-hero-ledger,
    .tcf-apply-ledger {
        grid-template-columns: 1fr 1fr;
    }

    .tcf-hero-ledger div,
    .tcf-apply-ledger div {
        padding: 16px 12px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 250, 244, 0.18);
    }

    .tcf-hero-ledger div:nth-child(odd),
    .tcf-apply-ledger div:nth-child(odd) {
        border-right: 1px solid rgba(255, 250, 244, 0.18);
    }

    .tcf-hero-ledger dt,
    .tcf-apply-ledger dt {
        font-size: var(--tlb-fs-micro);
    }

    .tcf-hero-ledger dd,
    .tcf-apply-ledger dd {
        font-size: var(--tlb-fs-meta);
        line-height: var(--tlb-lh-head);
    }

    .tcf-contrast div + div {
        border-left: none;
        border-top: 1px solid var(--tcf-line-dark);
    }

    .tcf-strategy-board article:nth-child(odd) {
        border-right: none;
    }

    .tcf-dossier-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .tcf-dossier-row p {
        grid-column: auto;
    }

    .tcf-equation div {
        min-height: auto;
        padding: 32px 24px;
    }

    .tcf-final-ledger div {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tcf-final-ledger dd {
        font-size: 23px;
    }

    .tcf-checks p {
        padding-left: 42px;
        font-size: var(--tlb-fs-lead);
    }

    .tcf-actions {
        flex-direction: column;
    }

    .tcf-button {
        width: 100%;
    }

    .tcf-sticky {
        display: none;
    }
}


/* ===== tlb-hp: 홈페이지 2026-09 (website/_temp/homepage-2026-09-09) =====
   규칙: 980 컬럼, W1 720 / W2 860 / W3 932, 헤딩 SUITE 700 이하, 본문 SUIT,
   한글 자간 0, 라운드 6px 이하, 그림자는 사진에만, 모션은 단일 rise.
   토큰: tlb-core.css 변수 + 아래 hp 전용 토큰(상품 색은 catalog core_color).
*/
.tlb-hp {
    --hp-ink: #1f2124;
    --hp-body: #3a4046;
    --hp-mute: #7b848d;
    --hp-line: #e2e4e8;
    --hp-paper: #f6f4ef;
    --hp-white: #ffffff;
    --hp-dark: #121214;
    --hp-dark-ink: #f4f4f2;
    --hp-dark-body: #c9c9c4;
    --hp-brand: #962de3;
    --hp-principle: #4a86e8;
    --hp-practice: #e85d3a;
    --hp-final: #c62828;
    --hp-background: #2e7d32;
    --hp-basic: #289b6e;
    --hp-jaso: #746039;
    --hp-myeonjeop: #55473f;
    --hp-head: 'SUITE', var(--tlb-font-family, sans-serif);
    --hp-text: 'SUIT', var(--tlb-font-family, sans-serif);
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--hp-body);
    font-family: var(--hp-text);
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
}
.tlb-hp *,
.tlb-hp *::before,
.tlb-hp *::after { box-sizing: border-box; }
.tlb-hp img { display: block; max-width: 100%; height: auto; }
.tlb-hp a { color: inherit; text-decoration: none; }

/* 폭 */
.tlb-hp-w1 { width: min(100%, 720px); margin-left: auto; margin-right: auto; }
.tlb-hp-w2 { width: min(100%, 860px); margin-left: auto; margin-right: auto; }
.tlb-hp-w3 { width: min(100%, 932px); margin-left: auto; margin-right: auto; }

/* 섹션 셸: 아임웹 섹션 안쪽(980)에 들어가므로 좌우 여백은 24px */
.tlb-hp-section { padding: 88px 24px; }
.tlb-hp-section--tight { padding: 64px 24px; }
.tlb-hp-section--paper { background: var(--hp-paper); }
.tlb-hp-section--dark { background: var(--hp-dark); color: var(--hp-dark-body); }
.tlb-hp-section--dark .tlb-hp-h1,
.tlb-hp-section--dark .tlb-hp-h2,
.tlb-hp-section--dark .tlb-hp-h3 { color: var(--hp-dark-ink); }

/* 타이포 */
.tlb-hp-kicker { display: block; margin: 0 0 14px; font-family: var(--hp-text); font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-head); font-weight: 700; color: var(--hp-brand); }
.tlb-hp-h1 { margin: 0; font-family: var(--hp-head); font-size: 44px; line-height: var(--tlb-lh-tight); font-weight: 700; color: var(--hp-ink); word-break: keep-all; }
.tlb-hp-h2 { margin: 0; font-family: var(--hp-head); font-size: 32px; line-height: var(--tlb-lh-title); font-weight: 700; color: var(--hp-ink); word-break: keep-all; }
.tlb-hp-h3 { margin: 0; font-family: var(--hp-head); font-size: 22px; line-height: var(--tlb-lh-title); font-weight: 700; color: var(--hp-ink); word-break: keep-all; }
.tlb-hp-lead { margin: 20px 0 0; font-size: var(--tlb-fs-lead); line-height: var(--tlb-lh-text); color: var(--hp-body); word-break: keep-all; }
.tlb-hp-p { margin: 14px 0 0; font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-text); color: var(--hp-body); word-break: keep-all; }
.tlb-hp-cap { margin: 10px 0 0; font-size: var(--tlb-fs-caption); line-height: var(--tlb-lh-compact); color: var(--hp-mute); }
.tlb-hp-em { color: var(--hp-brand); }

/* 버튼: 필 금지, 라운드 4px, SUIT */
.tlb-hp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 1px solid var(--hp-ink); border-radius: 4px; font-family: var(--hp-text); font-size: var(--tlb-fs-body); font-weight: 700; line-height: var(--tlb-lh-none); color: var(--hp-ink); background: var(--hp-white); transition: background var(--tlb-transition-base), color var(--tlb-transition-base); }
.tlb-hp-btn--solid { background: var(--hp-ink); color: var(--hp-white); }
.tlb-hp-btn--brand { background: var(--hp-brand); border-color: var(--hp-brand); color: var(--hp-white); }
.tlb-hp-btn:hover, .tlb-hp-btn:focus-visible { background: var(--hp-ink); color: var(--hp-white); }
.tlb-hp-btn--brand:hover, .tlb-hp-btn--brand:focus-visible { background: #7823b5; border-color: #7823b5; }
.tlb-hp-section--dark .tlb-hp-btn { border-color: var(--hp-dark-ink); color: var(--hp-dark-ink); background: transparent; }
.tlb-hp-section--dark .tlb-hp-btn--solid { background: var(--hp-dark-ink); color: var(--hp-dark); }
.tlb-hp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

/* 리빌: tlb-common.js 의 .tlb_tc_scroll_reveal → .visible 을 그대로 사용 */
.tlb-hp .tlb_tc_scroll_reveal { opacity: 0; transform: translateY(18px); transition: opacity .45s ease, transform .45s ease; }
.tlb-hp .tlb_tc_scroll_reveal.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .tlb-hp .tlb_tc_scroll_reveal { opacity: 1; transform: none; transition: none; } }

/* 모바일 */
@media (max-width: 768px) {
    .tlb-hp-section { padding: 56px 20px; }
    .tlb-hp-section--tight { padding: 44px 20px; }
    .tlb-hp-h1 { font-size: 30px; }
    .tlb-hp-h2 { font-size: 25px; }
    .tlb-hp-h3 { font-size: 19px; }
    .tlb-hp-lead { font-size: var(--tlb-fs-body); }
    .tlb-hp-p { font-size: var(--tlb-fs-small); }
    .tlb-hp-btn { width: 100%; }
}

/* ---------- 공통 보조 ---------- */
.tlb-hp-center { text-align: center; }
.tlb-hp-eng { display: inline-block; margin-left: 8px; font-family: var(--hp-text); font-size: var(--tlb-fs-caption); font-weight: 500; color: var(--hp-mute); vertical-align: middle; }
.tlb-hp-vrule { width: 1px; background: var(--hp-line); }
.tlb-hp-section--dark .tlb-hp-vrule { background: rgba(255,255,255,.14); }
.tlb-hp-section--dark .tlb-hp-p, .tlb-hp-section--dark .tlb-hp-lead { color: var(--hp-dark-body); }
.tlb-hp-section--dark .tlb-hp-cap { color: rgba(244,244,242,.55); }
.tlb-hp-section--dark .tlb-hp-kicker { color: #c58cf5; }

/* ---------- 히어로 ---------- */
.tlb-hp-hero { padding-top: 72px; padding-bottom: 72px; }
.tlb-hp-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; align-items: center; }
.tlb-hp-hero-copy .tlb-hp-h1 { font-size: 46px; }
.tlb-hp-hero-copy .tlb-hp-lead { max-width: 520px; }
.tlb-hp-hero-books { position: relative; height: 360px; }
.tlb-hp-hero-book { position: absolute; width: 250px; border-radius: 4px; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.tlb-hp-hero-book--back { right: 0; top: 0; }
.tlb-hp-hero-book--front { left: 0; bottom: 0; }

/* ---------- 2열 분기 ---------- */
.tlb-hp-split { display: grid; grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr); gap: 0 48px; margin-top: 40px; }
.tlb-hp-split-col { min-width: 0; }
.tlb-hp-split-col .tlb-hp-h3 { margin-top: 4px; }
.tlb-hp-split--books .tlb-hp-book-sm { width: 120px; margin-bottom: 20px; border-radius: 3px; box-shadow: 0 10px 24px rgba(0,0,0,.14); }

/* ---------- 진단 ---------- */
.tlb-hp-checks { list-style: none; margin: 32px 0 0; padding: 0; counter-reset: hpcheck; border-top: 1px solid var(--hp-line); }
.tlb-hp-checks li { position: relative; padding: 16px 0 16px 44px; border-bottom: 1px solid var(--hp-line); font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-compact); color: var(--hp-ink); counter-increment: hpcheck; word-break: keep-all; }
.tlb-hp-checks li::before { content: counter(hpcheck); position: absolute; left: 0; top: 17px; font-family: var(--hp-head); font-size: 16px; font-weight: 700; color: var(--hp-brand); }
.tlb-hp-diagnosis .tlb-hp-p { margin-top: 28px; }
.tlb-hp-quoteband { margin-top: 56px; padding: 40px 0; border-top: 1px solid var(--hp-ink); border-bottom: 1px solid var(--hp-ink); text-align: center; }
.tlb-hp-quoteband-text { margin: 0; font-family: var(--hp-head); font-size: 34px; line-height: var(--tlb-lh-title); font-weight: 700; color: var(--hp-ink); word-break: keep-all; }

/* ---------- 증거 ---------- */
.tlb-hp-counts { display: flex; margin-top: 44px; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.tlb-hp-count { flex: 1 1 0; padding: 28px 20px; }
.tlb-hp-count + .tlb-hp-count { border-left: 1px solid rgba(255,255,255,.18); }
.tlb-hp-count-num { display: block; font-family: var(--hp-head); font-size: 44px; line-height: var(--tlb-lh-none); font-weight: 700; color: var(--hp-dark-ink); }
.tlb-hp-count-label { display: block; margin-top: 10px; font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-ui); color: var(--hp-dark-body); }
.tlb-hp-evidence-sub { margin-top: 56px; }
.tlb-hp-steps { display: flex; gap: 0; list-style: none; margin: 24px 0 0; padding: 0; }
.tlb-hp-steps li { flex: 1 1 0; padding: 20px 20px 20px 0; border-top: 1px solid rgba(255,255,255,.18); }
.tlb-hp-steps li + li { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.18); }
.tlb-hp-step-num { display: block; font-family: var(--hp-head); font-size: var(--tlb-fs-meta); font-weight: 700; color: #c58cf5; }
.tlb-hp-step-title { display: block; margin-top: 8px; font-family: var(--hp-head); font-size: var(--tlb-fs-lead); font-weight: 700; color: var(--hp-dark-ink); }
.tlb-hp-step-desc { display: block; margin-top: 8px; font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-compact); color: var(--hp-dark-body); word-break: keep-all; }
.tlb-hp-pages { display: flex; gap: 16px; margin-top: 40px; }
.tlb-hp-page { flex: 1 1 0; margin: 0; }
.tlb-hp-page img { width: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 2px; box-shadow: 0 12px 30px rgba(0,0,0,.4); }
.tlb-hp-page figcaption { margin-top: 10px; font-size: var(--tlb-fs-caption); line-height: var(--tlb-lh-ui); color: var(--hp-dark-body); }
.tlb-hp-evidence .tlb-hp-cap { margin-top: 20px; }

/* ---------- 학습 순서 ---------- */
.tlb-hp-path { list-style: none; margin: 36px 0 0; padding: 0; border-top: 1px solid var(--hp-ink); }
.tlb-hp-path-row { display: grid; grid-template-columns: 88px 72px minmax(0,1fr) 72px; gap: 0 24px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--hp-line); }
.tlb-hp-path-step { font-family: var(--hp-head); font-size: var(--tlb-fs-small); font-weight: 700; color: var(--hp-brand); }
.tlb-hp-path-thumb { display: block; width: 72px; }
.tlb-hp-path-thumb img { width: 72px; height: 72px; object-fit: cover; border-radius: 3px; box-shadow: 0 6px 14px rgba(0,0,0,.14); }
.tlb-hp-path-thumb--empty { height: 72px; border: 1px dashed var(--hp-line); border-radius: 3px; }
.tlb-hp-path-body .tlb-hp-h3 { font-size: 20px; }
.tlb-hp-path-body .tlb-hp-p { margin-top: 6px; font-size: var(--tlb-fs-small); }
.tlb-hp-path-link { justify-self: end; font-size: var(--tlb-fs-small); font-weight: 700; color: var(--hp-ink); border-bottom: 1px solid var(--hp-ink); padding-bottom: 2px; }
.tlb-hp-path-link--off { color: var(--hp-mute); border-bottom-color: transparent; }
.tlb-hp-path-row--muted .tlb-hp-h3, .tlb-hp-path-row--muted .tlb-hp-path-step { color: var(--hp-mute); }

/* ---------- 후기 ---------- */
.tlb-hp-quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; margin-top: 36px; border-top: 1px solid var(--hp-ink); }
.tlb-hp-quote { margin: 0; padding: 24px 0; border-bottom: 1px solid var(--hp-line); }
.tlb-hp-quote p { margin: 0; font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-text); color: var(--hp-ink); word-break: keep-all; }
.tlb-hp-quote cite { display: block; margin-top: 10px; font-size: var(--tlb-fs-caption); font-style: normal; color: var(--hp-mute); }
.tlb-hp-proof-statement { margin-top: 40px; font-family: var(--hp-head); font-weight: 700; color: var(--hp-ink); }

/* ---------- 만든 사람 ---------- */
.tlb-hp-author-grid { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 48px; align-items: start; }
.tlb-hp-author-figure { margin: 0; }
.tlb-hp-author-figure img { width: 100%; border-radius: 3px; box-shadow: 0 14px 34px rgba(0,0,0,.45); }
.tlb-hp-author-figure figcaption { margin-top: 10px; font-size: var(--tlb-fs-caption); color: var(--hp-dark-body); }
.tlb-hp-author-quote { margin: 28px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(255,255,255,.18); }
.tlb-hp-author-quote p { margin: 0; font-size: var(--tlb-fs-small); line-height: var(--tlb-lh-body); color: var(--hp-dark-body); word-break: keep-all; }
.tlb-hp-author-quote cite { display: block; margin-top: 10px; font-size: var(--tlb-fs-caption); font-style: normal; color: rgba(244,244,242,.55); }

/* ---------- 시즌 ---------- */
.tlb-hp-season-list { list-style: none; margin: 36px 0 0; padding: 0; border-top: 1px solid var(--hp-ink); }
.tlb-hp-season-row { display: grid; grid-template-columns: 200px minmax(0,1fr) 72px; gap: 0 32px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--hp-line); }
.tlb-hp-season-when { font-family: var(--hp-head); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-head); font-weight: 700; color: var(--hp-ink); }
.tlb-hp-season-badge { display: block; margin: 0 0 4px; font-family: var(--hp-head); font-size: var(--tlb-fs-caption); line-height: var(--tlb-lh-head); font-weight: 700; color: var(--hp-brand); }
.tlb-hp-season-body .tlb-hp-h3 { font-size: 20px; }
.tlb-hp-season-body .tlb-hp-p { margin-top: 6px; font-size: var(--tlb-fs-small); }

/* ---------- FAQ ---------- */
.tlb-hp-faq-list { list-style: none; margin: 28px 0 0; padding: 0; border-top: 1px solid var(--hp-ink); }
.tlb-hp-faq-list li { border-bottom: 1px solid var(--hp-line); }
.tlb-hp-faq-list a { display: block; padding: 16px 0; font-size: var(--tlb-fs-read); line-height: var(--tlb-lh-ui); color: var(--hp-ink); word-break: keep-all; }
.tlb-hp-faq-list a:hover { color: var(--hp-brand); }

/* ---------- 고객센터 ---------- */
.tlb-hp-support-links { display: flex; flex-wrap: wrap; gap: 8px 32px; list-style: none; margin: 0; padding: 0 0 16px; border-bottom: 1px solid var(--hp-line); }
.tlb-hp-support-links a { font-size: var(--tlb-fs-small); font-weight: 700; color: var(--hp-ink); }

/* ---------- 모바일 ---------- */
@media (max-width: 768px) {
    .tlb-hp-hero { padding-top: 40px; padding-bottom: 48px; }
    .tlb-hp-hero-grid { grid-template-columns: 1fr; gap: 28px; }
    .tlb-hp-hero-copy .tlb-hp-h1 { font-size: 30px; }
    .tlb-hp-hero-books { height: 250px; }
    .tlb-hp-hero-book { width: 170px; }
    .tlb-hp-split { grid-template-columns: 1fr; gap: 36px 0; }
    .tlb-hp-vrule { display: none; }
    .tlb-hp-checks li { font-size: var(--tlb-fs-small); padding-left: 36px; }
    .tlb-hp-quoteband-text { font-size: 24px; }
    .tlb-hp-counts { flex-direction: column; }
    .tlb-hp-count + .tlb-hp-count { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
    .tlb-hp-count { padding: 20px 0; }
    .tlb-hp-count-num { font-size: 36px; }
    .tlb-hp-steps { flex-direction: column; }
    .tlb-hp-steps li + li { padding-left: 0; border-left: 0; }
    .tlb-hp-pages { flex-direction: column; }
    .tlb-hp-path-row { grid-template-columns: 56px minmax(0,1fr); gap: 10px 16px; }
    .tlb-hp-path-step { grid-column: 1 / -1; }
    .tlb-hp-path-link { grid-column: 2; justify-self: start; }
    .tlb-hp-quotes { grid-template-columns: 1fr; }
    .tlb-hp-author-grid { grid-template-columns: 1fr; gap: 28px; }
    .tlb-hp-author-figure { max-width: 320px; }
    .tlb-hp .tlb-hp-season-row { grid-template-columns: minmax(0,1fr); gap: 8px 0; }
    .tlb-hp .tlb-hp-season-row .tlb-hp-path-link { justify-self: start; grid-column: auto; }
}

/* ---------- v2 추가 ---------- */
.tlb-hp-textlink { display: inline-flex; align-items: center; min-height: 52px; padding: 0 4px; font-family: var(--hp-text); font-size: var(--tlb-fs-body); font-weight: 700; color: var(--hp-ink); border-bottom: 1px solid var(--hp-ink); }
.tlb-hp-textlink:hover, .tlb-hp-textlink:focus-visible { color: var(--hp-brand); border-bottom-color: var(--hp-brand); }
.tlb-hp-hero .tlb-hp-hero-copy { max-width: 720px; }
.tlb-hp-hero .tlb-hp-h1 { font-size: 52px; }
.tlb-hp-shelf { display: flex; gap: 20px; list-style: none; margin: 56px 0 0; padding: 0; counter-reset: shelf; }
.tlb-hp-shelf li { flex: 1 1 0; min-width: 0; counter-increment: shelf; }
.tlb-hp-shelf a { display: block; }
.tlb-hp-shelf img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 3px; box-shadow: 0 12px 28px rgba(0,0,0,.14); }
.tlb-hp-shelf span { display: block; margin-top: 12px; font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-head); font-weight: 700; color: var(--hp-ink); }
.tlb-hp-shelf span strong { font-family: var(--hp-head); font-weight: 700; color: var(--hp-brand); }
.tlb-hp-shelf span::before { content: counter(shelf) ". "; color: var(--hp-brand); }
.tlb-hp-tracks3 { display: flex; list-style: none; margin: 40px 0 0; padding: 0; border-top: 1px solid var(--hp-ink); }
.tlb-hp-track { flex: 1 1 0; min-width: 0; padding: 28px 28px 8px 0; }
.tlb-hp-track + .tlb-hp-track { padding-left: 28px; border-left: 1px solid var(--hp-line); }
.tlb-hp-track .tlb-hp-h3 { margin-top: 4px; font-size: 21px; }
.tlb-hp-track .tlb-hp-p { font-size: var(--tlb-fs-small); }
.tlb-hp-track .tlb-hp-textlink { margin-top: 14px; min-height: 40px; }
.tlb-hp-page--main { margin: 40px 0 0; }
.tlb-hp-page--main img { width: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 2px; box-shadow: 0 12px 30px rgba(0,0,0,.4); }
.tlb-hp-page--main figcaption { margin-top: 10px; font-size: var(--tlb-fs-caption); line-height: var(--tlb-lh-ui); color: var(--hp-dark-body); }
.tlb-hp-pages { margin-top: 24px; }
.tlb-hp-path-row { grid-template-columns: 88px 72px minmax(0,1fr) 140px 56px; }
.tlb-hp-path-price { font-family: var(--hp-head); font-size: var(--tlb-fs-small); font-weight: 700; color: var(--hp-ink); text-align: right; }
.tlb-hp-path-row--muted .tlb-hp-path-price { color: var(--hp-mute); font-weight: 500; }
.tlb-hp-path-section .tlb-hp-cap { margin-top: 14px; }
.tlb-hp-fit { display: grid; grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr); gap: 0 40px; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--hp-ink); }
.tlb-hp-fit-col .tlb-hp-h3 { font-size: 19px; }
.tlb-hp-fit-col .tlb-hp-p { font-size: var(--tlb-fs-small); margin-top: 10px; }
.tlb-hp-proof .tlb-hp-cap { margin-top: 16px; }
.tlb-hp-quote cite span { display: inline; }
.tlb-hp-quote cite span + span::before { content: " "; }
.tlb-hp-quote cite span:last-child { color: var(--hp-mute); }
.tlb-hp-quote cite span:last-child::before { content: " "; }
@media (max-width: 768px) {
    .tlb-hp-hero .tlb-hp-h1 { font-size: 34px; }
    .tlb-hp-shelf { gap: 12px; margin-top: 36px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
    .tlb-hp-shelf li { flex: 0 0 132px; }
    .tlb-hp-shelf span { font-size: var(--tlb-fs-caption); }
    .tlb-hp-tracks3 { flex-direction: column; }
    .tlb-hp-track { padding: 24px 0 12px; }
    .tlb-hp-track + .tlb-hp-track { padding-left: 0; border-left: 0; border-top: 1px solid var(--hp-line); }
    .tlb-hp-path-row { grid-template-columns: 56px minmax(0,1fr); }
    .tlb-hp-path-price { grid-column: 2; text-align: left; }
    .tlb-hp-fit { grid-template-columns: 1fr; gap: 24px 0; }
    .tlb-hp-textlink { width: auto; }
}

/* Magazine index: preserve the approved 1200×630 headline instead of cropping it to Imweb's 4:3 card. */
#post_card_b2024030540e23b039f37e .card-thumbnail-wrap > .card-head {
    height: auto !important;
    aspect-ratio: 40 / 21;
}

/* Magazine typography bridge: legacy posts retain layout/decorations; shared type lives here. */
.blog-content {
    --tlb-magazine-body-size: var(--tlb-editorial-body-size);
    --tlb-magazine-h2-size: var(--tlb-editorial-h2-size);
    --tlb-magazine-h3-size: var(--tlb-editorial-h3-size);
}
.blog-content:not(.tlb-magazine-article) p,
.blog-content:not(.tlb-magazine-article) li {
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-magazine-body-size);
    line-height: var(--tlb-lh-text);
    font-kerning: normal;
    letter-spacing: normal;
    text-align: var(--tlb-prose-align);
    text-justify: none;
    text-align-last: left;
    overflow-wrap: break-word;
}
.blog-content:not(.tlb-magazine-article) h2,
.blog-content:not(.tlb-magazine-article) h3 {
    font-family: var(--tlb-font-head);
}
.blog-content:not(.tlb-magazine-article) h2 { font-size: var(--tlb-magazine-h2-size); }
.blog-content:not(.tlb-magazine-article) h3 { font-size: var(--tlb-magazine-h3-size); }
.blog-content strong,
.blog-content b {
    font-family: inherit;
    font-weight: 700;
    color: inherit;
}
@media (max-width: 767px) {
    .blog-content {
        --tlb-magazine-body-size: var(--tlb-editorial-body-size);
        --tlb-magazine-h2-size: var(--tlb-editorial-h2-size);
        --tlb-magazine-h3-size: var(--tlb-editorial-h3-size);
    }
    .blog-content:not(.tlb-magazine-article) p,
    .blog-content:not(.tlb-magazine-article) li { font-size: var(--tlb-magazine-body-size); text-align: left; }
    .blog-content:not(.tlb-magazine-article) h2 { font-size: var(--tlb-magazine-h2-size); }
    .blog-content:not(.tlb-magazine-article) h3 { font-size: var(--tlb-magazine-h3-size); }
}

/* Magazine article v2: new-post layout; typography above also serves legacy posts. */
.blog-content.tlb-magazine-article {
    font-family: var(--tlb-font-body);
    color: #3b3b3f;
    font-kerning: normal;
}
.blog-content.tlb-magazine-article p,
.blog-content.tlb-magazine-article li {
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-magazine-body-size);
    font-weight: 400;
    line-height: var(--tlb-lh-text);
    letter-spacing: normal;
    text-align: var(--tlb-prose-align);
    text-justify: none;
    text-align-last: left;
    overflow-wrap: break-word;
}
.blog-content.tlb-magazine-article p { margin-bottom: 20px; }
.blog-content.tlb-magazine-article h2,
.blog-content.tlb-magazine-article h3 {
    font-family: var(--tlb-font-head);
    text-align: left;
}
/* Headings: same weight, spacing and purple underline as legacy posts (site inline .blog-content h2/h3). 2026-09-27 대표 지시로 통일. */
/* 기존 게시물과 새 게시물 모두 같은 헤딩 역할을 받는다. 장식을 지우던 전역 리셋은 제외한다. */
.blog-content.blog-content.blog-content h2,
.blog-content.blog-content.blog-content h3 {
    font-family: var(--tlb-font-head) !important;
    line-height: var(--tlb-lh-head) !important;
    letter-spacing: var(--tlb-ls-head) !important;
    font-weight: var(--tlb-editorial-heading-weight) !important;
    color: var(--color-text-title) !important;
    text-align: left;
    position: relative;
    display: block;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
.blog-content.blog-content.blog-content h2 {
    font-size: var(--tlb-editorial-h2-size) !important;
    margin: var(--tlb-editorial-section-gap) 0 var(--tlb-editorial-paragraph-gap) !important;
    padding-bottom: var(--tlb-editorial-heading-padding) !important;
    border-bottom: var(--tlb-editorial-heading-rule) solid var(--color-primary-transparent) !important;
}
.blog-content.blog-content.blog-content h2::after {
    content: "" !important;
    position: absolute;
    inset: auto auto calc(-1 * var(--tlb-editorial-heading-rule)) 0;
    width: var(--tlb-editorial-heading-accent);
    height: var(--tlb-editorial-heading-rule);
    background: var(--color-primary);
}
.blog-content.blog-content.blog-content h3 {
    font-size: var(--tlb-editorial-h3-size) !important;
    margin: var(--tlb-editorial-subsection-gap) 0 var(--tlb-editorial-paragraph-gap) !important;
    padding-bottom: var(--tlb-editorial-heading-padding) !important;
    border-bottom: 1px solid var(--color-border-dark) !important;
}
.blog-content.blog-content.blog-content h3::after { content: none !important; }

/* CASE STUDY: 인용은 종이 바탕, 문제는 교재 서체, 해설은 기존 산문 서체로 구분한다. */
.blog-content.tlb-case-article.tlb-case-article.tlb-case-article p:not(:where(.tlb-case-problem p, .tlb-case-quotation p, .tlb-case-court-caption, .tlb-magazine-resource p, .tlb-case-disclaimer p, .signature p, .featured-image)) {
    font-family: var(--tlb-font-body) !important;
    font-weight: var(--tlb-case-body-weight) !important;
    line-height: var(--tlb-case-body-leading) !important;
    letter-spacing: var(--tlb-case-body-tracking) !important;
    word-break: var(--tlb-case-body-word-break) !important;
    overflow-wrap: anywhere;
    word-spacing: var(--tlb-case-word-spacing);
    text-indent: var(--tlb-case-prose-indent);
    margin: 0 0 var(--tlb-case-paragraph-gap);
}
.blog-content.tlb-case-article.tlb-case-article > p:is(.intro-text, :nth-of-type(2)),
.blog-content.tlb-case-article.tlb-case-article p.tlb-case-keypoint {
    text-indent: 0;
}
.blog-content.tlb-case-article.tlb-case-article p :is(strong, b) {
    font-weight: var(--tlb-case-emphasis-weight) !important;
}
.blog-content.tlb-case-article .tlb-case-quotation {
    margin: var(--tlb-case-quotation-gap) 0;
    padding: var(--tlb-case-block-padding);
    background: var(--tlb-case-paper);
}
.blog-content.tlb-case-article .tlb-case-problem {
    margin: var(--tlb-case-block-gap) 0;
    padding: var(--tlb-case-block-padding);
    border: 1px solid var(--tlb-case-rule);
    background: #fff;
}
.blog-content.tlb-case-article.tlb-case-article :is(.tlb-case-problem, .tlb-case-quotation) p {
    font-family: var(--tlb-font-problem) !important;
    font-size: var(--tlb-case-problem-size) !important;
    font-weight: var(--tlb-case-problem-weight) !important;
    line-height: var(--tlb-case-problem-leading) !important;
    letter-spacing: var(--tlb-case-problem-tracking) !important;
    word-spacing: var(--tlb-case-word-spacing);
    text-align: var(--tlb-prose-align) !important;
    word-break: normal;
    margin: 0 0 var(--tlb-case-option-gap);
}
.blog-content.tlb-case-article .tlb-case-problem p.tlb-case-stem {
    font-weight: var(--tlb-case-stem-weight) !important;
    line-height: var(--tlb-case-stem-leading) !important;
    margin-bottom: var(--tlb-case-stem-gap);
}
.blog-content.tlb-case-article.tlb-case-article .tlb-case-quotation p {
    line-height: var(--tlb-case-quotation-leading) !important;
    margin-bottom: var(--tlb-case-quotation-paragraph-gap);
}
.blog-content.tlb-case-article .tlb-case-problem .tlb-case-option {
    padding-left: var(--tlb-case-option-indent);
    text-indent: calc(-1 * var(--tlb-case-option-indent));
}
.blog-content.tlb-case-article :is(.tlb-case-problem, .tlb-case-quotation) p:last-child { margin-bottom: 0; }
.blog-content.tlb-case-article .tlb-case-explanation {
    margin: var(--tlb-case-block-gap) 0;
}
.blog-content.tlb-case-article h3.tlb-case-answer {
    margin-top: 0 !important;
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.blog-content.tlb-case-article.tlb-case-article p.tlb-case-keypoint {
    margin: var(--tlb-case-block-gap) 0;
    padding: var(--tlb-case-block-padding) 0;
    border-top: 1px solid var(--tlb-case-rule);
    border-bottom: 1px solid var(--tlb-case-rule);
}
/* 웹에서 쟁점, 비교, 선지 해설을 훑어 읽기 위한 공통 부품. */
.blog-content.tlb-case-article .tlb-case-outline {
    margin: var(--tlb-case-block-gap) 0;
    padding: var(--tlb-space-md) 0;
    border-top: 1px solid var(--tlb-case-rule);
    border-bottom: 1px solid var(--tlb-case-rule);
}
.blog-content.tlb-case-article.tlb-case-article .tlb-case-outline h3 {
    margin: 0 0 var(--tlb-space-sm) !important;
    padding: 0 !important;
    border: 0 !important;
}
.blog-content.tlb-case-article .tlb-case-outline ol {
    margin: 0;
    padding-left: var(--tlb-space-md);
}
.blog-content.tlb-case-article .tlb-case-outline li {
    padding-block: 0;
    font-family: var(--tlb-font-body) !important;
    font-size: var(--tlb-case-outline-size) !important;
    line-height: var(--tlb-case-outline-leading) !important;
    letter-spacing: var(--tlb-ls-body) !important;
}
.blog-content.tlb-case-article .tlb-case-outline a {
    display: flex;
    align-items: center;
    min-height: var(--tlb-case-link-target);
    color: var(--color-text-body);
    text-decoration: underline;
}
.blog-content.tlb-case-article .tlb-case-outline a:hover,
.blog-content.tlb-case-article .tlb-case-outline a:focus-visible {
    color: var(--color-primary);
}
.blog-content.tlb-case-article .tlb-case-anchor {
    position: relative;
    top: calc(-1 * var(--tlb-case-anchor-offset));
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    pointer-events: none;
}
.blog-content.tlb-case-article.tlb-case-article h4.tlb-case-option-title {
    margin: var(--tlb-case-block-gap) 0 var(--tlb-space-sm) !important;
    font-family: var(--tlb-font-head) !important;
    font-size: var(--tlb-case-option-title-size) !important;
    font-weight: var(--tlb-fw-bold) !important;
    line-height: var(--tlb-case-option-title-leading) !important;
    letter-spacing: var(--tlb-ls-head) !important;
    border: 0 !important;
}
.blog-content.tlb-case-article .tlb-case-comparison {
    margin: var(--tlb-case-block-gap) 0;
    border-top: 1px solid var(--tlb-case-rule);
}
.blog-content.tlb-case-article.tlb-case-article.tlb-case-article .tlb-case-comparison > p {
    padding: var(--tlb-space-md) 0;
    margin: 0;
    border-bottom: 1px solid var(--tlb-case-rule);
}
.blog-content.tlb-case-article .tlb-case-reading-list {
    margin: var(--tlb-space-md) 0;
    padding-left: var(--tlb-space-md);
}
.blog-content.tlb-case-article.tlb-case-article.tlb-case-article .tlb-case-reading-list p {
    margin-bottom: var(--tlb-space-sm);
}
.blog-content.tlb-magazine-article a {
    text-underline-offset: .16em;
}
.blog-content.tlb-magazine-article img {
    display: block;
    max-width: 100%;
    height: auto;
}
.blog-content.tlb-magazine-article .featured-image img {
    width: 100%;
    margin: 0;
    border-radius: 0;
}
/* Reserve the approved 1200×630 magazine covers before their image bytes load. */
.blog-content img[src*="/images/marketing/"][src$="-og.png"] {
    aspect-ratio: 40 / 21;
}
/* The legacy author-signature assets all share this intrinsic ratio. */
.blog-content .signature img {
    aspect-ratio: 1017 / 766;
}
/* Live magazine figures without HTML dimensions: exact filenames and verified intrinsic ratios. */
.blog-content img:is(
    [src$="/039ea27adc17e.png"], [src$="/0d6fc55ed0ded.png"],
    [src$="/16f2a762bc319.png"], [src$="/20ef038a09698.png"],
    [src$="/26299dad8d95f.png"], [src$="/2c46b410e94d2.png"],
    [src$="/30e91b038a036.png"], [src$="/3c4c8ccd0094d.png"],
    [src$="/563733121c1af.png"], [src$="/76e132f96b543.png"],
    [src$="/8d1e86ad4430b.png"], [src$="/9db6966b914b9.png"],
    [src$="/a272bac344452.png"], [src$="/a53c9c947ccb0.png"],
    [src$="/a886c16d619d6.png"], [src$="/b014ba0df1cdd.png"],
    [src$="/cbb4b382d16cf.png"], [src$="/ee9a59483bf12.png"],
    [src$="/f6ee2f8a196a8.png"], [src$="/leet-planar-variables.png"],
    [src$="/leet-word-execution.png"]
) { aspect-ratio: 40 / 21; }
.blog-content img:is(
    [src$="/0fafdde636e73.png"], [src$="/105345e24457f.jpg"],
    [src$="/1c3bd9c0abbf4.png"], [src$="/1e30a8ab3b5b3.jpg"],
    [src$="/334fa0a7a31c0.png"], [src$="/39c19854ced69.jpg"],
    [src$="/3b9ebe7902121.jpg"], [src$="/59f138c6a9dcf.png"],
    [src$="/5c5f2cf885fa1.jpg"], [src$="/7ccd78f399936.jpg"],
    [src$="/a8a3fc42eb3b6.jpg"], [src$="/b9a0b9fcfad07.jpg"],
    [src$="/b9d4f303fcc2b.jpg"], [src$="/dd1ebfc08416c.jpg"],
    [src$="/de74bffa78068.jpg"], [src$="/f557b92ae871a.png"],
    [src$="/ff63144299239.jpg"]
) { aspect-ratio: 3 / 2; }
.blog-content img[src$="/9a0ec0d90eb67.jpg"] { aspect-ratio: 1920 / 1277; }
.blog-content img[src$="/leet-dimension-partition-figure.png"] { aspect-ratio: 512 / 515; }
.blog-content img:is(
    [src$="/leet-planar-variables-figure.png"],
    [src$="/leet-word-execution-figure.png"]
) { aspect-ratio: 96 / 25; }
.blog-content.tlb-magazine-article .tlb-magazine-table {
    max-width: 100%;
    overflow-x: auto;
    margin: 24px 0 28px;
    border-top: 2px solid #242329;
    -webkit-overflow-scrolling: touch;
}
.blog-content.tlb-magazine-article .tlb-magazine-table table {
    width: 100%;
    min-width: 650px;
    border-collapse: collapse;
    font: 400 15px/1.5 'SUIT', sans-serif;
    letter-spacing: normal;
}
.blog-content.tlb-magazine-article .tlb-magazine-table th,
.blog-content.tlb-magazine-article .tlb-magazine-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #dedbd5;
    text-align: left;
    vertical-align: top;
}
.blog-content.tlb-magazine-article .tlb-magazine-table th {
    background: #f5f4ef;
    font-weight: 700;
    white-space: nowrap;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource {
    margin: 48px 0 0;
    padding: 22px 30px 14px;
    background: #f5f4ef;
    border-top: 2px solid #242329;
    border-bottom: 1px solid #d8d6d0;
    border-radius: 3px;
    text-align: left;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__title {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    color: #242329;
    font: 700 19px/1.45 'SUITE', 'SUIT', sans-serif;
    letter-spacing: normal;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__title::after {
    content: none;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__link {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) 24px;
    grid-template-rows: auto auto auto;
    align-content: center;
    column-gap: 18px;
    row-gap: 5px;
    min-height: 124px;
    padding: 16px 0;
    border-top: 1px solid #d8d6d0;
    color: #242329;
    text-decoration: none;
    transition: background-color .15s;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__link:hover,
.blog-content.tlb-magazine-article .tlb-magazine-resource__link:focus-visible {
    background: rgba(255,255,255,.72);
    outline: 2px solid #67518a;
    outline-offset: -2px;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__cover {
    display: block;
    grid-column: 1;
    grid-row: 1 / 4;
    width: 76px;
    height: 76px;
    object-fit: cover;
    margin: 0;
    border-radius: 0;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__cue {
    display: block;
    grid-column: 2;
    grid-row: 1;
    color: #67518a;
    font: 700 13px/1.4 'SUIT', sans-serif;
    letter-spacing: normal;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__name {
    display: block;
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    color: #242329;
    font: 700 20px/1.35 'SUITE', 'SUIT', sans-serif;
    letter-spacing: normal;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__description {
    display: block;
    grid-column: 2;
    grid-row: 3;
    color: #56545a;
    font: 400 15px/1.55 'SUIT', sans-serif;
    text-align: left;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__arrow {
    grid-column: 3;
    grid-row: 1 / 4;
    justify-self: end;
    align-self: center;
    color: #605e61;
    font: 500 20px/1 'SUIT', sans-serif;
}
/* 실물책과 전자책이 따로 있는 교재: 카드는 div, 형식별 링크 두 개 (2026-09-27 대표 지시) */
.blog-content.tlb-magazine-article .tlb-magazine-resource__link--formats {
    grid-template-rows: auto auto auto auto;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__link--formats:hover {
    background: none;
    outline: 0;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__link--formats .tlb-magazine-resource__cover {
    grid-row: 1 / 5;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__formats {
    display: flex;
    gap: 20px;
    grid-column: 2;
    grid-row: 4;
    margin-top: 6px;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__formats a {
    color: #67518a;
    font: 700 14px/1.4 'SUIT', sans-serif;
    text-decoration: underline;
    text-underline-offset: .2em;
}
.blog-content.tlb-magazine-article .tlb-magazine-resource__formats a:hover {
    color: #242329;
}
.blog-content.tlb-magazine-article .tlb-magazine-editor-note {
    margin: 24px 0 32px;
    padding: 14px 18px;
    background: #f5f4ef;
    border-left: 3px solid #67518a;
    color: #56545a;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-compact);
    text-align: left;
}
.blog-content .tlb-magazine-related {
    margin: 48px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid #d8d6d0;
    color: #56545a;
    font-size: var(--tlb-fs-read);
    line-height: var(--tlb-lh-compact);
    text-align: left;
}
.blog-content .tlb-magazine-related a {
    color: #523d78;
    font-weight: 700;
}
.blog-content .tlb-case-reading-note {
    margin: 0 0 34px;
    padding: 18px 22px;
    background: #f5f4ef;
    border-left: 3px solid #8a6143;
    color: #4e4b49;
}
.blog-content .tlb-case-reading-note p {
    margin: 0;
    font-size: var(--tlb-fs-body);
    line-height: var(--tlb-lh-compact);
    text-align: left;
}
.blog-content .tlb-case-court-page {
    margin: 34px 0;
    padding: 14px;
    border: 1px solid #dedbd5;
    background: #f7f6f2;
}
.blog-content .tlb-case-court-page a { display: block; }
.blog-content .tlb-case-court-page img {
    display: block;
    width: 100%;
    height: auto;
}
.blog-content .tlb-case-court-page figcaption {
    margin-top: 12px;
    color: #56545a;
    font: 400 14px/1.55 'SUIT', sans-serif;
    text-align: left;
}
.blog-content .tlb-case-court-page figcaption a { display: inline; }
/* 아임웹 게시판은 figure, figcaption을 지운다. 발행본은 div와 p.tlb-case-court-caption으로 넣는다. */
.blog-content .tlb-case-court-page .tlb-case-court-caption {
    margin: 12px 0 0;
    color: #56545a;
    font: 400 14px/1.55 'SUIT', sans-serif;
    text-align: left;
}
.blog-content .tlb-case-court-page .tlb-case-court-caption a { display: inline; }
/* CASE STUDY 끝 고지문. 출처 문단 뒤, 관련 교재 칸 앞에 둔다(docs/CASE_STUDY_EDITORIAL.md 공통 고지문). */
.blog-content .tlb-case-disclaimer {
    margin: 36px 0 0;
    padding: 16px 0 0;
    border-top: 1px solid #e3dfd8;
}
.blog-content .tlb-case-disclaimer p,
.blog-content.tlb-magazine-article .tlb-case-disclaimer p {
    margin: 0;
    color: #6b6660;
    font: 400 14px/1.65 'SUIT', sans-serif;
    text-align: left;
    word-break: keep-all;
}
@media (max-width: 767px) {
    .blog-content.tlb-magazine-article p,
    .blog-content.tlb-magazine-article li { font-size: var(--tlb-magazine-body-size); text-align: left; }
    .blog-content.tlb-magazine-article .tlb-magazine-resource { margin-top: 36px; padding: 18px 18px 8px; }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__title { font-size: var(--tlb-fs-lead); }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__link { grid-template-columns: 58px minmax(0, 1fr) 18px; column-gap: 12px; row-gap: 8px; min-height: 110px; padding: 15px 0; }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__cue { grid-column: 1 / -1; grid-row: 1; font-size: var(--tlb-fs-caption); }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__cover { grid-row: 2; width: 58px; height: 58px; }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__name { grid-row: 2; align-self: center; font-size: var(--tlb-fs-read); }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__description { grid-column: 1 / -1; grid-row: 3; font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-ui); }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__arrow { grid-row: 2; font-size: var(--tlb-fs-read); }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__link--formats .tlb-magazine-resource__cover { grid-row: 2; }
    .blog-content.tlb-magazine-article .tlb-magazine-resource__formats { grid-column: 1 / -1; grid-row: 4; }
    .blog-content .tlb-case-reading-note { padding: 16px 18px; margin-bottom: 28px; }
    .blog-content .tlb-case-reading-note p { font-size: var(--tlb-fs-meta); }
    .blog-content .tlb-case-court-page { padding: 9px; margin: 28px 0; }
}

/* 홈의 기존 코드 위젯을 공통 바로가기 토큰에 연결한다. 인라인의 일반 클래스보다
   범위를 좁혀 우선하며, 다른 위젯의 .grid-item / .label에는 영향을 주지 않는다. */
section.tlb-button-section {
    box-sizing: border-box;
    padding-block: var(--tlb-shortcut-section-padding);
}
.tlb-button-section .tlb-grid {
    display: grid;
    width: 100%;
    max-width: var(--tlb-shortcut-grid-width);
    margin-inline: auto;
    grid-template-columns: repeat(var(--tlb-shortcut-columns), minmax(0, 1fr));
    column-gap: var(--tlb-shortcut-column-gap);
    row-gap: var(--tlb-shortcut-row-gap);
    align-items: start;
}
.tlb-button-section .tlb-grid .grid-item {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--tlb-shortcut-label-gap);
}
.tlb-button-section .tlb-grid .grid-item .icon-wrapper {
    box-sizing: border-box;
    width: min(100%, var(--tlb-shortcut-tile-size));
    aspect-ratio: 1;
    flex-shrink: 0;
    margin: 0;
    border-radius: var(--tlb-radius-md);
}
.tlb-button-section .tlb-grid .grid-item .icon-wrapper img {
    width: var(--tlb-shortcut-icon-ratio);
    height: var(--tlb-shortcut-icon-ratio);
    object-fit: contain;
}
.tlb-button-section .tlb-grid .grid-item .label {
    display: block;
    max-width: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--tlb-font-head);
    font-size: var(--tlb-shortcut-label-size) !important; /* 기존 모바일 인라인 !important와 연결 */
    font-weight: var(--tlb-fw-bold) !important;
    line-height: var(--tlb-lh-ui);
    letter-spacing: var(--tlb-ls-head);
    text-align: center;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
.tlb-button-section .tlb-grid .grid-item .badge {
    left: 50%;
    right: auto;
    translate: -50% 0; /* 기존 bounce의 transform과 독립적으로 가운데 배치 */
}
.tlb-button-section .tlb-grid .grid-item:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 4px;
    border-radius: var(--tlb-radius-md);
}

/* Magazine legacy board posts: direct editor paragraphs have no .blog-content root. */
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > p,
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > ul li p,
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > ol li p {
    font-family: var(--tlb-font-body);
    font-size: var(--tlb-editorial-body-size);
    line-height: var(--tlb-lh-text);
    font-kerning: normal;
    overflow-wrap: break-word;
    text-align: var(--tlb-prose-align);
    text-justify: none;
    text-align-last: left;
}
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > p {
    margin: 0 0 20px;
}
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > ul,
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > ol {
    margin: 0 0 24px;
    padding-left: 1.4em;
}
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > p img {
    max-width: 100%;
    height: auto;
}
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > p strong,
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > ul strong,
#w20240305315e38a079626 .board_txt_area > .margin-top-xxl > ol strong {
    font-family: inherit;
    font-weight: 700;
}

/* The two existing magazine Q&As end with a plain related-books paragraph. */
#w20240305315e38a079626 .blog-content:not(.tlb-magazine-article) > h2:has(+ p:last-child > a[href*="shop_principles"]) {
    margin: 52px 0 0;
    padding: 19px 24px 8px;
    background: #f5f4ef;
    border-top: 2px solid #242329;
    border-bottom: 0;
    color: #242329;
    font: 700 23px/1.4 'SUITE', 'SUIT', sans-serif;
}
#w20240305315e38a079626 .blog-content:not(.tlb-magazine-article) > h2:has(+ p:last-child > a[href*="shop_principles"])::after {
    content: none;
}
#w20240305315e38a079626 .blog-content:not(.tlb-magazine-article) > p:last-child:has(> a[href*="shop_principles"]):has(> a[href*="shop_practicebook"]) {
    margin: 0 0 12px;
    padding: 8px 24px 22px;
    background: #f5f4ef;
    border-bottom: 1px solid #d8d6d0;
    font-size: var(--tlb-fs-lead);
    line-height: var(--tlb-lh-compact);
    text-align: left;
}
#w20240305315e38a079626 .blog-content:not(.tlb-magazine-article) > p:last-child:has(> a[href*="shop_principles"]):has(> a[href*="shop_practicebook"]) a {
    color: #67518a;
    font-weight: 700;
    text-underline-offset: .15em;
}
@media (max-width: 767px) {
    #w20240305315e38a079626 .board_txt_area > .margin-top-xxl > p,
    #w20240305315e38a079626 .board_txt_area > .margin-top-xxl > ul li p,
    #w20240305315e38a079626 .board_txt_area > .margin-top-xxl > ol li p {
        font-size: var(--tlb-fs-lead);
        text-align: left;
    }
    #w20240305315e38a079626 .blog-content:not(.tlb-magazine-article) > h2:has(+ p:last-child > a[href*="shop_principles"]) {
        margin-top: 38px;
        padding: 16px 18px 7px;
        font-size: 21px;
    }
    #w20240305315e38a079626 .blog-content:not(.tlb-magazine-article) > p:last-child:has(> a[href*="shop_principles"]):has(> a[href*="shop_practicebook"]) {
        padding: 8px 18px 18px;
        font-size: var(--tlb-fs-body);
    }
}


/* BEGIN Practice Book native 2026-10-01 */
/* 기존 7장 순서와 본문은 보존하고, core 역할 토큰으로 조판과 이미지 중앙축을 맞춘다. */
.tlb-practice-purchase {
  --tlb-practice-ink: #292720;
  --tlb-practice-alt: #2b2b2b;
  --tlb-practice-signal: #efa563;
  width: 100%; max-width: 980px; margin-inline: auto;
  color: #fff; background: var(--tlb-practice-ink);
  font-family: var(--tlb-font-body);
  font-size: var(--tlb-purchase-body-size, var(--tlb-fs-read));
  font-weight: var(--tlb-fw-regular);
  line-height: var(--tlb-purchase-body-leading, var(--tlb-lh-body));
  letter-spacing: var(--tlb-ls-body);
}
.tlb-practice-purchase *, .tlb-practice-purchase *::before, .tlb-practice-purchase *::after { box-sizing: border-box; }
.tlb-practice-purchase .tlb-practice-inner { width: min(calc(100% - 2 * var(--tlb-space-lg)), 900px); margin-inline: auto; }
.tlb-practice-purchase .tlb-practice-scene { padding-block: calc(var(--tlb-space-2xl) + var(--tlb-space-md)); text-align: center; }
.tlb-practice-scene--alt { background: var(--tlb-practice-alt); }
.tlb-practice-scene--black { background: #000; }
.tlb-practice-purchase :is(h1,h2,h3,p) { margin: 0; }
/* figure 전체 여백 초기화를 제거해 각 이미지의 auto margin을 보존한다. */
.tlb-practice-purchase :is(h1,h2,h3) {
  font-family: var(--tlb-font-head); font-weight: var(--tlb-fw-bold);
  letter-spacing: var(--tlb-ls-head); word-break: keep-all; overflow-wrap: break-word;
}
.tlb-practice-purchase :is(h1,h2,h3) :is(span,strong,b,em) { font-family: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; }
.tlb-practice-purchase h1 { font-size: var(--tlb-fs-display); line-height: var(--tlb-lh-title); }
.tlb-practice-purchase h2 { font-size: var(--tlb-purchase-heading-size, var(--tlb-fs-h2)); line-height: var(--tlb-purchase-heading-leading, var(--tlb-lh-title)); text-wrap: balance; }
.tlb-practice-purchase h3 { font-size: var(--tlb-purchase-group-size, var(--tlb-fs-h4)); line-height: var(--tlb-lh-head); }
.tlb-practice-purchase p {
  max-width: var(--tlb-purchase-reading-width, var(--tlb-editorial-width)); margin-inline: auto;
  font-family: var(--tlb-font-body); font-size: var(--tlb-purchase-body-size, var(--tlb-fs-read));
  font-weight: var(--tlb-fw-regular); line-height: var(--tlb-purchase-body-leading, var(--tlb-lh-body));
  letter-spacing: var(--tlb-ls-body); text-justify: none; word-break: keep-all; overflow-wrap: break-word;
}
.tlb-practice-purchase p :is(span,strong,b,em), .tlb-practice-purchase li :is(span,strong,b,em) { font-family: inherit; letter-spacing: inherit; }
.tlb-practice-purchase strong { font-weight: var(--tlb-fw-bold); }
.tlb-practice-purchase a { color: inherit; }
.tlb-practice-purchase .tlb-practice-lead { margin-top: var(--tlb-space-md); font-size: var(--tlb-purchase-lead-size, var(--tlb-fs-lead)); }
.tlb-practice-purchase .tlb-practice-label { max-width: none; width: fit-content; margin: 0 auto var(--tlb-space-md); }
.tlb-practice-mark { color: var(--tlb-practice-signal); }
.tlb-practice-purchase .tlb-practice-emphasis { margin-top: var(--tlb-space-lg); font-size: var(--tlb-purchase-emphasis-size, var(--tlb-fs-h5)); line-height: var(--tlb-lh-text); }
.tlb-practice-purchase .tlb-practice-note { margin-top: var(--tlb-space-sm); font-size: var(--tlb-purchase-note-size, var(--tlb-fs-meta)); line-height: var(--tlb-purchase-note-leading, var(--tlb-lh-text)); color: #c7c5c0; }
.tlb-practice-purchase .tlb-practice-hero { position: relative; padding: var(--tlb-space-xl) 0; color: var(--color-text-title); background: #e7e7e7; }
.tlb-practice-purchase .tlb-practice-hero-title { text-align: left; color: #686868; font-weight: var(--tlb-fw-semibold); }
.tlb-practice-hero-title span { display: block; position: absolute; bottom: var(--tlb-space-xl); right: var(--tlb-space-lg); text-align: right; color: #bf651f; }
.tlb-practice-purchase .tlb-practice-hero-books { position: relative; overflow: hidden; aspect-ratio: 1500 / 800; margin: 0 calc(-1 * var(--tlb-space-lg)) var(--tlb-space-2xl); }
.tlb-practice-hero-books img { position: absolute; display: block; width: 100%; max-width: none; height: auto; top: -40%; left: 0; }
.tlb-practice-purchase .tlb-practice-logo { display: block; width: 140px; max-width: 35%; height: auto; margin: 0 auto var(--tlb-space-md); }
.tlb-practice-purchase .tlb-practice-intro-name { font-size: var(--tlb-fs-title); }
.tlb-practice-purchase .tlb-practice-crop { position: relative; overflow: hidden; width: min(100%, 580px); aspect-ratio: 890 / 700; margin: var(--tlb-space-xl) auto; }
.tlb-practice-crop img { position: absolute; display: block; width: 168.54%; max-width: none; height: auto; left: -34.83%; top: -100%; }
.tlb-practice-purchase .tlb-practice-crop--ebook { width: min(100%, 760px); aspect-ratio: 1280 / 740; }
.tlb-practice-crop--ebook img { width: 117.1875%; left: -8.59375%; top: -108.108%; }
.tlb-practice-purchase .tlb-practice-seven { position: relative; overflow: hidden; width: min(100%, 720px); aspect-ratio: 1000 / 520; margin: var(--tlb-space-xl) auto; }
.tlb-practice-seven img { position: absolute; display: block; width: 100%; max-width: none; height: auto; top: -98.077%; left: 0; }
.tlb-practice-purchase .tlb-practice-steps { display: grid; max-width: 620px; gap: var(--spacing-xs); padding: 0; margin: var(--tlb-space-xl) auto; list-style: none; text-align: left; }
.tlb-practice-steps li { display: flex; align-items: center; flex-wrap: wrap; column-gap: var(--tlb-space-sm); row-gap: var(--spacing-xs); padding: var(--tlb-space-sm) var(--tlb-space-md); border: 1px solid #57534c; border-radius: var(--tlb-radius-sm); color: #dedbd5; background: #34312b; font-family: var(--tlb-font-body); font-size: var(--tlb-purchase-emphasis-size, var(--tlb-fs-h5)); line-height: var(--tlb-lh-ui); letter-spacing: var(--tlb-ls-body); font-weight: var(--tlb-fw-regular); }
.tlb-practice-steps li:nth-child(2) { border-color: var(--tlb-practice-signal); color: #fff; }
.tlb-practice-purchase .tlb-practice-steps li > span { min-width: 2.2em; font-family: var(--tlb-font-head); font-weight: var(--tlb-fw-bold); }
.tlb-practice-steps small { margin-left: auto; color: #dedbd5; font-family: var(--tlb-font-head); font-size: var(--tlb-purchase-note-size, var(--tlb-fs-meta)); line-height: var(--tlb-lh-ui); letter-spacing: var(--tlb-ls-head); font-weight: var(--tlb-fw-semibold); }
.tlb-practice-emphasis strong:not(.tlb-practice-mark) { text-decoration-color: #c98b4d; text-decoration-thickness: .08em; text-decoration-line: underline; text-underline-offset: .18em; }
.tlb-practice-purchase .tlb-practice-benefits { display: grid; gap: var(--tlb-space-md); margin: var(--tlb-space-lg) auto 0; text-align: left; }
.tlb-practice-purchase .tlb-practice-benefit { padding: var(--tlb-space-md); border: 1px solid #5f5d58; border-radius: var(--tlb-radius-sm); }
.tlb-practice-benefit h3 { color: var(--tlb-practice-signal); }
.tlb-practice-purchase .tlb-practice-benefit p { margin-top: var(--tlb-space-sm); }
.tlb-practice-purchase .tlb-practice-ebook-benefits { max-width: 800px; gap: var(--tlb-space-lg); text-align: center; }
.tlb-practice-ebook-benefits .tlb-practice-benefit { overflow: hidden; padding: 0 0 var(--tlb-space-lg); border: 0; color: #292720; background: #fff; }
.tlb-practice-ebook-benefits h3 { padding: var(--tlb-space-md); color: #fff; background: #855021; }
.tlb-practice-purchase .tlb-practice-ebook-benefits p { padding-inline: var(--tlb-space-md); margin-top: var(--tlb-space-md); font-size: var(--tlb-purchase-body-size, var(--tlb-fs-read)); font-weight: var(--tlb-fw-regular); }
.tlb-practice-purchase .tlb-practice-ebook-benefits .tlb-practice-note { font-size: var(--tlb-purchase-note-size, var(--tlb-fs-meta)); color: #5d554d; }
.tlb-practice-group { margin-top: var(--tlb-space-xl); }
.tlb-practice-purchase .tlb-practice-group > h3 { width: fit-content; max-width: 100%; margin-inline: auto; border-block: 1px solid #797268; padding: var(--tlb-space-sm) var(--tlb-space-md); color: var(--tlb-practice-signal); background: transparent; }
.tlb-practice-purchase .tlb-practice-books { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: var(--tlb-space-md); margin: var(--tlb-space-lg) auto 0; }
.tlb-practice-purchase .tlb-practice-book { display: flex; flex-direction: column; align-items: center; flex: 0 1 calc((100% - 2 * var(--tlb-space-md)) / 3); max-width: 250px; min-width: 0; text-decoration: none; text-align: center; }
.tlb-practice-book img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; height: auto; margin-inline: auto; border-radius: var(--tlb-radius-sm); }
.tlb-practice-purchase .tlb-practice-book h3 { margin-top: var(--tlb-space-sm); font-size: var(--tlb-fs-h5); line-height: var(--tlb-lh-head); }
.tlb-practice-purchase .tlb-practice-package-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--tlb-space-md); margin: var(--tlb-space-xl) auto; text-align: center; }
.tlb-practice-package-benefits .tlb-practice-benefit { padding: var(--tlb-space-lg) var(--tlb-space-md); background: #24211d; border-color: #504b44; }
.tlb-practice-purchase .tlb-practice-package-art { position: relative; overflow: hidden; width: min(100%, 220px); aspect-ratio: 400 / 350; margin: 0 auto var(--tlb-space-md); }
.tlb-practice-package-art img { position: absolute; display: block; width: 375%; max-width: none; height: auto; top: -131.2%; left: -42%; }
.tlb-practice-package-art--2 img { left: -228%; }
.tlb-practice-package-art--3 img { top: -393.6%; }
.tlb-practice-package-art--4 img { top: -131.2%; left: -42%; }
.tlb-practice-purchase .tlb-practice-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: var(--tlb-space-lg); padding: var(--tlb-space-sm) var(--tlb-space-lg); border: 1px solid var(--tlb-practice-signal); border-radius: var(--tlb-radius-sm); color: var(--tlb-practice-signal); font-family: var(--tlb-font-head); font-size: var(--tlb-fs-body); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-ui); letter-spacing: var(--tlb-ls-head); text-decoration: none; }
.tlb-practice-purchase :is(.tlb-practice-book,.tlb-practice-action):focus-visible { outline: 2px solid var(--tlb-practice-signal); outline-offset: 4px; }
@media (max-width: 767px) {
  .tlb-practice-purchase .tlb-practice-inner { width: calc(100% - 2 * var(--tlb-space-sm)); }
  .tlb-practice-purchase .tlb-practice-scene { padding-block: var(--tlb-space-xl); }
  .tlb-practice-purchase .tlb-practice-hero-title { font-size: var(--tlb-fs-title); }
  .tlb-practice-hero-title span { bottom: var(--tlb-space-lg); right: var(--tlb-space-sm); }
  .tlb-practice-purchase .tlb-practice-hero-books { margin-inline: calc(-1 * var(--tlb-space-sm)); margin-bottom: var(--tlb-space-lg); }
  .tlb-practice-purchase .tlb-practice-books { gap: var(--tlb-space-sm); }
  .tlb-practice-purchase .tlb-practice-book { flex-basis: calc((100% - var(--tlb-space-sm)) / 2); max-width: 180px; }
  .tlb-practice-purchase .tlb-practice-book h3 { font-size: var(--tlb-fs-small); }
  .tlb-practice-purchase .tlb-practice-package-benefits { grid-template-columns: 1fr; }
}
/* END Practice Book native */

/* BEGIN Purchase concept chips 2026-10-01 */
/* 대표의 연도별 컨셉 조각 요청: 작은 사각 이미지와 실제 라벨 텍스트를 분리한다. */
.tlb-concept-chip, .tlb-practice-purchase .tlb-concept-chip {
  display: inline-flex; align-items: stretch; width: fit-content; max-width: 100%;
  overflow: hidden; border: 1px solid #77716a; border-radius: var(--tlb-radius-sm);
  padding: 0; color: var(--color-text-white); background: #24211d;
  font-family: var(--tlb-font-head); font-size: var(--tlb-purchase-label-size, var(--tlb-category-chip-size));
  font-weight: var(--tlb-purchase-label-weight, var(--tlb-category-chip-weight));
  line-height: var(--tlb-purchase-label-leading, var(--tlb-lh-ui)); letter-spacing: var(--tlb-ls-head);
}
.tlb-concept-chip .tlb-concept-chip-art {
  display: block; position: relative; overflow: hidden; flex: 0 0 var(--tlb-purchase-label-art-width, var(--tlb-space-2xl));
  width: var(--tlb-purchase-label-art-width, var(--tlb-space-2xl)); min-height: var(--tlb-purchase-label-art-height, var(--tlb-space-lg)); background: #24211d;
}
.tlb-concept-chip-art img { position: absolute; display: block; max-width: none; height: auto; top: 0; }
.tlb-concept-chip .tlb-concept-chip-text {
  display: flex; align-items: center; min-width: 0; padding: var(--tlb-purchase-label-padding, var(--spacing-xs) var(--tlb-space-sm));
  font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; text-align: left; word-break: keep-all;
}
.tlb-cat-purchase .tlb-concept-chip { margin: 0 0 var(--tlb-space-md); }
/* 이미지 위치는 config.json의 원본 크기와 크롭 영역에서 생성한다. */
/* BEGIN Generated purchase concept crops */
[data-tlb-concept="practice-2027"] .tlb-concept-chip-art img { width: 3000.000000%; left: -587.500000%; transform: translateY(-54.916667%); }
[data-tlb-concept="basic-2028"] .tlb-concept-chip-art img { width: 1200.000000%; left: -270.000000%; transform: translateY(-55.416667%); }
/* END Generated purchase concept crops */
/* END Purchase concept chips */

/* BEGIN Purchase guidance polish 2026-10-01 */
.tlb-cat-purchase .tlb-cat-head { max-width: var(--tlb-purchase-reading-width, var(--tlb-editorial-width)); margin-inline: auto; }
.tlb-cat-purchase .tlb-cat-head > h2 { font-size: var(--tlb-fs-h3); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-head); letter-spacing: var(--tlb-ls-head); text-wrap: balance; }
.tlb-cat-purchase .tlb-cat-head > p { font-size: var(--tlb-purchase-body-size, var(--tlb-fs-read)); font-weight: var(--tlb-fw-regular); line-height: var(--tlb-purchase-body-leading, var(--tlb-lh-body)); letter-spacing: var(--tlb-ls-body); }
.tlb-cat-purchase .tlb-cat-table { max-width: 900px; margin-inline: auto; }
.tlb-cat-purchase .tlb-cat-row { align-items: start; gap: var(--tlb-space-sm) var(--tlb-space-md); }
.tlb-cat-purchase .tlb-cat-row > h3 { font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h5); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-head); letter-spacing: var(--tlb-ls-head); }
.tlb-cat-purchase .tlb-cat-row > p { font-family: var(--tlb-font-body); font-size: var(--tlb-fs-small); font-weight: var(--tlb-fw-regular); line-height: var(--tlb-lh-text); letter-spacing: var(--tlb-ls-body); }
.tlb-cat-purchase .tlb-cat-row-link { display: inline-flex; align-items: center; min-height: 44px; width: fit-content; }
.tlb-cat-purchase .tlb-cat-row-link:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
@media(max-width: 768px) { .tlb-cat-purchase .tlb-cat-row { gap: var(--spacing-xs); } }
/* END Purchase guidance polish */

/* BEGIN TLB standalone campaign popup */
:root { --tlb-postleet-modal-ready:1; }
.tlb-postleet-dialog { position:fixed; inset:0; box-sizing:border-box; width:min(420px,calc(100vw - 32px),calc((100dvh - 80px)*.75)); max-width:none; max-height:none; margin:auto; padding:0; border:0; border-radius:4px; background:#F6F4ED; color:#222222; overflow:hidden; }
.tlb-postleet-dialog[open] { display:block; }
.tlb-postleet-dialog::backdrop { background:rgb(34 34 34 / 62%); }
.tlb-postleet-dialog:focus { outline:none; }
.tlb-postleet-dialog *, .tlb-postleet-dialog *::before, .tlb-postleet-dialog *::after { box-sizing:border-box; }
.tlb-postleet-shell { position:relative; }
.tlb-postleet-track { position:relative; display:flex; width:100%; aspect-ratio:3/4; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior:contain; scrollbar-width:none; }
.tlb-postleet-track::-webkit-scrollbar { display:none; }
.tlb-postleet-slide { position:relative; isolation:isolate; flex:0 0 100%; width:100%; min-width:0; height:100%; padding:0; margin:0; overflow:hidden; scroll-snap-align:start; background:#F6F7F9; }
.tlb-postleet-dialog .tlb-postleet-product { position:absolute; inset:0; display:block; margin:0; z-index:-2; }
.tlb-postleet-product img { display:block; width:100%; height:100%; max-width:none; margin:0; position:absolute; bottom:0; height:100%; object-fit:contain; object-position:50% 100%; }
.tlb-postleet-slide::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(180deg,rgb(0 0 0 / 97%) 0%,rgb(0 0 0 / 91%) 25%,rgb(0 0 0 / 38%) 43%,rgb(0 0 0 / 2%) 60%,rgb(0 0 0 / 14%) 70%,rgb(0 0 0 / 97%) 100%); }
.tlb-postleet-intro { position:absolute; top:24px; left:28px; right:28px; pointer-events:none; }
.tlb-postleet-dialog .tlb-postleet-edition { margin:0 36px 6px 0; color:rgb(255 255 255 / 75%); font-family:var(--tlb-font-body); font-size:var(--tlb-fs-caption); line-height:var(--tlb-lh-ui); font-weight:var(--tlb-fw-regular); }
.tlb-postleet-dialog h2 { margin:0; padding:0; border:0; color:#FFFFFF; font-family:var(--tlb-font-head); font-size:calc(var(--tlb-fs-h2)*.96); line-height:1.22; font-weight:var(--tlb-fw-bold); letter-spacing:normal; word-break:keep-all; }
.tlb-postleet-dialog .tlb-postleet-copy { margin:10px 0 0; color:#FFFFFF; font-family:var(--tlb-font-body); font-size:var(--tlb-fs-meta); line-height:1.48; letter-spacing:normal; word-break:keep-all; }
.tlb-postleet-title-line { display:block; }
.tlb-postleet-copy strong { color:#FFFFFF; font-weight:var(--tlb-fw-bold); }
.tlb-postleet-dialog .tlb-postleet-benefit { display:inline-block; width:fit-content; max-width:100%; box-sizing:border-box; margin:10px 0 0; padding:3px 12px; border:0; border-radius:999px; background:#962DE3; font-family:var(--tlb-font-body); font-size:var(--tlb-fs-caption); line-height:var(--tlb-lh-ui); color:#FFFFFF; font-weight:var(--tlb-fw-bold); }
.tlb-postleet-name { display:none; }
.tlb-postleet-dialog .tlb-postleet-action { position:absolute; bottom:46px; left:28px; right:28px; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:12px 18px; border-radius:3px; background:#962DE3; color:#FFFFFF; text-decoration:none; font-family:var(--tlb-font-head); font-size:var(--tlb-fs-body); line-height:var(--tlb-lh-ui); font-weight:var(--tlb-fw-bold); letter-spacing:normal; }
.tlb-postleet-action > span { color:#FFFFFF; }
.tlb-postleet-close { position:absolute; z-index:5; top:8px; right:8px; display:grid; place-items:center; width:44px; height:44px; padding:0; margin:0; border:0; border-radius:0; background:transparent; color:rgb(255 255 255 / 65%); cursor:pointer; font-family:var(--tlb-font-body); font-size:var(--tlb-fs-h3); line-height:var(--tlb-lh-none); }
.tlb-postleet-nav { position:absolute; inset:0 0 48px; z-index:4; pointer-events:none; }
.tlb-postleet-nav[hidden] { display:none; }
.tlb-postleet-arrow { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:56px; margin:0; padding:0; border:0; border-radius:3px; background:transparent; color:#FFFFFF; text-shadow:0 1px 5px rgb(34 34 34 / 65%); cursor:pointer; pointer-events:auto; font-family:var(--tlb-font-body); font-size:var(--tlb-fs-h3); opacity:.5; transition:opacity .15s; }
.tlb-postleet-arrow:hover, .tlb-postleet-arrow:focus-visible { opacity:1; }
.tlb-postleet-arrow[data-tlb-prev] { left:0; }
.tlb-postleet-arrow[data-tlb-next] { right:0; }
.tlb-postleet-dots { position:absolute; bottom:3px; left:50%; transform:translateX(-50%); display:flex; pointer-events:auto; }
.tlb-postleet-dot { display:grid; place-items:center; width:24px; height:40px; padding:0; margin:0; border:0; background:transparent; cursor:pointer; }
.tlb-postleet-dot::after { content:''; display:block; width:6px; height:6px; border-radius:3px; background:rgb(255 255 255 / 45%); transition:width .2s ease,background-color .2s ease; }
.tlb-postleet-dot[aria-current="true"]::after { width:20px; background:#FFFFFF; }
.tlb-postleet-counter { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tlb-postleet-footer { display:grid; grid-template-columns:1fr 1fr; height:48px; width:100%; margin:0; background:#F6F4ED; }
.tlb-postleet-footer-button { display:flex; align-items:center; justify-content:center; width:100%; height:48px; margin:0; padding:0; border:0; border-radius:0; background:transparent; color:#737373; cursor:pointer; font-family:var(--tlb-font-head); font-size:var(--tlb-fs-caption); line-height:var(--tlb-lh-ui); font-weight:var(--tlb-fw-semibold); }
.tlb-postleet-dialog :focus-visible { outline:2px solid var(--color-primary); outline-offset:-3px; }
@media(max-width:480px), (max-height:650px) { .tlb-postleet-intro { top:20px; left:24px; right:24px; } .tlb-postleet-dialog .tlb-postleet-action { left:24px; right:24px; } }
@keyframes tlb-popup-text-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
.tlb-postleet-slide[aria-hidden="false"] .tlb-postleet-intro > * { animation:tlb-popup-text-in .6s cubic-bezier(.22,.55,.35,1) both; }
.tlb-postleet-slide[aria-hidden="false"] .tlb-postleet-intro > h2 { animation-delay:.08s; }
.tlb-postleet-slide[aria-hidden="false"] .tlb-postleet-copy { animation-delay:.16s; }
.tlb-postleet-slide[aria-hidden="false"] .tlb-postleet-benefit { animation-delay:.22s; }
@media(prefers-reduced-motion:reduce) { .tlb-postleet-arrow, .tlb-postleet-dot::after { transition:none; } .tlb-postleet-slide[aria-hidden="false"] .tlb-postleet-intro > * { animation:none; } }
.tlb-postleet-close:hover { background:transparent; color:#FFFFFF; }
.tlb-postleet-dialog .tlb-postleet-close:focus-visible { outline:none; text-shadow:0 0 6px rgb(255 255 255 / 35%); }
/* Poster type follows the actual popup width; footer controls keep their existing size. */
@supports (font-size:1cqw) {
  .tlb-postleet-dialog { container-type:inline-size; }
  .tlb-postleet-dialog h2 { font-size:var(--tlb-popup-fs-title); }
  .tlb-postleet-dialog .tlb-postleet-copy { font-size:var(--tlb-popup-fs-copy); }
  .tlb-postleet-dialog .tlb-postleet-edition,
  .tlb-postleet-dialog .tlb-postleet-benefit { font-size:var(--tlb-popup-fs-caption); }
  .tlb-postleet-dialog .tlb-postleet-action { font-size:var(--tlb-popup-fs-action); min-height:calc(var(--tlb-popup-fs-action)*3); padding:calc(var(--tlb-popup-fs-action)*.75) calc(var(--tlb-popup-fs-action)*1.125); gap:calc(var(--tlb-popup-fs-action)*.75); }
  .tlb-postleet-dialog .tlb-postleet-close,
  .tlb-postleet-dialog .tlb-postleet-arrow { font-size:var(--tlb-popup-fs-control); }
}
/* Automatic notice: a small banner; the full poster opens only on request. */
.tlb-postleet-notice{position:fixed;z-index:1005;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);min-height:64px;padding:8px 8px 8px 20px;box-sizing:border-box;border:1px solid #E2E4E8;border-radius:4px;background:#FFFFFF;color:#1F2124}
.tlb-postleet-notice-label{min-width:0;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-ui);word-break:keep-all}
.tlb-postleet-notice-open{flex:none;min-height:44px;padding:8px 16px;border:0;border-radius:4px;background:#962DE3;color:#FFFFFF;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-ui);cursor:pointer}
.tlb-postleet-notice-close{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#687079;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);line-height:var(--tlb-lh-none);cursor:pointer}
.tlb-postleet-notice :focus-visible{outline:2px solid #962DE3;outline-offset:2px}
@media(max-width:767px){.tlb-postleet-notice{left:16px;right:76px;bottom:max(16px,env(safe-area-inset-bottom));transform:none;width:auto;max-width:none;gap:8px;min-height:64px;padding:8px 4px 8px 12px}.tlb-postleet-notice-label{font-size:var(--tlb-fs-caption)}.tlb-postleet-notice-open{padding:8px 10px;font-size:var(--tlb-fs-caption)}}
/* END TLB standalone campaign popup */


/* BEGIN Home v2 2026-10-05 (원본 site/pages/home/v2, 빌드 build.py) */
.tlb-hm{box-sizing:border-box;color:#1F2124;line-height:var(--tlb-lh-text)} /* 글꼴, 자간, 정렬, 줄바꿈은 core 뿌리(.tlb-type) 기본값을 받는다 */
.tlb-hm *,.tlb-hm *::before,.tlb-hm *::after{box-sizing:border-box}
.tlb-hm a{color:inherit;text-decoration:none}
.tlb-hm :is(h1,h2,h3,p,ul,ol,blockquote){margin:0;padding:0}
.tlb-hm--bleed{position:relative;width:100vw;margin-inline:calc(50% - 50vw)}
@media (max-width:767px){.section_wrap:has(.tlb-hm-hero-pin){padding-top:0 !important}} /* 모바일: 아임웹 첫 섹션이 인라인으로 박은 위 여백 5px 제거(다른 상세 페이지처럼 헤더 바로 아래에서 시작) */
.tlb-hm .tlb-hm-w{width:100%;max-width:calc(1200px + var(--g) * 2);margin:0 auto;padding:0 var(--g)}
.tlb-hm{--g:clamp(20px,5vw,96px);--edge:max(var(--g),calc((100% - 1200px) / 2));--ink:#1F2124;--body:#3A4046;--mute:#687079;--line:#E2E4E8;--paper:#F6F4EF;--brand:#962DE3;--hl:rgba(150,45,227,.20)}
.tlb-hm .tlb-hm-s{padding:72px 0}
.tlb-hm .tlb-hm-alt{background:var(--paper)}
.tlb-hm .tlb-hm-rv-band{background:#f0f0f0}
.tlb-hm .tlb-hm-s--head{padding-bottom:28px}
.tlb-hm .tlb-hm-rv-embed{margin-top:28px}
.tlb-hm .tlb-hm-rv-band .tlb-hm-w{max-width:calc(1040px + var(--g) * 2)}
.tlb-hm .tlb-hm-rv-embed .vreview-embed-widget-iframe{display:block;width:100%}
.tlb-hm .tlb-hm-mag-cats{display:flex;gap:6px 20px;flex-wrap:wrap;margin-top:18px}
.tlb-hm .tlb-hm-mag-cats a{color:var(--mute);font-size:var(--tlb-fs-small);font-weight:600;white-space:nowrap}
.tlb-hm .tlb-hm-mag-cats a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.tlb-hm .tlb-hm-mag-cats a[aria-current="true"]{color:var(--ink);font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
@media (max-width:767px){
 .tlb-hm .tlb-hm-mag-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--g) * -1);padding-inline:var(--g)}
 .tlb-hm .tlb-hm-mag-cats::-webkit-scrollbar{display:none}
 .tlb-hm .tlb-hm-rv-embed{margin-inline:calc(var(--g) * -1)}
}
.tlb-hm .tag{display:block;width:max-content;max-width:100%;margin-bottom:10px;padding:1px 7px;border:1px solid #d6c7ec;border-radius:2px;color:#7a3fb0;font-size:var(--tlb-fs-tiny);font-family:var(--tlb-font-head);font-weight:600}
.tlb-hm .tlb-hm-hl{background:linear-gradient(transparent 60%,var(--hl) 60%);padding:0 2px}
.tlb-hm .tlb-hm-ttl{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:800;line-height:var(--tlb-lh-title);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-hm-head-row{display:flex;justify-content:space-between;align-items:end;gap:16px}
.tlb-hm .tlb-hm-more, .tlb-hm .tlb-hm-lc-more, .tlb-hm .tlb-hm-lc-all{position:relative;display:inline-block;padding:0 14px 4px 0;color:var(--ink);font-family:var(--tlb-font-head);font-weight:700;white-space:nowrap;transition:color .25s ease,padding-right .3s cubic-bezier(.2,.7,.2,1)}
.tlb-hm .tlb-hm-more::before, .tlb-hm .tlb-hm-lc-more::before, .tlb-hm .tlb-hm-lc-all::before{content:"";position:absolute;left:0;right:4px;bottom:0;height:1.6px;border-radius:2px;background:currentColor}
.tlb-hm .tlb-hm-more::after, .tlb-hm .tlb-hm-lc-more::after, .tlb-hm .tlb-hm-lc-all::after{content:"";position:absolute;right:0;bottom:0;width:12px;height:9px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath d='M1 8.2H11.2L6.2 3.2' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath d='M1 8.2H11.2L6.2 3.2' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/100% 100%}
.tlb-hm .tlb-hm-more:hover, .tlb-hm .tlb-hm-lc-more:hover, .tlb-hm .tlb-hm-lc-all:hover{padding-right:26px;color:var(--brand)}
.tlb-hm .tlb-hm-more{font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-hm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border-radius:4px;font-family:var(--tlb-font-head);font-weight:700}
.tlb-hm .tlb-hm-btn--main{background:var(--brand);color:#fff}
.tlb-hm .tlb-hm-btn--line{border:1.5px solid var(--ink);color:var(--ink)}
.tlb-hm .intro{padding:56px 0 64px;text-align:center}
.tlb-hm .intro .tlb-hm-kick{display:block;margin-bottom:12px;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:700}
.tlb-hm .intro h1{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:800;line-height:var(--tlb-lh-title)}
.tlb-hm .intro p{max-width:560px;margin:16px auto 0;color:var(--body)}
.tlb-hm .intro .free{margin-top:36px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-read);font-weight:700}
.tlb-hm .intro .acts{display:flex;justify-content:center;gap:10px;margin-top:16px}
.tlb-hm .tlb-hm-lineup-wrap{position:relative;margin-top:28px}
.tlb-hm .tlb-hm-lineup{display:grid;grid-auto-flow:column;grid-auto-columns:272px;grid-template-rows:repeat(5,auto);column-gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--edge) 4px;scroll-padding-inline:var(--edge)}
.tlb-hm .tlb-hm-lineup::-webkit-scrollbar{display:none}
.tlb-hm .tlb-hm-lc{grid-row:span 5;display:grid;grid-template-rows:subgrid;row-gap:0;scroll-snap-align:start;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px}
.tlb-hm .tlb-hm-lc-st{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700}
.tlb-hm .tlb-hm-lc-st b{color:var(--mute);font-weight:600;margin-left:4px}
.tlb-hm .tlb-hm-lc h3{margin-top:2px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:800}
.tlb-hm .tlb-hm-lc-img{display:block;width:100%;aspect-ratio:1;object-fit:cover;margin-top:14px;border-radius:4px;background:#f2f2f2}
.tlb-hm .tlb-hm-lc-desc{margin-top:12px;color:var(--body);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-ui);text-align:var(--tlb-prose-align-narrow,left)}
.tlb-hm .tlb-hm-lc-more{justify-self:end;align-self:end;margin-top:10px;font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-hm-lc-list{display:flex;flex-direction:column;margin-top:16px;padding-top:4px;border-top:1px solid var(--line)}
.tlb-hm .tlb-hm-lc-lt{display:block;color:var(--mute);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700}
.tlb-hm .tlb-hm-lc-list ul{list-style:none;margin-top:4px}
.tlb-hm .tlb-hm-lc-list li a{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px 0;border-bottom:1px dashed #dde0e4}
.tlb-hm .tlb-hm-lc-list li:last-child a{border-bottom:0}
.tlb-hm .tlb-hm-nm{font-size:var(--tlb-fs-small);font-weight:600;line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-hm-cp{grid-column:1;display:flex;flex-wrap:wrap;gap:4px}
.tlb-hm .tlb-hm-lc-list em{grid-row:1;grid-column:2;font-style:normal;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700;white-space:nowrap}
.tlb-hm .tlb-hm-chip{display:inline-block;padding:1px 6px;border:1px solid #cfd3d8;border-radius:3px;color:var(--body);font-size:var(--tlb-fs-tiny);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-hm-chip--off{color:#a3a9b0;border-style:dashed;text-decoration:line-through}
.tlb-hm .tlb-hm-n{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:5px;border-radius:3px;background:#E5484D;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-tiny);font-weight:800;vertical-align:1px}
.tlb-hm .tlb-hm-lu-arrow{position:absolute;top:0;bottom:0;z-index:2;width:var(--edge);min-width:36px;max-width:160px;padding:0;border:0;background:none;cursor:pointer;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:300;line-height:1;color:var(--ink)}
.tlb-hm .tlb-hm-lu-arrow--prev{left:0}
.tlb-hm .tlb-hm-lu-arrow--next{right:0}
.tlb-hm .tlb-hm-lu-arrow:disabled{opacity:0;pointer-events:none}
.tlb-hm .tlb-hm-lu-arrow:hover{color:var(--brand)}
.tlb-hm .pkg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.tlb-hm .pkg a{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:8px}
.tlb-hm .pkg img{width:52px;height:52px;object-fit:cover;border-radius:3px}
.tlb-hm .pkg b{display:block;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small)}
.tlb-hm .pkg small{color:var(--mute);font-size:var(--tlb-fs-caption)}
.tlb-hm .pkg em{margin-left:auto;font-style:normal;font-family:var(--tlb-font-head);font-weight:700;font-size:var(--tlb-fs-small);white-space:nowrap}
.tlb-hm .tlb-hm-rvs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.tlb-hm .tlb-hm-rvs blockquote{padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;border-bottom-left-radius:4px}
.tlb-hm .tlb-hm-rvs p{font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-hm-rvs cite{display:block;margin-top:10px;font-style:normal;color:var(--mute);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-hm-widget{margin-top:16px;padding:18px;border:1px dashed #cfd3d8;color:var(--mute);font-size:var(--tlb-fs-caption);text-align:center}
.tlb-hm .author{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:center}
.tlb-hm .author img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.tlb-hm .author .pen{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:700}
.tlb-hm .author p.say{margin-top:16px;color:var(--body)}
.tlb-hm .author ul{list-style:none;margin-top:20px;border-top:1px solid var(--line)}
.tlb-hm .author li{padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-hm-faqs{margin-top:24px;border-top:1px solid var(--ink)}
.tlb-hm .tlb-hm-faqs details{border-bottom:1px dashed #cdd1d6}
.tlb-hm .tlb-hm-faqs summary{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:58px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-read);font-weight:700;cursor:pointer;list-style:none}
.tlb-hm .tlb-hm-faqs summary::-webkit-details-marker{display:none}
.tlb-hm .tlb-hm-faqs summary::after{content:"+";color:var(--mute)}
.tlb-hm .tlb-hm-faqs details[open] summary::after{content:"-"}
.tlb-hm .tlb-hm-faqs p{padding:0 0 18px;color:var(--body);font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-hm-mag{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.tlb-hm .tlb-hm-mag a{display:block}
.tlb-hm .tlb-hm-mag .tlb-hm-th{display:flex;align-items:flex-end;aspect-ratio:16/10;padding:14px;border-radius:6px;background:#2b2621;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:800;line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-hm-mag i{display:block;margin-top:10px;font-style:normal;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700}
.tlb-hm .tlb-hm-mag b{display:block;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-hm-bottom{display:block}
.tlb-hm .tlb-hm-bottom h3{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-read);font-weight:800;padding-bottom:10px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between}
.tlb-hm .tlb-hm-bottom h3 a{font-size:var(--tlb-fs-caption);font-weight:600;color:var(--body)}
.tlb-hm .tlb-hm-bottom li{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-hm-bottom li small{color:var(--mute);white-space:nowrap}
@media (max-width:767px){
 .tlb-hm .tlb-hm-s{padding:52px 0}
 .tlb-hm .intro{padding:36px 0 44px}
 .tlb-hm .intro .acts{flex-direction:column}
 .tlb-hm .tlb-hm-btn{width:100%}
 .tlb-hm .tlb-hm-lineup{grid-auto-columns:78%}
 .tlb-hm .tlb-hm-lc-img{aspect-ratio:16/10}
 .tlb-hm .tlb-hm-lu-arrow{display:none}
 .tlb-hm .pkg, .tlb-hm .tlb-hm-rvs, .tlb-hm .tlb-hm-mag, .tlb-hm .tlb-hm-bottom{grid-template-columns:1fr}
 .tlb-hm .author{grid-template-columns:1fr;gap:20px}
 .tlb-hm .author img{max-width:200px}
}
.tlb-hm .tlb-hm-roll{position:relative;background:#0d0d10;color:#fff;user-select:none}
.tlb-hm .tlb-hm-roll-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.tlb-hm .tlb-hm-roll-track::-webkit-scrollbar{display:none}
.tlb-hm .tlb-hm-roll-track.tlb-hm-is-drag, .tlb-hm .tlb-hm-roll-track.tlb-hm-is-anim{scroll-snap-type:none}
.tlb-hm .tlb-hm-roll-track.tlb-hm-is-drag{cursor:grabbing}
.tlb-hm .tlb-hm-roll-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;display:flex;align-items:center;gap:48px;min-height:460px;padding:56px max(64px,var(--edge));overflow:hidden;color:#fff}
.tlb-hm .tlb-hm-roll-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.tlb-hm .tlb-hm-roll-slide::before{content:"";position:absolute;inset:0;z-index:1}
.tlb-hm .tlb-hm-roll-slide > *:not(.tlb-hm-roll-bg){position:relative;z-index:2}
.tlb-hm .tlb-hm-rs-txt{display:flex;flex-direction:column;align-items:flex-start}
.tlb-hm .tlb-hm-rs-kick{color:#C9A4F0;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:700}
.tlb-hm .tlb-hm-rs-big{display:block;margin-top:12px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:800;line-height:var(--tlb-lh-title)}
.tlb-hm .tlb-hm-rs-a{justify-content:space-between}
.tlb-hm .tlb-hm-rs-a::before{background:linear-gradient(90deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.8) 55%,rgba(8,8,10,.62) 100%)}
.tlb-hm .rs-badge{padding:4px 10px;border:1px solid #C9A4F0;border-radius:3px;color:#C9A4F0;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700}
.tlb-hm .rs-inc{display:flex;flex-wrap:wrap;gap:6px;max-width:460px;margin-top:22px}
.tlb-hm .rs-inc span{padding:5px 10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:3px;font-size:var(--tlb-fs-caption);color:rgba(255,255,255,.9)}
.tlb-hm .tlb-hm-rs-price{margin-top:26px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:800}
.tlb-hm .tlb-hm-rs-price small{display:block;margin-bottom:2px;color:rgba(255,255,255,.6);font-size:var(--tlb-fs-caption);font-weight:600}
.tlb-hm .tlb-hm-rs-stack{position:relative;width:340px;height:300px;flex:none}
.tlb-hm .tlb-hm-rs-stack img{position:absolute;width:210px;aspect-ratio:1;object-fit:cover;border-radius:4px;box-shadow:0 20px 40px rgba(0,0,0,.55)}
.tlb-hm .tlb-hm-rs-stack img:nth-child(1){left:0;top:40px;transform:rotate(-8deg);opacity:.8}
.tlb-hm .tlb-hm-rs-stack img:nth-child(2){left:70px;top:20px;transform:rotate(-3deg);opacity:.9}
.tlb-hm .tlb-hm-rs-stack img:nth-child(3){right:0;top:0;width:230px}
.tlb-hm .tlb-hm-rs-b::before{background:linear-gradient(90deg,rgba(8,8,10,.35) 0%,rgba(8,8,10,.8) 45%,rgba(8,8,10,.9) 100%)}
.tlb-hm .tlb-hm-rs-cover{width:300px;flex:none;aspect-ratio:1;object-fit:cover;border-radius:4px;transform:rotate(-4deg);box-shadow:0 24px 48px rgba(0,0,0,.6)}
.tlb-hm .rs-steps{list-style:none;counter-reset:k;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:22px;padding:0}
.tlb-hm .rs-steps li{counter-increment:k;font-size:var(--tlb-fs-small);color:rgba(255,255,255,.88)}
.tlb-hm .rs-steps li::before{content:counter(k);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:8px;border:1px solid rgba(255,255,255,.5);border-radius:3px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-tiny);font-weight:700}
.tlb-hm .tlb-hm-rs-meta{margin-top:22px;color:rgba(255,255,255,.62);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-hm-rs-c{justify-content:center;text-align:center}
.tlb-hm .tlb-hm-rs-c::before{background:rgba(6,10,30,.62)}
.tlb-hm .tlb-hm-rs-c .tlb-hm-rs-txt{align-items:center}
.tlb-hm .tlb-hm-rs-huge{display:block;margin-top:10px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-display);font-weight:800;line-height:var(--tlb-lh-none);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-hm-rs-sub{margin-top:18px;color:rgba(255,255,255,.8);font-size:var(--tlb-fs-body)}
.tlb-hm .tlb-hm-rs-cta{margin-top:26px;padding:13px 28px;border-radius:4px;background:#fff;color:#111;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:800}
.tlb-hm .tlb-hm-rs-tilt{width:200px;aspect-ratio:1;object-fit:cover;border-radius:4px;transform:rotate(8deg);box-shadow:0 24px 48px rgba(0,0,0,.6)}
.tlb-hm .tlb-hm-roll-arrow{position:absolute;top:0;bottom:0;z-index:3;width:56px;padding:0;border:0;background:none;color:rgba(255,255,255,.8);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:300;line-height:1;cursor:pointer;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.tlb-hm .tlb-hm-roll-arrow:hover{color:#fff}
.tlb-hm .tlb-hm-roll-arrow--prev{left:0}
.tlb-hm .tlb-hm-roll-arrow--next{right:0}
.tlb-hm .tlb-hm-roll-dots{position:absolute;left:0;right:0;bottom:18px;z-index:3;display:flex;justify-content:center;gap:8px}
.tlb-hm .tlb-hm-roll-dots button{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.4);cursor:pointer;transition:width .4s cubic-bezier(.2,.7,.2,1),background-color .4s ease}
.tlb-hm .tlb-hm-roll-dots button[aria-current="true"]{width:24px;background:#fff}
@media (prefers-reduced-motion: reduce){
 .tlb-hm .tlb-hm-roll-dots button{transition:none}
}
@media (max-width:767px){
 .tlb-hm .tlb-hm-roll-slide{min-height:340px;padding:30px 36px 52px;gap:14px}
 .tlb-hm .tlb-hm-rs-big{font-size:var(--tlb-fs-h5)}
 .tlb-hm .tlb-hm-rs-a::before, .tlb-hm .tlb-hm-rs-b::before{background:rgba(8,8,10,.78)}
 .tlb-hm .tlb-hm-rs-stack{display:none}
 .tlb-hm .rs-inc{margin-top:14px}
 .tlb-hm .rs-inc span{font-size:var(--tlb-fs-tiny);padding:3px 7px}
 .tlb-hm .tlb-hm-rs-price{margin-top:16px;font-size:var(--tlb-fs-h5)}
 .tlb-hm .tlb-hm-rs-b{flex-direction:row}
 .tlb-hm .tlb-hm-rs-cover{width:96px;align-self:flex-start;margin-top:8px}
 .tlb-hm .rs-steps{grid-template-columns:1fr;gap:4px;margin-top:12px}
 .tlb-hm .rs-steps li{font-size:var(--tlb-fs-caption)}
 .tlb-hm .tlb-hm-rs-meta{margin-top:12px}
 .tlb-hm .tlb-hm-rs-c{flex-direction:column;gap:18px}
 .tlb-hm .tlb-hm-rs-huge{font-size:var(--tlb-fs-title)}
 .tlb-hm .tlb-hm-rs-sub{font-size:var(--tlb-fs-small)}
 .tlb-hm .tlb-hm-rs-tilt{display:none}
 .tlb-hm .tlb-hm-roll-arrow{width:32px;font-size:var(--tlb-fs-h3)}
}
.tlb-hm .tlb-hm-lc-all{align-self:flex-end;margin-top:auto;font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-hm-lc-list .tlb-hm-lc-all{margin-top:auto;padding-top:0}
.tlb-hm .tlb-hm-lc-list ul{margin-bottom:12px}
.tlb-hm .quick{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;max-width:680px;margin:0 auto;padding:4px 0 44px}
.tlb-hm .quick a{display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700;color:var(--body);text-align:center}
.tlb-hm .quick span{display:flex;align-items:center;justify-content:center;width:100%;max-width:64px;aspect-ratio:1;border-radius:8px;background:#f6f7f9}
.tlb-hm .quick img{width:50%}
@media (max-width:767px){
 .tlb-hm .quick{grid-template-columns:repeat(4,1fr);row-gap:18px;padding-bottom:36px}
}
.tlb-hm .tlb-hm-lc-free{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;border:1.5px solid var(--ink);border-radius:4px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:700}
.tlb-hm .tlb-hm-concept{padding:96px 0 104px}
.tlb-hm .tlb-hm-concept-in{max-width:calc(1200px + var(--g) * 2);margin:0 auto;padding:0 var(--g)}
.tlb-hm .tlb-hm-concept-list{max-width:920px}
.tlb-hm .tlb-hm-concept-logo{display:block;width:auto;height:48px;margin-bottom:22px}
.tlb-hm .tlb-hm-concept-ttl{margin-bottom:48px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-tight);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-hm-concept-list{list-style:none;display:flex;flex-direction:column;gap:18px}
.tlb-hm .tlb-hm-concept-list li{color:var(--ink);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-hm-concept-list li:last-child{color:var(--brand);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-hm-concept-acts{display:flex;align-items:center;gap:10px;margin-top:56px}
@media (max-width:767px){
 .tlb-hm .tlb-hm-concept{padding:56px 0 64px}
 .tlb-hm .tlb-hm-concept-in{text-align:var(--tlb-prose-align)}
 .tlb-hm .tlb-hm-concept-logo{height:36px;margin-bottom:16px}
 .tlb-hm .tlb-hm-concept-ttl{margin-bottom:40px}
 .tlb-hm .tlb-hm-concept-list li{font-size:var(--tlb-fs-body)}
 .tlb-hm .tlb-hm-concept-acts{flex-direction:column;align-items:stretch;margin-top:40px}
}
.tlb-hm .tlb-hm-cta-free{position:relative}
.tlb-hm .tlb-hm-cta-bubble{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);padding:5px 10px;border-radius:4px;background:var(--ink);color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-tiny);font-weight:700;white-space:nowrap;animation:tlbBubble 1.8s ease-in-out infinite}
.tlb-hm .tlb-hm-cta-bubble::after{content:"";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--ink)}
@keyframes tlbBubble{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media (prefers-reduced-motion: reduce){
 .tlb-hm .tlb-hm-cta-bubble{animation:none}
}
.tlb-hm .tlb-hm-concept-acts{margin-top:68px}
@media (max-width:767px){
 .tlb-hm .tlb-hm-concept-acts{margin-top:52px;gap:14px}
 .tlb-hm .tlb-hm-concept-acts .tlb-hm-btn--line{order:2}
}
.tlb-hm .tlb-hm-rs-c .tlb-hm-rs-sub, .tlb-hm .tlb-hm-rs-sub{display:block;margin-top:16px;color:rgba(255,255,255,.8);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-hm-roll-slide .tlb-hm-rs-txt > *{opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease}
.tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-rs-txt > *{opacity:1;transform:none}
.tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-rs-txt > *:nth-child(2){transition-delay:.05s}
.tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-rs-txt > *:nth-child(3){transition-delay:.1s}
.tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-rs-txt > *:nth-child(4){transition-delay:.15s}
.tlb-hm .tlb-hm-rs-stack, .tlb-hm .tlb-hm-rs-cover, .tlb-hm .tlb-hm-rs-tilt{opacity:0;transition:opacity .45s ease,translate .45s cubic-bezier(.2,.7,.2,1),scale .5s cubic-bezier(.2,.7,.2,1)}
.tlb-hm .tlb-hm-rs-a .tlb-hm-rs-stack{translate:40px 0}
.tlb-hm .tlb-hm-rs-b .tlb-hm-rs-cover{translate:-40px 0}
.tlb-hm .tlb-hm-rs-c .tlb-hm-rs-tilt{translate:0 30px}
.tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-rs-stack, .tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-rs-cover, .tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-rs-tilt{opacity:1;translate:0 0}
.tlb-hm .tlb-hm-roll-bg{transform:scale(1.02);transition:transform 6s ease-out}
.tlb-hm .tlb-hm-roll-slide:hover, .tlb-hm .tlb-hm-roll-slide:focus, .tlb-hm .tlb-hm-roll-slide:visited{color:#fff;text-decoration:none}
.tlb-hm .tlb-hm-rs-txt{transition:scale .5s cubic-bezier(.2,.7,.2,1);transform-origin:left center}
.tlb-hm .tlb-hm-rs-c .tlb-hm-rs-txt{transform-origin:center}
@media (hover:hover){
 .tlb-hm .tlb-hm-roll-slide:hover .tlb-hm-rs-txt{scale:1.02}
 .tlb-hm .tlb-hm-roll-slide:hover .tlb-hm-rs-stack, .tlb-hm .tlb-hm-roll-slide:hover .tlb-hm-rs-cover, .tlb-hm .tlb-hm-roll-slide:hover .tlb-hm-rs-tilt{scale:1.04}
}
.tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-roll-bg{transform:scale(1.1)}
@media (prefers-reduced-motion: reduce){
 .tlb-hm .tlb-hm-roll-slide .tlb-hm-rs-txt > *, .tlb-hm .tlb-hm-rs-stack, .tlb-hm .tlb-hm-rs-cover, .tlb-hm .tlb-hm-rs-tilt, .tlb-hm .tlb-hm-rs-txt{opacity:1;transform:none;translate:0 0;scale:none;transition:none}
 .tlb-hm .tlb-hm-roll-bg, .tlb-hm .tlb-hm-roll-slide.tlb-hm-is-on .tlb-hm-roll-bg{transform:none;transition:none}
}
.tlb-hm .tlb-hm-notice1{max-width:1200px;margin:0 auto 36px;height:44px;overflow:hidden;border-bottom:1px solid #e5e5e5}
.tlb-hm .tlb-hm-notice1 ul{list-style:none;margin:0;padding:0;transition:transform .5s ease}
.tlb-hm .tlb-hm-notice1 li{height:44px;display:flex;align-items:center;font-size:var(--tlb-fs-small);color:#222}
.tlb-hm .tlb-hm-notice1 li a{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tlb-hm .tlb-hm-nn{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:4px;border-radius:50%;background:#ff4b4b;color:#fff;font-size:var(--tlb-fs-tiny);font-weight:700;vertical-align:1px}
.tlb-hm .quick{padding-bottom:24px}
@media (prefers-reduced-motion: reduce){
 .tlb-hm .tlb-hm-notice1 ul{transition:none}
}
@keyframes badgeBounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }
}
.tlb-hm .tlb-hm-pk{padding:80px 0;background:#fff}
.tlb-hm .tlb-hm-pk-ttl{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:800;line-height:var(--tlb-lh-title);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-hm-pk-guide{margin-top:14px;color:var(--body)}
.tlb-hm .tlb-hm-sec-lead{max-width:640px;margin-top:14px;color:var(--body);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-hm-camp{padding:96px 0;color:#fff;background:linear-gradient(180deg,rgba(11,11,17,.80),rgba(11,11,17,.92) 60%,rgba(11,11,17,.95)),url("https://tlb-assets.pages.dev/images/camp_bg.jpg") center/cover no-repeat,#0b0b11}
.tlb-hm .tlb-hm-camp .tlb-hm-ttl{color:#fff}
.tlb-hm .tlb-hm-camp .tlb-hm-more{color:#fff}
.tlb-hm .tlb-hm-camp .tlb-hm-more:hover{color:#c9a4f0}
.tlb-hm .tlb-hm-camp-big{margin-top:28px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title)}
.tlb-hm .tlb-hm-camp .tlb-hm-sec-lead{color:rgba(255,255,255,.72)}
.tlb-hm .tlb-hm-camp-gets{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;margin:44px 0 0;padding:28px 0 0;border-top:1px solid rgba(255,255,255,.16)}
.tlb-hm .tlb-hm-camp-gets li{display:flex;flex-direction:column;gap:6px;text-align:var(--tlb-prose-align-narrow,left)}
.tlb-hm .tlb-hm-camp-gets b{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-read);font-weight:var(--tlb-fw-heavy);color:#fff}
.tlb-hm .tlb-hm-camp-gets span{color:rgba(255,255,255,.62);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-hm-camp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.tlb-hm .tlb-hm-camp-card{display:flex;flex-direction:column;padding:24px 22px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.05);color:#fff;text-align:var(--tlb-prose-align-narrow,left);transition:border-color .2s ease,background-color .2s ease}
.tlb-hm .tlb-hm-camp-card:hover{border-color:rgba(201,164,240,.6);background:rgba(255,255,255,.08)}
.tlb-hm .tlb-hm-camp-st{color:#c9a4f0;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700}
.tlb-hm .tlb-hm-camp-card h3{margin-top:4px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:800}
.tlb-hm .tlb-hm-camp-meta{margin-top:6px;color:rgba(255,255,255,.6);font-size:var(--tlb-fs-caption);font-weight:600}
.tlb-hm .tlb-hm-camp-card p{margin-top:14px;color:rgba(255,255,255,.78);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-ui)}
@media (max-width:767px){
 .tlb-hm .tlb-hm-camp{padding:60px 0}
 .tlb-hm .tlb-hm-camp-gets{grid-template-columns:1fr 1fr;gap:22px 16px;margin-top:32px}
 .tlb-hm .tlb-hm-camp-cards{grid-template-columns:1fr;gap:12px;margin-top:32px}
}
.tlb-hm .tlb-hm-pk-tabs{display:none}
.tlb-hm .tlb-hm-pk-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(6,auto);column-gap:16px;margin-top:44px}
.tlb-hm .tlb-hm-pk-card{position:relative;display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;padding:26px 22px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:var(--tlb-prose-align-narrow,left)}
.tlb-hm .tlb-hm-pk-card--main{border:2px solid var(--brand);background:linear-gradient(180deg,rgba(150,45,227,.07),#fff 45%);box-shadow:0 16px 36px rgba(0,0,0,.10);transform:translateY(-12px)}
.tlb-hm .tlb-hm-pk-card--main .tlb-hm-pk-list li::before{border-color:var(--brand)}
.tlb-hm .tlb-hm-pk-card--main .tlb-hm-pk-price b{color:var(--brand)}
.tlb-hm .tlb-hm-pk-card--main .tlb-hm-pk-btn{background:var(--brand)}
.tlb-hm .tlb-hm-pk-rec{position:absolute;top:-13px;left:50%;translate:-50% 0;padding:3px 12px;background:var(--brand);color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700;border-radius:3px}
.tlb-hm .tlb-hm-pk-head{display:flex;align-items:center;gap:14px}
.tlb-hm .tlb-hm-pk-head img{width:72px;height:72px;object-fit:cover;border-radius:4px}
.tlb-hm .tlb-hm-pk-head b{display:block;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:800}
.tlb-hm .tlb-hm-pk-head small{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700}
.tlb-hm .tlb-hm-pk-copy{display:block;margin-top:16px}
.tlb-hm .tlb-hm-pk-one{display:block;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-read);font-weight:800}
.tlb-hm .tlb-hm-pk-card--main .tlb-hm-pk-one{color:var(--brand)}
.tlb-hm .tlb-hm-pk-body{display:block;margin-top:6px;color:var(--body);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-hm-pk-list li small{display:block;color:var(--mute);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-hm-pk-sum{align-self:end;margin-top:18px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:700;color:var(--ink)}
.tlb-hm .tlb-hm-pk-list{list-style:none;margin:14px 0 0;padding:0;flex:1}
.tlb-hm .tlb-hm-pk-list li{position:relative;padding:7px 0 7px 22px;border-bottom:1px dashed #e1e4e8;font-size:var(--tlb-fs-small);color:var(--body)}
.tlb-hm .tlb-hm-pk-list li::before{content:"";position:absolute;left:2px;top:13px;width:10px;height:6px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.tlb-hm .tlb-hm-pk-price{display:flex;flex-direction:column;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.tlb-hm .tlb-hm-pk-vs{color:var(--mute);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-hm-pk-vs s{margin-left:4px}
.tlb-hm .tlb-hm-pk-now{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.tlb-hm .tlb-hm-pk-now em{font-style:normal;color:#e5484d;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:800}
.tlb-hm .tlb-hm-pk-price b{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:800;white-space:nowrap}
.tlb-hm .tlb-hm-pk-save{margin-top:2px;color:var(--body);font-size:var(--tlb-fs-caption);font-weight:600}
.tlb-hm .tlb-hm-pk-btn{display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:20px;border-radius:4px;background:var(--ink);color:#fff;font-family:var(--tlb-font-head);font-weight:700}
.tlb-hm .tlb-hm-pk-btn--line{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.tlb-hm .tlb-hm-pk-single{display:inline-block;margin-top:22px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:700;color:var(--body)}
@media (max-width:767px){
 .tlb-hm .tlb-hm-pk{padding:56px 0}
 .tlb-hm .tlb-hm-pk-tabs{display:flex;gap:4px;margin-top:24px;padding:4px;background:#f2f0f5;border-radius:8px}
 .tlb-hm .tlb-hm-pk-tabs button{flex:1;min-height:44px;padding:0 4px;border:0;border-radius:6px;background:none;color:var(--mute);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:700;cursor:pointer}
 .tlb-hm .tlb-hm-pk-tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
 .tlb-hm .tlb-hm-pk-tabs button.tlb-hm-is-rec[aria-selected="true"]{color:var(--brand)}
 .tlb-hm .tlb-hm-pk-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;column-gap:12px;margin:4px calc(var(--g) * -1) 0;padding:18px var(--g) 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--g);scrollbar-width:none}
 .tlb-hm .tlb-hm-pk-cards::-webkit-scrollbar{display:none}
 .tlb-hm .tlb-hm-pk-card{scroll-snap-align:start;padding:24px 20px}
 .tlb-hm .tlb-hm-pk-card--main{transform:none}
}
.tlb-hm .tlb-hm-kick{display:inline-flex;align-items:center;gap:10px;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:700}
.tlb-hm .tlb-hm-kick::before{content:"";width:18px;height:1.5px;background:currentColor}
.tlb-hm .tlb-hm-kick--lt{color:#c9a4f0}
.tlb-hm .tlb-hm-accent{color:var(--brand)}
/* 히어로 4 (2026-10-07 대표: 여전히 디자인과 멘트가 후지다). 문구는 마케팅 메시징 정본 §2 승인 표현(등호, 서사, 면접 지시 문장).
   표지를 책등과 종이 단면이 있는 입체 책(.tlb-hm-bk3)으로 세우고, 조명이 떨어지는 무대에 놓는다. 슬라이드마다 톤이 다르다(보라 무대, 브론즈 무대, 밝은 민트) */
.tlb-hm .tlb-hm-roll-slide.tlb-hm-st{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;height:clamp(540px,66vh,640px);min-height:0;padding:0 max(96px,calc((100% - 1200px) / 2)) 72px;color:#fff;text-align:left;overflow:hidden}
.tlb-hm .tlb-hm-st::before{display:none}
.tlb-hm .tlb-hm-st-txt{display:flex;flex-direction:column;align-items:flex-start;max-width:620px}
.tlb-hm .tlb-hm-st-kick{display:inline-flex;align-items:center;gap:10px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-hm-st-kick::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.tlb-hm .tlb-hm-st-big{display:block;margin-top:18px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-tight);letter-spacing:var(--tlb-ls-head);word-break:keep-all}
.tlb-hm .tlb-hm-st-big em{font-style:normal}
.tlb-hm .tlb-hm-st-sub{display:block;max-width:520px;margin-top:22px;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-text);text-align:left;text-align-last:auto;word-break:keep-all}
.tlb-hm .tlb-hm-st-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tlb-hm .tlb-hm-st-chips span{padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.28);color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-hm-st-buy{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 26px;margin-top:30px}
.tlb-hm .tlb-hm-st-price{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none)}
.tlb-hm .tlb-hm-st-price s, .tlb-hm .tlb-hm-st-price small{display:block;margin-bottom:8px;opacity:.55;font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-medium)}
.tlb-hm .tlb-hm-st-btn{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 32px;border-radius:999px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy);transition:gap .25s,filter .2s}
.tlb-hm .tlb-hm-st-btn::after{content:"\2192"}
.tlb-hm .tlb-hm-st:hover .tlb-hm-st-btn{gap:16px;filter:brightness(1.08)}
.tlb-hm .tlb-hm-st-stage{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding-top:16px;perspective:1600px}
/* 입체 책: 앞표지, 오른쪽 종이 단면, 뒤판 */
.tlb-hm .tlb-hm-bk3{--w:220px;--d:34px;position:relative;display:block;width:var(--w);aspect-ratio:360 / 504;transform-style:preserve-3d;transform:rotateY(-28deg) rotateX(3deg)}
.tlb-hm .tlb-hm-bk3 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:2px 5px 5px 2px;transform:translateZ(calc(var(--d) / 2));box-shadow:inset 4px 0 6px rgba(255,255,255,.12)}
.tlb-hm .tlb-hm-bk3::before{content:"";position:absolute;top:4px;bottom:4px;left:0;width:calc(var(--d) - 2px);transform:translateX(calc(var(--w) - var(--d) / 2 - 3px)) rotateY(90deg);background:repeating-linear-gradient(90deg,#fbf8f1 0 2px,#e2ddd1 2px 3px)}
.tlb-hm .tlb-hm-bk3::after{content:"";position:absolute;inset:0;border-radius:2px 5px 5px 2px;transform:translateZ(calc(var(--d) / -2));background:#121214;box-shadow:-30px 40px 60px rgba(0,0,0,.55)}
/* 1. 패키지: 보라 무대 */
.tlb-hm .tlb-hm-st--pk{background:radial-gradient(ellipse 55% 75% at 76% 58%,rgba(150,45,227,.55) 0%,rgba(80,20,130,.25) 45%,rgba(0,0,0,0) 70%),linear-gradient(180deg,#120a1f 0%,#0b0714 100%)}
.tlb-hm .tlb-hm-st--pk .tlb-hm-st-kick{color:#d7b4ff}
.tlb-hm .tlb-hm-st--pk .tlb-hm-st-big em{background:linear-gradient(90deg,#e6c8ff,#b46cff);-webkit-background-clip:text;background-clip:text;color:transparent}
.tlb-hm .tlb-hm-st--pk .tlb-hm-st-sub{color:rgba(255,255,255,.74)}
.tlb-hm .tlb-hm-st--pk .tlb-hm-st-btn{background:#fff;color:#1b0f2b}
.tlb-hm .tlb-hm-st--pk .tlb-hm-st-stage::after{content:"";position:absolute;left:10%;right:10%;bottom:12%;height:44px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.6),rgba(0,0,0,0) 70%)}
.tlb-hm .tlb-hm-st--pk .tlb-hm-st-stage{justify-content:flex-start}
.tlb-hm .tlb-hm-st--pk .tlb-hm-bk3{--w:clamp(130px,11vw,168px);position:absolute;top:50%;margin-top:calc(var(--w) * -.7);transform:rotateY(-26deg)}
.tlb-hm .tlb-hm-st--pk .tlb-hm-bk3--1{left:2%;z-index:1;translate:0 -8%}
.tlb-hm .tlb-hm-st--pk .tlb-hm-bk3--2{left:21%;z-index:2;translate:0 -4%}
.tlb-hm .tlb-hm-st--pk .tlb-hm-bk3--3{left:40%;z-index:3}
.tlb-hm .tlb-hm-st--pk .tlb-hm-bk3--4{left:59%;z-index:4;--w:clamp(150px,13vw,196px);translate:0 5%}
.tlb-hm .tlb-hm-st--pk .tlb-hm-bk3--1 img{filter:brightness(.68)}
.tlb-hm .tlb-hm-st--pk .tlb-hm-bk3--2 img{filter:brightness(.8)}
.tlb-hm .tlb-hm-st--pk .tlb-hm-bk3--3 img{filter:brightness(.9)}
/* 2. 면접: 브론즈 무대와 떠 있는 질문 칩 */
.tlb-hm .tlb-hm-st--mj{background:radial-gradient(ellipse 50% 70% at 74% 55%,rgba(214,166,88,.38) 0%,rgba(120,80,30,.18) 45%,rgba(0,0,0,0) 72%),linear-gradient(180deg,#17110a 0%,#0e0a06 100%)}
.tlb-hm .tlb-hm-st--mj .tlb-hm-st-kick, .tlb-hm .tlb-hm-st--mj .tlb-hm-st-big em{color:#e8c47e}
.tlb-hm .tlb-hm-st--mj .tlb-hm-st-sub{color:rgba(255,246,230,.74)}
.tlb-hm .tlb-hm-st--mj .tlb-hm-st-btn{background:#e8c47e;color:#24180a}
.tlb-hm .tlb-hm-bk3--solo{--w:clamp(220px,19vw,280px)}
.tlb-hm .tlb-hm-st-q{position:absolute;z-index:2;padding:10px 16px;border-radius:14px 14px 14px 4px;background:rgba(255,248,235,.95);color:#2a1d0c;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy);box-shadow:0 14px 30px rgba(0,0,0,.35)}
.tlb-hm .tlb-hm-st-q--1{left:8%;top:20%}
.tlb-hm .tlb-hm-st-q--2{right:6%;top:14%;border-radius:14px 14px 4px 14px}
.tlb-hm .tlb-hm-st-q--3{left:4%;top:60%}
.tlb-hm .tlb-hm-st-q--4{right:8%;top:50%;border-radius:14px 14px 4px 14px;background:#e8c47e}
.tlb-hm .tlb-hm-st-q--5{left:34%;bottom:8%;background:#e8c47e}
/* 3. Basic: 밝은 민트, 큰 0원 */
.tlb-hm .tlb-hm-st--bs{background:radial-gradient(ellipse 55% 80% at 75% 55%,#ffffff 0%,rgba(255,255,255,0) 60%),linear-gradient(180deg,#e7f4ec 0%,#d9eee2 100%);color:#0f2a1e}
.tlb-hm .tlb-hm-st--bs .tlb-hm-st-kick, .tlb-hm .tlb-hm-st--bs .tlb-hm-st-big em{color:#14804f}
.tlb-hm .tlb-hm-st--bs .tlb-hm-st-big{color:#0f2a1e}
.tlb-hm .tlb-hm-st--bs .tlb-hm-st-sub{color:#3d5a4c}
.tlb-hm .tlb-hm-st--bs .tlb-hm-st-btn{background:#14804f;color:#fff}
.tlb-hm .tlb-hm-st-zero{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);color:transparent;-webkit-text-stroke:2px rgba(20,128,79,.28);font-family:var(--tlb-font-head);font-size:calc(var(--tlb-fs-display) * 3.4);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none);white-space:nowrap;pointer-events:none}
.tlb-hm .tlb-hm-st--bs .tlb-hm-bk3::after{box-shadow:-30px 40px 60px rgba(15,42,30,.28)}
/* 등장 */
.tlb-hm .tlb-hm-st .tlb-hm-st-txt > *{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-txt > *{opacity:1;transform:none}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-txt > *:nth-child(2){transition-delay:.08s}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-txt > *:nth-child(3){transition-delay:.16s}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-txt > *:nth-child(4){transition-delay:.24s}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-txt > *:nth-child(5){transition-delay:.32s}
.tlb-hm .tlb-hm-st .tlb-hm-st-stage{opacity:0;translate:50px 0;transition:opacity .7s ease .1s,translate 1s cubic-bezier(.16,.9,.22,1) .1s}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-stage{opacity:1;translate:0 0}
.tlb-hm .tlb-hm-st .tlb-hm-st-q{opacity:0;scale:.6;transition:opacity .35s ease,scale .5s cubic-bezier(.3,1.6,.5,1)}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q{opacity:1;scale:1}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q--1{transition-delay:.5s}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q--2{transition-delay:.65s}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q--3{transition-delay:.8s}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q--4{transition-delay:.95s}
.tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q--5{transition-delay:1.1s}
@media (prefers-reduced-motion:no-preference){
 .tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-bk3--solo{animation:tlbst-float 6s ease-in-out infinite}
 .tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q{animation:tlbst-bob 4s ease-in-out infinite}
 .tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q--2, .tlb-hm .tlb-hm-st.tlb-hm-is-on .tlb-hm-st-q--4{animation-delay:-2s}
}
@keyframes tlbst-float{0%,100%{transform:rotateY(-28deg) rotateX(3deg) translateY(0)}50%{transform:rotateY(-22deg) rotateX(3deg) translateY(-12px)}}
@keyframes tlbst-bob{0%,100%{translate:0 0}50%{translate:0 -6px}}
/* 이름 탭과 시간 막대 */
.tlb-hm .tlb-hm-roll-dots--tabs{bottom:0;justify-content:flex-start;gap:0;padding:0 max(72px,calc((100% - 1200px) / 2))}
.tlb-hm .tlb-hm-roll-dots--tabs button{position:relative;flex:0 1 220px;width:auto;height:auto;padding:16px 16px 26px 0;border-radius:0;background:none;color:rgba(255,255,255,.5);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);text-align:left;transition:color .3s}
.tlb-hm .tlb-hm-roll-dots--tabs button::before, .tlb-hm .tlb-hm-roll-dots--tabs button::after{content:"";position:absolute;left:0;right:16px;top:0;height:2px;background:rgba(255,255,255,.22)}
.tlb-hm .tlb-hm-roll-dots--tabs button::after{background:#fff;transform:scaleX(0);transform-origin:left}
.tlb-hm .tlb-hm-roll-dots--tabs button:hover{color:rgba(255,255,255,.85)}
.tlb-hm .tlb-hm-roll-dots--tabs button[aria-current="true"]{width:auto;background:none;color:#fff}
.tlb-hm .tlb-hm-roll-dots--tabs button[aria-current="true"]::after{animation:tlbhx-prog var(--roll-ms,5500ms) linear forwards}
.tlb-hm .tlb-hm-roll[data-tone="light"] .tlb-hm-roll-dots--tabs button{color:rgba(15,42,30,.5)}
.tlb-hm .tlb-hm-roll[data-tone="light"] .tlb-hm-roll-dots--tabs button[aria-current="true"]{color:#0f2a1e}
.tlb-hm .tlb-hm-roll[data-tone="light"] .tlb-hm-roll-dots--tabs button::before{background:rgba(15,42,30,.18)}
.tlb-hm .tlb-hm-roll[data-tone="light"] .tlb-hm-roll-dots--tabs button::after{background:#14804f}
.tlb-hm .tlb-hm-roll.tlb-hm-is-paused .tlb-hm-roll-dots--tabs button[aria-current="true"]::after{animation-play-state:paused}
@keyframes tlbhx-prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tlb-hm .tlb-hm-roll--hx .tlb-hm-roll-arrow{display:flex;align-items:center;justify-content:center;padding:0;top:50%;bottom:auto;width:64px;height:88px;margin-top:0;transform:translateY(-50%);border-radius:0;background:transparent;border:0;color:rgba(255,255,255,.48);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-display);font-weight:600;line-height:var(--tlb-lh-none);text-indent:-9999px;text-shadow:none;transition:color .2s}
.tlb-hm .tlb-hm-roll--hx .tlb-hm-roll-arrow::before{content:"";position:absolute;top:50%;left:20px;width:20px;height:40px;transform:translateY(-50%);background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 40'%3E%3Cpath d='M18 2L2 20L18 38' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.tlb-hm .tlb-hm-roll--hx .tlb-hm-roll-arrow--next::before{left:auto;right:20px;transform:translateY(-50%) rotate(180deg)}
.tlb-hm .tlb-hm-roll--hx .tlb-hm-roll-arrow:hover{color:rgba(255,255,255,.85)}
.tlb-hm .tlb-hm-roll--hx .tlb-hm-roll-arrow:focus-visible{outline:2px solid currentColor;outline-offset:-8px}
.tlb-hm .tlb-hm-roll--hx .tlb-hm-roll-arrow--prev{left:0}
.tlb-hm .tlb-hm-roll--hx .tlb-hm-roll-arrow--next{right:0}
.tlb-hm .tlb-hm-roll--hx[data-tone="light"] .tlb-hm-roll-arrow{color:rgba(15,42,30,.48)}
.tlb-hm .tlb-hm-roll--hx[data-tone="light"] .tlb-hm-roll-arrow:hover{color:rgba(15,42,30,.85)}
@media (max-width:767px){
 .tlb-hm .tlb-hm-roll-slide.tlb-hm-st{display:block;height:auto;min-height:400px;padding:32px 24px 76px}
 .tlb-hm .tlb-hm-st-txt{width:100%;max-width:none}
 .tlb-hm .tlb-hm-st-big{max-width:calc(100% - 120px);margin-top:12px;font-size:var(--tlb-fs-h2)}
 .tlb-hm .tlb-hm-st--mj .tlb-hm-st-big{font-size:var(--tlb-fs-h3)}
 .tlb-hm .tlb-hm-st-sub{max-width:calc(100% - 120px);margin-top:12px;font-size:var(--tlb-fs-small)}
 .tlb-hm .tlb-hm-st-chips{margin-top:14px;gap:6px}
 .tlb-hm .tlb-hm-st-chips span{padding:5px 10px}
 .tlb-hm .tlb-hm-st-buy{width:100%;justify-content:space-between;gap:12px 16px;margin-top:20px}
 .tlb-hm .tlb-hm-st--mj .tlb-hm-st-buy{margin-top:48px}
 .tlb-hm .tlb-hm-st-price{font-size:var(--tlb-fs-h5)}
 .tlb-hm .tlb-hm-st-btn{min-height:48px;padding:0 18px}
 .tlb-hm .tlb-hm-roll-slide.tlb-hm-st .tlb-hm-st-stage{position:absolute;top:80px;right:24px;width:104px;height:auto;margin-top:0;padding-top:0;perspective:900px}
 .tlb-hm .tlb-hm-roll--hx .tlb-hm-roll-arrow{display:none}
 .tlb-hm .tlb-hm-st--pk .tlb-hm-st-stage{justify-content:center}
 .tlb-hm .tlb-hm-st--pk .tlb-hm-bk3{--w:96px;position:relative;top:auto;left:auto;margin-top:0;translate:none}
 .tlb-hm .tlb-hm-st--pk .tlb-hm-bk3:not(.tlb-hm-bk3--4){display:none}
 .tlb-hm .tlb-hm-st--pk .tlb-hm-bk3--4{--w:96px;translate:none;transform:rotateY(-24deg)}
 .tlb-hm .tlb-hm-st--pk .tlb-hm-st-stage::after{display:none}
 .tlb-hm .tlb-hm-bk3, .tlb-hm .tlb-hm-bk3--solo{--w:96px;--d:16px}
 .tlb-hm .tlb-hm-st-q{display:none}
 .tlb-hm .tlb-hm-st-zero{font-size:var(--tlb-fs-display);-webkit-text-stroke-width:1px}
 .tlb-hm .tlb-hm-roll-dots--tabs{padding:0 24px}
 .tlb-hm .tlb-hm-roll-dots--tabs button{flex:1 1 0;padding:12px 8px 18px 0;font-size:var(--tlb-fs-caption)}
 .tlb-hm .tlb-hm-roll-dots--tabs button::before, .tlb-hm .tlb-hm-roll-dots--tabs button::after{right:8px}
}
@media (prefers-reduced-motion:reduce){.tlb-hm .tlb-hm-st .tlb-hm-st-txt > *, .tlb-hm .tlb-hm-st .tlb-hm-st-stage, .tlb-hm .tlb-hm-st .tlb-hm-st-q{opacity:1;transform:none;translate:none;scale:none;transition:none}.tlb-hm .tlb-hm-roll-dots--tabs button[aria-current="true"]::after{animation:none;transform:none}}
.tlb-hm .tlb-hm-route{padding:40px 0 120px;text-align:center}
.tlb-hm .tlb-hm-route .tlb-hm-kick, .tlb-hm .tlb-hm-route-ttl, .tlb-hm .tlb-hm-route-sub{text-align:center;text-align-last:center}
.tlb-hm .tlb-hm-route .tlb-hm-kick{justify-content:center}
.tlb-hm .tlb-hm-route-ttl{margin-top:14px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-tight);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-hm-route-sub{margin-top:18px;color:var(--body)}
.tlb-hm .tlb-hm-route-cards{--f:1;display:flex;justify-content:center;margin-top:64px;padding:30px 0 40px}
.tlb-hm .tlb-hm-route-card{--rot:0deg;--dy:0px;--dx:0px;position:relative;display:flex;flex-direction:column;align-items:flex-start;width:280px;min-height:340px;margin:0 6px;padding:26px 24px;border-radius:24px;text-align:left;box-shadow:0 18px 40px rgba(20,16,40,.10);transform:translateX(calc((1 - var(--f)) * var(--dx))) translateY(calc(var(--f) * var(--dy))) rotate(calc(var(--f) * var(--rot)));transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease}
.tlb-hm .tlb-hm-rc-1{--rot:-9deg;--dy:46px;--dx:300px;background:#F1ECFB;z-index:1}
.tlb-hm .tlb-hm-rc-2{--rot:-3deg;--dy:8px;--dx:100px;background:#EAF0FA;z-index:2}
.tlb-hm .tlb-hm-rc-3{--rot:3deg;--dy:8px;--dx:-100px;background:#F6F2EA;z-index:2}
.tlb-hm .tlb-hm-rc-4{--rot:9deg;--dy:46px;--dx:-300px;background:#EDF5EE;z-index:1}
@media (hover:hover){
 .tlb-hm .tlb-hm-route-card:hover{z-index:5;transform:translateY(-14px) rotate(0deg) scale(1.03);box-shadow:0 28px 56px rgba(20,16,40,.18)}
}
.tlb-hm .tlb-hm-rc-no{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:800}
.tlb-hm .tlb-hm-rc-no b{margin-left:6px;color:var(--mute);font-weight:600}
.tlb-hm .tlb-hm-rc-q{display:block;margin-top:12px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:800;line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-hm-rc-img{width:116px;aspect-ratio:1;object-fit:cover;margin:auto 0 0 auto;border-radius:6px;box-shadow:0 14px 28px rgba(0,0,0,.18);transform:rotate(6deg)}
.tlb-hm .tlb-hm-rc-go{position:relative;margin-top:14px;padding-right:22px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:800}
.tlb-hm .tlb-hm-rc-go::after{content:"";position:absolute;right:0;top:50%;width:14px;height:14px;margin-top:-7px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7h10M8 3l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7h10M8 3l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
@media (max-width:1023px){
 .tlb-hm .tlb-hm-route{padding:20px 0 72px}
 .tlb-hm .tlb-hm-route-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px;padding:0}
 .tlb-hm .tlb-hm-route-card{width:auto;min-height:240px;margin:0;padding:18px 16px;border-radius:18px;transform:rotate(calc(var(--f) * var(--rot) * .25))}
 .tlb-hm .tlb-hm-rc-q{font-size:var(--tlb-fs-small);word-break:keep-all}
 .tlb-hm .tlb-hm-rc-q br{display:none}
 .tlb-hm .tlb-hm-rc-img{width:72px}
}
@media (prefers-reduced-motion:reduce){
 .tlb-hm .tlb-hm-route-card{transition:none}
}
.tlb-hm .tlb-hm-lu-bar{display:none}
.tlb-hm .tlb-hm-lu-sec{overflow-x:clip}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin{height:var(--lu-h)}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lu-stick{position:sticky;top:var(--top,0px);display:flex;flex-direction:column;justify-content:center;height:calc(100vh - var(--top,0px))}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lineup{scroll-snap-type:none;overflow-x:hidden}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lu-arrow{display:none}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lc-img{aspect-ratio:2/1;margin-top:10px}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lc-list .tlb-hm-cp{display:none}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lc-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lc-list li:nth-child(n+4){display:none}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lc-list li a{padding:7px 0}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lc{padding:18px}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lineup{grid-auto-columns:clamp(300px,25vw,380px);column-gap:18px}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-sec-lead{margin-top:10px}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lineup-wrap{margin-top:20px}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lu-bar{display:block;position:relative;height:2px;margin-top:28px;background:var(--line)}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin .tlb-hm-lu-bar i{position:absolute;inset:0;background:var(--ink);transform-origin:0 50%;transform:scaleX(var(--lp,0))}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-pin{padding:0}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-tight .tlb-hm-sec-lead, .tlb-hm .tlb-hm-lu-sec.tlb-hm-is-tight .tlb-hm-lc-desc, .tlb-hm .tlb-hm-lu-sec.tlb-hm-is-tight .tlb-hm-lc-more{display:none}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-tight .tlb-hm-lc-img{aspect-ratio:5/2}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-tight .tlb-hm-lc-list{margin-top:12px}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-tight .tlb-hm-lineup-wrap{margin-top:16px}
.tlb-hm .tlb-hm-lu-sec.tlb-hm-is-tight .tlb-hm-lu-bar{margin-top:18px}
.tlb-hm .tlb-hm-scene{--si:0;clip-path:inset(0 calc(var(--si) * var(--g)) round calc(var(--si) * 36px))}
.tlb-hm .tlb-hm-camp-gets li{--k:0;translate:0 calc(var(--px,0) * var(--k) * 1px)}
.tlb-hm .tlb-hm-camp-gets li:nth-child(4n+1){--k:-26}
.tlb-hm .tlb-hm-camp-gets li:nth-child(4n+2){--k:18}
.tlb-hm .tlb-hm-camp-gets li:nth-child(4n+3){--k:-12}
.tlb-hm .tlb-hm-camp-gets li:nth-child(4n+4){--k:30}
@media (max-width:767px){
 .tlb-hm .tlb-hm-camp-gets li:nth-child(odd){--k:-14}
 .tlb-hm .tlb-hm-camp-gets li:nth-child(even){--k:14}
}
.tlb-hm .tlb-hm-cta-end{padding:96px 0;background:#111114;color:#fff}
.tlb-hm .tlb-hm-cta-in{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.tlb-hm .tlb-hm-cta-ttl{margin-top:18px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-tight);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-hm-cta-sub{max-width:460px;margin-top:20px;color:rgba(255,255,255,.7)}
.tlb-hm .tlb-hm-cta-r{justify-self:end;width:min(100%,420px)}
.tlb-hm .tlb-hm-cta-rt{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-read);font-weight:800}
.tlb-hm .tlb-hm-cta-steps{list-style:none;counter-reset:c;display:flex;flex-direction:column;gap:10px;margin:18px 0 0;padding:0}
.tlb-hm .tlb-hm-cta-steps li{counter-increment:c;display:grid;grid-template-columns:30px 1fr;column-gap:12px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.06)}
.tlb-hm .tlb-hm-cta-steps li::before{content:counter(c);grid-row:span 2;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;color:#111;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:800}
.tlb-hm .tlb-hm-cta-steps b{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:800}
.tlb-hm .tlb-hm-cta-steps span{color:rgba(255,255,255,.6);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-hm-cta-acts{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.tlb-hm .tlb-hm-cta-btn{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;background:#fff;color:#111;font-family:var(--tlb-font-head);font-weight:800;transition:transform .25s ease,background-color .25s ease}
.tlb-hm .tlb-hm-cta-btn:hover{transform:translateY(-2px)}
.tlb-hm .tlb-hm-cta-btn--line{background:none;color:#fff;border:1px solid rgba(255,255,255,.3)}
.tlb-hm .tlb-hm-cta-btn--line:hover{border-color:#fff}
@media (max-width:767px){
 .tlb-hm .tlb-hm-cta-end{padding:72px 0}
 .tlb-hm .tlb-hm-cta-in{grid-template-columns:1fr;gap:36px}
 .tlb-hm .tlb-hm-cta-r{padding:22px 18px}
}
.tlb-hm .tlb-hm-camp-pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:800;color:rgba(255,255,255,.85)}
.tlb-hm .tlb-hm-camp-pills i{font-style:normal;padding:5px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff}
.tlb-hm .tlb-hm-camp-card{padding:0;overflow:hidden;border-radius:18px}
.tlb-hm .tlb-hm-cp-stage{position:relative;display:flex;align-items:center;justify-content:center;height:260px;overflow:hidden}
.tlb-hm .tlb-hm-cp-1 .tlb-hm-cp-stage{background:radial-gradient(120% 90% at 15% 0%,rgba(150,45,227,.5),transparent 60%),linear-gradient(160deg,#241c3f,#121019)}
.tlb-hm .tlb-hm-cp-2 .tlb-hm-cp-stage{background:radial-gradient(120% 90% at 50% 0%,rgba(80,120,240,.45),transparent 60%),linear-gradient(160deg,#1b2645,#11141f)}
.tlb-hm .tlb-hm-cp-3 .tlb-hm-cp-stage{background:radial-gradient(120% 90% at 85% 0%,rgba(230,90,170,.4),transparent 60%),linear-gradient(160deg,#35203f,#140f1b)}
.tlb-hm .tlb-hm-cp-ex{position:absolute;top:12px;right:14px;color:rgba(255,255,255,.45);font-size:var(--tlb-fs-tiny);font-weight:600}
.tlb-hm .tlb-hm-cp-ui{width:78%;max-width:300px;padding:16px;border-radius:14px;background:rgba(255,255,255,.95);color:#1F2124;box-shadow:0 22px 44px rgba(0,0,0,.4);text-align:left;animation:cpFloat 6s ease-in-out infinite}
.tlb-hm .tlb-hm-cp-2 .tlb-hm-cp-ui{animation-delay:-2s}
.tlb-hm .tlb-hm-cp-3 .tlb-hm-cp-ui{animation-delay:-4s}
.tlb-hm .tlb-hm-cp-ui small{display:block;color:#8a8f98;font-size:var(--tlb-fs-tiny);font-weight:600}
.tlb-hm .tlb-hm-cp-h{display:block;margin-top:2px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-read);font-weight:800}
.tlb-hm .tlb-hm-cp-ui ul{list-style:none;display:flex;flex-direction:column;gap:6px;margin:10px 0 0;padding:0}
.tlb-hm .tlb-hm-cp-ui li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;height:34px;padding:0 10px;border-radius:8px;background:#f3f4f6;font-size:var(--tlb-fs-caption);font-weight:600}
.tlb-hm .tlb-hm-cp-list li::after{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid #c5c9d0;background:#fff no-repeat center/10px;animation:cpCheck 6s infinite}
.tlb-hm .tlb-hm-cp-list li:nth-child(2)::after{animation-delay:.7s}
.tlb-hm .tlb-hm-cp-list li:nth-child(3)::after{animation-delay:1.4s}
@keyframes cpCheck{0%,12%{border-color:#c5c9d0;background-color:#fff;background-image:none}20%,88%{border-color:#962DE3;background-color:#962DE3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}100%{border-color:#c5c9d0;background-color:#fff;background-image:none}}
.tlb-hm .tlb-hm-cp-rank li em{font-style:normal;color:#687079;font-family:var(--tlb-font-head);font-weight:700}
.tlb-hm .tlb-hm-cp-rank .tlb-hm-cp-me{background:#f1e8fb;color:#7a2fc0}
.tlb-hm .tlb-hm-cp-rank .tlb-hm-cp-me em{color:#7a2fc0}
.tlb-hm .tlb-hm-cp-me i{margin-left:4px;font-style:normal;font-size:var(--tlb-fs-tiny);color:#962DE3;opacity:0;animation:cpTag 5s infinite}
.tlb-hm .tlb-hm-cp-rank li:nth-child(2){animation:cpDown 5s cubic-bezier(.2,.7,.2,1) infinite}
.tlb-hm .tlb-hm-cp-rank .tlb-hm-cp-me{animation:cpUp 5s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes cpUp{0%,35%{transform:none}48%,88%{transform:translateY(-40px)}100%{transform:none}}
@keyframes cpDown{0%,35%{transform:none}48%,88%{transform:translateY(40px)}100%{transform:none}}
@keyframes cpTag{0%,45%{opacity:0}55%,88%{opacity:1}100%{opacity:0}}
.tlb-hm .tlb-hm-cp-state{display:grid}
.tlb-hm .tlb-hm-cp-state small{grid-area:1/1}
.tlb-hm .tlb-hm-cp-a{animation:cpA 6s infinite}
.tlb-hm .tlb-hm-cp-b{opacity:0;color:#962DE3 !important;animation:cpB 6s infinite}
@keyframes cpA{0%,55%{opacity:1}62%,94%{opacity:0}100%{opacity:1}}
@keyframes cpB{0%,55%{opacity:0}62%,94%{opacity:1}100%{opacity:0}}
.tlb-hm .tlb-hm-cp-grade li::before{content:"";position:absolute;right:10px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:2px solid #d9dce1;border-top-color:#962DE3;animation:cpSpin .9s linear infinite,cpOut 6s infinite}
.tlb-hm .tlb-hm-cp-grade li::after{content:"";width:16px;height:16px;border-radius:50%;background:#962DE3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/9px;opacity:0;animation:cpIn 6s infinite}
.tlb-hm .tlb-hm-cp-grade li:nth-child(2)::before, .tlb-hm .tlb-hm-cp-grade li:nth-child(2)::after{animation-delay:0s,.5s}
.tlb-hm .tlb-hm-cp-grade li:nth-child(2)::after{animation-delay:.5s}
.tlb-hm .tlb-hm-cp-grade li:nth-child(3)::before{animation-delay:0s,1s}
.tlb-hm .tlb-hm-cp-grade li:nth-child(3)::after{animation-delay:1s}
.tlb-hm .tlb-hm-cp-grade li:nth-child(4)::before{animation-delay:0s,1.5s}
.tlb-hm .tlb-hm-cp-grade li:nth-child(4)::after{animation-delay:1.5s}
@keyframes cpSpin{to{transform:rotate(360deg)}}
@keyframes cpOut{0%,30%{opacity:1}36%,92%{opacity:0}100%{opacity:1}}
@keyframes cpIn{0%,30%{opacity:0}36%,92%{opacity:1}100%{opacity:0}}
@keyframes cpFloat{0%,100%{translate:0 0}50%{translate:0 -6px}}
.tlb-hm .tlb-hm-cp-txt{display:flex;flex-direction:column;padding:22px 22px 26px}
@media (max-width:767px){
 .tlb-hm .tlb-hm-cp-stage{height:220px}
 .tlb-hm .tlb-hm-camp-pills{font-size:var(--tlb-fs-read)}
}
@media (prefers-reduced-motion:reduce){
 .tlb-hm .tlb-hm-cp-ui, .tlb-hm .tlb-hm-cp-ui *, .tlb-hm .tlb-hm-cp-ui *::before, .tlb-hm .tlb-hm-cp-ui *::after{animation:none !important}
 .tlb-hm .tlb-hm-cp-b{opacity:0}
}
.tlb-hm .tlb-hm-hp-sec{margin-top:56px}
.tlb-hm .tlb-hm-hp-head{display:flex;flex-direction:column;gap:12px}
.tlb-hm .tlb-hm-hp-ttl{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title);color:#fff}
.tlb-hm .tlb-hm-hp-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(280px,24vw,350px);gap:18px;margin:32px calc(var(--g) * -1) 0;padding:0 var(--g) 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--g);scrollbar-width:none}
.tlb-hm .tlb-hm-hp-track::-webkit-scrollbar{display:none}
.tlb-hm .tlb-hm-hp-card{scroll-snap-align:start;display:flex;flex-direction:column}
.tlb-hm .tlb-hm-hp-stage{display:flex;align-items:center;justify-content:center;height:230px;border-radius:18px;overflow:hidden;background:radial-gradient(120% 90% at 20% 0%,rgba(150,45,227,.45),transparent 60%),linear-gradient(160deg,#221a3a,#111019)}
.tlb-hm .tlb-hm-hp-card:nth-child(3n+2) .tlb-hm-hp-stage{background:radial-gradient(120% 90% at 50% 0%,rgba(80,120,240,.42),transparent 60%),linear-gradient(160deg,#1a2442,#10131d)}
.tlb-hm .tlb-hm-hp-card:nth-child(3n) .tlb-hm-hp-stage{background:radial-gradient(120% 90% at 85% 0%,rgba(230,90,170,.36),transparent 60%),linear-gradient(160deg,#321e3c,#130e19)}
.tlb-hm .tlb-hm-hp-stage .tlb-hm-cp-ui{width:80%}
.tlb-hm .tlb-hm-hp-cap{display:flex;flex-direction:column;gap:6px;margin-top:16px;text-align:var(--tlb-prose-align-narrow,left)}
.tlb-hm .tlb-hm-hp-cap b{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-read);font-weight:800;line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-hm-hp-cap span{color:rgba(255,255,255,.6);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-hm-hp-bar{margin-top:26px;background:rgba(255,255,255,.15)}
.tlb-hm .tlb-hm-hp-bar i{background:#fff}
.tlb-hm .tlb-hm-hp-sec.tlb-hm-is-pin{height:var(--lu-h)}
.tlb-hm .tlb-hm-hp-sec.tlb-hm-is-pin .tlb-hm-hp-stick{position:sticky;top:var(--top,0px);display:flex;flex-direction:column;justify-content:center;height:calc(100vh - var(--top,0px))}
.tlb-hm .tlb-hm-hp-sec.tlb-hm-is-pin .tlb-hm-hp-track{scroll-snap-type:none;overflow-x:hidden}
.tlb-hm .tlb-hm-hp-sec .tlb-hm-hp-bar{display:none}
.tlb-hm .tlb-hm-hp-sec.tlb-hm-is-pin .tlb-hm-hp-bar{display:block;position:relative;height:2px}
.tlb-hm .tlb-hm-hp-sec.tlb-hm-is-pin .tlb-hm-hp-bar i{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--lp,0))}
.tlb-hm .tlb-hm-hp-prog li{flex-direction:column;align-items:stretch;justify-content:center;gap:5px;height:44px}
.tlb-hm .tlb-hm-hp-prog i{display:block;height:5px;border-radius:3px;background:#e6e7eb;overflow:hidden}
.tlb-hm .tlb-hm-hp-prog i::after{content:"";display:block;height:100%;width:0;border-radius:3px;background:#962DE3;animation:hpFill 5s ease-in-out infinite}
.tlb-hm .tlb-hm-hp-prog li:nth-child(2) i::after{animation-delay:.8s}
@keyframes hpFill{0%,10%{width:0}60%,90%{width:100%}100%{width:0}}
.tlb-hm .tlb-hm-hp-choice{list-style:none;display:flex;gap:6px;margin:10px 0 0;padding:0}
.tlb-hm .tlb-hm-hp-choice li{flex:1;justify-content:center;height:32px;padding:0}
.tlb-hm .tlb-hm-hp-choice li:nth-child(3){animation:hpPick 5s infinite}
@keyframes hpPick{0%,30%{background:#f3f4f6;color:inherit}40%,90%{background:#962DE3;color:#fff}100%{background:#f3f4f6;color:inherit}}
.tlb-hm .tlb-hm-hp-exp{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:999px;background:#f1e8fb;color:#7a2fc0;font-size:var(--tlb-fs-tiny);font-weight:700;opacity:0;animation:hpShow 5s infinite}
@keyframes hpShow{0%,45%{opacity:0;transform:translateY(4px)}55%,90%{opacity:1;transform:none}100%{opacity:0}}
.tlb-hm .tlb-hm-hp-chips{flex-direction:row !important;flex-wrap:wrap}
.tlb-hm .tlb-hm-hp-chips li{height:28px;padding:0 10px;border-radius:999px;background:#eef1fb;color:#3554b4;opacity:0;animation:hpChip 6s infinite}
.tlb-hm .tlb-hm-hp-chips li:nth-child(2){animation-delay:.5s}
.tlb-hm .tlb-hm-hp-chips li:nth-child(3){animation-delay:1s}
@keyframes hpChip{0%,8%{opacity:0;transform:translateX(-8px)}18%,85%{opacity:1;transform:none}100%{opacity:0}}
.tlb-hm .tlb-hm-hp-lines{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.tlb-hm .tlb-hm-hp-lines i{display:block;height:8px;border-radius:4px;background:#e6e7eb;width:0;animation:hpLine 6s infinite}
.tlb-hm .tlb-hm-hp-lines i:nth-child(1){--w:92%}
.tlb-hm .tlb-hm-hp-lines i:nth-child(2){--w:78%;animation-delay:.6s}
.tlb-hm .tlb-hm-hp-lines i:nth-child(3){--w:55%;animation-delay:1.2s}
@keyframes hpLine{0%,5%{width:0}25%,90%{width:var(--w)}100%{width:0}}
.tlb-hm .tlb-hm-hp-sub{display:grid;margin-top:12px}
.tlb-hm .tlb-hm-hp-sub em{grid-area:1/1;font-style:normal;font-size:var(--tlb-fs-tiny);font-weight:700;color:#8a8f98}
.tlb-hm .tlb-hm-hp-sub .tlb-hm-cp-b{color:#962DE3}
.tlb-hm .tlb-hm-hp-bars{display:flex;align-items:flex-end;gap:8px;height:84px;margin-top:12px}
.tlb-hm .tlb-hm-hp-bars i{flex:1;border-radius:5px 5px 2px 2px;background:#dfe2e8;height:30%;animation:hpBar 5s ease-in-out infinite}
.tlb-hm .tlb-hm-hp-bars i:nth-child(1){--h:62%}
.tlb-hm .tlb-hm-hp-bars i:nth-child(2){--h:78%}
.tlb-hm .tlb-hm-hp-bars i:nth-child(4){--h:54%}
.tlb-hm .tlb-hm-hp-bars i:nth-child(5){--h:40%}
.tlb-hm .tlb-hm-hp-bars .tlb-hm-hp-mine{--h:96%;background:#962DE3}
@keyframes hpBar{0%,10%{height:20%}55%,90%{height:var(--h)}100%{height:20%}}
.tlb-hm .tlb-hm-hp-chat{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.tlb-hm .tlb-hm-hp-chat p{max-width:86%;padding:8px 11px;border-radius:12px;font-size:var(--tlb-fs-caption);font-weight:600;opacity:0;animation:hpChat 6s infinite}
@keyframes hpChat{0%,6%{opacity:0;transform:translateY(6px)}14%,92%{opacity:1;transform:none}100%{opacity:0}}
.tlb-hm .tlb-hm-hp-q{align-self:flex-end;background:#962DE3;color:#fff;border-bottom-right-radius:3px}
.tlb-hm .tlb-hm-hp-a{align-self:flex-start;background:#f3f4f6;border-bottom-left-radius:3px;animation-delay:1s !important}
.tlb-hm .tlb-hm-hp-ring{position:relative;display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:10px auto 0}
.tlb-hm .tlb-hm-hp-ring i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#962DE3 0 100deg,#e6e7eb 0);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%);animation:hpRing 6s linear infinite}
.tlb-hm .tlb-hm-hp-ring span{font-size:var(--tlb-fs-tiny);font-weight:700;text-align:center;line-height:1.3;color:#3a4046}
@keyframes hpRing{to{transform:rotate(360deg)}}
.tlb-hm .tlb-hm-hp-steps{list-style:none;display:grid !important;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 0;padding:0}
.tlb-hm .tlb-hm-hp-steps li{justify-content:center;padding:0;font-size:var(--tlb-fs-tiny);animation:hpStep 6s infinite}
.tlb-hm .tlb-hm-hp-steps li:nth-child(2){animation-delay:.6s}
.tlb-hm .tlb-hm-hp-steps li:nth-child(3){animation-delay:1.2s}
.tlb-hm .tlb-hm-hp-steps li:nth-child(4){animation-delay:1.8s}
@keyframes hpStep{0%,8%{background:#f3f4f6;color:inherit}16%,85%{background:#962DE3;color:#fff}100%{background:#f3f4f6;color:inherit}}
@media (min-width:1024px){
 .tlb-hm .tlb-hm-hp-track{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px;margin:32px 0 0;padding:0;overflow:visible}
}
@media (max-width:767px){
 .tlb-hm .tlb-hm-hp-ttl{font-size:var(--tlb-fs-h4)}
 .tlb-hm .tlb-hm-hp-track{grid-auto-columns:78%}
 .tlb-hm .tlb-hm-hp-stage{height:200px}
}
@media (prefers-reduced-motion:reduce){
 .tlb-hm .tlb-hm-hp-stage *, .tlb-hm .tlb-hm-hp-stage *::before, .tlb-hm .tlb-hm-hp-stage *::after{animation:none !important;opacity:1 !important}
}
.tlb-hm .tlb-hm-cp-stage:not(.tlb-hm-is-run) *, .tlb-hm .tlb-hm-cp-stage:not(.tlb-hm-is-run) *::before, .tlb-hm .tlb-hm-cp-stage:not(.tlb-hm-is-run) *::after, .tlb-hm .tlb-hm-hp-stage:not(.tlb-hm-is-run) *, .tlb-hm .tlb-hm-hp-stage:not(.tlb-hm-is-run) *::before, .tlb-hm .tlb-hm-hp-stage:not(.tlb-hm-is-run) *::after{animation-play-state:paused !important}
.tlb-hm .tlb-button-section .grid-item{color:#333;text-decoration:none;transition:transform .2s ease;-webkit-tap-highlight-color:transparent}
.tlb-hm .tlb-button-section .icon-wrapper{display:flex;justify-content:center;align-items:center;position:relative;background-color:#f6f7f9;border:1px solid transparent;transition:all .3s cubic-bezier(.25,.8,.25,1)}
.tlb-hm .tlb-button-section .grid-item:hover .icon-wrapper{background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);transform:translateY(-4px);border-color:#eaeaea}
.tlb-hm .tlb-button-section .icon-wrapper img{transition:transform .3s ease}
.tlb-hm .tlb-button-section .grid-item:hover img{transform:scale(1.1)}
.tlb-hm .tlb-button-section .grid-item .label{color:#4b5563;transition:color .2s}
.tlb-hm .tlb-button-section .grid-item:hover .label{color:#111}
.tlb-hm .tlb-button-section .grid-item .badge{position:absolute;top:-8px;z-index:10;display:flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:20px;background:linear-gradient(135deg,#962DE3,#5E33FA);color:#fff;font-size:var(--tlb-fs-tiny);font-weight:700;white-space:nowrap;box-shadow:0 4px 10px rgba(99,102,241,.3);animation:badgeBounce 2s infinite ease-in-out}
/* 홈은 폭 제한 없이: 아임웹 섹션 안쪽 상자(980)를 코드 칸과 데이터 위젯이 있는 섹션에서만 푼다 */
html:is(:root,#tlb-hm-id) body:has(.tlb-hm) .inside:has(.tlb-hm, ._widget_data[data-widget-type="newest"], ._widget_data[data-widget-type="external_app_widget"]){max-width:none !important}
body:has(.tlb-hm) [doz_type="widget"]:has(._widget_data[data-widget-type="newest"]), body:has(.tlb-hm) [doz_type="widget"]:has(._widget_data[data-widget-type="external_app_widget"]){box-sizing:border-box;max-width:min(1200px,calc(100vw - 2 * clamp(20px,5vw,96px)));margin-inline:auto}
/* 최신글 목록(칼럼, 공지) 아래에 코드 칸과 같은 여백 */
body:has(.tlb-hm) [doz_type="widget"]:has(._widget_data[data-widget-type="newest"]){padding-bottom:72px}
@media (max-width:767px){body:has(.tlb-hm) [doz_type="widget"]:has(._widget_data[data-widget-type="newest"]){padding-bottom:52px}
 /* 폰 2열 칼럼 카드는 요약을 숨기고 사진, 분류, 제목만 */
 /* 아임웹이 위젯 ID 선택자 + !important로 요약을 보이게 해서, :is(:root,#tlb-id)로 ID 우선순위를 얻는다 */
 html:is(:root,#tlb-hm-id) body:has(.tlb-hm) ._widget_data[data-widget-type="newest"] .list-style-gallery .text-block.show_body{display:none !important}}
@keyframes tlbhm-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes tlbhm-rise-s{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes tlbhm-from-l{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
@keyframes tlbhm-hlsweep{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes tlbhm-pop{from{opacity:0;transform:translateY(10px) scale(.7)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:none}}
@keyframes tlbhm-book{from{opacity:0;transform:translateY(60px) rotate(-1.5deg) scale(.96)}to{opacity:1;transform:none}}
.tlb-hm .tlb-hm-hl{background-repeat:no-repeat;background-position:0 0;background-size:100% 100%}
@media (prefers-reduced-motion: no-preference){
@supports (animation-timeline: view()){
.tlb-hm :is(.tlb-hm-ttl,.tlb-hm-pk-ttl,.tlb-hm-concept-ttl,.tlb-hm-bottom h3){animation:tlbhm-rise linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
.tlb-hm .tlb-hm-hl{animation:tlbhm-hlsweep linear both;animation-timeline:view();animation-range:entry 60% cover 38%}
.tlb-hm :is(.tlb-hm-pk-guide,.tlb-hm-more,.tlb-hm-mag-cats,.tlb-hm-pk-single,.tlb-hm-concept-logo){animation:tlbhm-rise linear both;animation-timeline:view();animation-range:entry 10% entry 90%}
.tlb-hm .tlb-hm-concept-list li{animation:tlbhm-rise linear both;animation-timeline:view();animation-range:entry 10% entry 90%}
.tlb-hm .tlb-hm-concept-acts{animation:tlbhm-rise-s linear both;animation-timeline:view();animation-range:entry 0% entry 75%}
.tlb-hm .tlb-button-section .grid-item{animation:tlbhm-rise-s linear both;animation-timeline:view();animation-range:entry 0% entry 75%}
.tlb-hm .tlb-hm-pk-card{animation:tlbhm-rise-s linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
.tlb-hm .tlb-hm-pk-list li{animation:tlbhm-from-l linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
.tlb-hm .tlb-hm-lineup-wrap{animation:tlbhm-book linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
.tlb-hm .tlb-hm-rv-embed{animation:tlbhm-rise-s linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
.tlb-hm .tlb-hm-faqs details{animation:tlbhm-from-l linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
.tlb-hm :is(.tlb-hm-camp-gets li,.tlb-hm-camp-card,.tlb-hm-camp-big){animation:tlbhm-rise-s linear both;animation-timeline:view();animation-range:entry 0% entry 75%}
.tlb-hm .tlb-hm-camp-pills i{animation:tlbhm-pop linear both;animation-timeline:view();animation-range:entry 30% entry 80%}
.tlb-hm .tlb-hm-camp-pills i:nth-of-type(2){animation-range:entry 45% entry 95%}
.tlb-hm .tlb-hm-camp-pills i:nth-of-type(3){animation-range:entry 60% cover 30%}
}
}
.tlb-hm-progress{position:fixed;left:0;right:0;top:var(--top,0px);z-index:9999;height:2px;background:#962DE3;transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
@media (prefers-reduced-motion: reduce){.tlb-hm-progress{display:none}}
.tlb-hm-notice-src{display:none !important}

/* 홈 메인 트레이닝 캠프 컨셉색 (2026-10-08): 색상만 로고 연두로 통일 */
.tlb-hm .tlb-hm-camp{--tlb-hm-camp-accent:#C2F707;--tlb-hm-camp-ui-ink:#1F2124;--tlb-hm-camp-ui-green:#344304}
.tlb-hm .tlb-hm-camp :is(.tlb-hm-ttl,.tlb-hm-more,.tlb-hm-camp-st,.tlb-hm-camp-card h3){color:var(--tlb-hm-camp-accent)}
.tlb-hm .tlb-hm-camp .tlb-hm-more:hover{color:var(--tlb-hm-camp-accent)}
.tlb-hm .tlb-hm-camp .tlb-hm-camp-card:hover{border-color:var(--tlb-hm-camp-accent)}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-1 .tlb-hm-cp-stage{background:radial-gradient(120% 90% at 15% 0%,color-mix(in srgb,var(--tlb-hm-camp-accent) 28%,transparent),transparent 60%),linear-gradient(160deg,#1c2611,#11160d)}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-2 .tlb-hm-cp-stage{background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--tlb-hm-camp-accent) 28%,transparent),transparent 60%),linear-gradient(160deg,#1c2611,#11160d)}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-3 .tlb-hm-cp-stage{background:radial-gradient(120% 90% at 85% 0%,color-mix(in srgb,var(--tlb-hm-camp-accent) 28%,transparent),transparent 60%),linear-gradient(160deg,#1c2611,#11160d)}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-rank .tlb-hm-cp-me{background:var(--tlb-hm-camp-accent);color:var(--tlb-hm-camp-ui-ink)}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-rank .tlb-hm-cp-me em,
.tlb-hm .tlb-hm-camp .tlb-hm-cp-me i{color:var(--tlb-hm-camp-ui-ink)}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-b{color:var(--tlb-hm-camp-ui-green) !important}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-list li::after{animation-name:tlb-hm-camp-check}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-grade li::before{border-top-color:var(--tlb-hm-camp-ui-green)}
.tlb-hm .tlb-hm-camp .tlb-hm-cp-grade li::after{background-color:var(--tlb-hm-camp-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' fill='none' stroke='%231F2124' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@keyframes tlb-hm-camp-check{0%,12%{border-color:#c5c9d0;background-color:#fff;background-image:none}20%,88%{border-color:var(--tlb-hm-camp-accent);background-color:var(--tlb-hm-camp-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' fill='none' stroke='%231F2124' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}100%{border-color:#c5c9d0;background-color:#fff;background-image:none}}

/* 홈 캠프 로고·관리반 바로가기 (2026-10-08) */
.tlb-hm .tlb-button-section .tlb-shortcut-camp .icon-wrapper img{width:calc(100% - 2 * var(--tlb-space-xs));height:auto;max-width:none;object-fit:contain;filter:brightness(0) opacity(.78)}
/* BEGIN Home camp chip and centered concept · home-chip-center-codex · 2026-10-10 */
.tlb-hm .tlb-button-section .tlb-shortcut-camp .tlb-shortcut-camp-badge{background:linear-gradient(135deg,#C2F707,#E2FF80);color:#1F2124;box-shadow:0 4px 10px rgba(120,156,4,.3)}
.tlb-hm .tlb-hm-concept-in{text-align:center}
.tlb-hm .tlb-hm-concept-logo{margin-inline:auto}
.tlb-hm .tlb-hm-concept-in>.tlb-hm-concept-ttl{text-align:center!important;text-align-last:center!important}
.tlb-hm .tlb-hm-concept-in>.tlb-hm-sec-lead{margin-inline:auto;text-align:center!important;text-align-last:center!important}
.tlb-hm .tlb-hm-concept-acts{justify-content:center}
/* END Home camp chip and centered concept */
.tlb-hm .tlb-hm-camp-logo{display:block;width:min(300px,54vw);height:auto}
.tlb-hm .tlb-hm-camp-brand-label{display:block;margin-top:12px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-ui);letter-spacing:var(--tlb-ls-head);color:#ddd}
@media (max-width:767px){.tlb-hm .tlb-hm-camp .tlb-hm-head-row{flex-direction:column;align-items:flex-start;gap:16px}.tlb-hm .tlb-hm-camp-logo{width:min(300px,72vw)}}
/* END Home v2 */
/* BEGIN Category series landing 2026-10-06 */
/* 아임웹 위젯, 섹션, 행을 다루는 규칙은 tlb-imweb-fix.css "Category series imweb" 구획에 있다. 여기는 소개 칸 자체만 꾸민다. */
/* 카테고리 목록 위 소개 칸(대표 확정 2026-10-06). 원본 site/pages/landing/category_*_series.html, 시안 site/_temp/category-intro-20261005/landing/. Practice Book native(2026-10-01)의 골격을 컴팩트하게 공통화했다. */
.tlb-series {--s-ink: #292720; --s-alt: #2b2b2b; --s-black: #000;
  --s-signal: #efa563; --s-deep: #855021; --s-line: #5f5d58; --s-card: #24211d; --s-sub: #c7c5c0;
  --s-hero-bg: #e7e7e7; --s-hero-ink: #686868; --s-hero-accent: #bf651f;
  width: 100%; max-width: 980px; margin-inline: auto;
  color: #fff; background: var(--s-ink);
  font-family: var(--tlb-font-body); font-size: var(--tlb-fs-read); font-weight: var(--tlb-fw-regular);
  line-height: var(--tlb-lh-body); letter-spacing: var(--tlb-ls-body);
  text-align-last: auto;}
.tlb-series--principle {--s-ink: #181a24; --s-alt: #20232f; --s-signal: #a9b8ff; --s-deep: #3d4596; --s-line: #4b4f63; --s-card: #1c1f2b; --s-sub: #c3c6d3;
  --s-hero-bg: #dcdcdc; --s-hero-ink: #5d6070; --s-hero-accent: #5a55d8;}
.tlb-series *, .tlb-series *::before, .tlb-series *::after {box-sizing: border-box;}
.tlb-series :is(h1,h2,h3,p,ul,ol,figure) {margin: 0;}
.tlb-series a {color: inherit;}
.tlb-series strong {font-weight: var(--tlb-fw-bold);}
.tlb-series .tlb-series-inner {width: min(calc(100% - 2 * var(--tlb-space-lg)), 900px); margin-inline: auto;}
.tlb-series .tlb-series-scene {padding-block: calc(var(--tlb-space-2xl) + var(--tlb-space-md)); text-align: center;}
.tlb-series .tlb-series-scene--alt {background: var(--s-alt);}
.tlb-series .tlb-series-scene--black {background: var(--s-black);}
.tlb-series :is(h1,h2,h3) {font-family: var(--tlb-font-head); font-weight: var(--tlb-fw-bold); letter-spacing: var(--tlb-ls-head); word-break: keep-all; overflow-wrap: break-word;}
.tlb-series :is(h1,h2,h3) :is(span,strong) {font-family: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit;}
.tlb-series h2 {font-size: var(--tlb-fs-h2); line-height: var(--tlb-lh-title); text-wrap: balance;}
.tlb-series h3 {font-size: var(--tlb-fs-h4); line-height: var(--tlb-lh-head);}
.tlb-series p {max-width: var(--tlb-editorial-width); margin-inline: auto; word-break: keep-all; overflow-wrap: break-word;}
.tlb-series .tlb-series-lead {margin-top: var(--tlb-space-md); font-size: var(--tlb-fs-lead);}
.tlb-series .tlb-series-mark {color: var(--s-signal);}
.tlb-series .tlb-series-note {margin-top: var(--tlb-space-sm); font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-text); color: var(--s-sub);}
.tlb-series .tlb-series-steps {display: grid; max-width: 620px; gap: var(--tlb-space-xs); padding: 0; margin: var(--tlb-space-xl) auto; list-style: none; text-align: left;}
.tlb-series .tlb-series-steps li {display: flex; align-items: center; flex-wrap: wrap; column-gap: var(--tlb-space-sm); padding: var(--tlb-space-sm) var(--tlb-space-md); border: 1px solid var(--s-line); border-radius: var(--tlb-radius-sm); color: var(--s-sub); background: color-mix(in srgb, var(--s-ink) 80%, #fff 8%); font-size: var(--tlb-fs-h5); line-height: var(--tlb-lh-ui);}
.tlb-series .tlb-series-steps li.is-now {border-color: var(--s-signal); color: #fff;}
.tlb-series .tlb-series-step-number {min-width: 2.2em; font-family: var(--tlb-font-head); font-weight: var(--tlb-fw-bold);}
.tlb-series .tlb-series-step-state {margin-left: auto; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-meta); font-weight: var(--tlb-fw-semibold); line-height: var(--tlb-lh-ui);}
.tlb-series li.is-now .tlb-series-step-state {color: var(--s-signal);}
.tlb-series .tlb-series-pair {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tlb-space-md); margin-top: var(--tlb-space-xl); text-align: left;}
.tlb-series .tlb-series-vol {display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--s-line); border-radius: var(--tlb-radius-sm); background: var(--s-card);}
.tlb-series .tlb-series-vol--sang {--vol: var(--color-principle);}
.tlb-series .tlb-series-vol--ha {--vol: var(--color-primary);}
.tlb-series .tlb-series-vol figure {aspect-ratio: 4 / 3; overflow: hidden;}
.tlb-series .tlb-series-vol figure img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%;}
.tlb-series .tlb-series-vol-body {display: flex; flex-direction: column; flex: 1; padding: var(--tlb-space-md);}
.tlb-series .tlb-series-vol-kicker {margin: 0; color: color-mix(in srgb, var(--vol) 55%, #fff); font-family: var(--tlb-font-head); font-size: var(--tlb-fs-meta); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-ui);}
.tlb-series .tlb-series-vol h3 {margin-top: calc(var(--tlb-space-xs) / 2);}
.tlb-series .tlb-series-vol-body > p:not(.tlb-series-vol-kicker) {margin: var(--tlb-space-sm) 0 0; font-size: var(--tlb-fs-small); line-height: var(--tlb-lh-text); color: var(--s-sub);}
.tlb-series .tlb-series-vol-facts {display: flex; flex-wrap: wrap; gap: calc(var(--tlb-space-xs) / 2); padding: 0; margin: var(--tlb-space-sm) 0 0; list-style: none;}
.tlb-series .tlb-series-vol-facts li {padding: 2px 8px; border-radius: var(--tlb-radius-sm); font-size: var(--tlb-fs-caption); line-height: var(--tlb-lh-ui); color: #fff; background: color-mix(in srgb, var(--vol) 35%, transparent);}
.tlb-series .tlb-series-vol:is(.tlb-series-vol--jaso, .tlb-series-vol--myeonjeop) figure img {object-position: 50% 60%;}
.tlb-series .tlb-series-vol-links {display: grid; grid-template-columns: 1fr 1fr; gap: var(--tlb-space-xs); margin-top: auto; padding-top: var(--tlb-space-md);}
.tlb-series .tlb-series-vol-links a {display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--tlb-space-sm); border: 1px solid color-mix(in srgb, var(--vol) 60%, #fff); border-radius: var(--tlb-radius-sm); font-family: var(--tlb-font-head); font-size: var(--tlb-fs-small); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-ui); text-decoration: none;}
.tlb-series .tlb-series-vol-links a:first-child {color: var(--vol-ink, #fff); border-color: transparent; background: var(--vol);}
.tlb-series .tlb-series-action {display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: var(--tlb-space-lg); padding: var(--tlb-space-xs) var(--tlb-space-lg); border: 1px solid var(--s-signal); border-radius: var(--tlb-radius-sm); color: var(--s-signal); font-family: var(--tlb-font-head); font-size: var(--tlb-fs-body); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-ui); text-decoration: none;}
.tlb-series :is(a):focus-visible {outline: 2px solid var(--s-signal); outline-offset: 4px;}
.tlb-series [data-tlb-concept="principle-2027"] .tlb-concept-chip-art img {width: 100%; height: 100%; left: 0; object-fit: cover; transform: none;}
.tlb-series .tlb-concept-chip {margin-inline: auto; border-color: var(--s-line); background: var(--s-card);}
@media (max-width: 767px) {
  .tlb-series .tlb-series-inner {width: calc(100% - 2 * var(--tlb-space-sm));}
  .tlb-series .tlb-series-scene {padding-block: var(--tlb-space-xl);}
  .tlb-series .tlb-series-pair {grid-template-columns: 1fr;}
  .tlb-series .tlb-series-lead br {display: none;}
}
.tlb-series--compact .tlb-series-scene {padding-block: var(--tlb-space-xl);}
.tlb-series--compact .tlb-series-steps {margin: var(--tlb-space-lg) auto 0;}
.tlb-series .tlb-series-points {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tlb-space-sm); padding: 0; margin: var(--tlb-space-lg) 0 0; list-style: none; text-align: left;}
.tlb-series .tlb-series-points li {padding: var(--tlb-space-sm) var(--tlb-space-md); border-top: 2px solid var(--s-signal); background: color-mix(in srgb, var(--s-ink) 85%, #fff 6%);}
.tlb-series .tlb-series-points strong {display: block; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-body); line-height: var(--tlb-lh-head); color: #fff;}
.tlb-series .tlb-series-points span {display: block; margin-top: calc(var(--tlb-space-xs) / 2); font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-compact); color: var(--s-sub);}
.tlb-series .tlb-series-pkg {display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--tlb-space-sm) var(--tlb-space-lg); align-items: center; text-align: left;}
.tlb-series .tlb-series-pkg h2 {font-size: var(--tlb-fs-h4);}
.tlb-series .tlb-series-pkg-list {display: flex; flex-wrap: wrap; gap: calc(var(--tlb-space-xs) / 2); padding: 0; margin: var(--tlb-space-sm) 0 0; list-style: none;}
.tlb-series .tlb-series-pkg-list li {padding: 3px 10px; border: 1px solid var(--s-line); border-radius: var(--tlb-radius-full); font-size: var(--tlb-fs-meta); line-height: var(--tlb-lh-ui);}
.tlb-series .tlb-series-pkg .tlb-series-note {max-width: none; margin-inline: 0;}
.tlb-series .tlb-series-pkg .tlb-series-action {margin-top: 0;}
.tlb-series--compact .tlb-series-vol figure {aspect-ratio: 16 / 7;}
@media (max-width: 767px) {
  .tlb-series .tlb-series-points, .tlb-series .tlb-series-pkg {grid-template-columns: 1fr;}
}
.tlb-series--final {--s-ink: #1f1718; --s-alt: #281d1e; --s-signal: #ff8f86; --s-deep: #8e1f1f; --s-line: #57423f; --s-card: #241a1b; --s-sub: #d3c3c1; --s-hero-bg: #dcdcdc; --s-hero-ink: #5d5555; --s-hero-accent: #C62828;}
.tlb-series--package {--s-ink: #1b1722; --s-alt: #221d2b; --s-signal: #d3a6ff; --s-deep: #5b2a8a; --s-line: #4c4458; --s-card: #211c29; --s-sub: #cbc3d6; --s-hero-bg: #1b1722; --s-hero-ink: #fff; --s-hero-accent: #d3a6ff;}
.tlb-series--postleet {--s-ink: #1a1c21; --s-alt: #212329; --s-signal: #c8b48a; --s-deep: #6e5630; --s-line: #464a54; --s-card: #20232a; --s-sub: #d2cabd; --s-hero-bg: #dcdcdc; --s-hero-ink: #5f5a52; --s-hero-accent: #9a7740;}
.tlb-series--basic {--s-ink: #151d18; --s-alt: #1b241e; --s-signal: #86d9a0; --s-deep: #1f5a2e; --s-line: #415247; --s-card: #18211b; --s-sub: #c2d0c6; --s-hero-bg: #dcdcdc; --s-hero-ink: #55605a; --s-hero-accent: #2E7D32;}
.tlb-series .tlb-series-pair--3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
.tlb-series .tlb-series-vol--pkg {--vol: var(--color-primary);}
.tlb-series .tlb-series-vol--ultimate {--vol: #3b6fd8;}
.tlb-series .tlb-series-vol--beyond {--vol: #E85D3A;}
.tlb-series .tlb-series-vol--jaso {--vol: #746039;}
.tlb-series .tlb-series-vol--myeonjeop {--vol: #55473F;}
.tlb-series .tlb-series-vol figure.is-flat {background: #dcdcdc;}
.tlb-series .tlb-series-vol figure.is-flat img {object-fit: contain; padding: 4% 0;}
.tlb-series .tlb-series-vol-links--1 {grid-template-columns: 1fr;}
.tlb-series .tlb-series-vol-price {margin-top: var(--tlb-space-sm); font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h5); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-head); color: #fff;}
.tlb-series .tlb-series-vol-price s {margin-right: 6px; font-family: var(--tlb-font-body); font-size: var(--tlb-fs-meta); font-weight: var(--tlb-fw-regular); color: var(--s-sub);}
@media (max-width: 767px) {
  .tlb-series .tlb-series-pair:not(.tlb-series-pair--1) {display: flex; overflow-x: auto; gap: var(--tlb-space-sm); margin-inline: calc(-1 * var(--tlb-space-sm)); padding: 0 var(--tlb-space-sm) 6px; scroll-snap-type: x mandatory; scroll-padding-inline: var(--tlb-space-sm); scrollbar-width: none;}
  .tlb-series .tlb-series-pair:not(.tlb-series-pair--1)::-webkit-scrollbar {display: none;}
  .tlb-series .tlb-series-pair:not(.tlb-series-pair--1) > .tlb-series-vol {flex: 0 0 84%; scroll-snap-align: start;}
  .tlb-series .tlb-series-pair .tlb-series-vol figure {aspect-ratio: 16 / 7;}
}
/* 카테고리 상단 띠와 전체 폭(2026-10-06 대표: 트레이닝캠프처럼 PC 폭 100%, 컨셉 이미지 띠에 카테고리명, 아래 내용도 전체 폭). 띠 이미지는 _brand 2028 표지 텍스처에서 만든 images/category/cat-*.jpg. */
/* 소개 칸 전체를 화면 폭으로 편다. 아임웹 섹션 안쪽 폭(980px)을 벗어나 좌우 끝까지 간다. */
.tlb-series.tlb-series:has(.tlb-series-top) {width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: 0;}
.tlb-series:has(.tlb-series-top) .tlb-series-inner {width: min(calc(100% - 2 * var(--tlb-space-lg)), 1040px);}

/* 상단 띠: 카테고리 컨셉 텍스처 위에 한 줄 설명과 카테고리 이름. 이동 메뉴는 띠 아래 검은 줄(.tlb-series-top-bar). */
.tlb-series .tlb-series-top {position: relative; color: #fff; background-color: #0b0b0d; background-size: cover; background-position: center;}
.tlb-series .tlb-series-top::before {content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .28) 55%, rgba(0, 0, 0, .12) 100%);}
.tlb-series .tlb-series-top--basic {background-image: url("https://tlb-assets.pages.dev/images/category/cat-basic.jpg");}
.tlb-series .tlb-series-top--principles {background-image: url("https://tlb-assets.pages.dev/images/category/cat-principle.jpg");}
.tlb-series .tlb-series-top--practice {background-image: url("https://tlb-assets.pages.dev/images/category/cat-practice.jpg");}
.tlb-series .tlb-series-top--finalround {background-image: url("https://tlb-assets.pages.dev/images/category/cat-final.jpg");}
.tlb-series .tlb-series-top--package {background-image: url("https://tlb-assets.pages.dev/images/category/cat-package.jpg");}
.tlb-series .tlb-series-top--postleet {background-image: url("https://tlb-assets.pages.dev/images/category/cat-postleet.jpg");}
.tlb-series .tlb-series-top--all {background-image: url("https://tlb-assets.pages.dev/images/category/cat-all.jpg");}
.tlb-series .tlb-series-top--tc {background-image: url("https://tlb-assets.pages.dev/images/category/cat-tc.jpg");}
/* 무늬가 글자와 다투지 않게 고른 어둠 한 겹 */
.tlb-series .tlb-series-top::after {content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .08); pointer-events: none;}
.tlb-series .tlb-series-top-in {position: relative; width: min(calc(100% - 2 * var(--tlb-space-lg)), 1040px); z-index: 1; margin-inline: auto; padding: calc(var(--tlb-space-xl) + var(--tlb-space-xs)) 0; text-align: left;}
.tlb-series .tlb-series-top-sub {max-width: none; margin: 0; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h5); font-weight: var(--tlb-fw-semibold); line-height: var(--tlb-lh-head); color: rgba(255, 255, 255, .78);}
.tlb-series .tlb-series-top-name {margin: calc(var(--tlb-space-xs) * 1.5) 0 0; font-size: var(--tlb-fs-display); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-tight); letter-spacing: var(--tlb-ls-head); color: #fff;}
/* 이동 메뉴(2026-10-06 대표 확정). 교재 다섯은 공부 순서대로, Package와 트레이닝캠프는 오른쪽 끝. 선택 칸은 위만 둥근 탭, 색은 아래 첫 섹션 바탕(--s-ink)이라 바닥에 이어진다. */
.tlb-series .tlb-series-top-bar {padding-top: var(--tlb-space-xs); background: #0d0d0f;}
.tlb-series .tlb-series-top-nav {display: flex; justify-content: space-between; align-items: flex-end; width: min(calc(100% - 2 * var(--tlb-space-lg)), 1040px); margin: 0 auto;}
.tlb-series .tlb-series-top-path, .tlb-series .tlb-series-top-more {display: flex;}
.tlb-series .tlb-series-top-nav a {display: flex; align-items: center; min-height: 48px; padding: 0 var(--tlb-space-md); border-radius: var(--tlb-radius-md) var(--tlb-radius-md) 0 0; color: rgba(255, 255, 255, .74); font-family: var(--tlb-font-head); font-size: var(--tlb-fs-small); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-ui); text-decoration: none; white-space: nowrap;}
.tlb-series .tlb-series-top-more a {font-size: var(--tlb-fs-meta);}
.tlb-series .tlb-series-top-nav a:hover {color: #fff;}
.tlb-series .tlb-series-top-nav a[aria-current="page"] {color: #fff; background: var(--s-ink);}
.tlb-series--tc {--s-ink: #0a0910;}
.tlb-series .tlb-series-top-bar + .tlb-series-scene {padding-top: var(--tlb-space-xl);}
/* 선택 탭 바탕까지 문서 폭(띠 제목 왼쪽 끝) 안에 들어오게 바깥으로 빼지 않는다(대표 2026-10-06). */


/* 폰: 띠는 가운데 정렬, 이미지 위 어둡게 고르게, 카테고리 버튼은 줄을 바꿔 모두 보이게(2026-10-06 대표 "모바일은 가운데 정렬"). */
@media (max-width: 767px) {
  .tlb-series .tlb-series-inner, .tlb-series .tlb-series-top-in {width: calc(100% - 2 * var(--tlb-space-sm));}
  .tlb-series .tlb-series-top::before {background: rgba(0, 0, 0, .3);}
  .tlb-series .tlb-series-top-in {padding: var(--tlb-space-xl) 0 var(--tlb-space-lg); text-align: center;}
  .tlb-series .tlb-series-top-sub {font-size: var(--tlb-fs-meta);}
  .tlb-series .tlb-series-top-name {font-size: var(--tlb-fs-title);}
  /* 폰 메뉴: 두 줄 같은 38px 검정. 위 Package | 트레이닝캠프(선택은 흰 알약), 아래 교재 다섯(Practice, Final로 줄임, 선택은 바닥에 이어지는 탭). 칸 사이 세로줄. */
  .tlb-series .tlb-series-top-in {padding: calc(var(--tlb-space-lg) + var(--tlb-space-xs)) 0;}
  .tlb-series .tlb-series-top-sub {font-size: var(--tlb-fs-caption); font-weight: var(--tlb-fw-regular); line-height: var(--tlb-lh-text); word-break: keep-all;}
  .tlb-series .tlb-series-top-name {margin-top: var(--tlb-space-xs);}
  .tlb-series .tlb-series-top-bar {padding-top: 0;}
  .tlb-series .tlb-series-top-nav {flex-direction: column; align-items: stretch; width: 100%;}
  .tlb-series .tlb-series-top-path, .tlb-series .tlb-series-top-more {box-sizing: border-box; height: 38px; padding: 0 var(--tlb-space-xs); overflow-x: auto; scrollbar-width: none;}
  .tlb-series .tlb-series-top-path::-webkit-scrollbar, .tlb-series .tlb-series-top-more::-webkit-scrollbar {display: none;}
  .tlb-series .tlb-series-top-more {order: -1; align-items: stretch; box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .08);}
  .tlb-series .tlb-series-top-path {align-items: flex-end;}
  .tlb-series .tlb-series-top-nav a {position: relative; flex: none; min-height: 0; height: 100%; padding: 0 calc(var(--tlb-space-xs) * 1.25); border-radius: 0; font-size: var(--tlb-fs-caption);}
  .tlb-series .tlb-series-top-path a {height: 34px;}
  .tlb-series .tlb-series-top-nav > div > a:first-child {margin-left: auto;}
  .tlb-series .tlb-series-top-nav > div > a:last-child {margin-right: auto;}
  .tlb-series .tlb-series-top-long {display: none;}
  .tlb-series .tlb-series-top-nav a + a::before {content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 10px; margin-top: -5px; background: rgba(255, 255, 255, .24);}
  .tlb-series .tlb-series-top-path a[aria-current="page"] {border-radius: var(--tlb-radius-md) var(--tlb-radius-md) 0 0;}
  .tlb-series .tlb-series-top-more a[aria-current="page"] {align-self: center; height: 26px; margin-inline: calc(var(--tlb-space-xs) / 2); padding: 0 calc(var(--tlb-space-xs) * 1.5); border-radius: var(--tlb-radius-full); color: #111; background: #fff;}
  .tlb-series .tlb-series-top-nav a[aria-current="page"]::before, .tlb-series .tlb-series-top-nav a[aria-current="page"] + a::before {display: none;}
  .tlb-series .tlb-series-top-bar + .tlb-series-scene {padding-top: var(--tlb-space-lg);}
}
/* Post-LEET: 두 교재의 준비 방향 두 칸 */
.tlb-series .tlb-series-points--2 {grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-inline: auto;}
.tlb-series .tlb-series-points li.tlb-series-point--jaso {border-top-color: color-mix(in srgb, #746039 55%, #fff);}
.tlb-series .tlb-series-points li.tlb-series-point--myeonjeop {border-top-color: color-mix(in srgb, #55473F 45%, #fff);}
@media (max-width: 767px) {.tlb-series .tlb-series-points--2 {grid-template-columns: 1fr;}}
/* 특징 무대 카드(2026-10-07 대표: 홈 트레이닝캠프 칸처럼 예시 화면이 움직이는 카드로 특징을 한 번에). PC는 카드 수만큼 한 줄, 폰은 1열. */
.tlb-series .tlb-series-show {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tlb-space-sm); max-width: 1040px; margin: var(--tlb-space-xl) auto 0; padding: 0; list-style: none; text-align: left;}
.tlb-series .tlb-series-show--2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
.tlb-series .tlb-series-show-card {display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--tlb-radius-lg); background: rgba(255, 255, 255, .04);}
.tlb-series .tlb-series-stage {position: relative; display: flex; align-items: center; justify-content: center; height: 230px; padding-top: var(--tlb-space-sm); box-sizing: border-box; overflow: hidden; background: radial-gradient(120% 90% at 20% 0%, color-mix(in srgb, var(--s-signal) 60%, transparent), transparent 66%), linear-gradient(160deg, color-mix(in srgb, var(--s-ink) 45%, var(--s-deep) 55%), color-mix(in srgb, var(--s-ink) 80%, var(--s-deep) 20%));}
.tlb-series .tlb-series-show-card:nth-child(2) .tlb-series-stage {background: radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--s-signal) 55%, transparent), transparent 66%), linear-gradient(160deg, color-mix(in srgb, var(--s-ink) 50%, var(--s-deep) 50%), color-mix(in srgb, var(--s-ink) 80%, var(--s-deep) 20%));}
.tlb-series .tlb-series-show-card:nth-child(3) .tlb-series-stage {background: radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--s-signal) 58%, transparent), transparent 66%), linear-gradient(160deg, color-mix(in srgb, var(--s-ink) 45%, var(--s-deep) 55%), color-mix(in srgb, var(--s-ink) 80%, var(--s-deep) 20%));}
.tlb-series .tlb-series-stage-ex {position: absolute; top: calc(var(--tlb-space-xs) * 1.5); right: var(--tlb-space-sm); color: rgba(255, 255, 255, .45); font-size: var(--tlb-fs-tiny); font-weight: var(--tlb-fw-semibold);}
.tlb-series .tlb-series-ui {position: relative; width: 74%; max-width: 270px; padding: calc(var(--tlb-space-xs) * 1.5); border-radius: var(--tlb-radius-lg); background: rgba(255, 255, 255, .96); color: #1F2124; box-shadow: 0 22px 44px rgba(0, 0, 0, .4); animation: tlbSeriesFloat 6s ease-in-out infinite;}
.tlb-series .tlb-series-show-card:nth-child(2) .tlb-series-ui {animation-delay: -2s;}
.tlb-series .tlb-series-show-card:nth-child(3) .tlb-series-ui {animation-delay: -4s;}
@keyframes tlbSeriesFloat {0%, 100% {translate: 0 0;} 50% {translate: 0 -6px;}}
.tlb-series .tlb-series-ui small {display: block; color: #8a8f98; font-size: var(--tlb-fs-tiny); font-weight: var(--tlb-fw-semibold); line-height: var(--tlb-lh-ui);}
.tlb-series .tlb-series-ui-h {display: block; margin-top: 2px; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-read); font-weight: var(--tlb-fw-heavy); line-height: var(--tlb-lh-head);}
.tlb-series .tlb-series-ui ul {display: flex; flex-direction: column; gap: 6px; margin: calc(var(--tlb-space-xs) * 1.25) 0 0; padding: 0; list-style: none;}
.tlb-series .tlb-series-ui li {position: relative; display: flex; align-items: center; justify-content: space-between; gap: var(--tlb-space-xs); min-height: 28px; padding: 0 10px; border-radius: var(--tlb-radius-md); background: #f3f4f6; font-size: var(--tlb-fs-caption); font-weight: var(--tlb-fw-semibold); line-height: var(--tlb-lh-ui);}
.tlb-series .tlb-series-ui li em {font-style: normal; font-size: var(--tlb-fs-tiny); font-weight: var(--tlb-fw-bold); padding: 2px 8px; border-radius: var(--tlb-radius-full);}
/* 고르기: 칸이 차례로 선택된다 */
.tlb-series .tlb-series-ui-cycle li {animation: tlbSeriesPick 6s infinite;}
.tlb-series .tlb-series-ui-cycle li:nth-child(2) {animation-delay: 1s;} .tlb-series .tlb-series-ui-cycle li:nth-child(3) {animation-delay: 2s;}
.tlb-series .tlb-series-ui-cycle li:nth-child(4) {animation-delay: 3s;} .tlb-series .tlb-series-ui-cycle li:nth-child(5) {animation-delay: 4s;} .tlb-series .tlb-series-ui-cycle li:nth-child(6) {animation-delay: 5s;}
.tlb-series .tlb-series-ui-cycle li:nth-child(n+5) {display: none;}
@keyframes tlbSeriesPick {0%, 2% {background: #f3f4f6; color: #1F2124;} 6%, 22% {background: var(--s-deep); color: #fff;} 27%, 100% {background: #f3f4f6; color: #1F2124;}}
/* 표시가 차례로 붙는다 */
.tlb-series .tlb-series-ui-mark li em, .tlb-series .tlb-series-ui-range li em {opacity: 0; color: #fff; background: var(--s-deep); animation: tlbSeriesTag 6s infinite;}
.tlb-series .tlb-series-ui-mark li:nth-child(2) em, .tlb-series .tlb-series-ui-mark li:nth-child(4) em {background: #9aa0a8;}
.tlb-series .tlb-series-ui-range li:nth-child(n+2) em {background: #9aa0a8;}
.tlb-series :is(.tlb-series-ui-mark, .tlb-series-ui-range) li:nth-child(2) em {animation-delay: .6s;}
.tlb-series :is(.tlb-series-ui-mark, .tlb-series-ui-range) li:nth-child(3) em {animation-delay: 1.2s;}
.tlb-series .tlb-series-ui-mark li:nth-child(4) em {animation-delay: 1.8s;}
@keyframes tlbSeriesTag {0%, 8% {opacity: 0; transform: scale(.8);} 14%, 88% {opacity: 1; transform: none;} 96%, 100% {opacity: 0;}}
/* 속설에 줄이 그어진다 */
.tlb-series .tlb-series-ui-strike li::after {content: ""; position: absolute; left: 10px; top: 50%; height: 2px; width: 0; background: var(--s-deep); animation: tlbSeriesStrike 6s infinite;}
.tlb-series .tlb-series-ui-strike li:nth-child(2)::after {animation-delay: .7s;} .tlb-series .tlb-series-ui-strike li:nth-child(3)::after {animation-delay: 1.4s;}
@keyframes tlbSeriesStrike {0%, 10% {width: 0;} 22%, 88% {width: calc(100% - 20px);} 96%, 100% {width: 0;}}
/* 단계가 차례로 이어진다 */
.tlb-series .tlb-series-ui-flow li {opacity: .35; animation: tlbSeriesOn 6s infinite;}
.tlb-series .tlb-series-ui-flow li:nth-child(2) {animation-delay: .8s;} .tlb-series .tlb-series-ui-flow li:nth-child(3) {animation-delay: 1.6s;} .tlb-series .tlb-series-ui-flow li:nth-child(4) {animation-delay: 2.4s;}
@keyframes tlbSeriesOn {0%, 6% {opacity: .35;} 14%, 88% {opacity: 1;} 96%, 100% {opacity: .35;}}
/* 두 과목이 한 원리로 모인다 */
.tlb-series .tlb-series-ui-merge {position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: var(--tlb-space-xs); margin-top: calc(var(--tlb-space-xs) * 1.5); text-align: center;}
.tlb-series .tlb-series-ui-merge span {padding: 8px 0; border-radius: var(--tlb-radius-md); background: #f3f4f6; font-size: var(--tlb-fs-caption); font-weight: var(--tlb-fw-bold); animation: tlbSeriesInL 6s infinite;}
.tlb-series .tlb-series-ui-merge span + span {animation-name: tlbSeriesInR;}
.tlb-series .tlb-series-ui-merge strong {grid-column: 1 / -1; padding: 10px 0; border-radius: var(--tlb-radius-md); color: #fff; background: var(--s-deep); font-family: var(--tlb-font-head); font-size: var(--tlb-fs-small); animation: tlbSeriesTag 6s infinite; animation-delay: .9s;}
@keyframes tlbSeriesInL {0%, 10% {transform: none;} 22%, 88% {transform: translateX(8px);} 100% {transform: none;}}
@keyframes tlbSeriesInR {0%, 10% {transform: none;} 22%, 88% {transform: translateX(-8px);} 100% {transform: none;}}
/* 첫독해 뒤 필요한 줄로 돌아가 다시 읽는다 */
.tlb-series .tlb-series-ui-read {display: flex; flex-direction: column; gap: 7px; margin-top: calc(var(--tlb-space-xs) * 1.5);}
.tlb-series .tlb-series-ui-read i {display: block; height: 8px; border-radius: var(--tlb-radius-full); background: linear-gradient(90deg, color-mix(in srgb, var(--s-signal) 70%, #fff) 50%, #e3e5e8 50%) right / 200% 100% no-repeat; animation: tlbSeriesSweep 6s infinite;}
.tlb-series .tlb-series-ui-read i:nth-child(2) {width: 88%; animation-delay: .25s;} .tlb-series .tlb-series-ui-read i:nth-child(3) {animation-delay: .5s;}
.tlb-series .tlb-series-ui-read i:nth-child(4) {width: 72%; animation-delay: .75s;} .tlb-series .tlb-series-ui-read i:nth-child(5) {width: 92%; animation-delay: 1s;}
.tlb-series .tlb-series-ui-read i.is-back {animation: tlbSeriesSweep 6s infinite, tlbSeriesBack 6s infinite; animation-delay: .5s, 0s;}
@keyframes tlbSeriesSweep {0%, 4% {background-position: right;} 16%, 88% {background-position: left;} 96%, 100% {background-position: right;}}
@keyframes tlbSeriesBack {0%, 50% {box-shadow: none;} 56%, 88% {box-shadow: 0 0 0 3px var(--s-deep);} 96%, 100% {box-shadow: none;}}
.tlb-series .tlb-series-ui-tag {display: inline-block; margin: calc(var(--tlb-space-xs) * 1.25) 6px 0 0; padding: 2px 8px; border-radius: var(--tlb-radius-full); color: #fff; background: #9aa0a8; font-size: var(--tlb-fs-tiny); font-weight: var(--tlb-fw-bold);}
.tlb-series .tlb-series-ui-tag--b {background: var(--s-deep); opacity: 0; animation: tlbSeriesTag 6s infinite; animation-delay: 3.2s;}
/* 강의 재생 */
.tlb-series .tlb-series-ui-video {position: relative; height: 92px; margin-top: calc(var(--tlb-space-xs) * 1.25); border-radius: var(--tlb-radius-md); background: linear-gradient(140deg, var(--s-ink), var(--s-deep));}
.tlb-series .tlb-series-ui-video span {position: absolute; left: 50%; top: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; background: rgba(255, 255, 255, .92);}
.tlb-series .tlb-series-ui-video span::after {content: ""; position: absolute; left: 13px; top: 10px; border-style: solid; border-width: 7px 0 7px 11px; border-color: transparent transparent transparent var(--s-deep);}
.tlb-series .tlb-series-ui-bar {height: 4px; margin-top: var(--tlb-space-xs); border-radius: var(--tlb-radius-full); background: #e3e5e8; overflow: hidden;}
.tlb-series .tlb-series-ui-bar span {display: block; height: 100%; width: 0; background: var(--s-deep); animation: tlbSeriesPlay 6s linear infinite;}
@keyframes tlbSeriesPlay {from {width: 0;} to {width: 100%;}}
/* 후기 */
.tlb-series .tlb-series-ui-quote {margin: calc(var(--tlb-space-xs) * 1.25) 0 0; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-small); font-weight: var(--tlb-fw-bold); line-height: var(--tlb-lh-text); word-break: keep-all;}
.tlb-series .tlb-series-show-txt {padding: var(--tlb-space-md);}
.tlb-series .tlb-series-show-st {color: color-mix(in srgb, var(--s-signal) 80%, #fff); font-family: var(--tlb-font-head); font-size: var(--tlb-fs-caption); font-weight: var(--tlb-fw-bold);}
.tlb-series .tlb-series-show-txt h3 {margin: 4px 0 0; color: #fff; font-family: var(--tlb-font-head); font-size: var(--tlb-fs-h5); font-weight: var(--tlb-fw-heavy); line-height: var(--tlb-lh-head); word-break: keep-all;}
.tlb-series .tlb-series-show-txt p {margin: var(--tlb-space-xs) 0 0; color: var(--s-sub); font-size: var(--tlb-fs-small); line-height: var(--tlb-lh-text); word-break: keep-all;}
@media (max-width: 767px) {
  .tlb-series .tlb-series-show, .tlb-series .tlb-series-show--2 {grid-template-columns: 1fr; gap: var(--tlb-space-sm); margin-top: var(--tlb-space-lg);}
  /* 폰은 작게(2026-10-07 대표 "모바일 너무 크다"): 무대 180, 예시 화면 목록은 세 줄까지 */
  .tlb-series .tlb-series-show, .tlb-series .tlb-series-show--2 {gap: var(--tlb-space-xs);}
  .tlb-series .tlb-series-stage {height: 180px; padding-top: var(--tlb-space-xs);}
  .tlb-series .tlb-series-ui {width: 70%; max-width: 230px; padding: var(--tlb-space-xs) calc(var(--tlb-space-xs) * 1.25);}
  .tlb-series .tlb-series-ui-h {font-size: var(--tlb-fs-small);}
  .tlb-series .tlb-series-ui ul {gap: 4px; margin-top: 6px;}
  .tlb-series .tlb-series-ui li {min-height: 24px; font-size: var(--tlb-fs-tiny);}
  .tlb-series .tlb-series-ui ul li:nth-child(n+4) {display: none;}
  .tlb-series .tlb-series-ui-video {height: 64px;}
  .tlb-series .tlb-series-ui-quote {font-size: var(--tlb-fs-caption);}
  .tlb-series .tlb-series-show-txt {padding: var(--tlb-space-sm);}
  .tlb-series .tlb-series-show-txt h3 {font-size: var(--tlb-fs-body);}
  .tlb-series .tlb-series-show-txt p {font-size: var(--tlb-fs-meta);}
}
@media (prefers-reduced-motion: reduce) {
  .tlb-series .tlb-series-show *, .tlb-series .tlb-series-show *::before, .tlb-series .tlb-series-show *::after {animation: none !important;}
  .tlb-series :is(.tlb-series-ui-mark, .tlb-series-ui-range) em, .tlb-series .tlb-series-ui-tag--b, .tlb-series .tlb-series-ui-merge strong {opacity: 1;}
}
/* 등장 애니메이션(2026-10-07 대표 "기본 애니메이션"). 띠 글자는 들어올 때, 헤딩과 카드는 화면에 들어올 때 살짝 올라온다. 움직임 줄이기 설정이면 끈다. */
@keyframes tlbSeriesRise {from {opacity: 0; translate: 0 18px;} to {opacity: 1; translate: 0 0;}}
@media (prefers-reduced-motion: no-preference) {
  .tlb-series .tlb-series-top-sub, .tlb-series .tlb-series-top-name {animation: tlbSeriesRise .8s cubic-bezier(.2, .7, .2, 1) both;}
  .tlb-series .tlb-series-top-name {animation-delay: .12s;}
  .tlb-series .tlb-series-scene :is(h2, .tlb-series-lead), .tlb-series .tlb-series-show-card, .tlb-series .tlb-series-vol {animation: tlbSeriesRise .8s cubic-bezier(.2, .7, .2, 1) both;}
  .tlb-series .tlb-series-scene .tlb-series-lead {animation-delay: .1s;}
  .tlb-series .tlb-series-show-card:nth-child(2), .tlb-series .tlb-series-vol:nth-child(2) {animation-delay: .15s;}
  .tlb-series .tlb-series-show-card:nth-child(3), .tlb-series .tlb-series-vol:nth-child(3) {animation-delay: .3s;}
  @supports (animation-timeline: view()) {
    .tlb-series .tlb-series-scene :is(h2, .tlb-series-lead), .tlb-series .tlb-series-show-card, .tlb-series .tlb-series-vol {animation-timeline: view(); animation-range: entry 0% entry 55%; animation-delay: 0s;}
    .tlb-series .tlb-series-scene .tlb-series-lead {animation-range: entry 5% entry 60%;}
    .tlb-series .tlb-series-show-card:nth-child(2), .tlb-series .tlb-series-vol:nth-child(2) {animation-range: entry 10% entry 65%;}
    .tlb-series .tlb-series-show-card:nth-child(3), .tlb-series .tlb-series-vol:nth-child(3) {animation-range: entry 20% entry 75%;}
  }
}
/* END Category series landing */

/* BEGIN Pages v2 2026-10-06 (원본 site/pages/pages-v2, 빌드 build.py) */
/* 소개, 커리큘럼 공통 */
.tlb-hm.tlb-pg-intro, .tlb-hm.tlb-pg-curriculum{word-break:keep-all;color:var(--body);text-align:left}
.tlb-hm.tlb-pg-intro p, .tlb-hm.tlb-pg-curriculum p{text-align:inherit;text-align-last:auto}
.tlb-hm .tlb-pg-text{max-width:720px;margin-top:16px;color:var(--body);font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pg-strong{color:var(--ink);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pg-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:36px}
.tlb-hm .tlb-pg-cap{margin-top:14px;color:var(--mute);font-size:var(--tlb-fs-caption);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-pg-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.tlb-hm .tlb-pg-split-r .tlb-pg-text:first-child{margin-top:0}
.tlb-hm .tlb-pg-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px}

/* 소개 v6: 공통 */
.tlb-hm.tlb-pg-intro, .tlb-hm.tlb-pg-curriculum{background:#0a0a0c;color:#e6e7ea;overflow-x:clip}
.tlb-hm .tlb-pi-eyebrow{color:#b355ff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-eyebrow--ink{color:var(--brand)}
.tlb-hm .tlb-pi-h2{margin-top:14px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pi-h2--ink{color:var(--ink)}
.tlb-hm .tlb-pi-p{max-width:620px;margin-top:20px;color:#b9bcc2;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pi-p--ink{color:var(--body)}
.tlb-hm .tlb-pi-stick{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.tlb-hm.tlb-pg-intro blockquote, .tlb-hm.tlb-pg-curriculum blockquote{margin:0}

/* 01 첫 화면 */
.tlb-hm .tlb-pi-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:120px 0 12vh;isolation:isolate;overflow:hidden}
.tlb-hm .tlb-pi-hero-media{position:absolute;inset:0;z-index:-1}
.tlb-hm .tlb-pi-hero-media img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.tlb-hm .tlb-pi-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(10,10,12,.96) 0%,rgba(10,10,12,.82) 38%,rgba(10,10,12,.05) 70%)}
.tlb-hm .tlb-pi-hero-in > *{margin-left:auto;max-width:600px}
.tlb-hm .tlb-pi-hero-ttl{margin-top:18px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-display);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-tight);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pi-hero-ttl em{display:block;margin-top:14px;color:var(--brand);font-style:normal}
.tlb-hm .tlb-pi-hero-sub{margin-top:28px;color:rgba(255,255,255,.78);font-size:var(--tlb-fs-lead);line-height:var(--tlb-lh-body)}

/* 02 그래프 (고정 장면) */
.tlb-hm .tlb-pi-chart{background:#0a0a0c}
.tlb-hm .tlb-pi-chart-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr auto;gap:12px 56px;min-height:100vh;padding-top:120px;padding-bottom:80px}
.tlb-hm .tlb-pi-plot{min-height:420px}
.tlb-hm .tlb-pi-chart-head{grid-column:1;grid-row:1}
.tlb-hm .tlb-pi-readout{grid-column:1;grid-row:2;align-self:end;display:flex;flex-direction:column}
.tlb-hm .tlb-pi-readout-y{color:#9a9ea6;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-readout b{margin-top:4px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-display);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none);letter-spacing:var(--tlb-ls-head);font-variant-numeric:tabular-nums}
.tlb-hm .tlb-pi-readout small{margin-top:8px;color:#7d818a;font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pi-plot{position:relative;grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:1.2vw;align-items:end;height:100%;min-height:320px;padding-bottom:30px;border-bottom:1px solid #2a2c31}
.tlb-hm .tlb-pi-bar{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.tlb-hm .tlb-pi-bar i{display:block;width:100%;height:calc(var(--h,0.5) * 100%);border-radius:6px 6px 0 0;background:linear-gradient(180deg,#5a5d66,#2c2e33);transform-origin:50% 100%;transition:transform .7s cubic-bezier(.2,.7,.2,1),background .5s ease}
.tlb-hm .tlb-pi-bar small{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);color:#7d818a;font-size:var(--tlb-fs-micro)}
.tlb-hm .tlb-pi-bar--peak i{background:linear-gradient(180deg,#b06ef0,#962DE3)}
.tlb-hm .tlb-pi-bar--now i{background:linear-gradient(180deg,#b355ff,#962DE3)}
.tlb-hm .tlb-pi-bar em{position:absolute;bottom:calc(var(--h,1) * 100% + 10px);left:50%;transform:translateX(-50%);color:#b355ff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-style:normal;font-weight:var(--tlb-fw-bold);white-space:nowrap}
.tlb-hm .tlb-pi-seat{position:absolute;left:0;right:0;bottom:calc(30px + (2000 / 19400) * (100% - 30px));height:0;border-top:2px dashed #FE5356;transform-origin:0 50%}
.tlb-hm .tlb-pi-seat b{position:absolute;right:0;bottom:8px;color:#FE5356;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-verdict{grid-column:1 / -1;grid-row:3;position:relative;min-height:0}
.tlb-hm .tlb-pi-verdict p{color:#fff;font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pi-verdict-a{font-size:var(--tlb-fs-h4)}
.tlb-hm .tlb-pi-verdict-b{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-top:6px;font-size:var(--tlb-fs-h4)}
.tlb-hm .tlb-pi-verdict-b b{color:var(--brand);font-size:var(--tlb-fs-display);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none)}
.tlb-hm .tlb-pi-verdict-b b small{font-size:var(--tlb-fs-h3)}
.tlb-hm .tlb-pi-verdict-b span:last-child{color:#9a9ea6;font-size:var(--tlb-fs-h5)}
.tlb-hm .tlb-pi-verdict-c{margin-top:6px;font-size:var(--tlb-fs-h4)}
.tlb-hm .tlb-pi-verdict-c em{color:var(--brand);font-style:normal}
.tlb-hm .tlb-pi-src{position:absolute;right:var(--g);bottom:16px;color:#5f636b;font-size:var(--tlb-fs-micro)}
.tlb-hm .tlb-pi-chart .tlb-pi-stick, .tlb-hm .tlb-pi-myths .tlb-pi-stick, .tlb-hm .tlb-pi-belief .tlb-pi-stick{position:relative;height:auto;min-height:100vh;overflow:visible}
.tlb-hm .tlb-pi-myths .tlb-pi-stick, .tlb-hm .tlb-pi-belief .tlb-pi-stick{padding:140px 0}
.tlb-hm .tlb-pi-chart .tlb-hm-w{position:relative}

/* JS가 켜졌을 때만 단계 연출 */
.tlb-pi-js .tlb-hm .tlb-pi-bar i{transform:scaleY(0);transition:transform .6s cubic-bezier(.22,.9,.3,1) var(--d,0ms),background .5s ease}
.tlb-pi-js .tlb-hm .tlb-pi-bar.is-on i{transform:scaleY(1)}
.tlb-pi-js .tlb-hm .tlb-pi-bar em{opacity:0;transition:opacity .4s}
.tlb-pi-js .tlb-hm .tlb-pi-bar.is-on em{opacity:1}
.tlb-pi-js .tlb-hm .tlb-pi-seat{transform:scaleX(0);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.tlb-pi-js .tlb-hm .tlb-pi-chart.is-seat .tlb-pi-seat{transform:scaleX(1)}
.tlb-pi-js .tlb-hm .tlb-pi-verdict p{opacity:0;transform:translateY(16px);transition:opacity .4s,transform .45s cubic-bezier(.2,.7,.2,1)}
.tlb-pi-js .tlb-hm .tlb-pi-chart.is-seat .tlb-pi-verdict-a, .tlb-pi-js .tlb-hm .tlb-pi-chart.is-verdict .tlb-pi-verdict-b, .tlb-pi-js .tlb-hm .tlb-pi-chart.is-final .tlb-pi-verdict-c{opacity:1;transform:none}

/* 03 한 해 (가로로 밀리는 장면) */
.tlb-hm .tlb-pi-year{background:#111114}
.tlb-hm .tlb-pi-year .tlb-pi-stick{justify-content:center;gap:40px}
.tlb-hm .tlb-pi-track{display:flex;gap:24px;padding:0 var(--edge);width:max-content;will-change:transform}
.tlb-hm .tlb-pi-mo{flex:0 0 auto;width:min(440px,78vw);min-height:360px;padding:32px 30px;border:1px solid #2a2c31;border-radius:10px;background:#18181c;display:flex;flex-direction:column}
.tlb-hm .tlb-pi-mo-n{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none)}
.tlb-hm .tlb-pi-mo h3{margin-top:18px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pi-mo-lead{margin-top:8px;color:#9a9ea6;font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pi-mo blockquote{margin-top:auto;padding-top:22px;color:#dcdde0;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pi-mo--last{background:#24113a;border-color:#4a2a70}
.tlb-hm .tlb-pi-prog{height:3px;border-radius:2px;background:#2a2c31;overflow:hidden}
.tlb-hm .tlb-pi-prog i{display:block;height:100%;width:100%;background:#962DE3;transform-origin:0 50%;transform:scaleX(var(--p,0))}
.tlb-pi-js .tlb-hm .tlb-pi-year{height:300vh}
.tlb-pi-js .tlb-hm .tlb-pi-track{transform:translateX(calc(var(--p,0) * var(--tw,0px) * -1))}

/* 04 설문 */
.tlb-hm .tlb-pi-poll{padding:160px 0;background:#0a0a0c;text-align:center}
.tlb-hm .tlb-pi-poll .tlb-pi-h2, .tlb-hm .tlb-pi-poll .tlb-pi-p{margin-left:auto;margin-right:auto;text-align:center;text-align-last:center}
.tlb-hm .tlb-pi-rings{display:flex;justify-content:center;gap:8vw;flex-wrap:wrap;margin-top:72px}
.tlb-hm .tlb-pi-ring{margin:0;width:min(340px,70vw)}
.tlb-hm .tlb-pi-ring-c{position:relative;aspect-ratio:1;border-radius:50%;background:conic-gradient(#962DE3 calc(var(--pct,0) * 1%),#222228 0);display:flex;align-items:center;justify-content:center}
.tlb-hm .tlb-pi-ring-c::before{content:"";position:absolute;inset:14%;border-radius:50%;background:#0a0a0c}
.tlb-hm .tlb-pi-ring-c b, .tlb-hm .tlb-pi-ring-c small{position:relative;color:#fff;font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none)}
.tlb-hm .tlb-pi-ring-c b{font-size:var(--tlb-fs-display);font-variant-numeric:tabular-nums}
.tlb-hm .tlb-pi-ring-c small{margin-left:4px;font-size:var(--tlb-fs-h3)}
.tlb-hm .tlb-pi-ring figcaption{margin-top:24px;color:#dcdde0;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-head);text-align:center;text-align-last:center}
.tlb-hm .tlb-pi-bigline{margin-top:96px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title);text-align:center;text-align-last:center}
.tlb-hm .tlb-pi-bigline em{color:var(--brand);font-style:normal}

/* 05 시작 (밝은 칸) */
.tlb-hm .tlb-pi-origin{padding:160px 0;background:#f6f4ef;color:var(--body)}
.tlb-hm .tlb-pi-origin-in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:80px;align-items:center}
.tlb-hm .tlb-pi-origin-img{margin:0}
.tlb-hm .tlb-pi-origin-img img{display:block;width:100%;border-radius:6px;box-shadow:0 30px 60px rgba(0,0,0,.18)}
.tlb-hm .tlb-pi-letter p{margin-top:20px;color:var(--body);font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pi-sign{margin-top:28px;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-cv{display:flex;flex-wrap:wrap;gap:6px 20px;margin:14px 0 0;padding:14px 0 0;list-style:none;border-top:1px solid var(--line)}
.tlb-hm .tlb-pi-cv li{color:var(--mute);font-size:var(--tlb-fs-caption)}

/* 06 믿는 것 (고정 장면, 한 문장씩) */
.tlb-hm .tlb-pi-belief{background:#0a0a0c}
.tlb-hm .tlb-pi-beliefs{position:relative;margin:28px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pi-beliefs li{padding:56px 0;border-top:1px solid #2a2c31}
.tlb-hm .tlb-pi-beliefs b{display:block;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pi-beliefs span{display:block;max-width:640px;margin-top:14px;color:#9a9ea6;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}

/* 07 오해 (고정 장면, 차례로 떠오른 뒤 한꺼번에 지움) */
.tlb-hm .tlb-pi-myths{background:#0a0a0c}
.tlb-hm .tlb-pi-mlist{margin:36px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pi-mlist li{position:relative;width:fit-content;max-width:100%;margin-top:12px;padding:14px 22px;border-radius:999px;background:#1c1c21;color:#e6e7ea;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pi-mlist li::after{content:"";position:absolute;left:18px;right:18px;top:50%;height:3px;background:#FE5356;transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tlb-hm .tlb-pi-mturn{margin-top:40px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pi-mturn em{display:block;margin-top:6px;color:#FE5356;font-size:var(--tlb-fs-h2);font-style:normal;font-weight:var(--tlb-fw-heavy)}
.tlb-pi-js .tlb-hm .tlb-pi-mlist li{opacity:0;transform:translateX(-24px);transition:opacity .35s,transform .4s cubic-bezier(.2,.7,.2,1),color .3s}
.tlb-pi-js .tlb-hm .tlb-pi-mlist li.is-on{opacity:1;transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-myths.is-struck .tlb-pi-mlist li{color:#6a6d75}
.tlb-pi-js .tlb-hm .tlb-pi-myths.is-struck .tlb-pi-mlist li::after{transform:scaleX(1)}
.tlb-pi-js .tlb-hm .tlb-pi-myths.is-struck .tlb-pi-mlist li:nth-child(2)::after{transition-delay:.08s}
.tlb-pi-js .tlb-hm .tlb-pi-myths.is-struck .tlb-pi-mlist li:nth-child(3)::after{transition-delay:.16s}
.tlb-pi-js .tlb-hm .tlb-pi-myths.is-struck .tlb-pi-mlist li:nth-child(4)::after{transition-delay:.24s}
.tlb-pi-js .tlb-hm .tlb-pi-myths.is-struck .tlb-pi-mlist li:nth-child(5)::after{transition-delay:.32s}
.tlb-pi-js .tlb-hm .tlb-pi-mturn{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
.tlb-pi-js .tlb-hm .tlb-pi-myths.is-turn .tlb-pi-mturn{opacity:1;transform:none}

/* 08 답 (밝은 칸) */
.tlb-hm .tlb-pi-ans{padding:160px 0 120px;background:#fff;color:var(--body)}
.tlb-hm .tlb-pi-ans-head{max-width:820px}
.tlb-hm .tlb-pi-a{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:72px;align-items:center;margin-top:120px}
.tlb-hm .tlb-pi-a--rev figure{order:2}
.tlb-hm .tlb-pi-a figure{margin:0;overflow:hidden;border-radius:8px;aspect-ratio:4 / 3}
.tlb-hm .tlb-pi-a img{display:block;width:100%;height:100%;object-fit:cover}
.tlb-hm .tlb-pi-a-no{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-a h3{margin-top:12px;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pi-a h3 + p{margin-top:18px;color:var(--body);font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pi-a blockquote{margin-top:18px;padding:18px 20px;border-radius:8px;background:#f6f4ef;color:var(--ink);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}

/* 09 만드는 방식 */
.tlb-hm .tlb-pi-making{position:relative;padding:160px 0;isolation:isolate;overflow:hidden}
.tlb-hm .tlb-pi-making-media{position:absolute;inset:0;z-index:-1}
.tlb-hm .tlb-pi-making-media img{width:100%;height:100%;object-fit:cover;opacity:.35}
.tlb-hm .tlb-pi-making-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0a0c 30%,rgba(10,10,12,.6))}
.tlb-hm .tlb-pi-rules{margin:56px 0 0;padding:0;list-style:none;counter-reset:r;max-width:880px}
.tlb-hm .tlb-pi-rules li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px 20px;padding:30px 0;border-top:1px solid #2a2c31;counter-increment:r}
.tlb-hm .tlb-pi-rules li::before{content:counter(r,decimal-leading-zero);grid-row:1 / span 2;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none)}
.tlb-hm .tlb-pi-rules b{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pi-rules span{color:#b9bcc2;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}

/* 10 시리즈 (밝은 칸) */
.tlb-hm .tlb-pi-series{padding:160px 0;background:#f6f4ef;color:var(--body)}
.tlb-hm .tlb-pi-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:56px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pi-shelf a{display:block;color:var(--ink)}
.tlb-hm .tlb-pi-shelf img{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:4px;box-shadow:0 24px 44px rgba(0,0,0,.22);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.tlb-hm .tlb-pi-shelf a:hover img{transform:translateY(-10px)}
.tlb-hm .tlb-pi-shelf b{display:block;margin-top:18px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-shelf span{display:block;margin-top:4px;color:var(--mute);font-size:var(--tlb-fs-small)}

/* 11 후기 */
.tlb-hm .tlb-pi-voices{padding:160px 0;background:#0a0a0c}
.tlb-hm .tlb-pi-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:64px}
.tlb-hm .tlb-pi-ct{padding-top:20px;border-top:2px solid #2a2c31}
.tlb-hm .tlb-pi-ct:first-child{border-color:#962DE3}
.tlb-hm .tlb-pi-ct b{display:block;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-display);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none);font-variant-numeric:tabular-nums}
.tlb-hm .tlb-pi-ct:first-child b{color:var(--brand)}
.tlb-hm .tlb-pi-ct span{display:block;margin-top:12px;color:#b9bcc2;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-pi-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:72px}
.tlb-hm .tlb-pi-quotes blockquote{padding:30px 28px;border:1px solid #2a2c31;border-radius:10px;background:#141417;color:#dcdde0;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}

/* 12 끝 */
.tlb-hm .tlb-pi-end{position:relative;min-height:90vh;display:flex;align-items:center;isolation:isolate;overflow:hidden;text-align:center}
.tlb-hm .tlb-pi-end-media{position:absolute;inset:0;z-index:-1}
.tlb-hm .tlb-pi-end-media img{width:100%;height:100%;object-fit:cover;opacity:.4}
.tlb-hm .tlb-pi-end-media::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(10,10,12,.55),#0a0a0c 75%)}
.tlb-hm .tlb-pi-end-ttl{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-display);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-tight);letter-spacing:var(--tlb-ls-head);text-align:center;text-align-last:center}
.tlb-hm .tlb-pi-end-sub{margin-top:22px;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-bold);text-align:center;text-align-last:center}
.tlb-hm .tlb-pi-links{display:flex;justify-content:center;gap:28px;margin-top:40px}
.tlb-hm .tlb-pi-links a{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:6px}
.tlb-hm .tlb-pi-links a:hover{text-decoration-color:var(--brand)}

/* 등장 */
@keyframes tlbpi-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes tlbpi-zoom{from{transform:scale(1.15)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.tlb-pi-js .tlb-hm .tlb-pi-bar i, .tlb-pi-js .tlb-hm .tlb-pi-seat{transition:none}}

@media (max-width:760px){
.tlb-hm .tlb-pi-hero{padding:100px 0 10vh}
.tlb-hm .tlb-pi-hero-media::after{background:linear-gradient(180deg,rgba(10,10,12,.1) 0%,rgba(10,10,12,.85) 55%,#0a0a0c 100%)}
.tlb-hm .tlb-pi-hero-in > *{max-width:none}
.tlb-hm .tlb-pi-hero-ttl{font-size:var(--tlb-fs-title)}
.tlb-hm .tlb-pi-hero-media img{object-position:20% 30%}
.tlb-hm .tlb-pi-src{display:none}
.tlb-hm .tlb-pi-chart-in{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;padding-top:72px;gap:12px}
.tlb-hm .tlb-pi-chart-head .tlb-pi-p{display:none}
.tlb-hm .tlb-pi-readout, .tlb-hm .tlb-pi-plot, .tlb-hm .tlb-pi-verdict{grid-column:1}
.tlb-hm .tlb-pi-readout{grid-row:2}
.tlb-hm .tlb-pi-plot{grid-row:3;min-height:200px;gap:4px}
.tlb-hm .tlb-pi-verdict{grid-row:4}
.tlb-hm .tlb-pi-bar small{font-size:var(--tlb-fs-tiny)}
.tlb-hm .tlb-pi-mo{min-height:300px;padding:24px 22px}
.tlb-hm .tlb-pi-poll, .tlb-hm .tlb-pi-origin, .tlb-hm .tlb-pi-ans, .tlb-hm .tlb-pi-making, .tlb-hm .tlb-pi-series, .tlb-hm .tlb-pi-voices{padding:96px 0}
.tlb-hm .tlb-pi-origin-in, .tlb-hm .tlb-pi-a{grid-template-columns:1fr;gap:28px}
.tlb-hm .tlb-pi-a{margin-top:72px}
.tlb-hm .tlb-pi-a--rev figure{order:0}
.tlb-hm .tlb-pi-mlist li{border-radius:14px}
.tlb-hm .tlb-pi-rules li{grid-template-columns:48px minmax(0,1fr)}
.tlb-hm .tlb-pi-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}
.tlb-hm .tlb-pi-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
.tlb-hm .tlb-pi-quotes{grid-template-columns:1fr}
}

/* 그래프 위 경쟁률 오브젝트 */
.tlb-hm .tlb-pi-ratio{position:absolute;left:0;top:2%;display:flex;flex-direction:column;align-items:flex-start;padding:18px 22px;border-radius:14px;background:rgba(150,45,227,.16);border:1px solid rgba(179,85,255,.5);backdrop-filter:blur(6px)}
.tlb-hm .tlb-pi-ratio small{color:#b355ff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-ratio b{margin-top:4px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none);letter-spacing:var(--tlb-ls-head);white-space:nowrap}
.tlb-pi-js .tlb-hm .tlb-pi-ratio{opacity:0;transform:translateY(16px) scale(.94);transition:opacity .35s,transform .45s cubic-bezier(.2,.9,.2,1.2)}
.tlb-pi-js .tlb-hm .tlb-pi-chart.is-verdict .tlb-pi-ratio{opacity:1;transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-chart.is-final .tlb-pi-verdict-c{opacity:1;transform:none}
.tlb-hm .tlb-pi-verdict-c{font-size:var(--tlb-fs-h3) !important}
@media (max-width:760px){.tlb-hm .tlb-pi-ratio{top:0;left:0;padding:10px 14px}.tlb-hm .tlb-pi-ratio b{font-size:var(--tlb-fs-h3)}}

/* 03 한 해: 세로 시계열 */
.tlb-hm .tlb-pi-year2{padding:160px 0;background:#111114}
.tlb-hm .tlb-pi-tl{position:relative;margin:72px 0 0;padding:0;list-style:none;--tp:0}
.tlb-hm .tlb-pi-tl::before, .tlb-hm .tlb-pi-tl::after{content:"";position:absolute;left:139px;top:10px;bottom:40px;width:2px;border-radius:2px}
.tlb-hm .tlb-pi-tl::before{background:#2a2c31}
.tlb-hm .tlb-pi-tl::after{background:linear-gradient(180deg,#962DE3,#b355ff);transform-origin:50% 0;transform:scaleY(var(--tp))}
.tlb-hm .tlb-pi-tl > li{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 70px;padding-bottom:72px}
.tlb-hm .tlb-pi-tl > li::before{content:"";position:absolute;left:131px;top:6px;z-index:1;width:18px;height:18px;border-radius:50%;background:#111114;border:2px solid #3a3c42;transition:background .3s,border-color .3s,box-shadow .4s}
.tlb-hm .tlb-pi-tl > li.is-on::before{background:#962DE3;border-color:#b355ff;box-shadow:0 0 0 7px rgba(150,45,227,.22)}
.tlb-hm .tlb-pi-tl-m{color:#6a6d75;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-tight);text-align:right;transition:color .3s}
.tlb-hm .tlb-pi-tl > li.is-on .tlb-pi-tl-m{color:#b355ff}
.tlb-hm .tlb-pi-tl-c h3{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pi-tl-lead{margin-top:8px;color:#9a9ea6;font-size:var(--tlb-fs-read)}
.tlb-hm .tlb-pi-tl-c blockquote{max-width:720px;margin-top:20px;padding:22px 24px;border-radius:10px;background:#18181c;border:1px solid #2a2c31;color:#dcdde0;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pi-tl-last{padding-bottom:0}
.tlb-hm .tlb-pi-tl-last .tlb-pi-tl-c blockquote{background:#24113a;border-color:#4a2a70}
.tlb-pi-js .tlb-hm .tlb-pi-tl-c{opacity:.25;transform:translateY(18px);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.tlb-pi-js .tlb-hm .tlb-pi-tl > li.is-on .tlb-pi-tl-c{opacity:1;transform:none}
@media (max-width:760px){
.tlb-hm .tlb-pi-year2{padding:96px 0}
.tlb-hm .tlb-pi-tl{margin-top:48px}
.tlb-hm .tlb-pi-tl::before, .tlb-hm .tlb-pi-tl::after{left:8px}
.tlb-hm .tlb-pi-tl > li{grid-template-columns:1fr;padding:0 0 52px 40px}
.tlb-hm .tlb-pi-tl > li::before{left:0;width:16px;height:16px}
.tlb-hm .tlb-pi-tl-m{text-align:left;font-size:var(--tlb-fs-h5);margin-bottom:6px}
.tlb-hm .tlb-pi-tl-c h3{font-size:var(--tlb-fs-h4)}
}

/* 본문 강조는 SUIT(제목만 SUITE, 대표 2026-10-06) */
.tlb-hm :is(.tlb-pi-verdict p,.tlb-pi-bigline,.tlb-pi-mturn,.tlb-pi-mturn em,.tlb-pi-ring figcaption,.tlb-pi-end-sub,.tlb-pi-mlist li,.tlb-pi-hero-sub,.tlb-pi-tl-lead){font-family:var(--tlb-font-body)}
.tlb-hm :is(.tlb-pi-verdict p,.tlb-pi-bigline,.tlb-pi-mturn,.tlb-pi-ring figcaption,.tlb-pi-end-sub,.tlb-pi-mlist li){font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-mturn em{font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pi-a-no s{color:#9a3c3e;font-family:var(--tlb-font-body);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);text-decoration-color:#FE5356;text-decoration-thickness:2px}
.tlb-hm .tlb-pi-a-no s::before{content:"“"}
.tlb-hm .tlb-pi-a-no s::after{content:"”"}

/* v6c: 만드는 방식 인용, 커리큘럼 띠, 후기 말풍선 */
.tlb-hm .tlb-pi-rules li{grid-template-columns:80px minmax(0,1fr)}
.tlb-hm .tlb-pi-rules q{grid-column:2;display:block;margin-top:14px;padding-left:16px;border-left:2px solid #4a2a70;color:#b355ff;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text);quotes:none}
.tlb-hm .tlb-pi-rules li::before{grid-row:1 / span 3}
.tlb-hm .tlb-pi-series{padding:120px 0}
.tlb-hm .tlb-pi-series-in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:48px;align-items:center}
.tlb-hm .tlb-pi-series-btn{margin-top:36px}
.tlb-hm .tlb-pi-fan{position:relative;height:340px}
.tlb-hm .tlb-pi-fan img{position:absolute;top:20px;width:42%;aspect-ratio:3 / 4;object-fit:cover;border-radius:4px;box-shadow:0 24px 50px rgba(0,0,0,.28);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tlb-hm .tlb-pi-fan img:nth-child(1){left:0;transform:rotate(-10deg)}
.tlb-hm .tlb-pi-fan img:nth-child(2){left:18%;transform:rotate(-3deg);z-index:1}
.tlb-hm .tlb-pi-fan img:nth-child(3){left:36%;transform:rotate(4deg);z-index:2}
.tlb-hm .tlb-pi-fan img:nth-child(4){left:54%;transform:rotate(11deg);z-index:3}
.tlb-hm .tlb-pi-series:hover .tlb-pi-fan img:nth-child(1){transform:rotate(-14deg) translateX(-12px)}
.tlb-hm .tlb-pi-series:hover .tlb-pi-fan img:nth-child(4){transform:rotate(15deg) translateX(12px)}
.tlb-hm .tlb-pi-chat{display:flex;flex-direction:column;gap:22px;max-width:980px;margin:72px auto 0}
.tlb-hm .tlb-pi-bub{position:relative;max-width:640px;padding:22px 26px;border-radius:22px 22px 22px 6px;background:#1c1c22;color:#e6e7ea;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pi-bub::after{content:"";position:absolute;left:-8px;bottom:0;width:18px;height:18px;background:#1c1c22;clip-path:polygon(100% 0,100% 100%,0 100%)}
.tlb-hm .tlb-pi-bub small{display:block;margin-top:10px;color:#7d818a;font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-pi-bub--r{align-self:flex-end;border-radius:22px 22px 6px 22px;background:#962DE3;color:#fff}
.tlb-hm .tlb-pi-bub--r::after{left:auto;right:-8px;background:#962DE3;clip-path:polygon(0 0,100% 100%,0 100%)}
.tlb-hm .tlb-pi-bub--r small{color:rgba(255,255,255,.72)}
@keyframes tlbpi-pop{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}
@media (max-width:760px){
.tlb-hm .tlb-pi-series-in{grid-template-columns:1fr}
.tlb-hm .tlb-pi-fan{height:240px}
.tlb-hm .tlb-pi-rules li{grid-template-columns:48px minmax(0,1fr)}
.tlb-hm .tlb-pi-bub{max-width:92%}
}
.tlb-hm .tlb-pi-tl > li{padding-bottom:56px}
.tlb-hm .tlb-pi-tl-c blockquote{margin-top:14px}
.tlb-hm .tlb-pi-tl-end{margin-top:72px;padding-left:180px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pi-tl-end em{color:var(--brand);font-style:normal}
@media (max-width:760px){.tlb-hm .tlb-pi-tl-end{padding-left:0;margin-top:48px}}

/* 믿는 것과 만드는 방식(한 장) */
.tlb-hm .tlb-pi-creed{position:relative;padding:160px 0;isolation:isolate;overflow:hidden;background:#0a0a0c}
.tlb-hm .tlb-pi-creed .tlb-pi-making-media img{opacity:.25}
.tlb-hm .tlb-pi-cr{margin:64px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pi-cr > li{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:72px;padding:56px 0;border-top:1px solid #2a2c31}
.tlb-hm .tlb-pi-cr-b b{display:block;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pi-cr-b span{display:block;margin-top:16px;color:#9a9ea6;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pi-cr-m{padding:28px 30px;border-radius:12px;background:rgba(28,28,34,.85);border:1px solid #2a2c31}
.tlb-hm .tlb-pi-cr-m small{color:#b355ff;font-family:var(--tlb-font-body);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-cr-m h3{margin-top:6px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pi-cr-m p{margin-top:12px;color:#b9bcc2;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pi-cr-m q{display:block;margin-top:16px;padding-left:14px;border-left:2px solid #4a2a70;color:#b355ff;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text);quotes:none}
@media (max-width:760px){.tlb-hm .tlb-pi-creed{padding:96px 0}.tlb-hm .tlb-pi-cr > li{grid-template-columns:1fr;gap:24px;padding:40px 0}.tlb-hm .tlb-pi-cr-b b{font-size:var(--tlb-fs-h3)}}

/* 커리큘럼으로 잇는 장 */
.tlb-hm .tlb-pi-series2{padding:160px 0;background:#f6f4ef;color:var(--body)}
.tlb-hm .tlb-pi-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:72px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pi-steps::before{content:"";position:absolute;left:6%;right:6%;top:calc(50% - 60px);height:2px;background:linear-gradient(90deg,#4A86E8 0 25%,#962DE3 25% 50%,#FF8C42 50% 75%,#FE5356 75%);opacity:.35}
.tlb-hm .tlb-pi-steps li{position:relative;display:flex;flex-direction:column}
.tlb-hm .tlb-pi-steps img{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:4px;box-shadow:0 24px 44px rgba(0,0,0,.22)}
.tlb-hm .tlb-pi-steps small{margin-top:20px;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-steps b{margin-top:4px;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pi-steps span{margin-top:6px;color:var(--body);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pi-series-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:72px;padding:32px 36px;border-radius:14px;background:#1F2124}
.tlb-hm .tlb-pi-series-cta p{color:#fff;font-family:var(--tlb-font-body);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pi-series-cta .tlb-hm-btn{min-height:56px;padding:0 32px}
@media (max-width:760px){.tlb-hm .tlb-pi-series2{padding:96px 0}.tlb-hm .tlb-pi-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.tlb-hm .tlb-pi-steps::before{display:none}.tlb-hm .tlb-pi-series-cta{padding:24px 20px}.tlb-hm .tlb-pi-series-cta .tlb-hm-btn{width:100%}}
.tlb-hm .tlb-pi-endbtns{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:min(340px,100%);margin:44px auto 0}
.tlb-hm .tlb-pi-endbtns .tlb-hm-btn, .tlb-hm .tlb-pi-endbtns .tlb-pi-btn-ghost{width:100%;min-height:58px}
.tlb-hm .tlb-pi-btn-ghost{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.7);border-radius:4px;color:#fff;font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-bold);transition:background .2s,color .2s}
.tlb-hm .tlb-pi-btn-ghost:hover{background:#fff;color:var(--ink)}
.tlb-hm .tlb-pi-ratio i{margin-top:8px;color:rgba(255,255,255,.6);font-family:var(--tlb-font-body);font-size:var(--tlb-fs-caption);font-style:normal}

/* 리트캠 장 */
.tlb-hm .tlb-pi-camp{padding:160px 0;background:#0a0a0c}
.tlb-hm .tlb-pi-camp-top{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:64px;align-items:center}
.tlb-hm .tlb-pi-camp-f{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:40px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pi-camp-f li{padding-top:16px;border-top:1px solid #2a2c31}
.tlb-hm .tlb-pi-camp-f b{display:block;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-camp-f span{display:block;margin-top:6px;color:#9a9ea6;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pi-camp-shots{position:relative;height:520px}
.tlb-hm .tlb-pi-camp-shots img{position:absolute;width:62%;border-radius:12px;box-shadow:0 30px 60px rgba(0,0,0,.6);border:1px solid #2a2c31}
.tlb-hm .tlb-pi-camp-shots img:first-child{left:0;top:0;transform:rotate(-4deg)}
.tlb-hm .tlb-pi-camp-shots img:last-child{right:0;top:80px;transform:rotate(4deg)}
.tlb-hm .tlb-pi-camp-c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:80px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pi-camp-c li{padding:26px 28px;border-radius:12px;background:#141417;border:1px solid #2a2c31}
.tlb-hm .tlb-pi-camp-c small{color:#b355ff;font-family:var(--tlb-font-body);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-camp-c b{display:block;margin-top:6px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pi-camp-c span{display:block;margin-top:6px;color:#9a9ea6;font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pi-chat--camp{margin-top:56px}
.tlb-hm .tlb-pi-camp-cta{display:flex;justify-content:center;margin-top:48px}
.tlb-hm .tlb-pi-camp-cta .tlb-pi-btn-ghost{min-height:56px;padding:0 40px}
/* 리트캠 구간은 브랜드 서브색 라임(_brand/bible-series/identity/tokens/colors.css --brand-lime)으로 구분한다 */
.tlb-hm .tlb-pi-camp{--tlb-pi-lime:#c2f707;--tlb-pi-lime-dim:rgba(194,247,7,.14);background:#0b0d07;border-top:2px solid var(--tlb-pi-lime)}
.tlb-hm .tlb-pi-camp .tlb-pi-eyebrow{color:var(--tlb-pi-lime)}
.tlb-hm .tlb-pi-camp .tlb-pi-h2 em{color:var(--tlb-pi-lime);font-style:normal}
.tlb-hm .tlb-pi-camp-f li{border-top-color:var(--tlb-pi-lime)}
.tlb-hm .tlb-pi-camp-shots img{border-color:rgba(194,247,7,.35)}
.tlb-hm .tlb-pi-camp-c li{background:#12150a;border-color:rgba(194,247,7,.28)}
.tlb-hm .tlb-pi-camp-c small{color:var(--tlb-pi-lime)}
.tlb-hm .tlb-pi-camp .tlb-pi-bub--r{background:var(--tlb-pi-lime);color:#15170c}
.tlb-hm .tlb-pi-camp .tlb-pi-bub--r::after{background:var(--tlb-pi-lime)}
.tlb-hm .tlb-pi-camp .tlb-pi-bub--r small{color:#4a5410}
.tlb-hm .tlb-pi-btn-lime{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 40px;border-radius:4px;background:var(--tlb-pi-lime);color:#15170c;font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-bold);transition:background .2s}
.tlb-hm .tlb-pi-btn-lime:hover{background:#d4ff3a;color:#15170c;text-decoration:none}
@media (max-width:760px){.tlb-hm .tlb-pi-camp{padding:96px 0}.tlb-hm .tlb-pi-camp-top{grid-template-columns:1fr;gap:40px}.tlb-hm .tlb-pi-camp-f{grid-template-columns:1fr}.tlb-hm .tlb-pi-camp-shots{height:340px}.tlb-hm .tlb-pi-camp-c{grid-template-columns:1fr}}

.tlb-hm .tlb-pi-ratio{padding:24px 30px}
.tlb-hm .tlb-pi-ratio small{font-size:var(--tlb-fs-body)}
.tlb-hm .tlb-pi-ratio b{font-size:var(--tlb-fs-display)}
.tlb-hm .tlb-pi-ratio i{font-size:var(--tlb-fs-small)}
@media (max-width:760px){.tlb-hm .tlb-pi-ratio{padding:12px 16px}.tlb-hm .tlb-pi-ratio b{font-size:var(--tlb-fs-h2)}.tlb-hm .tlb-pi-ratio small,.tlb-hm .tlb-pi-ratio i{font-size:var(--tlb-fs-caption)}}

/* v7: 답 그림(시험지 대비, 첫 독해, 판단 순서, 시간) */
.tlb-hm .tlb-pi-a .tlb-pi-fig{aspect-ratio:auto;overflow:visible;padding:36px 34px;border-radius:12px;background:#f6f4ef;color:var(--ink)}
.tlb-hm .tlb-pi-fig-h{color:var(--mute);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-fig figcaption{margin-top:22px;color:var(--ink);font-family:var(--tlb-font-body);font-size:var(--tlb-fs-body);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pi-paper{padding:18px 20px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 12px 26px rgba(31,33,36,.07)}
.tlb-hm .tlb-pi-paper-h{color:var(--mute);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-paper-q{margin-top:8px;color:var(--ink);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pi-paper-q b{font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pi-paper--sn{background:#fbfaf7;box-shadow:none}
.tlb-hm .tlb-pi-paper--sn .tlb-pi-paper-q{color:var(--mute)}
.tlb-hm .tlb-pi-papers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.tlb-hm .tlb-pi-papers .tlb-pi-paper{border-color:rgba(150,45,227,.35)}
.tlb-hm .tlb-pi-fig mark{padding:0 2px;color:inherit;background-color:transparent;background-repeat:no-repeat;background-size:100% 100%}
.tlb-hm .tlb-pi-mk{background-image:linear-gradient(transparent 55%,rgba(150,45,227,.28) 0)}
.tlb-hm .tlb-pi-mj{background-image:linear-gradient(transparent 55%,rgba(255,140,66,.4) 0)}
.tlb-hm .tlb-pi-fig figcaption .tlb-pi-mk, .tlb-hm .tlb-pi-fig figcaption .tlb-pi-mj{padding:0 3px}
.tlb-hm .tlb-pi-psg{margin-top:14px;padding:22px 20px;border:1px solid var(--line);border-radius:6px;background:#fff}
.tlb-hm .tlb-pi-psg p{display:flex;flex-wrap:wrap;align-items:center;gap:10px 8px;margin:0 0 18px}
.tlb-hm .tlb-pi-psg p:last-child{margin-bottom:0}
.tlb-hm .tlb-pi-psg i{display:block;flex:1 1 22%;height:9px;border-radius:5px;background:#e3e4e8;transform-origin:0 50%}
.tlb-hm .tlb-pi-psg i:nth-child(odd){flex-basis:34%}
.tlb-hm .tlb-pi-psg i:has(mark){flex:0 0 auto;height:auto;background:none}
.tlb-hm .tlb-pi-psg mark{display:inline-block;padding:4px 10px;border-radius:4px;background:rgba(150,45,227,.14);color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-style:normal;font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-psg .tlb-pi-psg-go{background:var(--brand);color:#fff}
.tlb-hm .tlb-pi-psg-opt{margin-top:16px;color:var(--body);font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pi-psg-opt b{display:inline-block;margin-right:6px;padding:3px 10px;border-radius:4px;background:#1F2124;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-pi-flow{margin:16px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pi-flow > li{position:relative;margin-top:24px;padding:14px 18px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pi-flow > li:first-child{margin-top:0}
.tlb-hm .tlb-pi-flow > li + li::before{content:"";position:absolute;left:30px;top:-25px;width:2px;height:24px;background:var(--brand);transform-origin:50% 0}
.tlb-hm .tlb-pi-flow small{display:block;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-flow-opt{background:#1F2124 !important;border-color:#1F2124 !important;color:#fff !important;font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-flow-q{font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-flow > .tlb-pi-flow-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;border:0;background:none}
.tlb-hm .tlb-pi-flow-split span{padding:12px 16px;border-radius:8px;font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-flow-no{border:1px solid rgba(254,83,86,.35);background:rgba(254,83,86,.07);color:#c22e31}
.tlb-hm .tlb-pi-flow-no small{color:#c22e31}
.tlb-hm .tlb-pi-flow-yes{border:1px solid rgba(150,45,227,.35);background:rgba(150,45,227,.07);color:var(--brand)}
.tlb-hm .tlb-pi-clock{margin-top:12px}
.tlb-hm .tlb-pi-clock b{display:block;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-display);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-none);font-variant-numeric:tabular-nums}
.tlb-hm .tlb-pi-clock span{display:block;margin-top:8px;color:var(--mute);font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pi-bar70{margin-top:22px;height:8px;border-radius:4px;background:#e3e4e8;overflow:hidden}
.tlb-hm .tlb-pi-bar70 i{display:block;height:100%;background:var(--brand);transform-origin:0 50%}
.tlb-hm .tlb-pi-cells{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:16px}
.tlb-hm .tlb-pi-cells i{display:block;aspect-ratio:1;border-radius:4px;background:var(--brand)}
.tlb-hm .tlb-pi-cells i.tlb-pi-c-hold{background:#fff;box-shadow:inset 0 0 0 2px #FF8C42}
.tlb-hm .tlb-pi-cells i.tlb-pi-c-skip{background:repeating-linear-gradient(135deg,#d6d8dd 0 4px,#eceef1 4px 8px)}
.tlb-hm .tlb-pi-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;padding:0;list-style:none;color:var(--body);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-pi-legend li{display:flex;align-items:center;gap:6px}
.tlb-hm .tlb-pi-legend li::before{content:"";width:12px;height:12px;border-radius:3px}
.tlb-hm .tlb-pi-legend .is-done::before{background:var(--brand)}
.tlb-hm .tlb-pi-legend .is-hold::before{background:#fff;box-shadow:inset 0 0 0 2px #FF8C42}
.tlb-hm .tlb-pi-legend .is-skip::before{background:repeating-linear-gradient(135deg,#d6d8dd 0 3px,#eceef1 3px 6px)}
@media (max-width:760px){.tlb-hm .tlb-pi-a .tlb-pi-fig{padding:26px 20px}.tlb-hm .tlb-pi-papers{grid-template-columns:1fr}.tlb-hm .tlb-pi-clock b{font-size:var(--tlb-fs-title)}}

/* v7: 2028 표지, 리트캠 로고와 후기 */
.tlb-hm .tlb-pi-steps img{aspect-ratio:360 / 504;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.tlb-hm .tlb-pi-steps li:hover img{transform:translateY(-10px);box-shadow:0 34px 54px rgba(0,0,0,.28)}
.tlb-hm .tlb-pi-camp-logo{display:block;width:min(280px,64vw);height:auto}
.tlb-hm .tlb-pi-rvs{margin-top:96px}
.tlb-hm .tlb-pi-rvs-h{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pi-rvs-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:28px}
.tlb-hm .tlb-pi-rvs-col{display:flex;flex-direction:column;gap:18px}
.tlb-hm .tlb-pi-rv{padding:26px 26px 22px;border:1px solid rgba(194,247,7,.18);border-radius:12px;background:#13160b}
.tlb-hm .tlb-pi-rv-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tlb-hm .tlb-pi-rv-star{color:var(--tlb-pi-lime);font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pi-rv-c{padding:4px 10px;border-radius:999px;background:rgba(194,247,7,.12);color:var(--tlb-pi-lime);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-rv-t{margin-top:16px;color:#d4d6da;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pi-rv mark{padding:0 1px;background-color:transparent;background:linear-gradient(transparent 58%,rgba(194,247,7,.34) 0) no-repeat;background-size:100% 100%;color:#fff;font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pi-rv-by{margin-top:18px;color:#7d818a;font-size:var(--tlb-fs-caption)}
@media (max-width:760px){.tlb-hm .tlb-pi-rvs{margin-top:64px}.tlb-hm .tlb-pi-rvs-g{grid-template-columns:1fr}}

/* v8: 버튼 뒤로 퍼지는 면(선이 아니라 채워진 면). 상하좌우 같은 폭(px)으로 번져 버튼 비율이 달라도 모양이 같다. 시작 농도는 --pulse-a, 번지는 폭은 --pulse-d */
.tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) :is(.tlb-hm-btn--main,.tlb-pi-btn-ghost,.tlb-pi-btn-lime){position:relative;isolation:isolate;--ring:rgba(150,45,227,.85);--pulse-d:12px;--pulse-a:45%}
.tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) .tlb-pi-btn-ghost{--ring:rgba(255,255,255,.7)}
.tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) .tlb-pi-btn-lime{--ring:rgba(194,247,7,.85)}
.tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) :is(.tlb-hm-btn--main,.tlb-pi-btn-ghost,.tlb-pi-btn-lime)::before, .tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) :is(.tlb-hm-btn--main,.tlb-pi-btn-ghost,.tlb-pi-btn-lime)::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:0 0 0 0 transparent;pointer-events:none}
@media (max-width:760px){.tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) :is(.tlb-hm-btn--main,.tlb-pi-btn-ghost,.tlb-pi-btn-lime){--pulse-d:8px}}

/* v7: 첫 화면 열림 */
@media (prefers-reduced-motion:no-preference){
.tlb-hm .tlb-pi-hero-media img{animation:tlbpi-kb 2.4s cubic-bezier(.2,.7,.2,1) both}
.tlb-hm .tlb-pi-hero-in > *{animation:tlbpi-in 1s cubic-bezier(.2,.7,.2,1) both}
.tlb-hm .tlb-pi-hero-in > :nth-child(2){animation-delay:.18s}
.tlb-hm .tlb-pi-hero-in > :nth-child(3){animation-delay:.5s}
.tlb-hm .tlb-pi-hero-ttl em{animation:tlbpi-in 1s cubic-bezier(.2,.7,.2,1) .38s both}
.tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) :is(.tlb-hm-btn--main,.tlb-pi-btn-ghost,.tlb-pi-btn-lime)::before, .tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) :is(.tlb-hm-btn--main,.tlb-pi-btn-ghost,.tlb-pi-btn-lime)::after{animation:tlbpi-ring 2.6s cubic-bezier(.2,.6,.3,1) infinite}
.tlb-hm:is(.tlb-pg-intro,.tlb-pg-curriculum) :is(.tlb-hm-btn--main,.tlb-pi-btn-ghost,.tlb-pi-btn-lime)::after{animation-delay:1.3s}

/* v7: 화면에 들어올 때 등장(JS가 tlb-pi-up을 붙이고 보이면 is-in) */
.tlb-pi-js .tlb-hm .tlb-pi-up{opacity:0;transform:translateY(42px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--rd,0ms),transform 1s cubic-bezier(.2,.7,.2,1) var(--rd,0ms)}
.tlb-pi-js .tlb-hm :is(.tlb-pi-origin-img,.tlb-pi-camp-shots,.tlb-pi-fig).tlb-pi-up{transform:translateY(42px) scale(.95)}
.tlb-pi-js .tlb-hm .tlb-pi-up.is-in{opacity:1;transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-up mark{background-size:0% 100%;transition:background-size 1s cubic-bezier(.2,.7,.2,1) calc(var(--rd,0ms) + .45s)}
.tlb-pi-js .tlb-hm .tlb-pi-up.is-in mark{background-size:100% 100%}
.tlb-pi-js .tlb-hm .tlb-pi-fig .tlb-pi-paper{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .7s cubic-bezier(.2,.7,.2,1)}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-paper{opacity:1;transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-papers .tlb-pi-paper{transition-delay:.35s}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-papers .tlb-pi-paper + .tlb-pi-paper{transition-delay:.55s}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-papers mark{transition-delay:1.05s}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-papers .tlb-pi-paper + .tlb-pi-paper mark{transition-delay:1.3s}
.tlb-pi-js .tlb-hm .tlb-pi-psg i{transform:scaleX(0);transition:transform .6s cubic-bezier(.2,.7,.2,1) var(--cd,0ms)}
.tlb-pi-js .tlb-hm .tlb-pi-psg mark{opacity:0;transform:scale(.6);transition:opacity .3s var(--cd,0ms),transform .45s cubic-bezier(.3,1.6,.5,1) var(--cd,0ms)}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-psg i{transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-psg mark{opacity:1;transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-psg-go{animation:tlbpi-dot 1.6s ease-in-out 2.2s infinite}
.tlb-pi-js .tlb-hm .tlb-pi-psg-opt{opacity:0;transform:translateY(10px);transition:opacity .5s 1.9s,transform .5s 1.9s}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-psg-opt{opacity:1;transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-flow > li{opacity:0;transform:translateY(14px);transition:opacity .5s var(--cd,0ms),transform .6s cubic-bezier(.2,.7,.2,1) var(--cd,0ms)}
.tlb-pi-js .tlb-hm .tlb-pi-flow > li + li::before{transform:scaleY(0);transition:transform .35s calc(var(--cd,0ms) - .2s)}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-flow > li{opacity:1;transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-flow > li::before{transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-flow-no{animation:tlbpi-strike .6s ease 1.6s both}
.tlb-pi-js .tlb-hm .tlb-pi-bar70 i{transform:scaleX(0);transition:transform 2.6s linear .3s}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-bar70 i{transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-cells i{opacity:0;transform:scale(.4);transition:opacity .25s calc(var(--cd,0ms) + .3s),transform .35s cubic-bezier(.3,1.6,.5,1) calc(var(--cd,0ms) + .3s)}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-cells i{opacity:1;transform:none}
.tlb-pi-js .tlb-hm .tlb-pi-fig.is-in .tlb-pi-cells i.tlb-pi-c-hold{animation:tlbpi-back .5s ease 3.3s both}
}
@keyframes tlbpi-in{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes tlbpi-kb{from{opacity:0;transform:scale(1.1)}to{opacity:1;transform:none}}
@keyframes tlbpi-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ring) var(--pulse-a),transparent)}100%{box-shadow:0 0 0 var(--pulse-d) color-mix(in srgb,var(--ring) 0%,transparent)}}
@keyframes tlbpi-dot{0%,100%{box-shadow:0 0 0 0 rgba(150,45,227,.5)}50%{box-shadow:0 0 0 8px rgba(150,45,227,0)}}
@keyframes tlbpi-strike{to{text-decoration:line-through;text-decoration-thickness:2px;opacity:.7}}
@keyframes tlbpi-back{to{background:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}}

/* 커리큘럼 v3 (방향, 한눈에 보기 표, 교재별 상세, 2026-10-07) */
.tlb-hm .tlb-pc-step{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-sec{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-sec--lt{color:#b355ff}

.tlb-hm .tlb-pc-dir{padding:150px 0 0;background:radial-gradient(ellipse 70% 60% at 85% 10%,rgba(150,45,227,.18),transparent 70%),#0a0a0c;overflow:hidden}
.tlb-hm .tlb-pc-dir-ttl{margin-top:16px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-display);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-tight);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pc-dir-l{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;margin:64px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pc-dir-l li{padding:30px 0;border-top:1px solid #2a2c31}
.tlb-hm .tlb-pc-dir-l b{display:block;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pc-dir-l span{display:block;margin-top:10px;color:#b9bcc2;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pc-strip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin-top:72px;transform:translateY(24%)}
.tlb-hm .tlb-pc-strip img{width:100%;aspect-ratio:360 / 504;object-fit:cover;border-radius:3px;box-shadow:0 20px 40px rgba(0,0,0,.55)}

.tlb-hm .tlb-pc-tbl{padding:150px 0 120px;background:#f6f4ef;color:var(--body)}
.tlb-hm .tlb-pc-scroll{margin-top:40px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow-x:auto}
.tlb-hm .tlb-pc-t{width:100%;min-width:980px;border-collapse:collapse;color:var(--ink);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-pc-t th, .tlb-hm .tlb-pc-t td{padding:16px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.tlb-hm .tlb-pc-t thead th{background:#1F2124;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-t th small, .tlb-hm .tlb-pc-t td small{display:block;color:var(--mute);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-regular)}
.tlb-hm .tlb-pc-t thead th small{color:#b9bcc2}
.tlb-hm .tlb-pc-t tbody th{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-body);font-weight:var(--tlb-fw-heavy);white-space:nowrap}
.tlb-hm .tlb-pc-t tbody th a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(150,45,227,.35);text-underline-offset:4px}
.tlb-hm .tlb-pc-t tbody th a:hover{color:var(--brand)}
.tlb-hm .tlb-pc-t tbody tr:hover{background:#faf8fd}
.tlb-hm .tlb-pc-t .o{color:var(--brand);font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-heavy);text-align:center}
.tlb-hm .tlb-pc-t .x{color:#c4c7cc;text-align:center}
.tlb-hm .tlb-pc-t .p{color:#d9822b;font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-bold);text-align:center}
.tlb-hm .tlb-pc-t tfoot td{padding:20px 18px;border:0;background:#24113a;color:#e9dcfa;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-t tfoot b{margin-right:10px;color:#fff;font-family:var(--tlb-font-head)}

.tlb-hm .tlb-pc-bks{--pc-top:0px;--pc-bar:64px;padding:120px 0 100px;background:#fff;color:var(--body)}
.tlb-hm .tlb-pc-bks .tlb-pc-bk:last-child{border-bottom:0}
.tlb-hm .tlb-pc-jumpbar{position:sticky;top:var(--pc-top);z-index:5;margin-top:16px;padding:12px 0;background:#fff;border-bottom:1px solid transparent;transition:border-color .2s}
.tlb-hm .tlb-pc-jumpbar.is-stuck{border-bottom-color:var(--line)}
.tlb-hm .tlb-pc-jump{display:flex;flex-wrap:nowrap;gap:10px;margin:0;overflow-x:auto;scrollbar-width:none}
.tlb-hm .tlb-pc-jump::-webkit-scrollbar{display:none}
.tlb-hm .tlb-pc-jump a{flex:none;padding:9px 16px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);transition:border-color .2s,color .2s,background-color .2s}
.tlb-hm .tlb-pc-jump a:hover{border-color:var(--brand);color:var(--brand)}
.tlb-hm .tlb-pc-jump a.is-on{border-color:var(--brand);background:var(--brand);color:#fff}
.tlb-hm .tlb-pc-bk{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;padding:72px 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--pc-top) + var(--pc-bar,64px) - 1px)}
.tlb-hm .tlb-pc-bk--wide{grid-template-columns:1fr}
.tlb-hm .tlb-pc-bk-side{align-self:start;position:sticky;top:calc(var(--pc-top) + var(--pc-bar) + 32px)}
.tlb-hm .tlb-pc-bk-side img{display:block;width:100%;aspect-ratio:360 / 504;object-fit:cover;border-radius:4px;box-shadow:0 26px 50px rgba(31,33,36,.22)}
.tlb-hm .tlb-pc-bk-side--noimg{padding:24px;border-radius:12px;background:#1F2124}
.tlb-hm .tlb-pc-bk-side--noimg .tlb-pc-bk-meta{margin-top:0;color:#dcdde0}
.tlb-hm .tlb-pc-bk-meta{margin-top:20px;color:var(--mute);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-bk-side .tlb-hm-btn{width:100%;margin-top:16px;min-height:50px}
.tlb-hm .tlb-pc-buyl{margin:14px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pc-buyl a{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid var(--line);color:var(--ink);font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pc-t th .tlb-pc-ted{display:block;margin-top:4px;color:var(--mute);font-family:var(--tlb-font-body);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-medium)}
.tlb-hm .tlb-pc-t th .tlb-pc-ted.is-out{color:var(--brand)}
.tlb-hm .tlb-pc-ed{margin:16px 0 0}
.tlb-hm .tlb-pc-ed b{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-ed b::before{content:"";flex:none;width:7px;height:7px;margin-top:.55em;border-radius:50%;background:#d9822b}
.tlb-hm .tlb-pc-ed.is-out b::before{background:#2fa36b}
.tlb-hm .tlb-pc-ed span{display:block;margin-top:4px;color:var(--mute);font-size:var(--tlb-fs-caption);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-ed + .tlb-pc-bk-meta{margin-top:10px}
.tlb-hm .tlb-pc-ed--inline{margin-top:14px}
.tlb-hm .tlb-pc-ed--inline span{display:inline;margin:0 0 0 8px}
.tlb-hm .tlb-pc-ed--inline b{display:inline-flex}
.tlb-hm .tlb-pc-jump a i{margin-left:6px;padding:1px 6px;border-radius:4px;background:#0b1213;color:#5fd3c9;font-family:var(--tlb-font-body);font-size:var(--tlb-fs-micro);font-style:normal;font-weight:var(--tlb-fw-bold);vertical-align:1px}
.tlb-hm .tlb-pc-jump a.is-on i{background:rgba(255,255,255,.22);color:#fff}
.tlb-hm .tlb-pc-bk--adv{margin:0 calc(50% - 50vw);padding:110px calc(50vw - 50%);border:0;border-radius:0;background:linear-gradient(100deg,rgba(4,10,11,.94) 0%,rgba(4,10,11,.86) 45%,rgba(4,10,11,.72) 100%),url("https://tlb-assets.pages.dev/images/category/adv-bg.jpg") center / cover no-repeat #0b1213;color:#b8c4c4}
.tlb-hm .tlb-pc-bks .tlb-pc-bk--adv:last-child{border-bottom:0}
.tlb-hm .tlb-pc-bks:has(.tlb-pc-bk--adv:last-child){padding-bottom:0}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-step{color:#5fd3c9}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-bk-ttl{color:#fff}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-bk-lead{color:#e3ecec}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-bk-txt{color:#b8c4c4}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-bk-meta{color:#8fa1a1}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-ed b{color:#e3ecec}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-ed span{color:#8fa1a1}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-bk-side img{box-shadow:0 26px 50px rgba(0,0,0,.5)}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-bk-q{background:rgba(8,18,19,.72);color:#dfe8e8}
.tlb-hm .tlb-pc-bk--adv .tlb-pc-bk-q small{color:#8fa1a1}
.tlb-hm .tlb-pc-excl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:14px 0 6px}
.tlb-hm .tlb-pc-excl b{padding:5px 12px;border:1px solid #5fd3c9;border-radius:4px;color:#5fd3c9;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-excl span{color:#e3ecec;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-advtoc{margin-top:32px;padding-top:4px;border-top:1px solid #223334}
.tlb-hm .tlb-pc-advtoc-h{margin:20px 0 4px;color:#5fd3c9;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-advtoc ol{margin:0;padding:0;list-style:none}
.tlb-hm .tlb-pc-advtoc li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:2px 16px;padding:16px 0;border-bottom:1px solid #1b2a2b}
.tlb-hm .tlb-pc-advtoc small{grid-row:1 / span 4;color:#5fd3c9;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-advtoc b{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-advtoc span{display:block;color:#a8b7b7;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-advtoc-lock b{filter:blur(6px);user-select:none}
.tlb-hm .tlb-pc-advtoc-lock em{color:#5fd3c9;font-size:var(--tlb-fs-small);font-style:normal;font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-advcta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
.tlb-hm .tlb-pc-advlink{color:#5fd3c9;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);text-decoration:underline;text-underline-offset:4px}
.tlb-hm .tlb-pc-advbtn{display:block;margin-top:16px;padding:12px 14px;border:1px solid #5fd3c9;border-radius:8px;color:#5fd3c9;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);text-align:center;transition:background-color .2s}
.tlb-hm .tlb-pc-advbtn:hover{background:rgba(95,211,201,.12)}
.tlb-hm .tlb-pc-perk{display:flex;flex-wrap:wrap;gap:4px 10px;margin:16px 0 0;padding:12px 14px;border-radius:8px;background:#0b1213}
.tlb-hm .tlb-pc-perk b{color:#5fd3c9;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-perk span{color:#e3ecec;font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pc-pc--ult .tlb-pc-perk{background:#1a2223}
.tlb-hm .tlb-pc-buyl b{font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-buyl a:hover b{color:var(--brand)}
.tlb-hm .tlb-pc-bk-ttl{margin-top:8px;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-title);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-title);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-pc-bk-lead{margin-top:8px;color:var(--body);font-family:var(--tlb-font-body);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-bk-txt{max-width:760px;margin-top:20px;color:var(--body);font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-pc-dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0;margin:28px 0 0}
.tlb-hm .tlb-pc-dl dt{padding:16px 0;border-top:1px solid var(--line);color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-dl dd{margin:0;padding:16px 0;border-top:1px solid var(--line);color:var(--body);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-dl dd small{display:block;margin-top:8px;color:var(--mute);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-pc-dl ul{margin:0;padding-left:18px}
.tlb-hm .tlb-pc-dl ul li{margin-top:6px}
.tlb-hm .tlb-pc-dl ul li:first-child{margin-top:0}
.tlb-hm .tlb-pc-toc{margin:0;padding:0;list-style:none;counter-reset:ch}
.tlb-hm .tlb-pc-vols{margin:0;padding:0;list-style:none}
.tlb-hm .tlb-pc-vols li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 0;padding:6px 0}
.tlb-hm .tlb-pc-vols small{grid-row:1 / span 2;align-self:start;padding-top:3px;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-vols b{color:var(--ink);font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-vols span{color:var(--mute);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-rot{position:relative;aspect-ratio:360 / 504}
.tlb-hm .tlb-pc-rot img{position:absolute;inset:0;opacity:0;transform:translateY(46px) rotate(4deg) scale(.94);transform-origin:50% 100%;transition:opacity .45s ease,transform .85s cubic-bezier(.16,.9,.22,1)}
.tlb-hm .tlb-pc-rot img.is-on{z-index:2;opacity:1;transform:none}
.tlb-hm .tlb-pc-rot img.is-out{z-index:1;opacity:0;transform:translate(-18px,-10px) rotate(-5deg) scale(.95);transition:opacity .6s ease .15s,transform .7s ease}
.tlb-hm .tlb-pc-toc li{position:relative;padding:4px 0 4px 44px;counter-increment:ch}
.tlb-hm .tlb-pc-toc li::before{content:counter(ch) "장";position:absolute;left:0;top:4px;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-chip{display:inline-block;margin:0 6px 6px 0;padding:5px 12px;border-radius:999px;background:#f3eefa;color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm blockquote.tlb-pc-bk-q{max-width:760px;margin-top:24px;padding:18px 22px;border-radius:10px;background:#f6f4ef;color:var(--ink);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-bk-q small{display:block;margin-top:8px;color:var(--mute);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-pc-tcbox{max-width:760px;margin-top:20px;padding:20px 24px;border-radius:12px;background:#13160b;border:1px solid rgba(194,247,7,.3)}
.tlb-hm .tlb-pc-tcbox b{display:block;color:#c2f707;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-tcbox strong{display:block;margin-top:4px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-tcbox span{display:block;margin-top:8px;color:#c4c7cc;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:36px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-pc-six a{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto auto 1fr auto auto;gap:4px 18px;height:100%;padding:22px;border:1px solid var(--line);border-radius:14px;color:var(--ink);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.tlb-hm .tlb-pc-six a:hover{transform:translateY(-6px);border-color:rgba(150,45,227,.4);box-shadow:0 20px 40px rgba(31,33,36,.1)}
.tlb-hm .tlb-pc-six img{grid-row:1 / span 5;width:100%;aspect-ratio:360 / 504;object-fit:cover;border-radius:3px;box-shadow:0 10px 22px rgba(31,33,36,.2)}
.tlb-hm .tlb-pc-six small{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-six b{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pc-six span{color:var(--body);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-six em{color:var(--mute);font-size:var(--tlb-fs-caption);font-style:normal}
.tlb-hm .tlb-pc-six strong{margin-top:6px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold)}

.tlb-hm .tlb-pc-when{padding:140px 0;background:#111114}
.tlb-hm .tlb-pc-when-l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:56px 0 0;padding:0;list-style:none;counter-reset:w}
.tlb-hm .tlb-pc-when-l li{display:flex;flex-direction:column;padding:30px 28px;border:1px solid #2a2c31;border-radius:14px;background:#18181c}
.tlb-hm .tlb-pc-when-l small{color:#b355ff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-when-l b{margin-top:6px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-when-l span{margin-top:8px;color:#9a9ea6;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-when-l em{margin-top:20px;padding-top:16px;border-top:1px solid #2a2c31;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-body);font-style:normal;font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-when-l i{margin-top:10px;color:#c2f707;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-style:normal;font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-when-note{margin-top:18px;color:#6a6d75;font-size:var(--tlb-fs-caption)}

.tlb-hm .tlb-pc-camp{padding:140px 0}
.tlb-hm .tlb-pc-vs{margin-top:56px}
.tlb-hm .tlb-pc-vs-hd{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;padding-bottom:14px;border-bottom:1px solid rgba(194,247,7,.4);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-vs-hd span:first-child{color:#7f8474}
.tlb-hm .tlb-pc-vs-hd span:last-child{color:#c2f707}
.tlb-hm .tlb-pc-vs ul{margin:0;padding:0;list-style:none}
.tlb-hm .tlb-pc-vs li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start;padding:24px 0;border-bottom:1px solid #23271a}
.tlb-hm .tlb-pc-vs li p{margin:0;color:#8d9283;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-vs li b{display:flex;align-items:baseline;gap:12px;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pc-vs li b::before{content:"";flex:none;width:14px;height:7px;border-left:3px solid #c2f707;border-bottom:3px solid #c2f707;transform:translateY(-4px) rotate(-45deg)}
.tlb-hm .tlb-pc-vs li span{display:block;margin-top:6px;padding-left:26px;color:#c4c8bb;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-camp-h3{margin:88px 0 0;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-pc-camp .tlb-pc-courses{margin-top:24px}
.tlb-hm .tlb-pc-courses ul{margin:18px 0 0;padding:16px 0 0;list-style:none;border-top:1px solid rgba(194,247,7,.22)}
.tlb-hm .tlb-pc-courses li li{position:relative;margin-top:8px;padding:0 0 0 16px;border:0;border-radius:0;background:none;color:#dcdde0;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-courses li li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:#c2f707}
.tlb-hm .tlb-pc-campq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.tlb-hm .tlb-pc-campq blockquote{padding:22px 24px;border:1px solid rgba(194,247,7,.2);border-radius:12px;background:#13160b;color:#e6e7ea;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-campq small{display:block;margin-top:10px;color:#c2f707;font-size:var(--tlb-fs-caption)}

.tlb-hm .tlb-pc-pack{padding:140px 0;background:#f6f4ef;color:var(--body);--tlb-pi-lime:#c2f707}
.tlb-hm .tlb-pc-packs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.tlb-hm .tlb-pc-pc{display:flex;flex-direction:column;padding:36px 34px;border:1px solid var(--line);border-radius:16px;background:#fff}
.tlb-hm .tlb-pc-pc small{color:var(--brand);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-pc-pc h3{margin-top:6px;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-pc p{flex:1 1 auto;margin-top:12px;color:var(--body);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-pc strong{margin-top:24px;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h2);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-pc a{align-self:flex-start;margin-top:18px;min-height:54px;padding:0 28px}
.tlb-hm .tlb-pc-pc--ult{border-color:#1F2124;background:#13160b}
.tlb-hm .tlb-pc-pc--ult small{color:#c2f707}
.tlb-hm .tlb-pc-pc--ult h3, .tlb-hm .tlb-pc-pc--ult strong{color:#fff}
.tlb-hm .tlb-pc-pc--ult p{color:#c4c7cc}

.tlb-hm .tlb-pc-post{padding:120px 0;background:#18181c}
.tlb-hm .tlb-pc-post .tlb-pi-h2{margin-top:10px}
.tlb-hm .tlb-pc-post2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.tlb-hm .tlb-pc-pst{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:start;padding:28px;border:1px solid #2a2c31;border-radius:14px;background:#111114;color:#fff;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s}
.tlb-hm .tlb-pc-pst:hover{transform:translateY(-6px);border-color:#4a2a70}
.tlb-hm .tlb-pc-pst img{width:100%;border-radius:3px;box-shadow:0 14px 30px rgba(0,0,0,.5)}
.tlb-hm .tlb-pc-pst b{display:block;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-pc-pst em{display:block;margin-top:10px;color:#b9bcc2;font-size:var(--tlb-fs-small);font-style:normal;line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-pc-pst strong{display:block;margin-top:14px;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold)}

.tlb-hm .tlb-pc-faq{padding:120px 0;background:#fff;color:var(--body)}
.tlb-hm .tlb-pc-faqs{max-width:880px;margin-top:40px}
.tlb-hm .tlb-pc-faqs details{border-top:1px solid var(--line)}
.tlb-hm .tlb-pc-faqs details:last-child{border-bottom:1px solid var(--line)}
.tlb-hm .tlb-pc-faqs summary{position:relative;padding:22px 40px 22px 0;color:var(--ink);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold);cursor:pointer;list-style:none}
.tlb-hm .tlb-pc-faqs summary::-webkit-details-marker{display:none}
.tlb-hm .tlb-pc-faqs summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--brand);font-size:var(--tlb-fs-h3);transition:transform .3s}
.tlb-hm .tlb-pc-faqs details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.tlb-hm .tlb-pc-faqs details p{padding:0 0 22px;color:var(--body);font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}

@media (prefers-reduced-motion:no-preference){
.tlb-hm .tlb-pc-dir-ttl, .tlb-hm .tlb-pc-dir .tlb-pi-eyebrow{animation:tlbpi-in 1s cubic-bezier(.2,.7,.2,1) both}
.tlb-hm .tlb-pc-dir-ttl{animation-delay:.12s}
.tlb-hm .tlb-pc-strip img{animation:tlbpc-up .9s cubic-bezier(.2,.8,.2,1) both}
.tlb-hm .tlb-pc-strip img:nth-child(2n){animation-delay:.08s}
.tlb-hm .tlb-pc-strip img:nth-child(3n){animation-delay:.16s}
.tlb-hm .tlb-pc-strip img:nth-child(4n){animation-delay:.24s}
}
@keyframes tlbpc-up{from{opacity:0;translate:0 80px}to{opacity:1;translate:0 0}}

@media (max-width:760px){
.tlb-hm .tlb-pc-dir{padding-top:96px}
.tlb-hm .tlb-pc-dir-ttl{font-size:var(--tlb-fs-title)}
.tlb-hm .tlb-pc-dir-l{grid-template-columns:1fr;margin-top:36px}
.tlb-hm .tlb-pc-dir-l b{font-size:var(--tlb-fs-h4)}
.tlb-hm .tlb-pc-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:40px}
.tlb-hm .tlb-pc-tbl{padding:110px 0 80px}
.tlb-hm .tlb-pc-bks{padding:80px 0 72px}
.tlb-hm .tlb-pc-jumpbar{margin-top:12px;padding:10px 0}
.tlb-hm .tlb-pc-jumpbar .tlb-hm-w{padding-right:0}
.tlb-hm .tlb-pc-jump{gap:8px;padding-right:var(--g)}
.tlb-hm .tlb-pc-jump a{padding:8px 14px}
.tlb-hm .tlb-pc-bk{grid-template-columns:1fr;gap:28px;padding:48px 0}
.tlb-hm .tlb-pc-bk-side{position:static;display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 18px;align-items:start}
.tlb-hm .tlb-pc-bk-side img, .tlb-hm .tlb-pc-bk-side .tlb-pc-rot{grid-row:1 / span 3}
.tlb-hm .tlb-pc-bk-side .tlb-pc-bk-meta{margin-top:0}
.tlb-hm .tlb-pc-bk-side--noimg{display:block}
.tlb-hm .tlb-pc-dl{grid-template-columns:1fr}
.tlb-hm .tlb-pc-dl dt{padding-bottom:4px}
.tlb-hm .tlb-pc-dl dd{padding-top:0;border-top:0}
.tlb-hm .tlb-pc-six{grid-template-columns:1fr}
.tlb-hm .tlb-pc-bk--adv{padding:72px calc(50vw - 50%)}
.tlb-hm .tlb-pc-advtoc li{grid-template-columns:52px minmax(0,1fr);gap:2px 10px}
.tlb-hm .tlb-pc-vs-hd{display:none}
.tlb-hm .tlb-pc-vs li{grid-template-columns:1fr;gap:8px;padding:20px 0}
.tlb-hm .tlb-pc-vs li p{font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-pc-camp-h3{margin-top:64px}
.tlb-hm .tlb-pc-when, .tlb-hm .tlb-pc-camp, .tlb-hm .tlb-pc-pack{padding:88px 0}
.tlb-hm .tlb-pc-post, .tlb-hm .tlb-pc-faq{padding:80px 0}
.tlb-hm .tlb-pc-when-l, .tlb-hm .tlb-pc-campq, .tlb-hm .tlb-pc-packs, .tlb-hm .tlb-pc-post2{grid-template-columns:1fr}
.tlb-hm .tlb-pc-pst{grid-template-columns:84px minmax(0,1fr);gap:16px;padding:20px}
.tlb-hm .tlb-pc-pc{padding:28px 24px}
}

/* 아임웹 /intro: 페이지에는 새 코드 칸 하나만 둔다. 옛 섹션 35개는 2026-10-07에 삭제했고 캡처와 HTML은 _temp/intro-legacy-20261007/에 있다. 아래는 그 칸의 여백만 없앤다 */
body:has(.tlb-pg-intro) .section_wrap:has(.tlb-pg-intro){padding:0 !important}
body:has(.tlb-pg-intro) .section_wrap:has(.tlb-pg-intro) :is(.inside,.doz_row,.doz_col,[doz_type="widget"],.widget_wrap){padding-top:0 !important;padding-bottom:0 !important;margin-top:0 !important;margin-bottom:0 !important}
/* 아임웹 /curriculum: 같은 방식(새 코드 칸만 보이고 옛 섹션은 숨겨 백업으로 남긴다) */
body:has(.tlb-pg-curriculum) .section_wrap:not(:has(.tlb-pg-curriculum)){display:none !important}
body:has(.tlb-pg-curriculum) .section_wrap:has(.tlb-pg-curriculum){padding:0 !important}
body:has(.tlb-pg-curriculum) .section_wrap:has(.tlb-pg-curriculum) :is(.inside,.doz_row,.doz_col,[doz_type="widget"],.widget_wrap){padding-top:0 !important;padding-bottom:0 !important;margin-top:0 !important;margin-bottom:0 !important}
/* END Pages v2 */

/* BEGIN Training Camp intro 2026-10-07 (원본 site/_temp/trainingcamp-intro-20261007/camp.css) */
/* 트레이닝캠프 소개 개편안 v3. 선택자는 모두 .tlb-hm 아래. 글꼴, 크기, 줄간격, 자간은 core 토큰만 쓴다. */
.tlb-hm.tlb-pg-camp{--cmp-lime:#c2f707;--cmp-line:#26282c;--cmp-mute:#9a9ea6;--cmp-panel:#101114;--cmp-edge:#2a2c31;--cmp-cell:#1a1c20;--cmp-ease:var(--cmp-ease);background:#0a0a0c;color:#e6e7ea;word-break:keep-all;text-align:left;overflow-x:clip}
.tlb-hm.tlb-pg-camp :where(p,ul,dl,dd,dt,figure,blockquote,h2,h3,table,i,em){margin:0;padding:0}
.tlb-hm.tlb-pg-camp :is(p,dd,dt,blockquote,h2,h3,figcaption){text-align:inherit;text-align-last:auto}
.tlb-hm.tlb-pg-camp :is(ul){list-style:none}
.tlb-hm.tlb-pg-camp :is(i,em){font-style:normal}
/* 본문 폭: 카테고리 머리글(.tlb-series-top-in 1040px)과 왼쪽 시작선을 맞춘다. 소개, 커리큘럼처럼 1200px로 되돌리려면 이 한 줄을 지운다. */
.tlb-hm.tlb-pg-camp .tlb-hm-w{max-width:calc(1040px + var(--g) * 2)}
.tlb-hm .tlb-cmp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tlb-hm .tlb-cmp-h1, .tlb-hm .tlb-cmp-h2, .tlb-hm .tlb-cmp-h3{color:#fff;font-family:var(--tlb-font-head);font-weight:var(--tlb-fw-heavy);letter-spacing:var(--tlb-ls-head)}
.tlb-hm .tlb-cmp-h1{font-size:var(--tlb-fs-title);line-height:var(--tlb-lh-title)}
.tlb-hm .tlb-cmp-h2{font-size:var(--tlb-fs-h2);line-height:var(--tlb-lh-title)}
.tlb-hm .tlb-cmp-h3{font-size:var(--tlb-fs-h3);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-cmp-h1 em{color:var(--cmp-lime)}
.tlb-hm .tlb-cmp-ln{display:block}

/* 버튼 */
.tlb-hm .tlb-cmp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 36px;border-radius:4px;background:var(--cmp-lime);color:#15170c;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-body);font-weight:var(--tlb-fw-heavy);text-decoration:none}
.tlb-hm .tlb-cmp-btn:hover{background:#d4ff3a;color:#15170c;text-decoration:none}
.tlb-hm .tlb-cmp-btn--line{background:transparent;border:1px solid #4a4d54;color:#fff}
.tlb-hm .tlb-cmp-btn--line:hover{background:transparent;border-color:var(--cmp-lime);color:var(--cmp-lime)}
.tlb-hm .tlb-cmp-acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:40px}

/* 첫 칸 */
.tlb-hm .tlb-cmp-hero{padding:88px 0 96px;border-top:2px solid var(--cmp-lime)}
.tlb-hm .tlb-cmp-hero-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}
.tlb-hm .tlb-cmp-logo{display:block;width:min(260px,60vw);height:auto;margin-bottom:28px}
.tlb-hm .tlb-cmp-lead{max-width:560px;margin-top:24px;color:#b9bcc2;font-size:var(--tlb-fs-read);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-cmp-hc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;max-width:560px;margin:36px 0 0;padding:0;list-style:none}
.tlb-hm .tlb-cmp-hc li{position:relative;padding-top:14px}
.tlb-hm .tlb-cmp-hc li::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--cmp-lime);transform-origin:left;animation:tlbcmp-line .8s var(--cmp-ease) both}
.tlb-hm .tlb-cmp-hc li:nth-child(1)::before{animation-delay:.75s}
.tlb-hm .tlb-cmp-hc li:nth-child(2)::before{animation-delay:.9s}
.tlb-hm .tlb-cmp-hc li:nth-child(3)::before{animation-delay:1.05s}
.tlb-hm .tlb-cmp-hc b{display:block;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-body);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-cmp-hc span{display:block;margin-top:4px;color:var(--cmp-lime);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-cmp-note{color:var(--cmp-mute);font-size:var(--tlb-fs-meta);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-cmp-shots{position:relative;height:560px}
.tlb-hm .tlb-cmp-shots img{position:absolute;display:block;height:auto;border:1px solid var(--cmp-edge);border-radius:3px;box-shadow:0 28px 56px rgba(0,0,0,.55)}
.tlb-hm .tlb-cmp-shots img:first-child{left:0;top:0;width:56%;animation:tlbcmp-enter .8s .5s var(--cmp-ease) both,tlbcmp-float 8s 1.4s ease-in-out infinite}
.tlb-hm .tlb-cmp-shots img:last-child{right:0;bottom:0;width:64%;animation:tlbcmp-enter .8s .75s var(--cmp-ease) both,tlbcmp-float 8s 5.4s ease-in-out infinite}


@media (prefers-reduced-motion:no-preference){
.tlb-hm .tlb-cmp-logo{animation:tlbcmp-rise .8s var(--cmp-ease) both}
.tlb-hm .tlb-cmp-ln{animation:tlbcmp-rise .8s var(--cmp-ease) both}
.tlb-hm .tlb-cmp-ln:nth-child(1){animation-delay:.15s}
.tlb-hm .tlb-cmp-ln:nth-child(2){animation-delay:.3s}
.tlb-hm .tlb-cmp-ln:nth-child(3){animation-delay:.45s}
.tlb-hm .tlb-cmp-h1 em{background:linear-gradient(transparent 70%,rgba(194,247,7,.3) 0) no-repeat;background-size:0 100%;animation:tlbcmp-hl .8s .9s var(--cmp-ease) forwards}
.tlb-hm .tlb-cmp-lead{animation:tlbcmp-rise .8s .6s var(--cmp-ease) both}
.tlb-hm .tlb-cmp-hc li>*{animation:tlbcmp-rise .8s .75s var(--cmp-ease) both}
.tlb-hm .tlb-cmp-hero .tlb-cmp-acts{animation:tlbcmp-rise .8s .95s var(--cmp-ease) both}
}

/* 개괄 표 */
.tlb-hm .tlb-cmp-ov{padding:80px 0;border-top:1px solid var(--cmp-line);background:#0d0f08}
.tlb-hm .tlb-cmp-ov-g{display:grid;grid-template-columns:minmax(0,1fr);gap:44px;justify-items:center}
.tlb-hm .tlb-cmp-ov-t{max-width:560px;text-align:center}
.tlb-hm .tlb-cmp-ov-n{margin-top:20px;color:#c9ccd1;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-cmp-ov-k{display:none}
.tlb-hm .tlb-cmp-tb{width:100%;max-width:880px;border-collapse:collapse;table-layout:fixed}
.tlb-hm .tlb-cmp-tb thead th{padding:0 0 14px;border-bottom:2px solid var(--cmp-lime);color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-body);font-weight:var(--tlb-fw-heavy);text-align:center;text-align-last:center;vertical-align:bottom}
.tlb-hm .tlb-cmp-tb thead th:first-child{width:43%}
.tlb-hm .tlb-cmp-tb tbody th{position:relative;padding:11px 12px;border-bottom:1px solid var(--cmp-line);color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-head);text-align:center;text-align-last:center;vertical-align:middle}
.tlb-hm .tlb-cmp-tb tbody th small{display:block;margin-top:2px;color:var(--cmp-mute);font-family:var(--tlb-font-body);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-regular);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-cmp-tb td{padding:11px 0;border-bottom:1px solid var(--cmp-line);text-align:center;text-align-last:center;vertical-align:middle}
.tlb-hm .tlb-cmp-y{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--cmp-lime);vertical-align:middle}
.tlb-hm .tlb-cmp-x{display:inline-block;width:12px;height:2px;background:#4a4d54;vertical-align:middle}
.tlb-hm .tlb-cmp-f{color:var(--cmp-lime);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy)}
@media (prefers-reduced-motion:no-preference){
.tlb-hm .tlb-cmp-tb :is(th,td):nth-child(2){animation:tlbcmp-col 8s infinite}
.tlb-hm .tlb-cmp-tb :is(th,td):nth-child(3){animation:tlbcmp-col 8s 2.67s infinite}
.tlb-hm .tlb-cmp-tb :is(th,td):nth-child(4){animation:tlbcmp-col 8s 5.33s infinite}
.tlb-hm .tlb-cmp-tb thead th:nth-child(2){animation-name:tlbcmp-colh}
.tlb-hm .tlb-cmp-tb thead th:nth-child(3){animation-name:tlbcmp-colh}
.tlb-hm .tlb-cmp-tb thead th:nth-child(4){animation-name:tlbcmp-colh}
}

/* 요소별 설명 칸 */
.tlb-hm .tlb-cmp-sh{padding:56px 0;border-top:1px solid var(--cmp-line)}
.tlb-hm .tlb-cmp-sh-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center}
.tlb-hm .tlb-cmp-sh--r .tlb-cmp-sh-g{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.tlb-hm .tlb-cmp-sh--r .tlb-cmp-sh-t{order:2}
.tlb-hm .tlb-cmp-sh-for{color:var(--cmp-lime);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-cmp-sh-t .tlb-cmp-h3{margin-top:14px}
.tlb-hm .tlb-cmp-sh-p{margin-top:20px;color:#c9ccd1;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-cmp-sh-p+.tlb-cmp-sh-p{margin-top:12px}
.tlb-hm .tlb-cmp-sh-n{margin-top:16px;color:var(--cmp-mute);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}

/* 애니메이션 패널 공통 */
.tlb-hm .tlb-cmp-vis{position:relative;display:flex;flex-direction:column;justify-content:center;gap:18px;min-height:280px;padding:28px;border:1px solid var(--cmp-edge);border-radius:6px;background:var(--cmp-panel);overflow:hidden}
.tlb-hm .tlb-cmp-vis small{color:var(--cmp-mute);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-cmp-sk{display:block;height:10px;border-radius:2px;background:#262a30}
.tlb-hm .tlb-cmp-sk--l{width:100%}
.tlb-hm .tlb-cmp-sk--m{width:72%}
.tlb-hm .tlb-cmp-sk--s{width:42%}

/* 날짜별 학습 범위 */
.tlb-hm .tlb-cmp-days{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.tlb-hm .tlb-cmp-days span{display:block;padding:14px 0;border-radius:4px;background:var(--cmp-cell);color:var(--cmp-mute);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy);text-align:center;text-align-last:center;animation:tlbcmp-day 8s infinite}
.tlb-hm .tlb-cmp-days span:nth-child(2){animation-delay:1.6s}
.tlb-hm .tlb-cmp-days span:nth-child(3){animation-delay:3.2s}
.tlb-hm .tlb-cmp-days span:nth-child(4){animation-delay:4.8s}
.tlb-hm .tlb-cmp-days span:nth-child(5){animation-delay:6.4s}
.tlb-hm .tlb-cmp-dcard{display:grid;gap:14px;padding:24px;border:1px solid var(--cmp-edge);border-radius:4px;background:#14161a}
.tlb-hm .tlb-cmp-dcard .tlb-cmp-sk{transform-origin:left;animation:tlbcmp-grow 1.6s infinite}
.tlb-hm .tlb-cmp-dcard .tlb-cmp-sk:nth-of-type(2){animation-delay:.15s}
.tlb-hm .tlb-cmp-dcard .tlb-cmp-sk:nth-of-type(3){animation-delay:.3s}

/* 학습 인증 */
.tlb-hm .tlb-cmp-cbtn{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;border-radius:4px;background:#2a2d33;color:#c9ccd1;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-body);font-weight:var(--tlb-fw-heavy);animation:tlbcmp-btn 8s infinite}
.tlb-hm .tlb-cmp-ck{display:inline-block;width:8px;height:14px;margin-top:-4px;border:solid #15170c;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);animation:tlbcmp-ck 8s infinite}
.tlb-hm .tlb-cmp-streak{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.tlb-hm .tlb-cmp-streak i{display:block;height:8px;border-radius:4px;background:#2a2d33;animation:tlbcmp-fill1 8s infinite}
.tlb-hm .tlb-cmp-streak i:nth-child(2){animation-delay:.45s}
.tlb-hm .tlb-cmp-streak i:nth-child(3){animation-delay:.9s}
.tlb-hm .tlb-cmp-streak i:nth-child(4){animation-delay:1.35s}
.tlb-hm .tlb-cmp-streak i:nth-child(5){animation-delay:1.8s}

/* 한 주의 리듬 */
.tlb-hm .tlb-cmp-wl{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-cmp-wk{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.tlb-hm .tlb-cmp-wk--p{grid-template-columns:repeat(6,1fr)}
.tlb-hm .tlb-cmp-wk span{display:flex;flex-direction:column;gap:6px;padding:12px 10px;border:1px solid var(--cmp-edge);border-radius:4px;background:#15171b;color:#c9ccd1;font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-ui);animation:tlbcmp-wk 8s infinite}
.tlb-hm .tlb-cmp-wk b{font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-cmp-wk span:nth-child(2){animation-delay:1.2s}
.tlb-hm .tlb-cmp-wk span:nth-child(3){animation-delay:2.4s}
.tlb-hm .tlb-cmp-wk span:nth-child(4){animation-delay:3.6s}
.tlb-hm .tlb-cmp-wk span:nth-child(5){animation-delay:4.8s}
.tlb-hm .tlb-cmp-wk span:nth-child(6){animation-delay:6s}
.tlb-hm .tlb-cmp-sbar{display:flex;height:34px;border-radius:4px;overflow:hidden;background:var(--cmp-cell)}
.tlb-hm .tlb-cmp-sbar span{display:flex;align-items:center;justify-content:center;color:#15170c;font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-cmp-s1{flex:0 0 40%;background:var(--cmp-lime);animation:tlbcmp-s1 8s infinite}
.tlb-hm .tlb-cmp-s2{flex:0 0 60%;background:#9dc006;animation:tlbcmp-s2 8s infinite}

/* 리뷰노트 */
.tlb-hm .tlb-cmp-v-note{gap:14px;background:#f6f7fa}
.tlb-hm .tlb-cmp-nt{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:2px solid #8a3fe0}
.tlb-hm .tlb-cmp-nt b{color:#8a3fe0;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-cmp-v-note .tlb-cmp-nt small{color:#3a4046}
.tlb-hm .tlb-cmp-nr{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:start;padding:14px 16px;border-radius:4px;background:#fff}
.tlb-hm .tlb-cmp-nr span{color:#687079;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-cmp-nr p{color:#1f2124;font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-cmp-t1{animation:tlbcmp-t1 8s steps(24,end) infinite}
.tlb-hm .tlb-cmp-t2{animation:tlbcmp-t2 8s steps(26,end) infinite}
.tlb-hm .tlb-cmp-t3{animation:tlbcmp-t3 8s steps(16,end) infinite}

/* 랭킹과 포인트 */
.tlb-hm .tlb-cmp-rk{display:grid;grid-template-columns:26px 104px minmax(0,1fr) 34px;gap:12px;align-items:center}
.tlb-hm .tlb-cmp-rk em{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--cmp-cell);color:#c9ccd1;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-cmp-rk:nth-child(-n+3) em{background:var(--cmp-lime);color:#15170c}
.tlb-hm .tlb-cmp-rk span{color:#c9ccd1;font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-cmp-rk b{color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-small);font-weight:var(--tlb-fw-heavy);text-align:right;animation:tlbcmp-num 8s infinite}
.tlb-hm .tlb-cmp-bar{display:block;height:10px;border-radius:5px;background:var(--cmp-lime);transform-origin:left;animation:tlbcmp-bar 8s infinite}
.tlb-hm .tlb-cmp-w95{width:100%}
.tlb-hm .tlb-cmp-w93{width:97%}
.tlb-hm .tlb-cmp-w92{width:95%}
.tlb-hm .tlb-cmp-w90{width:92%}
.tlb-hm .tlb-cmp-w87{width:88%}
.tlb-hm .tlb-cmp-rk:nth-child(2) .tlb-cmp-bar{animation-delay:.12s}
.tlb-hm .tlb-cmp-rk:nth-child(3) .tlb-cmp-bar{animation-delay:.24s}
.tlb-hm .tlb-cmp-rk:nth-child(4) .tlb-cmp-bar{animation-delay:.36s}
.tlb-hm .tlb-cmp-rk:nth-child(5) .tlb-cmp-bar{animation-delay:.48s}
.tlb-hm .tlb-cmp-pts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;padding-top:20px;border-top:1px solid var(--cmp-edge)}
.tlb-hm .tlb-cmp-pts p{display:grid;gap:4px}
.tlb-hm .tlb-cmp-pts span{color:var(--cmp-mute);font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-cmp-pts b{color:var(--cmp-lime);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-heavy)}

/* 채점과 풀셋 모의고사 */
.tlb-hm .tlb-cmp-omr{display:grid;grid-template-columns:repeat(10,1fr);gap:10px}
.tlb-hm .tlb-cmp-omr i{display:block;aspect-ratio:1;border:2px solid #3a3d44;border-radius:50%;animation:tlbcmp-omr 8s infinite}
.tlb-hm .tlb-cmp-omr i:nth-child(2){animation-delay:.3s}
.tlb-hm .tlb-cmp-omr i:nth-child(3){animation-delay:.6s}
.tlb-hm .tlb-cmp-omr i:nth-child(4){animation-delay:.9s}
.tlb-hm .tlb-cmp-omr i:nth-child(5){animation-delay:1.2s}
.tlb-hm .tlb-cmp-omr i:nth-child(6){animation-delay:1.5s}
.tlb-hm .tlb-cmp-omr i:nth-child(7){animation-delay:1.8s}
.tlb-hm .tlb-cmp-omr i:nth-child(8){animation-delay:2.1s}
.tlb-hm .tlb-cmp-omr i:nth-child(9){animation-delay:2.4s}
.tlb-hm .tlb-cmp-omr i:nth-child(10){animation-delay:2.7s}
.tlb-hm .tlb-cmp-score{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border:1px solid var(--cmp-lime);border-radius:4px;background:#13160b;animation:tlbcmp-score 8s infinite}
.tlb-hm .tlb-cmp-score small{color:var(--cmp-mute)}
.tlb-hm .tlb-cmp-score b{color:var(--cmp-lime);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy)}
.tlb-hm .tlb-cmp-wks{display:grid;grid-template-columns:1fr 1fr 1fr 1.7fr;gap:10px}
.tlb-hm .tlb-cmp-wks span{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:2px solid #3a3d44;color:var(--cmp-mute);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-cmp-wks i{display:block;width:14px;height:14px;border-radius:50%;background:#3a3d44}
.tlb-hm .tlb-cmp-wks .tlb-cmp-last{border-top-color:var(--cmp-lime);color:var(--cmp-lime)}
.tlb-hm .tlb-cmp-wks .tlb-cmp-last i{background:var(--cmp-lime);animation:tlbcmp-pulse 1.6s infinite}

/* 코스: 세 열 비교 */
.tlb-hm .tlb-cmp-co{padding:80px 0;border-top:1px solid var(--cmp-line)}
.tlb-hm .tlb-cmp-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin-top:48px}
.tlb-hm .tlb-cmp-courses li{display:grid;grid-template-rows:subgrid;grid-row:span 5;gap:0}
.tlb-hm .tlb-cmp-courses dl{display:contents}
.tlb-hm .tlb-cmp-cs-h{padding-bottom:24px;border-bottom:2px solid var(--cmp-lime)}
.tlb-hm .tlb-cmp-cs-h b{display:block;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h3);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-cmp-cs-h span{display:block;margin-top:8px;color:var(--cmp-lime);font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-heavy);line-height:var(--tlb-lh-head)}
.tlb-hm .tlb-cmp-courses dl>div{padding:20px 0;border-bottom:1px solid var(--cmp-line)}
.tlb-hm .tlb-cmp-courses dt{color:var(--cmp-mute);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-ui)}
.tlb-hm .tlb-cmp-courses dd{margin-top:6px;color:#d4d6da;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}

.tlb-hm .tlb-cmp-ask{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;margin-top:48px;padding:28px 32px;border:1px solid var(--cmp-edge);border-radius:4px;background:#0d0f08}
.tlb-hm .tlb-cmp-ask p{flex:1 1 360px;color:#c9ccd1;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-text)}
.tlb-hm .tlb-cmp-ask .tlb-cmp-acts{margin-top:0}

/* 후기 */
.tlb-hm .tlb-cmp-rv{padding:72px 0;border-top:1px solid var(--cmp-line)}
.tlb-hm .tlb-cmp-rvs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:36px}
.tlb-hm .tlb-cmp-rvs figure{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid #3a3d44}
.tlb-hm .tlb-cmp-rvs blockquote{color:#c9ccd1;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-body)}
.tlb-hm .tlb-cmp-rvs mark{padding:0 1px;background:linear-gradient(transparent 58%,rgba(194,247,7,.34) 0) no-repeat;background-size:100% 100%;color:#fff;font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-cmp-rvs figcaption{color:var(--cmp-lime);font-size:var(--tlb-fs-meta);font-weight:var(--tlb-fw-bold)}
.tlb-hm .tlb-cmp-rvs figcaption span{display:block;margin-top:4px;color:var(--cmp-mute);font-size:var(--tlb-fs-caption);font-weight:var(--tlb-fw-regular)}

/* 질문 */
.tlb-hm .tlb-cmp-faq{padding:72px 0 88px;border-top:1px solid var(--cmp-line)}
.tlb-hm .tlb-cmp-faq .tlb-hm-w{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:start}
.tlb-hm .tlb-cmp-faqs{border-top:1px solid #3a3d44}
.tlb-hm .tlb-cmp-faqs details{border-bottom:1px solid var(--cmp-line)}
.tlb-hm .tlb-cmp-faqs summary{position:relative;padding:22px 40px 22px 0;color:#fff;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-h5);font-weight:var(--tlb-fw-bold);line-height:var(--tlb-lh-head);cursor:pointer;list-style:none}
.tlb-hm .tlb-cmp-faqs summary::-webkit-details-marker{display:none}
.tlb-hm .tlb-cmp-faqs summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--cmp-lime);font-size:var(--tlb-fs-h4);font-weight:var(--tlb-fw-regular)}
.tlb-hm .tlb-cmp-faqs details[open] summary::after{content:"\2212"}
.tlb-hm .tlb-cmp-faqs details p{padding:0 40px 24px 0;color:#b9bcc2;font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-body)}

/* 스크롤 등장(camp.js가 tlb-cmp-js를 붙였을 때만) */
.tlb-hm .tlb-cmp-js .tlb-cmp-up{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s var(--cmp-ease)}
.tlb-hm .tlb-cmp-js .tlb-cmp-up.is-in{opacity:1;transform:none}
.tlb-hm .tlb-cmp-js .tlb-cmp-vis.tlb-cmp-up{transition-delay:.15s}
.tlb-hm .tlb-cmp-js .tlb-cmp-courses li:nth-child(2){transition-delay:.15s}
.tlb-hm .tlb-cmp-js .tlb-cmp-courses li:nth-child(3){transition-delay:.3s}
.tlb-hm .tlb-cmp-js .tlb-cmp-rvs figure:nth-child(2){transition-delay:.15s}
.tlb-hm .tlb-cmp-js .tlb-cmp-rvs figure:nth-child(3){transition-delay:.3s}
.tlb-hm .tlb-cmp-js .tlb-cmp-tb tbody tr{opacity:0;transform:translateX(-16px);transition:opacity .6s ease,transform .6s var(--cmp-ease)}
.tlb-hm .tlb-cmp-js .tlb-cmp-tb tbody tr.is-in{opacity:1;transform:none}
.tlb-hm .tlb-cmp-js .tlb-cmp-tb .tlb-cmp-y{transform:scale(0);transition:transform .6s .3s cubic-bezier(.3,1.7,.5,1)}
.tlb-hm .tlb-cmp-js .tlb-cmp-tb tr.is-in .tlb-cmp-y{transform:scale(1)}
.tlb-hm .tlb-cmp-js .tlb-cmp-tb td:nth-child(3) .tlb-cmp-y{transition-delay:.45s}
.tlb-hm .tlb-cmp-js .tlb-cmp-tb td:nth-child(4) .tlb-cmp-y{transition-delay:.6s}
.tlb-hm .tlb-cmp-js .tlb-cmp-rvs mark{background-size:0 100%;transition:background-size .8s .45s var(--cmp-ease)}
.tlb-hm .tlb-cmp-js .tlb-cmp-rvs figure.is-in mark{background-size:100% 100%}
.tlb-hm .tlb-cmp-faqs summary::after{transition:transform .25s ease}
.tlb-hm .tlb-cmp-faqs details[open] summary::after{content:"+";transform:translateY(-50%) rotate(45deg)}
.tlb-hm .tlb-cmp-faqs{interpolate-size:allow-keywords}
.tlb-hm .tlb-cmp-faqs details::details-content{height:0;overflow:clip;transition:height .35s ease,content-visibility .35s allow-discrete}
.tlb-hm .tlb-cmp-faqs details[open]::details-content{height:auto}

/* 움직임 */
@keyframes tlbcmp-rise{0%{opacity:0;transform:translateY(28px)}100%{opacity:1;transform:none}}
@keyframes tlbcmp-enter{0%{opacity:0;transform:translateY(48px)}100%{opacity:1;transform:none}}
@keyframes tlbcmp-line{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes tlbcmp-hl{0%{background-size:0 100%}100%{background-size:100% 100%}}
@keyframes tlbcmp-col{0%,32%{background:rgba(194,247,7,.08)}34%,100%{background:transparent}}
@keyframes tlbcmp-colh{0%,32%{background:rgba(194,247,7,.08);color:var(--cmp-lime)}34%,100%{background:transparent;color:#fff}}
@keyframes tlbcmp-day{0%,19%{background:var(--cmp-lime);color:#15170c}20%,100%{background:var(--cmp-cell);color:var(--cmp-mute)}}
@keyframes tlbcmp-grow{0%{transform:scaleX(0)}35%,100%{transform:scaleX(1)}}
@keyframes tlbcmp-btn{0%,40%{background:#2a2d33;color:#c9ccd1}48%,90%{background:var(--cmp-lime);color:#15170c}100%{background:#2a2d33;color:#c9ccd1}}
@keyframes tlbcmp-ck{0%,44%{transform:rotate(45deg) scale(0)}52%,90%{transform:rotate(45deg) scale(1)}100%{transform:rotate(45deg) scale(0)}}
@keyframes tlbcmp-fill1{0%,52%{background:#2a2d33}56%,92%{background:var(--cmp-lime)}100%{background:#2a2d33}}
@keyframes tlbcmp-wk{0%,14%{background:var(--cmp-lime);color:#15170c;border-color:var(--cmp-lime)}15%,100%{background:#15171b;color:#c9ccd1;border-color:var(--cmp-edge)}}
@keyframes tlbcmp-s1{0%{clip-path:inset(0 100% 0 0)}40%,100%{clip-path:inset(0 0 0 0)}}
@keyframes tlbcmp-s2{0%,40%{clip-path:inset(0 100% 0 0)}90%,100%{clip-path:inset(0 0 0 0)}}
@keyframes tlbcmp-t1{0%{clip-path:inset(0 100% 0 0)}16%,92%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes tlbcmp-t2{0%,20%{clip-path:inset(0 100% 0 0)}38%,92%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes tlbcmp-t3{0%,42%{clip-path:inset(0 100% 0 0)}58%,92%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes tlbcmp-bar{0%{transform:scaleX(0)}35%,92%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes tlbcmp-num{0%,30%{opacity:0}45%,92%{opacity:1}100%{opacity:0}}
@keyframes tlbcmp-omr{0%,8%{background:transparent;border-color:#3a3d44}12%,92%{background:var(--cmp-lime);border-color:var(--cmp-lime)}100%{background:transparent;border-color:#3a3d44}}
@keyframes tlbcmp-score{0%,48%{opacity:0;transform:translateY(10px)}58%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes tlbcmp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes tlbcmp-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}

@media (max-width:900px){
.tlb-hm .tlb-cmp-hero-in, .tlb-hm .tlb-cmp-sh-g, .tlb-hm .tlb-cmp-sh--r .tlb-cmp-sh-g, .tlb-hm .tlb-cmp-ov-g, .tlb-hm .tlb-cmp-faq .tlb-hm-w{grid-template-columns:1fr;gap:40px}
.tlb-hm .tlb-cmp-ov-t{position:static}
.tlb-hm .tlb-cmp-sh--r .tlb-cmp-sh-t{order:0}
.tlb-hm .tlb-cmp-courses{grid-template-columns:1fr;gap:56px}
.tlb-hm .tlb-cmp-courses li{display:block}
.tlb-hm .tlb-cmp-courses dl{display:block}
.tlb-hm .tlb-cmp-rvs{grid-template-columns:1fr;gap:32px}
}
@media (max-width:760px){
.tlb-hm .tlb-cmp-hero{padding:56px 0 64px}
.tlb-hm .tlb-cmp-shots{height:420px}
.tlb-hm .tlb-cmp-hc{gap:0 14px}
.tlb-hm .tlb-cmp-ov, .tlb-hm .tlb-cmp-co, .tlb-hm .tlb-cmp-rv{padding:72px 0}
.tlb-hm .tlb-cmp-sh{padding:64px 0}
.tlb-hm .tlb-cmp-faq{padding:72px 0 80px}
.tlb-hm .tlb-cmp-acts .tlb-cmp-btn{width:100%}
.tlb-hm .tlb-cmp-tb thead th:first-child{width:38%}
.tlb-hm .tlb-cmp-tb thead th{font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-cmp-tb tbody th{padding:16px 8px;font-size:var(--tlb-fs-small)}
.tlb-hm .tlb-cmp-tb tbody th small{display:none}
.tlb-hm .tlb-cmp-f{font-size:var(--tlb-fs-caption)}
.tlb-hm .tlb-cmp-vis{min-height:0;padding:22px}
.tlb-hm .tlb-cmp-wk span{padding:10px 6px;font-size:var(--tlb-fs-micro)}
.tlb-hm .tlb-cmp-rk{grid-template-columns:26px 78px minmax(0,1fr) 28px;gap:8px}
.tlb-hm .tlb-cmp-pts{grid-template-columns:1fr 1fr}
.tlb-hm .tlb-cmp-omr{gap:6px}
.tlb-hm .tlb-cmp-wks{grid-template-columns:1fr 1fr 1fr 1.6fr}
}
@media (prefers-reduced-motion:reduce){
.tlb-hm .tlb-cmp-shots img{animation:none!important}
.tlb-hm .tlb-cmp-vis *{animation:none!important}
.tlb-hm .tlb-cmp-days span:first-child{background:var(--cmp-lime);color:#15170c}
.tlb-hm .tlb-cmp-cbtn{background:var(--cmp-lime);color:#15170c}
.tlb-hm .tlb-cmp-ck{transform:rotate(45deg) scale(1)}
.tlb-hm .tlb-cmp-streak i, .tlb-hm .tlb-cmp-omr i{background:var(--cmp-lime)}
}
@media (prefers-reduced-motion:no-preference){.tlb-hm .tlb-cmp-btn{transition:background .15s,border-color .15s,color .15s}}

/* 카테고리 띠의 트레이닝캠프 탭: 글자 대신 라임 로고. 선택하면 라임 탭 위에 검은 로고, 탭은 아래 라임 선에 이어진다. */
.tlb-series .tlb-series-top-more a[href="/trainingcamp"]{position:relative;min-width:128px;font-size:0;color:transparent}
.tlb-series .tlb-series-top-more a[href="/trainingcamp"]::after{content:"";position:absolute;left:20px;right:20px;top:50%;height:22px;margin-top:-11px;background:url("https://tlb-assets.pages.dev/images/logo_training_camp.png") center/contain no-repeat}
.tlb-series .tlb-series-top-more a[href="/trainingcamp"][aria-current="page"]{background:#c2f707}
.tlb-series .tlb-series-top-more a[href="/trainingcamp"][aria-current="page"]::after{filter:brightness(0)}
@media (max-width:767px){
.tlb-series .tlb-series-top-more a[href="/trainingcamp"]{min-width:104px}
.tlb-series .tlb-series-top-more a[href="/trainingcamp"]::after{left:14px;right:14px;height:16px;margin-top:-8px}
.tlb-series .tlb-series-top-more a[href="/trainingcamp"][aria-current="page"]{background:#c2f707}
}
/* END Training Camp intro */

/* BEGIN Native category product information · product-state-codex · 2026-10-10 */
.tlb-series .tlb-series-catalog {margin:var(--tlb-space-xl) 0;padding:var(--tlb-space-md);background:#fff;color:#20232f;text-align:left;border-radius:var(--tlb-radius-sm)}
.tlb-series .tlb-series-catalog-note {max-width:none;margin:0 0 var(--tlb-space-md);font-family:var(--tlb-font-body);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-text);color:#555}
.tlb-series-catalog [data-widget-type="shopping"] {opacity:1!important;visibility:visible!important}
.tlb-series-catalog .shop-tools .down-btn {display:block!important}
.tlb-series-catalog .shop-tools {margin-bottom:var(--tlb-space-md)}
.tlb-series .tlb-series-catalog .shop-title {font-size:var(--tlb-card-title-size);line-height:var(--tlb-lh-head);text-align:left;text-wrap:initial}
.tlb-series .tlb-series-catalog .item-pay-detail {text-align:left}
.tlb-series .tlb-series-catalog .item-summary {font-size:var(--tlb-card-summary-size);line-height:var(--tlb-card-summary-leading);text-align:left}
.tlb-series .tlb-series-catalog .item-summary p {max-width:none;margin:0;font-family:var(--tlb-font-body)}
.tlb-series .tlb-series-catalog .pay {margin:0;font-family:var(--tlb-font-head);font-size:var(--tlb-fs-body);line-height:var(--tlb-lh-ui)}
.tlb-series .tlb-series-catalog .tlb-product-release-state {margin:var(--tlb-space-xs) 0;font-family:var(--tlb-font-body);font-size:var(--tlb-fs-small);line-height:var(--tlb-lh-ui);color:#6c3908;font-weight:var(--tlb-fw-bold)}
.tlb-series .tlb-series-vol-links {flex-wrap:wrap}
@media(max-width:767px){.tlb-series .tlb-series-catalog {width:calc(100% + 2 * var(--tlb-space-lg));margin-inline:calc(-1 * var(--tlb-space-lg));padding:var(--tlb-space-md)}.tlb-series .tlb-series-catalog .shop-title {font-size:var(--tlb-fs-body)}}
/* END Native category product information */
