:root {
    --primary: #0F1E36;
    --secondary: #2A323D;
    --accent-blue: #0284C7;
    --accent-light-blue: #38BDF8;
    --tint-light-blue: #F0F7FF;
    --tint-graphite: #F3F4F6;
    --background-primary: #FFFFFF;
    --background-secondary: #F8FAFC;
    --border-color: #E2E8F0;
    --text-primary-light: #0F1E36;
    --text-secondary-light: #334155;
    --text-primary-dark: #FFFFFF;
    --text-secondary-dark: #CBD5E1;
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: var(--background-primary);
    color: var(--secondary);
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.text-muted {
    color: #334155 !important;
}

.text-secondary {
    color: #334155 !important;
}

.container-custom {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* ===== header ===== */
.kelimora-header-block {
    background-color: #FFFFFF;
    border-color: #E2E8F0 !important;
    z-index: 1030;
}

.kelimora-header-block .kelimora-header-top {
    background-color: #F8FAFC !important;
    border-color: #E2E8F0 !important;
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-header-block .kelimora-logo-img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    max-width: 44px;
}

.kelimora-header-block .kelimora-brand-text {
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    color: #0F1E36;
    line-height: 1;
}

.kelimora-header-block .kelimora-nav-link {
    color: #2A323D;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.kelimora-header-block .kelimora-nav-link:hover,
.kelimora-header-block .kelimora-nav-link:focus {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-header-block .kelimora-nav-link.active {
    color: #0284C7;
    font-weight: 700;
}

.kelimora-header-block .kelimora-header-btn {
    background-color: #0F1E36;
    border: 1px solid #0F1E36;
    color: #FFFFFF;
    letter-spacing: 0.02em;
    transition: all 0.2s ease;
}

.kelimora-header-block .kelimora-header-btn:hover,
.kelimora-header-block .kelimora-header-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-header-block .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #0284C7;
}

@media (max-width: 991.98px) {
    .kelimora-header-block .navbar-collapse {
        background-color: #FFFFFF;
        padding: 1rem;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(15, 30, 54, 0.08);
    }

    .kelimora-header-block .kelimora-nav-link {
        padding: 0.625rem 1rem !important;
    }

    .kelimora-header-block .kelimora-header-btn {
        width: 100%;
        text-align: center;
        margin-top: 0.5rem;
    }
}

/* ===== hero ===== */
.kelimora-hero-section {
    min-height: 85vh;
    display: flex;
    align-items: center;
    background-color: #0F1E36;
    color: #FFFFFF;
}

.kelimora-hero-section .kelimora-hero-video {
    object-fit: cover;
    z-index: 1;
    pointer-events: none;
}

.kelimora-hero-section .kelimora-hero-overlay {
    background: linear-gradient(135deg, rgba(15, 30, 54, 0.92) 0%, rgba(15, 30, 54, 0.78) 50%, rgba(2, 132, 199, 0.55) 100%);
    z-index: 2;
}

.kelimora-hero-section .kelimora-hero-container {
    z-index: 3;
}

.kelimora-hero-section .kelimora-hero-meta {
    color: #CBD5E1;
    font-size: 0.875rem;
}

.kelimora-hero-section .kelimora-hero-tag {
    background-color: #0284C7;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    border-radius: 2px;
}

.kelimora-hero-section .kelimora-meta-item {
    color: #E2E8F0;
    font-weight: 500;
}

.kelimora-detail-hero-meta .kelimora-meta-item {
    color: #E2E8F0;
}

.kelimora-hero-section .kelimora-meta-sep {
    color: #38BDF8;
    font-weight: bold;
}

.kelimora-hero-section .kelimora-hero-title {
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1.2;
    color: #FFFFFF;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.kelimora-hero-section .kelimora-hero-lead {
    font-size: 1.125rem;
    line-height: 1.7;
    color: #E2E8F0;
    max-width: 680px;
    overflow-wrap: anywhere;
}

.kelimora-hero-section .kelimora-hero-btn-primary {
    background-color: #0284C7;
    color: #FFFFFF;
    border: 1px solid #0284C7;
    padding: 0.75rem 1.75rem;
    font-weight: 700;
    border-radius: 2px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.kelimora-hero-section .kelimora-hero-btn-primary:hover,
.kelimora-hero-section .kelimora-hero-btn-primary:focus {
    background-color: #0F1E36;
    border-color: #38BDF8;
    color: #FFFFFF;
}

.kelimora-hero-section .kelimora-hero-btn-outline {
    background-color: transparent;
    color: #FFFFFF;
    border: 1px solid #FFFFFF;
    padding: 0.75rem 1.75rem;
    font-weight: 700;
    border-radius: 2px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.kelimora-hero-section .kelimora-hero-btn-outline:hover,
.kelimora-hero-section .kelimora-hero-btn-outline:focus {
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #0F1E36;
}

.kelimora-hero-section .kelimora-hero-spotlight {
    background: rgba(15, 30, 54, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
}

.kelimora-hero-section .kelimora-spotlight-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.kelimora-hero-section .kelimora-spotlight-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
}

.kelimora-hero-section .kelimora-spotlight-badge {
    background-color: #0284C7;
    color: #FFFFFF;
    font-size: 0.75rem;
    padding: 0.35rem 0.6rem;
    border-radius: 2px;
}

.kelimora-hero-section .kelimora-spotlight-heading {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
}

.kelimora-hero-section .kelimora-spotlight-link {
    color: #FFFFFF;
    transition: color 0.2s ease;
}

.kelimora-hero-section .kelimora-spotlight-link:hover,
.kelimora-hero-section .kelimora-spotlight-link:focus {
    color: #38BDF8;
    text-decoration: underline;
}

.kelimora-hero-section .kelimora-spotlight-desc {
    font-size: 0.9375rem;
    color: #CBD5E1;
    line-height: 1.6;
}

.kelimora-hero-section .kelimora-spotlight-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.kelimora-hero-section .kelimora-spotlight-date {
    color: #94A3B8;
    font-size: 0.8125rem;
}

.kelimora-hero-section .kelimora-spotlight-action {
    color: #38BDF8;
    font-weight: 600;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
}

.kelimora-hero-section .kelimora-spotlight-action:hover,
.kelimora-hero-section .kelimora-spotlight-action:focus {
    color: #FFFFFF;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .kelimora-hero-section {
        min-height: auto;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .kelimora-hero-section .kelimora-hero-title {
        font-size: 1.125rem;
        line-height: 1.3;
        hyphens: auto;
    }

    .kelimora-hero-section .kelimora-spotlight-title {
        font-size: 1rem;
    }

    .kelimora-hero-section .kelimora-spotlight-heading {
        font-size: 0.875rem;
    }

    .kelimora-hero-section .kelimora-hero-lead {
        font-size: 0.875rem;
        line-height: 1.5;
    }

    .kelimora-hero-section .kelimora-hero-actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .kelimora-hero-section .kelimora-hero-actions .btn {
        width: 100%;
    }
}

/* ===== news-grid ===== */
.kelimora-news-grid-section {
    background-color: #F8FAFC;
    color: #2A323D;
}

.kelimora-news-grid-section .kelimora-section-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #0284C7;
    background-color: #F0F7FF;
    padding: 0.25rem 0.75rem;
    border-radius: 2px;
}

.kelimora-news-grid-section .kelimora-section-title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #0F1E36;
    letter-spacing: -0.015em;
}

.kelimora-news-grid-section .text-primary-accent {
    color: #0284C7;
}

.kelimora-news-grid-section .kelimora-view-all-link {
    font-size: 0.875rem;
    font-weight: 700;
    color: #0F1E36;
    text-decoration: none;
    padding: 0.4rem 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.kelimora-news-grid-section .kelimora-view-all-link:hover {
    color: #0284C7;
    border-bottom-color: #0284C7;
}

.kelimora-news-grid-section .kelimora-card {
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-top: 3px solid #0F1E36;
    border-radius: 2px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-top-color 0.2s ease;
}

.kelimora-news-grid-section .kelimora-card:hover {
    border-top-color: #0284C7;
    box-shadow: 0 8px 24px rgba(15, 30, 54, 0.08);
}

.kelimora-news-grid-section .kelimora-card-featured .kelimora-card-media-wrapper {
    height: 320px;
    background-color: #E2E8F0;
}

.kelimora-news-grid-section .kelimora-card-img {
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.3s ease;
}

.kelimora-news-grid-section .kelimora-card-featured:hover .kelimora-card-img {
    transform: scale(1.02);
}

.kelimora-news-grid-section .kelimora-tag {
    font-size: 0.75rem;
    font-weight: 700;
    color: #FFFFFF;
    background-color: #0F1E36;
    padding: 0.3rem 0.8rem;
    letter-spacing: 0.05em;
}

.kelimora-news-grid-section .kelimora-card-meta {
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-news-grid-section .kelimora-card-title-lg {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.kelimora-news-grid-section .kelimora-card-title-sm {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.kelimora-news-grid-section .kelimora-title-link {
    color: #0F1E36;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-news-grid-section .kelimora-title-link:hover {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-news-grid-section .kelimora-card-excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #334155;
}

.kelimora-news-grid-section .kelimora-btn-primary {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 700;
    padding: 0.625rem 1.375rem;
    border-radius: 2px;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kelimora-news-grid-section .kelimora-btn-primary:hover {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-news-grid-section .kelimora-card-compact {
    border-top: 3px solid #E2E8F0;
}

.kelimora-news-grid-section .kelimora-card-compact:hover {
    border-top-color: #0284C7;
}

.kelimora-news-grid-section .kelimora-card-thumb-wrapper {
    height: 95px;
    background-color: #E2E8F0;
}

.kelimora-news-grid-section .kelimora-thumb-img {
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.3s ease;
}

.kelimora-news-grid-section .kelimora-card-compact:hover .kelimora-thumb-img {
    transform: scale(1.03);
}

.kelimora-news-grid-section .kelimora-compact-btn {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0284C7;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-news-grid-section .kelimora-compact-btn:hover {
    color: #0F1E36;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .kelimora-news-grid-section .kelimora-section-title {
        font-size: 16px;
        hyphens: auto;
    }

    .kelimora-news-grid-section .kelimora-card-title-lg {
        font-size: 14px;
        hyphens: auto;
    }

    .kelimora-news-grid-section .kelimora-card-title-sm {
        font-size: 13px;
        hyphens: auto;
    }

    .kelimora-news-grid-section .kelimora-card-featured .kelimora-card-media-wrapper {
        height: 200px;
    }

    .kelimora-news-grid-section .kelimora-card-thumb-wrapper {
        height: 80px;
    }
}

/* ===== important-to-know ===== */
.important-to-know-section {
    background-color: #F8FAFC;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
}

.important-to-know-section .important-to-know-title {
    font-size: 2rem;
    color: #0F1E36;
    line-height: 1.2;
}

.important-to-know-section .important-to-know-subtitle {
    max-width: 720px;
    font-size: 1rem;
    color: #334155;
    line-height: 1.6;
}

.important-to-know-section .important-card {
    background-color: #FFFFFF;
    border-top: 3px solid #0284C7 !important;
    border-radius: 4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.important-to-know-section .important-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(15, 30, 54, 0.08) !important;
}

.important-to-know-section .card-icon-wrapper {
    width: 50px;
    height: 50px;
    background-color: #F0F7FF;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.important-to-know-section .pillar-badge {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0284C7;
}

.important-to-know-section .editorial-feature-card {
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 4px;
}

.important-to-know-section .editorial-feature-img {
    height: 100%;
    min-height: 260px;
    max-height: 340px;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.3s ease;
}

.important-to-know-section .editorial-feature-card:hover .editorial-feature-img {
    transform: scale(1.02);
}

.important-to-know-section .hover-accent:hover {
    color: #0284C7 !important;
    text-decoration: underline !important;
}

.important-to-know-section .btn-primary {
    background-color: #0F1E36;
    color: #FFFFFF;
    border: none;
    border-radius: 2px;
    font-weight: 700;
    font-size: 0.875rem;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.important-to-know-section .btn-primary:hover {
    background-color: #0284C7;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .important-to-know-section .important-to-know-title {
        font-size: 16px;
        hyphens: auto;
    }

    .important-to-know-section .important-to-know-subtitle {
        font-size: 0.875rem;
    }

    .important-to-know-section .editorial-feature-img {
        min-height: 200px;
        height: 220px;
    }
}

/* ===== report-news ===== */
.report-news-section {
    background-color: #F8FAFC;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
}

.report-news-section .report-news-card {
    max-width: 1200px;
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-top: 4px solid #0F1E36;
    box-shadow: 0 4px 16px rgba(15, 30, 54, 0.05);
}

.report-news-section .report-info-panel {
    background-color: #F0F7FF;
    border-right: 1px solid #E2E8F0;
}

@media (max-width: 991px) {
    .report-news-section .report-info-panel {
        border-right: none;
        border-bottom: 1px solid #E2E8F0;
    }
}

.report-news-section .badge-desk {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.35rem 0.65rem;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.report-news-section .badge-channel {
    background-color: #0284C7;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.35rem 0.65rem;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.report-news-section .report-title {
    color: #0F1E36;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.report-news-section .report-desc {
    color: #334155;
    font-size: 0.95rem;
    line-height: 1.6;
}

.report-news-section .guideline-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0284C7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
}

.report-news-section .guideline-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0F1E36;
}

.report-news-section .guideline-text {
    font-size: 0.85rem;
    color: #334155;
    line-height: 1.5;
}

.report-news-section .report-form-panel {
    background-color: #FFFFFF;
}

.report-news-section .form-title {
    color: #0F1E36;
    font-size: 1.35rem;
    font-weight: 700;
}

.report-news-section .form-subtitle {
    color: #334155;
    font-size: 0.9rem;
}

.report-news-section .form-label {
    color: #0F1E36;
    font-size: 0.875rem;
    margin-bottom: 0.4rem;
}

.report-news-section .form-input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    border-radius: 2px;
    font-size: 0.95rem;
    padding: 0.65rem 0.85rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.report-news-section .form-input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    color: #0F1E36;
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
    outline: none;
}

.report-news-section .form-input::placeholder {
    color: #64748B;
    font-size: 0.875rem;
    opacity: 1;
}

.report-news-section .privacy-check .form-check-input {
    border: 1px solid #94A3B8;
    border-radius: 2px;
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.15rem;
}

.report-news-section .privacy-check .form-check-input:checked {
    background-color: #0F1E36;
    border-color: #0F1E36;
}

.report-news-section .privacy-check .form-check-label {
    color: #334155;
    font-size: 0.825rem;
    line-height: 1.5;
    cursor: pointer;
}

.report-news-section .submit-report-btn {
    background-color: #0F1E36;
    color: #FFFFFF;
    border: none;
    border-radius: 2px;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: background-color 0.2s ease;
}

.report-news-section .submit-report-btn:hover {
    background-color: #0284C7;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .report-news-section .report-title {
        font-size: 1.35rem;
        hyphens: auto;
    }

    .report-news-section .form-title {
        font-size: 1.15rem;
    }

    .report-news-section .submit-report-btn {
        width: 100%;
    }
}

/* ===== popular-trends ===== */
.km-popular-trends {
    background-color: #F8FAFC;
    font-family: 'Noto Sans KR', sans-serif;
    color: #2A323D;
}

.km-popular-trends__header {
    border-color: #E2E8F0 !important;
}

.km-popular-trends__tag {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #0284C7;
    background-color: #F0F7FF;
    padding: 4px 10px;
    border-left: 3px solid #38BDF8;
    display: inline-block;
}

.km-popular-trends__title {
    color: #0F1E36;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.km-popular-trends__category-link {
    font-size: 0.875rem;
    font-weight: 700;
    color: #0F1E36;
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
}

.km-popular-trends__category-link:hover {
    color: #0284C7;
    border-bottom-color: #0284C7;
}

.km-popular-trends__main-card {
    background-color: #FFFFFF;
    border-top: 3px solid #38BDF8 !important;
    box-shadow: 0 1px 3px rgba(15, 30, 54, 0.04);
}

.km-popular-trends__main-img-wrapper {
    height: 320px;
    background-color: #F3F4F6;
}

.km-popular-trends__img {
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.3s ease;
}

.km-popular-trends__main-card:hover .km-popular-trends__img,
.km-popular-trends__sub-card:hover .km-popular-trends__img {
    transform: scale(1.02);
}

.km-popular-trends__featured-pill {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 4px 8px;
    border-radius: 2px;
}

.km-popular-trends__meta {
    font-size: 0.8125rem;
    color: #334155;
}

.km-popular-trends__meta-divider {
    color: #475569;
}

.km-popular-trends__main-title {
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.km-popular-trends__title-link {
    color: #0F1E36;
    text-decoration: none;
    transition: color 0.2s ease;
}

.km-popular-trends__title-link:hover {
    color: #0284C7;
    text-decoration: underline;
}

.km-popular-trends__excerpt {
    font-size: 0.9375rem;
    color: #334155;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.km-popular-trends__btn {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 700;
    padding: 0.625rem 1.25rem;
    border-radius: 2px;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid #0F1E36;
}

.km-popular-trends__btn:hover {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.km-popular-trends__sub-card {
    border-color: #E2E8F0 !important;
    border-left: 3px solid #0284C7 !important;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.km-popular-trends__sub-card:hover {
    border-color: #0284C7 !important;
}

.km-popular-trends__sub-img-wrapper {
    width: 140px;
    height: 105px;
    overflow: hidden;
    background-color: #F3F4F6;
}

.km-popular-trends__sub-title {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.km-popular-trends__text-link {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0284C7;
    text-decoration: none;
    transition: color 0.2s ease;
}

.km-popular-trends__text-link:hover {
    color: #0F1E36;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .km-popular-trends__title {
        font-size: 16px;
        hyphens: auto;
    }

    .km-popular-trends__main-title {
        font-size: 14px;
        hyphens: auto;
    }

    .km-popular-trends__sub-title {
        font-size: 13px;
        hyphens: auto;
    }

    .km-popular-trends__main-img-wrapper {
        height: 220px;
    }

    .km-popular-trends__sub-card {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .km-popular-trends__sub-img-wrapper {
        width: 100%;
        height: 180px;
    }
}

/* ===== idol-styles ===== */
.idol-styles-section {
    background-color: #FFFFFF;
    font-family: 'Noto Sans KR', sans-serif;
    color: #2A323D;
}

.idol-styles-section .border-bottom {
    border-bottom: 2px solid #E2E8F0 !important;
}

.idol-styles-section .badge-category {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #0284C7;
    background-color: #F0F7FF;
    padding: 4px 10px;
    border-radius: 2px;
    border: 1px solid #BAE6FD;
}

.idol-styles-section .badge-dot {
    width: 4px;
    height: 4px;
    background-color: #475569;
    border-radius: 50%;
    display: inline-block;
}

.idol-styles-section .text-category-subtitle {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #334155;
}

.idol-styles-section .section-main-title {
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0F1E36;
    letter-spacing: -0.02em;
}

.idol-styles-section .btn-tab-filter {
    background-color: #F8FAFC;
    border: 1px solid #E2E8F0;
    color: #334155;
    font-size: 0.8125rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 2px;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.idol-styles-section .btn-tab-filter:hover {
    background-color: #F0F7FF;
    color: #0284C7;
    border-color: #0284C7;
}

.idol-styles-section .btn-tab-filter.active {
    background-color: #0F1E36;
    color: #FFFFFF;
    border-color: #0F1E36;
}

.idol-styles-section .featured-idol-card {
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-top: 3px solid #0284C7;
    box-shadow: 0 4px 12px rgba(15, 30, 54, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-radius: 2px;
    overflow: hidden;
}

.idol-styles-section .featured-idol-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(15, 30, 54, 0.08);
}

.idol-styles-section .featured-img-wrap {
    width: 100%;
    height: 320px;
    overflow: hidden;
    background-color: #0F1E36;
}

.idol-styles-section .featured-img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.4s ease;
}

.idol-styles-section .featured-idol-card:hover .featured-img {
    transform: scale(1.03);
}

.idol-styles-section .featured-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 2px;
    z-index: 2;
}

.idol-styles-section .meta-row {
    font-size: 0.8125rem;
    color: #334155;
    font-weight: 500;
}

.idol-styles-section .meta-divider {
    color: #475569;
}

.idol-styles-section .featured-title {
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.35;
}

.idol-styles-section .featured-title a {
    color: #0F1E36;
    text-decoration: none;
    transition: color 0.2s ease;
}

.idol-styles-section .featured-title a:hover {
    color: #0284C7;
    text-decoration: underline;
}

.idol-styles-section .featured-summary {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #334155;
}

.idol-styles-section .side-idol-card {
    background-color: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-left: 3px solid #0F1E36;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    border-radius: 2px;
}

.idol-styles-section .side-idol-card:hover {
    background-color: #F0F7FF;
    border-left-color: #0284C7;
}

.idol-styles-section .side-card-img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    object-position: center top;
    border-radius: 2px;
}

.idol-styles-section .side-card-title {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
}

.idol-styles-section .side-card-title a {
    color: #0F1E36;
    text-decoration: none;
    transition: color 0.2s ease;
}

.idol-styles-section .side-card-title a:hover {
    color: #0284C7;
    text-decoration: underline;
}

.idol-styles-section .side-card-desc {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #334155;
    margin-bottom: 0.5rem;
}

.idol-styles-section .btn-editorial-link {
    display: inline-flex;
    align-items: center;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0284C7;
    text-decoration: none;
    padding: 2px 0;
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.idol-styles-section .btn-editorial-link:hover {
    color: #0F1E36;
    border-bottom-color: #0F1E36;
}

@media (max-width: 767px) {
    .idol-styles-section .section-main-title {
        font-size: 1.35rem;
    }

    .idol-styles-section .featured-title {
        font-size: 1.15rem;
    }

    .idol-styles-section .side-card-title {
        font-size: 0.95rem;
    }

    .idol-styles-section .featured-img-wrap {
        height: 230px;
    }

    .idol-styles-section .featured-img {
        height: 230px;
    }

    .idol-styles-section .side-card-img {
        height: 95px;
    }
}

/* ===== urgent-notifications ===== */
.urgent-notifications-section {
    background-color: #F8FAFC;
    border-top: 1px solid #E2E8F0;
    border-bottom: 1px solid #E2E8F0;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
}

.urgent-notifications-section .urgent-card-wrapper {
    max-width: 1200px;
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-top: 4px solid #0284C7;
    border-radius: 6px;
    padding: 2.5rem 2rem;
}

.urgent-notifications-section .text-accent {
    color: #0284C7;
}

.urgent-notifications-section .urgent-badge {
    background-color: #F0F7FF;
    border: 1px solid #BAE6FD;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
}

.urgent-notifications-section .urgent-badge-text {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0284C7;
    letter-spacing: 0.02em;
}

.urgent-notifications-section .urgent-main-title {
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.015em;
    color: #0F1E36;
    overflow-wrap: anywhere;
}

.urgent-notifications-section .urgent-lead-text {
    font-size: 0.975rem;
    line-height: 1.65;
    color: #334155;
    overflow-wrap: anywhere;
}

.urgent-notifications-section .urgent-highlight-item {
    font-size: 0.9rem;
    font-weight: 500;
    color: #2A323D;
}

.urgent-notifications-section .highlight-text {
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.urgent-notifications-section .urgent-form-box {
    background-color: #F0F7FF;
    border: 1px solid #E2E8F0;
}

.urgent-notifications-section .urgent-box-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #0F1E36;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.urgent-notifications-section .urgent-box-subtitle {
    font-size: 0.875rem;
    color: #334155;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.urgent-notifications-section .urgent-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #0F1E36;
}

.urgent-notifications-section .urgent-input-group {
    display: flex;
    align-items: center;
}

.urgent-notifications-section .urgent-input-icon {
    position: absolute;
    left: 1rem;
    color: #0284C7;
    font-size: 1rem;
    pointer-events: none;
    z-index: 2;
}

.urgent-notifications-section .urgent-input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.9375rem;
    padding: 0.75rem 1rem 0.75rem 2.75rem;
    border-radius: 4px;
    height: 48px;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.urgent-notifications-section .urgent-input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
    color: #0F1E36;
    outline: none;
}

.urgent-notifications-section .urgent-input::placeholder {
    color: #334155;
    opacity: 1;
}

.urgent-notifications-section .urgent-checkbox {
    width: 1.125rem;
    height: 1.125rem;
    border: 1px solid #CBD5E1;
    cursor: pointer;
}

.urgent-notifications-section .urgent-checkbox:checked {
    background-color: #0284C7;
    border-color: #0284C7;
}

.urgent-notifications-section .urgent-consent-label {
    font-size: 0.8125rem;
    color: #334155;
    line-height: 1.4;
    cursor: pointer;
}

.urgent-notifications-section .urgent-legal-link {
    color: #0284C7;
    text-decoration: underline;
    font-weight: 600;
}

.urgent-notifications-section .urgent-legal-link:hover {
    color: #0F1E36;
}

.urgent-notifications-section .urgent-submit-btn {
    background-color: #0F1E36;
    color: #FFFFFF;
    border: 1px solid #0F1E36;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.05em;
    height: 48px;
    padding: 0.625rem 1.5rem;
    border-radius: 4px;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.urgent-notifications-section .urgent-submit-btn:hover,
.urgent-notifications-section .urgent-submit-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .urgent-notifications-section .urgent-card-wrapper {
        padding: 1.5rem 1rem;
    }

    .urgent-notifications-section .urgent-main-title {
        font-size: 1.35rem;
    }

    .urgent-notifications-section .urgent-box-title {
        font-size: 1.15rem;
    }

    .urgent-notifications-section .urgent-form-box {
        padding: 1.25rem 1rem !important;
    }

    .urgent-notifications-section .urgent-input {
        font-size: 0.875rem;
        padding-left: 2.5rem;
    }
}

/* ===== footer ===== */
.kelimora-footer {
    background-color: #F8FAFC;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
    border-top: 3px solid #0F1E36;
    overflow: hidden;
}

.kelimora-footer__logo {
    max-width: 44px;
    height: 44px;
    object-fit: contain;
}

.kelimora-footer__brand-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0F1E36;
    letter-spacing: -0.02em;
}

.kelimora-footer__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kelimora-footer__wa-btn:hover,
.kelimora-footer__wa-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__heading {
    font-size: 1rem;
    font-weight: 700;
    color: #0F1E36;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #E2E8F0;
    display: inline-block;
    line-height: 1.3;
}

.kelimora-footer__link {
    color: #334155;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-footer__link:hover,
.kelimora-footer__link:focus {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-footer__contact-icon {
    color: #0284C7;
    font-size: 0.95rem;
    width: 16px;
}

.kelimora-footer__contact-text {
    font-size: 0.875rem;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__newsletter-desc {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #334155;
}

.kelimora-footer__input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    padding: 0.625rem 0.875rem;
    border-radius: 2px;
}

.kelimora-footer__input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
}

.kelimora-footer__input::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-footer__submit-btn {
    display: block;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kelimora-footer__submit-btn:hover,
.kelimora-footer__submit-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__bottom {
    border-color: #E2E8F0 !important;
}

.kelimora-footer__copy {
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-footer__policy-link {
    color: #334155;
    font-size: 0.8125rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-footer__policy-link:hover,
.kelimora-footer__policy-link:focus {
    color: #0F1E36;
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .kelimora-footer__heading {
        display: block;
    }

    .kelimora-footer__policy-links {
        flex-direction: column;
        gap: 0.5rem !important;
    }
}

body {
    font-family: 'Noto Sans KR', sans-serif;
    color: #2A323D;
    background-color: #FFFFFF;
    margin: 0;
    padding: 0;
}

.kelimora-header-block {
    background-color: #FFFFFF;
    border-color: #E2E8F0 !important;
    z-index: 1030;
}

.kelimora-header-block .kelimora-header-top {
    background-color: #F8FAFC !important;
    border-color: #E2E8F0 !important;
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-header-block .kelimora-logo-img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    max-width: 44px;
}

.kelimora-header-block .kelimora-brand-text {
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    color: #0F1E36;
    line-height: 1;
}

.kelimora-header-block .kelimora-nav-link {
    color: #2A323D;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.kelimora-header-block .kelimora-nav-link:hover,
.kelimora-header-block .kelimora-nav-link:focus {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-header-block .kelimora-nav-link.active {
    color: #0284C7;
    font-weight: 700;
}

.kelimora-header-block .kelimora-header-btn {
    background-color: #0F1E36;
    border: 1px solid #0F1E36;
    color: #FFFFFF;
    letter-spacing: 0.02em;
    transition: all 0.2s ease;
}

.kelimora-header-block .kelimora-header-btn:hover,
.kelimora-header-block .kelimora-header-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-header-block .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #0284C7;
}

@media (max-width: 991.98px) {
    .kelimora-header-block .navbar-collapse {
        background-color: #FFFFFF;
        padding: 1rem;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(15, 30, 54, 0.08);
    }

    .kelimora-header-block .kelimora-nav-link {
        padding: 0.625rem 1rem !important;
    }

    .kelimora-header-block .kelimora-header-btn {
        width: 100%;
        text-align: center;
        margin-top: 0.5rem;
    }
}

.kelimora-cat-hero-section {
    background-color: #F8FAFC;
    border-color: #E2E8F0 !important;
}

.kelimora-cat-hero-section .kelimora-breadcrumb {
    font-size: 0.875rem;
}

.kelimora-cat-hero-section .kelimora-cat-crumb-link {
    color: #334155;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-cat-hero-section .kelimora-cat-crumb-link:hover {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-cat-hero-section .breadcrumb-item.active {
    color: #0F1E36;
    font-weight: 600;
}

.kelimora-cat-hero-section .kelimora-cat-badge {
    background-color: #0284C7;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    border-radius: 2px;
}

.kelimora-cat-hero-section .kelimora-cat-count-indicator {
    color: #334155;
    font-weight: 500;
}

.kelimora-cat-hero-section .kelimora-cat-hero-title {
    color: #0F1E36;
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.kelimora-cat-hero-section .kelimora-cat-hero-subtitle {
    color: #334155;
    font-size: 1.05rem;
    line-height: 1.6;
    max-width: 650px;
    overflow-wrap: anywhere;
}

.kelimora-cat-hero-section .kelimora-cat-search-box {
    border-color: #E2E8F0 !important;
    box-shadow: 0 2px 8px rgba(15, 30, 54, 0.04);
}

.kelimora-cat-hero-section .kelimora-cat-search-label {
    color: #0F1E36;
    font-size: 0.9375rem;
}

.kelimora-cat-hero-section .kelimora-search-field {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
}

.kelimora-cat-hero-section .kelimora-search-field:focus {
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
}

.kelimora-cat-hero-section .kelimora-search-field::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-cat-hero-section .kelimora-search-submit {
    background-color: #0F1E36;
    border-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 600;
    padding-left: 1rem;
    padding-right: 1rem;
    transition: background-color 0.2s ease;
}

.kelimora-cat-hero-section .kelimora-search-submit:hover {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-article-list-section .kelimora-section-tag {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    border-radius: 2px;
}

.kelimora-article-list-section .kelimora-section-title {
    color: #0F1E36;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.kelimora-article-list-section .kelimora-list-intro-desc {
    color: #334155;
    font-size: 0.9375rem;
    max-width: 480px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.kelimora-article-list-section .kelimora-filter-btn {
    background-color: #F8FAFC;
    border: 1px solid #CBD5E1;
    color: #2A323D;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.45rem 1rem;
    border-radius: 2px;
    transition: all 0.2s ease;
}

.kelimora-article-list-section .kelimora-filter-btn:hover {
    background-color: #F0F7FF;
    border-color: #0284C7;
    color: #0284C7;
}

.kelimora-article-list-section .kelimora-filter-btn.active {
    background-color: #0F1E36;
    border-color: #0F1E36;
    color: #FFFFFF;
}

.kelimora-article-list-section .kelimora-sort-label {
    color: #334155;
}

.kelimora-article-list-section .kelimora-sort-select {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    width: auto;
    min-width: 120px;
}

.kelimora-article-list-section .kelimora-article-card {
    background-color: #FFFFFF;
    border-color: #E2E8F0 !important;
    border-top: 3px solid #0284C7 !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.kelimora-article-list-section .kelimora-article-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(15, 30, 54, 0.08);
}

.kelimora-article-list-section .kelimora-card-img-wrap {
    aspect-ratio: 4 / 3;
    background-color: #F3F4F6;
}

.kelimora-article-list-section .kelimora-card-img {
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.3s ease;
}

.kelimora-article-list-section .kelimora-article-card:hover .kelimora-card-img {
    transform: scale(1.03);
}

.kelimora-article-list-section .kelimora-card-badge {
    background-color: rgba(15, 30, 54, 0.85);
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 700;
    backdrop-filter: blur(4px);
    border-radius: 2px;
}

.kelimora-article-list-section .kelimora-card-meta {
    color: #334155;
    font-size: 0.8125rem;
}

.kelimora-article-list-section .kelimora-meta-dot {
    color: #0284C7;
    font-weight: bold;
}

.kelimora-article-list-section .kelimora-card-title {
    color: #0F1E36;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
    transition: color 0.2s ease;
}

.kelimora-article-list-section .kelimora-article-card:hover .kelimora-card-title {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-article-list-section .kelimora-card-excerpt {
    color: #334155;
    font-size: 0.875rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.kelimora-article-list-section .kelimora-card-footer {
    border-color: #E2E8F0 !important;
}

.kelimora-article-list-section .kelimora-read-action {
    color: #0284C7;
    transition: color 0.2s ease;
}

.kelimora-article-list-section .kelimora-article-card:hover .kelimora-read-action {
    color: #0F1E36;
}

.kelimora-article-list-section .kelimora-card-comments {
    color: #334155;
}

.kelimora-article-list-section .kelimora-load-more-btn {
    background-color: #0F1E36;
    border: 1px solid #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    padding: 0.75rem 2rem;
    border-radius: 2px;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
}

.kelimora-article-list-section .kelimora-load-more-btn:hover,
.kelimora-article-list-section .kelimora-load-more-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-article-list-section .kelimora-empty-title {
    color: #0F1E36;
    font-size: 1.35rem;
    font-weight: 700;
}

.kelimora-article-list-section .kelimora-empty-desc {
    color: #334155;
    font-size: 0.95rem;
}

.kelimora-cat-highlight-section .kelimora-spotlight-tag {
    background-color: #0284C7;
    color: #FFFFFF;
    font-size: 0.75rem;
    border-radius: 2px;
}

.kelimora-cat-highlight-section .kelimora-spotlight-heading {
    color: #0F1E36;
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.kelimora-cat-highlight-section .kelimora-spotlight-desc {
    color: #334155;
    font-size: 1rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.kelimora-cat-highlight-section .kelimora-cat-btn {
    font-weight: 700;
    border-radius: 2px;
}

.kelimora-cat-highlight-section .kelimora-editorial-note-card {
    border-color: #E2E8F0 !important;
    border-left: 4px solid #0F1E36 !important;
}

.kelimora-cat-highlight-section .kelimora-note-title {
    color: #0F1E36;
    font-size: 1.15rem;
    font-weight: 700;
    border-color: #E2E8F0 !important;
}

.kelimora-cat-highlight-section .kelimora-note-text {
    color: #334155;
    font-size: 0.9375rem;
    line-height: 1.6;
}

.kelimora-footer {
    background-color: #F8FAFC;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
    border-top: 3px solid #0F1E36;
    overflow: hidden;
}

.kelimora-footer__logo {
    max-width: 44px;
    height: 44px;
    object-fit: contain;
}

.kelimora-footer__brand-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0F1E36;
    letter-spacing: -0.02em;
}

.kelimora-footer__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kelimora-footer__wa-btn:hover,
.kelimora-footer__wa-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__heading {
    font-size: 1rem;
    font-weight: 700;
    color: #0F1E36;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #E2E8F0;
    display: inline-block;
    line-height: 1.3;
}

.kelimora-footer__link {
    color: #334155;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-footer__link:hover,
.kelimora-footer__link:focus {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-footer__contact-icon {
    color: #0284C7;
    font-size: 0.95rem;
    width: 16px;
}

.kelimora-footer__contact-text {
    font-size: 0.875rem;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__newsletter-desc {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #334155;
}

.kelimora-footer__input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    padding: 0.625rem 0.875rem;
    border-radius: 2px;
}

.kelimora-footer__input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
}

.kelimora-footer__input::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-footer__submit-btn {
    display: block;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kelimora-footer__submit-btn:hover,
.kelimora-footer__submit-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__bottom {
    border-color: #E2E8F0 !important;
}

.kelimora-footer__copy {
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-footer__policy-link {
    color: #334155;
    font-size: 0.8125rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-footer__policy-link:hover,
.kelimora-footer__policy-link:focus {
    color: #0F1E36;
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .kelimora-cat-hero-section .kelimora-cat-hero-title {
        font-size: 1.125rem;
        line-height: 1.3;
        hyphens: auto;
    }

    .kelimora-article-list-section .kelimora-section-title {
        font-size: 1rem;
        hyphens: auto;
    }

    .kelimora-article-list-section .kelimora-card-title {
        font-size: 0.875rem;
        hyphens: auto;
    }

    .kelimora-cat-highlight-section .kelimora-spotlight-heading {
        font-size: 1rem;
        hyphens: auto;
    }

    .kelimora-cat-highlight-section .kelimora-note-title {
        font-size: 0.875rem;
    }

    .kelimora-cat-hero-section .kelimora-cat-hero-subtitle,
    .kelimora-article-list-section .kelimora-list-intro-desc,
    .kelimora-article-list-section .kelimora-card-excerpt,
    .kelimora-cat-highlight-section .kelimora-spotlight-desc,
    .kelimora-cat-highlight-section .kelimora-note-text {
        font-size: 0.875rem;
        line-height: 1.5;
    }

    .kelimora-footer__heading {
        display: block;
    }

    .kelimora-footer__policy-links {
        flex-direction: column;
        gap: 0.5rem !important;
    }
}


/* ===== PAGE: privacy ===== */
.policy-content {
  max-width: 960px;
  margin: 0 auto;
  padding: 3rem 1.5rem;
  background-color: #ffffff;
  color: #2A323D;
  font-family: 'Noto Sans KR', sans-serif;
  line-height: 1.75;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.policy-content h2 {
  color: #0F1E36;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #E2E8F0;
}

.policy-content p {
  margin-bottom: 1.25rem;
  color: #2A323D;
  font-size: 1rem;
}

.policy-content strong {
  color: #0F1E36;
  font-weight: 600;
}

.policy-content ul {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  list-style-type: disc;
}

.policy-content li {
  margin-bottom: 0.5rem;
  color: #334155;
  font-size: 0.95rem;
  line-height: 1.6;
}

.policy-content a {
  color: #0284C7;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.policy-content a:hover,
.policy-content a:focus {
  color: #0F1E36;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .policy-content {
    padding: 2rem 1rem;
    hyphens: auto;
  }
  .policy-content h2 {
    font-size: 16px;
    margin-top: 1.75rem;
    margin-bottom: 0.75rem;
  }
  .policy-content p,
  .policy-content li {
    font-size: 0.9rem;
    line-height: 1.6;
  }
  .policy-content ul {
    padding-left: 1.25rem;
  }
}

/* ===== PAGE: terms ===== */
.policy-content { max-width: 100%; padding: 2.5rem 1.5rem; background-color: #FFFFFF; color: #2A323D; font-family: 'Noto Sans KR', sans-serif; line-height: 1.7; overflow-wrap: anywhere; word-break: break-word; } .policy-content h2 { font-size: 1.35rem; font-weight: 700; color: #0F1E36; margin-top: 2rem; margin-bottom: 0.85rem; padding-bottom: 0.4rem; border-bottom: 2px solid #F0F7FF; border-left: 4px solid #0284C7; padding-left: 0.75rem; line-height: 1.3; } .policy-content h2:first-of-type { margin-top: 0; } .policy-content p { font-size: 0.975rem; color: #334155; margin-bottom: 1.25rem; line-height: 1.65; } .policy-content ul { list-style-type: disc; margin: 0 0 1.5rem 1.25rem; padding: 0; } .policy-content li { font-size: 0.95rem; color: #334155; margin-bottom: 0.6rem; line-height: 1.6; } .policy-content strong { color: #0F1E36; font-weight: 600; } .policy-content a { color: #0284C7; text-decoration: underline; transition: color 0.2s ease; } .policy-content a:hover, .policy-content a:focus { color: #0F1E36; text-decoration: underline; } @media (max-width: 767px) { .policy-content { padding: 1.5rem 1rem; } .policy-content h2 { font-size: 1rem; margin-top: 1.5rem; margin-bottom: 0.65rem; padding-left: 0.5rem; } .policy-content p, .policy-content li { font-size: 0.875rem; line-height: 1.55; } .policy-content ul { margin-left: 1rem; } }

/* ===== PAGE: disclaimer ===== */
.policy-content{max-width:100%;margin:0 auto;padding:2.5rem 1.25rem;background-color:#FFFFFF;color:#2A323D;font-family:'Noto Sans KR',sans-serif;line-height:1.6;overflow-wrap:anywhere}.policy-content .policy-intro{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #E2E8F0}.policy-content .policy-meta-date{font-size:0.875rem;color:#4B5563;margin-bottom:0.75rem}.policy-content .policy-lead-text{font-size:1.05rem;line-height:1.75;color:#0F1E36;margin-bottom:0}.policy-content .policy-section{margin-bottom:2.25rem}.policy-content .policy-section h2{font-size:1.375rem;font-weight:700;line-height:1.3;color:#0F1E36;margin-top:0;margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:2px solid #F0F7FF;letter-spacing:-0.015em}.policy-content .policy-section p{font-size:1rem;margin-bottom:1rem;color:#2A323D}.policy-content .policy-section ul{margin:0 0 1.25rem 0;padding-left:1.5rem;list-style-type:disc}.policy-content .policy-section li{margin-bottom:0.625rem;color:#2A323D;line-height:1.65}.policy-content .policy-section li strong{color:#0F1E36}.policy-content a{color:#0284C7;text-decoration:none;transition:color 0.2s ease}.policy-content a:hover{color:#0F1E36;text-decoration:underline}.policy-content .policy-contact-box{background-color:#F8FAFC;border:1px solid #E2E8F0;border-left:4px solid #0284C7;padding:1.5rem 1.25rem;border-radius:2px;margin-top:2.5rem}.policy-content .policy-contact-box h2{border-bottom:none;padding-bottom:0;margin-bottom:0.75rem}.policy-content .policy-contact-list{list-style-type:none;padding-left:0;margin-bottom:0}.policy-content .policy-contact-list li{margin-bottom:0.5rem}.@media (min-width:768px){.policy-content{padding:4rem 2rem;max-width:960px}.policy-content .policy-section h2{font-size:1.5rem}.policy-content .policy-contact-box{padding:2rem}}@media (max-width:767px){.policy-content{padding:2rem 1rem}.policy-content .policy-section h2{font-size:1rem;hyphens:auto}.policy-content .policy-section h3{font-size:0.875rem;hyphens:auto}.policy-content .policy-lead-text{font-size:0.95rem}.policy-content .policy-section p,.policy-content .policy-section li{font-size:0.9375rem}}

/* ===== PAGE: cookies ===== */
.policy-content { padding: 3rem 1.5rem; max-width: 900px; margin: 0 auto; color: #2A323D; font-family: 'Noto Sans KR', sans-serif; line-height: 1.7; overflow-wrap: anywhere; word-break: keep-all; } .policy-content .policy-intro { margin-bottom: 2.5rem; border-bottom: 2px solid #E2E8F0; padding-bottom: 1.5rem; } .policy-content .policy-lead { font-size: 1.125rem; font-weight: 500; color: #0F1E36; line-height: 1.8; margin-bottom: 0; } .policy-content .policy-section { margin-bottom: 2.5rem; } .policy-content h2 { font-size: 1.35rem; font-weight: 700; color: #0F1E36; margin-top: 0; margin-bottom: 1rem; line-height: 1.3; border-left: 4px solid #0284C7; padding-left: 0.75rem; } .policy-content h3 { font-size: 1.1rem; font-weight: 600; color: #0F1E36; margin-top: 0; margin-bottom: 0.5rem; line-height: 1.3; } .policy-content p { margin-top: 0; margin-bottom: 1rem; font-size: 0.975rem; color: #2A323D; } .policy-content .cookie-card-group { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.5rem 0; } .policy-content .cookie-card { background-color: #F8FAFC; border: 1px solid #E2E8F0; border-top: 3px solid #0284C7; padding: 1.25rem; border-radius: 2px; } .policy-content .cookie-card p { font-size: 0.875rem; margin-bottom: 0; color: #334155; } .policy-content .cookie-browser-list, .policy-content .policy-contact-list { list-style: square; padding-left: 1.25rem; margin-top: 0.5rem; margin-bottom: 1rem; } .policy-content .cookie-browser-list li, .policy-content .policy-contact-list li { margin-bottom: 0.5rem; font-size: 0.95rem; color: #2A323D; } .policy-content .policy-contact-list a { color: #0284C7; text-decoration: underline; } .policy-content .policy-contact-list a:hover { color: #0F1E36; } @media (max-width: 767px) { .policy-content { padding: 2rem 1rem; } .policy-content h1 { font-size: 1.125rem; } .policy-content h2 { font-size: 1rem; } .policy-content h3 { font-size: 0.875rem; } .policy-content .cookie-card-group { grid-template-columns: 1fr; } }

/* ===== PAGE: about ===== */
.about-page-wrapper { font-family: 'Noto Sans KR', sans-serif; color: #0F1E36; background-color: #FFFFFF; }
.about-page-wrapper .about-intro-section { background-color: #FFFFFF; border-bottom: 1px solid #E2E8F0; }
.about-page-wrapper .editorial-badge { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; color: #0284C7; background-color: #F0F7FF; padding: 0.35rem 0.85rem; border: 1px solid #E2E8F0; }
.about-page-wrapper .about-heading { font-size: 2rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #0F1E36; overflow-wrap: anywhere; }
.about-page-wrapper .about-lead-text { font-size: 1.05rem; line-height: 1.65; color: #334155; }
.about-page-wrapper .point-card { background-color: #F8FAFC; border: 1px solid #E2E8F0; border-left: 3px solid #0284C7; transition: transform 0.2s ease, border-color 0.2s ease; }
.about-page-wrapper .point-card:hover { transform: translateY(-2px); border-color: #0284C7; }
.about-page-wrapper .point-icon-box { width: 38px; height: 38px; min-width: 38px; background-color: #0F1E36; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; }
.about-page-wrapper .point-title { font-size: 1.05rem; font-weight: 700; color: #0F1E36; overflow-wrap: anywhere; }
.about-page-wrapper .point-desc { font-size: 0.875rem; color: #334155; line-height: 1.5; }
.about-page-wrapper .about-stat-panel { background-color: #F0F7FF; border: 1px solid #E2E8F0; position: relative; }
.about-page-wrapper .stat-header { border-bottom: 1px solid #E2E8F0; }
.about-page-wrapper .stat-subtitle { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; color: #0284C7; text-transform: uppercase; display: block; margin-bottom: 0.25rem; }
.about-page-wrapper .stat-main-title { font-size: 1.35rem; font-weight: 700; color: #0F1E36; line-height: 1.3; overflow-wrap: anywhere; }
.about-page-wrapper .stat-box { background-color: #FFFFFF; border: 1px solid #E2E8F0; text-align: center; }
.about-page-wrapper .stat-num { font-size: 1.5rem; font-weight: 800; color: #0F1E36; letter-spacing: -0.02em; }
.about-page-wrapper .stat-label { font-size: 0.8rem; color: #334155; font-weight: 500; }
.about-page-wrapper .stat-quote { font-size: 0.95rem; line-height: 1.6; color: #2A323D; font-style: italic; }
.about-page-wrapper .info-list-section { background-color: #F8FAFC; }
.about-page-wrapper .section-header-line { width: 100%; }
.about-page-wrapper .section-main-title { font-size: 1.5rem; font-weight: 700; color: #0F1E36; white-space: nowrap; overflow-wrap: anywhere; }
.about-page-wrapper .decorative-line { height: 1px; background-color: #CBD5E1; }
.about-page-wrapper .overlay-card-link { display: block; color: inherit; }
.about-page-wrapper .overlay-card { position: relative; overflow: hidden; aspect-ratio: 4 / 3; width: 100%; background-color: #0F1E36; border: 1px solid #E2E8F0; }
.about-page-wrapper .overlay-card-img-wrap { position: absolute; inset: 0; width: 100%; height: 100%; }
.about-page-wrapper .overlay-card-img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform 0.3s ease; }
.about-page-wrapper .overlay-card:hover .overlay-card-img { transform: scale(1.04); }
.about-page-wrapper .overlay-card-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 30, 54, 0.25) 0%, rgba(15, 30, 54, 0.88) 100%); transition: background 0.3s ease; }
.about-page-wrapper .overlay-card:hover .overlay-card-gradient { background: linear-gradient(180deg, rgba(2, 132, 199, 0.3) 0%, rgba(15, 30, 54, 0.94) 100%); }
.about-page-wrapper .overlay-card-content { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding: 1.5rem 1.25rem; color: #FFFFFF; }
.about-page-wrapper .overlay-card-badge { display: inline-block; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.1em; color: #38BDF8; background-color: rgba(15, 30, 54, 0.6); padding: 0.2rem 0.55rem; border: 1px solid rgba(56, 189, 248, 0.4); }
.about-page-wrapper .overlay-card-title { font-size: 1.25rem; font-weight: 700; color: #FFFFFF; line-height: 1.3; overflow-wrap: anywhere; transition: color 0.2s ease; }
.about-page-wrapper .overlay-card:hover .overlay-card-title { color: #38BDF8; text-decoration: underline; }
.about-page-wrapper .overlay-card-meta { font-size: 0.8125rem; color: #CBD5E1; }
.about-page-wrapper .meta-date, .about-page-wrapper .meta-author { white-space: nowrap; }
.about-page-wrapper .meta-arrow { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; background-color: rgba(255, 255, 255, 0.15); color: #FFFFFF; border-radius: 50%; font-size: 0.75rem; transition: background-color 0.2s ease, transform 0.2s ease; }
.about-page-wrapper .overlay-card:hover .meta-arrow { background-color: #0284C7; transform: translateX(3px); }
@media (max-width: 767px) { .about-page-wrapper .about-heading { font-size: 16px; } .about-page-wrapper .section-main-title { font-size: 16px; } .about-page-wrapper .stat-main-title { font-size: 14px; } .about-page-wrapper .point-title { font-size: 14px; } .about-page-wrapper .overlay-card-title { font-size: 14px; } .about-page-wrapper .overlay-card { aspect-ratio: 16 / 10; } }

.editorial-comment {
    border: 1px solid #E2E8F0 !important;
    border-left: 3px solid #0284C7 !important;
    background-color: #FFFFFF;
    font-family: 'Noto Sans KR', sans-serif;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.editorial-comment:hover {
    border-color: #CBD5E1 !important;
    box-shadow: 0 4px 12px rgba(15, 30, 54, 0.05);
}

.comment-avatar {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.95rem;
    user-select: none;
    object-fit: cover;
}

.comment-avatar-primary {
    background: linear-gradient(135deg, #0F1E36 0%, #0284C7 100%);
    color: #FFFFFF;
    border: 2px solid #F0F7FF;
}

.comment-author-name {
    color: #0F1E36;
    font-size: 0.95rem;
    line-height: 1.3;
}

.comment-badge-editorial {
    background-color: #F0F7FF;
    color: #0284C7;
    font-size: 0.7rem;
    font-weight: 700;
    border: 1px solid #E2E8F0;
    border-radius: 2px;
    padding: 0.25rem 0.5rem;
    letter-spacing: 0.02em;
}

.comment-meta-time {
    color: #334155;
    font-size: 0.8125rem;
    display: block;
    margin-top: 2px;
}

.comment-category-accent {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0284C7;
    background-color: #F0F7FF;
    padding: 0.25rem 0.6rem;
    border-radius: 2px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.comment-text {
    color: #2A323D;
    font-size: 0.95rem;
    line-height: 1.65;
    word-break: keep-all;
}

.comment-footer {
    border-color: #F3F4F6 !important;
}

.btn-comment-action {
    background: transparent;
    border: none;
    padding: 0.35rem 0.65rem;
    border-radius: 2px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #334155;
    transition: color 0.15s ease, background-color 0.15s ease;
    cursor: pointer;
}

.btn-comment-action:hover {
    background-color: #F0F7FF;
    color: #0284C7;
}

.btn-comment-action:focus-visible {
    outline: 2px solid #0284C7;
    outline-offset: 1px;
}

.comment-reply-icon {
    font-size: 0.85rem;
    color: #334155;
}

.btn-comment-action:hover .comment-reply-icon {
    color: #0284C7;
}

.comment-counter {
    color: #0F1E36;
    font-size: 0.8125rem;
    margin-left: 2px;
}

.comment-report-btn {
    font-size: 0.8125rem;
    padding: 0.35rem;
    color: #475569 !important;
}

.comment-report-btn:hover {
    color: #DC2626 !important;
    background-color: #FEF2F2;
}

.editorial-reply {
    background-color: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-left: 3px solid #38BDF8 !important;
    font-family: 'Noto Sans KR', sans-serif;
    position: relative;
}

.reply-avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
    user-select: none;
    object-fit: cover;
}

.reply-avatar-secondary {
    background: linear-gradient(135deg, #2A323D 0%, #38BDF8 100%);
    color: #FFFFFF;
    border: 2px solid #FFFFFF;
}

.reply-author-name {
    color: #0F1E36;
    font-size: 0.9rem;
    line-height: 1.3;
}

.reply-badge-member {
    background-color: #FFFFFF;
    color: #2A323D;
    font-size: 0.6875rem;
    font-weight: 600;
    border: 1px solid #E2E8F0;
    border-radius: 2px;
    padding: 0.2rem 0.45rem;
}

.reply-meta-time {
    color: #334155;
    font-size: 0.75rem;
    display: block;
    margin-top: 1px;
}

.reply-indicator-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0284C7;
    background-color: #F0F7FF;
    padding: 0.2rem 0.5rem;
    border-radius: 2px;
}

.reply-text {
    color: #2A323D;
    font-size: 0.9rem;
    line-height: 1.6;
    word-break: keep-all;
}

.reply-footer {
    border-color: #E2E8F0 !important;
}

.btn-reply-action {
    background: transparent;
    border: none;
    padding: 0.25rem 0.5rem;
    border-radius: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #334155;
    transition: color 0.15s ease, background-color 0.15s ease;
    cursor: pointer;
}

.btn-reply-action:hover {
    background-color: #FFFFFF;
    color: #0284C7;
}

.btn-reply-action:focus-visible {
    outline: 2px solid #38BDF8;
    outline-offset: 1px;
}

.reply-counter {
    color: #0F1E36;
    font-size: 0.75rem;
    margin-left: 2px;
}

.reply-report-btn {
    font-size: 0.75rem;
    padding: 0.25rem;
    color: #475569 !important;
}

.reply-report-btn:hover {
    color: #DC2626 !important;
    background-color: #FEF2F2;
}


/* ===== PAGE TEMPLATE: k-fashion-news ===== */
.kelimora-header-block {
    background-color: #FFFFFF;
    border-color: #E2E8F0 !important;
    z-index: 1030;
}

.kelimora-header-block .kelimora-header-top {
    background-color: #F8FAFC !important;
    border-color: #E2E8F0 !important;
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-header-block .kelimora-logo-img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    max-width: 44px;
}

.kelimora-header-block .kelimora-brand-text {
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    color: #0F1E36;
    line-height: 1;
}

.kelimora-header-block .kelimora-nav-link {
    color: #2A323D;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.kelimora-header-block .kelimora-nav-link:hover,
.kelimora-header-block .kelimora-nav-link:focus {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-header-block .kelimora-nav-link.active {
    color: #0284C7;
    font-weight: 700;
}

.kelimora-header-block .kelimora-header-btn {
    background-color: #0F1E36;
    border: 1px solid #0F1E36;
    color: #FFFFFF;
    letter-spacing: 0.02em;
    transition: all 0.2s ease;
}

.kelimora-header-block .kelimora-header-btn:hover,
.kelimora-header-block .kelimora-header-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-header-block .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #0284C7;
}

@media (max-width: 991.98px) {
    .kelimora-header-block .navbar-collapse {
        background-color: #FFFFFF;
        padding: 1rem;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(15, 30, 54, 0.08);
    }

    .kelimora-header-block .kelimora-nav-link {
        padding: 0.625rem 1rem !important;
    }

    .kelimora-header-block .kelimora-header-btn {
        width: 100%;
        text-align: center;
        margin-top: 0.5rem;
    }
}

.kelimora-detail-hero {
    background-color: #0F1E36;
    color: #FFFFFF;
    min-height: 380px;
    display: flex;
    align-items: center;
}

.kelimora-detail-hero-bg {
    background-position: center;
    background-size: cover;
    z-index: 1;
}

.kelimora-detail-hero-overlay {
    background: linear-gradient(135deg, rgba(15, 30, 54, 0.94) 0%, rgba(15, 30, 54, 0.85) 60%, rgba(2, 132, 199, 0.65) 100%);
    z-index: 2;
}

.kelimora-detail-hero-container {
    z-index: 3;
    padding-bottom: 5rem;
}

.kelimora-detail-hero-meta {
    color: #CBD5E1;
    font-size: 0.875rem;
}

.kelimora-detail-tag {
    background-color: #0284C7;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.75rem;
    border-radius: 2px;
}

.kelimora-meta-item {
    color: #334155;
    font-weight: 500;
}

.kelimora-detail-hero-meta .kelimora-meta-item {
    color: #E2E8F0;
}

.kelimora-meta-sep {
    color: #38BDF8;
    font-weight: bold;
}

.kelimora-detail-hero-title {
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.25;
    color: #FFFFFF;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.kelimora-detail-hero-lead {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: #E2E8F0;
    max-width: 740px;
    overflow-wrap: anywhere;
}

.kelimora-detail-main-wrapper {
    background-color: #F8FAFC;
    padding-bottom: 4rem;
}

.kelimora-overlap-panel {
    margin-top: -70px;
    position: relative;
    z-index: 10;
    border-color: #E2E8F0 !important;
}

.kelimora-bc-link {
    color: #0284C7;
    text-decoration: none;
    font-size: 0.875rem;
}

.kelimora-bc-link:hover {
    text-decoration: underline;
}

.breadcrumb-item.active {
    color: #334155;
    font-size: 0.875rem;
}

.kelimora-detail-keyfacts {
    background-color: #F0F7FF;
    border: 1px solid #BAE6FD;
}

.kelimora-keyfacts-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-fact-label {
    color: #334155;
    font-size: 0.875rem;
    font-weight: 500;
}

.kelimora-fact-value {
    color: #0F1E36;
    font-size: 0.9375rem;
}

.kelimora-section-heading {
    font-size: 1.375rem;
    font-weight: 700;
    color: #0F1E36;
    line-height: 1.3;
    position: relative;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #E2E8F0;
}

.kelimora-num-prefix {
    color: #0284C7;
    font-weight: 800;
    margin-right: 0.25rem;
}

.kelimora-paragraph {
    color: #2A323D;
    font-size: 1rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.kelimora-inline-cta {
    background-color: #0F1E36;
    color: #FFFFFF;
    border-left: 4px solid #0284C7;
}

.kelimora-cta-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
}

.kelimora-cta-desc {
    font-size: 0.875rem;
    color: #CBD5E1;
}

.kelimora-cta-btn {
    background-color: #0284C7;
    color: #FFFFFF;
    border: 1px solid #0284C7;
    font-size: 0.875rem;
    font-weight: 700;
    border-radius: 2px;
    padding: 0.625rem 1.25rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.kelimora-cta-btn:hover,
.kelimora-cta-btn:focus {
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #0F1E36;
}

.kelimora-framed-media {
    border-color: #E2E8F0 !important;
}

.kelimora-framed-img {
    max-height: 480px;
    object-fit: cover;
    object-position: center top;
}

.kelimora-bullet-list {
    padding-left: 1.25rem;
    color: #2A323D;
    line-height: 1.7;
}

.kelimora-editorial-quote {
    background-color: #F8FAFC;
    border-color: #0284C7 !important;
    color: #0F1E36;
}

.kelimora-related-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-related-card {
    border-color: #E2E8F0 !important;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.kelimora-related-card:hover {
    border-color: #0284C7 !important;
    transform: translateY(-2px);
}

.kelimora-related-thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    object-position: center top;
    flex-shrink: 0;
}

.kelimora-related-tag {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.6875rem;
    border-radius: 2px;
}

.kelimora-related-heading {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
}

.kelimora-related-link {
    color: #0F1E36;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-related-link:hover {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-comments-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0F1E36;
}

.comment-card {
    border-color: #E2E8F0 !important;
}

.comment-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
    color: #FFFFFF;
}

.comment-avatar-primary {
    background-color: #0F1E36;
}

.reply-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8125rem;
    color: #FFFFFF;
}

.reply-avatar-secondary {
    background-color: #0284C7;
}

.comment-author-name,
.reply-author-name {
    font-size: 0.9375rem;
    color: #0F1E36;
}

.comment-badge-editorial {
    background-color: #0284C7;
    color: #FFFFFF;
    font-size: 0.6875rem;
}

.reply-badge-member {
    background-color: #334155;
    color: #FFFFFF;
    font-size: 0.6875rem;
}

.comment-meta-time,
.reply-meta-time {
    font-size: 0.75rem;
    color: #334155;
}

.comment-category-accent {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0284C7;
    text-transform: uppercase;
}

.reply-indicator-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0284C7;
}

.comment-text,
.reply-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #2A323D;
    overflow-wrap: anywhere;
}

.btn-comment-action,
.btn-reply-action {
    background: none;
    border: none;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    color: #334155;
    border-radius: 2px;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.btn-comment-action:hover,
.btn-reply-action:hover {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-form-heading {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-input,
.kelimora-textarea {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    border-radius: 2px;
}

.kelimora-input:focus,
.kelimora-textarea:focus {
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
    background-color: #FFFFFF;
}

.kelimora-input::placeholder,
.kelimora-textarea::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-submit-comment-btn {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    border: none;
    border-radius: 2px;
    transition: background-color 0.2s ease;
}

.kelimora-submit-comment-btn:hover,
.kelimora-submit-comment-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer {
    background-color: #F8FAFC;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
    border-top: 3px solid #0F1E36;
    overflow: hidden;
}

.kelimora-footer__logo {
    max-width: 44px;
    height: 44px;
    object-fit: contain;
}

.kelimora-footer__brand-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0F1E36;
    letter-spacing: -0.02em;
}

.kelimora-footer__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kelimora-footer__wa-btn:hover,
.kelimora-footer__wa-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__heading {
    font-size: 1rem;
    font-weight: 700;
    color: #0F1E36;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #E2E8F0;
    display: inline-block;
    line-height: 1.3;
}

.kelimora-footer__link {
    color: #334155;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-footer__link:hover,
.kelimora-footer__link:focus {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-footer__contact-icon {
    color: #0284C7;
    font-size: 0.95rem;
    width: 16px;
}

.kelimora-footer__contact-text {
    font-size: 0.875rem;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__newsletter-desc {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #334155;
}

.kelimora-footer__input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    padding: 0.625rem 0.875rem;
    border-radius: 2px;
}

.kelimora-footer__input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
}

.kelimora-footer__input::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-footer__submit-btn {
    display: block;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kelimora-footer__submit-btn:hover,
.kelimora-footer__submit-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__bottom {
    border-color: #E2E8F0 !important;
}

.kelimora-footer__copy {
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-footer__policy-link {
    color: #334155;
    font-size: 0.8125rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-footer__policy-link:hover,
.kelimora-footer__policy-link:focus {
    color: #0F1E36;
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .kelimora-detail-hero-title {
        font-size: 1.125rem;
        line-height: 1.3;
        hyphens: auto;
    }

    .kelimora-detail-hero-lead {
        font-size: 0.875rem;
    }

    .kelimora-overlap-panel {
        margin-top: -40px;
        padding: 1.25rem !important;
    }

    .kelimora-section-heading {
        font-size: 1rem;
    }

    .kelimora-cta-title {
        font-size: 0.9375rem;
    }

    .kelimora-cta-btn {
        width: 100%;
        text-align: center;
    }

    .kelimora-footer__heading {
        display: block;
    }

    .kelimora-footer__policy-links {
        flex-direction: column;
        gap: 0.5rem !important;
    }
}

/* ===== PAGE TEMPLATE: trends-and-lookbooks ===== */
.kelimora-header-block {
    background-color: #FFFFFF;
    border-color: #E2E8F0 !important;
    z-index: 1030;
}

.kelimora-header-block .kelimora-header-top {
    background-color: #F8FAFC !important;
    border-color: #E2E8F0 !important;
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-header-block .kelimora-logo-img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    max-width: 44px;
}

.kelimora-header-block .kelimora-brand-text {
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    color: #0F1E36;
    line-height: 1;
}

.kelimora-header-block .kelimora-nav-link {
    color: #2A323D;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.kelimora-header-block .kelimora-nav-link:hover,
.kelimora-header-block .kelimora-nav-link:focus {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-header-block .kelimora-nav-link.active {
    color: #0284C7;
    font-weight: 700;
}

.kelimora-header-block .kelimora-header-btn {
    background-color: #0F1E36;
    border: 1px solid #0F1E36;
    color: #FFFFFF;
    letter-spacing: 0.02em;
    transition: all 0.2s ease;
}

.kelimora-header-block .kelimora-header-btn:hover,
.kelimora-header-block .kelimora-header-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-header-block .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #0284C7;
}

@media (max-width: 991.98px) {
    .kelimora-header-block .navbar-collapse {
        background-color: #FFFFFF;
        padding: 1rem;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(15, 30, 54, 0.08);
    }

    .kelimora-header-block .kelimora-nav-link {
        padding: 0.625rem 1rem !important;
    }

    .kelimora-header-block .kelimora-header-btn {
        width: 100%;
        text-align: center;
        margin-top: 0.5rem;
    }
}

.kelimora-detail-hero {
    background-color: #0F1E36;
    color: #FFFFFF;
    min-height: 380px;
    display: flex;
    align-items: center;
}

.kelimora-detail-hero-bg {
    background-position: center;
    background-size: cover;
    z-index: 1;
}

.kelimora-detail-hero-overlay {
    background: linear-gradient(135deg, rgba(15, 30, 54, 0.94) 0%, rgba(15, 30, 54, 0.85) 60%, rgba(2, 132, 199, 0.65) 100%);
    z-index: 2;
}

.kelimora-detail-hero-container {
    z-index: 3;
    padding-bottom: 5rem;
}

.kelimora-detail-hero-meta {
    color: #CBD5E1;
    font-size: 0.875rem;
}

.kelimora-detail-tag {
    background-color: #0284C7;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.75rem;
    border-radius: 2px;
}

.kelimora-meta-item {
    color: #334155;
    font-weight: 500;
}

.kelimora-detail-hero-meta .kelimora-meta-item {
    color: #E2E8F0;
}

.kelimora-meta-sep {
    color: #38BDF8;
    font-weight: bold;
}

.kelimora-detail-hero-title {
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.25;
    color: #FFFFFF;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.kelimora-detail-hero-lead {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: #E2E8F0;
    max-width: 740px;
    overflow-wrap: anywhere;
}

.kelimora-detail-main-wrapper {
    background-color: #F8FAFC;
    padding-bottom: 4rem;
}

.kelimora-overlap-panel {
    margin-top: -70px;
    position: relative;
    z-index: 10;
    border-color: #E2E8F0 !important;
}

.kelimora-bc-link {
    color: #0284C7;
    text-decoration: none;
    font-size: 0.875rem;
}

.kelimora-bc-link:hover {
    text-decoration: underline;
}

.breadcrumb-item.active {
    color: #334155;
    font-size: 0.875rem;
}

.kelimora-detail-keyfacts {
    background-color: #F0F7FF;
    border: 1px solid #BAE6FD;
}

.kelimora-keyfacts-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-fact-label {
    color: #334155;
    font-size: 0.875rem;
    font-weight: 500;
}

.kelimora-fact-value {
    color: #0F1E36;
    font-size: 0.9375rem;
}

.kelimora-section-heading {
    font-size: 1.375rem;
    font-weight: 700;
    color: #0F1E36;
    line-height: 1.3;
    position: relative;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #E2E8F0;
}

.kelimora-num-prefix {
    color: #0284C7;
    font-weight: 800;
    margin-right: 0.25rem;
}

.kelimora-paragraph {
    color: #2A323D;
    font-size: 1rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.kelimora-inline-cta {
    background-color: #0F1E36;
    color: #FFFFFF;
    border-left: 4px solid #0284C7;
}

.kelimora-cta-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
}

.kelimora-cta-desc {
    font-size: 0.875rem;
    color: #CBD5E1;
}

.kelimora-cta-btn {
    background-color: #0284C7;
    color: #FFFFFF;
    border: 1px solid #0284C7;
    font-size: 0.875rem;
    font-weight: 700;
    border-radius: 2px;
    padding: 0.625rem 1.25rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.kelimora-cta-btn:hover,
.kelimora-cta-btn:focus {
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #0F1E36;
}

.kelimora-framed-media {
    border-color: #E2E8F0 !important;
}

.kelimora-framed-img {
    max-height: 480px;
    object-fit: cover;
    object-position: center top;
}

.kelimora-bullet-list {
    padding-left: 1.25rem;
    color: #2A323D;
    line-height: 1.7;
}

.kelimora-editorial-quote {
    background-color: #F8FAFC;
    border-color: #0284C7 !important;
    color: #0F1E36;
}

.kelimora-related-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-related-card {
    border-color: #E2E8F0 !important;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.kelimora-related-card:hover {
    border-color: #0284C7 !important;
    transform: translateY(-2px);
}

.kelimora-related-thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    object-position: center top;
    flex-shrink: 0;
}

.kelimora-related-tag {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.6875rem;
    border-radius: 2px;
}

.kelimora-related-heading {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
}

.kelimora-related-link {
    color: #0F1E36;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-related-link:hover {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-comments-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0F1E36;
}

.comment-card {
    border-color: #E2E8F0 !important;
}

.comment-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
    color: #FFFFFF;
}

.comment-avatar-primary {
    background-color: #0F1E36;
}

.reply-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8125rem;
    color: #FFFFFF;
}

.reply-avatar-secondary {
    background-color: #0284C7;
}

.comment-author-name,
.reply-author-name {
    font-size: 0.9375rem;
    color: #0F1E36;
}

.comment-badge-editorial {
    background-color: #0284C7;
    color: #FFFFFF;
    font-size: 0.6875rem;
}

.reply-badge-member {
    background-color: #334155;
    color: #FFFFFF;
    font-size: 0.6875rem;
}

.comment-meta-time,
.reply-meta-time {
    font-size: 0.75rem;
    color: #334155;
}

.comment-category-accent {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0284C7;
    text-transform: uppercase;
}

.reply-indicator-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0284C7;
}

.comment-text,
.reply-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #2A323D;
    overflow-wrap: anywhere;
}

.btn-comment-action,
.btn-reply-action {
    background: none;
    border: none;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    color: #334155;
    border-radius: 2px;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.btn-comment-action:hover,
.btn-reply-action:hover {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-form-heading {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-input,
.kelimora-textarea {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    border-radius: 2px;
}

.kelimora-input:focus,
.kelimora-textarea:focus {
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
    background-color: #FFFFFF;
}

.kelimora-input::placeholder,
.kelimora-textarea::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-submit-comment-btn {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    border: none;
    border-radius: 2px;
    transition: background-color 0.2s ease;
}

.kelimora-submit-comment-btn:hover,
.kelimora-submit-comment-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer {
    background-color: #F8FAFC;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
    border-top: 3px solid #0F1E36;
    overflow: hidden;
}

.kelimora-footer__logo {
    max-width: 44px;
    height: 44px;
    object-fit: contain;
}

.kelimora-footer__brand-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0F1E36;
    letter-spacing: -0.02em;
}

.kelimora-footer__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kelimora-footer__wa-btn:hover,
.kelimora-footer__wa-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__heading {
    font-size: 1rem;
    font-weight: 700;
    color: #0F1E36;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #E2E8F0;
    display: inline-block;
    line-height: 1.3;
}

.kelimora-footer__link {
    color: #334155;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-footer__link:hover,
.kelimora-footer__link:focus {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-footer__contact-icon {
    color: #0284C7;
    font-size: 0.95rem;
    width: 16px;
}

.kelimora-footer__contact-text {
    font-size: 0.875rem;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__newsletter-desc {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #334155;
}

.kelimora-footer__input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    padding: 0.625rem 0.875rem;
    border-radius: 2px;
}

.kelimora-footer__input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
}

.kelimora-footer__input::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-footer__submit-btn {
    display: block;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kelimora-footer__submit-btn:hover,
.kelimora-footer__submit-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__bottom {
    border-color: #E2E8F0 !important;
}

.kelimora-footer__copy {
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-footer__policy-link {
    color: #334155;
    font-size: 0.8125rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-footer__policy-link:hover,
.kelimora-footer__policy-link:focus {
    color: #0F1E36;
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .kelimora-detail-hero-title {
        font-size: 1.125rem;
        line-height: 1.3;
        hyphens: auto;
    }

    .kelimora-detail-hero-lead {
        font-size: 0.875rem;
    }

    .kelimora-overlap-panel {
        margin-top: -40px;
        padding: 1.25rem !important;
    }

    .kelimora-section-heading {
        font-size: 1rem;
    }

    .kelimora-cta-title {
        font-size: 0.9375rem;
    }

    .kelimora-cta-btn {
        width: 100%;
        text-align: center;
    }

    .kelimora-footer__heading {
        display: block;
    }

    .kelimora-footer__policy-links {
        flex-direction: column;
        gap: 0.5rem !important;
    }
}

/* ===== PAGE TEMPLATE: idol-style ===== */
.kelimora-header-block {
    background-color: #FFFFFF;
    border-color: #E2E8F0 !important;
    z-index: 1030;
}

.kelimora-header-block .kelimora-header-top {
    background-color: #F8FAFC !important;
    border-color: #E2E8F0 !important;
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-header-block .kelimora-logo-img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    max-width: 44px;
}

.kelimora-header-block .kelimora-brand-text {
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    color: #0F1E36;
    line-height: 1;
}

.kelimora-header-block .kelimora-nav-link {
    color: #2A323D;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.kelimora-header-block .kelimora-nav-link:hover,
.kelimora-header-block .kelimora-nav-link:focus {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-header-block .kelimora-nav-link.active {
    color: #0284C7;
    font-weight: 700;
}

.kelimora-header-block .kelimora-header-btn {
    background-color: #0F1E36;
    border: 1px solid #0F1E36;
    color: #FFFFFF;
    letter-spacing: 0.02em;
    transition: all 0.2s ease;
}

.kelimora-header-block .kelimora-header-btn:hover,
.kelimora-header-block .kelimora-header-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-header-block .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #0284C7;
}

@media (max-width: 991.98px) {
    .kelimora-header-block .navbar-collapse {
        background-color: #FFFFFF;
        padding: 1rem;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(15, 30, 54, 0.08);
    }

    .kelimora-header-block .kelimora-nav-link {
        padding: 0.625rem 1rem !important;
    }

    .kelimora-header-block .kelimora-header-btn {
        width: 100%;
        text-align: center;
        margin-top: 0.5rem;
    }
}

.kelimora-detail-hero {
    background-color: #0F1E36;
    color: #FFFFFF;
    min-height: 380px;
    display: flex;
    align-items: center;
}

.kelimora-detail-hero-bg {
    background-position: center;
    background-size: cover;
    z-index: 1;
}

.kelimora-detail-hero-overlay {
    background: linear-gradient(135deg, rgba(15, 30, 54, 0.94) 0%, rgba(15, 30, 54, 0.85) 60%, rgba(2, 132, 199, 0.65) 100%);
    z-index: 2;
}

.kelimora-detail-hero-container {
    z-index: 3;
    padding-bottom: 5rem;
}

.kelimora-detail-hero-meta {
    color: #CBD5E1;
    font-size: 0.875rem;
}

.kelimora-detail-tag {
    background-color: #0284C7;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.75rem;
    border-radius: 2px;
}

.kelimora-meta-item {
    color: #334155;
    font-weight: 500;
}

.kelimora-detail-hero-meta .kelimora-meta-item {
    color: #E2E8F0;
}

.kelimora-meta-sep {
    color: #38BDF8;
    font-weight: bold;
}

.kelimora-detail-hero-title {
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.25;
    color: #FFFFFF;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.kelimora-detail-hero-lead {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: #E2E8F0;
    max-width: 740px;
    overflow-wrap: anywhere;
}

.kelimora-detail-main-wrapper {
    background-color: #F8FAFC;
    padding-bottom: 4rem;
}

.kelimora-overlap-panel {
    margin-top: -70px;
    position: relative;
    z-index: 10;
    border-color: #E2E8F0 !important;
}

.kelimora-bc-link {
    color: #0284C7;
    text-decoration: none;
    font-size: 0.875rem;
}

.kelimora-bc-link:hover {
    text-decoration: underline;
}

.breadcrumb-item.active {
    color: #334155;
    font-size: 0.875rem;
}

.kelimora-detail-keyfacts {
    background-color: #F0F7FF;
    border: 1px solid #BAE6FD;
}

.kelimora-keyfacts-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-fact-label {
    color: #334155;
    font-size: 0.875rem;
    font-weight: 500;
}

.kelimora-fact-value {
    color: #0F1E36;
    font-size: 0.9375rem;
}

.kelimora-section-heading {
    font-size: 1.375rem;
    font-weight: 700;
    color: #0F1E36;
    line-height: 1.3;
    position: relative;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #E2E8F0;
}

.kelimora-num-prefix {
    color: #0284C7;
    font-weight: 800;
    margin-right: 0.25rem;
}

.kelimora-paragraph {
    color: #2A323D;
    font-size: 1rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.kelimora-inline-cta {
    background-color: #0F1E36;
    color: #FFFFFF;
    border-left: 4px solid #0284C7;
}

.kelimora-cta-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
}

.kelimora-cta-desc {
    font-size: 0.875rem;
    color: #CBD5E1;
}

.kelimora-cta-btn {
    background-color: #0284C7;
    color: #FFFFFF;
    border: 1px solid #0284C7;
    font-size: 0.875rem;
    font-weight: 700;
    border-radius: 2px;
    padding: 0.625rem 1.25rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.kelimora-cta-btn:hover,
.kelimora-cta-btn:focus {
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #0F1E36;
}

.kelimora-framed-media {
    border-color: #E2E8F0 !important;
}

.kelimora-framed-img {
    max-height: 480px;
    object-fit: cover;
    object-position: center top;
}

.kelimora-bullet-list {
    padding-left: 1.25rem;
    color: #2A323D;
    line-height: 1.7;
}

.kelimora-editorial-quote {
    background-color: #F8FAFC;
    border-color: #0284C7 !important;
    color: #0F1E36;
}

.kelimora-related-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-related-card {
    border-color: #E2E8F0 !important;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.kelimora-related-card:hover {
    border-color: #0284C7 !important;
    transform: translateY(-2px);
}

.kelimora-related-thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    object-position: center top;
    flex-shrink: 0;
}

.kelimora-related-tag {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.6875rem;
    border-radius: 2px;
}

.kelimora-related-heading {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
}

.kelimora-related-link {
    color: #0F1E36;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-related-link:hover {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-comments-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0F1E36;
}

.comment-card {
    border-color: #E2E8F0 !important;
}

.comment-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
    color: #FFFFFF;
}

.comment-avatar-primary {
    background-color: #0F1E36;
}

.reply-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8125rem;
    color: #FFFFFF;
}

.reply-avatar-secondary {
    background-color: #0284C7;
}

.comment-author-name,
.reply-author-name {
    font-size: 0.9375rem;
    color: #0F1E36;
}

.comment-badge-editorial {
    background-color: #0284C7;
    color: #FFFFFF;
    font-size: 0.6875rem;
}

.reply-badge-member {
    background-color: #334155;
    color: #FFFFFF;
    font-size: 0.6875rem;
}

.comment-meta-time,
.reply-meta-time {
    font-size: 0.75rem;
    color: #334155;
}

.comment-category-accent {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0284C7;
    text-transform: uppercase;
}

.reply-indicator-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0284C7;
}

.comment-text,
.reply-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #2A323D;
    overflow-wrap: anywhere;
}

.btn-comment-action,
.btn-reply-action {
    background: none;
    border: none;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    color: #334155;
    border-radius: 2px;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.btn-comment-action:hover,
.btn-reply-action:hover {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-form-heading {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0F1E36;
}

.kelimora-input,
.kelimora-textarea {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    border-radius: 2px;
}

.kelimora-input:focus,
.kelimora-textarea:focus {
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
    background-color: #FFFFFF;
}

.kelimora-input::placeholder,
.kelimora-textarea::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-submit-comment-btn {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    border: none;
    border-radius: 2px;
    transition: background-color 0.2s ease;
}

.kelimora-submit-comment-btn:hover,
.kelimora-submit-comment-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer {
    background-color: #F8FAFC;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
    border-top: 3px solid #0F1E36;
    overflow: hidden;
}

.kelimora-footer__logo {
    max-width: 44px;
    height: 44px;
    object-fit: contain;
}

.kelimora-footer__brand-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0F1E36;
    letter-spacing: -0.02em;
}

.kelimora-footer__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kelimora-footer__wa-btn:hover,
.kelimora-footer__wa-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__heading {
    font-size: 1rem;
    font-weight: 700;
    color: #0F1E36;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #E2E8F0;
    display: inline-block;
    line-height: 1.3;
}

.kelimora-footer__link {
    color: #334155;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-footer__link:hover,
.kelimora-footer__link:focus {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-footer__contact-icon {
    color: #0284C7;
    font-size: 0.95rem;
    width: 16px;
}

.kelimora-footer__contact-text {
    font-size: 0.875rem;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__newsletter-desc {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #334155;
}

.kelimora-footer__input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    padding: 0.625rem 0.875rem;
    border-radius: 2px;
}

.kelimora-footer__input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
}

.kelimora-footer__input::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-footer__submit-btn {
    display: block;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kelimora-footer__submit-btn:hover,
.kelimora-footer__submit-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__bottom {
    border-color: #E2E8F0 !important;
}

.kelimora-footer__copy {
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-footer__policy-link {
    color: #334155;
    font-size: 0.8125rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-footer__policy-link:hover,
.kelimora-footer__policy-link:focus {
    color: #0F1E36;
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .kelimora-detail-hero-title {
        font-size: 1.125rem;
        line-height: 1.3;
        hyphens: auto;
    }

    .kelimora-detail-hero-lead {
        font-size: 0.875rem;
    }

    .kelimora-overlap-panel {
        margin-top: -40px;
        padding: 1.25rem !important;
    }

    .kelimora-section-heading {
        font-size: 1rem;
    }

    .kelimora-cta-title {
        font-size: 0.9375rem;
    }

    .kelimora-cta-btn {
        width: 100%;
        text-align: center;
    }

    .kelimora-footer__heading {
        display: block;
    }

    .kelimora-footer__policy-links {
        flex-direction: column;
        gap: 0.5rem !important;
    }
}

/* ===== PAGE TEMPLATE: about ===== */
.kelimora-header-block {
    background-color: #FFFFFF;
    border-color: #E2E8F0 !important;
    z-index: 1030;
}

.kelimora-header-block .kelimora-header-top {
    background-color: #F8FAFC !important;
    border-color: #E2E8F0 !important;
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-header-block .kelimora-logo-img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    max-width: 44px;
}

.kelimora-header-block .kelimora-brand-text {
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    color: #0F1E36;
    line-height: 1;
}

.kelimora-header-block .kelimora-nav-link {
    color: #2A323D;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.kelimora-header-block .kelimora-nav-link:hover,
.kelimora-header-block .kelimora-nav-link:focus {
    color: #0284C7;
    background-color: #F0F7FF;
}

.kelimora-header-block .kelimora-nav-link.active {
    color: #0284C7;
    font-weight: 700;
}

.kelimora-header-block .kelimora-header-btn {
    background-color: #0F1E36;
    border: 1px solid #0F1E36;
    color: #FFFFFF;
    letter-spacing: 0.02em;
    transition: all 0.2s ease;
}

.kelimora-header-block .kelimora-header-btn:hover,
.kelimora-header-block .kelimora-header-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-header-block .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #0284C7;
}


.kelimora-detail-hero {
    background-color: #0F1E36;
    color: #FFFFFF;
    padding: 3.5rem 0 2.5rem;
}

.kelimora-detail-hero__bg {
    background: radial-gradient(circle at center, rgba(2, 132, 199, 0.25) 0%, rgba(15, 30, 54, 0.95) 100%);
    pointer-events: none;
}

.kelimora-breadcrumb {
    font-size: 0.8125rem;
}

.kelimora-breadcrumb__link {
    color: #94A3B8;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-breadcrumb__link:hover {
    color: #38BDF8;
}

.kelimora-breadcrumb__sep {
    color: #94A3B8;
    font-size: 0.7rem;
}

.kelimora-breadcrumb__active {
    color: #E2E8F0;
    font-weight: 600;
}

.kelimora-detail-badge {
    background-color: #0284C7;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    border-radius: 2px;
}

.kelimora-detail-hero__title {
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    overflow-wrap: anywhere;
}

.kelimora-detail-hero__subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #CBD5E1;
    max-width: 720px;
    overflow-wrap: anywhere;
}


.kelimora-fullbleed-section {
    width: 100%;
    background-color: #F8FAFC;
    padding-bottom: 2rem;
}

.kelimora-fullbleed-wrapper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.kelimora-fullbleed-img {
    width: 100%;
    height: 60vh;
    min-height: 320px;
    max-height: 580px;
    object-fit: cover;
    object-position: center top;
    display: block;
    border-radius: 12px;
}

.kelimora-img-caption {
    font-style: italic;
}


.kelimora-detail-content {
    background-color: #FFFFFF;
}

.kelimora-heading-h2 {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.3;
    color: #0F1E36;
    margin-bottom: 0.5rem;
    overflow-wrap: anywhere;
}

.kelimora-heading-accent-line {
    width: 48px;
    height: 3px;
    background-color: #0284C7;
    border-radius: 2px;
}

.kelimora-heading-h3 {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0F1E36;
    overflow-wrap: anywhere;
}

.kelimora-paragraph {
    font-size: 1.025rem;
    line-height: 1.75;
    color: #2A323D;
    overflow-wrap: anywhere;
}


.kelimora-keyfacts-card {
    background-color: #F0F7FF;
    border-color: #BAE6FD !important;
}

.kelimora-fact-label {
    color: #0F1E36;
    font-weight: 700;
}

.kelimora-fact-text {
    color: #334155;
}


.kelimora-input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    padding: 0.65rem 0.85rem;
    border-radius: 2px;
}

.kelimora-input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
}

.kelimora-input::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-submit-btn {
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    padding: 0.75rem 1.5rem;
    border-radius: 2px;
    border: 1px solid #0F1E36;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.kelimora-submit-btn:hover,
.kelimora-submit-btn:focus {
    background-color: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
}


.comment-avatar-primary {
    width: 40px;
    height: 40px;
    background-color: #0F1E36;
    color: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
}

.reply-avatar-secondary {
    width: 34px;
    height: 34px;
    background-color: #0284C7;
    color: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8rem;
}

.comment-badge-editorial {
    background-color: #0284C7;
    color: #FFFFFF;
    font-size: 0.75rem;
}

.reply-badge-member {
    background-color: #2A323D;
    color: #FFFFFF;
    font-size: 0.75rem;
}

.comment-meta-time,
.reply-meta-time {
    font-size: 0.75rem;
    color: #334155;
}

.comment-category-accent {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0284C7;
}

.reply-indicator-label {
    font-size: 0.75rem;
    color: #334155;
}

.btn-comment-action,
.btn-reply-action {
    background: transparent;
    border: none;
    color: #334155;
    font-size: 0.8125rem;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 2px;
    transition: color 0.2s ease;
}

.btn-comment-action:hover,
.btn-reply-action:hover {
    color: #0284C7;
}

.kelimora-cta-banner {
    background-color: #F8FAFC;
}

.kelimora-cta-box {
    background: linear-gradient(135deg, #F0F7FF 0%, #E0F2FE 100%);
    border: 1px solid #BAE6FD;
}

.kelimora-cta-box .kelimora-cta-title {
    font-size: 1.85rem;
    font-weight: 800;
    color: #0F1E36;
}

.kelimora-cta-box .kelimora-cta-desc {
    font-size: 1.05rem;
    color: #334155;
    max-width: 600px;
}

.kelimora-cta-btn {
    background-color: #0284C7;
    color: #FFFFFF;
    border: 1px solid #0284C7;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.kelimora-cta-btn:hover,
.kelimora-cta-btn:focus {
    background-color: #0F1E36;
    border-color: #0F1E36;
    color: #FFFFFF;
}


.kelimora-related-card {
    border-color: #E2E8F0 !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.kelimora-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(15, 30, 54, 0.08);
}

.kelimora-related-img-wrap {
    height: 240px;
    overflow: hidden;
}

.kelimora-related-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.3s ease;
}

.kelimora-related-card:hover .kelimora-related-img {
    transform: scale(1.03);
}

.kelimora-related-link {
    color: #0F1E36;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-related-link:hover {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-outline-btn {
    background-color: transparent;
    border: 1px solid #0F1E36;
    color: #0F1E36;
    font-weight: 700;
    padding: 0.5rem 1rem;
    border-radius: 2px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: all 0.2s ease;
}

.kelimora-outline-btn:hover,
.kelimora-outline-btn:focus {
    background-color: #0F1E36;
    color: #FFFFFF;
}


.kelimora-footer {
    background-color: #F8FAFC;
    color: #2A323D;
    font-family: 'Noto Sans KR', sans-serif;
    border-top: 3px solid #0F1E36;
    overflow: hidden;
}

.kelimora-footer__logo {
    max-width: 44px;
    height: 44px;
    object-fit: contain;
}

.kelimora-footer__brand-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0F1E36;
    letter-spacing: -0.02em;
}

.kelimora-footer__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kelimora-footer__wa-btn:hover,
.kelimora-footer__wa-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__heading {
    font-size: 1rem;
    font-weight: 700;
    color: #0F1E36;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #E2E8F0;
    display: inline-block;
    line-height: 1.3;
}

.kelimora-footer__link {
    color: #334155;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.kelimora-footer__link:hover,
.kelimora-footer__link:focus {
    color: #0284C7;
    text-decoration: underline;
}

.kelimora-footer__contact-icon {
    color: #0284C7;
    font-size: 0.95rem;
    width: 16px;
}

.kelimora-footer__contact-text {
    font-size: 0.875rem;
    color: #334155;
    overflow-wrap: anywhere;
}

.kelimora-footer__newsletter-desc {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #334155;
}

.kelimora-footer__input {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #0F1E36;
    font-size: 0.875rem;
    padding: 0.625rem 0.875rem;
    border-radius: 2px;
}

.kelimora-footer__input:focus {
    background-color: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 0.2rem rgba(2, 132, 199, 0.15);
    color: #0F1E36;
}

.kelimora-footer__input::placeholder {
    color: #64748B;
    opacity: 1;
}

.kelimora-footer__submit-btn {
    display: block;
    background-color: #0F1E36;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kelimora-footer__submit-btn:hover,
.kelimora-footer__submit-btn:focus {
    background-color: #0284C7;
    color: #FFFFFF;
}

.kelimora-footer__bottom {
    border-color: #E2E8F0 !important;
}

.kelimora-footer__copy {
    font-size: 0.8125rem;
    color: #334155;
}

.kelimora-footer__policy-link {
    color: #334155;
    font-size: 0.8125rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kelimora-footer__policy-link:hover,
.kelimora-footer__policy-link:focus {
    color: #0F1E36;
    text-decoration: underline;
}

@media (max-width: 991.98px) {
    .kelimora-header-block .navbar-collapse {
        background-color: #FFFFFF;
        padding: 1rem;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(15, 30, 54, 0.08);
    }

    .kelimora-header-block .kelimora-nav-link {
        padding: 0.625rem 1rem !important;
    }

    .kelimora-header-block .kelimora-header-btn {
        width: 100%;
        text-align: center;
        margin-top: 0.5rem;
    }
}

@media (max-width: 767.98px) {
    .kelimora-detail-hero__title {
        font-size: 1.125rem;
        line-height: 1.3;
        hyphens: auto;
    }

    .kelimora-heading-h2 {
        font-size: 1rem;
    }

    .kelimora-heading-h3 {
        font-size: 0.875rem;
    }

    .kelimora-fullbleed-img {
        height: 240px;
        min-height: 200px;
        border-radius: 0;
    }

    .kelimora-footer__heading {
        display: block;
    }

    .kelimora-footer__policy-links {
        flex-direction: column;
        gap: 0.5rem !important;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
